간편결제, 신용카드 청구할인
PAYCO(페이코) 최대 5,000원 할인
(페이코 신규 회원 및 90일 휴면 회원 한정)
네이버페이 1%
(네이버페이 결제 시 적립)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (21,600원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (24,300원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (25,110원)
(최대할인 3만원 / 3만원 이상 결제)
Close

Functional C#

원제 : Functional C#
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 221
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
  • 추가혜택
    배송정보
    주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서(20)

    • 사은품(9)

    책소개

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

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

    출판사 서평

    [이 책에서 다루는 내용]

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

    [이 책의 대상 독자]

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

    [이 책의 구성]

    1장, 'C#으로 함수형 스타일 맛보기'에서는 함수형 프로그래밍의 개념, 명령형 프로그래밍과 비교를 통해 함수형 프로그래밍 접근법을 소개한다. 간단한 명령형 코드를 함수형으로 리팩토링해본다.
    2장, '대리자 살펴보기'에서는 대리자 정의, 문법, 사용법을 알아본다. 다양한 대리자 변형과 내장 대리자에 대해서도 살펴본다.
    3장, '람다식을 이용한 무명 메서드 표현'에서는 대리자 개념과 대리자를 이용해서 무명 메서드를 만들고 사용하는 방법을 알아본다. 무명 메서드에 대해 충분히 이해한 다음에는 이를 람다식으로 변환하고 함수형 프로그래밍에 적용해본다.
    4장, '확장 메서드로 객체 기능 확장하기'에서는 함수형 프로그래밍에서 확장 메서드가 갖는 장점을 자세하게 살펴본다. 확장 메서드의 사용 방법, 인텔리센스에서 새로운 메서드를 가져오는 방법, 다른 어셈블리에서 확장 메서드를 호출하는 방법 등도 알아본다.
    5장, 'LINQ를 이용해 컬렉션 조회하기'에서는 C#의 LINQ 연산자를 소개하고 LINQ 문법의 두 가지, 일반 프로그래밍 방식과 쿼리식 문법을 비교한다. 덧붙여 LINQ 프로세스에서 지연 실행이 무엇인지 살펴본다.
    6장, '비동기 프로그래밍으로 함수형 프로그래밍의 반응성 개선하기'에서는 함수형 접근 방식에서 비동기 프로그래밍을 설명한다. 비동기 프로그래밍 모델(APM)과 태스크 기반 비동기 패턴(TAP)에 대해 알아본다.
    7장, '재귀 호출'에서는 순환문과 비교해 재귀 호출이 갖는 장점을 기술하고, 직접 및 간접 재귀 호출에 대해 설명한다.
    8장, '지연과 캐시 기법을 이용한 코드 최적화'에서는 함수형 프로그래밍 관점의 최적화라는 관점으로 지연과 캐시 기법에 대해 이야기한다.
    9장, '패턴 이용하기'에서는 전통적인 스위치 케이스(switch-case) 작업에 비해 패턴을 이용할 때 얻을 수 있는 장점에 대해 살펴본다. 패턴 매칭과 모나드에 대해 논하면서 C# 7에서 새로 도입한 패턴 매칭 기능을 사용한다.
    10장, 'C#으로 함수형 프로그래밍하기'에서는 주어진 명령형 코드를 기반으로 함수형 코드를 개발하는 방법을 보여준다. 이전 장에서 배운 지식을 근간으로 함수형 접근법에 따라 애플리케이션을 만들어본다.
    11장, '코딩 모범 사례와 함수형 코드 테스팅'에서는 함수형 접근 방법의 우수 사례를 설명하면서 숨김 없는 시그니처를 만들고 부작용에 대응하는 방법을 알아본다. 또한 코드를 도메인 논리와 변경 가능한 셸 내로 격리하고 단위 테스트를 수행한다.

    목차

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

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

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

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

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

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

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

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

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

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

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

    본문중에서

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

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

    저자소개

    위스누 앤거로(Wisnu Anggoro) [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 2종
    판매수 58권

    C# MCP(Microsoft Certified Professional)이며 경험 많은 C/C++ 개발자다. 팩트출판사에서 [Boost.Asio C++ Network Programming](2013)과 [Functional C#](2017)을 집필했다. 약 20년 전 고등학생 때부터 프로그래밍을 시작했으며, MS-DOS 환경에서 BASIC을 사용해 프로그램을 만들기 시작했다. 심(SIM) 카드 OS 포팅, 개인화, PC/SC 통신 등 C#과 C/C++을 필요로 하는 스마트카드 프로그래밍과 데스크톱, 웹 개발에 풍부한 경험을 갖고 있다. 현재 스마트카드의 혁신적인 기술을 전문으로 하는 인도네시아 기업 CIPTA에서 선임 스마트카드 소프트웨어 개발자로 일하고

    펼쳐보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    도담 시스템스를 거쳐 현재 kt ds에 근무 중이며 다양한 항공, 우주 및 통신 분야 SI/SM 프로젝트에 참여해 오고 있다. GoDev 멤버로도 활동 중이며 한국의 개발자들도 여유로운 저녁이 있는 삶을 즐기는 그날을 꿈꾸고 있다.

    이 상품의 시리즈

    프로그래밍 언어 시리즈(총 21권 / 현재구매 가능도서 21권)

    펼쳐보기

    이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

      리뷰

      0.0 (총 0건)

      기대평

      작성시 유의사항

      평점
      0/200자
      등록하기

      기대평

      0.0

      교환/환불

      교환/환불 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

      교환/환불 가능 기간

      고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

      교환/환불 비용

      고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

      교환/환불 불가사유

      반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
      배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

      소비자 피해보상

      소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
      교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

      기타

      도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

      배송안내

      • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

      • 배송비

      도서(중고도서 포함) 구매

      2,000원 (1만원이상 구매 시 무료배송)

      음반/DVD/잡지/만화 구매

      2,000원 (2만원이상 구매 시 무료배송)

      도서와 음반/DVD/잡지/만화/
      중고직배송상품을 함께 구매

      2,000원 (1만원이상 구매 시 무료배송)

      업체직접배송상품 구매

      업체별 상이한 배송비 적용