본문내용 바로가기
MD의선택 무료배송 소득공제

Functional C# C#으로 배우는 함수형 프로그래밍

위스누 앤거로 지음 | 안철진 옮김 | 에이콘출판 | 2019년 02월 28일 출간
  • 정가 : 30,000원
    판매가 : 27,000 [10%↓ 3,000원 할인]
  • 통합포인트 :
    [기본적립] 1,500원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 3만원 이상 구매 시 2~4% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    07월 23일 출고 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내
상품상세정보
ISBN 9791161752754(1161752757)
쪽수 472쪽
크기 188 * 235 * 31 mm /1074g 판형알림
이 책의 원서/번역서 Functional C# - Uncover the secrets of functional programming using C# and change the way you approa/Anggoro, Wisnu

책소개

이 책이 속한 분야

C# 개발자를 위한 함수형 프로그래밍 학습서다. 명령형 프로그래밍 방식과 함수형 프로그래밍을 비교하고, 함수형 프로그래밍을 위한 C#의 언어적 지원과 이를 이용한 실제 구현 예를 살펴보면서 함수형 프로그래밍을 배운다.

저자소개

저자 : 위스누 앤거로

C# MCP이자 뛰어난 C/C++ 개발자며, 『Boost.Asio C++ Network Programming - Second Edition』(Packt, 2015)의 저자다. 20여년 전, 중학생이었을 때 MS-DOS 환경에서 BASIC 언어를 이용한 프로그래밍을 시작했다. 이후 데스크톱이나 웹 응용 프로그램뿐만 아니라 C#과 C/C++를 이용한 SIM 카드 운영체제 포팅, 개인화, PC/SC 통신 등과 관련한 스마트카드 프로그래밍 분야에서 남다른 경력을 쌓아 왔다. 현재는 인도네시아의 스마트카드 관련 기술과 혁신을 주도하는 회사인 CIPTA에서 수석 스마트카드 소프트웨어 엔지니어로 일하고 있다.

역자 : 안철진

도담시스템스를 거쳐 kt ds에서 근무 중이다. 어제보다 나은 개발자이고 싶고, 생존보다는 보람을 찾아 공부하고 일하는 IT인이 되고자 오늘도 바쁜 하루를 살아가는 평범한 소시민이다. GoDev 일원으로도 활동 중이다.

작가의 말

★ 지은이의 말 ★

객체지향 프로그래밍 기법을 이용한 개발에 익숙한 개발자 중 일부는 함수형 프로그래밍에 전혀 관심이 없을 수도 있다. 하지만 함수형 프로그래밍의 강점이 있다는 점은 분명하다. 그중 하나는 함수형 프로그래밍에서 함수가 수학 함수와 동일하다는 사실에 기반해서 코드에 대한 새로운 시각을 가질 수 있다는 것이다. 함수형 프로그래밍의 함수는 불필요한 부작용이 없으며, 따라서 함수를 호출하더라도 클래스 내의 다른 함수에 어떠한 영향도 미치지 않는다. 이 외에도 함수형 프로그래밍이 갖는 많은 장점과 특징을 책을 통해 자세히 살펴볼 수 있다.

★ 옮긴이의 말 ★

