메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

프로그래밍 스칼라

실용적인 스칼라 활용법을 익히는 가장 확실한 실전 바이블 (2.11.x 버전 기반)

한빛미디어

번역서

절판

  • 저자 : 딘 왐플러 , 알렉스 페인
  • 번역 : 오현석
  • 출간 : 2016-06-01
  • 페이지 : 776 쪽
  • ISBN : 9788968482755
  • eISBN : 9788968489457
  • 물류코드 :2275
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.1점 (7명)
좋아요 : 46

책소개

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

 

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

 

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

 

 

detail2.jpg

 

저자소개

딘 왐플러 저자

딘 왐플러

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

알렉스 페인 저자

알렉스 페인

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

오현석 역자

오현석

모빌리티42 이사로 일하면서 매일 고객의 요청에 따라 코드를 만드는 현업 개발자다. 어릴 때 처음 접한 컴퓨터에 매료된 후 경기과학고등학교, KAIST 전산학 학사와 프로그래밍 언어 전공 석사를 취득하며 계속 컴퓨터를 사용했다. 직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 빈 시간에는 번역을 하거나 공부하면서 즐거움을 찾는다. 『코어 파이썬 애플리케이션 프로그래밍』(에이콘, 2014)을 시작으로 『배워서 바로 쓰는 스프링 프레임워크』(2020), 『러닝 리액트(2판)』(2021), 『고성능 파이썬(2판)』(이상 한빛미디어, 2021) 등 30권 이상의 책을 번역했다.

 

 

목차

 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_ 마치며

 

출판사리뷰

스칼라를 실전에 응용하는 방법을 알려주는 가장 확실한 안내서

 

최신 2.11.x 버전에 대응하는 이 책은 스칼라 초보자부터 고급 개발자 모두를 대상으로 스칼라 언어의 특징을 설명하고, 다양한 코드 예제와 설명을 제공하는 종합 안내서다. 스칼라 언어에 대해 총 4개 부 24개 장에 걸쳐 종합적으로 다루고, 다양한 예제 코드와 설명을 제공한다. 또 스칼라가 그 기반 플랫폼인 JVM의 고급 기능을 어떻게 활용하는지 보여주는 한편, 함수형 프로그래밍의 기초부터 고급 기법까지 심도 있게 설명한다. 독자는 스칼라를 활용해 즉각적으로 생산성을 개선할 수 있는 방법을 찾아낼 수 있을 것이다.

 

 

주요 내용

  • 간결하고 유연한 문법으로 빠르게 프로그래밍하기
  • 함수형 프로그래밍의 기초와 고급 기법 익히기
  • 함수 컴비네이터로 빅데이터 애플리케이션 작성하기
  • 트레이트 혼합을 활용하고, 데이터 추출에 패턴 매칭 사용하기
  • 함수형과 객체지향 프로그래밍 개념을 한데 묶는 정교한 타입 시스템 배우기
  • 액터 기반 동시성 모델 아카와, 비동기 코드 작성에 유용한 퓨처 다루기
  • 도메인 특화 언어(DSL) 개발법 이해하기
  • 확장성이 좋으면서 튼튼한 애플리케이션 설계 기법 배우기   

 

 

대상 독자

  • 스칼라를 처음 접하는 초보자부터 고급 프로그래머까지 전체를 아우르는 개발자층
  • 스칼라에 대한 전반적인 지식을 빠르게 얻고자 하는 경험 많은 개발자
  • 대규모의 기업용 애플리케이션이나 미들웨어 개발자

 

독자리뷰

오탈자 보기

부록/예제소스

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
프로그래밍 스칼라
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
프로그래밍 스칼라
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
프로그래밍 스칼라
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?