나에게 필요한 지식과 기술을 검색해 보세요.

누구나 쉽게 스칼라+플레이

스칼라 입문부터 게시판, 채팅 프로그램 제작까지

지은이

고락윤

출간일

2016.11.01

레벨

초중급

평점

4.8(4명)

정가

24,000

판매가

21,600

총 결제 금액

10%

21,600

적립 예정

1,080P

쪽수

388쪽

ISBN

9788968484728

브랜드

한빛미디어

초경량 초고속 웹 개발을 위한 가장 확실한 지침서

 

멀티패러다임 언어 스칼라의 특징과 핵심 문법을 설명하며, 자바 기반 웹 프레임워크 플레이의 기초와 활용법을 다룬다. 회원가입 폼, 게시판, 채팅 프로그램을 제작하며 웹 프로그래밍을 익히고 JSON으로 데이터를 다루는 방법, 안전한 데이터 처리를 위해 공격을 탐지하고 방지하는 방법까지 살펴본다. 

그동안 스칼라와 플레이를 배우고 싶었지만 너무 두꺼운 입문서가 부담스러웠던 개발자, 힘들게 웹에서 외국 자료를 찾아야 했던 개발자에게 선물 같은 책이다. 

 

※이 책의 Part 1 스칼라는 전자책으로 출간되었던 『누구나 쉽게 배우는 스칼라』(리얼타임)와 동일한 내용입니다.

 

출판사 리뷰

국내 개발자의, 국내 개발자에 의한, 국내 개발자를 위한!

누구나 쉽게 배울 수 있는 스칼라+플레이 입문서 

스칼라가 주목 받고는 있지만 스칼라를 쉽게 배울 수 있는 국내 서적은 아직까지 없었다. 목마른 자가 우물을 판다고 했던가? 스칼라를 배우고는 싶었지만 적합한 책이 없어 웹에서 외국 자료를 찾아 헤매던 저자는 직접 입문서를 작성하기로 마음먹었다. 저자가 스칼라를 배우며 정리한 노트를 기반으로 완성된 이 책은 스칼라의 핵심 기능들을 최대한 쉽게 독자에게 전달한다. 또한, 스칼라의 강점을 가장 잘 이용하는 플레이 프레임워크로 간단한 웹 애플리케이션을 작성해본다.

 

왜 플레이를 선택해야 하는가?

_첫째. 플레이는 빠르게 개발할 수 있게 합니다. 코드를 고치면 애플리케이션에 바로 적용됩니다. 코드를 고칠 때마다 돌아가는 굼뜬 컴파일 과정도 필요 없습니다. 

_둘째. 플레이는 자바와 스칼라 두 가지 방식을 지원합니다. 자바-플레이가 아닌 스칼라-플레이도 자바와의 연동이 좋습니다. 자바 기반 프로그램이나 라이브러리를 마음껏 참고할 수 있습니다. 자바의 클래스를 그대로 가져다 써도 되고 자바와 스칼라를 혼합하여 더 좋은 결과물을 만들어낼 수도 있습니다. 

_셋째. 2.3 버전부터는 Activator라는 툴로 웹 브라우저를 기반으로 개발할 수 있게 되었습니다. 리눅스든 윈도우든 원격 터미널이든 플랫폼에 크게 구애받지 않고 빠르게 개발을 시작할 수 있습니다. 

_넷째. 플레이는 액터 모델을 이용하는 아카를 기본으로 탑재하므로, 실패에 강하고 스레드 프로그래밍에 강한 웹 애플리케이션을 구축할 수 있습니다. 아카와 스칼라의 궁합은 지금까지 나온 프로그램 중에서는 제일 좋고 플레이는 스칼라에 걸맞은 프레임워크이므로 이것만으로도 플레이를 선택할 이유는 충분합니다.

 

이 책의 대상 독자

- 스칼라를 배우고 싶지만 적당한 국내 도서가 없어 어려움을 겪는 사람

- 동시성에 강한 애플리케이션을 만들기 위해 이제 막 발을 내딛은 사람

- 복잡하게 꼬여 어디서 난리가 날지 모를 애플리케이션에 질린 사람

- 웹 서비스를 런칭하는 데 손색이 없는 새로운 도구를 찾고 있는 사람

- 새로운 언어, 새로운 프레임워크를 시도해보고 싶은 사람

 

저자

목차

PART 1. 스칼라

 

chapter 1 스칼라 준비하기 

__1.1 스칼라는 어떠한 언어인가? 

__1.2 JDK 설치하기 

__1.3 Scala IDE 설치 

__1.4 Hello World! 

__1.5 스칼라 워크시트 사용하기 

 

chapter 2 변수 다루기 

__2.1 변수 선언 

__2.2 기본 자료형과 참조 자료형 

 

chapter 3 조건문과 반복문 

__3.1 조건문: if / else 

__3.2 반복문: for 

__3.3 반복문: while과 do while 

__3.4 반복문: 이중 for 

__3.5 반복문: 조건이 있는 반복 

__3.6 반복문: 인덱스가 있는 for 문 

 

chapter 4 클래스 / 객체 / 트레이트 

__4.1 객체지향 프로그래밍 

__4.2 클래스와 객체 

__4.3 상속 

__4.4 트레이트와 추상 클래스 

__4.5 트레이트 쌓기 

 

