본문 바로가기

전체 글

intelliJ 단축키 모음 전부 Mac 기준으로 작성한 거라 Windows / Linux 는 약간씩 다를 수 있습니다. 한줄 삭제 Ctrl + Y 해당 키워드 static 으로 변환 키워드 위에서 option + enter 변수명 rename 해당 변수 위에서 shift + 6 아래 거까지 전부 바뀜 변수명 extract 하기 option cmd V class 레벨에서 테스트 하면 전체 테스트 가능 메소드로 뽑아내기 영역 블록 잡고 Ctrl + T > Extract Method 리팩토링과 관련된 여러가지 메소드가 나옴 테스트 클래스 자동 생성 cmd shit T 동일 패키지 레벨에 만들어진다 파일 찾기, 파일 검색 cmd O 하거나 Shift 2번 해당 키워드를 갖고 있는 파일 검색 (File Search) shift cmd F .. 더보기
Javascript 에서 값이 정수인지 실수인지 체크하는 방법 function isInteger(number) { return number % 1 === 0; } 정수면 true, 실수면 false 반환 더보기
Eclipse 특정 코드 들어간 파일을 찾으려 할 때, 검색 속도 빠르게 하는 법 단축키는 Ctrl+H 입니다. Customize 눌러서 File Search 부분만 체크하고 나머지는 다 해제하세요 더보기
[Oracle] docker로 oracle 실행 후, DB 한글깨짐현상 해결 데이터를 AS-IS → TO-BE 로 이전하면서 가장 많이 발생하는 문제 중 하나가 데이터의 변경과 손실이다. 데이터 이관 후 조회했을 때 글자가 다 깨져서 알아볼 수 없는 상황이 발생하는 이유는 서로의 Character Set이 일치하지 않아서가 거의 대부분의 이유이다. Character Set이란 데이터베이스 내부에 데이터가 저장될 때 참조되는 글자의 종류를 적어 놓은 일종의 사전이다. 사용자가 어떤 데이터를 Insert 하게 되면 Server Process가 Insert할 때 Character Set을 보고 글자를 확인하고 입력 해 주는 원리이다. 만약 사용자가 입력한 글자가 Character Set에 없는 글자라면 Server Process는 무슨 글자인지 몰라서 그냥 ?로 저장하게 된다. 이 C.. 더보기
Log4j 설정법 (log4jdbc-log4j2 라이브러리 이용) MyBatis는 내부적으로 JDBC의 PreparedStatement를 이용해서 SQL을 처리합니다. 따라서 SQL에 전달되는 파라미터는 JDBC에서와 같이 '?' 로 치환되어서 처리됩니다. 따라서 SQL 로그를 제대로 보기 위해서는 log4jdbc-log4j2 라이브러리를 사용해야 합니다. 1. mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1/1.16 Maven Repository: org.bgee.log4jdbc-log4j2 » log4jdbc-log4j2-jdbc4.1 » 1.16 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 // https://mvnreposi.. 더보기
[Java] 제네릭 1.1 왜 제네릭을 사용해야 하는가? 컴파일 시 강한 타입 체크를 할 수 있다. 실행 시 타입 에러가 나는 것보다는 컴파일 시에 미리 타입을 강하게 체크해서 에러를 사전에 방지하는 것이 좋다. 타입 변환(casting)을 제거한다. 비제네릭 코드는 불필요한 타입 변환을 하기 때문에 프로그램 성능에 악영향을 미친다. 1.2 제네릭 타입을 살펴보자 제네릭 타입은 타입을 파라미터로 가지는 클래스를 말한다. 타입을 파라미터로 가진다는 말이 무슨말일까? 다음 예시를 보자. 다음과 같이 필드 타입을 Object로 가지고 있는 Main 메소드가 있다. class Box { private Object object; public void set(Object object) { this.object = object; } p.. 더보기
[Java] StringBuffer, StringBuilder 클래스 문자열을 저장하는 String은 내부의 문자열을 수정할 수 없다. 예를 들어 String의 replace() 메소드는 내부의 문자를 대치하는 것이 아니라, 대치된 새로운 문자열을 리턴한다. String 객체를 + 연산할 경우에도 마찬가지다. String data = "ABC"; data += "DEF"; String 객체는 내부 데이터를 수정할 수 없으므로 "ABC" 에 "DEF" 가 추가된 "ABCDEF" 라는 새로운 String 객체가 생성된다. 그리고 data 변수는 새로 생성된 String 객체를 참조하게 된다. 문자열을 결합하는 + 연산자를 많이 사용할수록 그만큼 String 객체의 수가 늘어나기 때문에 프로그램 성능을 느리게 하는 요인이 된다. 문자열을 변경하는 작업이 많을 경우에는 Strin.. 더보기
상대방의 소스를 받았는데 한글이 깨지는 경우 (Encoding 깨짐 현상) Window를 쓰고 있는 상대방의 소스를 Mac을 쓰고 있는 내가 받았더니 한글이 깨졌다. 물론, Encoding은 OS와 상관이 없다. 하지만 Window의 경우, 보통 이클립스나 sts.. 등 기본 인코딩이 MS949 로 되어 있는 경우가 있다. 사용자가 직접 UTF-8로 바꾸지 않는 이상, MS949 인코딩으로 저장되는 것이다. 이 경우, 우리는 소스 파일을 받고 어디서 고쳐줘야 할까? 프로젝트 우클릭 > Properties > Resource > MS949 (선택지에 없다면 직접 입력) 그리고 우리가 앞으로 작성할 코드가 UTF-8로 저장되게 하기 위해서는 Window > Preferences > Workspace > Text file encoding > UTF-8 로 지정해져 있는지 확인하자 더보기