본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

프로그래밍 스칼라 상세페이지

컴퓨터/IT 개발/프로그래밍

프로그래밍 스칼라

실용적인 스칼라 활용법을 익히는 가장 확실한 실전 바이블 (2.11.x 버전 기반)
소장종이책 정가48,000
전자책 정가30%33,600
판매가33,600
프로그래밍 스칼라 표지 이미지

프로그래밍 스칼라작품 소개

<프로그래밍 스칼라>

입문자부터 고급 개발자까지, 모두가 기다린 실전 안내서

이 책은 다양한 코드 예제가 포함된 실전 바이블이다. 초보자와 고급 사용자를 한데 아우를 뿐 아니라, 실제 개발자들의 실용적 관심사에 초점을 맞추어 실전 활용법을 안내한다.

2.11.x 버전에 대응한 최신 스칼라 언어의 특징부터 패턴 매칭, for 내장(comprehension), 고급 함수형 프로그래밍 등의 새로운 내용을 소개한다. 또한 스칼라 명령행 도구와 서드파티 도구, 라이브러리, IDE의 스칼라 지원에 대해 살펴보고, 그 과정에서 생산성을 발휘하는 방법을 제시한다.


저자 프로필

딘 왐플러 Dean Wampler

  • 학력 워싱턴대학교 물리학과 박사

2015.05.07. 업데이트 작가 프로필 수정 요청


저자 소개

지은이_딘 왐플러

타입세이프 사의 빅데이터 제품 아키텍트다. 그는 스칼라와 함수형 프로그래밍이 빅데이터 애플리케이션에 이상적인 도구라고 늘 주장해온 옹호자다. 딘은 『하이브 완벽 가이드』의 공저자며, 『자바 개발자를 위한 함수형 프로그래밍』(이상 한빛미디어)의 저자다. 그는 여러 오픈 소스 프로젝트에 기여했으며, 다양한 기술 콘퍼런스와 시카고 지역의 여러 사용자 그룹을 함께 조직했다.


지은이_알렉스 페인

초기 단계의 스타트업과 주로 작업하는 개발자이자 저술가며 엔젤 투자가다. 그는 트위터의 플랫폼 리드로 스칼라를 사용했고, 온라인 뱅킹 서비스인 심플 사의 CTO로 스칼라 제품을 출시했다. 알렉스는 새로운 프로그래밍 언어와 개발 도구를 보여주는 연례 ‘최신 언어 콘퍼런스’를 조직했다.


옮긴이_오현석

KAIST에서 전산학 학사와 석사 학위(프로그래밍 언어 연구실)를 취득했다. 삼성메디슨, 비트앤펄스 등에서 UI 개발자와 개발 팀장을 지냈고, 호주에서 프리랜서 C++/풀스택 개발자로 일하고 있다. 웹이나 모바일 등의 분야에서 값 중심의 프로그래밍을 통해 오류 발생 가능성이 더 적으면서 유지보수가 편한 프로그램을 작성하는 방법과 이를 지원하는 여러 도구를 만드는 일에 관심이 많다. 최근에는 스칼라와 파이썬을 사용한 대규모 병렬 처리나 액터를 활용한 분산 처리 등을 공부하는 중이다. 『Programming in Scala (Second Edition) 한국어판』, 『스칼라 동시성 프로그래밍』(이상 에이콘), 『시스템 성능 분석과 최적화』(위키북스) 등을 번역했다.

목차

Part 1_스칼라와의 만남

1장. 빠른 출발: 스칼라 소개
__1.1_ 왜 스칼라인가?
__1.2_ 스칼라 설치하기
__1.3_ 스칼라 맛보기
__1.4_ 동시성 맛보기
__1.5_ 마치며

2장. 입력은 조금만, 일은 더 많이
__2.1_ 세미콜론
__2.2_ 변수 정의
__2.3_ 범위
__2.4_ 부분 함수
__2.5_ 메서드 선언
__2.6_ 타입 정보 추론하기
__2.7_ 예약어
__2.8_ 리터럴 값
__2.9_ Option, Some, None: null 사용 피하기
__2.10_ 봉인된 클래스 계층
__2.11_ 파일과 이름공간으로 코드 구조화하기
__2.12_ 타입과 멤버 임포트하기
__2.13_ 추상 타입과 매개변수화한 타입
__2.14_ 마치며

