Top

오파 웹 애플리케이션 개발 [클라이언트와 서버 개발을 Opa 하나로 끝내는]

  • 원서명Opa Application Development (ISBN 9781782163749)
  • 지은이리 웬보
  • 옮긴이곽용훈
  • ISBN : 9788960775138
  • 12,000원
  • 2014년 01월 23일 펴냄
  • 페이퍼백 | 144쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

오파(Opa)는 보안성과 확장성 있는 웹 애플리케이션을 작성할 수 있는 자바스크립트를 위한 풀 스택 오픈소스 웹 개발 프레임워크다. 노드(Node.js)와 몽고DB(MongoDB) 애플리케이션 생성, HTML5와 CSS 등 현대 웹 애플리케이션 프로그래밍을 하나의 언어로 작성하고 컴파일하며 많은 영역이 자동화되어 있다. 이 책은 단계별 예제를 통해 실제적이고 실용적인 가이드를 제공함으로써 오파를 이용해 강력한 웹 애플리케이션을 빠르게 구축하도록 도와준다.

이 책에서 다루는 내용

■ 오파 개발 환경 구축
■ 웹 애플리케이션을 개발하고 DOM과 CSS을 다루는 방법
■ 클래스와 아이콘, 위젯 등 부트스트랩 사용
■ 클라이언트와 서버 코드 분할
■ 자바스크립트와 노드를 결합하여 플러그인 만들기
■ 몽고DB와 연동하여 백엔드에서 데이터 저장과 업데이트, 쿼리 수행
■ 오파로 채팅 애플리케이션 라이브룸(LiveRoom) 만들기
■ 캔버스에서 이미지와 소리를 다루는 팩맨 게임 만들기

이 책의 대상 독자

이 책은 오파 프레임워크를 시작하고 웹 애플리케이션을 만들고자 하는 웹 개발자를 위해 쓰여졌다. 웹 개발 경험이 있다고 가정했으며 해당 경험이 있다면 책을 이해하는 데 도움이 될 것이다.

이 책의 구성

1장, '오파 시작하기'는 오파를 설치하고 개발 환경을 설정하는 방법을 소개한다.
2장, '기본 문법'에서는 오파의 기본 문법을 다룬다.
3장, '웹 애플리케이션 개발'은 오파 웹 애플리케이션을 개발하기 위한 기본지식을 소개한다.
4장, '부트스트랩 사용'은 웹 애플리케이션을 개발할 때 오파의 부트스트랩을 사용하는 방법을 소개한다.
5장, '클라이언트와 서버 간 통신'에서는 클라이언트와 서버 간의 슬라이싱(Slicing)과 통신을 다룬다.
6장, '다른 언어와 결합'은 자바스크립트와 노드를 오파와 연결하는 방법을 설명한다.
7장, '데이터베이스 연동'은 백엔드에서 몽고DB를 사용해 데이터를 저장하고 수정하며, 쿼리하는 모든 것을 설명한다.
8장, '다국어 지원'은 오파의 다국어지원 접근 방법에 대해 소개한다.
9장, '채팅 애플리케이션 만들기'는 오파를 이용해 웹 채팅 애플리케이션을 구축하는 방법을 설명한다.
10장, '팩맨 게임 만들기'는 팩맨 게임을 만들 때 이미지와 소리를 다루는 방법에 대해 설명한다.
11장, '소셜 모바일 애플리케이션 라이브룸 만들기'는 오파로 소셜 모바일 애플리케이션을 만드는 방법에 대해 설명한다.

저자/역자 소개

저자 서문

