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

Programming in Scala 창시자가 직접 집필한 스칼라 언어의 바이블

3판
마틴 오더스키 , 렉스 스푼 , 빌 베너스 지음 | 오현석 , 반영록 , 이동욱 옮김 | 에이콘출판 | 2017년 05월 23일 출간
클로버 리뷰쓰기

이 책의 다른 상품 정보

  • 정가 : 50,000원
    판매가 : 45,000 [10%↓ 5,000원 할인]
  • 혜택 :
    [기본적립] 2500원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 개정정보 : 2021년 01월 출간된 개정판이 있습니다. 개정판 보기
  • 도서상태 : 절판

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • 2022 캘린더 수록한 IT독자를 위한 readIT 노트 사은품
    2021.10.14 ~ 2021.11.30
상품상세정보
ISBN 9788960777736(8960777730)
쪽수 872쪽
크기 188 * 251 * 47 mm /1689g 판형알림
이 책의 원서/번역서 Programming in Scala: Updated for Scala 2.12 / Martin Odersky

책소개

이 책이 속한 분야

스칼라는 여러 함수 언어적 기법과 객체지향 기법을 한데 잘 녹여서 루비나 파이썬 같은 동적 언어 못지않게 간결하면서 풍부한 표현력을 가진 언어다. 지난 몇 년간 빅데이터나 머신 러닝 등의 최첨단 분야에 널리 쓰이고 있다. 스칼라를 만든 마틴 오더스키 등이 집필한 이 책은 스칼라의 다양한 측면을 완벽하게 설명한 스칼라 언어의 바이블이다.

함수, 트레이트, 암시적 변환, 모듈 등 스칼라의 기본 문법과 컬렉션 사용법, 컬렉션의 내부 구조, 객체지향 및 함수 프로그래밍을 활용하는 방법을 다룬다. 또한 퓨처를 사용한 동시성 프로그래밍, 자바와의 조합, 파싱, GUI 프로그래밍 같은 응용을 설명한 2판의 내용을 수정, 보완했으며, 최신 버전인 스칼라 2.12에 맞춰서 문자열 인터폴레이션이나 와일드카드 타입 등의 내용이 추가됐다. 차근차근 따라하다 보면 숙련된 스칼라 개발자가 될 수 있으며, 동시에 다양한 프로그래밍 패러다임을 한 언어에 자연스럽게 녹이는 방법과, 각각을 적재적소에 활용하는 방법을 배울 수 있다.

목차

1장. 확장 가능한 언어

__1.1 여러분의 마음에서 점점 자라가는 언어
__1.2 스칼라의 확장성이 가능한 이유
__1.3 왜 스칼라인가
__1.4 스칼라의 뿌리
__1.5 결론

2장. 스칼라 첫걸음

__2.1 1단계: 스칼라 인터프리터 사용법을 익히자
__2.2 2단계: 변수를 정의해보자
__2.3 3단계: 함수를 정의해보자
__2.4 4단계: 스칼라 스크립트를 작성해보자
__2.5 5단계: while로 루프를 돌고, if로 결정해보자
__2.6 6단계: foreach와 for를 사용해 이터레이션해보자
__2.7 결론

3장. 스칼라 두 번째 걸음

__3.1 7단계: 배열에 타입 파라미터를 지정해보자
__3.2 8단계: 리스트를 사용해보자
__3.3 9단계: 튜플을 사용해보자
__3.4 10단계: 집합과 맵을 써보자
__3.5 11단계: 함수형 스타일을 인식하는 법을 배우자
__3.6 12단계: 파일의 내용을 줄 단위로 읽자
__3.7 결론

4장. 클래스와 객체

__4.1 클래스, 필드, 메소드
__4.2 세미콜론 추론
__4.3 싱글톤 객체
__4.4 스칼라 애플리케이션
__4.5 App 트레이트
__4.6 결론

5장. 기본 타입과 연산

__5.1 기본 타입
__5.2 리터럴
__5.3 문자열 인터폴레이션
__5.4 연산자는 메소드다
__5.5 산술 연산
__5.6 관계 연사과 논리 연산
__5.7 비트 연산
__5.8 객체 동일성
__5.9 연산자 우선순위와 결합 법칙
__5.10 풍부한 래퍼
__5.11 결론

6장. 함수형 객체

__6.1 분수 클래스 명세
__6.2 Rational 생성
__6.3 toString 메소드 다시 구현하기
__6.4 선결 조건 확인
__6.5 필드 추가
__6.6 자기 참조
__6.7 보조 생성자
__6.8 비공개 필드와 메소드
__6.9 연산자 정의
__6.10 스칼라의 식별자
__6.11 메소드 오버로딩
__6.12 암시적 타입 변환
__6.13 주의사항
__6.14 결론

7장. 내장 제어 구문

__7.1 if 표현식
__7.2 while 루프
__7.3 for 표현식
__7.4 try 표현식으로 예외 다루기
__7.5 match 표현식
__7.6 break와 continue 문 없이 살기
__7.7 변수 스코프
__7.8 명령형 스타일 코드 리팩토링
__7.9 결론

8장. 함수와 클로저

