이번 달의 도전과 성장 - 데브코스 회고

2023.12.29
17분
댓글

글을 시작하며

이번 달은 본격적으로 구직 활동을 시작한 달이라
여러 면접, 과제, 이력서 작성 등으로 정신없이 바쁘게 보낸 것 같습니다 😓

코드 리뷰에 저번 달만큼 많은 시간을 투자하지 못했던 것이 아쉬웠지만..
그럼에도 이번 달도 마찬가지로 많은 성장을 이루어낸 것 같아 그 과정을 남겨보고자 합니다.

여담이지만 저의 인생 가치관은
무언가 망설여질 땐 일단 도전해 보자! 실패하더라도 그 과정에서 하나라도 배웠다면 만족할 수 있다 이기 때문에
이번 달에는 이 점을 활용하여 면접, 공식 문서 읽기, JS 딥다이브 스터디, 아침 시간 활용하기에 도전해 보았습니다.


🚀 이번 달의 도전과 성장

공식 문서 읽기

이번 달에는 독스클럽이라는 데브코스 내의 공식 문서 읽기 동아리에 참여해서 React-query의 공식 문서를 읽기 시작했습니다!

프론트_개발자가_디자인_감각까지_갖추었을_때.png (사진 활용 허락해주신 원주님께 감사드립니다 ㅎㅎ)

동아리원 분들도 모두 동료 학습의 중요성을 언급하시며 혼자서는 완독하기 힘들다는 생각이 들어서 참여하셨다는 말씀에 공감이 많이 되었습니다.
프론트 동료분들이 계신 환경을 적극적으로 활용해볼 수 있는 기회라는 생각이 들어서 참여하게 되었습니다 ㅎㅎ

저는 동아리 회장님인 원주님과 함께 React-query 공식 문서를 읽게 되었고
각자 읽은 부분에 대한 생각을 공유하면서 혼자서 공부할 때는 알지 못했던 변경 사항들과 변경된 이유들에 대해 배울 수 있었습니다.

그 중 버전 5에서 onSuccess나 onError와 같은 콜백이 제거된 점이 가장 놀라웠습니다.
이전 버전에서는 onSuccess일 때 전역 상태를 업데이트 해주었던 경우가 꽤 있어서

왜 이런 방식으로 변경됐을까?
이렇게 변경되면 추가적으로 useEffect를 써야하는 것이 아닌가?라는 의문이 들었습니다.
(다시 시작된 물음표 살인마 공부법.. 🤔)

결론적으로는 콜백 함수로 인해 일관성이 지켜지지 않는 문제를 해결하기 위해 제거 되었다고 합니다.

만약 staleTime이 N분으로 설정되었다면, N분 동안은 onSuccess 가 실행되지 않고 캐싱된 데이터만을 가져옵니다.
onSuccess에서 전역 상태를 업데이트를 하는 코드였다면 전역 데이터와 서버 데이터간의 일관성에 문제가 생기게 되는 것이죠.

기술은 항상 빠르게 변화하기 때문에 공식 문서를 꾸준히 살펴보면서 이러한 변경점과 그 이유를 꼭 인지하고 흐름에 뒤쳐지지 않아야겠다는 생각이 들었습니다.

공식 문서 읽기의 중요성을 느낄 수 있던 활동이라 기억에 남습니다.
좋은 기회 마련해주신 원주님께 감사 인사를 드립니다 🙇‍♀️


오픈 소스 Contributor

우연히 데브코스 디스코드에서 1기를 수료하신 종현님과 얘기를 나누게 되면서
React-query v5의 useSuspenseQuery를 Contribute 하셨다는 이야기를 듣게 되었습니다.

종현님의 Contribute 과정에 대해서 듣고 작성하신 소스 코드도 함께 읽어보면서
문제를 개선하고자 하는 의지와 노력만 있다면 react-query처럼 많은 사용자들이 사용하는 오픈 소스에도 기여할 수 있다는 용기를 얻을 수 있었고 많은 동기부여가 되었습니다.

이전까진 오픈 소스 Contributor는 다른 세계 이야기처럼 들리곤 했었지만.. 😅
저도 첫 시작은 관심 있는 오픈 소스 코드를 분석하는 것으로 시작해보면서
생태계에 기여하는 개발자가 되어보겠다는 다짐을 하게 되었습니다!

