개인의 성장 목표, 기술적 고민거리와 트러블 슈팅 경험 등을 문서로 정리합니다.
[피어세션]에서 받은 질문과 피드백을 정리하여 추가해두길 권장합니다.
- 상시로 진행한 개인 회고 결과가 있다면 해당 기록으로 갈음할 수 있습니다.
이번 주는 TDD 때문에 울고 웃었던 한 주였습니다. 페어 프로그래밍 시간이 화/목밖에 없어 시간 압박이 좀 있었는데, 화요일에 이렇다할 성과가 없으니 제가 조바심이 나서 돌이켜보니 좀 예민했던것 같기도 하네요.. 반성
그럼에도 정말 미친 체력으로 목요일 엄청난 양의 페어프로그래밍도 함께 마치고 추가로 Swagger까지 적용해주신 준섭님 정말 존경하고, 저도 운동 열심히해서 체력도 멘탈도 강인한 개발자가 되어야겠다는 생각을 했습니다. 흑 그리고 발표 빠뜨려서 죄송해요,, 하트❤️
failed
succeeded
Controller, Service를 개발하지 않은 상태에서 완벽한 유닛 테스트를 작성하는 것은 상당히 힘든 일이였습니다.
특히 유닛 테스트하는 계층 외 종속되는 모든 부분을 mocking하는 방식은 그 실효성에 대해서 페어분이 의문을 제시하시기도 하고, 저도 좀 더 나은 방식이 있을 것 같아 고민을 많이 해봤습니다.
리뷰어 멘토링에서 e2e 테스트로 TDD를 시작해보라는 조언을 주셔서, 결과적으로는 frontend 입장에서 요청해야 할 api에 대해 e2e 테스트로 실패하는 테스트 코드를 작성하고, 이를 통과하도록 구현하는 방식을 시도했고, 성공적으로 구현을 할 수 있었습니다(supertest
모듈 활용).
일반적인 TDD 방법론에 대해서도 학습할 수 있었는데, 다음의 순서로 진행됩니다.
앞으로 도전할 테스트 관련 Task는 다음과 같습니다.
프로젝트의 특성상 프론트의 Three.js관련 Task가 많아 백에서 담당하는 API 구현이 프론트보다 빨리 진행되고 있고, 이로 인해 API 인터페이스를 백에서 결정하고 프론트에 효율적으로 공유해주고자 Swagger를 적용하게 되었습니다.
알아보고 테스트 브랜치를 만들어 적용해보았는데, 생각보다 쉽고 Postman같은 기능도 되어 편리하더군요! 짱입니다.
프로젝트에 적용 후 PR은 페어분이 해주셨는데, 이번 프로젝트 발표때 제가 이 부분 소개드리는 걸 깜빡해 정말 죄송하고 눈물이 납니다 ㅠㅠ 흑흑 고생많으셨어요..
현재 다음 과정까지는 완료했습니다.
지난 주 말미에 했는데, 아쉽게도 개발 기록을 남기지 않아 다시 한 번 정리해야 겠습니다. 앞으로 추가로 고민할 내용은 다음과 같습니다.
시간이 없어 금요일 전 배포는 무산이 되었지만, 일요일에 만나 시도를 해볼 예정입니다.
Upstream Repository 동기화 및 작업 브랜치 설정
upstream project를 갈아엎어 origin과 충돌날 때, upstream 기준으로 강제 동기화 하는 법
두 개의 PR을 날리고 첫 PR에 수정사항이 발생했을 때, 안전하게 rebase하는 법
근데 보통 모노레포 + yarn berry + vscode면 이 시점에서 코드는 에러가 없는데 자동완성이 안된다..
yarn workspace server install # 결론: 안해도 됨.
기존엔 VSCode 이런 식으로 설치를 해줘야 자동완성 및 import가 되는 줄 알았는데 (안되면 이것도 해보시길),
자동완성 안되는 이유는 그냥 VSCode가 인식을 못해주는 거여서, 리로드를 하면 되는거였다.
cmd+shift+p
후 reload
검색, 개발자: 창 다시 로드
클릭
사랑합니다