항해 플러스 백엔드 WIL - 1주차 회고

최초 업로드 2025-07-13 / 마지막 수정 2025-07-13

<1> The Missing Piece

내 성장곡선에서 빠진 하나의 퍼즐 조각을 맞춘 기분이 든다. 부트캠프를 처음 참여해보았고, 그 가치를 이제야 깨달았다:

타 회사의 개발자들과 개발하는 것은 "아주 큰 것들"을 놓치지 않게 해준다.

내가 이번 주에 가장 크게 얻은 수확은 testcontainers였다. 4월부터 계속해서 testing을 작성해고 있으며 느꼈던 불편함을 한 번에 없애줄 것 같은 도구였다.

이번 주나 다음 주에 이제 처음 사용해볼 것이다. 기존 우리 회사에서는 docker을 병렬로 띄워야해서 어떻게 보면 몇 주 전의 주말에 나는 testcontainers라는 라이브러리를 직접 만드려고 시도했었다고 볼 수도 있다.

스타 수가 node는 2.2k, java 8k이고 gpt는 추천해주지 않았던 선택지였다. 아마 해외에서는 우리나라만큼 많이 안쓸지도 모른다. 스포티파이, 넷플릭스, 우버에서 사용하고 있는 것 같은데 나는 처음 보는 기술이었다.

부트캠프/네트워킹은 아주 큰 것들을 놓치지 않게 해주는 탐지망과 같았다. 그리고 이러한 효용은 내가 혼자서 공부해온 길에서는 대체 할 만한 방법이 없는 상황이다.

몇 년간 개발자로 지내오면서 외부 활동에는 소흘했던 경향이 있었다. 이제는 계속 외부로 돌며 빠르게 성장을 도모할 것이다.


<2> 강의에서 얻은 것

1, 2주차 발제는 망나니 개발자 블로그로 유명하신 민규님께서 진행해주셨다. 민규님께서 추천해주신 책들은 내게 너무나도 큰 도움이 되었다. 특히 Vladimir Khorikov의 책을 이번주에 계속 훑어보면서 개발했는데, 미친 속도로 성장하는 느낌을 받았다.

아직 두 권밖에 훑어보지 못했는데, 추천해주신 남은 책들도 시간이 날 때 읽을 예정이다. 지금 읽던 책들도 시간이 나면 더욱 꼼꼼하게 읽도록 할 것이다.

1/3 정도 읽다가 가독성이 떨어져서 포기한 책은 - Kent Beck의 TDD by Example - 원문으로 읽다가 한글판으로 주문해서 받아놓았음. 근데 한글판도 가독성이 너무 떨어짐!!! 이번에 느낀게, 영문판이 가독성 떨어지면 한글판도 똑같이 가독성이 떨어진다는 점... 이제는 pdf 못 찾을 때에만 구매해야겟다...

아직 영문 Pdf만 받아놓고 못 읽은 책 - software engineering at google

Unit Test 책은 진짜 너무 좋은 프레임워크들의 총 집합이었다. 최고였다.


<3> 피어 코드 리뷰에서 얻은 것

네이버 개발자로 계시면서 프론트 코치를 하고 계신 준일님께서 백엔드 TS 팀원으로 계신데, 코드를 보았을 때 많은 것을 배울 수 있었음!

  1. test.each로 여러 케이스 한 번에 검증하기 => 이거 너무 필요했던 것인데, 너무 좋은 소스였음.
  2. 테스터블 코드에 대해 다시 한 번 고민할 수 있었음. VO에 validation을 넣으셔서 미리 음수를 거를 수 있는 부분의 코드가 있었는데, 이걸 보고 아! 레이어 마다 DTO 두고 DTO만 검증하면 각 레이어에서는 값이 어느정도 보장되는 상태에서 테케 작성이 편하게 가능하겠구나! 하는 것을 깨달았음.
  3. facade 활용이 인상적이었음. service에서 facade 활용을 해본 적이 없는 나로서는 나중에 써볼 수 있는 유스케이스를 하나 얻을 수 있었음.
  4. ide에서 익스텐션으로 PR 코드리뷰를 편하게 하셔서 나도 바로 다음주부터 도입 예정.

다른 분들 코드도 서로 봐주면서 여러가지를 고민 할 수 있어서 좋았음!

Java bp 받은 분들 코드도 리뷰해보았다. - 과연 TS에서 내가 고려하지 못했거나 TS 진영에 존재하지 않는 유틸이 있나 눈에 불을 켜고 봐본 결과!!!:

  • 은솔님 - 클린/헥사고널 느낌으로 작성해주셔서 엔티티가 깔끔하게 검증되고 있었음.
  • 서희님 - 나랑 동일한 레이어드 아키텍처였는데 차이점은 나는 정책 클래스를 만들었고 서희님은 엔티티에 정책을 모두 넣어두셨음.
  • 찬희님 - 서희님과 유사하게 작성해주셨는데, 엔티티와 서비스에 동일한 함수가 이원화되어 존재해서 조금은 이슈가 보였었음.