동기부여와 여러 꿀팁들 나눠주신 종현님께 감사 인사를 드립니다 🙇‍♀️


아침 시간 활용하기

팀원들과의 스터디가 끝나면 매번 잡담을 나누었는데 이 시간이 정말 즐거웠습니다.
같은 분야에서 같은 고민을 하고 있는 동료들과 함께 고민을 나눌 수 있다는 건 정말 감사한 일인 것 같습니다.

각자 공부 방법에 대한 고민들을 나누다가 오전 시간 활용에 대한 얘기를 나누게 되었는데
다들 코어 타임이 시작되는 13시 이전엔 집중하기 어렵다는 고민을 하고 있었습니다.

저희는 이미 동료 학습의 책임감과 그로 인한 성과를 맛본적이 있기 때문에 ㅎㅎ
10시에 다같이 디스코드에 모여서 아침 공부를 하는 계획을 세웠습니다.

그 결과!

아침 2시간 정도의 공부 시간만 늘어난 것이지만
오후 코어 타임에서 집중하는데 걸리는 시간이 훨씬 단축되었고, 늦어졌던 수면 패턴도 되돌리는 성과를 낼 수 있었습니다.
(가끔 주말에도 8시에 눈이 떠져서 스스로가 꽤나 대견했습니다..ㅎ)

다음 달에는 가능하다면 오전에 운동을 해보는 도전을 해보고 싶습니다 💪


📚 이번 달 새롭게 알게 된 내용

Vue

이번 달의 첫 프로젝트는 Vue를 이용한 영화 검색 페이지 만들기였습니다.
Vue는 처음 사용해보는 것이기도 했고 여러 면접 일정과 겹쳐서 프로젝트를 진행하며 걱정이 많았지만
역시 가장 중요한건 기본기라는 생각이 들었습니다.

Vue 자체 문법과 양방향 데이터 통신만 이해하면
웹 개발의 근간이 되는 HTML, CSS, JS를 활용하여 생각보다 빠른 시간 내에 개발할 수 있었습니다.

지난 면접에서 무한 스크롤에 대해서 충분히 대답을 하지 못했던 것이 아쉬워서
아쉬웠던 점을 보완하고자 Vue 과제에서는 스펙에 없는 무한 스크롤을 적용해보기도 하고,
Vue 프로젝트를 리액트로 리팩토링하며 무한 스크롤 hook을 만들어서 적용해보기도 하였습니다.
(무한스크롤에 대한 집착 MAX.. 🔥)

그 결과 다행히도 다음 면접에서는 무한 스크롤에 대한 대답을 잘 해낼 수 있었고
잘 구현했다는 피드백도 들을 수 있었습니다. (칭찬은 하나하나 다 기억하는 편... ㅎㅎㅎ)

무한 스크롤이 기업 과제나 면접에서 자주 등장하는 주제이기 때문에
혹시나 이 글을 읽으시는 분들은 잘 준비하셔서 저처럼 아쉬움이 남는 일이 없길 바라겠습니다! 💪


모던 자바스크립트 딥다이브

주에 1번씩 팀원들과 함께 JS 딥다이브 스터디를 진행했습니다.
이번 달에는 아래 주제들에 대해 발표하고 의견을 나누는 시간을 가졌습니다.

  • 타입 변환과 단축 평가
  • 객체 리터럴
  • 프로퍼티 어트리뷰트
  • 브라우저의 렌더링 과정
  • 비동기 프로그래밍
  • 프로미스
  • 제너레이터와 async,await

덕분에 JS의 핵심이자 가장 이해하기 어려운 비동기 동작들에 관한 내용을 많이 배울 수 있었습니다.
스터디를 하면서 굉장히 큰 도움이 되었다고 느꼈던 점은
팀원들과 왜?에 대한 질문을 주고 받으면서 비동기 동작과 그 흐름에 대해서 더 깊이 공부할 수 있었다는 것입니다.

