본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

쏙쏙 들어오는 함수형 코딩 심플한 코드로 복잡한 소프트웨어 길들이기

에릭 노먼드 지음 | 김은민 옮김 | 제이펍 | 2022년 04월 22일 출간
클로버 리뷰쓰기
  • 정가 : 35,000원
    판매가 : 31,500 [10%↓ 3,500원 할인]
  • 혜택 :
    [기본적립] 1750원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(30일,금) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • 컴퓨터/IT분야 2만원 이상 구매 시 개발자 매거진 <리드..
    2022.08.13 ~ 2022.10.31
  • 상반기 베스트/추천도서 확인하고 머그&노트 사은품도!
    2022.06.24 ~ 2022.09.30
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2022.12.31
상품상세정보
ISBN 9791191600759(1191600750)
쪽수 596쪽
크기 187 * 245 * 36 mm /1195g 판형알림
이 책의 원서/번역서 Grokking Simplicity / Eric Normand

책소개

이 책이 속한 분야

함수형 개발자는 어떻게 생각하고 코드를 작성할까
함수형 프로그래밍은 절차적 프로그래밍, 객체 지향 프로그래밍과는 다른 새로운 방식의 프로그래밍이다. 따라서 함수형 프로그래밍을 배운다는 것은 새로운 방식으로 사고하는 방법을 배우는 것이다. 그렇다면 함수형 개발자는 어떤 방식으로 생각하고 소프트웨어를 만들까.
이 책은 함수형 프로그래밍의 가장 기본이 되는 부수 효과를 다루는 방법으로 시작한다. 먼저 부수 효과가 있는 함수인 액션과 부수 효과가 없는 계산을 구분하는 법을 배우고, 둘을 구분한 후에는 부수 효과가 있는 액션을 어떻게 하면 줄일 수 있을지, 액션을 계산으로 바꾸는 방법에는 어떤 기술이 있는지 이야기한다. 다음으로 일급 함수의 개념을 배우고 고차 함수를 사용하여 반복문을 줄이는 방법에 대해 설명한다. 이를 배우면 함수 단위의 코드를 재사용할 수 있고, 테스트하기 쉬워진다. 이러한 과정을 단계별로 설명하고 있어 이론으로 배운 내용을 어떻게 적용하는지 쉽게 이해하고 따라 할 수 있도록 하였다.
이 책에 사용된 예제 코드는 자바스크립트로 작성되었다. 자바스크립트는 완벽한 함수형 언어는 아니지만, 함수형 언어의 기능이 부족하므로 함수형 사고를 설명하기 좋은 언어다. 부족한 함수형 기능을 직접 만들어 보면서 함수형 개념을 보다 깊이 이해하도록 설명하고 있다.
이 책은 현실에 있을 법한 사례를 만들어 이야기를 이끌어 간다. 마치 회사의 개발팀이 된 것 같은 느낌으로 진행되어 재밌게 빠져들 수 있도록 구성되었다. 개발팀에 합류하여 함수형 개발자는 소프트웨어를 만들기 위해 어떤 사고를 하는지 옆에서 지켜볼 수 있다.
설령 함수형 언어를 사용하지 않거나 함수형 프로그래밍에 관심이 없더라도 함수형 사고를 배워둔다면 새로운 사고방식을 통해 문제해결력을 키울 수 있을 것이다. 함수형 프로그래밍을 배우고 싶은 독자는 물론이고, 프로그래밍을 조금 더 간결하고 깔끔하게 하고 싶은 모든 개발자에게 이 책을 추천한다.

대상 독자
■ 2~5년 정도 소프트웨어 개발 경험이 있는 현업 종사자
■ 간단한 시스템을 만들고 있지만 큰 시스템을 다루는 것에 어려움을 느끼는 개발자

상세이미지

쏙쏙 들어오는 함수형 코딩 도서 상세이미지

목차

옮긴이 머리말 xvii
베타리더 후기 xix
추천사 xxi
머리말 xxvi
감사의 글 xxviii
이 책에 대하여 xxx

