최근 포스트

Docker Nginx 그리고 Logrotate

docker로 nginx를 실행하고 logrotate 설정하는 방법을 확인해 보겠습니다. nginx alpine 이미지에는 logrotate가 없지만, 호스트에 logrotate가 있다면 docker volume을 통해서 log 파일을 logrotate를 실행할 수 있습니다. 이렇...

Spring ThreadPoolTaskExecutor 설정

ThreadPoolTaskExecutor는 이름에서 알 수 있듯이 스레드 풀을 사용하는 Executor입니다. 상위 인터페이스를 확인해 보면 java.util.concurrent.Executor를 Spring에서 구현한 것을 확인할 수 있습니다. 이 스레드 풀을 사용할 때 설정에 ...

AdSense PIN 번호 받다

AdSense PIN 번호 받은 기념으로 블로그에 대해서 다시 한번 생각해봤다.

Spring Data JPA에서 SQL Function 사용하기

JPA를 사용하면서 SQL function을 사용하고 싶은 경우가 생길 수가 있습니다. 예제를 통해서 필요한 상황과 해결 방법을 알아보겠습니다.

Kotlin에서 property와 function의 사용 구분

kotlin을 이용해서 개발하고 있지만 최근에서야 property와 function의 차이점을 알게 된 것 같습니다. 어떻게 구분해서 사용하는 것인가? 대한 고민 없이 그냥 사용했었는데요. 그 차이에 대해서 고민한 내용입니다.

Kotlin에서 mock 테스트 하기

예전에는 테스트 코드를 작성하려고 해도 스스로도 익숙하지 않았고 테스트 코드 작성에 대해 호의적이지 않은 사람이 있거나 일정 압박으로 테스트 코드를 작성하다가도 중간에 포기한 적이 많았습니다. 지금 진행하는 프로젝트는 kotlin으로 개발하고 있으며 구성원 모두가 테스트 코드의 ...

Java8 stream sum 구하기

Java8 숫자 타입 List에서 합계를 구하는 방법입니다. Integer, Long, Double은 Stream의 reduce()나 전용 Stream을 이용해서 바로 sum 구할 수 있고 BigInteger, BigDecimal은 reduce를 이용해서 구합니다.