Top

CoffeeScript Application Development Cookbook [커피스크립트와 오픈소스를 활용한 앱 개발]

  • 원서명CoffeeScript Application Development Cookbook (ISBN 9781783289691)
  • 지은이마이크 해트필드(Mike Hatfield)
  • 옮긴이강형건, 이정현
  • ISBN : 9788960778313
  • 35,000원
  • 2016년 02월 25일 펴냄
  • 페이퍼백 | 436쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

커피스트립트는 자바스크립트의 단점은 보완하고 에코시스템의 이점은 취함으로써 앱 개발의 생산성을 높여주는 유용한 도구다. 이 책은 커피스트립트와 오픈소스를 활용한 90여 개의 예제를 통해 프론트엔드부터 백엔드 서비스까지 다양한 레이어 개발을 실습할 수 있도록 구성되어 있다. 또한, 단계별로 예제를 제공함으로써 소프트웨어 개발의 모든 측면에서 커피스크립트를 적극적으로 활용할 수 있도록 안내한다.

이 책에서 다루는 내용

■ 제이쿼리(jQuery), 백본(Backbone), AngularJS, Kendo.UI로 사용자 인터페이스 생성
■ Node와 Express를 사용한 Restful 서비스 개발
■ SQLite, 레디스(Redis), 몽고디비(MongoDB), 카우치디비(CouchDB), 마이크로소프트 SQL 서버를 사용해 데이터 읽고 쓰기
■ 외부 서비스를 사용한 이메일 및 SMS 텍스트 메시지 전송과 DropBox, S3 같은 클라우드 저장 서비스 사용
■ 헤로쿠(Heroku), 애저(Azure), 아마존 같은 웹 서비스 사용
■ 파일과 디렉토리 관리 및 CSV와 고정 너비 파일을 구문 분석하는 데브옵스 태스크를 위한 커피스크립트 사용

이 책의 대상 독자

이 책은 특정 플랫폼의 언어를 배울 필요 없이 데스크탑, 태블릿, 모바일 단말에서 실행되는 애플리케이션 개발을 즐길 수 있는 독자를 대상으로 한다.

이 책의 구성

1장, ‘준비’에서는 커피스크립트의 개념을 알아보고, 커피스크립트로 다양한 분야의 클라우드 기반 모던 애플리케이션을 개발하기 위해 그 토대를 닦는 내용을 살펴본다.

2장, ‘커피스크립트 기초’에서는 커피스크립트로 문자열, 숫자, 날짜, 배열, 클래스를 다루는 방법을 설명한다.

3장, ‘클라이언트 애플리케이션 생성’에서는 제이쿼리(jQuery), 백본(Backbone), 앵귤러Angular), Socket.IO 등 다양한 UI 라이브러리와 프레임워크를 커피스크립트와 함께 사용하는 방법을 알아본다.

4장, ‘Kendo UI를 사용해 데스크탑과 모바일 애플리케이션 생성’에서는 데스크탑과 모바일 애플리케이션을 모두 개발하기 위해 커피스크립트와 함께 텔레릭의 오픈소스인 Kendo UI 코어 프레임워크를 어떻게 사용하는지를 설명한다.

5장, ‘코도바를 사용한 네이티브 앱 개발’에서는 카메라, 지오로케이션, 연락처 같은 네이티브 디바이스 기능에 접근하는 네이티브 애플리케이션을 개발하는 과정과, 이를 실제 하드웨어에 배포하기 위해 아파치 코도바를 어떻게 커피스크립트와 함께 사용하는지를 알아본다.

6장, ‘데이터베이스 사용’에서는 SQLite, 레디스 Redis, 몽고디비(MongoDB), 카우치디비(CouchDB) 등의 다양한 데이터베이스 기술과 이러한 기술들이 커피스크립트와 함께 생성, 읽기 수정, 삭제 동작을 하기 위한 방법을 설명한다.

7장, ‘애플리케이션 서비스 개발’에서는 Base64 인코딩과 DNS를 위한 도메인 네임 서비스, 역방향 DNS 조회를 알아보고, RESTful 서비스 개발을 살펴보는 것과 함께 애플리케이션에서 필요한 백엔드 서비스 개발 측면을 깊이 있게 설명한다.

8장, ‘외부 서비스 사용’에서는 문자 메시지와 이메일, 아마존 클라우드 스토리지 사용, FTP를 통한 파일 전송 등 기존 서비스의 사용을 검증하는 방법을 알아본다.

9장, ‘애플리케이션 테스트’에서는 재스민(Jasmine), 모카(Mocha), 좀비(Zombie)뿐만 아니라 목(mock)을 만드는 페르소나(Persona) 같은 테스트 프레임워크를 사용해 커피스크립트로 애플리케이션을 테스트하는 방법을 설명한다.

10장, ‘웹 애플리케이션 호스팅’에서는 애플리케이션의 배포 준비 방법을 그런트(Grunt)를 사용해 설명하고 헤로쿠(Heroku)와 윈도우 애저(Windows Azure) 같은 유명한 클라우드 호스팅 솔루션으로 어떻게 배포하는지를 설명한다.