CHAPTER 1 쏙쏙 들어오는 함수형 코딩에 오신 것을 환영합니다 1
함수형 프로그래밍은 무엇인가요? 2
실용적인 측면에서 함수형 프로그래밍 정의의 문제점 3
함수형 프로그래밍 정의가 혼란스러운 관리자 4
함수형 프로그래밍을 학문적 지식이 아닌 기술과 개념으로 보기 5
액션과 계산, 데이터 구분하기 6
함수형 프로그래머는 부를 때 조심해야 하는 코드를 구분합니다 7
함수형 프로그래머는 실행하는 코드와 그렇지 않은 코드를 구분합니다 8
함수형 프로그래머는 액션과 계산, 데이터를 구분합니다 9
함수형 프로그래밍에서는 코드를 세 가지로 분류합니다 10
액션, 계산, 데이터를 구분하면 어떤 장점이 있나요? 11
다른 함수형 프로그래밍 책과 다른 점 12
함수형 사고가 무엇인가요? 13
이 책을 읽는 기본 규칙 14
결론 16

CHAPTER 2 현실에서의 함수형 사고 17
토니 피자에 오신 것을 환영합니다 18
파트 I: 액션과 계산, 데이터 19
변경 가능성에 따라 코드 나누기 20
파트 II: 일급 추상 21
분산 시스템을 타임라인으로 시각화하기 22
각각의 타임라인은 다른 순서로 실행됩니다 23
어려운 경험을 통해 분산 시스템에 대해 배운 것 24
타임라인 커팅: 로봇이 서로를 기다릴 수 있게 하기 25
좋은 경험을 통해 타임라인에 대해 배운 것 26
결론 27

PART I 액션과 계산, 데이터
CHAPTER 3 액션과 계산, 데이터의 차이를 알기 31
액션과 계산, 데이터 32
액션과 계산, 데이터는 어디에나 적용할 수 있습니다 33
장보기 과정에서 배운 것 36
새로 만드는 코드에 함수형 사고 적용하기 39
쿠폰 보내는 과정을 그려보기 42
쿠폰 보내는 과정 구현하기 47
이미 있는 코드에 함수형 사고 적용하기 54
액션은 코드 전체로 퍼집니다 56
액션은 다양한 형태로 나타납니다 57
결론 59

CHAPTER 4 액션에서 계산 빼내기 61
MegaMart.com에 오신 것을 환영합니다 62
무료 배송비 계산하기 63
세금 계산하기 64
테스트하기 쉽게 만들기 65
재사용하기 쉽게 만들기 66
액션과 계산, 데이터를 구분하기 67
함수에는 입력과 출력이 있습니다 68
테스트와 재사용성은 입출력과 관련 있습니다 69
액션에서 계산 빼내기 70
액션에서 또 다른 계산 빼내기 73
전체 코드를 봅시다 85
결론 86

CHAPTER 5 더 좋은 액션 만들기 87
비즈니스 요구 사항과 설계를 맞추기 88
비즈니스 요구 사항과 함수를 맞추기 89
원칙: 암묵적 입력과 출력은 적을수록 좋습니다 91
암묵적 입력과 출력 줄이기 92
코드 다시 살펴보기 95
계산 분류하기 97
원칙: 설계는 엉켜있는 코드를 푸는 것이다 98
add_item()을 분리해 더 좋은 설계 만들기 99
카피-온-라이트 패턴을 빼내기 100
add_item() 사용하기 101
계산을 분류하기 102
작은 함수와 많은 계산 106
결론 107

CHAPTER 6 변경 가능한 데이터 구조를 가진 언어에서 불변성 유지하기 109
모든 동작을 불변형으로 만들 수 있나요? 110
동작을 읽기, 쓰기 또는 둘 다로 분류하기 111
카피-온-라이트 원칙 세 단계 112
카피-온-라이트로 쓰기를 읽기로 바꾸기 113
원래 버전과 카피-온-라이트 버전의 차이 보기 117
앞에서 만든 카피-온-라이트 동작은 일반적입니다 118
자바스크립트 배열 훑어보기 119
쓰기를 하면서 읽기도 하는 동작은 어떻게 해야 할까요? 122
쓰면서 읽기도 하는 함수를 분리하기 123
값을 두 개 리턴하는 함수로 만들기 124
불변 데이터 구조를 읽는 것은 계산입니다 131
애플리케이션에는 시간에 따라 변하는 상태가 있습니다 132
불변 데이터 구조는 충분히 빠릅니다 133
객체에 대한 카피-온-라이트 134
자바스크립트 객체 훑어보기 135
중첩된 쓰기를 읽기로 바꾸기 140
어떤 복사본이 생겼을까요? 141
얕은 복사와 구조적 공유를 그림으로 알아보기 142
결론 145

