"우아한 타입스크립트 with React" 북 스터디
| 장 | 제목 | 세부 목차 |
|---|---|---|
| 1장 | 들어가며 | 1.1 웹 개발의 역사 1.2 웹자바스크립트의 한계 |
| 2장 | 타입 | 2.1 타입이란 2.2 타입스크립트의 타입 시스템 2.3 원시 타입 2.4 객체 타입 |
| 3장 | 고급 타입 | 3.1 타입스크립트만의 독자적 타입 시스템 3.2 타입 조합 3.3 제네릭 사용법 |
| 4장 | 타입 확장하기·좁히기 | 4.1 타입 확장하기 4.2 타입 좁히기 - 타입 가드 4.3 타입 좁히기 - 식별할 수 있는 유니온 4.4 Exhaustiveness Checking으로 정확한 타입 분기 유지하기 |
| 5장 | 타입 활용하기 | 5.1 조건부 타입 5.2 템플릿 리터럴 타입 활용하기 5.3 커스텀 유틸리티 타입 활용하기 5.4 불변 객체 타입으로 활용하기 5.5 Record 원시 타입 키 개선하기 |
| 6장 | 타입스크립트 컴파일 | 6.1 자바스크립트의 런타임과 타입스크립트의 컴파일 6.2 타입스크립트 컴파일러의 동작 6.3 타입스크립트 컴파일러의 구조 |
| 7장 | 비동기 호출 | 7.1 API 요청 7.2 API 상태 관리하기 7.3 API 에러 핸들링 7.4 API 모킹 |
| 8장 | JSX에서 TSX로 | 8.1 리액트 컴포넌트의 타입 8.2 타입스크립트로 리액트 컴포넌트 만들기 8.3 정리 |
| 9장 | 훅 | 9.1 리액트 훅 9.2 커스텀 훅 |
| 10장 | 상태 관리 | 10.1 상태 관리 10.2 상태 관리 라이브러리 |
| 11장 | CSS-in-JS | 11.1 CSS-in-JS란 11.2 유틸리티 함수를 활용하여 styled-components의 중복 타입 선언 피하기 |
| 12장 | 타입스크립트 프로젝트 관리 | 12.1 앰비언트 타입 활용하기 12.2 스크립트와 설정 파일 활용하기 12.3 타입스크립트 마이그레이션 |
| 13장 | 타입스크립트와 객체 지향 | 13.1 타입스크립트의 객체 지향 13.2 우아한형제들의 활용 방식 13.3 캡슐화와 추상화 13.4 정리 |
| 주차 | 범위 (장) | 학습일 | 완료 여부 |
|---|---|---|---|
| 1주차 | 1.1 웹 개발의 역사 ~ 2.4 객체 타입 | 2025.03.11 | ✅ |
| 2주차 | 3.1 타입스크립트만의 독자적 타입 시스템 ~ 3.2 타입 조합 | 2025.03.18 | ✅ |
| 3주차 | 3.3 제네릭 사용법 ~ 4.1 타입 확장하기 | 2025.03.25 | ✅ |
| 4주차 | 4.2 타입 좁히기 - 타입 가드 ~ 4.4 Exhaustiveness Checking으로 정확한 타입 분기 유지하기 | 2025.04.01 | ✅ |
| 5주차 | 5장 타입 활용하기 | 2025.04.15 | ✅ |
| 6주차 | 6.1 자바스크립트의 런타임과 타입스크립트의 컴파일 ~ 7.1 API 요청 | 2025.04.22 | ✅ |
| 7주차 | 7.2 API 상태 관리하기 ~ 7.4 API 모킹 | 2025.05.06 | ✅ |
| 8주차 | 8장 JSX에서 TSX로 | YYYY.MM.DD | |
| 9주차 | 9장 훅 ~ 10장 상태관리 | YYYY.MM.DD | |
| 10주차 | 11장 CSS-in-JS ~ 12장 타입스크립트 프로젝트 관리 | YYYY.MM.DD | |
| 11주차 | 13장 타입스크립트와 객체 지향 | YYYY.MM.DD |
📁 root
│
├─ 📁 assets
│ ├─ 📁 CH01
│ ├─ 📁 CH02
│ ...
│
├─ 📁 CH01_들어가며
│ ├─ 📁 1.1_웹_개발의_역사
│ │ ├─ 📄 suelgi.md
│ │ └─ 📄 seongho.md
│ │
│ └─ 📁 1.2_웹자바스크립트의_한계
│ ├─ 📄 suelgi.md
│ └─ 📄 seongho.md
...
- 브랜치는 main에서
week[number]_[name]로 생성 - main에 머지할때는 squash하여
[WEEK_n] 작성자 이름으로 병합 - PR은 해당 주의 금요일 까지 리뷰를 완료하고 merge
- 디렉토리 및 파일 컨벤션은 디렉토리 구조 및 파일 네이밍 작성법 참고
- 이미지 파일은
.jpeg또는.png형식을 사용
Base Commit Convention
| Tag Name | Description |
|---|---|
| Feat | 새로운 기능을 추가 |
| Fix | 버그 수정 |
| Design | CSS 등 사용자 UI 디자인 변경 |
| !BREAKING CHANGE | 커다란 API 변경의 경우 |
| !HOTFIX | 급하게 치명적인 버그를 고쳐야하는 경우 |
| Style | 코드 포맷 변경, 세미콜론 누락 등 코드 수정이 없는 경우 |
| Refactor | 프로덕션 코드 리팩토링 |
| Comment | 필요한 주석 추가 및 변경 |
| Docs | 문서 수정 |
| Test | 테스트 코드 추가 및 리팩토링, Production Code 변경 없음 |
| Chore | 빌드 업무 수정, 패키지 매니저 수정 등 Production Code 변경 없음 |
| Rename | 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우 |
| Remove | 파일을 삭제하는 작업만 수행한 경우 |