11장, ‘데브옵스를 위한 스크립팅’에서는 파일과 디렉토리 작업, CSV와 고정폭 데이터 파일, PDF 파일 생성과 출력에 대한 데이터 서식 설정 같은 일상 작업을 커피스크립트로 처리하는 방법을 알아본다.

저자/역자 소개

지은이의 말

지난 20년 동안 커스텀 소프트웨어 솔루션을 개발해오면서, 인터넷만큼 산업이나 사회에 큰 영향을 끼친 것은 없었다. HTML, CSS, 자바스크립트가 없는 오늘날을 상상하기는 어려울 것이다. 1990년대 중반, 넷스케이프 내비게이터와 자바스크립트로 첫 웹 기반 애플리케이션을 개발했을 때, 나는 우리가 소프트웨어 혁명의 초기에 있었다는 사실을 알지 못했다.
20여 년에 걸쳐 자바스크립트는 세상에서 가장 널리 지원되는 프로그래밍 언어로 자리잡았다. 안타깝게도, 자바스크립트는 이 시기에 이르러 다소 변화했고, 여러 단점들로 인해 홍역을 겪은 탓에 보다 순수한 자바스크립트 시스템을 개발하게 되었다. 이제 커피스크립트를 살펴보자.
커피스크립트는 이러한 위험을 회피할 수 있도록 해 애플리케이션을 개발하는 데 더 나은 접근 방법을 제공함은 물론, 자바스크립트의 거대한 에코시스템의 이점을 취하며 더욱 생산성을 높일 수 있게 한다.
이 책은 소프트웨어 개발의 모든 측면에서 커피스크립트를 사용하기 위한 많은 단계별 예제들이 가득 담겨 있는 실용적인 가이드다.
커피스크립트의 기초를 살펴보고 생산성 있는 커피스크립트 개발자가 되기 위한 도구들을 준비하며 이 책을 시작한다. 이어서 커피스크립트를 사용해 사용자 인터페이스, 데이터베이스, 백엔드 서비스 레이어로 이루어지는 애플리케이션의 각 레이어를 개발할 것이다. 또한, 애플리케이션을 테스트하고 호스팅할 수 있는 다양한 옵션을 살펴보고, 마지막으로 데브옵스(DevOps)가 일상적인 작업을 커피스크립트로 자동화하는 데 사용할 수 있는 방법을 살펴본다.

지은이 소개

마이크 해트필드(Mike Hatfield)

25년 이상 다양한 고객과 산업을 대상으로 사용자 비즈니스 솔루션을 개발한 경험이 있다. 수많은 웹 기반 애플리케이션을 만들며 끊임없이 확장하는 웹에 관심을 두었고, 최근 몇 년간은 모바일 웹에 대한 비즈니스 솔루션을 개발했다.
현재 캐나다의 할리팩스에 기반을 둔 거대 IT 컨설팅 기업인 Nicom IT 솔루션의 최고 기술 책임자다. CTO로서, 개발 산업에서의 최신 트랜드를 계속 접하며 고객을 위한 새로운 기회 발견을 위해 노력하고 있다.
또한 지속적으로 신기술을 학습하고, 좋아하는 호러 영화를 보면서, 아내 트레이시와 세 자녀인 크리스, 제이슨, 제니퍼와 함께 전원 생활을 즐기고 있다.

옮긴이의 말

지금으로부터 십수 년 전 내가 처음 경험한 자바스크립트는 신세계였다. 어떤 정적인 HTML 페이지도 자바스크립트 몇 줄만으로 유려함과 화려함을 더할 수 있었다. 이러한 유용성뿐만 아니라, 웹에 관심이 있었던 사람이라면 누구나 쉽게 활용해 웹 페이지에 생명을 불어넣을 수 있는 편의성까지 있었다.
그 후로도 자바스크립트는 지속적으로 발전해 모바일 앱 개발은 물론, 이제는 Node.js같이 브라우저의 경계를 넘나들고 있다. 나아가 방대하게 구축된 자바스크립트 라이브러리의 에코시스템을 통해 개발자는 다양한 애플리케이션을 쉽고 빠르게 만들 수 있다.
하지만 자바스크립트가 더 많은 수요에 대응할수록 사용하기에 난해해진 것 또한 사실이다. 장황하고 복잡한 코드와, 코드의 가독성을 떨어뜨리는 괄호 및 세미콜론의 홍수에 진절머리가 난 경험은 자바스크립트 사용자라면 누구나 한 번씩 겪어본 일일 것이다.
이러한 상황에서 커피스크립트의 등장은 무더위 속의 시원한 소나기 같았다. 커피스크립트는 첫째, 코드의 간결한 작성을 가능하게 하고, 둘째, 개발 생산성을 높일 수 있는 다양한 기능을 제공하며, 셋째, 일반적인 함수형 언어의 특징을 가지고 있으면서 루비나 파이썬과 유사한 형태의 문법을 사용한다는 장점이 있다.
마지막으로 놀라운 점은 이러한 장점을 갖춘 커피스크립트가 자바스크립트에서 완벽하게 컴파일될 뿐만 아니라, 많은 인기에 힘입어 Node.js와 Rails 3.1을 지원한다는 점이다.
이 책에는 커피스크립트와 함께 다양한 단말 환경에서 실행되는 애플리케이션을 함께 만들어 볼 수 있는 예제가 가득하다. 예제에 따라 직접 애플리케이션을 개발해 볼 수 있는 환경 설정에서부터 다양한 단말 환경에서 실행되는 앱의 개발, 클라이언트가 통신하는 백엔드 서비스 개발, 테스트, 나아가 클라우드 호스팅 솔루션에 대한 배포 방법과 서비스의 운영 시 참고할 수 있는 팁까지 가능한 한 자세히 다루고 있다.
내가 개발자로 일하기 시작한 초창기에 자바스크립트를 사용해 웹 페이지를 개발하고 실제 적용하면서 순간순간 느꼈던 두근거림, 기쁨, 성취감을 기억한다. 그리고 지금까지 개발하면서 필연적으로 따랐던 크고 작은 시행착오를 떠올려본다. 지금까지 그래왔듯이 앞으로도 IT 기술의 발전과 더불어 확장에 확장을 거듭할 방대한 웹 세상 속에서, 이제 긴 여정을 시작하는 새내기 개발자들에게 이 책이 작지만 밝은 빛을 내는 하나의 등대가 될 수 있다면 더할 수 없는 기쁨일 것이다.

