웹 개발 공부, '자바스크립트'를 넘어 '타입스크립트'를 공부할 때 꼭 봐야 하는 책 : ❮러닝 타입스크립트❯ 도서 리뷰

2023. 2. 26. 23:35도서 리뷰

다시 시작한 웹 개발 공부

대략 10년 전에 IT 기업에서 개발을 했었다. 여행을 너무 좋아한 나머지 회사를 퇴사하긴 했지만, 그 시절의 낭만이 그리울 때가 있다. 아침에 하는 티 타임, 정기 세미나, 애자일과 회고 같은 것들. (이런 게 그리운 거 보니 추억이 자동보정 된 것 같다)

시계를 되돌릴 수는 없지만 그때의 기분을 다시 느껴보고자 올해 개발 공부를 다시 시작했다. 분야는 웹 프론트엔드! 예전에 잠깐 개발했던 경력이 있다고 해도 웹 개발을 했던 건 아니어서 지금은 코린이 단계나 마찬가지이다.

오랜만에 개발을 하니 그 사이에 많은 것이 바뀌었음을 느끼게 되었다. 특히 학습의 패러다임이 책에서 인터넷으로 완전히 변화했다는 걸 알았다. 라떼는 책을 본 후 풀리지 않는 게 생기면 커뮤니티를 이용하곤 했는데, 지금은 유튜브 무료강의 아니면 사이트 유료강의가 대세인 것 같다.

프로 본질러의 선택은 "책"

하지만 나는 프로 본질러다. 여전히 지식의 원천은 책에 있다고 믿는다. 그래서 이번에도 학습의 중심축으로 책을 선택했다. 내가 트렌드를 거스르는 것일까? 살짝 그런 것 같기는 하다만 어쩔 수 없다. 온라인 강의가 아무리 대세인들 나와 맞지 않고 무엇보다 책이 가지는 장점이 강력하니까.

물론 모든 책이 다 훌륭하지는 않다. 개중에는 읽는 것이 시간 낭비가 되는 책도 분명 있다. 자바스크립트에 이어 타입스크립트를 공부하면서 내가 고른 책은 "러닝 타입스크립트"이다. 이 책이 타입스크립트를 공부할 때 왜 최고의 선택인 지 알아보겠다.

타입스크립트의 마스터가 되고 싶다면? "러닝 타입스크립트"

지은이

조시 골드버그. 뉴욕 출신의 프론트엔드 개발자이다. 사실 어디 출신인지가 중요한 건 아니고, 이력을 보면 믿음이 갈 것이다. 마이크로소프트에서 리치 클라이언트 애플리케이션을 설계했고, typescript-eslint와 TypeStat과 같은 오픈 소스 프로젝트와 타입스크립트에 정기적으로 기여하는 풀타임 오픈소스 유지 관리자이다.

타입스크립트를 공부하기 위해 이보다 훌륭한 과외 선생님이 있을까? 타입스크립트를 만든 곳이 어디인가? 마이크로소프트이다! 우리나라에도 훌륭한 개발자와 강사가 많지만, 이 정도의 오리지널리티를 가지고 있는 사람을 찾는 건 쉽지 않다. 프로그래밍 언어는 뭐니뭐니해도 그 언어와 가장 가까운 사람에게 배우는 것이 무조건 유리하다.

옮긴이

책의 원문이 아무리 좋아도 번역 과정에서 문제가 되는 경우가 종종 있다. 요즘에는 많이 해결된 것 같긴 한데, 예전에는 비전공자가 IT 기술서적을 번역해서 외계어 책이 되는 케이스가 꽤 있었다.

"러닝 타입스크립트"는 옮긴이가 고승원 님이다. 나는 이 분이 번역했다는 걸 보고 깜짝 놀랐다. 왜냐면 고승원 님이 운영하는 유튜브 채널인 개발자의 품격을 최근에 꽤 많이 시청했기 때문이다.

본질러는 본질러를 알아보는 법! 개발자의 품격에서 영상 1-2개를 보면 내공이 깊은 사람이라는 것을 여러분도 알 것이다. 조회수 뽑아 먹기 위해 자극적인 영상을 올리는 분이 아니다. 고승원 님이 번역한 책이라는 점에서 책에 대한 믿음이 확실해졌다.

이 책은 프로그래밍 언어를 배울 때 기초가 얼마나 중요한지를 보여줍니다. 타입스크립트 그 자체에 너무나도 충실한 책입니다. 타입스크립트로 프로젝트를 진행할 때 사용할 수 있는 다양한 전략을 소개합니다.
- 옮긴이의 말 中 -

역설적이지만 적절한 제한이 있을 때 무한한 자유를 누릴 수 있다.

타입스크립트는 왜 해야 하는가?

나 같은 경우 C와 C++, Java 같은 정통적인(?) 언어를 해왔다. 그러다 자바스크립트를 보니 어떠한 규칙도 없어 보이는, 사실상 무제한의 자유가 주어지는 언어였고 막상 사용하려니 참 난감했다.

그도 그럴것이, 나중에 알고보니 자바스크립트를 만든 개발자가 단 열흘 만에 언어를 만들었다고 하더라. 만들 당시에는 이 언어가 지금과 같이 전 세계에 강력한 영향력을 미칠 거라고는 생각 못했을 것이다.

어쨌든, 자바스크립트는 매우 불완전하게 만들어졌고 언어를 수정하자니 영향을 받는 웹사이트가 너무 많았다. 그래서 그 이후로 이 언어의 발전은 원래 기능을 그대로 두고 추가/보완하는 방식으로 발전하게 되었다.

이런 상황에서 타입스크립트는 기존 자바스크립트에 타입을 제한하는 형태의 언어로 개발되었다. 그러니까 나처럼 자바를 했던 사람이 봤을 때는 당연하게 있어야 하는 것이 타입스크립트를 통해 이제서야 구현이 된 것인데, 처음부터 자바스크립트만 해온 사람은 성가시게 느껴질 수도 있다.

타입스크립트에서는 엄격한 Null 검사가 가능!

그러나 타입스크립트의 제한과 강제성은 코드의 안정성을 위해 취해지는 조치이며, 기존 자바스크립트로 구현한 프로젝트에 영향을 미치지 않는다는 장점이 있다. 무슨 뜻이냐면 코딩만 타입스크립트로 할 뿐 컴파일러를 통해 궁극적으로는 순수 자바스크립트 코드를 생성하게 된다.

그렇기 때문에 타입스크립트를 앞으로 웹 프로젝트에서 하지 않을 이유가 없다. 유튜브에서 인기있는 코딩 관련 채널인 노마드코더의 니콜라스 역시 타입스크립트를 알게된 후 자신은 중요한 모든 프로젝트에 자바스크립트가 아닌 타입스크립트로 코드를 짠다고 말했다.

물론 타입스크립트로 코딩을 하려면 자바스크립트 학습이 선행되어야 한다. 하지만 모든 프로그래밍 언어 학습이 그렇듯이 특정 언어를 '마스터하는 단계'에 오르는 건 사실상 불가능하다. 그런 측면에서 자바스크립트의 기초 학습이 끝났다면 다음 단계 JS 학습을 하며 "러닝 타입스크립트" 책으로 타입스크립트를 함께 볼 것을 추천한다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."