August 31, 2022
테오의 스프린트 11기에 레프라는 닉네임으로 참여했다. 스프린트는 8월 24일 수요일부터 29일 월요일까지 약 6일간 진행되었다.
우리 3조는 구딩이라는 편하게 구독 관리를 할 수 있는 서비스를 만들었다. 구딩은 구독+ing
를 귀엽게 표현한 것이다. 우리 팀은 이지, 현, 찌나오, 준, 아얀, 나동, 나 이렇게 프론트엔드 7명만 모여서 Princess-Teo-And-The-Seven-Frontend
라는 팀명을 가지게 되었다. 프로젝트를 진행하면서 MC는 나동이, UIUX 최종결정권자는 찌나오가, PL은 아얀이 담당했다.
프로젝트 결과물은 이곳에서 확인이 가능하고, 깃허브 레포지토리는 이곳에서 확인이 가능하다.
첫 번째 날에는 준비해온 아이디어를 발표하고 투표를 통해 4개의 아이디어를 선정했다. 운 좋게 내가 생각했던 아이디어가 뽑혀서 7명이 진행하게 되었다. 각자 자기소개하고 목표 등에 대해 이야기를 나눴다.
두 번째 날에는 각자 레퍼런스를 찾아오고 지도를 그리는 시간을 가졌다. 우리 서비스의 목적, 대상, 가치 등에 대해 이야기를 나누면서 목표를 구체화했다. 그리고 대상 - 목적 - 가치
를 연결하면서 최종적인 화면을 정할 수 있었다.
세 번째 날에는 화면을 디자인하고 SDD와 BDD를 통해 화면별로 어떤 데이터가 있고, 어떻게 바뀌며, 사용자가 어떤 행동을 할 수 있는지에 대해 정리했다. 최종적으로 우리 팀은 개발할 것을 화면별로 나눈 뒤 현업자 1명 + 취준생 1~2명끼리 묶어 분담했다.
그리고 주말 이틀과 월요일 발표 직전까지 개발했다. 각자 되는 시간에 맞춰서 자유롭게 개발했다.
월요일 오후 11시 15분 정도부터 데모가 시작되었다. 데모는 자유롭게 돌아다니면서 다른 조를 구경하는 방식으로 진행되었다. 다른 팀들 결과물을 설명과 함께 들으니 좋았다. 다들 너무 예쁘게 만들어서 사용해보는데 재밌었다.
데모가 끝나고는 회고 시간을 가졌다. 프로젝트, 팀, 개인 이렇게 3번에 걸쳐 좋았던 점, 배운 점, 아쉬웠던 점, 앞으로 발전할 점으로 나누어 생각했는데, 그래서 좀 더 다양하게 되짚어볼 수 있었다.
처음에는 프로젝트 자체가 중요하다고 생각했었는데 개발을 시작하니까 결과물도 결과물이지만 개발하는 과정에서 많이 배워보자는 쪽으로 마음이 바뀌었다. 이 스프린트 덕분에 개발하는 3일 동안 처음 해본 것들과 배우고 느낀 점들이 너무 많아서 추가로 정리하게 되었다.
코드 리뷰를 해보고 받아봤다. 처음에는 무슨 말을 해야 할지 몰라서 주저했었는데 잘한 점을 말해도 된다는 말을 듣고 나서 마음 편하게 리뷰를 할 수 있었다. 뿐만 아니라 코드 리뷰를 요청하기 앞서서 내가 먼저 코드에 대한 설명을 적기도 한다는 말을 듣고는 내가 내 코드 이곳저곳을 리뷰했는데 그것도 재밌었다. 덕분에 내 깃허브 Activity overview 그래프
의 Code review
가 1%로 올랐다.
eslint-config-airbnb
로 eslint
를 꽤 빡세게 설정해서 코드를 작성해봤다. 한 줄에 130자가 넘어가면 에러가 발생한다는 게 솔직히 나로서는 믿기 어려운 일이었다. 그래도 한 줄 한 줄 에러를 잡아가니까 재밌었다. 마치 타입스크립트의 타입을 수정하면서 발생한 에러를 잡는 것과 유사했다. 이 프로젝트보다 린트 설정을 더 까다롭게 설정할 수 있다고 하는데 지금 설정이 익숙해질 때쯤 추가로 설정해보고 싶다.gitmoji -c
를 매번 이용했어야 했는데 익숙하지 않아서 그냥 이모지를 복붙하면서 커밋 메시지를 작성했다. 어쨌든 그 덕분에 커밋 메시지가 엄청 예뻐졌다.cna
로 셋팅했기 때문에 tsconfig.json
안에 경로를 설정했다.git graph
로 git checkout
을 해봤다. 너무 편하고 너무 좋았다.Co-authored-by: ryuna <anottrx@gmail.com>
처럼 추가 작성하면 된다!
README.md
를 작성해봤다. 어떻게 작성하는지 몰라서 헤맸는데 .github
레포지토리를 생성하고 해당 레포지토리에서 작성된 profile/README.md
가 organization 대표 README.md
가 된다.npx prettier -w **/*.tsx
, npx prettier -w **/*.ts
로 prettier
를 한번에 적용해봤다.hotfix
의 개념을 확실히 알게 되었다. develop → main
후 main
에서 에러가 발생했을 때 hotfix
브랜치를 파서 에러를 수정한다. 브랜치 이동은 main → hotfix → main → develop
으로 진행된다.import
선언 순서에 대해 확실히 알게 되었다. 라이브러리 - 절대 경로 - 같은 디렉터리
가 일반적이라고 한다. 또 eslint
로 import
속성 순서를 제어할 수 있다는 것도 배웠다.transform
속성에 대해 배웠다. 데이터를 가운데 정렬할 때 사용했다.rebase
를 정확히 이해하지 못한 점이 아쉽다. git 때문에 몇 시간 날린 적이 여러 번 있어서 rebase
같은 건 주저하게 되는 것 같다.react-reveal
없이 개발했으면 더 좋았을 것이다.import
선언 순서 등에 대해 이야기를 미리 나누고 코드 리뷰를 좀 더 많이 했으면 좋았을 것 같다. 그런데 개발 기간이 짧아서 이게 최선이었다고 생각한다.develop → main
이 아닌 main → develop
으로 머지 실수할 뻔 했다… 나는 머지 후 무조건 브랜치를 지우는 편인데 앞으로는 확실한 브랜치만 지우기로 했다. 그리고 Pull Reqeust 열 때는 방향이 제대로 되었는지 무조건 소리 내서 읽어봐야겠다.sweetalert
를 여러 프로젝트에서 적용했었는데 메서드로 묶어서 리팩터링을 하면 좋겠다는 생각을 매번 했었지만 에러가 발생할까 봐 하지는 않았다. 그런데 새벽에 이지가 먼저 같이 리팩터링하자고 해서 진행했었는데 정말 간단하게 해결되었다.git
브랜치 전략에선 절대적인 건 없다는 걸 느꼈다. develop → feat
은 언제나 새로운 브랜치를 생성할 때만 하는 줄 알았는데 아니었다.그럴싸함
의 중요성이었다. 만들다가 만 것처럼 보이지 않도록 하는 것이 바로 그럴싸함이다. 기능이 완성이 안 되면 버튼을 숨기던가 추후 개발 예정이라고 하거나 유료 서비스(!)라고 적는 방법, README.md
문서 작업, 아이콘 로고 등 다양한 방식이 있다. 이처럼 그럴싸함을 앞으로도 잊지 말고 여러 군데에 적용해야겠다.이런저런 이유로 스프린트에 참여할지 고민을 많이 했었다. 막상 하고 나니 참여하길 잘했다는 생각이 들었다. 이제 스프린트는 끝났고 다시 공부하고 있다. 스프린트에서 배우고 느낀 점들을 바탕으로 개발을 계속해볼 예정이다.