옮긴이 소개

강형건

안드로이드 애플리케이션 개발 및 데이터 분석 모델링 업무를 주로 수행했다. 현재는 선박 장치 SW 개발을 하고 있으며, 기술 전문가 그룹 GoDev 멤버로도 활동 중이다. 에이콘출판사에서 출간한 『이클립스 환경에서의 안드로이드 프로그래밍』 (2015)을 번역했다.

이정현

오픈소스를 활용한 다수의 플랫폼 개발 업무를 주로 수행했으며, 현재는 데이터 방송 솔루션을 개발 중이다. 평소 다양한 IT 분야의 신기술에 관심이 많아 기술 전문가 그룹 GoDev에서 소프트웨어 엔지니어로도 활동 중이다. 에이콘출판사에서 출간한 『닌자 해킹』(2015)을 공역했다.

목차

목차
  • 1장 준비
    • 소개
    • 개발 환경과 툴 설정
    • 서브라임텍스트 설정
    • 비주얼스튜디오 설정
    • 커피스크립트 살펴보기
    • 소스 맵을 사용해 커피스크립트 디버깅
    • 노드 인스펙터를 사용해 커피스크립트 디버깅

  • 2장 커피스크립트 기초
    • 소개
    • 문자열 다루기
    • 숫자 다루기
    • 날짜 및 시간 다루기
    • 배열 다루기
    • 클래스 다루기
    • this 키워드 다루기

  • 3장 클라이언트 애플리케이션 생성
    • 소개
    • 제이쿼리를 사용한 개발
    • 백본으로 작업
    • AngularJS로 작업
    • Socket.io를 이용한 실시간 통신

  • 4장 Kendo UI를 사용해 데스크탑과 모바일 애플리케이션 생성
    • 소개
    • Kendo UI 코어 위젯 사용
    • Kendo UI 코어 모바일 위젯 사용

  • 5장 코도바를 사용한 네이티브 앱 개발
    • 소개
    • 기본 코도바 애플리케이션 생성
    • 카메라 사용
    • 지오로케이션 사용
    • 연락처 사용
    • 디바이스 정보 조회

  • 6장 데이터베이스 사용
    • 소개
    • SQLite 다루기
    • 레디스 사용
    • 몽고디비 작업
    • 카우치디비 다루기

  • 7장 애플리케이션 서비스 개발
    • 소개
    • Base64 인코딩 작업
    • 도메인 네임 서비스 구성
    • URL을 다양한 컴포넌트로 파싱
    • RESTful 웹 서비스 생성

  • 8장 외부 서비스 사용
    • 소개
    • 웹 서비스 사용
    • 이메일 전송
    • SMS 및 MMS 메시지 보내기
    • 아마존의 S3 스토리지 아마존 작업
    • FTP로 파일 전송

  • 9장 애플리케이션 테스트
    • 소개
    • QUnit으로 단위 테스트
    • Mocha와 Zombie.js로 종단 간 테스트
    • Sinon으로 스텁과 목 테스트

  • 10장 웹 애플리케이션 호스팅
    • 소개
    • 검증 및 상용을 위한 배포 준비
    • 헤로쿠로 애플리케이션 배포
    • 마이크로소프트 애저로 애플리케이션 배포

  • 11장 데브옵스를 위한 스크립팅
    • 소개
    • exec로 셸 명령어 실행
    • spawn으로 셸 명령어 실행
    • 파일과 디렉토리를 복사, 이동, 삭제
    • 파일과 디렉토리 압축
    • CSV 파일 파싱
    • 고정폭 파일 파싱
    • 출력 결과의 패딩과 정렬
    • moment.js로 날짜 서식 설정
    • accounting.js로 숫자 서식 설정

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안