chapter 5 함수 

__5.1 왜 함수형 언어인가? 

__5.2 스칼라의 함수 

__5.3 함수 정의 

__5.4 CALL-BY-NAME 함수 

__5.5 함수의 일부 인수 고정하기(부분 적용 함수) 

__5.6 =>를 이용한 함수 표현식 

__5.7 함수 표현식 예제 

__5.8 매개변수가 여러 개인 함수 

__5.9 매개변수의 기본값 설정 

__5.10 apply() 

__5.11 implicit 함수 

 

chapter 6 패턴 매칭 

__6.1 패턴 매칭이란? 

__6.2 기본 자료형 패턴 매칭 

__6.3 객체 패턴 매칭 

__6.4 Extractor로 패턴 매칭 이해하기 

 

chapter 7 컬렉션 

__7.1 배열 

__7.2 리스트 

__7.3 맵 

__7.4 집합 

__7.5 튜플 

__7.6 옵션 

__7.7 시퀀스 

__7.8 이터레이터 

 

chapter 8 함수 컴비네이터 

__8.1 map(), foreach() 

__8.2 filter(), filterNot() 

__8.3 foldLeft(), foldRight() 

__8.5 :::() zip(), unzip() 

__8.6 find() 

__8.7 drop(), dropWhile() 

__8.8 flatten() 

 

chapter 9 기타 중요 문법 

__9.1 변경불가능하게 컬렉션 이용하기 

__9.2 예외처리 

__9.3 사용자 입력 

__9.4 아이더 

__9.5 파일 입출력 

__9.6 접근 제한자 

 

chapter 10 숫자야구 게임 만들기 

__10.1 Random 클래스로 무작위 숫자 만들기 

__10.2 사용자 입력을 정규표현식으로 패턴 매칭 

__10.3 반복문으로 입력 값과 답 비교하기 

__10.4 반환된 볼카운트 판단하기 

__10.5 전체 코드

 

PART 2. 플레이

 

chapter11 플레이 프레임워크 만나기

__11.1 최근의 웹 트렌드 

__11.2 웹 프레임워크의 새로운 강자

__11.3 Activator 기반 개발환경 구축하기

__11.4 콘솔-이클립스 기반 프로젝트 만들기 

__11.5 리눅스 기반 설치하기

__11.6 IDE로 프로젝트 임포트하기 

__11.7 데이터 관리를 위한 데이터베이스 설치하기

 

chapter 12 플레이 프레임워크 구조와 뷰, 컨트롤러

__12.1 플레이 프레임워크의 구조 

__12.2 Hello World! 

 

chapter 13 모델 구현과 데이터베이스 연동

__13.1 모델 구상하고 뷰에 전달하기

__13.2 플레이 프레임워크와 데이터베이스 연동하기 

__13.3 데이터베이스 모델과 연결하기

 

chapter 14 폼 전송과 데이터 삽입 

__14.1 컨트롤러에서 폼 만들기 

__14.2 뷰에서 전송받은 폼 뿌려주기 

__14.3 폼 전송 후 데이터베이스에 저장하기 

__14.4 파일 업로드하기 

 

chapter 15 고급 데이터 핸들링 

__15.1 컴퓨터 데이터베이스 구상하기 

__15.2 models 구성요소 

__15.3 controllers 구성요소 

__15.4 views (템플릿) 구성요소 

__15.5 conf/routes 구성요소 

 

chapter 16 Slick을 이용한 DB 연동 

__16.1 Slick을 이용한 웹 애플리케이션의 구조 

__16.2 데이터베이스 설정 

__16.3 테이블로 객체 선언 

__16.4 기본 SQL문을 스칼라처럼

__16.5 기타 구문

 

chapter 17 JSON으로 데이터 다루기 

__17.1 JSON과 XML 

__17.2 JSON 데이터를 JsValue로 변환하기 

__17.3 JsValue와 객체 간 상호작용 다루기 

__17.4 JSON HTTP 통신하기 

 

chapter 18 아카와 웹 소켓 다루기 

__18.1 액터 모델을 통한 동시성 극복 맛보기 

__18.2 웹 소켓 + 클라이언트 

__18.3 웹 소켓 + 채팅 서버 

 

chapter 19 안전한 데이터 처리 

__19.1 CSRF 방지 

__19.2 안전한 패스워드 저장 

__19.3 기타 플레이 프레임워크 보안 기능

 

chapter 20 기타 플레이 기능 

__20.1 여러 언어 지원하기 

__20.2 로그 남기기 

 

chapter 21 기타 유용한 정보 

__21.1 스칼라 API 문서 참조 방법 

__21.2 커피스크립트를 이용한 자바스크립트 개발 

__21.3 LESS를 이용한 CSS 개발 

__21.4 디자인 프레임워크

리뷰

전체 평점

4.8

오탈자

  • 종이책3351

    표기 오류

    코드 18-2

    2018-10-17
  • 종이책431

    표기 오류

    코드 2-2 기본자료형변수코드

    2017-03-22
  • 종이책1091

    표기 오류

    6.2 패턴 매칭의 구조

    2017-02-13
  • 종이책1661

    표기 오류

    표 9-2

    2017-02-13
  • 종이책1641

    표기 오류

    코드 9-5 파일출력

    2017-02-13

24,000

10%

21,600