
항해 준비를 위한 4주 간의 사전 스터디가 끝나고 이제 본격적인 과정이 시작되었습니다!
개강을 시작하며 기억에 남았던 것들 위주로 정리를 해볼게요.
OT
- 1시 1분은 1시가 아니다.
- 각 과제를 진행하면서 해당 과제는 왜 만들어졌을까? 이 의도를 넘어서 어떤 것을 얻을 수 있을까? 하는 집착이 필요하다.
- 항해 플러스가 우리에게 가장 크게 줄 수 있는건 인적 네트워크이다. 학습이야 다른 곳에서 할 수 있는 곳이 많다.
- 실력 자가진단이라는 시스템이 있다.이 시스템의 목적은 "메타인지, 학습 방향 설정, 성장폭 확인" 이다.
발표
- 우리의 실력은 베이스부터 차곡차곡 쌓아가야한다. 잘생각해보면 베이스에 구멍이 많이 뚫려있을것이다.
- 장애는 단순히 큰 사고를 의미하는게 아니다. 우리가 의도한대로 동작하지 않는게 장애이다. 이유는 코드를 잘못짠것도 있겠지만, 더 큰 원인은 가이드라인의 견고함에 있을 것이다.
- 테스트는 퇴근할 수 있는 지름길이다.
- 딸깍 개발자가 되어라. 요구사항 변경이 오더라도 해당 부분만 딸깍하고 고칠 수 있어야한다. 이를 위해 결합도가 너무 높아지면 안된다.
- 하나의 객체에 하나의 테스트를 짜두면 변경 부분의 영향 범위를 알 수 있다.
- 성공 TC를 짜면 너무 많다. 우리는 버그, 장애가 나지 않게 하기 위해 실패 케이스에 집중할 것이다.
- 매력적인 개발자가 되기 위해서는 내가 사용하는 모든 것에 이유가 있어야한다.
- (예시) Redis를 사용했다 -> 왜 사용했는지 명확한 이유가 있어야한다.
테스트

- 단위 테스트: 항해 플러스에서 정의한 단위테스트 정의
- 다른 객체 또는 함수에 의존적이지 않고, 오로지 자기 자신에만 집중하는 테스트
- 모든 객체는 다른 객체와 연관성을 가지고 있다. 이들은 다 mock으로 구현하고, 자기 본연의 역할만 테스트를 해야한다.
- 내 객체만 생성해서 내 객체만 테스트를 해야한다.
- 통합 테스트: 예시를 통한 설명
- 손가락 각각을 움직이는 것을 단위테스트로 구현했을 것이다. 모든 뼈마디가 연결이 되어서 손이 동작하는 것이다. 만약, 이 손가락이 사자의 손가락으로 강력한 발톱이 있다. 이것을 단위 테스트하면 PASS 될 것이다.
- 하지만, 이를 인간의 손과 결합을 하면 정상적으로 돌아가지 않을 것이다. 우리는 각각의 손가락을 다 검증을 한 다음, 손이라는게 잘동작하나 테스트를 해보는 것이다.
- 단위 테스트에서 다 끝냈기 때문에, 손 통합 테스트에서 각 손가락이 움직이는지 테스트할 필요는 없다.
- e2e 테스트:
- 실제로 외부에서 요청을 하는 것과 같은 요청을 해서 인터셉터 등의 테스트를 한다.
- 기타
- 단위 테스트가 가장 중요하다. 단위 테스트를 차곡차곡 쌓아올렸다면, 통합 테스트는 비교적 쉽다.
- 테스트 코드 작성 전, 요구사항 분석이 가장 중요하다.
느낀 점
- 실무를 하면서 해결되지 않던 문제도 집착을 하고 하루종일 생각하다보면 방법이 떠올랐던 경험들 다들 있으시지 않나요!? 이와 똑같이, 과제를 진행하면서 이 과제는 왜 만들어졌을까? 에 대한 집착을 많이 해봐야겠다는 생각이 가장 크게 들었어요. 표면적인 의도만이 아니라, 딥 다이브해서 숨은 의미까지 한번 찾아보도록 집착해볼게요!

- 작년에 자청 작가님의 "역행자"라는 책을 읽고, "모든 일의 능력을 키우기 위해서는 글쓰기와 말하기 능력이 기본이다." 라는 것을 느꼈었습니다. 책에서도 직접적으로 말하기도 했구요. 오늘 코치님의 깔끔한 프레젠테이션과 네트워킹을 하면서 다시 한번 이를 상기시키게 되었어요. 내가 의도한 바를 정확하게 상대방에게 전달할 수 있도록 꾸준히 노력하고 연습을 해보겠습니다!!!
