Do it 타입스크립트 2회독 후기

샌님·2021년 3월 29일
2

글잉 시즌1

목록 보기
7/9
post-thumbnail

Do it 타입스크립트 2회독 후기

타입스크립트 학습을 주저한 이유

타입스크립트를 배워보겠다고 다짐한 것은 꽤 되었다. 그런데 솔직히 리액트를 가지고 취업을 준비했던 시점에서 뭔가 리액트를 이용해서 결과물을 내놔야 취업하는 데 좀 더 구체적인 성과가 나지 않을까 하는 마음에 자바스크립트는커녕 리액트 라이브러리 자체에만 집중해서 결과물을 내는 데 급급했다.

당연히 리액트의 함수 컴포넌트가 어떠한 원리로 구성되어 있는지 대략적으로 파악하지 못하고 기본적인 배열 디스트럭처링(구조 분해 할당) 문법에 관해서도 이해하기가 힘들어서 외우다시피 하며 useState를 사용하곤 했다. 자바스크립트, 아니 리액트도 버거운데 타입스크립트를 쓴다고? 아냐. 아직은 아닌 듯해 하며 배우기를 계속 미뤄오게 되었다.

그런데 책을 학습하면서 느끼게 된 점은 타입스크립트는 학습 곡선이 그다지 크지 않다는 것이었다. 타입스크립트는 ES6까지의 문법을 포괄하고 있고 그보다 더 큰 개념(타입 등)을 다루고 있으므로 자바스크립트를 어느 정도만 알고 있었어도 ES6를 함께 공부하면서 시너지 효과를 낼 수 있었겠다는 생각이 들었다. 그러한 점에서 역시 언어라는 기본적인 관점을 먼저 이해하고 공부하는 것이 장기적으로 바라봤을 때는 좀 더 도움이 되겠구나 하는 생각을 하게 되는 계기가 되었다.

그렇지만, 사실 취업준비생 처지로서는 눈앞의 결과물을 내보겠노라고 고군분투하기 위해 차선책으로 최소한의 자바스크립트 문법 → 리액트 → 자바스크립트 → 타입스크립트 루트로 공부를 해왔는데 어쩌면 이렇게 공부할 수밖에 없었겠다는 생각이 들기도 하지만, 앞으로 공부하게 될 후임 개발자를 만나게 되면 꼭 자바스크립트라는 언어와 타입스크립트를 먼저 이해하고 리액트를 공부하는 것이 장기적인 면에서 도움이 될 것이라고 조언을 해주고 싶었다.

교재를 구매한 이유?

타입스크립트를 공부할 때 handbook 사이트도 있기는 했지만, 도대체 어떻게 구성하고 공부를 따라가는 게 좋을지 힌트를 얻고 싶어서 책을 구매하게 되었다. 책을 읽으면 목차를 보면서 어떻게 학습을 해야 할지 로드맵을 한눈에 이해할 수 있어서 쉬웠다.

3월 9일에 배송을 받고 현재까지 2회독을 했다. 1회독할 때는 몰랐던 것들이 보이기도 하고 2회독에서는 1회독 땐 이해했는데 가물가물한 개념이 보이기도 한다. 아직은 더 연습을 해야 할 것 같다.

Do it! 타입스크립트 프로그래밍을 선택한 이유?

공무원 시험을 준비했을 때부터 알고 있는 기법을 사용했다.
YES24.com에서 타입스크립트Typescript를 검색하여 인기도가 높은 교재를 먼저 검토하고 개념에 충실한 도서를 확인하는 것을 목표로 했다.

그중 아래와 같이 두 권의 책이 보였는데 개인적으로는 조금 더 깔끔하게 구성된 책인 Do it 시리즈에 나만의 가산점(?)을 부여하여 책을 선택하게 되었다.

총평: 타입스크립트와 연관된 개념까지 함께 공부할 때 추천

이 책의 목차는 다음과 같이 구성되어 있는데 온전히 타입스크립트만의 내용을 담고 있는 것은 아니었고 람다 라이브러리나 모나드, 함수형 프로그래밍과 같은 개념을 함께 담고 있는 책이었다. 여러 방면의 지식을 같이 얻어갈 수 있긴 하겠지만, 타입스크립트에 온전하게 집중하여 공부할 수 있는 책이라고는 답할 수 없는 부분이 있다.

목차
01장 타입스크립트와 개발 환경 만들기
___01-1 타입스크립트란 무엇인가?
___01-2 타입스크립트 주요 문법 살펴보기
___01-3 타입스크립트 개발 환경 만들기

