콘텐츠 바로가기
본문 바로가기

YES24 카테고리 리스트

YES24 유틸메뉴

Global YES24안내보기

Global YES24는?

K-POP/K-Drama 관련상품(음반,도서,DVD)을
영문/중문 으로 이용하실 수 있습니다.

Korean wave shopping mall, sell the
K-POP/K-Drama (CD,DVD,Blu-ray,Book) We aceept PayPal/UnionPay/Alipay
and support English/Chinese Language service

English

作为出售正规 K-POP/K-Drama 相关(CD,图书,DVD) 韩流商品的网站, 支持 中文/英文 等海外结账方式

中文

검색


어깨배너

2월 혜택 모음
1/6

빠른분야찾기



신용카드 (54x86mm)
신용카드 (54x86mm)
A4용지 (210x297mm)
A4용지 (210x297mm)
dummy
Go로 배우는 함수형 프로그래밍
미리보기 사이즈비교 공유하기
소득공제 프로그래밍 언어 시리즈

Go로 배우는 함수형 프로그래밍

함수형 프로그래밍을 통해 애플리케이션 접근 방식 바꾸기

렉스 시한 저/차서일 | 에이콘출판사 | 2019년 05월 24일 | 원서 : Learning Functional Programming in Go: Change the way you approach your applications using functional programming in Go 첫번째 구매리뷰를 남겨주세요. | 판매지수 360 판매지수란?
상품 가격정보
정가 40,000원
판매가 36,000 (10% 할인)
YES포인트
배송안내
배송안내 바로가기

구매 시 참고사항
구매 시 참고사항

판매중

수량
  • 국내배송만 가능
  • 최저가 보상
  • 문화비소득공제 신청가능
1/4
광고 AD

Go로 배우는 함수형 프로그래밍

품목정보

품목정보
발행일 2019년 05월 24일
쪽수, 무게, 크기 748쪽 | 188*235*36mm
ISBN13 9791161752952
ISBN10 1161752951

관련분류

이 상품의 태그

  •  검색 페이지에서 선택된 태그에 등록된 더 많은 상품을 확인해 보세요. 전체보기

이 상품의 이벤트 (8개)

책소개

  •  책의 일부 내용을 미리 읽어보실 수 있습니다. 미리보기

목차

저자 소개 (2명)

어번 대학교(Auburn University)에서 전산학 학사 학위를 취득하고 조지아 주 애틀랜타에 거주 중이다. 현재 시니어 소프트웨어 엔지니어로 일하고 있으며, 20년 이상의 경력을 쌓아왔다. 루비(Ruby)와 스칼라(Scala), 자바스크립트(JavaScript), 하스켈(Haskell), 자바(Java), Go 언어를 통해 고계 함수를 사용하기 시작했으며, 함수형 프로그래밍에 관한 조예가 깊다. IBM ... 어번 대학교(Auburn University)에서 전산학 학사 학위를 취득하고 조지아 주 애틀랜타에 거주 중이다. 현재 시니어 소프트웨어 엔지니어로 일하고 있으며, 20년 이상의 경력을 쌓아왔다. 루비(Ruby)와 스칼라(Scala), 자바스크립트(JavaScript), 하스켈(Haskell), 자바(Java), Go 언어를 통해 고계 함수를 사용하기 시작했으며, 함수형 프로그래밍에 관한 조예가 깊다.
IBM 소프트웨어 그룹과 IBM 글로벌 비즈니스 서비스에서 근무하는 동안 다양한 엔터프라이즈 비즈니스 시스템을 설계하고 개발했다. IT 보안 및 데이터 전송 관련한 여덟 개의 특허를 갖고 있으며, ‘Application Development with Lex Sheehan(렉스 시한과 함께하는 애플리케이션 개발)’이라는 블로그를 운영한다.
시스템 보안을 전공했고 프로그래밍 언어와 논리학에 관심이 많다. 출퇴근 시간에 새로운 기술을 익히거나 깃허브(GitHub)를 뒤적이는 것을 낙으로 삼는 평범한 엔지니어다. 친구와 동료들에게 새로운 기술을 소개하는 것을 즐긴다. 시스템 보안을 전공했고 프로그래밍 언어와 논리학에 관심이 많다. 출퇴근 시간에 새로운 기술을 익히거나 깃허브(GitHub)를 뒤적이는 것을 낙으로 삼는 평범한 엔지니어다. 친구와 동료들에게 새로운 기술을 소개하는 것을 즐긴다.

