풀라 2

소규모 팀에서의 Spring 사용법 (패키지 구조, 테스트 코드를 중심으로)

들어가며 스타트업에서 3년 가량 스프링을 사용해오면서 여러 패키지 구조를 검토하고 사용해봤다. 참고로 이 글은 내가 3년차나 되니까 이렇게 설계하는게 좋으니까 그렇게 해야돼! 이런 글이 절대로 아니다. 지극히 주관적으로 생각했을때 이 구조가 좋더라는 내 생각을 작성한 글이다. 계층형 구조 스프링을 처음 접하면 일반적으로 많이 사용하게 되는 구조다. 스프링 입문 인터넷 강의, 서적 등에서 많이 언급되는 구조다. 계층형 구조의 장점은, 파악하기 쉽다는 것이다. 너무나 익숙하니까... 당연하다. 단점은 카테고리 (패키지)가 적기 때문에 클래스가 많아질 수록 개발 해야 될 클래스를 찾기 어렵다. 도메인형 구조 계층형 구조보다 더 나은 구조 없나?.. 둘러보다 사용해본 구조다. 각각의 도메인 (coupon, me..

서버 2023.07.03

간단하고도 빠른 서버 성능 최적화 (node js를 중심으로)

이전에 Nginx를 사용해서 이미지 캐싱 서버를 따로 구축하여 사이트 속도를 개선했는데도 불구하고 아직 우리 사이트 속도는 사용자가 원활하게 사용하기에는 느렸다. 다른 이커머스 사이트를 보면 로딩 없이 사이트 전체 내용을 바로 확인할 수 있던데, 왜 안될까? 분석 결과 원인은 api의 속도가 느리기 때문이었다. 문제긴 한데 어떻게 api 속도를 빠르게 할 수 있을까? 이미지뿐만 아니라, api 서버에서 가져오는 데이터도 캐싱할 수 있지 않을까? 라는 생각이 문득 전에 공부했던 경험을 통해 들었고 적용 해보기로 했다. api 서버에서 가져오는 데이터를 캐싱하는 방법은 여러 가지다. 대표적으로 Global Caching, Local Caching 두 가지 전략으로 나눌 수 있다. Global Caching은..

서버 2023.05.04