Dev_TIMI

[항해 플러스 백엔드] 두번째 챕터, 서버 구축(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만원 할인받으실 수 있습니다~~~~!!!

반응형

블로그의 정보

Dev_TIMI

its_TIMI

활동하기