결론적으로 비즈니스 로직 Policy 클래스를 분리한 것은 내 레포 밖에 없었음. 내 레포가 조금 더 절차형 느낌을 띄는 경향이 있는 것 같다.

엔티티의 단점이라 한다면 너무 여러가지가 엔티티에 들어가 있는 느낌도 조금 있었음. 다음 과제에서는 나도 엔티티로 해보고 단점을 깨우쳐보자. 내 정책에는 일일한도가 있어서 이게 point 엔티티에 들어갈 수 있을지모르겠지만...

TS에서 유틸이 부족하거나하는 것은 눈에 띄지는 않았다!

엔티티와 정책 이 두 가지를 합치거나 둘 다 쓰거나 결정해야하는 때가 언젠가 올 것만 같다!


<4> 이번 주 학습 목표??

2주차 발제 때에는 책 추천은 많이 없었다. 음... 설계 쪽이라 추천할 것들이 너무나도 많아서 그럴 수도 있겠다. 이번주에 훑어볼 책들은:

  1. API 설계 쪽 책들 - 5권 gpt 추천 받기 => 훑어보고 가장 좋은 2권 선정 => 2권 내에서 가장 중요한 20% 챕터 꼼꼼하게 읽기
  2. 데이터 모델링 - 집에 항해 시작 전에 사둔 모델링 책 두 권 있어서 빠르게 훑어볼 예정 + 리서치로 해외 pdf 단 한권 찾아서 20% 읽기

최종적으로 선발된 책:

API 쪽은 단 한권

  • The Design of Web APIs - Arnaud Lauret

모델링 쪽은

  • UML Distilled - Martin Fowler
  • Use Case Driven Object Modeling - Rosenberg & Scott

데이터 모델링은 집에 있던

  • 알기 쉽게 해설한 데이터 모델링 - 홍민영
  • 핵심 데이터 모델링 - 유동오

빠르게 훑어보고 2주차 과제 시작해보자!

항해 플러스 백엔드 WIL - 1주차 회고

최초 업로드 2025-07-13 / 마지막 수정 2025-07-13

<1> The Missing Piece

내 성장곡선에서 빠진 하나의 퍼즐 조각을 맞춘 기분이 든다. 부트캠프를 처음 참여해보았고, 그 가치를 이제야 깨달았다:

타 회사의 개발자들과 개발하는 것은 "아주 큰 것들"을 놓치지 않게 해준다.

내가 이번 주에 가장 크게 얻은 수확은 testcontainers였다. 4월부터 계속해서 testing을 작성해고 있으며 느꼈던 불편함을 한 번에 없애줄 것 같은 도구였다.

이번 주나 다음 주에 이제 처음 사용해볼 것이다. 기존 우리 회사에서는 docker을 병렬로 띄워야해서 어떻게 보면 몇 주 전의 주말에 나는 testcontainers라는 라이브러리를 직접 만드려고 시도했었다고 볼 수도 있다.

스타 수가 node는 2.2k, java 8k이고 gpt는 추천해주지 않았던 선택지였다. 아마 해외에서는 우리나라만큼 많이 안쓸지도 모른다. 스포티파이, 넷플릭스, 우버에서 사용하고 있는 것 같은데 나는 처음 보는 기술이었다.

부트캠프/네트워킹은 아주 큰 것들을 놓치지 않게 해주는 탐지망과 같았다. 그리고 이러한 효용은 내가 혼자서 공부해온 길에서는 대체 할 만한 방법이 없는 상황이다.

몇 년간 개발자로 지내오면서 외부 활동에는 소흘했던 경향이 있었다. 이제는 계속 외부로 돌며 빠르게 성장을 도모할 것이다.


<2> 강의에서 얻은 것

1, 2주차 발제는 망나니 개발자 블로그로 유명하신 민규님께서 진행해주셨다. 민규님께서 추천해주신 책들은 내게 너무나도 큰 도움이 되었다. 특히 Vladimir Khorikov의 책을 이번주에 계속 훑어보면서 개발했는데, 미친 속도로 성장하는 느낌을 받았다.

아직 두 권밖에 훑어보지 못했는데, 추천해주신 남은 책들도 시간이 날 때 읽을 예정이다. 지금 읽던 책들도 시간이 나면 더욱 꼼꼼하게 읽도록 할 것이다.

