https://algospot.com/judge/problem/read/FENCE 울타리 잘라내기 문제는 분할 정복을 풀어본 사람들에게 유명한 문제이다. 대표적인 문제라고 봐도 과언이 아니다. PS 자료가 잘 정리되있기로 유명한 kks277(http://kks227.blog.me/)님의 블로그에서도 해당 문제의 백준 버전을 추천해주고 있기도 하고. 암튼, 간만에 문제를 풀다가 아무 생각 없이 한 실수이다. #include #include #include #include using namespace std; #define INF 987654321 #define ull unsigned long long #define pa vector fence; int maxSize(int left, int right) {..
샤딩 샤딩이란 샤딩은 "조각내다"라는 뜻으로 데이터베이스 저장기법 중 하나이며, 전체 네트워크를 분할한 뒤 트랜잭션을 영역별로 저장하고 이를 병렬적으로 처리하는 방법. 수직적으로 나누는 정규화 등의 기법과는 다르게, 수평적으로 나누는 방법. 내가 적용한 환경 Java 1.8 Spring Boot Starter 2.1.12 MyBatis 2.1.1 MySQL 적용한 이유 7기 Basecamp 메일 서비스를 만들던 중, 샤드 과제를 받았기 때문. 적용한 방법 0. 사전 지식 현 해피메일 서비스는 데이터베이스에 유저 정보와, 이와 연관된 메일 정보, 파일 정보 등을 저장하고 있다. 그리고 그 유저 정보에는 아이디, 이름, 비밀번호(암호화), 두레이 URL(메일 수신 / 발신 시에 Hook을 이용하기 위함. 선..
작년에 시험 보는 것을 그만 두겠다고 생각하고 학교 고시반을 나서면서 들었던 생각은 "나는 참 운이 없다." 였던 것 같다. 주변에는 승승장구 하는 사람들이 왜이리 많은지... 또 승승장구까지는 아니더라도, 뭔가를 이뤄내고 쟁취해내는 사람들로 가득차있다는 생각으로 스스로 괴로워했다. 근데 돌아보면 생각이 너무 어렸던 것 같다. 그런걸 이뤄내는데에는 극소수의 쉬운길을 제외하고는 모두 자기들이 열심히 해서 이뤄내는거였으니까. 그런 것들을 절실하게 느끼면서 코딩을 당장의 길로 삼고 싶다라는 마음을 가지게 되었기에, 오히려 잘 된 일이라고 생각은 든다. 그리고 벌써 3월 중순이 되었다. 그 사이에 나는 NHN이라는 회사에 입사를 했고, 입문 교육을 마치고 벌써 다음주면 기술교육을 마치는 시기가 되었다. 진짜 알..
String 의 특징 String str = "abc"; //is equivalent to char data[] = {'a', 'b', 'c'}; String str = new String(data); //more examples System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2); string은 문자열을 저장하고 관리하는 기본적인 클래스입니다. 다른 두 클래스와 가장 큰 차이점은 바로 가변적이지 않다는 것입니다.(immutable) 이러한 특징에서, + 연산..
가. JavaScript의 객체지향 특징 클래스는 없고 프로토타입만 있다 '인스턴스화 및 인스턴스'라는 개념은 존재하나 클래스가 없고, '프로토타입(모형)' 개념만 존재 가장 간단한 클래스 정의하기 var Member = function() {}; //자바스크립트의 Member 클래스 var mem = new Member(); // new 연산자로 인스턴스화 JavaScript에서는 함수(Function 객체)에 클래스의 역할을 부여한다. 애로우 함수에서는 생성자를 정의할 수 없다(ES2015) let Member = () => { ... 생성자의 내용 ...}; let m = new Member(); // Error : Member is not a constructor (E..
가. 함수란? 1. 정의 방식 function 명령으로 정의하기 function 함수명(인수, ...){ ...함수 안에서 실행되는 임의의 처리.... return 반환값; } Function 생성자로 정의하기 함수를 직접 정의하는 특징(리터럴 표현과 비교했을 때) var 변수명 = new Function(인수, ... , 함수의 본체); //삼각형의 면적 얻는 함수 예제 var getTriangle = new Function('base', 'height', 'return base * height /2;'); var getTriangle = new Function('base, height', 'return base * height /2;&#..
1. 객체란 1) '데이터를 조작하기 위해 여러 기능을 가진' 고기능의 그릇 2) 객체 생성 new 연산자 객체를 인스턴스화 하는데 사용하는 연산자 //new 연산자를 이용한 초기화 var 변수명 = new 객체명([인수, ...]); // 프로퍼티/메소드의 호출 변수명.프로퍼티명 [= 설정값]; 변수명.메소드명([인수 [,...]]); 객체 리터럴 var empty = {}; //프로퍼티가 없는 빈 객체 var point = { x: 0, y: 0}; // 두 개의 프로퍼티 x,y를 정의한다. var point2 = { x:point.x, y=point.y+1 }; // 프로퍼티를 수식 값으로 정의 var book = { "main title" : "JavaScript", //프로퍼티 이..
1. JavaScript의 기본적인 표기 1) script 요소를 기술하는 장소 요소의 안(임의의 위치) 웹페이지의 가독성 / 보수성의 관점 등에서 바람직 하지 않음 현재는 일부 예외를 제외하고는 거의 사용하지 않음 요소의 안( 직전) 웹페이지의 화면 갱신을 끝낸 후 로딩하는 방식으로 화면 갱신 속도가 개선됨. 요소의 안 "함수 호출 script 요소보다 함수 정의 script 요소를 먼저 기술 해야 한다"는 규칙의 예외를 위함 두번째 요소의 예외의 경우 사용하는 방식 외부에서 정의 후 Import 무시되는 경우 무시되지 않는 경우(분리된 경우) JavaScript 기능이 무효인 환경에서 대체 콘텐츠 표시하게 하기 Anchor 태그에 집어넣기 - Javascript 의사 프로토콜 //글씨 클릭시 java..