만든 이 코멘트

저자, 역자, 편집자를 위한 공간입니다. 독자들에게 전하고 싶은 말씀을 남겨주세요. 코멘트 쓰기
접수된 글은 확인을 거쳐 이 곳에 게재됩니다.
독자 분들의 리뷰는 리뷰 쓰기를, 책에 대한 문의는 1:1 문의를 이용해 주세요.

출판사 리뷰

[이 책에서 다루는 내용]

- 카테고리 이론과 논리학, 타입 이론, 함수형 프로그래밍 사이의 깊은 연관 관계
- 고계 함수를 다른 함수에 넘겨주거나 다른 함수로부터 반환받기
- 코드의 가독성, 확장성, 유지 보수성 향상 방안
- 데코레이터 패턴을 사용해 잘 동작하는 애플리케이션 합성하기
- 제네릭의 개념과 Go 언어의 제네릭 지원 필요성
- Go 타입과 구조체의 행위를 정의하기 위한 타입 클래스 구현
- 모나드의 개념 및 비순수 연산 체인화를 위한 모나드 사용법 학습
- 일체형 애플리케이션을 재사용성 높은 컴포넌트로 나누기
- 컴포넌트를 관리 가능한 파이프라인으로 재합성하는 방법
- 코드 여기저기에 흩어져 있는 if err != nil 블록 제거하기

[이 책의 대상 독자]

비프로그래머와 프로그래머 모두를 위한 책으로, 이 책에 담고 있는 많은 정보를 이해하려면 고등학교 교육 수준의 지식만 갖추면 된다. 그리고 이 책에서 다루는 프로그래밍을 위해서는 최소 1년의 프로그래밍 경험만 있으면 충분하다. Go나 하스켈을 유창하게 사용한다면 이상적이지만, C/C++, 파이썬, 자바스크립트, 자바, 스칼라, 루비와 같은 언어들을 경험해봤다면 그것으로 충분하다. 명령행을 사용하는 데 조금 익숙해져야 할 필요는 있다.

[이 책의 구성]

