[항해 플러스 백엔드] 두번째 챕터, 서버 구축(feat. 발등 튀김)
by its_TIMI
1. 헬로 다들 내가 누군지 아늬~? 김인! 후다!
- 안녕하세요, 항해 플러스의 막내가 되고 싶었는데 되지못한 00년생 2년차 백엔드 개발자 김인후입니다.
2. 이번 챕터를 시작하며 꼭 해내고 싶었던 목표
- 첫번째 챕터는 TDD와 Clean Architecture였고, 이번 챕터는 총 3주로 구성된 서버 구축 과정이었습니다.
1주차 과제
- 시나리오 선정 및 프로젝트 Milestone 제출
- 시퀀스 다이어그램, 플로우 차트 작성
- ERD 설계 자료 제출
- API 명세 및 Mock API 작성
: 1주차 과제는 이와 같이 주로 일정 산정과 설계와 관련된 내용이었습니다.
하지만 생각보다 설계는 어려웠고, 일정산정 또한 경험이 많이 없으면 더욱 어렵지요😬
2주차 과제
- 비즈니스 로직 개발 및 단위 테스트 작성
- concert : 대기열 발급, 대기순번 조회, 좌석 예약 기능
단위 테스트 는 반드시 대상 객체/기능 에 대한 의존성만 존재해야 함
- API Swagger 기능 구현 및 캡쳐본 첨부 ( Readme )
- 주요 비즈니스 로직 개발 및 단위 테스트 작성
- 비즈니스 Usecase 개발 및 통합 테스트 작성
API 의 완성이 목표가 아닌, 기본 및 주요 기능의 비즈니스 로직 및 유즈케이스는 구현이 완료 되어야 함. ( Business Layer )
DB Index , 대용량 처리를 위한 개선 포인트 등은 추후 챕터에서 진행하므로 목표는 기능 개발의 완료 로 합니다. 최적화 작업 등을 고려하는 것 보다 모든 기능을 정상적으로 제공할 수 있도록 해주세요. 특정 기능을 왜 이렇게 개발하였는지 합당한 이유와 함께 기능 개발을 진행해주시면 됩니다.
: 제가 속한 26팀..즉 발등튀김조는 세 가지의 시나리오 중 콘서트 시나리오를 선택했는데요, 대기열 구현이 주인공인 시나리오라고 할 수 있는 친구이죠. 하지만..!!!!!!!동시에 주니어 개발자에게는 조금 도전이 될 수 있을 만한 ㄴ😮ㄱ 주제이자, 구현량(?) 이었지요.
Q : 발등튀김조란?
A : 과제 제출이 금요일 오전 10시인데, 월~수에는 공부를 안하는 건 아니지만 과제 수행을 목요일부터 시작하는 조를 말합니다.🤭
3주차 과제
- 비즈니스 별 발생할 수 있는 에러 코드 정의 및 관리 체계 구축
- 프레임워크별 글로벌 에러 핸들러를 통해 예외 로깅 및 응답 처리 핸들러 구현
- spring - RestControllerAdvice
- 시스템 성격에 적합하게 Filter, Interceptor 를 활용해 기능의 관점을 분리하여 개선
- 모든 API 가 정상적으로 기능을 제공하도록 완성
각 시나리오별 요구사항 내에 정의된 기능은 정상적으로 동작할 수 있어야 합니다. 개선 및 최적화에 초점을 두는 것이 아닌, 추후 개선해나갈 수 있도록 동작하는 기능을 완성하는 것이 목적입니다.
- 시나리오별 동시성 통합 테스트 작성
- Chapter 2 회고록 작성
DB Index , 대용량 처리를 위한 개선 포인트 등은 추후 챕터에서 진행하므로 목표는 기능 개발의 완료 로 합니다. 최적화 작업 등을 고려하는 것 보다 모든 기능을 정상적으로 제공할 수 있도록 해주세요. 특정 기능을 왜 이렇게 개발하였는지 합당한 이유와 함께 기능 개발을 진행해주시면 됩니다.
: 저희 팀은 Kotlin언어를 사용하는 조 입니다. 따라서 Spring Boot를 FrameWork로 사용하기 때문에 이번 과제의 구현을 RestControllerAdvice를 활용하여 구현해보았읍니다.
자세한 설명을 덧붙이고 싶으나 이번 주 또한 발등튀김이 되어 새벽 5시까지 과제를 하다가 2시간 자고 출근한 관계로,,,생략하겠어요.
3. 이번 챕터를 마무리하며 가장 기억에 남는 성취
으음
- 1주차 : 성공하는 테스트 코드를 로직에 작성해볼 수 있어서 꽤나 행복했고, 생각해보지 못했던 깔꼼한 구조로다가 개발해볼 수 있어서 행복했읍니다.
- 2주차 : 재미진 대기열을 한 번이라도 생각해보고, 구현해볼 수 있었음에 너무 행복했던,,🤭
- 3주차 : 그동안 뇌빼고 필요한데다가 갖다쓰기 바빴던 인터셉터나 필터를 정확히 어떤 단계로 거쳐지는지, 또 각각 어떤 목적으로 사용할 수 있는지 정리할 수 있어서 너무 좋았어요!!
4. 이번 챕터에서 반드시 이뤘으면 했는데 이루지 못한 것
- 저에게 그런건 없습니다~!!!! 이루고자 한 건 모두 이뤘어요~!
5. 내가 강화해야 할 강점 중 가장 중요하다고 생각하는 한 가지
- 꾸준함과 성실함 그리고 열정 아 한가지요? 음....열쩡!!!열쩡!!!열쩡!!!
6. 내가 개선해야 할 개선점 중 가장 중요하다고 생각하는 한 가지
- 으음..아직은 비루한 개발 실력.
자자 여러분
https://hanghae99.spartacodingclub.kr/plus/be
항해 플러스, 도전을 넘어 개발자 커리어 도약으로
백엔드 주니어 개발자로서 성장의 한계를 느끼고 있다면, 시니어 코치진과 함께 10주 몰입을 통해 도약하세요.
hanghae99.spartacodingclub.kr
혹시 다음 기수에 참여 원하시는 분들께서는
추천 코드 : nyGWLL
사용하시면 20만원 할인받으실 수 있습니다~~~~!!!
'항해 플러스 백엔드' 카테고리의 다른 글
[항해 플러스 백엔드] 세 번째 챕터, 대용량 트래픽 & 데이터 처리 (2) | 2024.11.23 |
---|---|
[항해 플러스 백엔드] 첫번째 챕터, TDD& 클린아키텍처 (7) | 2024.10.05 |
항해 플러스 백엔드 시작..! (0) | 2024.09.21 |
블로그의 정보
Dev_TIMI
its_TIMI