이 책은 오파 웹 애플리케이션을 만드는 데 필요한 모든 개념과 구성요소를 다룬다. 책의 전반부는 오파 애플리케이션을 개발할 때 필요한 기본 블록을 만드는 방법을 설명하며, 오파의 문법과 웹 개발 영역, 클라이언트와 서버 간 통신과 더불어 슬라이싱(slicing), 플러그인, 데이터베이스 등의 내용을 담고 있다. 오파는 자바스크립트를 위한 풀 스택 오픈소스 웹 개발 프레임워크로서 보안성과 확장성 있는 웹 애플리케이션을 작성할 수 있다. 표준 노드(Node.js)와 몽고DB(MongoDB) 애플리케이션의 생성, HTML5와 CSS의 기본적인 지원과 함께 현대 웹 애플리케이션 프로그래밍의 많은 영역을 자동화하며 하나의 일관된 언어로 작성된 웹 프로그래밍의 모든 영역을 다루며 웹 표준으로 컴파일한다. 이 책은 단계별 예제를 통해 실제적이고 실용적인 가이드를 제공하며 오파 웹 애플리케이션의 거의 모든 영역을 다루고 있어 안전하고 강력한 웹 애플리케이션을 빠르게 구축할 수 있는 오파의 진정한 파워를 사용하게 도와준다.

저자 소개

리 웬보(Li Wenbo)

우한대학교(Wuhan University)에서 컴퓨터 사이언스와 테크놀러지 전공으로 석사학위를 취득했다. 중국 최고 통신회사에서 2년간 소프트웨어 엔지니어로 근무한 경험이 있으며 대학교 재학 시절부터 8년 정도 웹 개발을 해왔다. 그는 C/C++, 자바, 자바스크립트, PHP 등의 프로그래밍 언어에 매우 능숙하며 새로운 것과 기술에 열정을 가지고 있다. 2012년 오파(Opa) 프레임워크(framework)를 처음 접한 후 큰 흥미를 느끼고 오파 챌린지 대회에 참가해 1등을 했다.

현재 프리랜서로 개발하며, 중국 우한에 작은 스튜디오를 가지고 있다.

옮긴이의 말

신규 서비스를 기획하고 개발할 때 가장 중요한 부분은 속도와 확장성이 아닐까 합니다. 회사의 규모와는 관계없이 아이디어를 구체화하는 단계에서는 한두 명으로 개발을 시작하는 경우가 많다 보니, 클라이언트와 서버 애플리케이션 개발을 한 사람이 모두 개발하는 경우가 적지 않습니다. 모든 언어에 익숙한 슈퍼개발자라면 문제없이 척척 개발하겠지만 일반적으로는 개발자가 하나의 언어만 제대로 익히는 것도 쉬운 일이 아니기 때문에 ‘하나의 언어로 다 개발할 수는 없을까?’ 하는 의구심을 갖게 됩니다. 또한 초기 프로토타입으로 시작한 서비스가 실제 서비스화되어 처리해야 할 데이터 양이 많아지는 경우에 기존 플랫폼을 완전히 바꿔야 하는 문제도 생길 수 있기 때문에 변경을 최소화하면서 유연하게 대처할 수 있는 확장성도 중요합니다.

이런 경향을 비춰볼 때 오파 언어의 가장 큰 장점은 자바스크립트 기반의 언어 하나로 클라이언트와 서버 개발을 동시에 할 수 있다는 점입니다. 또한 HTML5와 CSS3를 코드 내에서 직접 사용이 가능하며 node.js나 데이터 연동을 위한 몽고DB 등을 오파 언어로 개발하면 표준 코드로 컴파일되는 특징을 가지고 있습니다. 특히 슬라이싱 기능을 통해 하나의 파일에 서버와 클라이언트 코드를 모두 작성할 수 있다는 점과 기존의 자바스크립트 라이브러리를 제약 없이 사용할 수 있다는 점은 좀 더 빠른 개발은 물론이고, 개발자에게 주어진 무거운 짐을 덜어준다는 이점이 있습니다.

이 책에 담긴 다양한 예제를 통해 세상을 바꾸는 아이디어를 쉽고 빠르게 구현할 수 있는 오파의 강력한 기능을 경험하고, 실제 비즈니스에 적용하여 생산성을 높일 수 있기를 기대해봅니다.

옮긴이 소개

곽용훈