__8.1 메소드
__8.2 지역 함수
__8.3 1급 계층 함수
__8.4 간단한 형태의 함수 리터럴
__8.5 위치 표시자 문법
__8.6 부분 적용한 함수
__8.7 클로저
__8.8 특별한 형태의 함수 호출
__8.9 꼬리 재귀
__8.10 결론

9장. 흐름 제어 추상화

__9.1 코드 중복 줄이기
__9.2 클라이언트 코드 단순하게 만들기
__9.3 커링
__9.4 새로운 제어 구조 작성
__9.5 이름에 의한 호출 파라미터
__9.5 이름에 의한 호출 사용
__9.6 결론

10장. 상속과 구성

__10.1 2차원 레이아웃 라이브러리
__10.2 추상 클래스
__10.3 파라미터 없는 메소드 정의
__10.4 클래스 확장
__10.5 메소드와 필드 오버라이드
__10.6 파라미터 필드 정의
__10.7 슈퍼클래스의 생성자 호출
__10.8 override 수식자 사용
__10.9 다형성과 동적 바인딩
__10.10 final 멤버 선언
__10.11 상속과 구성 사용
__10.12 above, beside, toString 구현
__10.13 팩토리 객체 정의
__10.14 높이와 너비 조절
__10.15 한데 모아 시험해보기
__10.16 결론

11장. 스칼라의 계층구조

__11.1 스칼라의 클래스 계층구조
__11.2 여러 기본 클래스를 어떻게 구현했는가
__11.3 바닥에 있는 타입
__11.4 자신만의 값 클래스 정의
__11.5 결론

12장. 트레이트

__12.1 트레이트의 동작 원리
__12.2 간결한 인터페이스와 풍부한 인터페이스
__12.3 예제: 직사각형 객체
__12.4 Ordered 트레이트
__12.5 트레이트를 이용해 변경 쌓아 올리기
__12.6 왜 다중 상속은 안 되는가
__12.7 트레이트냐 아니냐, 이것이 문제로다
__12.8 결론

13장. 패키지와 임포트

__13.1 패키지 안에 코드 작성하기
__13.2 관련 코드에 간결하게 접근하기
__13.3 임포트
__13.4 암시적 임포트
__13.5 접근 수식자
__13.6 패키지 객체
__13.7 결론

14장. 단언문과 테스트

__14.1 단언문
__14.2 스칼라에서 테스트하기
__14.3 충분한 정보를 제공하는 실패 보고
__14.4 명세로 테스트하기
__14.5 프로퍼티 기반 테스트
__14.6 테스트 조직과 실행
__14.7 결론

15장. 케이스 클래스와 패턴 매치

__15.1 간단한 예
__15.2 패턴의 종류
__15.3 패턴 가드
__15.4 패턴 겹침
__15.5 봉인된 클래스
__15.6 Option 타입
__15.7 7패턴은 어디에나
__15.8 복잡한 예제
__15.9 결론

16장. 리스트

__16.1 리스트 리터럴
__16.2 리스트 타입
__16.3 리스트 생성
__16.4 리스트 기본 연산
__16.5 리스트 패턴
__16.6 List 클래스의 1차 메소드
__16.7 List 클래스의 고차 메소드
__16.8 List 객체의 메소드
__16.9 여러 리스트를 함께 처리하기
__16.10 스칼라의 타입 추론 알고리즘 이해
__16.11 결론

17장. 컬렉션

__17.1 시퀀스
__17.2 집합과 맵
__17.3 변경 가능 컬랙션과 변경 불가능 컬렉션
__17.4 컬렉션 초기화
__17.5 튜플
__17.6 결론

18장. 변경 가능한 객체

__18.1 무엇이 객체를 변경 가능하게 하는가
__18.2 재할당 가능한 변수와 속성
__18.3 사례 연구: 이산 이벤트 시뮬레이션
__18.4 디지털 회로를 위한 언어
__18.5 시뮬레이션 API
__18.6 회로 시뮬레이션
__18.7 결론

19장. 타입 파라미터화

__19.1 함수형 큐
__19.2 정보 은닉
__19.3 변성 표기
__19.4 변성 표기 검사
__19.5 하위 바운드
__19.6 반공변성
__19.7 객체의 비공개 데이터
__19.8 상위 바운드
__19.9 결론

20장. 추상 멤버

__20.1 추상 멤버 간략하게 돌아보기
__20.2 타입 멤버
__20.3 추상 val 변수
__20.4 추상 var
__20.5 추상 val 초기화
__20.6 추상 타입
__20.7 경로에 의존하는 타입
__20.8 세분화한 타입
__20.9 열거형
__20.10 사례 연구: 통화 변환
__20.11 결론

21장. 암시적 변환과 암시적 파라미터

__21.1 암시적 변환
__21.2 암시 규칙
__21.3 예상 타입으로의 암시적 변환
__21.4 호출 대상 객체 변환
__21.5 암시적 파라미터
__21.6 맥락 바운드
__21.7 여러 변환을 사용하는 경우
__21.8 암시 디버깅
__21.9 결론

22장. 리스트 구현

