• 메인으로 이동
    AD광고
    Best Seller소년 김구의 가슴 뜨거운 역사설민석의 한국사 대모험 38
    AD광고
    New행복을 선택하는 삶의 태도불행에 몰두하지 않는다
    • 베스트
    • 소득공제
    • 무료배송

    멀티패러다임 프로그래밍 - 객체지향 함수형 명령형의 통합적 사고로 구현하는 소프트웨어 설계와 구현

    • 유인동 저
    • 한빛미디어
    • 2025년 04월 21일
    10%34,20038,000
    적립금
    1,900원 (5% 적립)
    추가 적립
    추가 적립 안내
    • 5만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

    • 10만원 이상 결제 시 (*배송비 제외)

      정가제FREE(상품/사은품) 금액이 2,000원 이상이면 2,000원 추가적립

      정가제FREE(상품/사은품) 금액이 5,000원 이상이면 5,000원 추가적립

    결제혜택
    무이자 할부
    결제사 혜택
    쿠폰
    회원 가입 즉시 지급되는 적립금 과 등급별 다양한 회원 혜택 보기
    배송비
    무료  (해외배송의 경우 지역에 따라 상이)

    배송안내

    서울특별시 강남구 강남대로 542(논현동, 영풍빌딩)
    지금 택배 주문하면 9/16(수) 출고 가능
    택배보다 빠른, 나우드림
    34,200

    [네이버페이]

    상품 규격 정보
    상품상세정보
    ISBN ISBN-13 : 9791169213738
    쪽수512쪽
    크기기타 규격
    제품구성단행본
    이 책이 속한 분야
    • 컴퓨터/IT > 시스템공학
    관련 이벤트
    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    2026 추석 프로모션 - 영롱한 보름달처럼 풍성한 추석 혜택

    2026.09.09 ~ 2026.09.27

    • 사은품

    『유치원 Wars 17』 출간 기념 포토카드 증정!

    2026.09.01 ~ 2026.09.28

    • 사은품

    9월 특별선물 《영풍문고 리유저블백》

    2026.09.01 ~ 2026.09.30

    • 사은품

    이달의 리뷰왕

    2026.01.01 ~ 2026.12.31

    • 사은품

    신규가입시 최대 10,800원

    2025.12.31 ~ 2026.12.31

    • 사은품

    2026 추석 프로모션 - 영롱한 보름달처럼 풍성한 추석 혜택

    2026.09.09 ~ 2026.09.27

    • 사은품

    『유치원 Wars 17』 출간 기념 포토카드 증정!

    2026.09.01 ~ 2026.09.28

    책 소개

    좋은 코드엔 프로그래밍 패러다임의 경계가 없다!

    복잡한 문제를 해결하기 위해

    객체지향, 함수형, 명령형을 자유롭게 넘나들며 설계하고 구현하는 법

    견고한코드,유연한문제해결을위한멀티패러다임프로그래밍의모든것

     

    현대 개발에서는 객체지향, 함수형, 명령형 프로그래밍을 상황에 따라 유연하게 조합하는 역량이 필요합니다. 이 책은 세 가지 패러다임의 강점을 통합해 더 유연하고 견고한 소프트웨어를 설계할 수 있도록 실무 중심으로 설명합니다. 타입스크립트를 기반으로 반복자와 제너레이터, 리스트 프로세싱, 고차 함수 등 현대 언어의 기능을 폭넓게 활용하며, 프런트엔드와 백엔드 개발에 바로 적용할 수 있는 통찰을 제공합니다. 단순히 구현 방법을 알려주는 것에 머무르지 않고 왜 그렇게 구현해야 하는가를 설명해 개발자의 사고력과 설계 역량을 강화합니다. 더 나은 코드와 구조를 고민하는 개발자에게 이 책은 프로그래밍 시야를 확장하고 실무와 이론을 잇는 든든한 길잡이가 될 것입니다.

    목차

    [목 차]

    1장 멀티패러다임이 현대 언어를 확장하는 방법

    1.1 객체지향 디자인 패턴의 반복자 패턴과 일급 함수

    __1.1.1 GoF의 반복자 패턴

    __1.1.2 ArrayLike로부터 Iterator 생성하기

    __1.1.3 ArrayLike를 역순으로 순회하는 이터레이터 만들기

    __1.1.4 지연 평가되는 map 함수

    __1.1.5 멀티패러다임의 교차점: 반복자 패턴과 일급 함수

    1.2 명령형 프로그래밍으로 이터레이터를 만드는 제너레이터 함수

    __1.2.1 제너레이터 기본 문법

    __1.2.2 제너레이터로 작성한 reverse 함수

    1.3 자바스크립트에서 반복자 패턴 사례: 이터레이션 프로토콜

    __1.3.1 이터레이터와 이터러블

    __1.3.2 언어와 이터러블의 상호작용

    __1.3.3 제너레이터로 만든 이터레이터도 이터러블

    1.4 이터러블을 다루는 함수형 프로그래밍

    __1.4.1 forEach 함수

    __1.4.2 map 함수

    __1.4.3 filter 함수

    __1.4.4 고차 함수 조합하기

    __1.4.5 재미난 filter

    1.5 이터러블 프로토콜이 상속이 아닌 인터페이스로 설계된 이유

    __1.5.1 Web APINodeList도 이터러블

    __1.5.2 상속이 아닌 인터페이스로 해결해야 하는 이유

    __1.5.3 인터페이스와 클래스 상속

    1.6 요약 정리

     

    2장 함수형 프로그래밍과 타입 시스템 그리고 LISP

    2.1 타입 추론과 함수 타입 그리고 제네릭

    __2.1.1 타입 추론

    __2.1.2 함수 타입과 제네릭

    2.2 멀티패러다임 언어에서 함수형 타입 시스템

    __2.2.1 이터레이션 프로토콜과 타입 다시 보기

    __2.2.2 함수형 고차 함수와 타입 시스템

    __2.2.3 함수 시그니처와 중첩된 함수들의 타입 추론

    2.3 멀티패러다임 언어와 메타프로그래밍 - LISP로부터

    __2.3.1 Pipe Operator

    __2.3.2 클래스와 고차 함수, 반복자, 타입 시스템을 조합하기

    __2.3.3 LISP(클로저)에서 배우기 - 코드가 데이터, 데이터가 코드

    __2.3.4 클로저에서 map이 실행될 때

    __2.3.5 멀티패러다임 언어에서 사용자가 만든 코드이자 클래스를 리스트로 만들기

    __2.3.6 LISP의 확장성 - 매크로와 메타프로그래밍

    __2.3.7 런타임에서 동적으로 기능 확장하기

    __2.3.8 언어를 확장하는 즐거움

    2.4 요약 정리

     

    3장 코드 : 객체 : 함수 = Generator : Iterator : LISP = IP : OOP : FP

    3.1 코드가 곧 데이터 - 로직이 담긴 리스트

    __3.1.1 [for, i++, if, break] - 코드를 리스트로 생각하기

    __3.1.2 현대 언어에서 리스트 프로세싱 - 클로저, 코틀린, 스위프트, 스칼라, C#, 자바

    __3.1.3 언어를 넘어 적용 가능한 개념, 패러다임

    3.2 하스켈로부터 배우기

    __3.2.1 하스켈의 함수와 함수 시그니처

    __3.2.2 언어 차원에서 지원하는 커링

    __3.2.3 main 함수와 IO

    __3.2.4 head, map, filter, foldl 함수 시그니처

    __3.2.5 함수 합성 - . 연산자와 $ 연산자

    __3.2.6 sumOfSquaresOfOddNumbers 함수

    __3.2.7 파이프라인 스타일 - &

    __3.2.8 Either를 통한 에러 처리

    __3.2.9 패턴 매칭

    3.3 지연 평가 자세히 살펴보기

    __3.3.1 중첩된 이터레이터의 실행 순서 - 제너레이터로 확인하기

    __3.3.2 자세히 살펴보기

    __3.3.3 이터레이터로 직접 살펴보기

    __3.3.4 단순화해서 살펴보기

    3.4 Generator :Iterator :LISP - 지연 평가와 안전한 합성

    __3.4.1 find 함수 시그니처

    __3.4.2 하스켈에서 find 함수와 안전한 합성

    __3.4.3 find 함수로 생각하는 지연 평가와 리스트 프로세싱

    __3.4.4 타입스크립트에서의 안전한 합성

    __3.4.5 every 함수

    __3.4.6 some 함수

    __3.4.7 지연 평가에 기반한 break 로직 끼워 넣기

    __3.4.8 everysome 함수의 공통 로직을 함수형으로 추상화하기

    __3.4.9 concat으로 더하기

    3.5 요약 정리

     

    4장 비동기 프로그래밍

    4.1 값으로 다루는 비동기

    __4.1.1 Promise __4.1.2 new Promise( )를 직접 사용해본 적 있는가

    __4.1.3 Promise.race

    __4.1.4 IO 작업에 타임아웃 설정하기

    __4.1.5 응답 속도에 따라 다른 전략으로 UI 렌더링하기

    __4.1.6 Promise.all

    __4.1.7 Promise.allSettled

    __4.1.8 Promise.any

    4.2 지연성으로 다루는 비동기

    __4.2.1 Promise 실행을 지연하려면

    __4.2.2 GPT가 명령형으로 구현한 동시성 핸들링 함수

    __4.2.3 함수형으로 구현한 동시성 핸들링 함수

    __4.2.4 효과적인 비동기 핸들링으로 가는 계단 - 지연성

    4.3 타입으로 다루는 비동기

    __4.3.1 AsyncIterator, AsyncIterable, AsyncGenerator 프로토콜

    __4.3.2 AsyncIterable을 다루는 고차 함수

    __4.3.3 동기와 비동기를 동시에 지원하는 함수로 만드는 규약 - toAsync

    __4.3.4 타입 시스템 + 비동기 함수형 함수 + 클래스

    4.4 비동기 에러 핸들링

    __4.4.1 여러 이미지를 불러와서 높이 구하기

    __4.4.2 개선된 비동기 로직

    __4.4.3 에러가 제대로 발생되도록 하는 것이 핵심

    __4.4.4 안정적인 소프트웨어와 비동기 프로그래밍

    4.5 요약 정리

     

    5장 실전 함수형 프로그래밍

    5.1 실전 데이터 다루기

    __5.1.1 2차원 배열에서 숫자 다루기

    __5.1.2 농구팀 데이터 다루기

    __5.1.3 커머스 데이터 다루기

    __5.1.4 커머스 데이터 다루기 2

    __5.1.5 일관된 접근 방식으로 문제 해결하기

    5.2 더 많은 문제에 적용하기

    __5.2.1 pipe 함수

    __5.2.2 pipe와 비동기 함수 합성

    __5.2.3 zip 함수

    __5.2.4 인덱스가 값으로 필요할 때

    __5.2.5 콜라츠 추측 - 1이 될 때까지 세기

    __5.2.6 break를 대신하는 take, takeWhile, takeUntilInclusive

    __5.2.7 함수의 조합으로 만들어내는 로직

    5.3 백엔드 비동기 프로그래밍

    __5.3.1 커머스 플랫폼의 결제 프로세스 문제

    __5.3.2 결제 내역 동기화 스케줄러 만들기

    __5.3.3 해시 기반 접근으로 시간 복잡도 최적화

    __5.3.4 안정적인 비동기 작업 간격 유지

    __5.3.5 최대 요청 크기 제한을 효과적으로 처리하기

    __5.3.6 사전 카운트로 효율 높이기

    __5.3.7 병렬성으로 효율 높이기

    __5.3.8 리스트 프로세싱 기반 비동기/동시성 프로그래밍

    5.4 리스트 프로세싱 패턴화

    __5.4.1 변형-누적 패턴

    __5.4.2 중첩-변형 패턴

    __5.4.3 반복자-효과 패턴

    __5.4.4 필터-중단 패턴

    __5.4.5 무한-중단 패턴

    __5.4.6 분할-평탄 패턴

    __5.4.7 변형-평탄 패턴

    __5.4.8 결합-누적 패턴

    __5.4.9 해시-매치 패턴

    __5.4.10 리스트 프로세싱 함수 유형별 개념 정리

    5.5 요약 정리

     

    6장 멀티패러다임 프로그래밍

    6.1 HTML 템플릿 엔진 만들기

    __6.1.1 Tagged Templates

    __6.1.2 리스트 프로세싱으로 구현하기

    __6.1.3 pushconcat으로

    __6.1.4 XSS 공격 방지

    __6.1.5 중첩 데이터 처리로 컴포넌트 방식 개발 지원하기

    __6.1.6 구조의 문제는 객체지향으로, 로직의 문제는 함수형으로 해결하기

    __6.1.7 배열로부터 html 문자열 만들기

    __6.1.8 객체를 함수형으로 더하기

    __6.1.9 배열 처리를 클래스 내부로 이동하여 편의성 높이기

    __6.1.10 고차 함수로 추상화하기

    __6.1.11 작은 프런트엔드 개발 라이브러리 만들기

    __6.1.12 멀티패러다임 언어가 제시하는 기회

    6.2 멀티패러다임을 활용한 동시성 핸들링

    __6.2.1 executeWithLimit 다시 보기

    __6.2.2 GPT가 명령형으로 구현한 동시성 핸들링 함수

    __6.2.3 멀티패러다임으로 구현한 동시성 핸들링 함수

    __6.2.4 동시성(부하) 크기를 동적으로 변경할 수 있도록 확장하기

    __6.2.5 무한 반복되는 작업의 부하 조절하기

    __6.2.6 runAllSettled 추가하기

    6.3 요약 정리

     

    7장 객체지향 프런트엔드 개발 그리고 멀티패러다임적 접근과 응용

    7.1 Setting 앱 만들기

    __7.1.1 SwitchView

    __7.1.2 SettingItemView

    __7.1.3 SettingListView

    __7.1.4 SettingPage

    __7.1.5 전체 토글 기능 추가하기

    __7.1.6 객체 간 통신과 커스텀 이벤트 디스패치

    __7.1.7 이벤트가 자꾸 루프에 빠지고 부수 효과가 발생하는 이유

    __7.1.8 타입 안전한 커스텀 이벤트 통신 패턴

    __7.1.9 재사용 가능한 컴포넌트 SwitchView

    __7.1.10 패러다임이 만드는 리액티브한 코드

    7.2 Todo 앱 만들기

    __7.2.1 CheckView

    __7.2.2 추상 클래스와 상속

    __7.2.3 Headless UI

    __7.2.4 TodoItemView

    __7.2.5 계층적 캡슐화를 통한 도메인과 UI 명명 불일치 관리

    __7.2.6 TodoListView

    __7.2.7 제네릭 클래스로 추상화

    __7.2.8 TodoPage

    __7.2.9 인터페이스에 기반한 객체 간 통신으로 중복 제거하기

    __7.2.10 GoF의 디자인 패턴 관점으로 보기 - 전략 패턴

    __7.2.11 일급 함수를 활용한 객체 간 통신 - 콜백 인젝션 패턴

    __7.2.12 멀티패러다임적인 코드 설계

    7.3 Todo 앱 만들기 2

    __7.3.1 데코레이터로 코드를 간결하게

    __7.3.2 TextSubmitView

    __7.3.3 ListView에 헬퍼 메서드 추가하기

    __7.3.4 새로운 Todo 생성하기

    __7.3.5 SegmentControlView

    __7.3.6 휴리스틱 기반 DiffDOM 업데이트 최적화

    7.4 Todo 앱 만들기 3

    __7.4.1 상태 패턴으로 유연하게 만들기

    __7.4.2 상태 패턴 적용의 이점

    __7.4.3 런타임에서도 변경 가능한 코드와 소프트웨어 동작

    __7.4.4 상태 객체로 더 확장하기

    __7.4.5 멀티패러다임 객체지향 설계

    7.5 비동기와 UI, PromiseClass

    __7.5.1 Promise를 활용한 alert, confirm

    __7.5.2 값으로서의 Promise, 컴포넌트 간 통신 매개

    __7.5.3 그룹 채팅에 참여할 친구 선택하기

    추천사

    서광열 (코드박스 CEO, Ecma TC39 커미티 멤버, 하스켈 학교 운영자)

    객체지향에 익숙한 개발자라면 함수형 언어 특유의 간결한 코드와 예측 가능성, 병렬 처리의 효율성에 매료될 것이고, 함수형 프로그래밍에 익숙한 개발자라면 현실 세계를 쉽게 모델링할 수 있는 객체지향 특유의 유연성과 확장성에 놀랄 것입니다.

     

    조현우 (FxTS 메인테이너, 마플코퍼레이션 테크리드, 전 네이버 개발자)

    이 책은 단순한 기술서가 아닙니다. 복잡한 기능과 기술도 결국 탄탄한 기초 위에서 빛을 발한다는 사실을 명확히 보여주며 이를 기반으로 점진적이고 체계적으로 실력을 쌓아가는 과정을 제시합니다. 단순히 동작하는 코드를 넘어 기본적인 원리와 구조에 충실한 좋은 코드를 작성할 수 있는 힘을 기르게 해줍니다.

     

    김재민 (마플코퍼레이션 테크리드, OCI 차석 연구원)

    현대 프로그래밍 언어들이 이미 갖추고 있는 강력한 기능들을 재조명하며 그 잠재력을 최대한으로 끌어내는 방법을 보여주는 책입니다. 가장 인상 깊었던 점은 코드의 본질을 꿰뚫어 보는 저자의 통찰력입니다. 멀티패러다임 프로그래밍은 선택이 아닌 필수라고 생각합니다. 이 책은 각 패러다임의 강점을 정확히 이해하고 상황에 따라 최적의 도구를 선택하는 판단력을 길러줍니다. 저는 이 책이 단순한 기술 서적을 넘어 개발자에게 하나의 길잡이가 될 것이라 확신합니다

     

    이재승 (리액트 컨트리뷰터, 『실전 리액트 프로그래밍』 저자)

    수년 전 유인동 님을 사내 개발자 대상 강사로 모시며 처음 만났습니다. 그동안 수많은 강사를 모셨지만 유인동 님의 흥미진진한 강의는 단연 최고였습니다. 이 책은 당시 강의의 모든 내용을 담고 있으며 객체지향과 함수형 프로그래밍의 강점을 실무에 적용하는 구체적인 방법을 폭넓게 다룹니다. 초보 개발자부터 숙련된 전문가까지 프로그래밍 패러다임의 경계를 허물고 더 나은 코드를 작성하려는 모든 이들에게 큰 가치를 선사할 것입니다.

     

    이동욱 (인프랩 CTO, 전 우아한형제들 백엔드 리드)

    객체지향 프로그래밍과 함수형 프로그래밍은 서로 대치되는 개념처럼 보이지만 실제로는 함께 사용할 때 장점을 극대화할 수 있습니다. 그간 이 둘을 어떻게 함께 잘 사용할 수 있을지 혹은 서로의 장단점을 실전 사례로 소개하는 책이 없었습니다. 이제 국내에도 OOPFP를 조화롭게 사용할 수 있음을 이야기하는 책이 나왔습니다. 한 가지 패러다임에만 깊게 집중했던 분이라면 이 책을 통해 시야를 확장해볼 수 있는 기회를 가졌으면 합니다

     

    장기효 (캡틴판교, 네이버 프런트엔드 개발자)

    이 책의 핵심 메시지는 문제 해결에는 다양한 방식이 있다입니다. 이 메시지가 많은 개발자에게 울림이 되었으면 합니다. 실제로 많은 문제를 해결할 때 상황과 문맥에 맞는 적절한 패러다임을 선택해야 한다고 생각합니다. 이 책을 통해 좋은 코드와 프로그래밍 패턴에 대한 저자의 오랜 고민을 엿볼 수 있을 것입니다. 또한 다양한 프로그래밍 언어의 사상과 기본 문법을 살펴보고 타입스크립트 코드에 응용해보는 경험을 할 수 있습니다. 이 과정에서 현대 프로그래밍 언어의 추세를 이해할 수 있고 새로운 언어를 배우며 프로그래밍 능력을 한층 더 끌어올릴 수 있을 것입니다.

     

    편해걸 (플렉스 프런트 프로덕트 엔지니어, 전 라인플러스 개발자)

    객체지향과 함수형 프로그래밍을 멀티패러다임적으로 조화롭게 사용하는 방법을 실용적이고 깊이 있게 풀어낸 책입니다. 특히 타입스크립트를 중심으로 다루는 함수형 프로그래밍은 매우 흥미로웠습니다. 또한 복잡한 비즈니스 로직을 어떻게하면 안전하고 우아하게 해결할 수 있는지 그 통찰을 엿볼 수 있습니다. 프로그래밍 패러다임을 더 깊이 이해하고 실제 업무에 바로 적용할 수 있는 유용한 도구를 얻고 싶은 개발자라면 반드시 읽어볼 것을 추천합니다

     

    김영준 (플렉스 백엔드 프로덕트 엔지니어, 전 네이버페이 개발자)

    이 책은 단순히 이론을 설명하거나 기법을 소개하는 데 그치지 않고 멀티패러다임적인 사고를 통해 문제를 어떻게 이해하고 데이터를 다뤄 해결할 수 있을지 고민하게 만듭니다. 문제를 해결하는 과정에서 자연스럽게 코드의 유지보수성까지 고려하게 하여 더 나은 설계와 구현을 실현할 수 있도록 돕는 점도 인상적입니다. 읽는 내내 고민과 생각이 문제 해결 과정과 자연스럽게 이어지며 저자와 이야기를 나누는 듯한 느낌을 받았습니다. 독자 여러분도 저와 같은 배움과 즐거움을 경험하길 진심으로 바랍니다

     

    주홍철 (Mocha.js 컨트리뷰터, 『면접을 위한 CS 전공지식 노트』 저자)

    개발자에게 필요한 실력은 어떤 것들이 있을까요? 기술에 대한 숙련도, 아키텍처 구현 능력 그리고 아름다운 코드를 구축하는 능력이 필요하다고 생각합니다. 이 책은 바로 아름다운 코드를 구축할 수 있도록 도와줍니다. 또한 이 책에는 국가권력급 개발자가 알려주는 노하우가 담겨 있습니다. 저자 유인동 님은 로대시(Lodash), 람다 등 기존에 있던 함수형 라이브러리보다 더 뛰어난 fx.js를 만든 장본인입니다. 그러한 사람이 쓴 책이다? 그리고 이렇게까지 공을 들였다? 이 책, 두 번 이상 읽어볼 만한 명저라고 단언합니다

     

    박서진 (토스 프런트엔드 엔지니어링 헤드)

    언어를 능숙하게 다루는 개발자로 성장하고 싶다면 이 책을 펼쳐보세요. 언어를 단순히 활용하는 것을 넘어 밑바닥에 어떤 세심한 구조가 있는지 이해할 수 있습니다. 또한 이론적인 내용을 넘어 실전 전략을 제시합니다. 책에서 다루는 내용을 연습한다면 아무리 복잡한 배열을 처리하는 연산이더라도 작은 연산으로 쪼개어 연결하고 완성하는 함수형 프로그래밍의 재미와 아름다움을 체험할 수 있을 것입니다. 쉽게 다루기 어려운 까다로운 내용을 한 권의 책으로 엮어낸 저자의 노력에 박수를 보냅니다.

     

    조현영 (제로초, 스모어톡 CTO)

    자바스크립트 문법이 많이 발전해서 예전보다 쉽게 구현할 수 있다는 점에 놀랐습니다. 또한 객체지향이면 객체지향만, 함수형이면 함수형만 써야 하는 것 아닌가라는 의구심을 갖고 있던 차에 이 책을 읽고 하나만 선택할 필요가 없다는 것을 깨달았습니다. 각 패러다임의 장점을 취하면 되는 것이었는데 말이죠. 이 책은 불안해하던 저에게 멀티패러다임의 장점을 논리적으로 설명해줬습니다. 덕분에 앞으로 프로그래밍을 어떻게 해야 할지 길이 보입니다

     

    백병한 (현 당근 기술위원회, 전 신사업 엔지니어 리드)

    여러 패러다임을 조화롭게 활용하는 방안을 고민하던 차에 유인동 님의 신간 소식을 접하고 무척 반가웠습니다. 실제 현장에서 마주하는 문제를 오랫동안 고민한 사례를 기반으로 했기에 다 읽고 난 뒤에는 현업에서 곧바로 활용할 수 있는 팁과 노하우가 넘쳐날 것이라 기대합니다. 문제를 더 단순하게 패턴화하고 재조합하며, 코드의 예측 가능성과 테스트 용이성을 높이고 재사용성을 강화해 궁극적으로 생산성을 극대화하고 싶은 분들에게 이 책을 추천합니다.

     

    이선협 (코발트 CTO, 『코딩 테스트 합격자 되기: 자바스크립트 편』 저자)

    개발자는 프로그래밍 언어라는 도구를 통해 소프트웨어를 만듭니다. 망치만으로 집을 잘 지을 수 없는 것처럼 소프트웨어 또한 잘 만들려면 다양한 도구를 사용할 수 있어야 합니다. 따라서 멀티패러다임은 현실적인 대안입니다. 이 책은 그 사실을 다시 일깨워주며 저 또한 읽으면서 많은 것을 배웠습니다. 이론뿐만 아니라 실무에서 사용할 수 있는 예제 코드와 철학이 담겨 있습니다. 더 나은 소프트웨어를 만들고 싶은 개발자에게 강력하게 추천합니다.

    출판사 서평



    객체지향, 함수형, 명령형 이제는 선택이 아니라 조합!

    다양한 패러다임을 이해하는 순간, 코드의 시야가 넓어집니다

    객체지향, 함수형, 명령형은 더 이상 대립하거나 경쟁하는 개념이 아닙니다. 현대 언어들은 여러 패러다임을 포용하며 더욱 유연하고 강력한 도구로 진화하고 있습니다. 하지만 언어가 멀티패러다임을 지원한다고 해서 개발자가 자연스럽게 그 잠재력을 활용하게 되는 것은 아닙니다. 앞으로는 다양한 패러다임을 어떻게’ ‘조화롭게다룰 수 있는지가 더 중요합니다. 이 책은 그 과제에 실용적인 답을 제시합니다.

    실제 서비스에서 마주하는 복잡한 문제를 어떻게 멀티패러다임적으로 사고하고 해결할 수 있을지 구체적인 코드와 함께 보여줍니다. 반복자 패턴, 고차 함수, 제너레이터 같은 객체지향과 함수형의 고급 개념을 하나의 맥락 속에서 통합해 설명하며 타입스크립트를 중심으로 LISP, 하스켈, 자바 등의 철학을 자연스럽게 연결해냅니다.

    멀티패러다임 프로그래밍은 언어에 국한되지 않습니다. 프런트엔드 개발자는 자바스크립트의 본질과 새로운 설계 감각을, 백엔드 개발자는 비동기 프로그래밍을 잘 다루는 법과 효율적이고 안전한 데이터 처리 방법을 익히게 될 것입니다.

    ★주요 내용

    멀티패러다임 프로그래밍 언어의 장점과 실용성

    함수형 프로그래밍과 타입 시스템 그리고 LISP

    실전 객체지향 프로그래밍

    지연 평가와 비동기 프로그래밍

    실전 함수형 프로그래밍

    여러 패러다임을 상황에 맞게 조합하는 방법

     

    ★대상 독자

    더 효율적이고 견고한 코드를 작성하고 싶은 분

    탄탄한 기본기 위에 고급 개념을 더하고 싶은 분

    중급 이상 개발자로 성장하고자 하는 분

    타입스크립트와 자바스크립트를 사용하는 프런트엔드 개발자

    Node.js, Express.js, NestJS 등을 사용하는 백엔드 개발자

    특정 언어에 국한되지 않고 멀티패러다임 사고를 자신의 언어에 확장하고 싶은 분

     

    ★먼저 읽은 베타리더들의 한 마디

    이 책을 읽고 나서 그동안 무심코 사용한 문법이나 코드들 사이에 이미 멀티패러다임이 자리 잡고 있었다는 사실에 놀랐습니다. _김나영 (뱅크샐러드 건강팀 프런트엔드 개발자)

    코드 유지보수를 위해 많은 고민을 해왔습니다. 이러한 고민을 해결하기 위해 프로그래밍 패러다임은 꼭 거쳐야 하는 관문이었고 이 책 덕분에 시야가 한층 넓어졌습니다. _김만경 (나인아크 게임 서버 개발자)

    객체지향, 함수형, 명령형 등 다양한 프로그래밍 패러다임을 단순히 설명하는 것을 넘어, 멀티패러다임을 자유롭게 조합하여 활용할 수 있도록 돕는 실용적인 개발서입니다. _김영은 (백엔드 개발자)

    객체지향과 함수형 패러다임이 서로 조화롭게 공존할 수 있음을 알게 되었고 예제 코드를 통해 빠르게 이해할 수 있었습니다. _박소예 (프런트엔드 개발자)

    실무에서 자주 간과하기 쉬운 함수형 개념들을 탄탄하게 설명하고 실제 코드와 프로젝트에 어떻게 적용할 수 있는지를 구체적으로 보여줍니다. _서재완 (프런트엔드 개발자)

    프레임워크에 익숙해지면서 자칫 놓치기 쉬운 자바스크립트의 기본기를 탄탄히 다지는 데도 큰 도움이 되는 책입니다. _성현제 (프런트엔드 개발자)

    백엔드 개발자라면 한 번쯤 꼭 읽어보기를 권하고 싶은 책입니다. 단순히 기술을 겉핥기식으로 익히는 것이 아니라 그 본질을 꿰뚫고 깊이 있게 이해하는 데 큰 도움이 됩니다. _신윤수 (Node.js 백엔드 개발자)

    특정 언어에 국한되지 않고 프로그래밍 패러다임의 쓰임새를 확실히 구분하여 설계하는 방법을 배울 수 있습니다. _윤수혁 (웹 개발자)

    자바스크립트 언어를 깊게 이해하고 함수형과 객체지향 패러다임을 이해하고 적용할 수 있는, 두 마리 토끼를 잡을 수 있는 책입니다. _윤영선 (백엔드 개발자)

    어떤 패러다임을 채택하더라도 더욱 가독성 높고 효율적으로 데이터를 처리할 수 있게 도와줍니다. _이기웅 (프런트엔드 개발자)

    멀티패러다임적 사고가 어디까지 확장될 수 있을지 상상하게 만드는, 꼭 추천하고 싶은 책입니다. _임혁 (백엔드 개발자)

    이론과 실무 사이의 간극을 훌륭하게 메워주는 책입니다. 마치 옆에서 라이브 코딩을 하며 설명해주는 듯한 느낌이 들었습니다. _정동환 (프런트엔드 개발자)

    저자 소개
    저자 : 유인동
    도서리뷰 (0)
    이 책을 읽고 어떤 느낌을 받으셨나요? 리뷰를 남기고 다른 독자들과 함께 공유해보세요.

    등록된 리뷰가 없습니다

    첫번째 리뷰어가 되어주세요

    이 책과 함께 구매한 책
    주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 시행착오를 줄여주는 실무 밀착 백엔드 개발 가이드최범균 | 한빛미디어
    DuckDB 인 액션 - SQL만 알면 되는 로컬 데이터 분석 DuckDB로 가볍게 시작한다(프로그래밍 인사이트)마크 니드햄, 마이클 헝거, 마이클 시몬스 | 인사이트
    시스템 설계 면접 완벽 가이드 - 노련한 소프트웨어 엔지니어가 되기 위한 시스템 설계의 모든 것(위키북스 시스템 & 네트워크 시리즈 17)지용 탄 | 위키북스
    Do IT LLM을 활용한 AI 에이전트 개발 입문 GPT API+딥시크+라마+랭체인+랭그래프+RAG이성용 | 이지스퍼블리싱
    제품을 성공시키는 프로덕트 매니저의 비밀- 기본 개념부터 협업의 기술까지 선배 PM이 알려주는 실무 노하우곽나래 | 길벗
    주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 시행착오를 줄여주는 실무 밀착 백엔드 개발 가이드최범균 | 한빛미디어
    DuckDB 인 액션 - SQL만 알면 되는 로컬 데이터 분석 DuckDB로 가볍게 시작한다(프로그래밍 인사이트)마크 니드햄, 마이클 헝거, 마이클 시몬스 | 인사이트
    시스템 설계 면접 완벽 가이드 - 노련한 소프트웨어 엔지니어가 되기 위한 시스템 설계의 모든 것(위키북스 시스템 & 네트워크 시리즈 17)지용 탄 | 위키북스
    Do IT LLM을 활용한 AI 에이전트 개발 입문 GPT API+딥시크+라마+랭체인+랭그래프+RAG이성용 | 이지스퍼블리싱
    제품을 성공시키는 프로덕트 매니저의 비밀- 기본 개념부터 협업의 기술까지 선배 PM이 알려주는 실무 노하우곽나래 | 길벗
    주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 시행착오를 줄여주는 실무 밀착 백엔드 개발 가이드최범균 | 한빛미디어
    DuckDB 인 액션 - SQL만 알면 되는 로컬 데이터 분석 DuckDB로 가볍게 시작한다(프로그래밍 인사이트)마크 니드햄, 마이클 헝거, 마이클 시몬스 | 인사이트
    시스템 설계 면접 완벽 가이드 - 노련한 소프트웨어 엔지니어가 되기 위한 시스템 설계의 모든 것(위키북스 시스템 & 네트워크 시리즈 17)지용 탄 | 위키북스
    이 분야에서 요즘 뜨는 책
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
    엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    비전공자를 위한 이해할 수 있는 파이썬 - 챗GPT 시대에 최적화된 파이썬 공부법최원영 | 티더블유아이지
    엔트리 인공지능 with 햄스터 로봇 - 개정판강윤지,박찬규,강성웅,김원유,심재민,김연구,홍성용,김경상,정인재 | 영진닷컴
    에러가 무섭지 않게 되는 책 - 에러 잘 읽는 법부터 효율적으로 디버깅하고 디버깅이 쉬운 코드를 작성하는 법까지사쿠라바 히로유키, 모치즈키 고타로 | 제이펍
    AI혁신:개정판 - 나의 커리어를 높이는 스마트워크 전략박대형, 김상용, 차명일, 임성기 | 지식과감성
    인생 언리얼 5 프로젝트 교과서 - 언리얼 엔진으로 3D 이머시브 콘텐츠 개발이영호, 박원석, 박현상, 탁광욱, 이영훈, 김현진 | BM성안당
    이 분야의 화제의 신간
    일상에 바로 쓰는 일잘러의 바이브 코딩 활용법임재희, 조효기, 이정용 | 제이펍
    AI 시스템 설계 - 불확실한 AI를 운영 가능한 시스템으로 만드는 구조와 원칙이한울 | 한빛미디어
    클로드와 엑셀로 시작하는 AI 주식 투자 - 데이터 수집부터 대시보드 자동화와 투자 판단까지 나만의 AI 주식 비서 만들기LearnAI Team | 위키북스
    AI와 일하는 기술 - 성과를 만드는 365가지 AI 치트키최정혜, 김여립, 이동근, 뉴럴웨이브 | 한국경제신문
    AI 편집 디자인 - AI x 인디자인 x 일러스트레이터 x 포토샵으로 배우는 디자인 실무 편집 디자인 브로슈어 포스터 패키지 출판 편집 포트폴리오까지이미정, 유은진, 강경희, 신호진, 앤미디어 | 길벗
    일상에 바로 쓰는 일잘러의 바이브 코딩 활용법임재희, 조효기, 이정용 | 제이펍
    AI 시스템 설계 - 불확실한 AI를 운영 가능한 시스템으로 만드는 구조와 원칙이한울 | 한빛미디어
    클로드와 엑셀로 시작하는 AI 주식 투자 - 데이터 수집부터 대시보드 자동화와 투자 판단까지 나만의 AI 주식 비서 만들기LearnAI Team | 위키북스
    AI와 일하는 기술 - 성과를 만드는 365가지 AI 치트키최정혜, 김여립, 이동근, 뉴럴웨이브 | 한국경제신문
    AI 편집 디자인 - AI x 인디자인 x 일러스트레이터 x 포토샵으로 배우는 디자인 실무 편집 디자인 브로슈어 포스터 패키지 출판 편집 포트폴리오까지이미정, 유은진, 강경희, 신호진, 앤미디어 | 길벗
    일상에 바로 쓰는 일잘러의 바이브 코딩 활용법임재희, 조효기, 이정용 | 제이펍
    AI 시스템 설계 - 불확실한 AI를 운영 가능한 시스템으로 만드는 구조와 원칙이한울 | 한빛미디어
    클로드와 엑셀로 시작하는 AI 주식 투자 - 데이터 수집부터 대시보드 자동화와 투자 판단까지 나만의 AI 주식 비서 만들기LearnAI Team | 위키북스
    교환/반품/환불
    반품/교환방법
    • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
    • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
    반품/교환 가능기간
    • 변심반품의 경우 수령 후 7일 이내
    • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
    반품/교환비용
    • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
    반품/교환 불가 사유
    • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 만화, 잡지, 수험서 및 문제집류
    • 복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
    • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    상품 품절
    • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
    공지사항
    • [이벤트 당첨자 발표] 8월 모두의 서가 이벤트 당첨자 판매금액 리워드 안내
    • [이벤트 당첨자 발표] 26년 8월 <리뷰왕을 찾아라> 이벤트 당첨자 안내
    • [이벤트 당첨자 발표] 서울국제정원박람회, 김진명 작가 북토크 당첨자 안내
    • [이벤트 당첨자 발표] 9월 모두의 서가 이벤트 당첨자 안내
    • [공지사항] 스타필드마켓 월계 문구복합매장 그랜드 오픈 🎊 이벤트 안내!
    공지더보기