본문 바로가기

스프링8

[커뮤니티 #16] 도메인 단위 테스트를 만들어보자 기존 커뮤니티 프로젝트에는 Service, Controller 레이어의 테스트밖에 없었습니다. ​ 레거시 프로젝트를 리팩토링 작업을 하면서 기존 Service 레이어에서 사용한 Setter, Getter 조합을 도메인 메서드로 바꾸면서 테스트 할 것들이 생겼습니다. ​ Getter와 Setter의 사용이 최대한 제한되어 있는 상태에서 도메인 테스트 코드 작성을 진행해보겠습니다. 양이 너무 많다보니 예시로 하나만 업로드 하겠습니다. ​ 오늘 예시로 사용될 도메인은 Message 도메인입니다. 먼저 도메인 코드를 확인해보겠습니다. @Data @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Message extends Entity.. 2022. 12. 26.
[커뮤니티 #15] 클린코드 리팩토링 (Admin API) / 도메인 메서드를 사용하는 이유 이제 어느정도 1차 클린코드 리팩토링 작업이 끝이나고 있습니다. 오늘은 Admin API 리팩토링을 진행하였습니다. ​ 이 API에는 유저 관리와, 게시글 관리, 정지 관리를 담당합니다. ​ 기존 리팩토링 전 Service 코드를 확인해보겠습니다. @RequiredArgsConstructor @Service public class AdminService { private final UserRepository userRepository; private final BoardRepository boardRepository; private final UserReportRepository userReportRepository; private final BoardReportRepository boardReportR.. 2022. 12. 26.
[커뮤니티 #13] 기존 프로젝트 리팩토링 계획 및 진행하기 https://blog.naver.com/sosow0212/222854060468 스프링부트 커뮤니티 API 서버 만들기 #12 JUnit5로 Service 단위 테스트 만들어보기 스프링부트 커뮤니티 API 서버 만들기 #12 JUnit5로 Service 단위 테스트 만들어보기 https://github... blog.naver.com #13번 이전 글은 기존 네이버 블로그에 업로드되어 있습니다 :) 오랜만에 열어보는 커뮤니티 프로젝트 올해 7월에 당근마켓 떨어지고 "API 서버 개발을 집중적으로 해야겠다"라고 생각했습니다. 그때 만든 커뮤니티 프로젝트입니다. 단순 게시판 API 서버가 아닌 Redis나 Querydsl 같은 기술적인 것을 적용도 해보고, 직접 해결도 해보고 싶은 마음에 만들었습니다. 한.. 2022. 11. 23.
도커를 이용해서 Redis 사용 및 스프링 프로젝트에 적용하기 오늘은 스프링 프로젝트에 Redis를 설정하고 어떻게 적용했는지에 대해 포스팅하겠습니다. Redis 사용 준비 먼저 Redis 설치는 로컬에 하는 방법과, 도커를 이용하는 방법이 있습니다. 저는 Docker를 이용해서 설치해보도록 하겠습니다. 처음 시작하시는 분들이 있을 수 있기에 기본적인 Dockerfile도 같이 업로드하겠습니다. 혹시 도커가 설치 안 되신 분들은 설치하시고 진행하시면 됩니다. Docker 세팅하기 Dockerfile FROM openjdk:11 ARG JAR_FILE=*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] 저는 Java11 버전으로 프로젝트를 만들었습니다. docker-compose.yml versi.. 2022. 11. 16.