1/3 정도 읽다가 가독성이 떨어져서 포기한 책은 - Kent Beck의 TDD by Example - 원문으로 읽다가 한글판으로 주문해서 받아놓았음. 근데 한글판도 가독성이 너무 떨어짐!!! 이번에 느낀게, 영문판이 가독성 떨어지면 한글판도 똑같이 가독성이 떨어진다는 점... 이제는 pdf 못 찾을 때에만 구매해야겟다...

아직 영문 Pdf만 받아놓고 못 읽은 책 - software engineering at google

Unit Test 책은 진짜 너무 좋은 프레임워크들의 총 집합이었다. 최고였다.


<3> 피어 코드 리뷰에서 얻은 것

네이버 개발자로 계시면서 프론트 코치를 하고 계신 준일님께서 백엔드 TS 팀원으로 계신데, 코드를 보았을 때 많은 것을 배울 수 있었음!

  1. test.each로 여러 케이스 한 번에 검증하기 => 이거 너무 필요했던 것인데, 너무 좋은 소스였음.
  2. 테스터블 코드에 대해 다시 한 번 고민할 수 있었음. VO에 validation을 넣으셔서 미리 음수를 거를 수 있는 부분의 코드가 있었는데, 이걸 보고 아! 레이어 마다 DTO 두고 DTO만 검증하면 각 레이어에서는 값이 어느정도 보장되는 상태에서 테케 작성이 편하게 가능하겠구나! 하는 것을 깨달았음.
  3. facade 활용이 인상적이었음. service에서 facade 활용을 해본 적이 없는 나로서는 나중에 써볼 수 있는 유스케이스를 하나 얻을 수 있었음.
  4. ide에서 익스텐션으로 PR 코드리뷰를 편하게 하셔서 나도 바로 다음주부터 도입 예정.

다른 분들 코드도 서로 봐주면서 여러가지를 고민 할 수 있어서 좋았음!

Java bp 받은 분들 코드도 리뷰해보았다. - 과연 TS에서 내가 고려하지 못했거나 TS 진영에 존재하지 않는 유틸이 있나 눈에 불을 켜고 봐본 결과!!!:

  • 은솔님 - 클린/헥사고널 느낌으로 작성해주셔서 엔티티가 깔끔하게 검증되고 있었음.
  • 서희님 - 나랑 동일한 레이어드 아키텍처였는데 차이점은 나는 정책 클래스를 만들었고 서희님은 엔티티에 정책을 모두 넣어두셨음.
  • 찬희님 - 서희님과 유사하게 작성해주셨는데, 엔티티와 서비스에 동일한 함수가 이원화되어 존재해서 조금은 이슈가 보였었음.

결론적으로 비즈니스 로직 Policy 클래스를 분리한 것은 내 레포 밖에 없었음. 내 레포가 조금 더 절차형 느낌을 띄는 경향이 있는 것 같다.

엔티티의 단점이라 한다면 너무 여러가지가 엔티티에 들어가 있는 느낌도 조금 있었음. 다음 과제에서는 나도 엔티티로 해보고 단점을 깨우쳐보자. 내 정책에는 일일한도가 있어서 이게 point 엔티티에 들어갈 수 있을지모르겠지만...

TS에서 유틸이 부족하거나하는 것은 눈에 띄지는 않았다!

엔티티와 정책 이 두 가지를 합치거나 둘 다 쓰거나 결정해야하는 때가 언젠가 올 것만 같다!


<4> 이번 주 학습 목표??

2주차 발제 때에는 책 추천은 많이 없었다. 음... 설계 쪽이라 추천할 것들이 너무나도 많아서 그럴 수도 있겠다. 이번주에 훑어볼 책들은:

  1. API 설계 쪽 책들 - 5권 gpt 추천 받기 => 훑어보고 가장 좋은 2권 선정 => 2권 내에서 가장 중요한 20% 챕터 꼼꼼하게 읽기
  2. 데이터 모델링 - 집에 항해 시작 전에 사둔 모델링 책 두 권 있어서 빠르게 훑어볼 예정 + 리서치로 해외 pdf 단 한권 찾아서 20% 읽기

최종적으로 선발된 책:

API 쪽은 단 한권

  • The Design of Web APIs - Arnaud Lauret

모델링 쪽은

  • UML Distilled - Martin Fowler
  • Use Case Driven Object Modeling - Rosenberg & Scott

데이터 모델링은 집에 있던

  • 알기 쉽게 해설한 데이터 모델링 - 홍민영
  • 핵심 데이터 모델링 - 유동오

빠르게 훑어보고 2주차 과제 시작해보자!

Copyright © 2023 Seho Lee All Rights Reserved.
</>
Latest Commit
8b5158e2-447f-5dd0-be50-7e3899276bfa
Seho Lee
2025-07-14T12:34:23Z