{"product_id":"139070","title":"우아한 타입스크립트 with 리액트","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jXPBvrqUYE0gQ1w5PvJQ4gAWeeYqS.png?v=1765072588\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\u003ccenter\u003e\n\u003cdiv style=\"width:95%\"\u003e\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e우아한 타입스크립트 with 리액트\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/123049083\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003eDescription\u003c\/div\u003e\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e책소개\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e \u003cdiv\u003e  \u003cb\u003e주니어 프론트엔드 개발자를 위한 타입스크립트+리액트 온보딩 가이드\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e우아한형제들은 자바스크립트와 자체 개발 웹 프레임워크인 WoowahanJS를 사용했었다.\u003cbr\u003e그러나 서비스가 대규모 웹 애플리케이션으로 성장하면서 기존 기술의 한계를 느끼고 타입스크립트와 리액트를 프론트엔드 표준 기술로 도입했다.\u003cbr\u003e타입스크립트는 자바스크립트와 100% 호환되는 확장 언어로, 정적 타입을 지원하여 안정성과 유지보수성을 높여준다.\u003cbr\u003e또한 객체 지향 프로그래밍을 지원하여 복잡한 애플리케이션을 개발하는 데 적합하다.\u003cbr\u003e리액트는 UI를 개발하기 위한 라이브러리로 컴포넌트 기반의 개발 방식을 지원하여 코드의 재사용성과 유지보수성을 높여준다.\u003cbr\u003e이 책은 우아한형제들의 실제 코드를 기반으로 타입스크립트의 기본 개념 및 특성과 리액트 환경에서의 타입스크립트 활용법을 알려준다.\u003cbr\u003e또한 배달의민족 개발 사례와 우아한형제들 구성원의 인터뷰를 통해 실무에 바로 적용할 수 있는 다양한 기술 활용 팁을 소개한다.\u003cbr\u003e\u003cbr\u003e \u003c\/div\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cul\u003e \u003cli\u003e 책의 일부 내용을 미리 읽어보실 수 있습니다.\u003cbr\u003e\u003cspan\u003e미리보기\u003c\/span\u003e\n\u003c\/li\u003e \u003c\/ul\u003e \u003c\/div\u003e \u003c\/div\u003e \",\"\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e목차\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e  \u003cb\u003e1장 들어가며\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e1.1 웹 개발의 역사\u003cbr\u003e1.2 웹자바스크립트의 한계\u003cbr\u003e\u003cbr\u003e\u003cb\u003e2장 타입\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e2.1 타입이란\u003cbr\u003e2.2 타입스크립트의 타입 시스템\u003cbr\u003e2.3 원시 타입\u003cbr\u003e2.4 객체 타입\u003cbr\u003e\u003cbr\u003e\u003cb\u003e3장 고급 타입\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e3.1 타입스크립트만의 독자적 타입 시스템\u003cbr\u003e3.2 타입 조합\u003cbr\u003e3.3 제네릭 사용법\u003cbr\u003e\u003cbr\u003e\u003cb\u003e4장 타입 확장하기·좁히기\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e4.1 타입 확장하기\u003cbr\u003e4.2 타입 좁히기 - 타입 가드\u003cbr\u003e4.3 타입 좁히기 - 식별할 수 있는 유니온\u003cbr\u003e4.4 Exhaustiveness Checking으로 정확한 타입 분기 유지하기\u003cbr\u003e\u003cbr\u003e\u003cb\u003e5장 타입 활용하기\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e5.1 조건부 타입\u003cbr\u003e5.2 템플릿 리터럴 타입 활용하기\u003cbr\u003e5.3 커스텀 유틸리티 타입 활용하기\u003cbr\u003e5.4 불변 객체 타입으로 활용하기\u003cbr\u003e5.5 Record 원시 타입 키 개선하기\u003cbr\u003e\u003cbr\u003e\u003cb\u003e6장 타입스크립트 컴파일\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e6.1 자바스크립트의 런타임과 타입스크립트의 컴파일\u003cbr\u003e6.2 타입스크립트 컴파일러의 동작\u003cbr\u003e6.3 타입스크립트 컴파일러의 구조\u003cbr\u003e\u003cbr\u003e\u003cb\u003e7장 비동기 호출\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e7.1 API 요청\u003cbr\u003e7.2 API 상태 관리하기\u003cbr\u003e7.3 API 에러 핸들링\u003cbr\u003e7.4 API 모킹\u003cbr\u003e\u003cbr\u003e\u003cb\u003e8장 JSX에서 TSX로\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e8.1 리액트 컴포넌트의 타입\u003cbr\u003e8.2 타입스크립트로 리액트 컴포넌트 만들기\u003cbr\u003e8.3 정리\u003cbr\u003e\u003cbr\u003e\u003cb\u003e9장 훅\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e9.1 리액트 훅\u003cbr\u003e9.2 커스텀 훅\u003cbr\u003e\u003cbr\u003e\u003cb\u003e10장 상태 관리\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e10.1 상태 관리\u003cbr\u003e10.2 상태 관리 라이브러리\u003cbr\u003e\u003cbr\u003e\u003cb\u003e11장 CSS-in-JS\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e11.1 CSS-in-JS란\u003cbr\u003e11.2 유틸리티 함수를 활용하여 styled-components의 중복 타입 선언 피하기\u003cbr\u003e\u003cbr\u003e\u003cb\u003e12장 타입스크립트 프로젝트 관리\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e12.1 앰비언트 타입 활용하기\u003cbr\u003e12.2 스크립트와 설정 파일 활용하기\u003cbr\u003e12.3 타입스크립트 마이그레이션\u003cbr\u003e12.4 모노레포\u003cbr\u003e\u003cbr\u003e\u003cb\u003e13장 타입스크립트와 객체 지향\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e13.1 타입스크립트의 객체 지향\u003cbr\u003e13.2 우아한형제들의 활용 방식\u003cbr\u003e13.3 캡슐화와 추상화\u003cbr\u003e13.4 정리 \u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \",\"\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e상세 이미지\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e \u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate4323\/MidCate010\/432292296.jpg\" border=\"0\" alt=\"상세 이미지 1\"\u003e \u003c\/div\u003e \u003c\/div\u003e \",\"\u003cdiv\u003e \u003ch5\u003e\u003cb\u003e출판사 리뷰\u003c\/b\u003e\u003c\/h5\u003e \u003c\/div\u003e \u003cdiv\u003e \u003cdiv\u003e  \u003cb\u003e우아한형제들의 프론트엔드 개발자는 어떤 기술 스택을 쓸까?\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e우아한형제들은 자바스크립트와 자체 개발 웹 프레임워크인 WoowahanJS를 웹 프론트엔드 공식 기술 스택으로 사용했었다.\u003cbr\u003e하지만 서비스가 대규모 웹 애플리케이션으로 성장하면서 기존 기술로는 빠르게 변하는 비즈니스 요구를 충족하기 힘들었다.\u003cbr\u003e인터페이스를 파악하기 쉽지 않은 자바스크립트의 한계 등의 이유로 여러 기능을 변경하고 유지보수하는 데 어려움을 겪자 우아한형제들은 리액트 기반의 타입스크립트를 웹 프론트엔드 표준 기술 스택으로 도입하게 된다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003e왜 타입스크립트일까?\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e타입스크립트는 자바스크립트와 100% 호환되는 확장 언어로 정적 타입을 지원하여 안정성을 보장해준다.\u003cbr\u003e또한 객체 지향 프로그래밍 환경을 제공하기 때문에 복잡한 애플리케이션을 개발할 때 많은 도움이 된다.\u003cbr\u003e이처럼 다양한 장점 때문에 타입스크립트+리액트를 도입하여 성능과 안정성을 높일 수 있을 뿐 아니라 유지보수도 용이해진다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003e우아한형제들의 핸즈온 타입스크립트+리액트 가이드\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e이 책은 우아한형제들의 배달의민족 개발 사례를 기반으로 타입스크립트와 리액트 사용법을 소개한다.\u003cbr\u003e타입스크립트의 기초 문법과 특성을 익히고 리액트에서의 타입스크립트 활용법을 살펴보면서 어떻게 두 기술을 실무에 적용할 수 있는지를 배울 수 있다.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003e타입스크립트를 왜 배워야 할까?\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e타입스크립트를 배워야 하는 이유는 다양하다.\u003cbr\u003e- 오류 예방: 컴파일 단계에서 타입을 검사하기 때문에 실행 단계에서 발생할 수 있는 오류를 사전에 발견하고 수정할 수 있다.\u003cbr\u003e- 코드 가독성과 유지보수성 향상: 타입을 명시적으로 지정함으로써 코드의 의미를 명확하게 표현할 수 있고 코드의 재사용성과 유지보수성을 높일 수 있다.\u003cbr\u003e- 협업 효율성 향상: 타입을 통해 코드의 의도를 명확하게 전달할 수 있기 때문에 협업 효율성을 높일 수 있다.\u003cbr\u003e- 자바스크립트와 호환: 타입스크립트는 자바스크립트와 100% 호환되기 때문에 자바스크립트가 사용되는 어떤 곳이든 타입스크립트를 사용할 수 있다.\u003cbr\u003e\u003cbr\u003e이러한 특징으로 인해 많은 개발 조직이 타입스크립트를 사용하고 있다.\u003cbr\u003e개발자로서 더 나은 역량을 갖추기 위한 스킬 중 하나로 여겨지기 때문에 프론트엔드 개발자라면 익혀두는 게 좋다.\u003cbr\u003e\u003cbr\u003e\u003cb\u003e이 책의 대상 독자\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e타입스크립트나 자바스크립트를 접해본 적이 있지만 타입스크립트를 기초부터 깊이 있게 배우고 싶은 프론트엔드 주니어 개발자를 대상으로 한다.\u003cbr\u003e이 책은 타입스크립트의 기본 개념과 특징을 알려주고, 우아한형제들의 사용 예시를 기반으로 실무에서 타입스크립트와 리액트를 어떻게 활용하는지를 설명한다.\u003cbr\u003e\u003cbr\u003e\u003cb\u003e이 책을 읽기 전에 알아야 할 지식\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003eHTML, CSS, 자바스크립트 기초를 배운 경험이 있다면 수월하게 이 책을 읽을 수 있다.\u003cbr\u003e또한 리액트에서의 타입스크립트 활용법을 다루고 있기 때문에 리액트 기본 지식도 알고 있어야 한다.\u003cbr\u003e\u003cbr\u003e\u003cb\u003e이 책의 구성\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e1장 들어가며 : 자바스크립트의 역사와 한계를 간단히 알아보면서 타입스크립트가 등장하게 된 배경을 살펴본다.\u003cbr\u003e2장 타입 : 정적 타이핑을 하기 위해 타입스크립트가 제공하는 타입과 관련된 내용을 살펴본다.\u003cbr\u003e타입이란 무엇이며 다른 언어에서 타입은 어떻게 동작하는지를 살펴보고, 타입스크립트의 타입을 어떻게 쓸 수 있는지 알아본다.\u003cbr\u003e3장 고급 타입 : 자바스크립트 자료형에 없는 타입스크립트만의 타입 시스템을 소개한다.\u003cbr\u003e그리고 타입의 개념을 응용하여 좀 더 심화한 타입 검사를 수행하는 데 필요한 지식을 살펴본다.\u003cbr\u003e4장 타입 확장하기·좁히기 : 타입 확장과 타입 좁히기의 개념을 살펴보며 더욱 확장성 있고 명시적인 코드 작성법에 대해 알아본다.\u003cbr\u003e5장 타입 활용하기 : 우아한형제들의 타입스크립트 활용 사례를 소개한다.\u003cbr\u003e우아한형제들의 실무 코드 예시를 살펴보면서 정확한 타이핑을 하지 못해 발생하는 문제를 타입스크립트의 다양한 기법과 유틸리티 타입을 활용해 해결해본다.\u003cbr\u003e6장 타입스크립트 컴파일 : 타입스크립트가 실행되는 전반적인 흐름을 살펴보고, 타입스크립트 컴파일러의 주요 역할과 구조에 대해 알아본다.\u003cbr\u003e그리고 실제로 어떻게 컴파일하는지 확인해본다.\u003cbr\u003e7장 비동기 호출 : API를 요청하고 응답받는 행위는 모두 비동기로 이루어진다.\u003cbr\u003e이 장에서는 타입스크립트에서 비동기 요청을 어떻게 처리하고 관리하는지를 다룬다.\u003cbr\u003e8장 JSX에서 TSX로 : 리액트에서 사용하는 JSX 문법을 타입스크립트에 어떻게 적용하는지 소개한다.\u003cbr\u003e9장 훅 : 리액트에서 제공하는 몇 가지 훅을 사용하여 상태 또는 사이드 이펙트를 다루는 방법을 소개한다.\u003cbr\u003e또한 상태 로직을 재사용할 수 있게 해주고, 컴포넌트의 복잡성을 낮춰주는 커스텀 훅에 대해 알아본다.\u003cbr\u003e10장 상태 관리 : 리액트 애플리케이션에서 가장 중요한 역할을 하는 상태에 대해 알아본다.\u003cbr\u003e기본적인 상태의 개념을 익히고 어떻게 효율적으로 상태를 관리할 수 있는지를 살펴본다.\u003cbr\u003e11장 CSS-in-JS : CSS-in-JS는 자바스크립트에서 CSS를 작성하는 방식이다. CSS-in-JS를 적용하면 CSS 스타일을 문서 레벨이 아니라 컴포넌트 레벨로 추상화해주기 때문에 관리가 용이해진다.\u003cbr\u003e11장에서는 CSS-in-JS의 개념과 사용법에 관해 알아본다.\u003cbr\u003e12장 타입스크립트 프로젝트 관리 : 타입스크립트 프로젝트에서 유용하게 활용할 수 있는 개념과 팁을 소개한다.\u003cbr\u003e13장 타입스크립트와 객체 지향 : 타입스크립트와 리액트 환경에서 객체 지향을 어떻게 활용하고 더 나은 방향으로 발전시킬 수 있는지 알아본다.\u003cbr\u003e\n\u003c\/div\u003e \u003cdiv\u003e\u003c\/div\u003e \u003c\/div\u003e \"]\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003eGOODS SPECIFICS\u003c\/div\u003e\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003e발행일 : \u003c\/strong\u003e2023년 10월 31일\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003e쪽수, 무게, 크기 : \u003c\/strong\u003e380쪽 | 716g | 183*235*15mm\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN13 : \u003c\/strong\u003e9791169211567\u003c\/div\u003e\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN10 : \u003c\/strong\u003e1169211569\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ccenter\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003cspan\u003e\u003c\/span\u003e\n\u003c\/center\u003e\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893339062314,"sku":"139070","price":41.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/8cb4448a338a255ab252affa6c92a382.jpg?v=1765397171","url":"https:\/\/librairie.coreenne.fr\/ko\/products\/139070","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}