애플][ 컴퓨터와의 만남을 시작으로 컴퓨터 프로그래밍에 입문했다. 지난 13여 년간 IT 분야의 초기 스타트업부터 대기업까지, 웹 프로그래머에서 신규 사업 개발에 이르기까지 다양한 분야와 기술을 경험했다. 현재 모그커뮤니케이션즈에서 서비스팀장으로 일하며, 세상에 없던 멋진 서비스를 만들어 세상을 좀더 행복한 곳으로 만들고자 노력하고 있다.

목차

목차
  • 1장 오파 시작하기
    • 오파 설치
      • 노드 설치
      • 필요 모듈 설치
      • 오파 컴파일러 설치
      • 설치 테스트
    • 에디터 설정
      • 서브라임 텍스트
      • 이맥스
    • 첫 번째 오파 애플리케이션
    • 요약
  • 2장 기본 문법
    • 기본 데이터타입
      • 정수
      • 실수
      • 문자열
    • 함수
      • 마지막 표현식 반환
      • 모듈
    • 데이터 구조
      • 레코드
      • 리스트
    • 패턴 매칭
    • 텍스트 파서
    • 요약
  • 3장 웹 애플리케이션 개발
    • 웹 서버 시작하기
      • 간단한 예제
      • 서버 모듈
    • 요청 보내기
      • 리소스 핸들러
      • 디스패치 핸들러
      • 레지스터 핸들러
      • 커스터마이즈 핸들러
      • 핸들러 그룹
    • 페이지 준비하기
      • XHTML
      • 페이지 생성하기
      • 스타일 추가하기
      • 핸들링 이벤트
    • DOM 조작
      • DOM 선택
      • 값 가져오기
      • 내용 수정
      • 이벤트 핸들러 결합
      • 애니메이션
    • 요약
  • 4장 부트스트랩 사용
    • 부트스트랩 들여오기
    • 클래스 사용
    • 아이콘 사용하기
      • 부트스트랩 아이콘
      • 어썸 폰트 아이콘
    • 위젯 사용
    • 요약
  • 5장 클라이언트와 서버 간 통신
    • 클라이언트와 서버 슬라이싱
      • 간단한 예제
      • 슬라이싱 주석 달기
      • 모듈 슬라이싱
      • 슬라이싱 나타내기
    • 클라이언트와 서버 간 통신
      • 세션
      • 네트워크
    • 요약
  • 6장 다른 언어와 결합
    • 자바스크립트 결합하기
      • 첫 번째 예제
      • 외부 타입 사용하기
    • 노드 결합
    • 클래식 구문을 사용해 외부 함수 결합하기
    • 요약
  • 7장 데이터베이스 연동
    • 몽고DB 빠르게 시작하기
    • 데이터베이스 조작
      • 레코드
      • 리스트
      • 세트와 맵
    • 데이터 쿼리
    • 요약
  • 8장 다국어 지원
    • 내부적 접근
    • 외부적 접근
    • 요약
  • 9장 채팅 애플리케이션 만들기
    • 프로젝트 생성
    • 웹 서버 실행
    • 사용자 인터페이스 디자인
    • 애플리케이션 로직 만들기
    • 메시지 전송과 수신
    • 요약
  • 10장 팩맨 게임 만들기
    • 프로젝트 구조
    • HTML5 캔버스
    • 도형 그리기
      • 채우기와 선 긋기 속성
      • 곡선 그리기
    • 이미지 그리기
    • 텍스트 그리기
    • 외부 자바스크립트 라이브러리 결합
      • 리소스 미리 로드하기
      • 사운드 재생
    • 요약
  • 11장 소셜 모바일 애플리케이션 라이브룸 만들기
    • 프로젝트 구조
    • 사용자 인증
      • 로그인과 로그아웃
      • 페이스북 계정으로 로그인
    • 애플리케이션
      • 주제 리스트만들기
      • 주제 생성하기
      • 메시지와 댓글 등록
      • 모바일 디바이스를 위한 디자인
    • 요약

도서 오류 신고

도서 오류 신고

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

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

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