[항해플러스] WIL 1주차: Chapter 1-1: 프론트엔드 테스트 코드 익숙해지기
항해플러스
- 01 [항해플러스] WIL 1주차: Chapter 1-1: 프론트엔드 테스트 코드 익숙해지기
- 02 [항해플러스] WIL 2주차: Chapter1-2. AI를 활용한 안정적인 기능 개발을 위한 TDD 적용
- 03 [항해플러스] WIL 3주차
- 04 [항해플러스] WIL 4주차
- 05 유난은 때로 철학이 된다.
- 06 [항해플러스] WIL 5주차
- 07 [항해플러스] WIL 6주차
- 08 [항해플러스] WIL 7주차
- 09 [항해플러스] WIL 8주차
- 10 [항해플러스] 9주차 회고
- 11 [항해플러스] 10주차 회고
- 12 [항해플러스] 최종 회고
시작
우선 저는 이번 주차에 약 50시간 정도를 항해에 쓴 것 같습니다. 잠 줄여가며, 시험 + 자는 시간 빼고는 계속 Zep 공간에 머물렀던 것 같아요.
놀라운 사실은 이렇게 하면서도 저는 단 한 번도 힘들다는 생각은 안해본 것 같습니다.
사실 매일 아침 이렇게 일어났습니다
이번 일주일은 제게 너무 재밌는 시간이었고, 배우고 얻어가는 것도 정말 많은 시간이었던 것 같아요.
이번 주차 학습한 것
- 단위테스트
- MSW
- 통합테스트
과제 진행
과제 결과

| 선택 난이도 | PR 및 이슈 갯수 | 테스트 성공률 | Files changed | 패스 여부 |
|---|---|---|---|---|
| HARD | 25 | 100% | 155 | O |
General
난이도 자체가 어렵다 보다는, 노가다가 좀 많다고 생각했습니다. 그러나, 우리 수학 배울 때도 쉬운거 양치기 하는게 기본이잖아요? 이렇게 양치기를 통해 테스트 코드 작성을 체득 할 수 있던 기회였던 것 같아요. 괜히 이번 챕터 이름이 프론트엔드 테스트 코드 익숙해지기가 아니구나 싶었습니다.
이슈 생성 및 PR 구조화
저는 이번 과제를 모두 별도의 ISSUES/ 디렉토리에서 관리하며 작업단위를 관리하였습니다. 엄청난 이유는 없었고, 이렇게 하는 것이 내게 가장 편한 방법이기도 하고, 커밋 내역 | 작업 단위 관리가 잘 될 것 같아서였어요. 추가로 더 수월한 코드 리뷰를 받기 위함도 있었어요.
이 방법은 매우 효과적이었습니다.
제 과제 흐름을 정리할 수 있었고, 이렇게 만든 이슈를 기반으로 branch를 생성 => 포크한 repository의 hard 브랜치로 Squash Merge를 진행하며, 정말 깔끔한 커밋 이력을 남길 수 있었거든요. 물론 개별 커밋을 확인하기 위해서는, 화면을 2번 이동해야 한다는 1개의 추가 depth가 생겼지만, 저는 이 부분을 문서화로 풀어냈습니다.

