목록으로

Programming Notes

Chat-Univ API 서버 개발 일지 #2: 회원 및 게시판 API 추가, 테스트 효율성 증대 그리고 코드 리뷰

최근 사이드 프로젝트로 진행 중인 Chat-Univ API 서버에 회원(Member) 및 게시판(Board) API를 추가했습니다. 초기 단계인 만큼 탄탄한 뼈대를 구축하는 데 집중하고 있으며, 함께하는 팀원들과의 코드 리뷰를 통해 완성도를 높여가고 있습니다. 이번 글에서는 새로 추가된 API와 더불어 개발 과정에서 겪었던 문제점, 그리고 이를 해결하기 위한 노력들을 공유하고자 합니다.

새로운 기능, 성장하는 서버

가장 먼저 소개할 부분은 새롭게 추가된 회원 API입니다. 서비스의 핵심 기능인 만큼, 사용자 계정 관리, 인증, 권한 부여 등 다양한 기능을 포함하고 있습니다. 예를 들어, 사용자가 새로운 계정을 생성할 때, 서버는 입력된 정보의 유효성을 검증하고, 중복된 계정이 없는지 확인합니다. 이후 안전하게 비밀번호를 암호화하여 데이터베이스에 저장하고, 사용자에게 환영 이메일을 발송하는 등의 작업을 수행합니다.

게시판 API 역시 기본적인 CRUD(Create, Read, Update, Delete) 기능을 제공하며, 사용자가 게시글을 작성하고, 조회하고, 수정하고, 삭제할 수 있도록 지원합니다. 게시글 작성 시에는 제목, 내용, 작성자 등의 정보를 입력받고, 이를 데이터베이스에 저장합니다. 게시글 조회 시에는 페이지네이션을 통해 많은 양의 데이터를 효율적으로 관리하며, 검색 기능을 통해 원하는 게시글을 빠르게 찾을 수 있도록 구현했습니다.

효율적인 개발 환경 구축을 위한 노력

Conflict 방지를 위해 도메인 별 예외(Exception)와 핸들러(Handler)를 분리하여 관리했습니다. 이는 특정 도메인에서 발생하는 예외가 다른 도메인에 영향을 미치지 않도록 설계함으로써, 코드의 유지보수성과 안정성을 높이는 데 기여합니다.

또한, Mock 테스트 코드의 중복을 제거하여 테스트 코드의 가독성과 재사용성을 향상시켰습니다. 기존에는 각 테스트 케이스마다 동일한 Mock 객체를 생성하고 설정하는 코드가 반복되었지만, 이를 팩토리 메서드 패턴 등을 활용하여 중복 코드를 제거하고, 테스트 코드의 양을 줄이는 데 성공했습니다.

코드 리뷰, 함께 성장하는 개발 문화

이번 주차에는 API 구현 외에도 팀원들과의 코드 리뷰에 많은 시간을 할애했습니다. 서로의 코드를 꼼꼼히 살펴보고, 개선할 부분을 제안하며, 더 나은 코드를 작성하기 위해 노력했습니다. 코드 리뷰를 통해 각자의 지식과 경험을 공유하고, 새로운 기술을 배우는 것은 물론, 코드의 품질을 향상시키고 잠재적인 버그를 사전에 발견하는 데 큰 도움이 되었습니다.

앞으로의 과제와 목표

이번 주차는 몸풀기 단계였지만, 앞으로 해결해야 할 과제들이 산적해 있습니다. 성능 최적화, 보안 강화, API 문서화, 배포 자동화 등 다양한 측면에서 개선해야 할 부분이 많습니다. 앞으로도 지속적인 학습과 노력을 통해 Chat-Univ API 서버를 더욱 발전시켜 나갈 계획입니다.