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

한빛출판네트워크

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

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

한빛미디어

집필서

절판

  • 저자 : 고락윤
  • 출간 : 2016-11-01
  • 페이지 : 388 쪽
  • ISBN : 9788968484728
  • 물류코드 :2472
  • 초급 초중급 중급 중고급 고급
4.8점 (4명)
좋아요 : 30

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

 

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

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

 

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

 

고락윤 저자

고락윤

소프트웨어 엔지니어로 시작해 데이터 분석 모델링 업무를 거쳐 현재는 구글에서 모바일 앱 관련 컨설턴트로 근무 중이다. 서울대학교 경영학과를 졸업했으며, 캐글 메달을 다수 보유하고 있다. 『누구나 쉽게 스칼라+플레이』(한빛미디어, 2016)를 집필했고, 『브라이틱스와 함께하는 데이터 분석』(하우, 2020)을 공저했다.

 

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 디자인 프레임워크

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

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

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

 

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

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

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

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

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

 

이 책의 대상 독자

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

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

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

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

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

 

이 책은 <누구나 쉽게 스칼라+플레이>라는 제목처럼 스칼라를 처음 시작하는 사람을 위한 도서입니다.

 

책 제목을 풀어서 설명하자면 이 책은 객체지향이자 함수형 언어인 스칼라(Scala)

그 언어로 만들어진 웹 프레임워크인 플레이 프레임워크(Play Framework)를 다룹니다.

 

예전에 스칼라 언어를 만든 Martin Odersky의 Programming in Scala를 영문판으로 보다가 바쁘다는 핑계로 (사실은 잘 안 읽혀서) 완독을 못했던 경험이 있습니다.

반면에 이 책은 매우 쉽게 Scala와 Play 프레임워크를 학습할 수 있도록 만들었습니다.

 

가장 좋았던 점은 책의 구성과 문체입니다. 마치 저자와 직접 대화를 하는 듯한 느낌을 받았습니다.

학습을 하는 가장 좋안 방법은 대화하듯이 토론하며 공부하는 것인데 이 책은 저자와 한 마디, 한 마디를

주고 받으면서 공부하는 느낌이 들게해서 집중도 및 학습효과가 매우 뛰어났습니다.

 

또한 이 책은 Scala의 여러 가지 특성을 Java라는 대중화된 언어와 비교하여 설명함으로써 자칫하면 이해하기 어려운 개념을 매우 쉽게 설명합니다.

예를 들어, 트레이트(Trait)를 설명하는 책의 내용을 살펴보면 Java 언어의 인터페이스와 추상 클래스와 비교함으로써 독자의 이해력을 높입니다.

 

"트레이트의 기능을 보면 사실 다중상속이 된다는 점을 제외하고는 추상 클래스와 그다지 다를 게 없고,

로직을 구현할 수 있다는 점을 제외한다면 인터페이스와 다른 게 없습니다."

 

한 가지 더 좋은 점을 언급하자면 스칼라에서 사용되는 용어를 무리하게 한글화하지 않았다는 점입니다.

예를 들어 앞에서 설명했던 트레이트(Trait)를 무리하게 '특성'이라는 용어로 번역하여 설명하지 않습니다.

 

반면에 아쉬웠던 점은 책에서 설명한 개발환경 설정이 OS X 환경에서는 제대로 동작하지 않았다는 것입니다.

또한, 스칼라 언어 자체에 대해서는 쉽게 설명했지만, 뒤에서 다룬 아카와 웹 소켓의 내용은 다소 빈약하여 아쉬움이 남았습니다.

 

하지만 이 책의 제목처럼 책의 주제가 스칼라 언어 자체와 플레이 프레임워크라는 점을 감안하면

아카와 웹 소켓에 대한 내용이 빈약하다고 비판을 하는 것은 적절하지 않은 것 같습니다.

 

참고로 아래 명령어를 실행하면 쉽게 Scala 개발환경을 구축할 수 있으니 유용하게 활용하시기 바랍니다.

 

  1. Press Command+Space and type Terminal and press enter/return key.
  2. Run in Terminal app:
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null
    and press enter/return key. Wait for the command to finish.
  3. Run:
    brew cask install scala-ide

출처: http://macappstore.org/scala-ide/

 

요약하자면, 스칼라를 입문하는 책으로써 대단히 만족스러웠습니다. 별 다섯 개가 아깝지 않습니다.

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

스칼라는 여러 매체에서 꼭 접해봐야 할 언어로 꼽힐 정도로 현재 핫한 언어라 생각합니다.

그것은 현재 가장 주류 언어라 생각되는 자바를 기반한 언어이기 때문에 기존 자바와 호환이 된다는 점과 기존의 객체지향 개념에 새로운 함수형 사고를 더한 언어이기 때문이라고 생각합니다.

때문에 한번쯤 스칼라라는 언어가 도대체 어떻게 생겼는지 알고 싶었었는데
그것을 충족시켜주는 책이었습니다.

책의 구성은 아주 간결하고도 적절합니다

