이번에 처음으로 제대로 시작한 프로젝트였다. 지금 생각해보니 너무나도 준비가 안되어있고, 무지식으로 프로젝트를 시작했던 것 같다. 기획부터 차근차근 프로젝트 작성 계획과 방법 등 설정을 하고 시작했어야 했는데 하나씩하나씩 필요한 것을 찾아가며 진행하다보니 많이 복잡하기도 했었고, 지켜지지 않은 것들도 너무 많았다.
특히 Convention이라는 개념도 몰랐었던 시기라 이제 알았다는 것도 좀 그렇다...🥲
지금부터라도 React, Django에 대한 규칙을 정하고, 특히 git commit에 대한 convention을 확실히 정해서 작성해보야 겠다.
yarn add -D[or --dev] [package_name]
💡 잠깐) yarn & npm
Go -> npm & yarn
설치
yarn add -D prettier
실행
npx prettier --write "파일.js"
.prettierrc
{
"singleQuote": true,
"semi": true,
"useTabs": false,
"tabWidth": 2,
"trailingComma": "all",
"printWidth": 120,
"arrowParens": "avoid",
"endOfLine": "auto"
}
코드 설명
- singleQuote: true - 쌍따옴표가 아닌 홑따옴표를 사용
- semi: true - statement 마지막에 세미콜론을 찍음
- useTabs: false - 탭을 사용하지 않고 스페이스를 사용
- tabWidth: 2 - 탭을 할 경우 2 스페이스
- printWidth: 120 - 선호되는 한 줄의 길이, 줄바꿈 한폭 길이
- trailingComma: 'all' - 여러줄로 나뉘었을 때는 쉼표를 사용
- arrowParens: 'always' - 화살표 함수에서 괄호 사용 의무화
- endOfLine: 'auto' - 파일의 마지막에는 EOL을 보장
- build: yarn build 시에 빌드된 파일들이 담기는 폴더
- public: 정적 파일들이 담긴 폴더
- assets: font, json 등이 담긴 폴더
- static: : image파일들이 담긴 폴더
- src: 대부분의 파일을 넣는 폴더(index.js, js파일, css파일 등)
- api: 서버와 데이터 통신하는 CRUD Axios가 담긴 폴더
- components: pages에 들어가는 부분마다의 components가 담긴 폴더
- common: 여러 페이지에서 자주 사용되는 컴포넌트가 담긴 폴더(navBar, footer 등)
- context: Context API를 위한 context가 담긴 폴더
- data: 굳이 서버와의 통신으로 받아오지 않아도 되는 정적인 data들을 Object Array로 표현한 파일들이 담긴 폴더
- lib: 어플리케이션 내에서 공통으로 사용되는 함수들이 담긴 폴더(data, api 등)
- modules: redux에 사용되는 action, reducer, store가 담긴 폴더
- pages: DOM에 라우팅되어 렌더링되는 페이지들이 담긴 폴더
- test: app.test.js과 같은 Unit test가 담긴 폴더
- utils: util함수들이 담긴 폴더(axios Interceopter 등)
💡 React 컴포넌트는 반드시 함수형으로 작성.
import styles from './{이름}.module.css
<div className={styles.helloText}>안녕</div>
참조
https://candypoplatte.github.io/2018/10/10/django_coding_style/
https://velog.io/@castlemin/Two-Scoops-of-Django-1.-%EC%BD%94%EB%94%A9-%EC%8A%A4%ED%83%80%EC%9D%BC
https://devlect.tistory.com/1
기본적인 커밋 메시지 구조는 제목,본문,꼬리말 세가지 파트로 나누고, 각 파트는 빈줄을 두어 구분
type : subject
body
footer
타입은 태그와 제목으로 구성되고, 태그는 영어로 쓰되 첫 문자는 대문자로 한다.
태그 : 제목의 형태이며, :뒤에만 space가 있음에 유의한다.
자주 사용하는 단어
Add
Add style.css
Add mytest.test for test
Add blue color to style.css
Remove
Remove test.js
Remove black color from style.css
Simplify
Update
Update harry-server.js to use HTTPS
Implement
Prevent
Prevent hello handler from saying Hi in hi.js
Move
Fixed --> Fix
Added --> Add
Modified --> Modify
ex) Fixes: #45 Related to: #34, #23
Feat: "회원 가입 기능 구현"
SMS, 이메일 중복확인 API 개발
Resolves: #123
Ref: #456
Related to: #48, #45
자주 커밋을 하다보면 비슷한 형식으로 작성하게 된다. 따라서 커밋 메시지 템플릿을 만들어 두면, 커밋할 때마다 자주 사용하는 형식을 바로 적용하여 작성할 수 있다.
git commit -m "제목
본문
푸터"
.gitmessage.txt 파일을 생성하고, 자신이 원하는 형식으로 작성
// Harry's commit message template
// 제목은 대문자로 시작합니다.
// 본문과 푸터는 선택 사항 입니다.
#######제목#######
#######본문#######
#######푸터#######
##################
// Fix : 수정
// Add : 추가
// Remove : 삭제
// Simplify : 단순화
// Update : 보완
// Implement : 구현
// Prevent : 방지
// Move : 이동
// Rename : 이름변경
##################
git config --global commit.template <.gitmessage.txt 경로>
상세내용: git Template 설정
작성 예정
참조