CHAPTER 7 신뢰할 수 없는 코드를 쓰면서 불변성 지키기 147
레거시 코드와 불변성 148
우리가 만든 카피-온-라이트 코드는 신뢰할 수 없는 코드와 상호작용해야 합니다 149
방어적 복사는 원본이 바뀌는 것을 막아 줍니다 150
방어적 복사 구현하기 151
방어적 복사 규칙 152
신뢰할 수 없는 코드 감싸기 153
방어적 복사가 익숙할 수도 있습니다 156
카피-온-라이트와 방어적 복사를 비교해 봅시다 158
깊은 복사는 얕은 복사보다 비쌉니다 159
자바스크립트에서 깊은 복사를 구현하는 것은 어렵습니다 160
카피-온-라이트와 방어적 복사의 대화 162
결론 165

CHAPTER 8 계층형 설계 I 167
소프트웨어 설계란 무엇입니까? 168
계층형 설계란 무엇인가요? 169
설계 감각을 키우기 170
계층형 설계 패턴 171
패턴 1: 직접 구현 172
3단계 줌 레벨 186
반복문 빼내기 189
직접 구현 패턴 리뷰 198
결론 199

CHAPTER 9 계층형 설계 II 201
계층형 설계 패턴 202
패턴 2: 추상화 벽 203
추상화 벽으로 구현을 감춥니다 204
세부적인 것을 감추는 것은 대칭적입니다 205
장바구니 데이터 구조 바꾸기 206
장바구니를 객체로 다시 만들기 208
추상화 벽이 있으면 구체적인 것을 신경 쓰지 않아도 됩니다 209
추상화 벽은 언제 사용하면 좋을까요? 210
패턴 2 리뷰: 추상화 벽 211
앞에서 고친 코드는 직접 구현에 더 가깝습니다 212
패턴 3: 작은 인터페이스 213
패턴 3 리뷰: 작은 인터페이스 219
패턴 4: 편리한 계층 220
계층형 설계 패턴 221
그래프로 알 수 있는 코드에 대한 정보는 무엇이 있을까요? 222
그래프의 가장 위에 있는 코드가 고치기 가장 쉽습니다 223
아래에 있는 코드는 테스트가 중요합니다 225
아래에 있는 코드가 재사용하기 더 좋습니다 228
요약: 그래프가 코드에 대해 알려주는 것 229
결론 230

PART II 일급 추상
CHAPTER 10 일급 함수 I 233
마케팅팀은 여전히 개발팀과 협의해야 합니다 235
코드의 냄새: 함수 이름에 있는 암묵적 인자 236
리팩터링: 암묵적 인자를 드러내기 238
일급인 것과 일급이 아닌 것을 구별하기 240
필드명을 문자열로 사용하면 버그가 생기지 않을까요? 241
일급 필드를 사용하면 API를 바꾸기 더 어렵나요? 242
객체와 배열을 너무 많이 쓰게 됩니다 247
어떤 문법이든 일급 함수로 바꿀 수 있습니다 250
반복문 예제: 먹고 치우기 253
리팩터링: 함수 본문을 콜백으로 바꾸기 259
이것은 무슨 문법인가요? 262
왜 본문을 함수로 감싸서 넘기나요? 263
결론 265

CHAPTER 11 일급 함수 II 267
코드 냄새 하나와 리팩터링 두 개 268
카피-온-라이트 리팩터링하기 269
배열에 대한 카피-온-라이트 리팩터링 270
함수를 리턴하는 함수 279
결론 288

