티스토리 뷰

자바스크립트 패턴과 테스트

서버개발과 관련된 다양한 주제들 중 자바스크립트 패턴에 관한 책을 하나 선정해서 읽어보았습니다.

자바스크립트만의 독특한 문법 구조를 이해하고 견고한 프로그램을 개발하는 데 필요한 기술과 원리를 설명한다. 콜백 패턴, 프라미스 패턴, 싱글톤 패턴, 장식자 패턴 같은 패턴과 단위 테스팅을 활용해서 오류 없고 견고한 프로그램을 개발하는 방법을 예제와 함께 보여준다. 이 책을 읽고 나면 패턴과 테스트는 물론 SOLID, DRY 같은 소프트웨어 공학 원칙과 테스트 주도 개발(TDD) 철학에 대한 통찰도 얻게 될 것이다.

1부 기초 다지기

__1장. 좋은 소프트웨어 만들기
____1.1 바르게 시작하는 코드 작성하기
____1.2 바르게 유지되는 코드 작성하기
____1.3 정리하기

__2장 도구 다루기
____2.1 테스팅 프레임워크
____2.2 의존성 주입 프레임워크
____2.3 애스팩트 툴킷
____2.4 코드 검사 도구
____2.5 정리하기

__3장 객체를 바르게 만들기
____3.1 원시형
____3.2 객체 리터럴
____3.3 모듈 패턴
____3.4 객체 프로토타입과 프로토타입 상속
____3.5 new 객체 생성
____3.6 클래스 상속
____3.7 함수형 삭속
____3.8 멍키 패칭
____3.9 정리하기

2부 패턴을 응용한 코드 테스팅

__4장 패턴이 좋은 점
____4.1 사례 연구
____4.2 어휘력을 늘려 더 멋진 코드 만들기
____4.3 잘 다듬고 테스트한 블록을 쌓아 믿음직한 코드 작성하기
____4.4 정리하기

__5장 콜백 패턴
____5.1 단위 테스트
____5.2 문제 예방
____5.3 정리하기

__6장 프라미스 패턴
____6.1 단위 테스트
____6.2 프라미스 체이닝
____6.3 프라미스 래퍼
____6.4 상태와 숙명
____6.5 표준 프라미스가 제이쿼리 프라미스와 다른 점
____6.6 정리하기

__7장 부분 적용 함수
____7.1 단위 테스트
____7.2 부분 적용 함수 만들기
____7.3 부분 적용 함수와 커링 구별하기
____7.4 정리하기

__8장 메모이제이션 패턴
____8.1 단위 테스트
____8.2 AOP로 메모이제이션 추가하기
____8.3 정리하기

__9장 싱글톤 패턴
____9.1 단위 테스트
____9.2 정리하기

__10장 팩토리 패턴
____10.1 단위 테스트
____10.2 팩토리 패턴 구현
____10.3 다른 팩토리 유형
____10.4 정리하기

__11장 샌드박스 패턴
____11.1 단위 테스트
____11.2 정리하기

__12장 장식자 패턴
____12.1 단위 테스트
____12.2 정리하기

__13장 전략 패턴
____13.1 단위 테스트
____13.2 정리하기

__14장 프록시 패턴
____14.1 단위 테스트
____14.2 정리하기

__15장 체이너블 메서드
____15.1 단위 테스트
____15.2 체이닝 덴
____15.3 정리하기

3부 자바스크립트 고급 특성을 응용한 테스팅과 코딩

__16장 인터페이스 없는 언어에서 인터페이스에 맞추기
____16.1 인터페이스가 좋은 점
____16.2 인터페이스 분리 원칙
____16.3 TDD 방식으로 규약 레지스트리 생성하기
____16.4 정리하기

__17장 인자 타입 확실히 하기
____17.1 자바스크립트는 인자 타입이 따로 없다!
____17.2 ContractRegistry를 확장하여 인자 체크하기
____17.3 규약 라이브러리 지원
____17.4 모두 합치기
____17.5 애스팩트 지향 솔루션 vs 정적 솔루션
____17.6 정리하기

__18장 call, apply, bind 삼인방
____18.1 this 바인딩 원리
____18.2 call, apply, bind를 응용한 코드의 작성과 테스팅
____18.3 정리하기

__19장 메소드 빌림
____19.1 빌리는 객체가 알맞은가?
____19.2 빌리는 객체에 미치는 부수 효과
____19.3 빌려주는 객체에 미치는 부수 효과
____19.4 정리하기

__20장 믹스인
____20.1 믹스인 만들어 스기
____20.2 정리하기

__21장 고급 프로그램 아키텍처 테스팅
____21.1 관찰자 패턴
____21.2 중재자 패턴
____21.3 정리하기

4부 고급 테스팅
__22장 DOM 접근 테스팅
____22.1 UI 단위 테스팅
____22.2 프로파일러로 코드 최적화
____22.3 정리하기

__23장 표준에 맞추기
____23.1 ESLint
____23.2 아키텍처 틀에 맞추기
____23.3 정리하기

5부 총정리
__24장 테스트 주도 개발 원칙 정리
____24.1 TDD의 의미를 다시 음미하자
____24.2 TDD 실천
____24.3 정리하기

__25장 자바스크립트 관용 구문 정리
____25.1 객체
____25.2 변수
____25.3 함수
____25.4 불 연산
____25.5 정리하기