간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (23,760원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (21,600원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (24,300원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (25,110원)
(최대할인 3만원 / 3만원 이상 결제)
Close

자바 개발자를 위한 스칼라 프로그래밍

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

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

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

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

  • 연관도서(320)

  • 사은품(2)

책소개

이 책은 자바(Java)에서 스칼라(Scala)로 갈아타거나 기존 자바 프로젝트를 스칼라로 확장하려는 자바 개발자가 빠른 시간 내에 스칼라를 익혀 현업에 적용할 수 있도록, 스칼라의 핵심 기능에 대해 다양한 실습 예제를 중심으로 소개한다. 자세한 내용을 담은 두꺼운 교과서나 레퍼런스는 부담스럽고, 자바 관점에서 스칼라의 핵심 기능과 프로그래밍 기법을 단기간에 익히려는 자바 프로그래머에게 유용한 주제로 구성됐다.
스칼라의 문법과 기본 개념, 그리고 자바와 다른 점을 중점적으로 소개한 다음, 곧바로 실제 동작하는 애플리케이션을 만들어보면서, 스칼라에서 흔히 사용하는 타입세이프(Typesafe)나 아카(Akka), 플레이(Play) 프레임워크와 새롭게 떠오르는 슬릭(Slick) 프레임워크에 대해 예제와 함께 하나씩 소개한다.

출판사 서평

[이 책에서 다루는 내용]

- 스칼라 에코시스템
- 자바에서 스칼라로 옮겨가는 방법
- 플레이 프레임워크를 이용한 웹 개발
- 스칼라의 테스팅 프레임워크로 데이터를 검사하는 방법
- 스칼라에서 XML과 JSON 다루기
- 스칼라 문법 익히기
- 자바 프로젝트에서 스칼라 병행 사용
- 타입세이프(Typesafe) 기술을 이용한 반응형 웹 개발
- 아카(Akka) 프레임워크, 플레이(Play) 프레임워크뿐만 아니라, 최근 떠오르는 슬릭(Slick) 프레임워크 사용법
- 빅데이터 관련 기술

[이 책의 대상 독자]

자바 EE 기반의 시스템을 개발하고 있는 자바 아키텍트 또는 자바 프로그래머로서, 업무에 스칼라 언어를 적용하고자 하는 이를 위한 책이다. 당장 실전에 써먹을 수 있도록, 실제 예제를 바탕으로 설명한다. 스칼라를 잘 모르더라도 쉽게 따라갈 수 있도록 집필했다.

[이 책의 구성]

1장, '스칼라 맛보기'에서는 JVM(Java Virtual Machine)에 대해 간략히 소개하고, 자바가 현재의 위치까지 올 수 있게 해준 핵심 기능을 소개한다. 그런 다음, 프로그램을 대화형으로 작성하게 해주는 강력한 도구인 스칼라 REPL(Read Eval Print Loop)을 사용해 코드를 직접 작성해보면서, 스칼라에서 제공하는 몇 가지 강력한 구문을 소개하고, 이를 통해 코드를 직관적으로 표현할 수 있을 뿐만 아니라 구현의 효율성도 높일 수 있음을 직접 확인해본다.

2장, '코드 연동'에서는 자바와 스칼라를 같은 코드 베이스에서 서로 연동하는 방법에 대해 소개한다. 그중에서도 특히 자바와 스칼라의 컬렉션을 서로 연동하고, 기존에 자바로 제공되는 라이브러리를 스칼라에서 쓰기 위한 방법을 중심으로 설명한다. 이 과정에서 스칼라 언어에서 권장하는 코딩 스타일과, 오랜 기간 동안 정립된 자바의 코딩 스타일에 대해서도 비교해본다.

3장, '스칼라 에코시스템'에서는 스칼라 프로그래밍에 관련된 여러 가지 도구와 에코시스템에 대해 소개한다. 이들 중 대부분은 자바로부터 물려받은 것이다. 특히 메이븐 같은 빌드 도구와 이클립스 같은 IDE는 자바에서 사용하던 것을 그대로 사용한다. 개발 주기에서 핵심적인 도구뿐만 아니라, 스칼라에서만 제공하는 SBT나 스칼라 워크시트, 그리고 타입세이프 액티베이터와 여기서 제공하는 템플릿에 대해서도 소개한다.

4장, '테스팅 도구'에서는 앞 장에서 소개한 스칼라 개발에 핵심적인 도구와 함께 유닛 테스트와 통합 테스트, 기능 테스트 등을 속성 중심으로 자동화된 방식으로 수행하기 위한 도구들을 소개한다.

5장, '플레이 프레임워크'에서는 플레이(Play) 프레임워크에 대해 자세히 살펴본다. 플레이에서 제공하는 뛰어난 기능 몇 가지를 예제를 통해 살펴보고, 기존 서블릿이나 J2EE 모델로 작성한 코드를 플레이 프레임워크로 전환하는 방법도 소개한다.

6장, '데이터베이스 사용 방법과 ORM의 미래'에서는 관계형 데이터베이스로 데이터의 영속성을 보장하는 방법에 대해 소개한다. 이 과정에서 기존에 잘 정립된 JPA나 하이버네이트 같은 기술을 활용할 수도 있고, 슬릭(SLICK, Scala Language-Integration Connection Kit)처럼 새로운 기술을 사용할 수도 있다. 슬릭의 내부를 보면 스칼라 언어에서 제공하는 강력한 기능을 그대로 활용하고 있는 것을 볼 수 있다. 또한 자바 프로젝트를 스칼라로 전환하도록, 기존 관계형 데이터베이스에 리버스 엔지니어링을 적용하여 플레이 프레임워크용 CRUD 애플리케이션을 작성하는 방법에 대해서도 소개한다.

7장, '웹 서비스에서 시스템 연동'에서는 최근 자바 애플리케이션 개발과 관련하여 흔히 언급되는, SOAP, XML, REST, JSON과 같은 웹 서비스 관련 기술에 대해 소개한다. 웹 서비스를 이용해 스칼라에서 외부 시스템을 연동하는 방법과 각각의 장점에 대해 예제를 통해 살펴본다.

8장, '비동기와 동시성'에서는 개발하는 과정에 마주치게 될 비동기와 동시성 문제를 스칼라에서 처리하는 방법에 대해 설명한다. 흔히 성능을 높이기 위해 비동기로 호출하거나 동시에 실행되도록 코드를 작성한다. 이 장에서는 이러한 비동기와 동시성 관련 코드를 작성할 때 발생하는 복잡도를 스칼라에서 쉽게 관리할 수 있다는 점을 예제와 함께 확인해본다. 또한 동시성 애플리케이션을 간편하게 개발하게 해주는 툴킷인 아카(Akka) 프레임 워크에 대해서도 소개한다.

9장, '반응형 웹 애플리케이션'에서는 8장에서 설명한 내용을 기반으로 최근 주목받고 있는 반응형 웹 애플리케이션을 소개한다. 반응형 웹 앱이 기존 웹 앱과 다른 점은 사용자에게 정보를 보낼 수 있고, 처리량의 변화에 유연하게 대처하고, 오류가 발생할 때 쉽게 복구하여 좀 더 역동적으로 동작한다는 점이다. 이 장에서는 지금까지 설명한 기능뿐만 아니라, 최근 부상하고 있는 웹 소켓과 같은 기술을 활용하여 플레이 프레임워크로 반응형 애플리케이션을 만들어본다.

10장, '스칼라의 고급 기능'에서는 웹 개발에 대한 최근 추세와 향후 전망에 대해 설명하면서 이 책을 마무리한다. 예를 들어 자바 개발자는 좋든 싫든 클라이언트를 개발할 때 자바스크립트를 다뤄야 할 일이 많아지고 있다. 최근에는 DSL(Domain Specific Language)도 주목받고 있다. 자바에서는 DSL을 제공하기가 쉽지 않다.

목차

1장 스칼라 맛보기
자바 프로젝트에서 스칼라를 사용하면 좋은 점
- 간결하면서도 풍부한 표현력
- 높은 생산성
- 자바와 찰떡 궁합
- 뛰어난 비동기 및 동시성 처리
REPL로 배우는 스칼라 문법
- 변수 선언
- 클래스 정의
- case 클래스
컬렉션 연산
- 기본 타입으로 구성된 컬렉션 변환
- 복잡한 오브젝트에 대한 컬렉션
1. filter와 partition
2. 튜플
3. 맵
4. Option
5. 패턴 매칭 맛보기
6. map 메소드
7. 스트링 인터폴레이션
8. groupBy 메소드
9. foldLeft 메소드
정리

2장 코드 연동
데이터베이스를 이용한 REST API 생성
- 샘플 데이터베이스
- 메이븐 프로젝트 만들기
- JPA 엔티티와 REST 웹 서비스 생성
- 프로젝트 실행하고 테스트하기
- 자바 코드에 대한 유닛 테스트 추가
스칼라로 테스트 코드 작성하기
자바 메이븐 프로젝트에서 스칼라를 사용하도록 설정
스칼라와 자바 코드의 연동
- 컬렉션 타입 변환
- 자바빈 스타일의 프로퍼티
- 스칼라와 자바의 객체지향 지원 방식
- 자바 인터페이스를 개선한 스칼라 트레잇
- 오브젝트 선언
- 컴패니언 오브젝트
- 예외 처리
자바와 스칼라의 코딩 스타일 차이점
- 코드 레이아웃 다듬기
- 명명 규칙
정리

3장 스칼라 에코시스템
자바 IDE로 구축하는 스칼라 IDE
SBT 빌드
- SBT 살펴보기
1. 예제 프로젝트 생성
2. 이클립스와 인텔리제이 IDEA, 넷빈즈에 프로젝트 임포트하는 방법
3. 서블릿 컨테이너에서 실행할 웹 애플리케이션 만들기
- sbt-assembly로 하나의 .jar 파일로 만들기
- Scalariform으로 코드 포맷팅
스칼라 워크시트
HTTP 다루기
- 스칼라의 for 문
타입세이프 액티베이터의 활용
- 타입세이프 액티베이터에서 제공하는 템플릿으로
- 애플리케이션 만들기
REPL을 스크립트 엔진으로 활용
정리

4장 테스팅 도구
ScalaTest로 테스트 작성
- BDD 스타일 테스팅
- 기능 테스트
- ScalaMock으로 모킹하기
ScalaCheck을 이용한 테스팅
정리

5장 플레이 프레임워크
classic 플레이 배포 버전 시작하기
타입세이프 액티베이터 시작하기
플레이 애플리케이션의 구조
- 프레임워크의 구성
- 요청/응답 사이클
- 컨트롤러에서 요청 처리
- 뷰 렌더링
플레이에서 인증 처리
플레이 프레임워크 활용 팁
- 플레이에서 디버깅하기
- 버전 컨트롤 관련 사항
정리

6장 데이터베이스 사용 방법과 ORM의 미래
하이버네이트나 JPA와 같은 ORM 기술의 활용
스칼라에서 JPA 사용하기
플레이 프레임워크에서 persistence 처리하기
- Anorm을 이용한 간단한 예제
ORM 대신 사용할 수 있는 기술
슬릭 소개
플레이 애플리케이션 스캐폴딩하기
- 테스트 데이터 임포트하기
- H2browser로 데이터베이스 시각화하기
- 앱 생성 관련 코드 분석
- playcrud 유틸리티의 한계
정리

7장 웹 서비스에서 시스템 연동
스칼라에서 XML 데이터 바인딩하기
- SOAP 웹 서비스를 통해 scalaxb 구동하기
XML과 JSON 다루기
- XML 다루기
- JSON 다루기
- 플레이 프레임워크에서 제공하는 JSON 라이브러리
XML과 JSON으로 전달된 플레이 요청 처리하기
- JSON으로 플레이 응답 흉내내기
- 플레이에서 웹 서비스 호출하기
정리

8장 비동기와 동시성
동시성의 구성 요소
Async 라이브러리: SIP-22-Async
- 웹 서비스 조합
- await 구문을 사용하지 않고 서비스 연결하기
아카 살펴보기
- 액터 모델의 이해
- 동작 변경
- 메시지 처리에 실패했을 경우
- 액터 시스템 테스트
- 이 장에서 다루지 못한 Akka의 기능
정리

9장 반응형 웹 애플리케이션
반응형 애플리케이션의 정의
반응형 스트림 처리
- 플레이에서 제공하는 Iteratee 패턴
- Enumerator를 Enumeratee에 적용하기
플레이에서 제공하는 Iteratee와 웹소켓 사용하기
액티베이터 템플릿으로 반응형 웹 애플리케이션 만들기
- 반응형 주가 정보 애플리케이션
- 반응형 실시간 검색
- Play-Akka-Angular-WebSocket 템플릿
Actor Room 프로젝트
정리

10장 스칼라의 고급 기능
몽고DB
- 카스바
- 맵리듀스 사용하기
빅데이터 맛보기
스칼라의 DSL
- 내장형 DSL
- 파서 컴비네이터로 외장형 DSL 만들기
Scala.js
마지막 팁
- REPL에서 복사하고 붙여넣기
- REPL에서 코드 실행 시간 측정
정리

본문중에서

이 책은 자바 프로젝트를 스칼라로 옮겨가거나 스칼라와 혼용하는 방법에 대해, 실제 환경에서 사용할 수 있는 예제를 통해 단계 별로 설명하고 있다.
먼저 스칼라 문법과 에코시스템에 대해 소개한 다음, 액터 기반의 아카 프레임워크나 플레이 웹 프레임워크, 최근 떠오르는 슬릭 프레임워크를 비롯한 여러 가지 타입세이프 기술을 활용하여 반응형 웹을 작성하는 방법에 대해 설명한다. 그런 다음, 이렇게 작성한 코드에 대해 단위 테스트, 통합 테스트, 기능 테스트에 필요한 여러 가지 도구를 소개하고, 외부 시스템과 스칼라를 통합하는 방법과 이를 통해 얻을 수 있는 장점을 보여준다.
스칼라의 기초적인 문법을 익히는 것부터, 최신 반응형 애플리케이션을 작성하기까지, 복잡한 문제에 대해 간결하고 유지하기 좋은 솔루션을 만드는 데 필요한 기법을 소개하면서 여러분의 프로그래밍 실력을 한층 높여줄 것이다.
(/ 저자 서문 중에서)

최근 스칼라에 대한 관심이 부쩍 늘어난 것을 느낄 수 있습니다. C나 자바 같은 명령형 언어를 선호하고, 스칼라처럼 생소한 함수형 언어가 인기를 얻기 힘든 국내 분위기에 비춰볼 때, 생각보다 빠르게 퍼져 나가는 것 같습니다.
스칼라에 관한 책이 많이 나와 있지만, 기존에 자바를 주력 언어로 사용하던 개발자가 빠르게 스칼라로 갈아탈 수 있도록, 자바와 다른 점을 알려주고, 자바 코드와 섞어서 프로젝트를 개발하기 위한 방법을 간결하게 설명하는 점이 이 책의 두드러진 특징인 것 같습니다. 어느 정도 내공이 있어서 두꺼운 교과서나 레퍼런스 형태의 책은 부담스럽고, 스칼라의 핵심만 재빨리 익히려는 자바 프로그래머가 읽기 쉽게 구성되어 있습니다.
다른 책을 번역할 때도 그랬지만, 최대한 번역서라는 느낌을 받지 않도록 억지스런 한글 용어나 어색한 한자어 표현을 가급적 자제하고, 개발자의 입장에서 내용에 집중하는 데 방해되지 않고 술술 읽을 수 있도록 번역하고자 노력했습니다. 원서는 어느 정도 배경 지식을 갖춘 독자를 대상으로 집필했는데, 번역하는 과정에서 초보자 입장에서 언뜻 이해하기 힘든 부분에 가급적 설명을 보충했습니다.
(/ 옮긴이의 말 중에서)

저자소개

토마스 알렉산더 [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

데브코드(DevCode)의 시니어 컨설턴트로 일하고 있으며, 전문 분야는 자바와 스칼라 소프트웨어 개발이다. 기술에 대한 열정이 풍부하고, 지식을 나누는 데 적극적이며, 새로운 오픈 소스 소프트웨어와 표준을 적용해 코드의 효율성을 높이는 방법을 연구하는 데 전념하고 있다. 15년 이상의 자바 개발 경력을 갖고 있으며, 최근에는 그루비(Groovy)나 스칼라(Scala)처럼 새롭게 떠오르는 언어와 웹 프레임워크에도 관심이 많다. 프랑스의 릴(Lille) 대학에서 전산학으로 박사를 받았으며, 박사후 과정으로 카네기 멜론 대학(Carnegie Mellon University)에서 보안과 E-

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

고려대학교 컴퓨터학과에서 학부와 석사 과정을 마친 후 한국전자통신연구원에서 선임연구원으로 재직하고 있으며, 현재 ㈜프리스티에서 네트워크 제어 및 검증 소프트웨어 개발 업무를 맡고 있다. 에이콘출판사에서 출간한 『GWT 구글 웹 툴킷』(2008), 『해킹 초보를 위한 USB 공격과 방어』(2011), 『자바 7의 새로운 기능』(2013), 『iOS 해킹과 보안 가이드』(2014), 『Neutron 오픈스택 네트워킹』(2015), 『실전 IoT 네트워크 프로그래밍』(2015), 『애플 워치 WatchKit 프로그래밍』(2015), 『현대 네트워크 기초 이론』(2016), 『도커 컨테이너』(2017), 『스마트 IoT 프로젝트』(201

펼쳐보기

역자의 다른책

전체보기
김강모 [감수]
생년월일 -
출생지 -
출간도서 0종
판매수 0권

고려대학교 컴퓨터학과 졸업 후, 알티베이스, 중국마이크로소프트에서 엔터프라이즈 소프트웨어를 개발하고 한국거래소에서 저 지연(Low latency) 주식거래시스템인 Exture+를 개발하였다. 이후, 한국 비트코인 거래소에서 CTO로 근무하면서 스칼라와 플레이 프레임워크를 다양한 서비스에 적용하였다. 현재는 나노랫에서 검색엔진을 개발하고 있으며, 여러 스타트업들의 어드바이저 역할을 담당하고 있다.

이 상품의 시리즈

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

펼쳐보기

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

    리뷰

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

    업체직접배송상품 구매

    업체별 상이한 배송비 적용