CHAPTER 12 함수형 반복 289
코드 냄새 하나와 리팩터링 두 개 290
MegaMart에서 커뮤니케이션팀을 만들기로 했습니다 291
예제를 통해 map() 함수를 도출하기 294
함수형 도구: map() 295
함수를 전달하는 세 가지 방법 297
예제: 모든 고객의 이메일 주소 298
예제를 통해 filter() 함수 도출하기 301
함수형 도구: filter() 302
예제: 아무것도 구입하지 않은 고객 303
예제를 통해 reduce() 도출하기 306
함수형 도구: reduce() 307
예제: 문자열 합치기 308
reduce()로 할 수 있는 것들 313
세 가지 함수형 도구를 비교하기 315
결론 316

CHAPTER 13 함수형 도구 체이닝 317
고객 커뮤니케이션팀은 계속 일하고 있습니다 318
체인을 명확하게 만들기 1: 단계에 이름 붙이기 324
체인을 명확하게 만들기 2: 콜백에 이름 붙이기 325
체인을 명확하게 만들기 3: 두 방법을 비교 326
예제: 한 번만 구매한 고객의 이메일 목록 327
반복문을 함수형 도구로 리팩터링하기 332
팁 1: 데이터 만들기 333
팁 2: 한 번에 전체 배열을 조작하기 334
팁 3: 작은 단계로 나누기 335
절차적 코드와 함수형 코드 비교 337
체이닝 팁 요약 338
체이닝 디버깅을 위한 팁 340
다양한 함수형 도구 341
값을 만들기 위한 reduce() 345
데이터를 사용해 창의적으로 만들기 347
메서드 연산자로 정렬하기 353
결론 354

CHAPTER 14 중첩된 데이터에 함수형 도구 사용하기 355
객체를 다루기 위한 고차 함수 356
필드명을 명시적으로 만들기 357
update() 도출하기 358
값을 바꾸기 위해 update() 사용하기 359
리팩터링: 조회하고 변경하고 설정하는 것을 update()로 교체하기 361
함수형 도구: update() 362
객체에 있는 값을 시각화하기 363
중첩된 update 시각화하기 368
중첩된 데이터에 update() 사용하기 369
updateOption() 도출하기 370
update2() 도출하기 371
중첩된 객체에 쓸 수 있는 update2() 시각화하기 372
incrementSizeByName()을 만드는 네 가지 방법 374
update3() 도출하기 375
nestedUpdate() 도출하기 377
안전한 재귀 사용법 382
nestedUpdate() 시각화하기 383
재귀 함수가 적합한 이유 384
깊이 중첩된 구조를 설계할 때 생각할 점 386
깊이 중첩된 데이터에 추상화 벽 사용하기 387
앞에서 배운 고차 함수들 388
결론 389

CHAPTER 15 타임라인 격리하기 391
버그가 있습니다! 392
두 번 빠르게 클릭해 봅시다 393
타임라인 다이어그램은 시간에 따라 어떤 일이 일어나는지 보여줍니다 395
두 가지 타임라인 다이어그램 기본 규칙 396
자세히 보면 놓칠 수 있는 액션 순서에 관한 두 가지 사실 400
add-to-cart 타임라인 그리기: 단계 1 401
비동기 호출은 새로운 타임라인으로 그립니다 402
서로 다른 언어, 서로 다른 스레드 모델 403
한 단계씩 타임라인 만들기 404
add-to-cart 타임라인 그리기: 단계 2 406
타임라인 다이어그램으로 순서대로 실행되는 코드에도 두 가지 종류가 있다는 것을 알 수 있습니다 407
타임라인 다이어그램으로 동시에 실행되는 코드는 순서를 예측할 수 없다는 것을 알 수 있습니다 408
좋은 타임라인의 원칙 409
자바스크립트의 단일 스레드 410
자바스크립트의 비동기 큐 411
AJAX와 이벤트 큐 412
완전한 비동기 예제 413
타임라인 단순화하기 414
완성된 타임라인 읽기 420
add-to-cart 타임라인 단순화하기: 단계 3 422
리뷰: 타임라인 그리기(단계1~3) 424
요약: 타임라인 다이어그램 그리기 426
타임라인을 나란히 보면 문제가 보입니다 427
두 번 천천히 클릭하면 문제가 없습니다 428
빠르게 두 번 클릭하면 잘못된 결과가 나옵니다 429
자원을 공유하는 타임라인은 문제가 생길 수 있습니다 430
전역변수를 지역변수로 바꾸기 431
전역변수를 인자로 바꾸기 432
재사용하기 더 좋은 코드로 만들기 435
원칙: 비동기 호출에서 명시적인 출력을 위해 리턴값 대신 콜백을 사용할 수 있습니다 436
결론 440

