학습한 내용을 정리합니다
ㄴ 하드스킬 : 기술적인 역량, 프로그래밍 실력
ㄴ 소프트스킬 : 커뮤니케이션, 소통능력, 팀워크 등 협업시 필요한 능력
Git : 분산 버전 관리 시스템
GitHub : Git의 원격 저장소, 개인적으로만 사용할 수 있던 Git의 기능을 인터넷을 이용해서 사람들과 공유하고 공동 작업이 가능하게 됐다.
Commit Message
https://gist.github.com/robertpainsi/b632364184e70900af4ab688decf6f53
History 관리 및 브랜치 관리 전략
설치방법
1) eslint
npm install eslint --save-dev
2) prettier
- npm install prettier --save-dev
3) eslint-config-prettier
npm install eslint-config-prettier --save-dev
설정
1) eslint
처음부터 모든 rule 하나하나 설정하는 것이 불필요하거나 불편하다고 판단되는 경우와 다른 사람들이 이미 정의해둔 config를 설치한 후 확장해서 사용할 수 있음
예시
```json
// .eslintrc
{
"extends": ["react-app", "eslint:recommended", "prettier"],
"rules": {
"no-var": "error", // var 금지
"no-multiple-empty-lines": "error", // 여러 줄 공백 금지
"no-console": ["error", { "allow": ["warn", "error", "info"] }], // console.log() 금지
"eqeqeq": "error", // 일치 연산자 사용 필수
"dot-notation": "error", // 가능하다면 dot notation 사용
"no-unused-vars": "error" // 사용하지 않는 변수 금지
}
}
https://eslint.org/docs/latest/rules/
2) prettier
.prettierrc.확장자
파일을 통해서 설정 (확장자는 다양하게 지원)// .prettierrc.js
module.exports = {
printWidth: 100, // printWidth default 80 => 100 으로 변경
singleQuote: true, // "" => ''
arrowParens: "avoid", // arrow function parameter가 하나일 경우 괄호 생략
};
https://prettier.io/docs/en/options.html
githook
: git에서 특정 이벤트 발생 전/후로 특정 hook 동작을 실행할 수 있게 하는 것https://typicode.github.io/husky/#/?id=articles
1) npm install husky --save-dev
2-1) (처음 husky 세팅하는 사람만 실행 필요) npx husky install
: husky에 등록된 hook을 실제 .git에 적용시키기 위한 스크립트
2-2) add postinstall script in package.json
: 이후에 clone 받아서 사용하는 사람들은 npm install후에 자동으로 husky install 이 될 수 있도록 하는 설정
// package.json
{
"scripts": {
"postinstall": "husky install"
},
}
3) scripts
// package.json
{
"scripts": {
"postinstall": "husky install"
},
}
4) add pre-commit, pre-push hook
npx husky add .husky/pre-commit "npm run format"
npx husky add .husky/pre-push "npm run lint"
git hook에서 eslint 에러가 발견하면 실행중인 script가 종료되기에 이 rule에 대해서 error로 설정할 지 warn으로 설정할 지 잘 고려해야함
"no-console": ["warn", { "allow": ["warn", "error", "info"] }]
error
로 설정할 경우 console.log가 하나라도 있으면 푸쉬가 안됨"no-console": ["error", { "allow": ["warn", "error", "info"] }]
참고사항)
eslint --max-warings=0
으로 옵션을 붙여서 스크립트를 실행하면 됨// package.json
{
"scripts": {
"lint": "eslint --cache --max-warnings=0",
},
}
학습을 제외해서 느낀점을 기록합니다