TIL

내일배움캠프 11주차 WIL

news0516 2025. 1. 10. 19:59

이번 주는 백오피스 프로젝트를 새롭게 시작하며, 3계층 아키텍처 구조를 학습하고 이를 프로젝트에 적용한 점이 가장 큰 성과였다. 특히 리뷰 CRUD API를 작성하며 각 계층의 역할을 명확히 이해하는 데 집중했다. 컨트롤러, 서비스, 리포지토리 계층 간의 유효성 검증 작업을 구분하며, 비즈니스 로직은 서비스 계층에 집중하고, 데이터베이스 검증은 리포지토리 계층에서 처리하도록 설계했다. 이러한 구조는 코드의 가독성과 유지보수성을 높이는 데 큰 도움을 줬다.

또한, 실시간 알림 기능을 구현하기 위해 웹소켓(Socket.IO)을 활용했다. 초기에는 서버와 클라이언트 간 데이터 흐름이 낯설었지만, 테스트용 HTML 파일과 임시 코드를 작성하며 점차 이해할 수 있었다. 이를 통해 주문 현황을 실시간으로 업데이트하는 기능을 구현했고, 이 과정에서 실시간 데이터 처리의 가능성과 한계를 배울 수 있었다.

진행 중 가장 어려웠던 점은 3계층 아키텍처에서 검증 작업을 어떻게 분리할지 결정하는 것이었다. 검색과 팀원 간 논의를 통해 컨트롤러는 입력값의 기본 검증, 서비스는 비즈니스 로직과 데이터 무결성 검증, 리포지토리는 DB 관련 검증을 담당하는 구조를 설계했다. 이 과정에서 계층 간 역할의 중요성을 깊이 이해할 수 있었다.

현재 프로젝트는 API와 설계를 대부분 완료한 상태이며, 인증 기능이 추가되면 기능을 완전히 통합할 수 있을 것으로 보인다. 프론트엔드와 구현한 기능을 테스트하며 오류를 수정해 나갈 계획이다. 

이번 주의 배움은 구조화된 설계와 협업의 중요성을 다시 한번 느끼게 해줬다. 앞으로도 배운 내용을 실무에 적용하며 더 나은 코드를 작성할 수 있도록 노력할 것이다.