CHAPTER 16 타임라인 사이에 자원 공유하기 441
좋은 타임라인의 원칙 442
장바구니에 아직 버그가 있습니다 443
DOM이 업데이트되는 순서를 보장해야 합니다 445
자바스크립트에서 큐 만들기 447
원칙: 공유하는 방법을 현실에서 착안하기 455
큐를 재사용할 수 있도록 만들기 456
지금까지 만든 타임라인 분석하기 461
원칙: 문제가 있을 것 같으면 타임라인 다이어그램을 살펴보세요 464
큐를 건너뛰도록 만들기 465
결론 469

CHAPTER 17 타임라인 조율하기 471
좋은 타임라인의 원칙 472
버그가 있습니다! 473
코드가 어떻게 바뀌었나요 475
액션을 확인하기: 단계 1 476
모든 액션을 그리기: 단계 2 477
다이어그램 단순화하기: 단계 3 481
실행 가능한 순서 분석하기 483
왜 지금 타임라인이 더 빠를까요? 484
모든 병렬 콜백 기다리기 486
타임라인을 나누기 위한 동시성 기본형 487
코드에 Cut() 적용하기 489
불확실한 순서 분석하기 491
병렬 실행 분석 492
여러 번 클릭하는 경우 분석 493
딱 한 번만 호출하는 기본형 500
암묵적 시간 모델 vs 명시적 시간 모델 502
요약: 타임라인 사용하기 507
결론 508

CHAPTER 18 반응형 아키텍처와 어니언 아키텍처 509
두 아키텍처 패턴은 독립적입니다 510
변경에 대한 원인과 효과가 강력하게 결합 511
반응형 아키텍처는 무엇인가요? 512
반응형 아키텍처의 절충점 513
셀은 일급 상태입니다 514
ValueCell을 반응형으로 만들 수 있습니다 515
셀이 바뀔 때 배송 아이콘을 갱신할 수 있습니다 516
FormulaCell은 파생된 값을 계산합니다 517
함수형 프로그래밍과 변경 가능한 상태 518
반응형 아키텍처가 시스템을 어떻게 바꿨나요 519
원인과 효과가 결합한 것을 분리합니다 520
결합의 분리는 원인과 효과의 중심을 관리합니다 521
여러 단계를 파이프라인으로 처리합니다 522
타임라인이 유연해집니다 523
또 다른 아키텍처 패턴 526
어니언 아키텍처는 무엇인가요? 527
다시 보기: 액션과 계산, 데이터 528
다시 보기: 계층형 설계 529
전통적인 계층형 아키텍처 530
함수형 아키텍처 531
변경과 재사용이 쉬워야 합니다 532
도메인 규칙은 도메인 용어를 사용합니다 535
가독성을 따져 봐야 합니다 536
결론 539

CHAPTER 19 함수형 프로그래밍 여행에 앞서 541
마지막 장의 계획 542
전문가의 기술을 배웠습니다 543
꼭 기억해야 할 것 544
시간에 따른 기술과 열정의 변화 545
투 트랙으로 마스터가 되기 546
샌드박스: 사이드 프로젝트를 시작하세요 547
샌드박스: 연습 문제로 훈련하기 548
제품: 오늘 당장 버그를 없애 보세요 549
제품: 설계를 하나씩 개선하세요 549
인기 있는 함수형 프로그래밍 언어 550
일자리가 가장 많은 함수형 언어 552
사용할 수 있는 플랫폼별 함수형 언어 552
배울 수 있는 것에 따라 나눈 함수형 언어 553
수학적 지식을 얻기 554
더 읽을거리 555
결론 556

찾아보기 557

책 속으로