1장. ‘Go로 순수 함수형 프로그래밍하기’에서는 선언적 프로그래밍 스타일을 소개하고 피보나치 수열을 통해 재귀와 메모이제이션(memoization), Go의 병행성 구조를 예시한다. 재귀적 코드에 대해 벤치마킹/성능 시험을 하는 방법을 배우며, 몇 가지 나쁜 소식도 전한다.
2장. ‘컬렉션 다루기’에서는 데이터 변환 수행을 위한 매개 함수(Map, Filter, Sort)와 종결 함수(Reduce, GroupBy, Join) 사용법을 보인다. 또한 Mocha-like BDD라는 Go 프레임워크를 사용해 술어 함수를 시험한다. Itertools를 통해 함수형 프로그래밍의 컬렉션 가공 함수를 맛보고 분산 맵리듀스 솔루션인 Gleam(Go+LuaJIT+유닉스 파이프(Unix Pipe))을 살펴볼 것이다.
3장. ‘고계 함수 사용하기’에서는 27가지의 함수형 프로그래밍 특성을 다룬다. 익명 함수, 클로저(closure), 커링(currying), Either 데이터 타입, 일급 객체 함수, 함수, 함수 합성, 힌들리-밀너(Hindley-Milner) 타입 시스템, 멱등성, 불변 상태, 불변 변수, 람다 식, 리스트 모나드, Maybe 데이터 타입, Maybe 모나드, 모나드 오류 처리, 부수 효과, 연산자 오버로딩, option 타입, 매개변수 다형성, 부분 함수 적용, 재귀, 참조 투명성, sum 또는 union 타입, 꼬리 호출 최적화, 타입 클래스, 유닛 타입 등이다. 또한 제네릭(generic)의 예제를 보이고, 함수형 프로그래밍 프로그래머들에게 어떠한 가치가 있는지 설명한다. Map과 Filter, Reduce 함수를 구현해보고, 고루틴과 채널을 이용해 느긋한 계산(lazy evaluation)을 구현해본다.
4장. ‘Go로 하는 SOLID 설계’에서는 왜 고퍼(Gopher)들이 자바를 지긋지긋하게 여기는지 논한다. 또한 좋은 소프트웨어 설계의 원칙, 단일 책임 원칙 적용법, 함수 합성, 개폐 원칙, 함수형 프로그래밍 계약, 덕 타이핑(duck typing)을 다룬다. 인터페이스를 이용한 행위 모델링, 인터페이스 분리 원칙 및 내장 인터페이스를 이용한 소프트웨어 합성에 대해서도 다룬다. 퍼플 모노이드 체인(purple Monoid chain)을 통해 결합법칙을 배우고 모나드 체인 연속체라는 커다란 발견에 도달한다.
5장. ‘데코레이션으로 기능 추가하기’에서는 Go의 기본 Reader, Writer 인터페이스를 이용한 인터페이스 합성에 대해 설명한다. 이어서 절차적 설계와 함수형 제어 역전(IoC)을 비교한다. Authorization, Logging, LoadBalancing이라는 데코레이터를 구현해보며, 데코레이터 패턴들이 실제 어떻게 사용되는지를 확인하기 위해 쉬운 측정 기준을 추가한다.
6장. ‘함수형 프로그래밍을 아키텍처에 적용하기’에서는 계층적 아키텍처를 이용해 응용 프레임워크를 개발하며, 이를 통해 순환 의존 오류를 해결한다. 할리우드 원칙의 적용법을 배우며, 옵저버 패턴과 의존성 주입 사이의 차이점을 살펴본다. 제어 역전을 사용해 논리 흐름을 제어하고 계층적 응용을 개발한다. 효과적인 표 중심 프레임워크를 개발하고 응용 소프트웨어의 API도 테스트해본다.
7장. ‘함수형 매개변수’에서는 자바와 객체 지향 프로그래밍을 통해 배운 많은 사항이 왜 Go에서는 통용되지 않는지를 알려주고, 함수형 옵션을 통해 긴 매개변수 목록을 재구성하는 방법을 가르쳐주며, 커링과 부분 함수 적용의 차이점을 이해하도록 돕는다. 부분 적용을 통해 더 적은 인자 수를 갖는 새 함수를 생성하는 방법을 배울 것이다. 문맥(context)을 이용해 우아하게 서버를 끄거나, 문맥을 이용해 장기간 실행 중인 긴 데이터베이스 트랜잭션을 실행 취소하고 복구하는 방법을 배운다.
8장. ‘파이프라인을 이용한 성능 향상’에서는 데이터 흐름 타입(Read, Split, Transform, Merge, Write)을 다루며, 데이터 변환 파이프라인을 언제 어떻게 개발할지를 배운다. 버퍼링을 통해 데이터 처리율을 높이고, 고루틴과 채널을 이용해 처리 속도를 향상시키는 방법을 배운다. 또한 인터페이스를 이용해 API 가독성을 향상하고, 몇몇 유용한 필터를 구현해본다. 또한 신용카드 변경 처리를 위해 설계한 명령형 파이프라인 및 함수형 파이프라인을 구현해보고 비교한다.
9장. ‘함자, 모노이드, 제네릭’에서는 Go가 제네릭을 지원하지 않아서 다행인 점을 설명한다. 코드 생성 도구를 이용해서 반복적이고 늘 채워야 하는 코드로 인해 발생하는 문제를 해결한다. 함수 합성으로 깊이 들어가서 함자(functor)를 몇 개 구현해보고, 실제로 어떻게 매핑되는지 배운다. 또한 송장 처리 모노이드(monoid) 구현을 위한 리듀스(reduce) 함수 작성법도 배운다.
10장. ‘모나드, 타입 클래스, 제네릭’에서는 모나드의 동작을 보여주며, 바인드(bind) 연산을 이용한 함수 합성법도 소개한다. 모나드가 오류를 처리하는 법, 입출력을 다루는 법도 살펴보고, Go로 모나드 작업 흐름을 어떻게 구현하는지 쫓아가본다. 람다 계산이 무엇이고 모나드와 어떤 관련이 있는지를 소개하며, 람다 계산을 통한 재귀 구현 방법과 Go에서의 Y-컴비네이터(Y-combinator) 작동법도 함께 다룬다. 그다음에는 Y-컴비네이터를 사용해 작업 흐름을 제어해보고 파이프라인 종단에서 모든 오류를 처리하는 방법을 배운다. 타입 클래스가 어떻게 쓰이는지 알아본 후, Go를 이용해 몇 개의 타입을 구현해보고, 마지막으로 Go에서 제네릭을 지원할 경우의 장단점을 짚어본다.
11장. ‘카테고리 이론의 적용’에서는 카테고리 이론에 대한 실용적 이해를 제공한다. 카테고리 이론과 논리학, 타입 이론 사이의 깊은 연관성을 배운다. 함수형 프로그래밍의 역사를 훑어보고 그에 대한 이해를 높인다. 여기서는 벤 다이어그램을 사용해 프로그래밍 언어의 다양한 카테고리를 설명한다. 람다 식 관점에서 바인딩, 커링, 적용이 의미하는 바를 알게 되고, 람다 계산이 초콜릿 우유와 같다는 사실도 알게 된다. 타입 시스템이 함수형 프로그래밍을 함의한다는 것을 설명하며, 준동형의 다양한 분류를 소개하고 언제 사용할 수 있는지 알려준다. 또한 수학과 축구공의 공중 궤적을 통해 다형성에 대한 이해도를 높인다. 일차함수와 이차함수를 통해 함수 합성을 다루며, 인터페이스 중심 개발을 배운다. 지식 기반 시스템의 가치를 살펴보고, 카테고리 이론에 대해 이해한 바를 더 나은 응용 소프트웨어 개발에 어떻게 적용할지 알아본다.
부록. ‘다양한 정보와 따라 하기’에서는 이 책의 Go 프로젝트를 빌드하고 실행하기 위해 내가 제안하는 바를 설명한다. 또한 Go에 변경을 제안하는 방법을 살펴보고, 한 장소에서 오류를 처리하도록 하는 Go 호환 방법(이른바 규칙적 작업 흐름 솔루션(lexical workflow solution))을 설명한다. Go 언어에 대한 피드백을 제출할 곳과 함수형 프로그래밍 참고 자료 페이지를 제공하고, 명안도-카탈랑 수(Minggatu-Catalan Number)에 대해 설명한다.

