앞으로의 목표 👍
- javascript 능력 및 고난도 알고리즘 풀이 능력
- Nest, Graphql등 최신 기술 스택 활용 능력
- 기초 미니프로젝트 포트폴리오
- 로그인, 결제기반 심화프로젝트 포트폴리오
- 배포를 위한 네트워크 및 CI/CD 배포자동화 능력
- 120% 백엔드 개발 지식
오늘부터 꾸준히 해야할 일 👍
- 영타실력 늘리기
- 단축키 사용 익숙해지기
- 코드리딩 실력 키우기
- 데일리 퀴즈
- 포트폴리오 작성
- 독스에 친숙해지기
- MDN 보는 연습하기
오늘의 수업 👍
📝 프로젝트 설계
-
디자인, 기획이 필요하다.
-
뭐가 데이터이고 뭐가 하드코딩인지 아는게 가장 중요하다.
-
기획자에게 물어보는 것이 가장 일반적이다.
-
물어본 것을 기반으로 엑셀 표를 작성한다.
-
표를 작성하는 이유는 DB에 어떤 데이터를 저장해야하나를 알기 위해서다.
-
독스를 만들고 그 기준으로 백엔드 프론트엔드 나눠서 개발을 한다.
-
ERD를 팀원에게 배포하기 전에 실행했다고 생각하고, 그 때 DB에 어떻게 저장될 것인지 생각해야한다. DB가 바뀌면 다 힘들어지기 때문에 확실하게 검증하고 팀원들에게 배포를 해야한다.
-
복잡한 로직의 경우에는 시퀀스 다이어그램으로 그린다.(모든 API는 힘들다.)
📝 Gitflow workflow
- repository안에 branch라는 세부폴더가 있다.
-
이제 master
브랜치는 프로덕션에 배포할 준비가 된 상태만 올리도록 한다.
-
그리고 master 브랜치에서 나온 dev
브랜치에서 개발을 한다.
-
개발을 마치고, 프로덕션에 배포할 준비가 되면 master 브랜치와 다시 합치게된다.(merge)
-
배포할 때는 마스터 브랜치를 사용한다.
-
여기서 더 나아가서 dev 브랜치에서 기능별로 feature 브랜치를 빼서 개발하고 기능 개발이 완료되면 dev 브랜치에 합친다.
▷ hotfix 브랜치
- 말 그래도 긴급하게 에러를 고치기 위해 만드는 브랜치다.
- master 브랜치에서 바로 만들어서 프로덕션에서 생긴 이슈를 고치고 master 브랜치로 합쳐서 배포할 수 있도록 한다.
▷ release 브랜치
- dev 브랜치에서 생성한다. dev 브랜치에서 feature 브랜치들을 만들어서 기능들을 모두 개발하고 합친다.
- 그 다음에 dev 브랜치에서 release 브랜치를 생성하고, 프로덕션을 출시하기 위해서 필요한 코드들만 덧붙인다. 그후 master 브랜치에 합친다.
- dev 브랜치에서는 release 브랜치를 합쳐서 최신 버전으로 유지한다.
▷ Git Fork Workflow - Forking Repository
- 위의 브랜치를 이용한 과정들은 한 개의 저장소에서 이루어지는 것이다.
- 저장소를 fork(복제) 해서 협업하는 작업 과정을 말한다.
- 팀장의 깃허브 저장소 - 위에있다고 해서 upstream
- 내 깃허브 저장소 - origin
▷ 주의사항
- 1일 1PR - 하루에 한번이 안된다면 작게 쪼개서 가능하게 한다.
- 커밋 컨벤션 - 메시지를 입력하는 부분을 잘 작성해야한다.
- 개발자들 각각은 독립적인 기능을 만들어야한다.
- 공통기능은 경력자가 하는 것이 좋다. (전체 시스템을 보는법을 알아야한다.)
- 2회 이상 PR할 때는 각각하든 혼자하든 독립적인 PR이 가장 좋다.
📝 Trunk Based Development
참고하면 좋은 블로그, 영상
브랜치란?
제대로 파는 Git & GitHub
오늘의 마무리 👍
- 복습
- github 공부
- 블로그 포스팅
- 데일리 퀴즈
- 알고리즘 문제 풀기
항상 겸손한 자세로 배우면서 성장하자, 할 수 있다!! 💪
출처 : 코드캠프