많은 개발자들이 함수형 프로그래밍이 무엇이고 어떤 경우에 쓰는 것이 좋을지 궁금해합니다. 함수형 프로그래밍이 어디에 적합한지 콕 집어 말하기는 어렵습니다. 함수형 프로그래밍은 범용 프로그래밍 패러다임이기 때문에 어디서나 잘 쓸 수 있습니다. 하지만 이 책을 읽다 보면 함수형 프로그래밍이 더 잘 어울리는 곳을 찾을 수 있을 것입니다. (2쪽)

앞으로 함수형 프로그래밍의 다양한 기술을 배울 것입니다. 그러기에 앞서 우리는 액션과 계산, 데이터를 구분할 수 있어야 합니다. 이것은 다른 모든 기술의 기초가 되기 때문에 배우고 나면 함수형... 더보기

북카드

1/7

Klover 리뷰 (0)

북로그 리뷰 (7) 전체보기 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료
※ 북로그 서비스 종료 예정 2022. 9 월 말 (8월 31일 북로그 글쓰기 종료)
※ 2022년 9월까지 포스팅 별 개인소장 가능, 2023년 9월까지 일괄 백업 서비스 제공 예정 자세히 보기
  • 최근들어 새로운 프로그래밍 언어를 배운다기 보다는, 어떻게 하면 기존 코딩을 잘 할 수 있을까 하는 고민을 하고 있습니다. 그래서 얼마전에 "좋은코드, 나쁜코드[제이펍]"을 읽었고, 이번에도 "쏙쏙 들어오는 함수형 코딩" 이라는 책을 읽었습니다.  "젊을 때 공부"하고, "시작이 '반'"이고, 이런 말들은 결국 나중에 내가 익숙해 질 때 잘못 된(혹은 비효율적인)   '습관'을 고치기가 어렵기 때문입니다.  그렇다고 처음 프로그래밍을 공부하면서, 방법론이나 개론 같은 소프트웨어 공학 책... 더보기
  •   제이펍출판사로부터 책을 제공받아서 쓴 리뷰입니다.       서평     그동안 함수형 프로그래밍이라는 말은 많이 들어봤지만 정확한 정의를 이해하기는 어려웠습니다.실제로도 함수형 프로그래밍에 대해서 이야기를 나누다 보면 개발자마다 이해하고 적용하는 방향이 약간씩 다릅니다.이런부분이 잘못 됐다고 생각하지는 않습니다. 함수형 프로그래밍이란 특별한 기술이 아니라 함수형 사고에 기... 더보기
  • "제이펍에서 책을 제공받아 작성된 서평입니다."   표지에서의 첫 느낌은 '개발 서적 같지 않다.' 였습니다. 이런 만화같은 분위기는 처음 인 것 같네요. ... 더보기
  • 함수형 코딩.개발자들에게도 그리 익숙하지 않은 프로그래밍이다.대부분의 개발자들이 알고 있는 프로그래밍 방법은 객체지향이거나 절차지향이다.함수형 코딩을 배운다는 것은 단순히 새로운 프로그래밍 언어를 배운다는 것이 아니다.완전히 다른 개념의 프로그래밍을 배운다는 의미이다. 함수형 코딩이 어떤 의미인지 재미있게 표현한 그림이다.절차지향 언어에서 객체지향 언어를 처음 접했을 때의 놀라움, 그 이상이다.이 책 '쏙쏙 들어오는 함수형 코딩'으로 놀라운 세계를 볼 수 있다. ... 더보기
  • 제이펍 <믿고 보는 IT 전문서 리뷰어> 활동을 위해서 책을 제공받아 작성된 서평입니다.  Intro 최근 들어 함수형 프로그래밍은 이슈였죠. 그에 따라 점점 명령형 언어에는 함수형 프로그래밍의 개념들이 들어가기 시작했습니다. 예를 들어 대표적으로 쓰이는 람다 함수나 제너레이터가 있겠네요. 어쨌든 전 그런 이슈도 있었지만 함수형 프로그래밍에 대해 관심이 생긴 건 다른 이유가 있었습니다. 데이터 엔지니어링 공부를 하다 보니  Spark 라는 프레임워크를 공부해야 했고, 그에 ... 더보기

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서/번역서

안내
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품