회원리뷰 (0건)

매주 10건의 우수리뷰를 선정하여 YES포인트 3만원을 드립니다.
3,000원 이상 구매 후 리뷰 작성 시 일반회원 300원, 마니아회원 600원의 YES포인트를 드립니다.
(CD/LP, DVD/Blu-ray, 패션 및 판매금지 상품, 예스24 앱스토어 상품 제외) 리뷰/한줄평 정책 자세히 보기
리뷰쓰기

등록된 리뷰가 없습니다.

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

한줄평 (2건)

1,000원 이상 구매 후 한줄평 작성 시 일반회원 50원, 마니아회원 100원의 YES포인트를 드립니다.
(CD/LP, DVD/Blu-ray, 패션 및 판매금지 상품, 예스24 앱스토어 상품 제외) 리뷰/한줄평 정책 자세히 보기
0/50

배송/반품/교환 안내

배송 안내

배송 안내
배송 구분 YES24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4

반품/교환 안내

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

반품/교환 안내
반품/교환 방법
  •  마이페이지 > 반품/교환 신청 및 조회, 1:1 문의, 고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에 따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
맨위로
예스이십사(주)
서울시 영등포구 은행로 11, 5층~6층(여의도동,일신빌딩) 대표 : 김석환   개인정보보호책임자 : 권민석 yes24help@yes24.com 사업자등록번호 : 229-81-37000   통신판매업신고 : 제 2005-02682호 사업자 정보확인 호스팅 서비스사업자 : 예스이십사(주)
YES24 수상내역 정보보호 관리체계 ISMS인증획득 개인정보보호 우수사이트
소비자피해보상보험 서울보증보험
고객님은 안전거래를 위해 현금 등으로 결제 시 저희 쇼핑몰에서 가입한 구매안전서비스를 이용하실 수 있습니다. 서비스가입사실 확인
EQUUS13