간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (27,720원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (22,050원)
(최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (22,050원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (28,350원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (29,300원)
(최대할인 3만원 / 3만원 이상 결제)
Close

스칼라 동시성 프로그래밍 : 복잡한 동시성 프로그램을 스칼라로 쉽게 개발하는 방법

원제 : Learning Concurrent Programming in Scala

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

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

35,000원

  • 31,500 (10%할인)

    1,750P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(321)

  • 사은품(2)

책소개

복잡한 동시성 프로그램을 스칼라로 쉽게 개발하는 방법

스칼라로 동시성 프로그램을 작성하는 방법을 다룬 책이지만, 꼭 스칼라 개발자가 아니더라도 JVM에서 동시성에 대한 기초를 쌓고, 동시 프로그래밍에 대한 지식을 넓히고자 하는 모든 프로그래머가 참고할 만한 훌륭한 기본서다. 이 책을 읽고 나면 기초적인 동기화 구성요소, 퓨처와 프라미스, 액터, 병렬 컬렉션, 반응형 확장(Rx)을 사용한 프로그래밍을 할 수 있고, 소프트웨어 트랜잭션 메모리 등을 활용해 복잡한 동시성 애플리케이션을 작성하는 법을 배울 수 있다.

출판사 서평

★ 이 책에서 다루는 내용 ★

■ JVM의 동시성 모델에 초점을 맞춘 최신 다중 프로세서 시스템상의 동시 프로그래밍
■ 간단한 저수준 동시성 기본 구성요소로 고성능 동시 시스템 구축
■ 퓨처와 프라미스를 사용해 비동기적 동시 계산을 표현하는 방법
■ 데이터-병렬 컬렉션을 사용해 순차적 프로그램을 매끄럽게 병렬로 빨리 수행하는 법
■ Rx 스타일의 이벤트 스트림을 활용해 선언적으로 반응형 이벤트 기반 프로그램 구현
■ 안전하고, 규모 확장성이 있으며, 이해하기 쉬운 메모리 트랜잭션 데이터 모델 설계
■ 여러 기계에서 실행될 수 있는 분산 애플리케이션을 투명하게 작성하는 법
■ 대규모 애플리케이션에서 적절한 분산 추상화 방식을 선택하고, 여러 분산 프레임워크를 통합하는 방법

★ 이 책의 대상 독자 ★

이 책은 스칼라로 동시 프로그램을 작성하고 싶거나, 동시성에 대한 지식을 넓히고 싶은 소프트웨어 개발자에게 꼭 필요한 자습서다. 동시성에 대해 알지 못하는 스칼라 프로그래머를 대상으로 할 뿐 아니라, 이미 동시성에 대해 알고 있지만 좀 더 자세히 알고 싶은 프로그래머도 대상으로 한다. 스칼라에 대해 기본적인 지식이 있다면 도움이 될 것이다. 하지만, 자바 등 다른 언어를 잘 알고 있는 개발자도 쉽게 이 책을 읽을 수 있다.

★ 이 책의 구성 ★

이 책은 동시 프로그래밍의 다양한 주제를 다루는 장들로 이뤄졌다. 스칼라 런타임의 일부인 기본 동시성 API를 다루며, 더 복잡한 동시성 구성요소를 소개하고, 고수준 동시성 추상화에 대해 자세히 소개한다.

1장, '소개'에서는 동시 프로그래밍의 필요성을 설명하고, 철학적 배경을 제공한다. 그와 동시에, 이 책의 나머지 부분을 이해하기 위해 필요한 스칼라 언어 기초를 다룬다.

2장, 'JVM상의 동시성과 자바 메모리 모델'에서는 동시 프로그래밍의 기초를 설명한다. 이 장에서는 스레드(thread)를 사용하는 방법과 공유 메모리에 대한 접근을 보호하는 방법을 배워보고, 자바 메모리 모델을 알아본다.

3장, '전통적인 동시 프로그래밍 구성 블록'에서는 스레드 풀(thread pool), 원자적 변수(atomic variable), 동시 컬렉션(concurrent collection) 등의 전통적인 동시성 도구에 대해, 특히 그들이 스칼라 언어의 특징과 어떻게 상호작용하는가에 초점을 맞춰서 제시한다. 이 책은 최신의 고수준 동시 프로그래밍 프레임워크에 중점을 둔다. 따라서 이 장은 전통적인 프로그래밍 기법에 대한 개괄을 제공하지만, 너무 많은 것을 세세히 다루지는 않는다.

4장, '퓨처와 프라미스를 사용한 비동기적 프로그래밍'에서는 스칼라용 동시성 프레임워크를 설명하는 첫 번째 장이다. 이 장에서는 퓨처(future)와 프라미스(promise) API를 소개하고, 비동기 프로그램을 작성할 때 어떻게 이들을 제대로 사용하는지 보여준다.

5장, '데이터 병렬 컬렉션'에서는 스칼라의 병렬 컬렉션 프레임워크를 설명한다. 컬렉션 연산을 병렬화하는 방법과 언제 병렬화가 가능한지, 어떻게 병렬화의 이점을 평가할 수 있는지를 배워본다.

6장, '반응형 확장을 활용한 동시 프로그래밍'에서는 이벤트 기반이나 비동기 프로그래밍에서 반응형 확장(Reactive Extension)을 사용하는 방법을 설명한다. 이벤트 스트림에 대한 연산이 컬렉션 연산과 어떻게 대응하는지와, 한 스레드에서 다른 스레드로 이벤트를 전달하는 방법, 이벤트 스트림을 사용해 반응형 사용자 인터페이스를 설계하는 방법을 알아본다.

7장, '소프트웨어 트랜잭션 메모리'에서는 트랜잭션 프로그래밍을 위한 라이브러리인 스칼라 STM(ScalaSTM)을 소개한다. 트랜잭션 프로그래밍의 목표는 안전하고 더 직관적인 공유 메모리 프로그래밍 모델을 제공하는 것이다. 공유 데이터에 대한 접근을 규모 확장성이 있는 메모리 트랜잭션을 사용해 보호함과 동시에 교착상태(deadlock)나 경합 조건(race condition)을 감소시키는 방법을 배워본다.

8장, '액터'에서는 액터 프로그래밍 모델(actor programming model)과 아카(Akka) 프레임워크를 보여준다. 여러 기계에서 실행되는 메시지 전달(message passing) 분산 프로그램을 어떻게 투명하게 만들 수 있는지 살펴본다.

9장, '동시성 실제 활용'에서는 앞에서 소개한 모든 동시성 라이브러리를 정리한다. 이 장에서는 주어진 문제를 해결하기 위해 적절한 동시성 추상화를 어떻게 선택하는지와 여러 다른 동시성 추상화를 함께 사용해 대규모 동시성 애플리케이션을 설계하는 방법을 알아본다..

각 장을 순서대로 읽을 것을 권장하지만, 반드시 그래야 할 필요는 없다. 2장의 내용에 익숙한 독자는 나머지 내용을 바로 공부할 수 있을 것이다. 앞에서 다뤘던 내용에 깊이 의존하는 유일한 장은 9장이며, 이 책에서 다룬 주제를 실용적으로 정리한다.

추천사

동시, 병렬 프로그래밍은 주로 커널 프로그래밍이나 고성능 계산 등의 틈새 분야에 속했었지만, 능숙한 프로그래머라면 꼭 알아야만 하는 기술로 변해왔다. 이제는 병렬 분산 계산 시스템이 표준이기 때문에, 성능을 향상시키거나 비동기적인 이벤트를 처리하기 위한 대부분의 애플리케이션이 동시성 애플리케이션이다.
지금까지 대부분의 개발자는 이런 변화에 적응할 준비가 되어 있지 않았다. 학교에서 스레드와 락에 기반한 전통적인 동시성 모델을 배웠더라도, 그런 모델은 규모가 큰 동시성을 신뢰할 수 있게 다루면서 수긍할만한 생산성을 발휘하기에는 부적합해져 버렸다. 실제로 스레드와 락은 쓰기 어렵고, 올바르게 사용하기는 더욱 어렵다. 좋은 결과를 얻기 위해서는 더 고수준의 조합 가능한 동시성 추상화를 사용해야 할 필요가 있다.
15년 전에, 나는 스칼라의 아버지 뻘인 언어를 이용해 작업한 적이 있다. 그 언어는 '퍼널(Funnel)'이라는, 언어 핵심에서 동시성을 지원하는 실험적인 언어였다. 그 언어의 모든 프로그래밍 개념은 '병합 계산법(join calculus)'의 객체 지향적인 파생물인 '함수적 연결 (functional net)' 위에 정의된 문법적 편의(syntatic sugar)로 설명할 수 있었다. 병합 계산법이 멋진 이론이긴 했지만, 몇 가지 실험을 거친 이후, 우리는 동시성 문제는 한 가지 정형화된 방식만으로 편하게 다루기에는 너무 다양한 측면이 존재한다는 점을 깨달았다. 모든 동시성 문제를 한꺼번에 해결할 수 있는 묘책은 없다. 올바른 해법은 목표가 무엇인가에 따라 달라진다. 값의 스트림이나 이벤트에 대해 반응하는 비동기 계산을 정의하고 싶은가? 메시지를 사용해 서로 통신하는 독립적이며 고립된 개체들이 있었으면 하는가? 변경 가능한 저장소에 대해 트랜잭션을 정의하고 싶은가? 아니면, 병렬 실행의 주 목적이 성능을 향상시키는 것인가? 이런 모든 과업에 대해 제대로 작동할 수 있는 추상화가 퓨처, 반응형 스트림, 액터, 트랜잭션 메모리, 병렬 컬렉션 등으로 따로 존재한다.
그로 인해 스칼라와 이 책이 필요해졌다. 유용한 동시성 추상화가 아주 많기 때문에, 이들을 모두 프로그래밍 언어의 구성 요소로 포함시키는 것은 매력적이지 않다. 스칼라에서 우리가 수행했던 작업의 이면에 있던 목적은, 사용자 코드나 라이브러리에서 고수준의 추상화를 쉽게 정의할 수 있게 하는 것이었다. 이런 방식을 통해, 프로그래머가 동시 프로그래밍의 다양한 측면을 처리할 수 있는 모듈을 정의할 수 있다. 이런 모듈은 모두 호스트 시스템이 제공하는 저수준의 핵심 기능을 바탕으로 구축될 것이다. 뒤돌아보면, 이런 접근 방식이 매우 잘 들어맞아왔다. 오늘날 스칼라로 된 강력하고 우아한 동시 프로그래밍 라이브러리를 다수 볼 수 있다. 이 책은 그중 가장 중요한 몇 가지를 알려주고, 각각의 용례와 적용 패턴을 설명할 것이다.
이러한 책의 저자로 알렉산더 프로코펙보다 더 나은 전문가는 없을 것이다. 그는 동시성과 병렬 프로그래밍에 가장 유명한 몇몇 스칼라 라이브러리에 공헌했다. 또, 가장 복잡한 데이터 구조와 알고리즘을 여러 개 고안해냈다. 그는 자신이 작업해 온 분야에 대해, 읽기 쉬운 자습서인 동시에 권위 있는 참고서 역할을 할 수 있는 책을 만드는 데 성공했다. 나는 이 책이 스칼라로 동시, 병렬 프로그램을 작성하고자 하는 모든 사람에게 필독서가 될 것으로 믿는다. 또한, 환상적이며 빠르게 변하고 있는 계산 분야인 동시 프로그래밍에 대해 알고 싶어 하는 많은 사람의 서가에 이 책이 꽃혀 있는 것을 보게 되리라 확신한다.
- 마틴 오더스키(Martin Odersky) / EPFL 교수, 타입세이프(Typesafe) 공동창업자, 스칼라 창시자

목차

1 소개
__동시 프로그래밍
____전통적인 동시성 소개
____최근의 동시성 패러다임
__스칼라의 이점
__스칼라 기초 지식
____스칼라 프로그램 실행 모델
____스칼라 기초
__요약
__연습문제

2 JVM상의 동시성과 자바 메모리 모델
__프로세스와 스레드
____스레드 만들고 시작
____원자적 실행
____재배열
__모니터와 동기화
____교착상태
____가드가 있는 락
____스레드 인터럽트와 부드럽게 종료
__볼레타일 변수
__자바 메모리 모델
____변경 불가능한 객체와 파이널 필드
__요약
__연습문제

3 전통적인 동시 프로그래밍 구성 블록
__Exucutor와 ExecutionContext 객체
__원자적 구성 요소
____원자적 변수
____락이 없는 프로그래밍
____락을 명시적으로 구현
____ABA 문제
__지연 값
__동시성 컬렉션
____동시성 큐
____동시성 집합과 맵
____동시성 순회
__프로세스를 만들고 다루기
__요약
__연습문제

4 퓨처와 프라미스를 사용한 비동기적 프로그래밍
__퓨처
____퓨처 계산 시작
____퓨처 콜백
____퓨처와 예외
____Try 타입 사용
____심각한 예외
____퓨처를 함수적으로 합성
__프라미스
____콜백 기반의 API 변환
____퓨처 API 확장
____비동기적 계산 취소
__퓨처와 블로킹
____퓨처 기다리기
____비동기 계산 블록
__스칼라 비동기 라이브러리
__다른 퓨처 프레임워크들
__요약
__연습문제

5 데이터 병렬 컬렉션
__스칼라 컬렉션 간단 정리
__병렬 컬렉션 사용
____병렬 컬렉션 계층 구조
____병렬성 수준 설정
____JVM상의 성능 측정
__병렬 컬렉션 사용시 주의할 점
____병렬화 불가능한 컬렉션
____병렬화 불가능한 연산
____병렬 연산에서 부수 효과 사용
____비결정적 병렬 연산
____연산자의 교환성과 결합성
__병렬과 동시 컬렉션을 함께 사용
____약한 일관성 이터레이터
__원하는 대로 동시 컬렉션 구현
____분할기
____병합기
__다른 데이터 병렬 프레임워크
____스칼라블리츠의 컬렉션 계층 구조
__요약
__연습문제

6 반응형 확장을 활용한 동시 프로그래밍
__Observable 객체 생성
____Observable과 예외
____Observable 계약 조건
____전용 Observable 객체 구현
____퓨처에서 Observable 생성
____Subscription
__Observable 객체 합성
____내포된 Observable
____Observable에서 발생한 오류 처리
__Rx 스케줄러
____UI 애플리케이션을 위해 전용 스케줄러 사용
__서브젝트와 하향식 반응형 프로그래밍
__요약
__연습문제

7 소프트웨어 트랜잭션 메모리
__원자적 변수의 문제점
__소프트웨어 트랜잭션 메모리 사용
____트랜잭션형 참조
____atomic 문 사용
__트랜잭션 합성
____트랜잭션과 부수 효과의 상호작용
____단일 연산 트랜잭션
____트랜잭션 내포시키기
____트랜잭션과 예외
__트랜잭션 재시도
____타임아웃 정해서 재시도
__트랜잭션형 컬렉션
____트랜잭션 지역 변수
____트랜잭션형 배열
____트랜잭션형 맵
__요약
__연습문제

8 액터
__액터로 작업
____액터 시스템과 액터 생성
____처리하지 않는 메시지 관리
____액터의 행동 방식과 상태
____아카의 액터 계층 구조
____액터 식별
____액터의 생명 주기
__액터 사이의 통신
____물어보기 패턴
____전달 패턴
____액터 멈추기
__액터 관리
__원격 액터
__요약
__연습문제

9 동시성 실제 활용
__목적에 따라 적절한 도구 선택
__하나로 모으기: 원격 파일 브라우저
____파일시스템 모델링
____서버 인터페이스
____클라이언트 파일 방문 API
____클라이언트 사용자 인터페이스
____클라이언트 논리 구현
____원격 파일 브라우저 개선
__동시 프로그램 디버깅
____교착상태와 진행되지 않음
____잘못된 프로그램 출력 디버깅
____성능 디버깅
__요약
__연습문제

본문중에서

동시성은 어디서나 존재한다. 시장에 다중코어 프로세서가 늘어나면서, 동시 프로그래밍의 필요성이 개발자 사회를 강타했다. 한때 동시 프로그래밍은 프로그램과 시스템의 비동기성을 표현하기 위해 쓰였으며, 주로 학술적인 분야에 한정됐지만, 이제는 소프트웨어 개발에서 널리 사용 중인 방법론 중 하나가 됐다. 그 결과, 고급 동시성 프레임워크와 라이브러리가 놀라운 속도로 생겨나고 있다. 최근 몇 년은 동시 프로그래밍의 르네상스라 할 수 있다.
최근의 언어와 동시성 프레임워크에서 추상화의 정도가 점점 높아짐에 따라, 이들을 언제, 어떻게 사용할지 알아두는 것이 점점 중요해지고 있다. 스레드(thread), 락(lock), 모니터(monitor) 등의 전통적인 동시성과 동기화 기본 요소를 잘 알아두는 것만으로는 더 이상 충분하지 않다. 전통적인 여러 동시성 문제를 해결하면서, 특정 목표를 잘 달성하기 위해 만들어진 고수준 동시성 프레임워크들이 점점 동시 프로그래밍 세계를 장악하고 있다.
이 책은 스칼라에서 고수준 동시 프로그래밍을 설명한다. 또한 다양한 동시성 주제를 자세히 설명하고, 동시 프로그래밍의 기본 이론을 다룬다. 그와 동시에, 최신 동시성 프레임워크를 설명하고, 자세한 의미를 알려주며, 사용법을 독자에게 가르쳐준다. 이 책의 목표는 중요한 동시성 추상화를 소개하는 동시에 실제 코드에서 추상화가 어떻게 쓰이는지 보여주는 것이다.
독자 여러분이 이 책을 읽고 나서 동시 프로그래밍을 이론적으로 잘 이해하는 동시에, 올바르고 효율적인 동시 프로그램을 작성하는 데 필요한 유용한 실질적인 기술을 개발하게 되리라 확신한다. 이런 기술은 최첨단 동시성 분야의 전문가가 되기 위한 첫걸음이다.
우리가 이 책을 쓸 때 즐거웠던 것처럼 독자 여러분도 이 책을 재미있게 읽기 바란다.
(/ '지은이의 말' 중에서)

내가 처음 접했던 컴퓨터는 금성사의 FC-30으로, 8비트, 4MHz(절대 GHz의 오타가 아니다!) Z-80A CPU를 사용하던 귀여운 녀석이었다. 반면, 지금 내가 이 서문을 작성하는 데 사용 중인 컴퓨터는 인텔 코어 i7이 들어 있는 데스크탑으로, 무려 3.9GHz에 4개의 64비트 코어가 들어 있고, 하이퍼스레딩 기능을 통해 4개의 가상 코어를 더 사용할 수 있는 머신이다. 불과 33년이 흘렀지만, z80과 i7 사이의 성능 차이는 2만 2천배다(MIPS로 단순히 비교하자면 Z80A가 0.6MIPS, i7은 133,740 MIPS이다. 물론 MIPS 같은 단위로 성능을 비교해서는 안 된다). 무려 코어가 4개씩 들어간 이유는, 더 이상 클럭 속도를 늘리는 데 한계에 봉착한 프로세서 생산 업체들이 이제는 코어를 늘려가면서 성능 한계를 극복하려 노력하고 있기 때문이다.
하지만, 여러 코어에서 동시에 프로그램을 실행할 수 있는 CPU가 흔해졌다고 해도, 모든 프로그램이 이를 제대로 활용할 수 있는 것은 아니다. 특히, 원래 처리해야 할 데이터의 양이 아주 방대한 빅데이터 분야나, 계산해야 할 양이 많은 기계학습 분야, 또는 사용자가 GUI 등으로 프로그램에 이벤트를 발생시키고, 프로그램은 이를 비동기적으로 처리하면서, 더 쾌적한 사용자 경험을 제공해야 하는 프로그래밍 분야 등에서는 전통적인 단선적 프로그래밍 기법만으로는 컴퓨터 하드웨어가 제공하는 병렬성을 충분히 살리지 못할 가능성이 많다.
또한 동시 프로그래밍이나 병렬 프로그래밍은 진입하기가 쉽지 않다. 먼저, 동시성을 살려서 병렬 처리가 가능하게 프로그램을 작성할 수 있는 법을 배워야 한다. 하지만 대부분의 프로그래밍 교재나 안내서는 그런 부분에 대해 잘 다루지 않거나, 다루더라도 간단한 스레드 활용법 정도를 소개하는 데 그친다. 이런 책을 통해 병렬 프로그래밍에 입문하게 된 개발자는 곧 비결정성이나, 기존의 단선적인 프로그램 흐름에서는 발생할 수 없는 다양한 문제들과 마주치면서 당황하게 된다. 하지만 당황할 것은 없다. 에드가 다익스트라 같은 위대한 전산학자도 1960년대부터 여러분과 같은 문제에 직면하고, 해결하기 위해 고민했으며, 그 외에 수많은 연구자들이나 개발자들도 비슷한 문제를 접하고 고민해 왔지만, 병렬성과 동시성의 모든 문제를 해결해 줄 수 있는 최후의 해결책은 아직 나온 적이 없기 때문이다. 다만 이런 경우에 여러분의 실수를 줄일 수 있는 좋은 안내서가 있다면 매우 바람직할 것이다.
그런 면에서 자바 프로그래머들은 축복받은 축에 속한다. 브라이언 게츠(Brian Goetz) 등이 집필한 『자바 병렬 프로그래밍』(에이콘출판, 2008)은 자바 동시 프로그래밍의 기초부터 응용까지를 잘 다룬 멋진 책이다. 하지만, 그 책이 나온 지 10여 년이 지났고 액터, 병렬 컬렉션, 소프트웨어 트랜잭션 메모리 등의 도구들도 많이 보급되고 있다. 따라서 10년 전에 유효했던(물론 대부분은 지금도 여전히 유효하다) 여러 기초 지식을 잘 설명하면서, 그간의 변화를 반영해 다양한 고수준 동시성 도구를 아우를 수 있는 개론서가 등장할 때가 됐다고 할 수 있다. 이 책은 바로 그런 'JVM상의 동시 프로그래밍'에 대한 개론서 역할을 충분히 할 수 있는 책이다.
동시성 프로그래밍을 할 때, 자바를 사용해 다양한 추상화를 쉽게 구현하고 표현할 수 있다면 좋을 것이다. 비록 자바 8에 람다, 인터페이스 디폴트 메소드 등이 들어가면서 과거보다 훨씬 표현력이 좋아지긴 했지만, 애석하게도 자바는 주류 언어 중에서는 상당히 제약이 심한 언어 중 하나다. 다양한 동시성 도구를 소개하면서 자바 API를 사용하는 경우, 그보다 더 이해하기 쉽고 깔끔한 언어를 활용하는 것보다 오히려 코드 이해가 어려워질 수도 있다. 그런 면에서, 자바 프로그래머에게 스칼라는 또 하나의 축복이라고 감히 말할 수 있다. 이 책은 스칼라를 사용한 JVM상에서의 동시 프로그래밍에 대해 설명하며, 스칼라 코드로 인해 예제 코드는 간결하고 이해하기 쉬워졌다. 따라서 독자 여러분은 문제 자체의 본질과 그 해결 방법에 좀 더 집중할 수 있다. 더구나, 이 책의 저자인 프로코팩은 스칼라의 본산인 EPFL 스칼라 팀의 일원이며, 스칼라 동시성 라이브러리를 작업해온 핵심 멤버라는 점에서, JVM 동시 프로그래밍 책을 저술하기에 가장 적합한 사람 중 하나라고 말할 수 있다.
스칼라 프로그래머라면 주저 없이 이 책을 읽고, 다양한 동시 프로그래밍 도구를 적재적소에 사용하게 되길 바란다. 자바 프로그래머라면, 이 책을 통해 스칼라를 사용해서 얼마나 간결하고 멋진 코드를 작성해 JVM상에서 실행할 수 있는지 경험하는 한편, 다양한 동시성 도구들을 배우고 익히는 기회도 함께 획득하기 바란다. 그리고 자바나 스칼라 프로그래머가 아닌 독자라면, 각종 동시 프로그래밍 도구의 기본적인 개념과 사용 방법, 주의사항 등을 배우고 익히면서, 프로그래밍 언어를 적절히 선택하는 것이 얼마나 코딩 생활을 쾌적하게 만들어줄 수 있는지를 느껴보기 바란다.
(/ '옮긴이의 말' 중에서)

저자소개

알렉산더 프로코펙(Aleksandar Prokopec) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 1종
판매수 31권

소프트웨어 개발자이자 동시, 분산 프로그래밍 연구원이다. 크로아티아 자그레브 대학의 전자공학 및 계산 학부(Faculty of Electrical Engineering and Computing)에서 석사 학위(MSc)를 취득했고, 스위스의 로잔 연방 공과대학교(EPEL, Ecole Polytechnique Federale de Lausanne)에서 전산학 박사를 취득했다. EPFL 스칼라 팀의 일원으로 있으면서, 스칼라 프로그래밍 언어에 많은 기여를 했으며, 스칼라의 동시 프로그래밍 추상화, 데이터-병렬 프로그래밍 지원, 동시성 데이터 구조 등의 분야에서 일했다. 고수준 데이터-병렬 프로그래밍을 위한 스칼라 라이브러리

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

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

펼쳐보기

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 322권)

펼쳐보기

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

    리뷰

    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만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용