C# 개발자 가운데 함수형 프로그래밍이라는 표현이 익숙한 이도 있겠지만 아직은 생소한 사람들이 더 많을 거라 생각한다. 나 또한 처음 접하는 프로그래밍 방식이었기에 새로운 개념을 소개하는 부분에서 생각보다 많은 시간을 할애해야 했다. 이 과정에서 그동안 많이 접해 오고, 현재도 현업에서 대다수 개발자들이 쓰고 있는 프로그래밍 방식과 함수형 프로그래밍을 비교해보는 즐거운 경험도 누릴 수 있었다.
함수형 프로그래밍을 적재적소에 이용하면 기존 코딩 방식에 비해 효율적이고 안전한 코드를 작성할 수 있겠지만, 사실 사용해야 할 의무는 없다. 디자인 패턴과 리팩토링을 몰라도 신나게 개발했던 그 옛날을 떠올려 보면 쉽게 공감이 갈 것이다. 다만 함수형 프로그래밍은 개발자라면 누구나 마음속에 품고 있을 슈퍼 개발자가 되는 즐거운 상상을 실제로 이루기 위해 가져볼 만한 특별한 아이템으로써 충분한 매력을 가졌다고 생각한다.
모든 책이 그러하듯 이 책도 함수형 프로그래밍의 완벽한 가이드일 수는 없다. 다만, 함수형 프로그래밍이 무엇인지 이해하고, 실제로 개발에 어떻게 적용할 수 있을지에 대한 개념을 잡기에는 충분하리라 생각한다. 이 책에서 다루지 않거나 부족한 내용은 책에서 배운 지식을 기반으로 인터넷의 다양한 매체를 이용해 쉽게 채울 수 있을 것이다.
저자가 전하고자 하는 바를 그대로 옮기기 위해 최선을 다했지만, 부족한 부분이 있다면 역자의 노력과 능력이 부족한 탓이니 너그러운 시각으로 봐주길 바란다. 잘못된 부분은 동료 독자들을 위해 가감 없이 지적해주길 바란다.

목차

1장. C#으로 함수형 스타일 맛보기
__함수형 프로그래밍 소개
____정의, 스크립트, 세션 이해하기
____대체와 단순화를 이용한 해석
____함수형 프로그래밍의 함수 이해하기
__함수형 vs 명령형 접근 방식
__C# 컴파일러 준비
__함수형 프로그래밍의 개념
____퍼스트 클래스 함수와 고차 함수
____순수 함수
____재귀 함수
__C#과 함수형 프로그래밍
____수학적 개념을 이용한 함수형 프로그래밍 이해
____함수형 C#에 튜플 적용하기
____C#의 커링
____파이프라인
____메서드 체인
__명령형 코드를 함수형 코드로 바꾸기
____명령형 코드 접근 방식
____함수형 코드 접근 방식
____함수형 프로그래밍의 장점과 단점
__요약

2장. 대리자 살펴보기
__대리자 소개
____간단한 대리자
____멀티캐스트 대리자
__내장 대리자
____제네릭 대리자
____Action과 Func
__대리자의 가변성 구별
____공변성
____반공변성
__요약

3장. 람다식을 이용한 무명 메서드 표현
__무명 메서드란
____무명 메서드 만들기
____무명 메서드를 인수로 사용하기
____무명 메서드 작성 가이드
____무명 메서드의 장점
__람다식
____무명 메서드를 람다식으로 변환하기
____람다식으로 대리자 형식 만들기
____식 트리와 람다식
__람다식을 이용한 이벤트 구독
____event 키워드
____EventHandler와 EventHandler
__함수형 프로그래밍에서 람다식의 강점
____퍼스트 클래스 함수
____클로저
__요약

4장. 확장 메서드로 객체 기능 확장하기
__확장 메서드와 친해지기
____확장 메서드 만들기
____인텔리센스 연계
__다른 어셈블리의 확장 메서드 호출
____네임스페이스 참조
____기존 네임스페이스 이용
____인터페이스, 컬렉션, object 활용하기
____인터페이스 확장
____컬렉션 확장
____object 확장
__함수형 프로그래밍에서 확장 메서드가 가지는 장점
__확장 메서드의 한계
____정적 클래스 확장
____기존 클래스나 형식의 메서드 구현 수정하기
__요약

5장. LINQ를 이용해 컬렉션 조회하기
__LINQ란 무엇인가
__LINQ의 실행 지연
__플루언트 구문과 질의 식 비교
____LINQ 플루언트 구문
____LINQ 질의 식
__표준 질의 연산자
____필터링
____투영
____조인
____정렬
____그룹화
____집합 연산
____변환 메서드
____요소 연산
__요약

