● 저자: 박재성
● 페이지: 480
● 판형: 사륙배변형(172*225)
● 도수: 1도
● 정가: 30,000원
● 발행일: 2016년 9월 19일
● ISBN: 978-89-97924-24-0 93000
[강컴] [교보] [반디] [알라딘] [예스24] [인터파크]
[샘플원고 보기]
webprogramming-sample.pdf_도서 내용
이 책은 웹 개발 입문의 껍질(책에서는 ‘양파껍질’로 표현한다)을 막 벗겨낸 경력 1년 이상의 초보개발자들을 대상으로 하는 책이다. 웹 서버, 프레임워크 등을 직접 제작해보고 테스트와 리팩토링을 통해 점진적 개선을 해나가면서 실무에 필요한 개발 능력과 웹에 대한 폭넓은 이해력을 높여줄 수 있게 해준다. 10년 이상 자바 웹 프로그래머로 살아온 저자의 경험과, 3년 이상 NEXT에서 웹 서버 전공으로 학생들을 가르치면서 얻게 된 학습과 관련된 생각을 ‘양파껍질 학습법’이라는 저자만의 독특한 접근법으로 정리한 책이다.
_대상 독자
[가장 읽기에 적합한 대상독자]
1. 실무에서 스프링 프레임워크 기반으로 자바 웹 프로그래밍을 하고 있는 개발자로 내부 기술의 동작 원리를 학습하고 싶은 개발자. 경력으로 본다면 최소 1년 이상의 경험을 가진 자바 웹 개발자.
2. 다른 개발자가 구현해 놓은 라이브러리, 프레임워크를 사용만 하는 것이 아니라 본인이 직접 라이브러리와 프레임워크를 구현하는 경험을 하고 싶은 개발자. 라이브러리와 프레임워크를 구현하면서 테스트, 리팩토링, 객체지향 설계 연습을 하고 싶은 개발자.
3. 필자의 학습 방식과 자신의 학습 방식을 비교해 보면서 새로운 학습 방식을 찾고 싶은 개발자. 학습 방식을 비교해 보면서 자신의 현재 상태를 점검하고 부족한 부분을 찾아 다음 단계의 학습 로드맵을 설계하고 싶은 개발자.
[다음 단계로 적합한 대상 독자]
1. 이미 파이썬, 루비, PHP 기반으로 웹 프로그래밍을 해본 경험이 있는 개발자로 자바 기반의 웹 개발자로 전향하고 싶은 개발자. 자바 웹 개발자로 성장하기 위해 학습해야 할 지식과 로드맵을 찾고 있는 개발자.
2. 웹 프로그래밍 경험은 없지만 C, C++ 등의 프로그래밍 경험이 있는 개발자로 자바 기반 웹 개발자로 전향하고 싶은 개발자.
_목차
1장. 첫 번째 양파 껍질 벗기기
1.1 대한민국 IT 개발자 직군의 종류
1.2 개발자들에게 유용한 웹사이트들
1.3 처음에 배워야 하는 것들
1.4 일단 시작해 보자
1.5 본격적으로 웹 프로그래밍에 도전하기
1.6 학습 방법
두 번째 양파 껍질 벗기기
2장 문자열 계산기 구현을 통한 테스트와 리팩토링
2.1 main() 메소드를 활용한 테스트의 문제점
2.2 JUnit을 활용해 main() 메소드 문제점 극복
2.3 문자열 계산기 요구사항 및 실습
2.4 테스트와 리팩토링을 통한 문자열 계산기 구현
2.5 추가 학습 자료
3장 개발 환경 구축 및 웹 서버 실습 요구사항
3.1 서비스 요구사항
_주요 내용
새로운 프로그래밍 학습법을 제시한다!
이 책은 일방적으로 지식을 전달하기 위한 책이 아니다. 책을 읽는 독자가 직접 무엇인가를 구현해 가면서 이와 관련한 지식을 학습하는 방식으로 구성되어 있다. 그렇다고 아무것도 없는 상태에서 무엇인가를 구현하라고 요구하는 것이 아니라, “요구사항 > 힌트 > 구현 > 점진적 개선”이라는 학습 과정을 통해 혼자 힘으로 문제를 해결할 수 있도록 도움을 주고 있다.
누구나 아무것도 없는 상태에서 무엇인가를 구현하라고 하면 경험이 없는 상태에서는 두려움이 앞서 시도조차 하지 않는 경우가 많다. 이 책은 두려움보다는 문제를 해결해 가면서 자신감을 얻고, 성공의 맛을 느낄 수 있도록 설계된 책이다.
[주요 내용]
1장은 프로그래밍을 처음 시작하는 개발자가 첫 번째 단계를 극복하기 위해 참고할 내용에 대해 다룬다.
2장은 문자열 계산기 구현을 통해 테스트와 리팩토링의 중요성에 대해 다룬다.
3장, 4장은 HTTP 웹 서버를 직접 구현하는 경험을 한다. 웹 클라이언트와 웹 서버가 HTTP를 통해 데이터를 어떻게 주고 받는지를 이해할 수 있다.
5장은 앞에서 구현한 HTTP 웹 서버를 리팩토링하는 경험을 한다.
6장은 세션을 직접 구현해보고 MVC 프레임워크 초기 버전을 구현하는 경험을 한다. 세션과 MVC 패턴에 대한 이해도를 높이고 있다.
7장은 JDBC API를 사용하는 과정에서 발생하는 중복 코드를 리팩토링을 통해 제거하고, 공통 라이브러리를 구현하는 경험을 한다.
8장은 AJAX를 지원하기 위해 JSON API를 제공하는 과정을 다룬다. 새로운 기능을 추가하기 위해 객체지향 설계와 개발이 가지는 의미에 대해 다룬다.
9장은 지금까지 학습한 과정을 제대로 이해했는지 검토하기 위해 자체 점검을 진행한다. 자신이 부족한 부분을 파악하고, 다음 단계를 위한 준비 단계로 삼는다.
10장은 지금까지 구현한 MVC 프레임워크의 부족한 부분을 찾아 개선하는 경험을 한다.
11장, 12장은 싱글톤 패턴 기반 개발의 한계점을 파악하고, 이를 개선하기 위해 의존관계 주입(Dependency Injection, 이하 DI)을 지원하는 프레임워크를 구현하는 경험을 한다.
13장은 지금까지의 학습 단계를 넘어 다음 단계로 학습할 주제와 각 주제별로 참고할 자료들을 공유하는 것으로 책을 마무리한다.
[베타 리뷰어의 글]
책의 실습을 하는 내내 퀴즈를 푸는 것 같은 재미를 느꼈다. 이 책을 읽는 여러분도 실습의 요구사항을 하나씩 해결하다 보면 비슷한 느낌을 받을 것이다. 이 책을 통해 프로그래밍에 대한 자신감을 얻고 무엇보다도 즐거운 경험을 하길 바란다.
_정윤성/넥스트 1기, 카카오 개발자
이 책에는 나와 친구들이 박재성 교수에게 웹을 만들어내는 기술과 개발자의 삶에 대해 배우면서 보고 느꼈던 그의 교육 스타일이 녹아있다. 그를 만나서 얻은 경험, 교훈, 지식들은 분명 내가 얻은 것 중 가장 값진 것들 중 하나로서 남을 것이다. 이 책으로부터 박재성 교수, ‘포비’의 생각과 지혜들을 만나는 경험들을 얻기를 바란다.
_이성천/넥스트 3기, 라인 개발자
예전에 포비가 "처음부터 장난감의 원리를 알고 장난감을 만들어 가지고 노는 사람은 없다.라는 말을 한 적이 있다. 장난감의 동작 방법은 알고 있지만 장난감의 원리를 잘 모른다면 이 책을 꼭 읽어보기를 추천한다.
_류성현/넥스트 3기, 네이버 개발자
_편집자 코멘트
2016년 겨울의 끝자락에서 그에게 연락이 왔다.
“지난달 경희대에서 Java Web Programming을 주제로 강의한 후에 약간의 확신이 생겨 다시 고민하면서 정리해 봤어요.”
언제나 그렇듯 조심스레 “내용 보시고 신랄한 피드백 부탁드려요.”
이런 내용도 덧붙인다.
그렇게 설계된 기획은 그의 애자일스런 글쓰기를 통해 예닐곱 번의 탈고를 반복하였다. 엄청난 생산성이었다.
자로 잰듯 치밀하게 계산된 학습 패턴, 구석구석 불쑥불쑥 나타나는 그의 경험 이야기, 책에서 제시하는 수많은 유투브 동영상 강의 등, 얼마나 치열하게 고민하고 생각하며 썼는가를 느낄 수 있었다. 개발자로서 10년, 교육자로서 3년, 독특한 경험이 기존에는 없던 새로운 프로그래밍 학습법을 만들어냈다.
그의 말대로 삼류 행동가가 되기로 마음 먹고 시도한 이 책이 다양한 학습법을 가진 책들로 이어져 IT 출판의 다양성에도 기여를 하면 좋겠다.
_저자 소개
박재성
프로그래밍을 통해 지속 가능한 삶을 살아가는 것에 관심이 많다. 최근에는 대한민국에서 자신의 색깔을 유지하며 행복한 삶을 살아가는 방법을 주변에 전하는 데 더 많은 관심을 가지고 있다. SLiPP(https://slipp.net) 커뮤니티를 통해 다른 개발자와 온라인으로 소통하고, 오프라인 스터디를 통해 다양한 개발자들과 교류하고 있다. 저서로는 <자바 세상의 빌드를 이끄는 메이븐>(2011, 한빛미디어), 프로그래머 그 다음 이야기(2011)이 있다.
저자는 현재 NEXT institute에서 웹 서버 전공 학생들에게 자바 웹 프로그래밍을 가르치면서 사람을 키우는 즐거움을 느끼고 있다. 나와 같은 반란군을 키우는 교육자이고 싶다.
_상세 이미지
_끝
'신간소개' 카테고리의 다른 글
[신간안내] 파이썬의 신: 프로그래밍 언어를 배운다는 것 (4) | 2016.12.13 |
---|---|
[신간안내] 안드로이드 앱 성능 최적화: 속도, 최적화, 테스트 실전 가이드 (0) | 2016.10.25 |
[신간안내] 헬로, 스타트업: 제품, 기술, 팀을 완벽하게 구축하는 기술 (1) | 2016.08.31 |
[신간안내] CSS 수퍼파워 Sass로 디자인하라 (0) | 2016.08.17 |
[신간안내] 네트워크 엔지니어의 교과서 (0) | 2016.08.09 |