원티드 프리온보딩 프론트엔드 인턴십 4주차 회고
들어가며
원티드 프리온보딩 프론트엔드 인턴십의 4주차가 지나갔다. 정말 한달이 순식간에 지나간 것 같다.
저번주에는 과제가 없어 약간의 휴식과 더불어 기술면접 스터디를 준비하느라 따로 회고를 작성하지는 않았지만 이번주에는 과제, 이력서 작성등 겪은 일이 많아 회고가 필요할 것 같다.
원티드 프리온보딩 프론트엔드 인턴십 4주차 과제
2023.05.14 - 과제 발표
지난번 까지는 화요일 세션이 끝난 후 과제가 발표되어 금요일 자정까지 제출해야 했다면, 이번 주는 마지막 주다 보니 과제 피드백을 위해 일요일 낮 12시에 과제가 발표되어 수요일 자정까지 제출해야 했다. 그런데 월요일에는 커리어 코칭 세션, 기술면접 스터디가 있었고 화요일에는 인턴십 세션이 있었기 때문에 과제를 수행할 시간이 너무 촉박한것 아닌가 생각했다.(사실 매번 시간이 부족하다고 느낀것 같다).
다행히(?) 발표된 과제 내용을 확인해 보니 2주차 과제와 구현해야 하는 기능이 겹치는 부분이 존재해 생각보다 수월하게 진행할 수 있지 않을까 생각했다. 2주차와 마찬가지로 화요일 저녁까지 각자 과제를 수행해 오기로 했다. 특히 과제 평가 요소에 문서화가 포함되어 있어 각자의 과제 수행 내용에 대해 미리미리 기록을 해두기로 했다.
2023.05.14 ~ 2023.05.16 - 개인 과제 수행
4주차 과제는 제공된 기존 코드의 리팩토링 + 검색어 추천 기능 + 무한스크롤을 구현해야 했다. 검색어 추천 기능은 2주차 과제에서 진행한 적이 있어 어렵지 않을거라 생각했지만, api를 통해 받아오는 데이터의 형태가 달라 필요한대로 가공하는 작업이 필요했다.
무한스크롤은 스크롤 이벤트 혹은 Intersection Observer API를 이용해 구현할 수 있었는데, 여러 장점이 존재하는 Intersection Observer API를 이용했다.
기능 구현은 생각보다 수월하게 진행했지만 코드를 볼 때마다 더 좋은 방향성이 생각나 리팩토링 하는데 시간이 오래 걸렸다. 결국 개인적으로 과제를 수행하는 시간이 다 지났음에도 원하는 만큼 리팩토링을 진행하지 못해 아쉬움이 남았다.
더 자세한 구현사항들은 GitHub의 Issue, PR을 통해 확인 가능하다.
2023.05.16 - 개인 과제 수행 후 회의
그렇게 각자가 과제를 수행한 후 화요일 저녁에 모여 첫 회의를 진행했다.
한 사람 씩 어떻게 기능을 구현했는지, 어떤 항목을 리팩토링 했는지 설명했다. 문서화 항목을 대비해 미리 내용들을 구체적으로 적어오셔서 수월하게 의견을 공유할 수 있었다.
다만 기존 코드를 리팩토링 해서 그런건지 결과물이 다양해 합치는 과정이 어렵다고 느꼈다. 그래서 Best Practice로 평가된 항목들 (Intersection Oberserver API의 사용, 검색어 구현을 custom hook으로 분리 etc)이 제일 많이 적용된 내 코드를 기준으로 추가 항목들을 합치기로 했다.
2023.05.17 - 추가 리팩토링
그렇게 결과물을 합친 후 전체적으로 코드를 살펴보며 추가적으로 리팩토링 할 만한 부분들을 살펴보았다.
비슷한 로직이 중복적으로 사용되고 있어 제거했고, 사용성을 생각해 드롭다운의 구조를 변경했다. 또 디자인 시안에 맞게 디테일한 스타일링도 수정했다.
더 자세한 내용에 대해서는 README.md에서 살펴 볼 수 있다.
KPT
마지막 과제인 만큼 오랜만에 밤도 새워가면서 열심히 집중했다. 그런데도 시간이 부족해 원하는 만큼의 결과물은 얻어내지 못한 것 같다. 인턴십을 처음 시작했을 때와 비교해보면 정말 많이 늘었는데, 오히려 그럴수록 부족한 부분이 많이 보이는것 같다. 더 노력해야지!
Keep
이번 주 역시 만족스러운 README.md 및 기록을 남길 수 있었다! PR과 Issue 생성 시에 미리 기록을 자세하게 해두니 훨씬 수월하게 문서 작업을 할 수 있었다.
Best Practice가 많이 적용된 결과물로 나의 과제가 뽑혔다. 1주차에는 Best Practice를 만족시킨 부분이 정말 적었는데 노력한 결과가 그래도 드러나는 것 같아 뿌듯하다. 앞으로도 열심히 해야지.
Problem
- 과제의 평가 항목에 테스트 코드 작성이 존재했다. 테스트 코드를 작성한 경험이 없기도 하고 아직 Jest의 사용법도 잘 알지 못해 테스트 코드는 다른 팀원분께서 작성하셨는데, TDD를 적용해 개발하는 회사도 많은 만큼 꼭 테스트 코드에 대한 공부가 필요할 것 같다.
Try
- 취업까지 화이팅! - 인턴십에 참가한 목적은 성장도 있지만 취업을 위해서였다. 인턴십을 잘 수료했다고 끝이 아닌만큼, 취직까지 더 노력하자. 기술면접, 이력서, 포트폴리오 아직 준비할게 많다… 그래도 화이팅!