책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9788968481345
· 쪽수 : 300쪽
책 소개
목차
CHAPTER 1 변화는 변화를 낳는다
__1.1 웹 사용자
__1.2 웹 테크놀로지
__1.3 소프트웨어 개발
__1.4 불변의 본질
____1.4.1 웹의 본질
____1.4.2 서버 중심 웹 개발의 해로움
__1.5 왜 클라이언트-서버 웹 앱인가?
____1.5.1 코드 조직화/소프트웨어 아키텍처
____1.5.2 디자인 유연성/오픈 소스 API 활용
____1.5.3 프로토타입 제작
____1.5.4 개발자 생산성
____1.5.5 앱 성능
__1.6 마치며
CHAPTER 2 자바스크립트와 개발 도구
__2.1 자바스크립트 배우기
__2.2 자바스크립트의 역사
__2.3 함수형 언어
____2.3.1 스코프
____2.3.2 일급 함수
____2.3.3 함수 선언과 함수식
____2.3.4 함수 호출
____2.3.5 함수 매개변수
____2.3.6 객체
__2.4 자바 개발자를 위한 자바스크립트
____2.4.1 HelloWorld.java
____2.4.2 HelloWorld.java(변수 사용)
__2.5 프로그램 개발의 모범 사례
____2.5.1 코딩 스타일과 규약
____2.5.2 개발 브라우저
____2.5.3 통합 개발 환경
____2.5.4 단위 테스트
____2.5.5 문서화
__2.6 프로젝트 실습
CHAPTER 3 REST와 JSON
__3.1 REST란 무엇인가?
____3.1.1 자원
____3.1.2 동사(HTTP 요청 메서드)
____3.1.3 URI
__3.2 REST 제약사항
____3.2.1 클라이언트-서버
____3.2.2 스테이트리스
____3.2.3 캐시에 저장
____3.2.4 일관된 인터페이스
____3.2.5 계층적 설계
____3.2.6 주문형 코드
__3.3 HTTP 응답 코드
____3.3.1 성공적인 수행이란?
__3.4 JSON(자바스크립트 객체 표기법)
__3.5 HATEOAS
____3.5.1 REST와 JSON
__3.6 API 시험법과 분류
__3.7 함수형 프로그래밍과 REST
__3.8 프로젝트 실습
__3.9 그 외의 웹 API 도구
__3.10 다시 제약사항 이야기
CHAPTER 4 자바 도구
__4.1 자바 언어
__4.2 자바 가상 머신(JVM)
__4.3 자바 도구
__4.4 빌드 도구
____4.4.1 메이븐의 장점
____4.4.2 메이븐의 기능
____4.4.3 버전 관리
____4.4.4 단위 테스트
__4.5 JSON 자바 라이브러리
__4.6 프로젝트 실습
____4.6.1 자바와 JSON
____4.6.2 JVM 스크립트 언어와 JSON
__4.7 마치며
CHAPTER 5 클라이언트 프레임워크
__5.1 개괄
__5.2 출발점 1: 반응형 웹 디자인
____5.2.1 HTML5 보일러플레이트
____5.2.2 부트스트랩
__5.3 출발점 2 : 자바스크립트 라이브러리와 프레임워크
____5.3.1 브라우저 호환성
____5.3.2 프레임워크
____5.3.3 기능
____5.3.4 인기도
__5.4 스타터 프로젝트 얻기
____5.4.1 저장소에서 직접 다운로드
____5.4.2 스타터 사이트에서 다운로드
____5.4.3 IDE로 생성하는 스타터 프로젝트
__5.5 프론트엔드 엔지니어의 등장
____5.5.1 클라이언트 템플릿
____5.5.2 애셋 파이프라인
____5.5.3 개발 워크플로
__5.6 프로젝트 실습
__5.7 마치며
CHAPTER 6 자바 웹 API 서버
__6.1 더 간단한 서버 솔루션
__6.2 자바 기반의 서버들
____6.2.1 자바 HTTP 서버
____6.2.2 내장형 제티 서버
____6.2.3 레스트릿
____6.2.4 Roo
____6.2.5 내장형 네티 서버
____6.2.6 플레이 서버
____6.2.7 기타 경량 서버 솔루션
__6.3 JVM 기반의 서버들
____6.3.1 자이썬
__6.4 웹 애플리케이션 서버
__6.5 개발에 적용하기
__6.6 마치며
CHAPTER 7 프로젝트 쾌속 개발
__7.1 개발자 생산성
__7.2 개발자와 팀의 워크플로 최적화
____7.2.1 예제 1 : 웹 애플리케이션 수정
____7.2.2 예제 2 : 통합 테스트
____7.2.3 예제 3 : 신규 프로젝트 개발
__7.3 생산성과 소프트웨어 개발의 라이프사이클
____7.3.1 경영과 문화
____7.3.2 기술적 아키텍처
____7.3.3 소프트웨어 도구들
____7.3.4 성능
____7.3.5 테스트
____7.3.6 하부 플랫폼
__7.4 마치며
CHAPTER 8 API 디자인
__8.1 디자인 결정
__8.2 실용적인 웹 API와 RESTful API
__8.3 가이드라인
____8.3.1 명사는 자원, 동사는 HTTP 동작
____8.3.2 쿼리 매개변수를 한정어로 쓰기
____8.3.3 웹 API 버전
____8.3.4 HTTP 헤더
____8.3.5 링크
____8.3.6 응답
____8.3.7 문서
____8.3.8 포매팅 규약
____8.3.9 보안
__8.4 프로젝트 실습
____8.4.1 프로젝트 실행
____8.4.2 서버 코드
____8.4.3 컬과 제이쿼리
__8.5 실무상의 이론
CHAPTER 9 제이쿼리와 자이썬
__9.1 서버 측 : 자이썬
____9.1.1 파이썬 웹 서버
____9.1.2 자이썬 웹 서버
____9.1.3 모의 API
__9.2 클라이언트 측 : 제이쿼리
____9.2.1 DOM 횡단과 처리
____9.2.2 유틸리티 기능
____9.2.3 효과
____9.2.4 이벤트 핸들링
____9.2.5 Ajax
__9.3 제이쿼리와 고수준 추상화
__9.4 프로젝트 실습
____9.4.1 기본적인 HTML
____9.4.2 자바스크립트와 제이쿼리
__9.5 마치며
CHAPTER 10 제이루비와 앵귤러
__10.1 서버 측 : 제이루비와 시나트라
____10.1.1 워크플로
____10.1.2 대화형 루비 셸
____10.1.3 루비 버전 관리자
____10.1.4 패키지
____10.1.5 시나트라
____10.1.6 JSON 프로세싱
__10.2 클라이언트 측 : 앵귤러JS
____10.2.1 모델
____10.2.2 뷰
____10.2.3 컨트롤러
____10.2.4 서비스
__10.3 제이쿼리와 앵귤러 비교
____10.3.1 DOM 혹은 모델 처리
____10.3.2 앵귤러의 비간섭성
__10.4 프로젝트 실습
__10.5 마치며
CHAPTER 11 패키징과 디플로이
__11.1 자바와 JEE 패키징
__11.2 JEE 디플로이
____11.2.1 GUI에서 관리하기
____11.2.2 명령줄에서 관리하기
__11.3 JEE 이외의 디플로이
____11.3.1 웹 앱 외부에 서버를 디플로이
____11.3.2 웹 앱과 서버를 나란히 디플로이
____11.3.3 웹 앱 내부에 서버를 디플로이
__11.4 디플로이 선택이 미치는 영향
____11.4.1 부하 분산
____11.4.2 애플리케이션 디플로이의 자동화
__11.5 프로젝트 실습
____11.5.1 클라이언트
____11.5.2 서버
__11.6 마치며
CHAPTER 12 가상화
__12.1 완전한 가상화
__12.2 가상 머신 구현
____12.2.1 VMWare
____12.2.2 버추얼박스
____12.2.3 아마존 EC2
__12.3 가상 머신 관리
____12.3.1 베이그런트
____12.3.2 패커
____12.3.3 데브옵스 설정 관리
__12.4 컨테이너
____12.4.1 LXC
____12.4.2 Docker
__12.5 프로젝트 실습
____12.5.1 도커 도움말
____12.5.2 이미지와 컨테이너 관리
____12.5.3 도커에서의 자바
____12.5.4 도커와 베이그런트 네트워킹
__12.6 마치며
CHAPTER 13 테스트와 문서화
__13.1 테스트의 유형
____13.1.1 공식 테스트와 비공식 테스트
____13.1.2 테스트의 규모
____13.1.3 누가 누구를 위해서 무엇을 테스트하나?
__13.2 조직 성숙도에 대한 지표로서의 테스트
____13.2.1 프로세스 일관성 측정을 위한 CMM
____13.2.2 일관된 프로세스로 이끄는 메이븐
____13.2.3 일관된 프로세스로 이끄는 BDD
__13.3 테스트 프레임워크
____13.3.1 제이유닛
____13.3.2 재스민
____13.3.3 큐컴버
__13.4 프로젝트 실습
____13.4.1 제이유닛
____13.4.2 재스민
____13.4.3 큐컴버
____13.4.4 메이븐 사이트 보고서
__13.5 마치며
CHAPTER 14 마치며
__14.1 커뮤니티
__14.2 역사
__14.3 정말 마치며
APPENDIX A 제이루비 IRB 및 자바 API
__A.1 그래들을 이용한 셋업
__A.2 제이루비 IRB
____A.2.1 IRB 소개
__A.3 자바 기반의 관계형 데이터베이스
____A.3.1 H2
____A.3.2 HSQLDB
____A.3.3 더비
__A.4 마치며
____B.1 HTTP 1.1 요청 메서드
APPENDIX B RESTful 웹 API 요약
____B.2 HTTP 1.1 응답 코드
__B.3 웹 API용 컬
__B.4 JSON 문법
____B.4.1 JSON의 유형
__B.5 레일로드 다이어그램
____B.5.1 객체
____B.5.2 배열
____B.5.3 값
APPENDIX C 참고문헌