-
-
우아한 타입스크립트 with 리액트 - 배달의민족 개발 사례로 살펴보는 우아한형제들의 타입스크립트와 리액트 활용법
우아한형제들 웹프론트개발그룹 지음, 김민태 감수 / 한빛미디어 / 2023년 10월
평점 :
책의 제목은 "우아한 타입스크립트 with 리액트" 입니다.
부제는 "배달의민족 개발 사례로 살펴보는 우아한형제들의 타입스크립트와 리액트 활용법" 입니다.
이 책은 타입스트립트 책입니다. 저자분은 특정 1인이 아닌, 우아한 형제들에서 "웹프론트개발그룹" 에서 공동집필을 하였습니다.
총 8분이 공동집필하셨습니다. 정말 좋은 오보딩 가이드 책이 될것 같습니다.
이렇게 회사에서 실제 사용하는 실무코드 및 노하우를 설명해주는것이 개발자 입장에서는 매우 현실적인 조언이 되기 때문입니다.
■ 책의 구성
· 기본적으로 타입스크립트를 설명합니다. 다만 기본적인 html,css,javascript를 알고 있다면 조금 수월하게 책을 접할수 있습니다.
· React를 알고 있으면, 우형에서 React의 JSX문법활용, Hock, 상태관리를 사용할때, 어떻게 ts를 적용하는지 알려줍니다.
하지만 React를 알지 못하여도, 타입스크립트만 학습해도 문제는 없습니다. (추후에 활용하게 될 기회가 많이 있을것으로 생각합니다)
· 책의 예제 저장소 : https://github.com/woowa-typescript
■ 구성되어진 내용
· 기존에 javascript를 조금이라도 알고 계신 개발자 분들이라면, 초반 chapter를 개념도 정리하고 재미있게 읽으실수 있습니다.
· 강타입 / 약타입을 설명할때, 아래와 같이 다른 언어도 함께 예시를 들어주시는 부분이 좋았습니다.
아래와 같이 책에 전반적으로 typescript로 작성시, 또는 javascript로 작성시 다른점,차이점이 직관적으로 예시를 통해서 설명되어지는 부분은 ts의 장점, 차이점을 알아볼수 있어서 학습하고 이해하기에 충분한 예시를 제시합니다.
추가로 java등 다른 언어에 대해서도 다양하게 예시로 활용해서, 다각도로 예시를 들어주는 책인것을 알수 있었습니다.
· typescript의 독자적인 타입은 기존 javascript를 사용했을때 없는 개념이여서 혼돈이 있는 부분입니다.
any, unknown, void, never등의 타입에 대해서 개념을 쉽게 잡을수 있게 설명되어 집니다. 일방적으로 문법적으로 설명하기 보다는
어떠한 경우에 대해서 사용하는지, 이러한 타입에 대한 개념은 ts를 이해하는 가장 기본적인 개념입니다.
여기에 정의된 타입을 잘 이해하고 사용해야, 의도한 타입이 체크되고 활용할수 있습니다.
제네릭에 대한 부분도 함께 고려할수 있습니다.
· 타입에 대해서 확장을 하고 기존타입을 사용해서 새로운 타입을 정의할수 있습니다.
기본적으로 타입스크립트에서는 interface 와 type키둬드를 사용해서 타입을 정의하고, extends, 교차타입, 유니온 타입을 사용하여 타입을 확장합니다. 타입 확장에 대한 예시를 구성할때, 우리가 익숙한 배달의 민족의 예시를 사용해서 설명을 하는 것은 책의 재미를 줍니다.
타입을 사용할때 무조건 확장을 반대로 줄이는 것도 필요하다. 타입을 좁히기를 통해 더 정확하고 명시적인 타입 추론을 할수 있게 되고, 복잡한 타입을 작은 범위로 축소하여 타입 안정성을 높일수 있다.
- 타입가드에 따라 분기 처리, typeof, instanceof, in, is 연산자를 활용해서 다양한 기법을 제시합니다.
■ 활용적인 내용
· 6장부터는 ts의 문법보다는 아래와 같은 사항들이 설명되어 집니다.
타입스크립트도 javascript로 변경이 되어야 합니다. ts로 코드를 작성하였어도 언제, 어떤 방식으로 변환이 되는지 알게 된다면 타입스크립트의 컴파일 하는 과정을 통해서 동작원리를 파악하게 됩니다.
· 실제 비지니스 로직을 수행하기 위해서 API를 호출하게 됩니다. 이러한 부분은 비동기 호출이 필요한 부분으로 처리를 하는데 그러한 방법은 fetch, Axios등을 활용한 실제 데이터를 서버에서 받아와서 처리하는 부분에 대한 내용으로 구성됩니다. 호출도 중요하지만, 실제 받아온 result에 대해서 타입스크립트에서 어떻게 처리하는지에 대한 부분도 매주 중요합니다. 응답값에 대한 Superstruct 활용사례 및 API의 상태관리하는 방법에 대한 내용이 있습니다.
· react를 사용할때 JSX문법을 사용하는데, jsx에 대해서 어떻게 타입스크립트에 적용하는지 8장에서 언급됩니다.
· 추가로 react에 hock을 사용할때에는 useState, useEffect등등을 어떻게 적용할지, custom hock에 대한 부분이 있습니다.
· 실제 타입스크립트의 프로젝트를 진해할때 어떻게 관리하고 주의해야 하는지 12장에서 설명됩니다. 타입스크립트의 유용하게 활용할수 잇는 개념과 팁이 소개됩니다. 앰비언트 타입 활용을 하고, 실제 우아한 형제들에서 declare 키워드를 활용한 사례도 살펴봅니다.
■ 누군가 기술적인 고민, 질문등 나와 같은 고민을 우형에서 함께 고민해주는 느낌
· 우형에 고민했던 현실적인 이야기들이 책의 곳곳에 있습니다. 여러가지 "우형 이야기" 중에서 평소에 고민을 해보았던 내용이 있다면
그리고 답을 아직 찾지 못하였던 부분에 대해서 이책을 통해서 아...나만 고민했던 부분이 아니구나!!
이렇게 결론을 낼수 있고 접근하면 되는구나...!!
이러한 부분이 하나라도 있다면, 정말 이책은 독자분에게 도움이 될것 같습니다. 언급되는 내용이 기본적인 문법적인 부분도 있고 평소에 개발을 할때, 고민이 당연히 되는 다양한 현실적인 이야기를 담겨 있어서 매우 좋았던 부분입니다.
· 5장에서는 조금더 우아한형제에서 사용하는 코드를 경험 할 수 있습니다. 실제 코드 예시를 살펴보면서, 정확한 타이핑을 하지 못해 발생하는 문제를 타입스크립트를 이용해서 해결해봅니다. 추가로 react, react-query 코드를 포함하는 예제를 통해서 실제 활용하는 예제를 경험하면서, 현업에서 시행착오를 줄일수 있게 가이드 합니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."