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

Shubi Docs

타입스크립트로 마이그레이션하기