33일차
33일차는 초기셋팅을 마무리했다. 거의 3일 간에 걸쳐서 진행했는데 주도적으로 셋팅한 사람들이 정말 대단했다. 나는 부트캠프가 처음이기도 하고 다른 사람들과 프로젝트를 진행하는 것도 처음이다보니 모든 게 낯설었다.
그래서 그 분들의 초기셋팅 과정을 보면서 중요한 것들을 기록해보려 한다.
초기셋팅
초기셋팅은 매우 중요한 과정이다. 모든 개발자가 동일한 조건에서 개발을 진행해야 나중에 병합을 했을 때 충돌없이 깔끔하게 코드를 만들 수 있기 때문이다.
3일간에 초기셋팅에서 많은 것들이 있었는데 그 중 기억에 남는 것만을 기록할 예정이다.
코딩 컨벤션
코딩컨벤션은, 프로그래밍에서 일관성과 가독성을 높이기 위해 사용되는 규칙과 가이드라인의 모음이다. 이번 프로젝트는 혼자서 진행하는 것이 아니기 때문에 다른 사람들과의 규칙이라 보면 된다.
이점은 다음과 같다.
- 일관성: 프로젝트에 참여하는 여러 개발자들이 동일한 스타일과 규칙을 따라 코드를 작성하므로써 일관성을 유지.
- 가독성: 명료하고 이해하기 쉬운 코드를 작성하기 위해 컨벤션은 일련의 가이드라인을 제공.
- 유지보수성: 코드의 가독성과 일관성은 유지보수성을 향상.
이번에 처음으로 컨벤션이라는 개념을 접해서 처음에는 어버버 정신을 못차렸다. 그리고 이렇게 정리하면서 그 때 얘기한 얘기가 이런 거였구나 깨닫게 됐다.
깃 컨벤션
Git 컨벤션은 일종의 commit 약속이다. commit을 할 때의 일정한 규칙을 통해 보내면 된다.
다음은 일반적인 git 컨벤션이다.
Type | 설명 |
---|
Feat | 새로운 기능 추가 |
Fix | 버그 수정 또는 typo |
Refactor | 리팩토링 |
Design | CSS 등 사용자 UI 디자인 변경 |
Comment | 필요한 주석 추가 및 변경 |
Style | 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 |
Test | 테스트(테스트 코드 추가, 수정, 삭제, 비즈니스 로직에 변경이 없는 경우) |
Chore | 위에 걸리지 않는 기타 변경사항(빌드 스크립트 수정, assets image, 패키지 매니저 등) |
Init | 프로젝트 초기 생성 |
Rename | 파일 혹은 폴더명 수정하거나 옮기는 경우 |
Remove | 파일을 삭제하는 작업만 수행하는 경우 |
예시
Feat: 로그인 기능 추가
Remove: Home.tsx삭제
이러한 규칙을 두고 commit을 할 때 보내야 한다. 나도 이 깃 컷벤션을 토대로 푸쉬할 것 같다. 이전까지 혼자 프로젝트를 진행할 때는 이런 것 없이 마음대로 했었는데 이제는 그렇게 하면 안되니 앞으로는 잘 신경써서 해야겠다.
Husky
Husky란? Git Hook을 사용하기 쉽게 관리하고 설정할 수 있도록 도와주는 JavaScript 기반의 도구이다.
Git Hook이란?
Git 버전 관리 시스템에서 이벤트에 특정 스크립트를 실행하도록 설정하는 기능이다. 여기서 이벤트는 push, commit 등을 말한다. 즉 push나 commit을 할 때 Git 작업의 흐름을 설정할 수 있게 해주는 기능이다.
Git Hook 설정을 일관되게 유지하고 관리하기 쉽도록 도와주는 편리한 도구기 때문에 다음과 같은 기능을 갖고 있다.
- 쉽고 일관된 Git Hook 설정: Husky는 package.json 파일 내에서 Git Hook 스크립트를 정의하고 관리.
- 사전 정의된 Git Hook: Husky는 사전 정의된 Git Hook 스크립트를 제공하여 일반적인 사용 사례에 대한 설정을 간편하게 할 수 있다.
- 사용자 정의 Git Hook: Husky를 사용하면 사용자가 직접 원하는 Git Hook 스크립트를 작성하고 설정.
이번에 나 같은 경우는 commit을 할 때 깃 컨벤션을 어길 경우, 에러가 나 commit을 할 수 없게 할 예정이다.
이슈,PR 관리 템플릿
우선 템플릿은, 사용자에게 어떤 정보를 입력해야 하는지 안내하고 일관성을 유지하기 위해 사용된다. 그 중에 이슈와 PR(Pull Request)는 자주 사용되기 때문에 제대로 된 작성이 필요하다.
파일은 .md 마크다운 형식을 사용한다.
이슈 템플릿 같은 파일은 이슈 작성자가 새 이슈를 만들 때 어떤 정보를 제공해야 하는지 가이드하고, 필요한 내용을 요청할 수 있도록 해준다.
PR(풀 리퀘스트) 템플릿은 GitHub 리포지토리에서 풀 리퀘스트를 생성할 때 사용자에게 표시되는 양식이다.
정리하기
우선 이렇게 초기셋팅을 하는 과정에서 있던 내용을 기록하는 시간을 가졌다. 처음에 들었을 때는 도통 이해하지 못했지만, 하나하나 기록해나가면서 이해가 됐다.
아직 라이브러리 같은 부분은 하나도 다루지 못했지만, 이런 부분은 나중에 직접 사용하게 될 경우 세세하게 다뤘으면 한다.
이번에 포스팅을 하면서 확실하게 알게 된 건 혼자가 아닌 팀으로 진행한다는 것이다. 그렇기 때문에 계속 소통을 지속하면서 좋은 결과물을 도출할 수 있게 나아가야겠다.
본 후기는 유데미-스나이퍼팩토리 10주 완성 프로젝트캠프 학습 일지 후기로 작성 되었습니다.
#프로젝트캠프 #프로젝트캠프후기 #유데미 #스나이퍼팩토리 #웅진씽크빅 #인사이드아웃 #IT개발캠프 #개발자부트캠프 #리액트 #react #부트캠프 #리액트캠프