__22.1 List 클래스 개괄
__22.2 ListBuffer 클래스
__22.3 실제 List 클래스
__22.4 외부에서 볼 때는 함수형
__22.5 결론

23장. For 표현식 다시 보기

__23.1 for 표현식
__23.2 n 여왕 문제
__23.3 for 식으로 질의하기
__23.4 for 표현식 변환
__23.5 역방향 적용
__23.6 for 일반화
__23.7 결론

24장. 컬렉션 자세히 들여다보기

__24.1 변경 가능, 변경 불가능 컬렉션
__24.2 컬렉션 일관성
__24.3 Traversable 트레이트
__24.4 Iterable 트레이트
__24.5 시퀀스 트레이트: Seq, IndexedSeq, LinearSeq
__24.6 집합
__24.7 맵
__24.8 변경 불가능한 구체적인 컬렉션 클래스
__24.9 변경 가능한 구체적인 컬렉션 클래스
__24.10 배열
__24.11 문자열
__24.12 성능 특성
__24.13 동일성
__24.14 뷰
__24.15 이터레이터
__24.16 컬렉션 처음 만들기
__24.17 자바와 스칼라 컬렉션 변환
__24.18 결론

25장. 스칼라 컬렉션의 아키텍처

__25.1 빌더
__25.2 공통 연산 한데 묶기
__25.3 새 컬렉션 통합
__25.4 결론

26장. 익스트랙터

__26.1 예제: 전자우편 주소 추출
__26.2 익스트랙터
__26.3 변수가 없거나 1개만 있는 패턴
__26.4 가변 인자 익스트랙터
__26.5 익스트랙터와 시퀀스 패턴
__26.6 익스트랙터와 케이스 클래스
__26.7 정규표현식
__26.8 결론

27장. 애노테이션

__27.1 애노테이션이 왜 필요한가
__27.2 애노테이션 문법
__27.3 표준 애노테이션
__27.4 결론

28장. XML 다루기

__28.1 반 구조화 데이터
__28.2 XML 개요
__28.3 XML 리터럴
__28.4 직렬화
__28.5 XML 분석
__28.6 역 직렬화
__28.7 저장하기와 불러오기
__28.8 XML에 대한 패턴 매치
__28.9 결론

29장. 객체를 사용한 모듈화 프로그래밍

__29.1 문제
__29.2 조리법 애플리케이션
__29.3 추상화
__29.4 모듈을 트레이트로 분리하기
__29.5 실행 시점 링킹
__29.6 모듈 인스턴스 추적
__29.7 결론

30장. 객체의 동일성

__30.1 스칼라에서의 동일성
__30.2 동일성 비교 메소드 작성
__30.3 파라미터화한 타입의 동일성 정의
__30.4 equals와 hashCode 요리법
__30.5 결론

31장. 스칼라와 자바의 결합

__31.1 스칼라를 자바에서 사용하기
__31.2 애노테이션
__31.3 와일드카드 타입
__31.4 스칼라와 자바를 함께 컴파일하기
__31.5 자바 8과 스칼라 2.12의 통합
__31.6 결론

32장. 퓨처와 동시성

__32.1 낙원의 골칫거리
__32.2 비동기 실행과 Try
__32.3 Future의 사용
__32.4 Future 테스트
__32.5 결론

33장. 콤비네이터 파싱

__33.1 예제: 산술식
__33.2 파서 실행
__33.3 기본 정규표현식 파서
__33.4 또 다른 예: JSON
__33.5 파서의 결과
__33.6 콤비네이터 파서 구현
__33.7 문자열 리터럴과 정규표현식
__33.8 어휘분석과 파싱
__33.9 오류 보고
__33.10 백트래킹과 LL(1)
__33.11 결론

34장. GUI 프로그래밍

__34.1 첫 번째 스윙 애플리케이션
__34.2 패널과 레이아웃
__34.3 이벤트 처리
__34.4 예제: 섭씨/화씨 변환기
__34.5 결론

35장. SCells 스프레드시트

__35.1 화면 프레임워크
__35.2 데이터 입력과 화면 표시 분리하기
__35.3 식
__35.4 식의 파싱
__35.5 계산
__35.6 연산 라이브러리
__35.7 변경 전파
__35.8 결론

출판사 서평

★ 이 책에서 다루는 내용 ★

여러분의 학습을 돕기 위해 주의 깊게 쓰여졌다. 앞의 몇 장을 통해 기본적인 내용을 배우고 나면 간단한 작업을 수행하는 데 스칼라를 사용할 수 있다. 전체적인 내용은 앞에서 다룬 개념을 바탕으로 새로운 개념을 배울 수 있도록 잘 배열되어 있다. 따라서 각 단계를 차근차근 밟으면 스칼라 언어와 그 언어에 담겨있는 프로그래밍에 대한 여러 아이디어를 통달할 수 있다.
이 책은 종합적인 자습서이자 참고서로 스칼라 언어의 모든 특징과 중요한 라이브러리를 다룬다.
3판은 스칼라 2.9부터 시작해 스칼라 ... 더보기

Klover 리뷰 (0)

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

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료

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

교환/반품/품절안내

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

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

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