02장 타입스크립트 프로젝트 생성과 관리
___01-1 타입스크립트 프로젝트 만들기
___02-2 모듈 이해하기
___02-3 tsconfig.json 파일 살펴보기

03장 객체와 타입
___03-1 타입스크립트 변수 선언문
___03-2 객체와 인터페이스
___03-3 객체와 클래스
___03-4 객체의 비구조화 할당문
___03-5 객체의 타입 변환

04장 함수와 메서드
___04-1 함수 선언문
___04-2 함수 표현식
___04-3 화살표 함수와 표현식 문
___04-4 일등 함수 살펴보기
___04-5 함수 구현 기법
___04-6 클래스 메서드

05장 배열과 튜플
___05-1 배열 이해하기
___05-2 선언형 프로그래밍과 배열
___05-3 배열의 map, reduce, filter 메서드
___05-4 순수 함수와 배열
___05-5 튜플 이해하기

06장 반복기와 생성기
___06-1 반복기 이해하기
___06-2 생성기 이해하기

07장 Promise와 async/await 구문
___07-1 비동기 콜백 함수
___07-2 Promise 이해하기
___07-3 async와 await 구문

08장 함수 조합의 원리와 응용
___08-1 함수형 프로그래밍이란?
___08-2 제네릭 함수
___08-3 고차 함수와 커리
___08-4 함수 조합

09장 람다 라이브러리
___09-1 람다 라이브러리 소개
___09-2 람다 기본 사용법
___09-3 배열에 담긴 수 다루기
___09-4 서술자와 조건 연산
___09-5 문자열 다루기
___09-6 chance 패키지로 객체 만들기
___09-7 렌즈를 활용한 객체의 속성 다루기
___09-8 객체 다루기
___09-9 배열 다루기
___09-10 조합 논리 이해하기

10장 제네릭 프로그래밍
___10-1 제네릭 타입 이해하기
___10-2 제네릭 타입 제약
___10-3 대수 데이터 타입
___10-4 타입 가드
___10-5 F-바운드 다형성
___10-6 nullable 타입과 프로그램 안정성

11장 모나드
___11-1 모나드 이해하기
___11-2 Identity 모나드 이해와 구현
___11-3 Maybe 모나드 이해와 구현
___11-4 Validation 모나드 이해와 구현
___11-5 IO 모나드 이해와 구현

12장 프로젝트 실습
___12-1 빅데이터 배치 프로그램 만들기
___12-2 몽고DB에 데이터 저장하기
___12-3 익스프레스 API 서버 만들기
___12-4 리액트와 부트스트랩으로 프런트엔드 웹 만들기

사실 타입스크립트의 교재를 고른 결정적인 이유는 유틸 타입과 같이 웹에서 흔히 다루지 않는 항목을 주제로 진지하게 공부하고 싶어서였는데 이 책에서는 다루지 않는다(그런데 아마 다른 책도 비슷할 것이다).

그렇지 않다고 하더라도 일단 타입스크립트만 놓고 공부하고 싶었는데 갑자기 람다 라이브러리와 함수형 프로그래밍과 같은 개념이 나와서 1회독을 할 때는 당황했었다. 그런데 2회독으로 공부할수록 이해되지 않았던 개념을 다시 타이핑하면서 함수형 프로그래밍을 학습하니 조금씩 이해가 되기 시작했다.

그런데... 솔직히 공부하면서 현재 시점에서는 람다 라이브러리나 모나드의 개념을 이해하는 것이 버겁기도 할뿐더러 현업에서는 내가 잘 사용하지 않는 개념인 것 같아서 2회독까지 모두 건너뛰게 되었다. 언젠가 배워볼 수 있기를...

profile
https://blog.crontables.com 이사했습니다

1개의 댓글

comment-user-thumbnail
2021년 9월 30일

안녕하세요 오랜만에 댓글 다네요. 타입 스크립트...참...취준생 입장에서 계륵이죠. 분명 업계 분들 만나면 거진 필수라고 얘기하시는 분들 밖에 없는데 취준생 입장에서는 리액트 포폴 1개라도 더 늘리거나 기존 자바스크립트 지식, 브라우저 지식 흡수 등 할게 적지 않으니까요...
우대사항이면 모를까 자격요건에 타입 스크립트 '경험' 해본 분 적혀 있으면 강제로 뒤로가기 누르는 중입니다...

답글 달기