2022.06 ~ 2022.07

서비스: https://www.blank.monster

소개


간단한 질문을 하고 답을 얻으며 지식을 나눌 수 있는 QnA 커뮤니티. Rest API 웹 어플리케이션

사용한 기술


#Java #Spring Boot #Spring Data JPA #React #AWS(EC2, RDS) #Spring Security

#Typescript #NGINX

프로젝트 진행 과정


백엔드 포지션으로 참여하였으며, 이전 프로젝트와는 다르게 개발 단계에서는 프론트 서버와 백엔드 서버를 분리하여 진행하였습니다. 프로젝트의 전반적인 내용은 Github의 Readme, Notion에 문서화를 진행하였습니다. Readme에는 프로젝트 설계 요약본을 넣었고, Notion에는 프론트 서버와의 소통을 위한 Rest API 명세서를 추가로 넣어 정리하였습니다. 또한, Github 사용시 기능 단위로 브랜치를 관리하고자 노력하였습니다.

신경쓴 점


#AOP를 활용하여 반복되는 로그인 체크 로직 분리

Blank 서비스는 로그인을 해야 이용할 수 있는 기능들이 있습니다. 그렇게 때문에 많은 부분에서 세션에 저장되어 있는 유저와 기능을 이용하려는 유저가 동일한지를 검사하는 코드들이 반복되고 있었습니다. 이를 제거하기 위해 Controller에서 @SessionAttribute와 @PathVariable로 유저 no를 가져와 비교하는 것과 동일하게 동작하는 커스텀 어노테이션을 정의하였습니다. 이를 통해 코드를 더 깔끔하게 유지할 수 있었습니다.