-
[Toy Project 기록하기 11] 프로젝트를 마치며Frontend/Projects 2023. 3. 22. 14:38
한겨울에 시작했던 프로젝트가 어느새 따뜻한 봄이 되고 마무리되었습니다. 프로젝트를 회고하며 제가 느낀 점을 몇 자 적어보았습니다.
프로젝트를 돌아보며
돌잡이 프로젝트는 클라이밍에 관심이 있는 사람들이 모여 소통할 수 있는 커뮤니티입니다. 클라이밍 관련 커뮤니티가 암벽 등반 갤러리를 제외하고 거의 없는 데다가 갤러리는 익명으로 글을 쓸 수 있어 욕설이나 비방 글도 많이 올라와서 이용하기에 불편한 점이 많았습니다. 그래서 이메일 인증한 유저만 사용할 수 있는 클린한 클라이밍 커뮤니티를 만들고자 이 프로젝트를 시작했습니다.
아무것도 없던 빈 폴더에 백엔드 환경 설정부터 시작하여 프론트엔드에서 데이터를 가져와 화면에 보여주고 제대로 작동되기까지 자그마치 2달이라는 시간이 걸렸습니다. 사실 어마어마한 기능이 있는 것도 아니었는데 처음 학습해 본 백엔드를 프로젝트에 적용하는 데까지 우여곡절이 많았습니다.
프로젝트에 있어 가장 많은 시간을 들이고 공들였던 작업은 '상태관리'였습니다. 프로젝트에서는 Context API로 간단하게 구현했지만 결론을 내리기까지 일주일 간 상태 관리에 대해 공부하고 라이브러리를 찾아 어떤 라이브러리가 적합할지 비교하는 시간을 가졌습니다. 프로젝트의 단위에 따라 어떤 라이브러리를 선택하면 좋을지 판단할 수 있는 기준을 만들어주었던 시간이었습니다.
상태 관리 라이브러리에 관한 비교 실제 개발에 있어 까다롭다고 느꼈던 부분은 회원가입, 로그인에서 필요했던 토큰 인증 방식에 관한 부분이었습니다. accessToken 만료가 되면 로그인 상태에 있더라도 로그인이 해제된 것처럼 인식이 되는데 이 때 accessToken을 silent refresh 하는 것이 필요했습니다. axios 요청 전에 silent refresh 찾다가 axios interceptors로 응답 전에 데이터를 가로채서 accessToken을 refresh 하는 방법을 새롭게 알게 되었습니다.
나를 돌아보며
2022년 3월부터 취업을 위해 이력서를 넣었습니다. 2022년 상반기에는 여러 대기업 공채에도 도전해봤고, 여타 그 회사만의 서비스를 가지고 있는 탄탄한 스타트업이라고 하면 스타트업에도 지원을 했습니다. 처음으로 각잡고 취업 준비를 했던 것이기 때문에 기대도 컸지만, 수많은 서류 탈락과 과제 혹은 코테 탈락이라는 쓴 맛을 보기도 했습니다. 운이 좋게 면접까지 넘어갔을 땐 얕은 지식과 거기에서 비롯된 면접 울렁증으로 고배를 마셔야 했습니다. 5월까지 무지성 서류 지원을 끝낸 후 100여개가 넘는 불합격을 받고 스스로 돌아보는 시간을 가졌습니다.
면접으로 가기 위해 코딩 테스트를 시간 내어 더 공부해야 한다.
내가 완벽하게 설명할 수 있는 나만의 포트폴리오를 만들어야 한다.
는 것이 저의 결론이었고 저는 여름동안 클론 코딩 및 Typescript 등 새로운 기술을 공부해 새로운 프로젝트를 만드는데 몰두했습니다.
그리고 돌아온 2022년 하반기에는 생각보다 열린 공채가 적기도 하고 정말 가고 싶은 회사만 지원해서 20개 정도 지원했습니다. 이번에도 사실 크게 다르지 않았습니다. 서류 탈락이 제일 많았었고 이후 과제, 코테 탈락으로 좌절하는 시간이 이어졌습니다. 이 때는 현업에 계신 선배님께 많은 조언을 구했습니다. 저는 비전공자 출신에, 매우 짧은 경력을 가지고 있기 때문에 일단 서류에서 합격하기 위해서는 남들과 비교했을 때 내가 하나라도 더 많이 아는 것이 중요하다고 말씀해주셨습니다. 그 분야는 프론트엔드에만 국한된 것이 아니라 디자인이나 백엔드, 개발 전반에 걸쳐 필요한 지식을 쌓는 것이 중요하기 때문에 백엔드 기초에 대해 공부하는 것을 권해주셨습니다.
사실 전부터 백엔드 기초 공부에 필요성을 느끼긴 했으나 프론트엔드 공부도 부족한 시간에 백엔드라니 라는 생각으로 마냥 미뤄오고 있었습니다. 그렇지만 이제는 더 이상 미룰 수 없다는 생각이 들어 2022년 하반기 취업 준비를 마치고 바로 백엔드 강의를 사서 공부를 시작했습니다. 백엔드를 공부하며 마침내 퍼즐의 조각이 맞춰지는 듯한 느낌을 받았습니다. 프론트엔드에서는 왜 이렇게 요청해야 했는지, 백엔드와의 핑퐁을 직접 구현하면서 프론트엔드를 더 잘 이해할 수 있게 되었습니다.
이번 프로젝트는 기획에서부터 개발 환경 설정, FE 개발, BE 개발 과정을 스스로 진행하고 기록하자는 목표로 시작하게 되었습니다. 특히 회원가입, 이메일 인증, 로그인, 로그아웃, 상태 관리, form 관리, 페이지네이션, 피드 관련 CRUD 등 프론트엔드에서 필수적인 요소들을 개발하고 정리해서 추후에도 참고할 수 있는 소중한 레퍼런스로 남게 되었습니다. 부족한 부분도 많지만 앞으로 계속해서 프로젝트를 만들면서 보완해 나가야 할 자료라고 생각합니다.
현재의 나는
아직도 취준중입니다.ㅎㅎ
그동안의 실패 경험을 교훈 삼아 열심히 배워가고 있습니다.
저는 취미로 클라이밍을 하고 있습니다. 제 수준보다 높은 문제를 풀면서 매번 완등에는 실패하지만 이전에 떨어졌던 곳에서 하나만 더 나아가도 성장했다고 말하곤 하는데요. 처음엔 풀지 못할 것 같던 문제도 그렇게 하나씩 나아가다보면 결국 완등하는 날이 오더군요.
이번에도 한 단계 더 나아가는 것이 저의 목표입니다. 그동안 스스로를 돌아보고 연습할 시간을 가졌다면 이젠 좋은 동료들과 함께 배우고 나누며 성장하고 싶습니다. 취업이 목표가 아닌 계속해서 성장하는 개발자가 되고 싶습니다.
긴 글 읽어주셔서 감사합니다! 부족하지만 꾸준히 노력하고 기록하는 개발자가 되기 위해 노력하겠습니다.😀
🧗♀️ 제가 진행한 프로젝트가 궁금하다면
🔽 프론트엔드는 이곳에서 확인하실 수 있습니다.
https://github.com/Team-Madstone/doljabee-fe
GitHub - Team-Madstone/doljabee-fe: Climbing Community
Climbing Community. Contribute to Team-Madstone/doljabee-fe development by creating an account on GitHub.
github.com
🔽 백엔드는 이곳에서 확인하실 수 있습니다.
https://github.com/Team-Madstone/doljabee-be
GitHub - Team-Madstone/doljabee-be: Climbing Community
Climbing Community. Contribute to Team-Madstone/doljabee-be development by creating an account on GitHub.
github.com
반응형'Frontend > Projects' 카테고리의 다른 글
[Toy Project 기록하기 10] React-Query로 무한스크롤 구현하기 (0) 2023.03.21 [Toy Project 기록하기 9] React-Query로 서버 상태 관리하기 (0) 2023.03.20 [Toy Project 기록하기 8] 로그인 2. 전역 상태 똑똑하게 공유하기 with Context API (0) 2023.03.19 [Toy Project 기록하기 7] 로그인 1. jwt로 로그인 구현하기 (0) 2023.03.18 [Toy Project 기록하기 6] 회원가입 & 이메일 인증하기 (0) 2023.03.16