6장. 비동기 프로그래밍으로 함수형 프로그래밍의 반응성 개선하기
__반응형 응용 프로그램 개발
____동기식 프로그램 실행
____스레드 사용하기
____스레드 풀을 이용한 스레드 생성
__비동기 프로그래밍 모델 패턴
____동기식 Read( ) 메서드
____BeginRead( )와 EndRead( )
____LINQ를 이용한 BeginRead( ) 메서드 호출
__태스크 기반 비동기 패턴
____Task와 Task 클래스
____간단한 TAP 모델 적용하기
____WhenAll( ) 확장 메서드
____TAP 모델로 APM 감싸기
__async, await 키워드를 이용한 비동기 프로그래밍
__함수형 프로그래밍의 비동기 함수
__요약

7장. 재귀 호출
__재귀 호출에 대해
____재귀 호출의 동작 방식
____반복을 재귀 호출로 리팩토링하기
__꼬리 재귀
____누적기 전달형
____연속 전달형
____직접 재귀와 간접 재귀
__LINQ Aggregate를 이용한 함수형 재귀 호출
____Aggregate 메서드
__요약

8장. 지연과 캐시 기법을 이용한 코드 최적화
__지연이란
____지연 열거
____지연 평가
____엄격하지 않은 평가
____지연 초기화
____지연의 장단점
__값비싼 자원 캐시하기
____사전 연산
____메모화
__요약

9장. 패턴 이용하기
__함수형 프로그래밍의 패턴 매칭
____패턴 매칭을 이용한 데이터 변환
____패턴 매칭을 위한 분기
____패턴 매칭 간소화
____C# 7의 패턴 매칭
__모나드 설계 패턴 소개
____모나드 M 형식 만들기
____모나드에 제네릭 데이터 형식 구현하기
____Lazy와 Task로 모나드 구현하기
____모나드 패턴 규칙
__요약

10장. C#으로 함수형 프로그래밍하기
__함수형 윈도우 폼 개발
____폼 이면의 코드 작성
____명령형 접근 방식의 계산 엔진 구현
__요약

11장. 코딩 모범 사례와 함수형 코드 테스팅
__함수형 C#으로 살펴보는 코딩 모범 사례
____모호한 시그니처 방지
____변경 가능한 클래스를 변경 불가능하게 리팩토링하기
____변경 가능성 및 일시적인 결합의 방지
____부작용에 대한 대응책
__도메인 논리와 가변 셸로 코드 분리하기
____부작용이 있는 코드 확인
____AddRecord( ) 메서드 리팩토링
____RemoveRecord( ) 메서드 리팩토링
____단위 테스트에서 도메인 논리 실행하기
____코드에 가변 셸 추가하기
__요약

찾아보기

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 함수형 접근 방식에 따른 응용 프로그램 개발
■ 함수형으로 작성한 코드의 단위 테스팅
■ 함수형 프로그래밍 기반의 효율적인 코드 생성
■ LINQ 질의를 이용한 데이터 처리
■ 응용 프로그램 응답성 개선을 위한 비동기 프로그래밍 활용
■ 함수형 코드에서 재귀를 이용한 코드 단순화
■ 프로그램 코드 최적화를 위한 지연과 캐시 기법

★ 이 책의 대상 독자 ★

이 책은 C#의 기본적인 사항들에 대해 어느 정도 이해하고 있는 개발자들에게 적합하며, 함수형 프로그래밍에 대한 사전 ... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

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

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

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

이 분야의 베스트

  • 길벗R&D
    18,900원
  • 길벗R&D
    12,600원
  • 박응용
    16,920원
  • 길벗알앤디(강윤석, 김용갑,...
    31,500원
  • 윤인성
    16,200원
더보기+

이 분야의 신간

  • 박응용
    16,920원
  • 윤인성
    16,200원
  • 커넥팅랩
    16,200원
  • 세바스찬 라시카
    29,700원
  • 이차웅
    21,600원
더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품