본문 바로가기

Total220

Jackson @JsonView 사용기 Jackson 을 이용하여 Json 문자열을 쓸 때, 모든 속성을 다 노출하고 싶지 않은 경우가 있다. 이럴 때 @JsonView 를 사용할 수 있다. 예제 코드를 살펴보자. @Data @Builder public class Album { private String albumId; private String albumName; private Singer representSinger; private List tracks; } @Data @Builder public class Singer { private String name; private String nickname; private String managementCompany; } @Data @Builder public class Track { priv.. 2017. 9. 27.
Mac에서 Host 설정하기 Mac에서 호스트 설정을 위해서는 아래와 같이 수행하면 된다. $sudo nano /private/etc/hosts Root 권한이 있어야 하므로 비밀번호를 물어볼 것이다. 입력 하면 편집창이 열리면서 수정할 수 있다. IP DNS 순으로 작성하면 된다.(# 뒤에 작성된 내용은 주석이 된다.) 저장 - ctrl + o 나가기 - ctrl + x 이 외에도 여러 명령어가 있으나 호스트 수정에는 위 두 개 command만 알아도 된다. Mac의 경우 호스트 파일 정보가 캐시에 저장되어 있는데. 변경 후 캐시 갱신을 해 주어야 한다. $dscacheutil -flushcache 2017. 9. 27.
MySQL에서 VALUES(col_name) 의 의미는? MySQL 에서 insert 쿼리 수행시 Key 중복이 있는 경우 해당 row를 업데이트 하기 위해서 insert ~ on duplicate key update ~ 를 사용한다. 문법 INSERT INTO tb_temp (a, b, c) VALUES(1, 2, 3) ON DUPLICATE KEY UPDATE c = c + 1 tb_temp 테이블에 PK(unique index)가 a 라고 했을 때를 가정하자. 위 SQL은 a=1 인 row 가 이미 존재한다면 c 컬럼을 갱신한다는 의미이다. 예를 들어 위 SQL을 두 번 수행하면? c는 4가 된다. 그럼 Bulk insert 에서의 duplicate key update 쿼리는 어떻게 작성이 될까? 두 개의 insert 구문이 있다고 가정하자. INSERT.. 2017. 9. 7.
MySQL에서 multi row를 insert 하는 방법 대량으로 insert를 수행하다 보면 성능을 고려하게 된다. MySQL에서는 multi row을 어떻게 빠르게 insert 할 수 있을까? One Transaction 처리 Insert ~ Select Bulk Insert LOAD DATA INFILE 구글링을 해 보니 4가지로 요약되는 것 같다. One Transaction 처리 start transaction; insert into tb_name (a, b, c) values (1, 2, 3); insert into tb_name (a, b, c) values (1, 2, 3); insert into tb_name (a, b, c) values (1, 2, 3); commit transaction; 하나의 트랜젝션으로 묶어서 처리하는 방식이다. SQ.. 2017. 8. 29.