책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9791195272907
· 쪽수 : 392쪽
· 출판일 : 2017-04-12
책 소개
목차
제1장 Getting Started
1.1 스타트업이란?
__1.1.1 스타트업에서 기술 책임자의 역할
1.2 기술 스택(Tech Stack)의 선정
__1.2.1 기술 스택이란?
__1.2.2 기술 스택 선정 시 고려해야 하는 사항들
1.3 최소 기능 제품(Minimum Viable Product) 구현하기
__1.3.1 준비 사항(Prerequisite)
__1.3.2 기술 요소의 선정
__1.3.3 만약, 디자이너가 없다면?
__1.3.4 배포와 호스팅
1.4 요약
제2장 프론트엔드 레이어
2.1 프론트엔드 기술 요소의 선정
__2.3.1 단일 페이지 애플리케이션 (SPA)
__2.3.2 자바스크립트 MVC 프레임워크
__2.3.3 CSS 프레임워크
2.2 프론트엔드 성능 (CSS/JavaScripts/Images)
__2.2.1 HTTP 요청 횟수의 최소화
__2.2.2 정적(static) 파일의 압축
__2.2.3 CSS/JavaScript 파일의 위치
__2.2.4 CDN(Content Delivery Network)
2.3 검색엔진 최적화 (Search Engine Optimization)
__2.3.1 검색엔진 최적화는 왜 중요한가?
__2.3.2 검색엔진의 기본 원리와 한계
__2.3.3 검색엔진 친화적 웹 만들기
__2.3.4 검색엔진 최적화 검증하기
2.4 요약
제3장 웹 애플리케이션 개발
3.1 웹 애플리케이션 프레임워크
__3.1.1 루비 온 레일스(Ruby on Rails)
__3.1.2 장고 (Django)
__3.1.3 노드 (Node.js)
__3.1.4 스프링 (Spring)
__3.1.5 플레이 (Play)
3.2 백엔드 성능
__3.2.1 캐시와 쿠키
__3.2.2 성능 테스트
3.3 API 서버 개발
__3.3.1 모바일은 왜 중요한가?
__3.3.2 API 우선 전략(API-first approach)
__3.3.3 푸시 알림(Push Notification)
3.4 요약
제4장 로그 데이터 분석
4.1 로그 수집과 관리
__4.1.1 로그의 활용 목적
__4.1.2 로그 수집과 관리를 위한 기술 요소들
4.2 로그 데이터의 분석
__4.2.1 데이터 분석이란?
__4.2.2 구글 애널리틱스(Google Analytics)
__4.2.3 자체(Inhouse) 분석을 위한 도구들 1 Presto
__4.2.4 자체(Inhouse) 분석을 위한 도구들 2 Apache Spark
__4.2.5 자체(Inhouse) 분석을 위한 도구들 3 ELK 스택
__4.2.6 도움이 되는 책들
4.3 요약
제5장 Full Text 검색과 추천 시스템
5.1 Full Text 검색
__5.1.1 Full Text 검색의 핵심 개념
__5.1.2 오픈소스 검색엔진을 이용한 검색 시스템 구축
__5.1.3 도움이 되는 책들
5.2 추천 시스템(Recommender System)
__5.2.1 추천의 핵심 개념
__5.2.2 Apache Spark MLlib를 이용한 추천 시스템의 구축
5.3 요약
제6장 인프라스트럭처
6.1 서버 (Server)
__6.1.1 인터넷 데이터센터(IDC)
__6.1.2 클라우드 서비스
6.2 데이터베이스 (Database)
__6.2.1 관계형 데이터베이스(RDBMS) vs NoSQL
__6.2.2 대표적인 관계형 데이터베이스
__6.2.3 대표적인 NoSQL
__6.2.4 클라우드 데이터베이스 서비스
6.3 요약
제7장 아마존 웹 서비스 (AWS)
7.1 AWS 계정 생성
7.2 Amazon EC2 (Elastic Compute Cloud)
7.3 Amazon VPC와 보안 그룹 (Security Group)
7.4 Amazon RDS(Relational Database Service)
7.5 요약
제8장 보안
8.1 보안 공격의 유형과 사례
__8.1.1 랜섬웨어 (Ransomware)
__8.1.2 개인정보 유출
__8.1.3 APT (Advanced Persistent Threat)
8.2 보안 공격 예방책
__8.2.1 SSL (Secure Sockets Layer)
__8.2.2 최소한의 포트(port) 개방
__8.2.3 2단계 인증 (2-Step Verification)
__8.2.4 비밀번호 관리
__8.2.5 네트워크 분리
__8.2.6 서버 계정과 권한 제한
__8.2.7 개인정보 보호
8.3 사내 보안 규정
8.4 요약
제9장 개발 문화
9.1 코드리뷰의 중요성
__9.1.1 코드리뷰는 왜 중요한가?
__9.1.2 코드리뷰는 어떻게 하는가?
__9.1.3 코드리뷰시 무엇을 확인해야 하는가?
__9.1.4 코드리뷰에서 주의해야 할 점들
9.2 기획자와 개발자의 동고동락(同苦同樂)
__9.2.1 기획자에게 절대 해서는 안 되는 말
__9.2.2 개발자에게 절대 해서는 안 되는 말
9.3 기술 부채, 그리고 집중할 수 있는 시간의 중요성
__9.3.1 기술 부채
__9.3.2 집중할 수 있는 시간의 중요성
9.4 개발 프로세스 점검하기
9.5 요약
제10장 서비스 규모의 도약을 위한 준비
10.1 마이크로서비스 아키텍처
10.2 API Gateway
10.3 이벤트-주도(Event-Driven) 데이터 관리
__10.3.1 분산된 데이터베이스에서 트랜잭션 관리 이슈
__10.3.2 이벤트 주도 아키텍처 (Event-Driven Architecture)
10.4 요약
제11장 결국, 제일 중요한 건 사람
11.1 좋은 엔지니어 영입하기
__11.1.1 좋은 엔지니어가 필요한 이유
__11.1.2 좋은 엔지니어를 영입하는 방법
11.2 엔지니어 인터뷰
11.3 입사 이후의 관리
11.4 요약
부록 A. Git과 Github를 이용한 소스코드 버전 관리