평소와 다른 접근
사실 저는 이번 항해를 신청하면서 마음 먹은게 있습니다.
가장 먼저 머리에 떠오르는 방법은 배제하자.
저는 성격이 매우 급하고, 손도 꽤나 빠른 사람입니다 (코딩은 잘 못해서 코딩 속도는 느려요).
따라서, 제 머리에 가장 먼저 떠오르는 아이디어는 제게 가장 익숙한 방법일 것이고, 이는 가장 빠르고 쉬운 길이라고 생각합니다.
그래서 저는 아예 생각을 바꾸어, 조금 어려운 길로 가더라도, 내가 안써본 방법을 해보자., 그게 내가 이번 항해에서 얻어갈 수 있는 가장 큰 자산일 것이다.라고 생각하며 저 마음을 먹었어요.
물론 모든 상황에 적용된 것은 아니었습니다. 사람인지라 귀찮기도 했고, 이렇게까지 해야하나? 싶을 때도 있었어요. 하지만 몇 개의 코드에서, 제가 평소라면 전혀 하지 못했을 아이디어를 사용하였고, 이것만으로도 굉장히 만족스러운 상태입니다.
아마 시간이 흐르며 더 다양한 아이디어가 떠오르지 않을까 싶어요,,,
코드 리뷰 가이드
제 코드 스타일 등을 Claude Code를 활용해 분석했습니다. 기본 가이드는 제가 수기로 쓰고, 이를 Claude Code와 함께 코드 분석을 하며 디벨롭 시켰어요.
다른 분들이 제 코드리뷰를 많이 해주셨으면 좋겠다는 마음에,, 이렇게 작성해봤는데, 이 글을 보신다면 생각 나실 때 한 번씩 부탁드립니다,,🥹
최종 PR
사실 같은 팀인 썸머님,,,의 커밋을 보며, 와 저렇게 body 쓰니까 확실히 읽기도 좋다~ 라고 생각했습니다.
저의 경우, ISSUE와 PR에 정리하긴 했지만, 이것들은 모두 Depth가 깊어지기에, 조금 번거롭다는 생각이 들었거든요.
따라서 저도 최종 PR에 제가 코멘트가 필요하다고 느낀 지점들에 모두 Comment를 달아두었어요.
그 결과 총 27개(2개는 잡담이라 제외)의 코멘트가 생성되었고, 제 코드 구현 의도가 더 명확히 전해지지 않을까? 하는 생각입니다.
추가로 느낀건데,, 커밋 + PR은 최대한 영문과 국문을 병기하며 작성할 계획입니다. 영문으로 작성하니 저는 편하긴 한데, 코드 리뷰를 받을 때는 국문으로 표기하는 것이 훨씬 수월할 것 같았어요.
멘토링 + 이를 바탕으로 한 개인적인 생각
아무래도 제 생각의 흐름은 반말로 적는 것이 편해서,, 반말로 적었습니다.
이번 주차의 멘토링은 김성호코치님과 함께 했다.
내가 한 질문은 Solopreneur의 시대에 개발자가 가져야 할 비개발 | 개발 역량에 대해서였다.
나는 개인적으로 작금의 개발자는 기획을 포함한 엔드 투 엔드 프로덕트를 만드는 사람들을 추구해야 한다고 생각한다.
내가 처음 프로그래밍 책을 들었던 때는 초등학생 시기인 2000년대 후반이었다. 이 시기엔 개발자? 라는 말이 이렇게 보편화되지 않았던 것 같다. 이 시기에는 프로그래머 라는 용어가 익숙했다. 그렇게 2010년대를 거치며 다양한 플랫폼 서비스들이 연타석으로 대박을 치며, 전세계적으로 Developer라는 용어가 알려졌다.
Programmer와Developer의 차이가 뭘까?
답은 의외로 간단하다고 생각한다. 개발자로 정의되는 우리는 단순히 Program에 머무르면 안되는 사람들이다. 이제 우리는 우리의 가치를 담은 Service | Product가 Consumer들에게 어떻게 전해질지 전과정을 책임지고 관여할 인물들이다. 저는 기획 모르는데요는 이제 통하지 않는 세상인 것 같다.
점점 Specialist보다는 Generalist들을 찾는 세상이 되는 것 같다. 이제는 한 명의 Generalist가 AI라는 무기를 들고 그들보다 더 전문적인 일을 해버리는 세상이다. 물론, 이걸 체크하고 검수하는 것은 결국 사람이 할 일이다.
그런데, 솔직히 말해서 지금 2023년도 말을 기점으로 미친듯한 LLM의 발전은 기존과는 차원이 다른 위협이다. 우리가 과연 안심할 수 있을까? 에 대해 질문을 더 던져보아야 할 것 같다.
코치님의 말씀대로, 우리 모두가 각자의 결론은 내렸겠지만, 아직 속단하기는 위험한 시기이다. 아마 샘 알트먼도 미래는 모를거다. 하지만, 점점 우리는 다양한 분야의 지식을 요구받는 사람들이 될 것이라는 사실은 자명하다고 생각한다.
항해 후기
좋았던 점
-
우선 저는 네트워킹이 가장 큰 목표이기에,
ZEP을 정말 literally 휘젓고 다녔습니다. 아마 제 본명은 몰라도조슈아가 누구인지는 다들 아시지 않을까요,,,?🤭 좀 시끄러웠던 것은 저도 알지만,, 초반이 아니면 이렇게 철판 깔고 지내기 힘들다는 사실을 잘 알기에, 부끄러움을 무릅쓰고 열심히 돌아다녔습니다. 그리고 솔직히 말씀드리면, 저렇게 돌아다녔더니,쟤는 과제도 안하고 노는건가?라는 생각을 주기 싫어 남들보다 +⍺를 과제에 담으려고 노력했습니다. 제 이런 노력은PR | Issue 문서화,리팩토링|끝없는 모듈화에 대한 집착으로 나타났던 것 같아요. 그렇게 하며, 다양한 분들과 개발 이야기도 하고, 소소한 취미나 일상 이야기도 하며 조금씩 친해지고 있는 것 같아요. 참, 멤버 카드 보니까 다들개발자 친구찾고 계시던데, 저도 매우 필요한 상황이라,, 언제라도 다가와주시면 기쁜 마음으로 달려가겠습니다.그리고 거듭 말씀드리지만 저는 I가 90% 이상 나오는 극내향 인간입니다. 항해 하면서
92%로 떨어졌네요…?
-
평소
구현에만 급급했던 제 습관을 다시금 되돌아보는 시간이었던 것 같아요. 이번 항해에서 저는가장 먼저 생각나는 방법은 사용하지 않겠다는 다짐을 하고 시작했습니다. 평소의 저는 가장 빠르고 쉬운 길만 택했을 것이기에, 이번에는 조금은 멀리 돌아가더라도, 다양한 시각에서 접근해보고 싶었어요. 그리고 항해는, 제가구현을 잘 못하더라도 과제 논패스 이외에는 불이익이 없기에 앞으로도 꾸준히 이런 마음으로 코드를 칠 계획입니다. -
음,, 4팀 모두 좋은 분들인 것 같아서 좋았습니다. 팀 분위기도 너무 좋았고, 다들 열정적인 분들이라 저도 곁에서 많이 성장하는 시간인 것 같아요.
아고라에 질문이 올라오면 누구보다 먼저 답변을 남겨주시는 분도 계시고, 꾸준히 4팀 방에서 서로 대화하며 성장하는 시간이 된 것 같아서 소중한 1주차였습니다. -
학메님들의 열정에 정말 매일 같이 감탄하는 중입니다,, 현업을 하시면서 어떻게 저렇게 열정적으로 매일 같이 들어와서 도움을 주시는 것일까? 싶어요. 제가 저번 게시글에서
나는 8기 학메 될거임이라는 생각을 했다고 했는데, 솔직히? 학메 분들 보면서 전 저렇게 못할 것 같아서 이번 1주차도 역시 제 원대한 꿈이 처절하게 무너지는 주차였구요,,,,,,,,, 학메님들 모두 정말 감사하다는 말 꼭 드리고 싶었어요🥹
아쉬웠던 점
- 아무래도 첫 주차이기에, 어색하기도 하고, 적응하는 시간이라고 생각했습니다. 일단 처음 받은 과제라 다들 바쁘신 것 같았습니다. 그래서,
코드리뷰를 요청하기가 조금 무서웠어요,, 통합 테스트만 남은 시점에, 다른 분들께 한 번 받아보고 싶었는데, 아직 요청하기가 조금 무서웠는데,, 아마? 상호 코드리뷰를 진행할 수 있는 시간이 또 있지 않을까요?
나가며
저는 그 어렵다는 고시 생활(5급 재경직)을 3년 가까이 했습니다.
물론 저는 고시 생활에 실패하였지만, 그 과정을 겪으며 얻은 가장 큰 자산은, 포기하지 않는 용기 + 그냥 매일 steady하게 내 할 일을 해내가는 능력이었어요.
그리고 솔직히 가장 큰 자신감은 바로,
앞으로 뭔 일을 해도 이것보다 어려운 일은 없을거다.
였습니다.
그래서 전 항해에서의 1주일이 너무 재밌고 즐거웠어요.
솔직히 테스트 코드 노가다 하면서, 저는 아 이걸 왜 해야해? 라는 생각도 한 것은 사실입니다. 하지만, 이 싫은걸 왜 해야하는거지?라는 생각 보다는, 어차피 해야 할 일이라면, 테스트 코드를 어떻게 잘 작성해볼 수 있을까?를 꾸준히 되새김질 했습니다.
테스트 코드 할거야 | 말거야가 아니라, 테스트 코드의 어떤 부분 때문에 사람들이 테스트 코드 작성을 그렇게 강조하는 것일까?에 더 집중했던 시간이었습니다.
항해,, 니까 제가 가장 좋아하는 Moby Dick의 문구로 마무리하겠습니다🌊.
As for me, I am tormented with an everlasting itch for things remote. I love to sail forbidden seas, and land on barbarous coasts.
KPT 회고
Keep
- Issue | PR 작성을 통한 작업 단위 명세 및 구조화
- 코드 리뷰 가이드 작성을 통한 상호 코드리뷰 효율 증대
- 가장 먼저 생각나는 구현 방법은 배제하기
Problem
- 이제는 Zep에서의 네트워킹 보다는 코딩에 더 집중하기
- 과제 하느라 기본 개념을 잘 익히지 못했음
- 코드 리뷰 가이드까지 만들었으나, 정작 코드 리뷰 요청은 하지 못했음
Try
- 금요일에는 부족했던 기본 개념 익히기
- 더 적극적으로 코드 리뷰 요청 하기
![[항해플러스] 최종 회고](https://velog.velcdn.com/images/suadesu/post/2d89266f-dc6a-43c9-a491-1996be5f2c2a/image.png)
![[항해플러스] 9주차 회고](https://velog.velcdn.com/images/suadesu/post/a6fab038-cc4c-4401-96c4-c566d575081d/image.jpeg)