⏳ 우아한 테크캠프 4주차 회고

DD·2021년 8월 2일
4

우아한 테크캠프

목록 보기
4/14
post-thumbnail

벌써 우테캠이 절반이나 지났다.

벌써 우테캠이 절반이나 지났다. 벌써..벌써..!? 절반이 지나는 동안 나는 얼마나 성장했지, 앞으로 얼마나 더 성장할 수 있지..? 8주는 너무 짧다. 우테코만큼은 아니더라도 한 반년 했으면 좋겠다..

어째 회고의 내용이 점점 부실해지는 기분이 든다. 사실 기분만 그런게 아니라 실제로 그렇다.
굳이 핑계를 찾자면 "바쁘기 때문에(정말?)"가 첫 번째요, 점점 '이 내용 꼭 써야겠다!' 같은 인사이트가 줄어든게 두 번째다. 물론 매번 새로운걸 배우고 있고, 매주 금요일 다른 사람의 코드를 보면 언제나 동경/자극/시기/질투/좌절 등을 느끼며 센치(?)해지곤 한다.

그래도 매주 회고를 작성하기로 했으니 써보자. 이번 미션은 지금까지와는 조금 다른 느낌으로? 진행하기도 했다.




이번 미션 목표

결과보다 과정을..


1. 백엔드에 의미있는 역할을 하자.

이 때 아니면 내가 언제 또 백엔드 공부를 해보겠나..

이번 미션의 가장 최우선 목표는 백엔드 부분에 스스로 의미 있는 활동을 하는 것이다. 이전 미션에서는 팀원에게 거의 의존하다시피 했기에 배포는 어떻게 진행하는지, 디비와 연결은 어떻게 하는건지, 이 미들웨어는 왜 필요한건지 등등 많은 점에서 이해하지 못 하고 넘어갔다.

그렇기에 미션이 끝난 주말 팀 코드를 복습했으며 이번 미션에서는 백엔드 부분을 팀원에게 의존하지 않겠다, 어느정도는 스스로 백엔드를 구성하겠다는 목표를 세웠다. 마침 새로 팀원이된 분도 나와 비슷한 입장이었다. 그래서 이번주에는 풀 페어 프로그래밍으로, 백엔드 관련 구성을 먼저 진행했다.

  • EC2 인스턴스를 생성하고 mysql설치
  • ERD 테이블 설계
  • sequelize ORM로 테이블 CRUD
  • nginx로 웹 서버 배포
  • PM2로 웹 어플리케이션 서버(api서버) 무중단 배포
  • 자동 배포 스크립트와 crontab 사용
  • GitHub OAuth passport

등등을 진행했다. 내 화면을 공유하고, vscode live share와 병행해서 진행했기에 대부분의 코드나 환경 설정을 직접 관여했다. 이번주 내내 거의 백엔드 로직만 신경써서 프론트가 많이 느려지긴 했지만, 목표했던 바를 어느정도 이룬거 같아서 좋다고 생각한다. 하지만 이건 프론트엔드 과정인데 말이지... 음.. 주객전도..?

하지만 우테캠이 끝나면 다시 프론트엔드, 특히 리액트 공부를 계속 하게 될테고 취업준비도 프론트 관련해서만 하게 될테니 이 때(우테캠)가 아니면 백엔드를 이렇게까지 할 일이 없을지도 모른다는 생각이다. 사실이기도 하고..?

2. 함수형 MVVM 패턴

다음으로 목표한 바는 프론트엔드에서 MVVM 패턴을 적용하는 것이었다. 그것도 함수형으로.

지금까지 MVC, MVVM, MVP 등등 디자인 패턴은 종종 듣긴 했지만 크게 의식하며 개발하진 않았다. 이번 기회에 옵저버 패턴도 공부하면서 프론트엔드에 가장 어울린다는(?) MVVM을 공부하고 싶었다. 그리고 함수형으로 구성하는게 목표였는데, 이유는 별거없다. 그 동안 많이 써왔던 Component class 구조만 쓰기보다 다른 방식을 적용해보고 싶었다. 이 Component class 구조는 황준일 님의 구조가 유행?처럼 퍼졌는지 꽤 많은 팀이 이 구조를 기본으로 조금씩 변형해서 사용하고 있다. 물론 전혀 다른 패턴도 몇 가지 존재한다. 특히 vdom을 쓰는 팀도..있더라..

