Introduction
1.
Web
❱
1.1.
웹 성능 최적화 기법
❱
1.1.1.
웹 성능이란 무엇인가?
1.1.2.
웹 최적화
1.1.3.
웹 사이트 성능을 개선하는 기본적인 방법
2.
JavaScript
❱
2.1.
실행 컨텍스트
2.2.
클래스
2.3.
화살표 함수
2.4.
함수 바인딩
2.5.
call, apply
2.6.
클로저
2.7.
함수 표현식 vs 함수 선언문
2.8.
이벤트 루프
2.9.
new와 생성자 함수
2.10.
프로퍼티
2.11.
프로토타입
2.12.
this
2.13.
var를 쓰지 않는 이유
2.14.
Babel
2.15.
Web APIs
❱
2.15.1.
Intersection Observer
2.15.2.
Mutation Observer
2.15.3.
Template Element
2.15.4.
Shadow DOM
❱
2.15.4.1.
Slot
2.15.4.2.
Styling
2.15.4.3.
Events
2.15.5.
Canvas API
❱
2.15.5.1.
도형 그리기
2.16.
Guides
❱
2.16.1.
렌더링 최적화
2.16.2.
Custom Element 체크리스트
3.
TypeScript
❱
3.1.
타입스크립트 알아보기
❱
3.1.1.
TS와 JS의 관계
3.1.2.
TS 설정 이해하기
3.1.3.
코드 생성과 타입이 관계없음을 이해하기
3.1.4.
구조적 타이핑에 익숙해지기
3.1.5.
any 타입 지양하기
3.2.
타입스크립트의 타입 시스템
❱
3.2.1.
편집기를 사용하여 타입 시스템 탐색하기
3.2.2.
타입이 값들의 집합이라고 생각하기
3.2.3.
타입 공간과 값 공간의 심벌 구분하기
3.2.4.
타입 단언보다는 타입 선언을 사용하기
3.2.5.
객체 래퍼 타입 피하기
3.2.6.
잉여 속성 체크의 한계 인지하기
3.2.7.
함수 표현식에 타입 적용하기
3.2.8.
타입과 인터페이스의 차이점 알기
3.2.9.
타입 연산과 제너릭 사용으로 반복 줄이기
3.2.10.
동적 데이터에 인덱스 시그니처 사용하기
3.2.11.
number 인덱스 시그니처보다는 Array, 튜플, ArrayLike를 사용하기
3.2.12.
변경 관련된 오류 방지를 위해 readonly 사용하기
3.2.13.
매핑된 타입을 사용하여 값을 동기화하기
3.3.
타입 추론
❱
3.3.1.
추론 가능한 타입을 사용해 장황한 코드 방지하기
3.3.2.
다른 타입에는 다른 변수 사용하기
3.3.3.
타입 넓히기
3.3.4.
타입 좁히기
3.3.5.
한꺼번에 객체 생성하기
3.3.6.
일관성있는 별칭 사용하기
3.3.7.
비동기 코드에는 콜백 대신 async 함수 사용하기
3.3.8.
타입 추론에 문맥이 어떻게 사용되는지 이해하기
3.3.9.
함수형 기법과 라이브러리로 타입 흐름 유지하기
3.4.
타입 설계
❱
3.4.1.
유효한 상태만 표현하는 타입을 지향하기
3.4.2.
사용할 때는 너그럽게, 생성할 때는 엄격하게
3.4.3.
문서에 타입 정보를 쓰지 않기
3.4.4.
타입 주변에 null값 배치하기
3.4.5.
유니온의 인터페이스보다는 인터페이스의 유니온 사용하기
3.4.6.
string 타입보다 더 구체적인 타입 사용하기
3.4.7.
부정확한 타입보다는 미완성 타입을 사용하기
3.4.8.
데이터가 아닌, API와 명세를 보고 타입 만들기
3.4.9.
해당 분야의 용어로 타입 이름 짓기
3.4.10.
공식 명칭에는 상표를 붙이기
3.5.
any 다루기
❱
3.5.1.
any 타입은 가능한 한 좁은 범위에서만 사용하기
3.5.2.
any를 구체적으로 변형해서 사용하기
3.5.3.
함수 안으로 타입 단언문 감추기
3.5.4.
any의 진화를 이해하기
3.5.5.
모르는 타입의 값에는 any 대신 unknown을 사용하기
3.5.6.
몽키 패치보다는 안전한 타입을 사용하기
3.5.7.
타입 커버리지를 추적하여 타입 안정성 유지하기
3.6.
타입 선언과 @types
❱
3.6.1.
devDependencies에 typescript와 @types 추가하기
3.6.2.
타입 선언과 관련된 세 가지 버전 이해하기
3.6.3.
공개 API에 등장하는 모든 타입을 export하기
3.6.4.
API 주석에 TSDoc 사용하기
3.6.5.
콜백에서 this에 대한 타입 제공하기
3.6.6.
오버로딩 타입보다는 조건부 타입을 사용하기
3.6.7.
의존성 분리를 위해 미러 타입 사용하기
3.6.8.
테스팅 타입의 함정에 주의하기
3.7.
코드를 작성하고 실행하기
❱
3.7.1.
타입스크립트 기능보다는 ECMASCript 기능을 사용하기
3.7.2.
객체를 순회하는 노하우
3.7.3.
DOM 계층 구조 이해하기
3.7.4.
정보를 감추는 목적으로 private 사용하지 않기
3.7.5.
소스맵을 사용하여 타입스크립트 디버깅하기
3.8.
타입스크립트로 마이그레이션하기
❱
3.8.1.
모던 자바스크립트로 작성하기
3.8.2.
타입스크립트 도입 전에 @ts-check와 JsDoc으로 시험해 보기
3.8.3.
allowJs로 타입스크립트와 자바스크립트 같이 사용하기
3.8.4.
의존성 관계에 따라 모듈 단위로 전환하기
3.8.5.
마이그레이션의 완성을 위해 noImplicitAny 설정하기
4.
React
❱
4.1.
왜 React인가?
5.
Redux
❱
5.1.
왜 Reducer는 순수해야 하는가?
6.
Svelte
❱
6.1.
Reactivity
6.2.
Props
6.3.
Logic
6.4.
Events
6.5.
Bindings
6.6.
Life Cycle
6.7.
Stores
6.8.
Motion
6.9.
Transitions
6.10.
Animations
6.11.
Actions
6.12.
Classes
6.13.
Component Composition
6.14.
Context API
6.15.
Special Elements
6.16.
Module Context
6.17.
Debugging
7.
GraphQL
❱
7.1.
Execution
7.2.
Query & Mutation
7.3.
Schema & Type
7.4.
Pagination
7.5.
HTTP에서의 GraphQL
8.
Docker
❱
8.1.
샘플 애플리케이션
8.2.
애플리케이션 수정
8.3.
애플리케이션 공유
8.4.
DB 유지
8.5.
Bind Mounts
8.6.
멀티 컨테이너 앱
8.7.
Docker Compose
8.8.
실전 이미지 빌딩
9.
Etc.
❱
9.1.
SSH
9.2.
TDD
9.3.
함수형 프로그래밍
9.4.
반응형 프로그래밍
10.
Machine Learning
❱
10.1.
Problem Framing
❱
10.1.1.
Common ML Problems
10.1.2.
The ML Mindset
10.1.3.
Identifying Good Problems for ML
10.1.4.
Hard ML Problems
10.1.5.
Deciding on ML
10.1.6.
Formulate Your Problem as an ML Problem
10.2.
Crash Course
❱
10.2.1.
Framing
10.2.2.
Descending into ML
10.2.3.
Reducing Loss
11.
AWS
❱
11.1.
IAM
11.2.
EC2
11.3.
AMI
11.4.
EBS
11.5.
EFS
11.6.
EBS vs. EFS
11.7.
ELB
11.8.
RDS
11.9.
Route 53
11.10.
Elastic Beanstalk
11.11.
S3
11.12.
CloudFront
11.13.
Storage Extras
11.14.
Decoupling Applications
11.15.
Containers
11.16.
Serverless
11.17.
Databases
11.18.
Data & Analytics
11.19.
Machine Learning
11.20.
Monitoring & Audit
11.21.
IAM Advanced
11.22.
Security & Encryption
11.23.
Networking - VPC
11.24.
Disaster Recovery & Migrations
11.25.
More Solution Architectures
11.26.
Other Services
11.27.
WhitePapers and Architectures
12.
Network
❱
12.1.
OSI Model
13.
Refactoring
❱
13.1.
리팩토링이란?
13.2.
Code Smells
❱
13.2.1.
Bloaters
13.2.2.
Object-Orientation Abusers
13.2.3.
Change Preventers
13.2.4.
Dispensables
13.2.5.
Couplers
13.2.6.
Other Smells
13.3.
Refactoring Techniques
❱
13.3.1.
Composing Methods
13.3.2.
Moving Features Between Objects
13.3.3.
Organizing Data
13.3.4.
Simplifying Conditional Expressions
13.3.5.
Simplifying Method Calls
13.3.6.
Dealing with Generalization
14.
Graphics
❱
14.1.
What is GLTF
Light (default)
Rust
Coal
Navy
Ayu
Shubi Docs
타입스크립트 알아보기
해당 챕터에서는 타입스크립트의 큰 그림을 이해하는데 도움이 될 내용을 다룹니다.
타입스크립트는 무엇인지?
타입스크립트를 어떻게 여겨야 하는지?
자바스크립트와는 무슨 관계인지?
등등...