Posts by Year

2022

Spring boot Timezone 설정하기

1 minute read

로컬에서는 분명히 적상적으로 작동을 했는데 서버 올라갔을 때 비정상으로 작동하여 원인을 확인해 보니 타임존 문제였다.

Back to Top ↑

2021

TestContainers로 test 멱등성 높이기

3 minute read

h2 in-memory db에서 테스트를 하였는데 뭔가 이상했다. production환경에서 사용중인 mariadb로 배포 전에 혹시나 해서 테스트해보기 위해 로컬에서 docker로 mariadb를 띄워서 테스트를 했을 때와 결과가 달랐다….

db character set 바꾸기

1 minute read

Spring 어플리케이션에서 maria db의 varchar type의 컬럼에 이모티콘(🍯)을 insert하려 했더니 SQLDataException Incorrect string value: '\xF0\x9F\x8D\xAF'.... 요런 에러가 발생했다. 저 이상한 형식의 str...

spring boot에서 aws kms를 이용해 프로퍼티값 암호화 하기

3 minute read

프로퍼티에 db 연결정보나 api key같은 정보가 그대로 들어갔다가 git 계정이 털리는 등 소스를 탈취 당하게 됬을 경우 아주 곤란해 질 수 있다. 보안이 필요한 값들은 애초에 암호화 해주면 그런 걱정을 덜 수 있겠다. AWS KMS를 이용해서 spring boot 프로젝트의 ...

Back to Top ↑

2020

JPA 비관적 잠금(Pessimistic Lock)

3 minute read

비관적 잠금(Pessimistic Lock) 이란? 선점 잠금이라고 불리기도 함 트랜잭션끼리의 충돌이 발생한다고 가정하고 우선 락을 거는 방법 DB에서 제공하는 락기능을 사용

JPA 낙관적 잠금(Optimisstic Lock)

3 minute read

낙관적 잠금(Optimisstic Lock) 이란? 비선점 잠금이라고 불리기도 함 현실적으로 대부분의 트랜잭션이 충돌이 발생하지 않는다고 낙관적으로 가정하고 잠금 트랜잭션을 커밋하기 전까지는 트랜잭션의 충돌을 알 수 없음 Application Level에서의 잠금 ...

Back to Top ↑