우리팀도 처음에 mv* 패턴, 옵저버 패턴 등이 미션 요구사항에 있어서 검색해서 나오는 구조를 사용할까 했다. 다른곳에 더 시간을 쓰기위해.. 그러다보니 또 황준일님이 최근에 작성하신 옵저버 패턴 아티클의 내용을 사용할까 했는데, 다음 미션이 리액트라 바닐라로 미션을 진행하는건 이번이 마지막이란 생각이 들어서 직접 구조를 만들어보고 싶었다.

아무튼 Component class 구조는 저번팀에서도 사용했기에 다른 방식으로 함수형을 선택했고, 캠퍼 두 분이 만들어주신 우아한 jsx, 1팀의 recoil스러운 모델 구조 등을 긁어다가 새로운 함수형 컴포넌트 렌더 구조를 만들었다. 아직 테스트중이라 어디서 어떤 문제가 튀어나올지 쓰다보면 발견되겠지만, 아직까진 재밌게 만들고 있다. 물론 미션 진행은 매우 더디다! 팀원분이 이해해주셔서 너무 감사할 따름..👍

3. 나는 피자를 몇 판 구울수 있는가?

  • feature를 issue에 등록하고 예상 시간 / 실제 소요 시간을 작성하는 연습을 하고 있다. 물론 생각보다 쉽지 않고 관리하기도 힘들다. 준비 땅! 다했다! 얼마나 걸렸지? 라는 방식으로 진행되기 보다 진행하다가 밥시간 되면 밥먹고 오고, 가끔 좀 쉬기도 하고, 진행하다보니 이전 코드를 건드려야할 때도 있고 등.. 변수가 많다.

  • 그럼에도 필요한 연습이라고 생각한다. 아직까진 개발 실력도, 경험도 부족해서 이를 예상하기란 쉽지 않다.

4. 좋은 개발 습관 굳히기

  • 저번 회고에서도 언급했던 github 사용 습관을 유지하려 노력중이다. 다만 쉽게는 안 되는거 같다. 일단 이번 주는 풀 페어 프로그래밍인데다가 이것저것 건드리며 초기 환경을 구성했기에 커밋을 나누기도 애매했다. PR도 마찬가지. 그래도 git add .은 여전히 사용하고 있지 않다. 이것만으로도 어디인가..



기타

  • 홈트레이닝을 시작했다. 매일 저녁 먹기전인 오후 6시에 짧게 15~20분 정도하고, 샤워하고, 밥먹을 예정이다. 오늘 하루 해봤는데 할만한거 같다. 유튜브에 좋은 영상이 많다.. 여름인데다 요즘 비도 오락가락이라 러닝보다 홈트가 꾸준히만 한다면 더 나은거 같다!

  • 결과보다 과정을 중요시한다면서 보여주기 위한 데모보다 과정의 학습을 꼼꼼히하고 정리하자고 생각하고 있다. 그럼에도 매주 금요일이 되면 남들과 비교하는게 어쩔 수 없는거 같다.. 나보다 더 많은 경험을 가진 사람들과 비교하는건 스스로를 갉아먹을 뿐임에도 인간인지라.. 이것을 좌절이 아닌 자극으로 받아들여야한다!

  • 백엔드는 처음이라.. 시리즈를 작성하려 한다. 처음 공부해본 백엔드 분야를 잊지 않기 위해서, 그리고 제대로 다시 복습하기 위해, 마지막으로 나같은 백엔드를 하나도 모르는 프론트엔드 개발자에게 조금이라도 길을 보여주기 위해 작성하자. [백엔드는 처음이라..] 1. 백엔드 학습 키워드를 먼저 작성했다. 2부가 언제 쓰여질지 모르겠다.. 다음주 주말..?

profile
기억보단 기록을 / TIL 전용 => https://velog.io/@jjuny546

2개의 댓글

comment-user-thumbnail
2021년 8월 3일

이제 진짜 모르겠는 키워드가 많아졌네요! 디디 그만큼 폭풍 성장중일것 같아요! 남은 절반도 파이팅!!

1개의 답글