3장. 기초를 튼튼히
__3.1_ 연산자 오버로딩?
__3.2_ 빈 인자 목록이 있는 메서드
__3.3_ 우선순위 규칙
__3.4_ 도메인 특화 언어
__3.5_ 스칼라 if 문
__3.6_ 스칼라 for 내장
__3.7_ 다른 루프 표현
__3.8_ 조건 연산자
__3.9_ try, catch, finally 사용하기
__3.10_ 이름에 의한 호출과 값에 의한 호출
__3.11_ 지연값
__3.12_ 열거값
__3.13_ 문자열 인터폴레이션
__3.14_ 트레이트: 스칼라 인터페이스와 혼합
__3.15_ 마치며

Part 2_ 기본기 다지기

4장. 패턴 매칭
__4.1_ 단순 매치
__4.2_ 매치 내의 값, 변수, 타입
__4.3_ 시퀀스에 일치시키기
__4.4_ 튜플에 일치시키기
__4.5_ 케이스 절의 가드
__4.6_ 케이스 클래스에 일치시키기
__4.7_ 가변 인자 목록과 일치시키기
__4.8_ 정규 표현식과 일치시키기
__4.9_ 케이스 절의 변수 바인딩에 대해 더 살펴보기
__4.10_ 타입 일치에 대해 더 살펴보기
__4.11_ 봉인된 클래스 계층과 매치의 완전성
__4.12_ 패턴 매칭의 다른 사용법
__4.13_ 패턴 매칭에 대한 설명을 마치며
__4.14_ 마치며

5장. 암시

__5.1_ 암시적 인자
__5.2_ 암시적 인자를 사용하는 시나리오
__5.3_ 암시적 변환
__5.4_ 타입 클래스 패턴
__5.5_ 암시와 관련된 기술적 문제
__5.6_ 암시 해결 규칙
__5.7_ 스칼라가 기본 제공하는 암시
__5.8_ 암시를 현명하게 활용하기
__5.9_ 마치며

6장. 스칼라 함수형 프로그래밍
__6.1_ 함수형 프로그래밍이란 무엇인가?
__6.2_ 스칼라 함수형 프로그래밍
__6.3_ 재귀
__6.4_ 꼬리 호출과 꼬리 호출 최적화
__6.5_ 부분 적용 함수와 부분 함수
__6.6_ 함수의 커링과 다른 변환
__6.7_ 함수형 데이터 구조
__6.8_ 순회하기, 연관시키기, 걸러내기, 접기, 축약하기
__6.9_ 왼쪽 순회와 오른쪽 순회
__6.10_ 콤비네이터: 가장 뛰어난 소프트웨어 컴포넌트 추상화
__6.11_ 복사에 드는 비용은 어떤가?
__6.12_ 마치며

7장. for 내장
__7.1_ 돌아보기: for 내장의 기본 요소
__7.2_ for 내장: 내부 동작
__7.3_ for 내장의 변환 규칙
__7.4_ Option과 다른 컨테이너 타입
__7.5_ 마치며

8장. 스칼라 객체지향 프로그래밍
__8.1_ 클래스와 객체의 기초
__8.2_ 참조 타입과 값 타입
__8.3_ 값 클래스
__8.4_ 부모 타입
__8.5_ 스칼라에서의 생성자
__8.6_ 클래스의 필드
__8.7_ 입력 검증하기
__8.8_ 부모 클래스 생성자 호출하기(그리고 좋은 객체지향 설계)
__8.9_ 내포된 타입
__8.10_ 마치며

9장. 트레이트
__9.1_ 자바 8의 인터페이스
__9.2_ 믹스인으로서의 트레이트
__9.3_ 트레이트 쌓기
__9.4_ 트레이트 만들기
__9.5_ 클래스를 쓸 것인가 트레이트를 쓸 것인가?
__9.6_ 마치며

10장. 스칼라 객체 시스템 I
__10.1_ 매개변수화한 타입: 상속에 따른 변성
__10.2_ 스칼라 타입 계층구조
__10.3_ Nothing(그리고 Null)에 대한 더 많은 내용
__10.4_ Product, 케이스 클래스, 튜플
__10.5_ Predef 객체
__10.6_ 객체의 동등성
__10.7_ 마치며

11장. 스칼라 객체 시스템 II
__11.1_ 클래스와 트레이트의 멤버 오버라이딩하기
__11.2_ 객체의 상속 계층을 선형화하기
__11.3_ 마치며