실제로 면접에서 가장 많이 받았던 질문비동기 동작이었습니다.
모르는 개념에 대해서 질문을 받았어도 프로미스나 이벤트 루프와 같은 기본 개념들을 응용하며 대답을 할 수 있어서 기본기를 다져두기 잘했다는 생각이 많이 들었습니다.

사실 저의 답변을 다시 되돌아보면 아쉬움이 남지만..
정말 감사하게도 면접관 분들께서 모르는 개념이어도 추론할 수 있도록 잘 이끌어주셔서 좋은 결과를 얻을 수 있었던 것 같습니다..!

역시나 가장 중요한 것은 기본기라는 생각을 다시금 하게 되면서
딥다이브 완독까지 열심히 달려봐야겠다는 생각이 들었습니다 🔥


🤔 지난 달의 KPT는 잘 지켜졌을까요?

Keep

  • 다양한 의견을 나누는 것을 두려워하지 않기
  • 잘못된 정보를 전하지 않도록 충분히 찾아보고 전달하기
  • 절대 자만하지 말고 항상 배우려는 태도 가지기
  • 팀원분들의 좋은 점 흡수하기
  • 매일 우선순위를 정해서 이행하고, 하루에 내가 해낼 수 있는 양을 파악하기
  • 🥲 코드 리뷰 적극적으로 하기

이번 달은 코드 리뷰에 많은 시간을 투자하지 못한 점이 아쉬웠습니다.

Vue를 처음 사용해봤기 때문에 Vue를 더 잘 활용할 수 있는 방법보다는
예외 처리나 TypeScript의 Partial과 같은 유틸리티 타입을 이용하여 코드를 줄일 수 있는 방법에 대해서만 리뷰를 드릴 수 있었습니다.

그렇지만 코드 리뷰 시간을 통해 다른 팀원분들의 코드를 읽으면서 다양한 구현 방법을 배울 수 있어서 성장할 수 있었다고 생각합니다. 코멘트를 많이 못 드린 점이 아쉽지만 팀원분들도 저의 코드를 통해 하나라도 알게 되신 점이 있다면 기쁠 것 같습니다... ㅎㅎ

Problem

  • 건강 관리
  • 면역력 기르기

이번 달은... 독감인지 모를 아주 독한 감기에 걸려서 3주 동안 기침과 함께 했습니다 😷
사실 입원이나 수술도 한 번도 경험해보지 않은 아주 튼튼한 체질이지만
유달리 기관지가 약한 것인지 감기는 한 번 걸리면 쉽게 낫지 않는 것 같습니다.
도라지 차도 끓여먹고 영양제도 새로 사서 먹으면서 면역력을 기를 수 있도록 노력해야겠습니다.

Try

  • 영양제 잘 챙겨먹기
  • 주 2회 이상 운동하기

감기로 인해 집중하지 못한 시간이 아쉬웠습니다.
건강 관리에 더 힘을 써야겠다는 생각이 들면서 이젠 여러 건강 보조 식품을 챙겨 먹어야겠다는 생각이 들었습니다.
(이제 한약과 양약을 모두 챙겨먹는 몸..)

그리고 이번 달에는 운동을 한 주에 한 번도 하지 못하거나 1번만 하게 되면서 체력이 약해진 것 같기도 합니다 😅

스피닝 회원권이 만료돼서 새로운 헬스장을 찾아야 하는데, 얼른 좋은 곳으로 정착해서 다시 주 2회 이상 운동할 수 있도록 해봐야겠습니다!


글을 마치며

이번 달은 면접, 공식 문서 읽기, JS 딥다이브 스터디, 아침 시간 활용하기에 도전해 보았습니다.
저번 달과 비교했을 때 기술적으로 성장했다는 점이 만족스럽기도 하지만
가장 중요한 건강 관리를 신경 쓰지 못한 점이 아쉽기도 했습니다.

역시 무엇이든 건강이 밑바탕이 되어야 하는 것 같습니다.. ㅎㅎ
다음 달에는 건강 관리에 더 신경을 쓰고 운동도 다시 주 2회 이상 시작해보겠습니다!

다들 독감 조심하시고 건강 코딩 하시길 바라겠습니다! 화이팅 🔥

데브코스 프론트엔드
회고
새로운 도전과 성장

프로필 사진
Suhyeon Park
Frontend Engineer