보통 초반 지면을 많이 할애하는 환경설정부분이 엄청 간단하고 쉽게 되어 있고
바로 코딩을 해볼 수 있도록 구성하였던 점이 상당히 마음에 들었습니다.

특히 기존 개발자들이 본다면
'와 딱 필요한 부분으로만 구성되어있네'
라는 생각이 들것이며,
프로그래밍 입문자들도 쉽고 거부감 없는 정도의 내용으로 구성이 되어있다고 생각합니다.

기초적인 언어의 사용법과 표현설명부터 CRUD를 직접 해보고 JSON으로 값을 다루기 까지
제가 생각할때의 구성은 완벽하다고 생각합니다.

아쉬운 부분은 왜 함수형 언어여야 되는지, 왜 함수형 사고가 필요한지 등에 대한 부분이
1, 5 장에서 간단히 설명 되어있기는 하지만 아쉬운 부분이 많았습니다.
그것에 대한 이해가 선행되어야만이 스칼라가 가진 철학을 이해하고 책에 좀 더 몰입을 할 수 있을거 같습니다.

또 책에서는 입문형 책이라 그런지 PostgreSQL이나 오라클과 같은 기타 DB 연동에 대한 부분이 나오지 않아서 아쉬웠습니다.
(다행히도 검색하니까 부족하지 않게 검색이 되네요)

마지막으로 맨 끝에 나오는 기타 유용한 정보에는 CoffeeScript, LESS, Bootstrap 등 뭔가 하나라도 더 알려주고 싶은 동네 형의 마음이 느껴져서 보면서 미소를 짓게 되었습니다.


듣기만 해오던 스칼라를 알고 싶은 개발자나,
첫 언어를 스칼라로 하고 싶은 입문자 모두에게 추천해주고 싶은 감사한 책이네요.

감사합니다.

스칼라에 대해 막연한 두려움을 가지고 있는 저같은 사람들에게 스칼라에 대한 두려움을 해소해주는 아주 좋은 입문 책이었습니다.

입문용 책인 만큼 모든 주제에 대해 아주 가볍고 경쾌한 느낌으로 훑고 지나갑니다.

 

하지만 책의 설명이 가볍다고 학습자도 가볍게 받아들일수 있지는 않습니다. 저의 경우 자바와 자바스크립트를 주로 사용하는데 스칼라만의 문법과 개념에 대해 보고 이해하는데 어려움을 느꼈습니다. 후에 따로 스칼라의 창시자인 마틴 오더스키의 책(Programming in scala)를 보며 다시 한번 공부하면 괜찮을거 같습니다. 책안에 요즘(?) 유행하는 부분에 대해 많이 신경을 썻다고 느낄수 있습니다. Play 부터 시작해서 동시성관련 처리로 많은 주목을 받고 있는 Akka 대해서도 가볍게 다루고 있습니다. 입문용 책인 만큼 이책에서 키워드들과 기초 Play 관련 어플리케이션 작성법을 학습한 이후에 후에 추가적인 내용들을 인터넷 혹은 다른 책들을 통해 관련 지식들을 넓히는데 활용하는 것이 좋을것 같습니다.

 

스칼라와 플레이를 이용해 빠르게 어플리케이션을 작성하고 싶은 분들에게 추천합니다.

실전 프로젝트에 응용하기 위해서는 책안에 소개된 내용들의 개념을 확실하게 이해하기위해 부가적인 학습이 많이 필요하리라 예상됩니다.

스칼라와 스칼라를 이용한 웹 프레임워크인 플레이를 빠르게 학습하고 게시판, 채팅 프로그램을 만들어 볼 수 있습니다.

 

스칼라와 플레이 프레임워크를 빠르게 사용해 볼 수 있는게 이 책의 가장 큰 장점입니다 마틴 오더스키의 Programming in Scala의 방대한 내용과 두께에 읽을 엄두를 못냈던 분들에게 반가운 책일거라 생각합니다. 다른 유명 웹 프레임워크에 비해 스칼라 플레이는 자료나 실무사례들이 많이 부족해서 실무에 사용하려는 분들보다 스칼라라는 언어와 플레이라는 웹 프레임워크를 학습하고 싶은 분들이 훨씬 많을거라 생각합니다. 이 책은 학습하고 싶은 분들에게 빠르게 스칼라와 플레이를 맛 볼 수 있는 좋은 책입니다.

 

이 책의 장점이지만 단점인 부분은 개념들이 간단하게 서술되어 있는 점입니다.특히 챕터 18(아카와 웹 소켓 다루기)와 챕터 19(안전한 데이터 처리) 부분이 조금더 상세했으면 좋겠다는 아쉬움이 남습니다. 하지만 키워드들은 모두 제공하고 있기 때문에 검색을 통해 충분히 원하는 내용을 찾아 학습할 수 있습니다.

 

스칼라와 플레이를 빠르게 사용해보고 싶은 분들에게 추천합니다.

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

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
누구나 쉽게 스칼라+플레이
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
누구나 쉽게 스칼라+플레이
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
누구나 쉽게 스칼라+플레이
구입처*
구입일*
부가기호*
부가기호 안내

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

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

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

닫기

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

자료실

최근 본 책0