Developer/Spring

들어가며대규모의 시스템을 설계하면, 서로 다른 백엔드 시스템과의 통신이 많아지고 복잡해지는데요.통신이 많아질 수록 네트워크에 오류가 발생할 확률이 조금씩 늘어나게 됩니다.네트워크 오류는 일시적인 순단이거나 connection timeout 이 발생하는 클라이언트 일시적인 오류거나 패킷 손실 등 다양한 원인일 수 있습니다. 이러한 원인을 매번 파헤치는 것은 시간적 소요가 많이 들 뿐더러, 원인을 찾아낸더라 해도 재발 방지책을 세우기도 쉽지 않습니다.왜냐하면 단순 retry 하는 것으로 끝나는 경우들이 많기 때문입니다. 그래서 Idempotent HTTP 를 설계하려는 노력들을 많이 시작하게 되었는데요. 한번 시작해보겠습니다용어정리우선 앞으로 설명하게 될 용어에 대해 간단하게 소개해보겠습니다.크게 멱등성과 ..
들어가며안녕하세요~! 이번에도 역시 spring boot validation 에 관하여 알아보도록 해보겠습니다. 우리는 이전 게시글을 통해 spring 에서 어떻게 validation 하고 있는지 소개했었는데요.https://huisam.tistory.com/entry/spring-validation Spring Validation 의 종류와 동작하는 방식에 대해 알아보자들어가며안녕하세요 ㅎㅎ 다들 spring 기반의 application 을 운영하게 되는 일들이 많은데요. 오늘은 client 에서 요청하는 값들에 대해 검증하고 싶을 때 어떻게 검증하는지와 내부 동작과정에 대해huisam.tistory.com기본적인 validation 기능들은 다 탑재되어 있어 사용하기에 어렵진 않지만,일부 미지원되는 ..
들어가며안녕하세요 ㅎㅎ 다들 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 당 최대 몇 개의 요청을 동시에 처리할 수 있는지 측정하여 많은 트..
huisam
'Developer/Spring' 카테고리의 글 목록