
lombok은 사용하다보면 진짜 편리한 라이브러리구나를 느낀다. 개발자가 일일이 개발해야하는 것을 어노테이션 하나로 구현이 바로 가능하다. 덕분에 코드는 더 짧아지고 개발자가 코딩해야되는 양이 더 줄어든다. (물론 너무 남발하는 것도 안 좋긴 하고 때에 따라 사용한 어노테이션이 코드의 퀄리티를 떨어뜨려 놓을 수도 있다.) 이번에는 자주 사용하지만 눈여겨 보지 않았던 Lombok의 객체 생성자 관련 어노테이션을 정리해보고자 한다. lombok에서 제공하는 생성자 어노테이션은 아래와 같이 3가지가 있다. RequiredArgsConstructor, NoArgsConstructor, AllArgsConstructor @NoArgsConstructor 제일 기본인 생성자 어노테이션이다. 아무 인수가 없는 생성자..
요즘 공부가 좀 소홀해진 것 같다... 기술 블로그 작성한지 얼마나 됐다고 이러는지;; 그래도 알고 배운 것들을 잊지 않기 위해서 꾸준히 기록해야겠다. 우리는 클래스를 정의할 때 보통 아래와 같이 생성자로 정의해 클래스를 다른 곳에서 new로 생성해 사용한다. public class Test { public Test(int x, int y) { ... } } 하지만 이와 같이 생성자를 통해 객체를 생성하는 방법은 몇 가지 단점을 가지고 있다. 생성자는 명명을 할 수 없어서 생성자 안에서 별도 전처리 로직이 있을 경우 해당 전처리에서 무엇을 하는지 이해는 해당 생성자 안까지 들어가서 확인을 해야 한다. 이럴 때 정적 팩토리 메소드(Static Factory Method)를 사용한다. 정적 팩토리 메소드(S..

공간정보 데이터를 다루다보면 가끔 한국 좌표가 다른 이상한 곳에 있거나 지도에 표시가 안 되는 좌표도 있다. 그건 바로 좌표계가 맞지 않아서 그러한 현상이발생하는 것이다. (GIS 일을 해본 사람은 좌표계라는 것이 익숙할 것이다.) 좌표계라는 것은 간단하게 이야기하면 평면이 아닌 입체 구면인 지구를 어떤 식으로 표현하는냐 그 방법이다. 보통 Google Maps API나 등 지도 라이브러리들에서는 WGS84(4326)을 많이 쓰지만 가끔 공공데이터를 다운 받아서 사용하다보면 Korean 1985(2097)을 사용하기도 한다. 이럴 때 지도 라이브러리에서 사용하기 위해서는 좌표계를 변환해야 한다. PostGIS의 ST_Transform 함수 postgreSql에서는 PostGIS라는 함수를 제공하고 사용할..

http://postgis.net/docs/manual-2.0/ PostGIS 2.0 Manual Abstract PostGIS is an extension to the PostgreSQL object-relational database system which allows GIS (Geographic Information Systems) objects to be stored in the database. PostGIS includes support for GiST-based R-Tree spatial indexes, and functions for a postgis.net PostgreSql DBMS에서는 geometry 컬럼 타입을 제공하며 별도 공간 데이터를 가공하고 다룰 수 있는 PostGIS 함수..

회사에서 개발 프로젝트를 하고 개인적으로 공부도 하다보니 여러가지 공공 데이터들을 다루게 되었다. 해당 데이터들을 얻을 수 있었던 사이트들을 정리해놓고 나중에 필요하면 또 데이터를 활용해보자. 참고로 여기에 정리한 사이트는 모든 분야에 대한 데이터를 제공하는 사이트들로 특정 분야(교육)에 대한 데이터 등은 각 기관을 찾아서 얻어야할 수도 있다. 1. KOSIS 국가통계포털 https://kosis.kr/index/index.do KOSIS 국가통계포털 내가 본 통계표 최근 본 통계표 25개가 저장됩니다. 닫기 kosis.kr 매 년 국가에서 통계 낸 데이터를 확인할 수 있는 곳이다. 여러 가지 분야에 대해서 국가가 통계를 표 UI로 확인할 수 있고 xlsx, slx, csv, txt, sdmx로 다운로드..
이번에 복잡한 쿼리를 많이 사용해서 mybatis로 개발을 했다. 쿼리를 이것저것 작성을 하다보니 like 문을 or로 묶어서 사용하게 됐는데, like 문 여러 개를 or로 묶다 보니 이걸 묶어서 한꺼번에 쉽게 표현할 수 있는 방법이 없을까 찾아보다가 Similar to라는 것을 알게 되었다. 참고로 이는 다른 DBMS에서 regex 조건을 사용하는 것과 같은 효과를 낸다. 예를 들어 like 문으로 아래와 같이 '가', '나', '다'로 시작하는 문자를 찾는다고 하자. 그럴 경우 like문으로 쿼리를 작성하면 아래와 같다. SELECT * FROM table WHERE name like '가%' or name like '나%' or name like '다%'; 만일 여기에 다른 조건이 붙거나 '가',..

GIS 회사에 다니다보니 기본 DB는 PostgreSql을 많이 사용한다. (PostGis 함수 사용과 geometry 컬럼 타입 사용을 위해서) 그러다보니 PostgreSql의 이런저런 설정들도 하게 되는데 서버에 설치되어 있는 PostgreSql에 모든 외부 접속 가능하게 설정해놨더니 이상한 프로세스가 생기고 CPU와 메모리를 엄청 차지하게 되었다. 다행이 해당 프로세스들은 동기가 다 죽여버렸지만 이와 같은 일이 발생되지 않도록 하기 위해서는 PostgreSql DB 보안을 위해서 모든 외부 접속을 허용하지 않고 필요한 특정 IP들만 허용하도록 IP White List를 설정하기로 했다. PostgreSql 외부 IP White List를 설정하는 방법은 매우 간단하다. pg_hba.conf 파일 수..

https://pamyferret.tistory.com/8 [ SpringBoot ] SpringBoot의 기본 Cache 사용하기 개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것들이 보인다. 데이터 업데이트가 자주 이뤄지지도 않고 자주 호출되는 데이터인데 계속 DB에 가서 데이 pamyferret.tistory.com https://pamyferret.tistory.com/9 [ Redis ] Window에 redis 설치해서 사용하기 스프링 부트의 캐싱 기능을 사용하다보니 분산 캐싱 기능도 사용해보고 싶어졌다. 분산 캐싱에 사용할 캐시 데이터 저장 공간은 여러 가지를 사용하는데, 그 중 Redis라는 것을 사용해보려고 한 pamyferret.tistory.c..
- Total
- Today
- Yesterday
- cache
- 스프링부트
- 공간데이터
- 이클립스
- 데이터베이스
- springboot
- DB
- mockito
- JPA
- 캐시
- k8s
- 캐싱
- Caching
- eclipse
- enum
- annotation
- 자바
- Java
- ssh
- 메시지큐
- DATABASE
- PostgreSQL
- HttpClient
- Intellij
- MAC
- 역직렬화
- postgres
- 어노테이션
- Spring
- rabbitmq
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |