Developer/Spring

들어가며안녕하세요 ㅎㅎ 다들 spring 기반의 application 을 운영하게 되는 일들이 많은데요. 오늘은 client 에서 요청하는 값들에 대해 검증하고 싶을 때 어떻게 검증하는지와 내부 동작과정에 대해 한번 알아보겠습니다 client 에서 요청하는 데이터들은 정말 다양하고 위변조 되는 데이터들이 많을 수 밖에 없어validation 을 하는 것은 선택이 아닌 필수 라는 것을 항상 인지하셨으면 합니다. 글에서 설명드릴 spring 버젼은 spring boot 3.x 이후, spring 6.x 버젼 이후의 방식임을 인지하셨으면 합니다.버젼간의 디테일한 동작 방식은 차이가 있을 수 있습니다. Spring boot validation일반적으로는 spring boot 에서 관련된 의존성들을 묶어서 관리하..
들어가며안녕하세요~ 대부분의 프로젝트에서는 multi module 을 고려하여 구성하시는 경우들이 많은데요.multi module 로 나누어 각 모듈의 역할을 분리하고, 재사용성을 증진시키기 위해 multi module 을 활용하고 계시더라구요 그런데 multi module 로 나누게 되면, 가장 큰 문제점으로 다가오는 것이 바로 build 설정들이 중복되서 관리되는 것이 참 아쉬운 부분입니다.이러한 아쉬운 점을 해결하기 위해 gradle 에서는 buildSrc 혹은 build-logic 이라는 모듈을 기반으로 중복되는 build 설정들을 하나로 일원화시킬 수 있게 제공하는데요. 한번 알아보도록 해보겠습니다~!Multi Project Build basic전체적인 gradle 의 overview 는 위와 ..
들어가며안녕하세요~! 오늘은 Junit 에서 테스트를 선별할 수 있는 기능에 대해 알아보도록 할게요.특정 테스트들을 그룹핑하여 선별적으로 가동하기 위하여 자료를 알아보던 도중에 Junit Tag 라는 것을 알게 되었는데요어떻게 하면 적용할 수 있을지 예제코드와 함께 알아볼게요 Junit Tag예제에 사용되는 버젼은 Junit5 버젼을 예제로 합니다. Junit Tag 는 class 혹은 method 단위로 지정하여, test 에게 일종의 태그를 붙여주는 역할을 합니다. 바로 예시와 함께 가보도록 할게요.import org.assertj.core.api.WithAssertionsimport org.junit.jupiter.api.Tagimport org.junit.jupiter.api.Tagsimport ..
Introduce 안녕하세요~! 오늘은 서버 개발자들에게는 필수덕목 중의 하나인 성능 테스트에 대해 알아보려고 합니다 아무래도 실제 현업에서 일을 하다 보면, 많은 트래픽을 대비하여 내가 만든 Application server 에 대하여 성능이 어느정도 나오는지 판단하기가 어려워 이를 검증하기 위해 성능 테스트를 진행하게 되는데요 오늘은 Spring boot 기반의 application server 를 간단하게 만들어보고 성능 테스트해보는 시간을 가지고자 합니다. Why Performance Test? 먼저 왜 할까? 에 대한 이야기인데요. 성능 테스트를 하는 이유는 크게 여러 가지가 있습니다. 1. 한 Application server 당 최대 몇 개의 요청을 동시에 처리할 수 있는지 측정하여 많은 트..
들어가며 안녕하세요~! 오늘은 오랜만에 다시 JPA 관련한 내용으로 찾아왔습니다 ^-^ DB 를 운영하다보면 다양한 Id 생성 전략에 대해 고민을 하고 어떻게 설계할 것인가 에 대해 많은 고민을 하게 되는데요 오늘은 JPA Hibernate 에서 제공하는 Id generator 들에 대해 알아보는 시간을 가지도록 해볼게요 Id Generator 다양한 Id 생성을 위한 기능들을 제공하지만, 하나씩 들어가다보면 정말 종류가 다양하답니다. 오늘 우리가 탐구할 항목은 바로 @GeneratedValue Annotation 을 보려고 해요 public @interface GeneratedValue { /** * (Optional) The primary key generation strategy * that the..
들어가며 안녕하세요~! 오늘은 MSA 환경에서 추적을 용이하게 하기 위한, 라이브러리를 알아보도록 해볼텐데요. 과거에 Spring cloud sleuth 로 유명했었던 라이브러리 이지만, 아쉽게도 Spring Boot 2.x 버젼을 마지막으로 지원을 중단하고, Micrometer Tracing 로 옮기게 된 라이브러리입니다. https://github.com/spring-cloud/spring-cloud-sleuth GitHub - spring-cloud/spring-cloud-sleuth: Distributed tracing for spring cloud Distributed tracing for spring cloud. Contribute to spring-cloud/spring-cloud-sleut..
huisam
'Developer/Spring' 카테고리의 글 목록