12장. 스칼라 컬렉션 라이브러리
__12.1_ 제네릭, 변경 가능, 변경 불가능, 동시성, 병렬 컬렉션, 아이고!
__12.2_ 컬렉션 선택하기
__12.3_ 컬렉션 라이브러리의 설계 방식
__12.4_ 값 타입을 위한 특화
__12.5_ 마치며

13장. 가시성 규칙
__13.1_ 공개: 기본 가시성
__13.2_ 가시성 지정 키워드
__13.3_ 공개 가시성
__13.4_ 보호 가시성
__13.5_ 비공개 가시성
__13.6_ 영역 지정 비공개와 영역 지정 보호 가시성
__13.7_ 가시성에 대한 마지막 고찰
__13.8_ 마치며

Part 3_ 기초를 넘어서

14장. 스칼라 타입 시스템 I
__14.1_ 매개변수화한 타입
__14.2_ 타입 바운드
__14.3_ 맥락 바운드
__14.4_ 뷰 바운드
__14.5_ 추상 타입 이해하기
__14.6_ 자기 타입 표기
__14.7_ 구조적 타입
__14.8_ 복합 타입
__14.9_ 존재 타입
__14.10_ 마치며

15장. 스칼라 타입 시스템 II
__15.1_ 경로에 의존하는 타입
__15.2_ 의존적 메서드 타입
__15.3_ 타입 투영
__15.4_ 값에 대한 타입
__15.5_ 고계 타입
__15.6_ 타입 람다
__15.7_ 자기 재귀 타입: F-바운드 다형성
__15.8_ 마치며

16장. 고급 함수형 프로그래밍
__16.1_ 대수적 데이터 타입
__16.2_ 카테고리 이론
__16.3_ 마치며

Part 4_ 고급 주제 및 실전 응용

17장. 동시성 프로그래밍 도구
__17.1_ scala.sys.process 패키지
__17.2_ 퓨처
__17.3_ 액터를 활용해서 튼튼하고 확장성 있는 동시성 프로그래밍하기
__17.4_ 아카: 스칼라를 위한 액터
__17.5_ 피클링과 스포어즈
__17.6_ 반응형 프로그래밍
__17.7_ 마치며

18장. 스칼라를 활용한 빅데이터
__18.1_ 빅데이터: 간략한 역사
__18.2_ 스칼라로 맵리듀스 개선하기
__18.3_ 맵리듀스를 넘어서
__18.4_ 수학을 위한 카테고리
__18.5_ 스칼라 기반 데이터 도구 목록
__18.6_ 마치며

19장. 스칼라 동적 호출
__19.1_ 동기를 불어넣는 예제: 루비 온 레일즈의 ActiveRecord
__19.2_ Dynamic 트레이트를 사용해서 스칼라에서 동적 호출하기
__19.3_ DSL에서 고려할 점
__19.4_ 마치며

20장. 스칼라 도메인 특화 언어
__20.1_ 예제: 스칼라를 위한 XML과 JSON DSL
__20.2_ 내부 DSL
__20.3_ 파서 콤비네이터를 활용한 외부 DSL
__20.4_ 내부 DSL과 외부 DSL에 대한 마지막 고찰
__20.5_ 마치며

21장. 스칼라 도구와 라이브러리
__21.1_ 명령행 도구
__21.2_ 빌드 도구
__21.3_ IDE나 텍스트 편집기와 통합하기
__21.4_ 스칼라로 테스트 주도 개발하기
__21.5_ 서드파티 라이브러리
__21.6_ 마치며

22장. 자바 상호 운용성
__22.1_ 자바에서 정의한 이름을 스칼라 코드에서 사용하기
__22.2_ 자바와 스칼라 제네릭스
__22.3_ 자바빈즈 프로퍼티
__22.4_ AnyVal 타입과 자바 기본 타입
__22.5_ 자바 코드로 변환한 스칼라 이름
__22.6_ 마치며

23장. 애플리케이션 설계
__23.1_ 그 동안 배운 내용 복습
__23.2_ 애노테이션
__23.3_ 모듈로서의 트레이트
__23.4_ 디자인 패턴
__23.5_ 계약에 의한 설계를 활용해서 더 좋게 설계하기
__23.6_ 파르테논 구조
__23.7_ 마치며

24장. 메타프로그래밍: 매크로와 리플렉션
__24.1_ 타입을 이해하기 위한 도구
__24.2_ 실행 시점 리플렉션
__24.3_ 스칼라의 고급 실행 시점 리플렉션 API
__24.4_ 매크로
__24.5_ 마치며


리뷰

구매자 별점

5.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

2명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전