springboot
-
Spring Boot, 환경 변수 주입 우선순위Spring Boot/환경설정 2023. 6. 3. 23:44
스프링에서 환경변수는 외부에서 주입할 수 있다. 주입 받은 환경 변수는 @Value 어노테이션을 사용하여 빈에 주입하거나, @ConfigurationProperties를 사용하여 바인딩 할 수 있다. 환경변수를 주입은 우선순위가 있어 주의를 요한다. Spring Boot uses a very particular PropertySource order that is designed to allow sensible overriding of values. Later property sources can override the values defined in earlier ones. Sources are considered in the following order: 우선순위가 높은 것 부터 나열했다. 1. Dev..
-
[Password hashing] Argon2, Bcrypt, Scrypt, PBKDF2 소개Node.js/nest.js 2023. 3. 6. 23:34
Springboot를 사용하면서 비밀번호 해싱은 늘 BcryptPasswordEncoder만 복사 붙여넣기 형태로 사용했다. Nest.js는 반면에 bcrypt, bcrypt.js, Scrypt, Argon2 등 passwordHash로 검색하면 나오는 라이브러리가 많아서 직접 알아봐야하는 상황이 있었다. Spring Security의 공식 문서를 살펴보니 bcrypt, Scrypt, Argon2, Pbkdf2 등.. 다양하게 제공하고 있었다. 이참에 자세히 알아보자. https://docs.spring.io/spring-security/reference/features/authentication/password-storage.html Bcrypt가 무엇이고, 어떤 것을 사용하는 것이 좋은지 정리해본다...
-
[사내 TestContainer 적용] Spring boot 통합테스트 도입기Spring Boot/테스트 2023. 1. 6. 00:38
개발자가 되고 가장 고된 작업으로 기억에 남을 통합테스트 작성 과정을 기록에 남긴다. 작년 3월 입사하고 백엔드 시니어님의 갑작스러운 퇴사로, 익숙하지 않은 지식들을 내것으로 만들기 위해 또는 살아남기 위해 씨름하던 중, 작년 하반기 무렵 드디어 회사에 새로운 시니어님이 입사하셨다. 직장 상사 보다는 동료로, 그리고 굉장히 능력있는 분이 오셔서 내게는 작년중 가장 큰 행운이었다고 할 수 있다. 그리고 작년 9월부터 새로온 분과 기존 Mybatis와 Postgres로 되어있던 프로젝트를 다른 기술 spec으로 처음부터 다시 구축하기로 결정했다. (처음에는 Logging 작업을 진행한 후에, 점진적으로 프로젝트를 개선하려고 했지만, 일주일 정도를 작업해보시고는 처음부터 다시 만드는 쪽이 속도가 더 나올 것 ..