자바 웹 개발 워크북 (성장하는 개발자를 만드는 실무형 로드맵)

자바 웹 개발 워크북 (성장하는 개발자를 만드는 실무형 로드맵)

$40.02
Description
자바 웹 개발자로 취업이나 이직을 준비 중이라면!
성장하는 개발자가 되기 위한 맞춤 안내서

서블릿에서 스프링 부트까지 한번에, API 서버를 위한 REST 방식과 JWT 처리까지
이 책은 제목 그대로 워크북입니다. 직접 손으로 친 코드를 몸으로 익히며 스스로 학습할 수 있도록 돕습니다. 과거에서 현재, 최근 개발을 주도하는 스프링 기반 웹 개발에 필요한 기술들을 순차적으로 학습합니다. 서블릿/JSP부터 변화한 현재의 동적인 웹 개발 환경에 맞도록 스프링 웹 MVC로, 마이바티스로, JPA를 이용한 DB의 영속성 처리를 학습하고 시큐리티로 다양한 로그인 방법과 API 서비스를 위한 JWT 인증 등으로 점점 개선된 자신의 프로젝트를 AWS에서 빌드 실습하고 배포까지 경험합니다. 그리고 최근 실무에서 주도하는 기술, 스프링 프레임워크 기반의 자바 웹 프로그래밍 로드맵을 제안합니다. 자바 웹 개발자로 취업을 준비하고 있다면 이 책은 성장하는 개발자가 되기 위한 아주 유용한 안내서가 될 것입니다.
저자

구멍가게코딩단

프로그래밍을좋아하지만,남들앞에나설용기없는10년차이상개발자,현업관리자,강사들의비공개모임.어린시절구멍가게앞아저씨들이인생의진리를가볍게던졌던것처럼프로그래밍의오의(奧義)를가볍게던지고싶은사람들의모임.http://cafe.naver.com/gugucoding을통해서독자들과소통하고있다.

목차

저자서문
들어가며

1장웹프로그래밍의시작
_1.1자바웹개발환경만들기
__웹프로젝트의기본구조
__인텔리제이를이용한프로젝트생성
__톰캣(Tomcat)설정과웹프로젝트생성
_1.2웹기본동작방식이해하기
__Request(요청)/Response(응답)
__JSP를이용해서GET/POST처리하기
_1.3WebMVC방식
__MVC구조와서블릿/JSP
__실습_1컨트롤러에서뷰(View)호출
__실습_1POST방식을통한처리요청
__실습_03sendRedirect()
__PRG패턴(Post-Redirect-GET)
_1.4HttpServlet60
__HttpServletRequest의주요기능
__HttpServletResponse의주요기능
__실습_01와이어프레임의구현
__실습_02TodoListController구현
__실습_03TodoReigsterController의구현
_1.5모델(Model)74
__모델과3티어
__실습_04TodoService클래스
__컨트롤러에서모델처리하기
__실습_05TodoListController의처리
__JSP-EL(ExpressionLanguage)
__JSTL
__실습_06Todo조회

2장웹과데이터베이스
_2.1JDBC프로그래밍준비
__MariaDB의설치와생성
__프로젝트생성과MariaDB준비
__실습_01테스트프로그램작성하기
__실습_02데이터베이스테이블생성
__실습_03데이터insert
__실습_04데이터select
__실습_05데이터update
__실습_06데이터delete
_2.2프로젝트내JDBC구현
__Lombok라이브러리
__실습_01TodoVO클래스의작성
__HikariCP의설정
__실습_02ConnectionPool이용하기
__실습_03TodoDAO의등록기능구현하기
__실습_04TodoDAO의목록기능구현하기
__실습_05TodoDAO의조회기능구현하기
__실습_06TodoDAO의삭제/수정기능구현하기
_2.3웹MVC와JDBC의결합
__ModelMapper라이브러리
__실습_07TodoService와ModelMapper테스트
__Log4j2와@Log4j2
__컨트롤러와서비스객체의연동
__실습_08등록기능구현
__실습_09조회기능구현
__실습_10수정/삭제기능구현

3장세션/쿠키/필터/리스너
_3.1세션과필터
__무상태에서과거를기억하는법
__서블릿컨텍스트와세션저장소
__세션을이용하는로그인체크
__실습_01등록할때,로그인체크하기
__실습_02로그인처리컨트롤러작성하기
__필터를이용한로그인체크
__실습_03로그인체크구현
__실습_04UTF-8처리필터
__세션을이용하는로그아웃처리
__데이터베이스에서회원정보이용하기
__실습_05자바에서회원데이터처리하기
__실습_06컨트롤러에서로그인연동
_3.2사용자정의쿠키(Cookie)
__쿠키의생성/전송
__실습_07조회한Todo확인하기
__쿠키와세션을같이활용하기
__실습_08자동로그인처리
_3.3리스너(Listener)
__리스너의개념과용도
__실습_09ServletContextListener
__실습_10세션관련리스너

4장스프링과스프링WebMVC
_4.1의존성주입과스프링
__스프링의시작
__실습_01의존성주입하기
__ApplicationContext와빈(Bean)
__실습_02SampleDAO주입하기
__실습_03@Service,@Repository
__인터페이스를이용한느슨한결합
__실습_04SampleDAO를인터페이스로변경하기
__웹프로젝트를위한스프링준비
__실습_05DataSource구성하기
_4.2MyBatis와스프링연동
__MyBatis소개
__실습_01Mapper인터페이스활용하기
__실습_02XML로SQL분리하기
_4.3스프링WebMVC기초
__스프링WebMVC의특징
__실습_01스프링MVC사용하기
__실습_02스프링MVC컨트롤러
__파라미터자동수집과변환
__실습_03단순파라미터의자동수집
__스프링MVC의예외처리
_4.4스프링WebMVC구현하기
__프로젝트의구현목표와준비
__화면디자인-부트스트랩적용
__MyBatis와스프링을이용한영속처리
__Todo기능개발
__페이징처리를위한TodoMapper
__목록데이터를위한DTO와서비스계층
__검색/필터링조건의정의
__검색조건을위한화면처리

5장스프링에서스프링부트로
_5.1스프링부트소개
__기존개발에서달라지는점들
__SpringInitializr를이용한프로젝트생성
__스프링부트에서웹개발
_5.2Thymeleaf
__Thymeleaf기초문법
__Thymeleaf의특별한기능들
_5.3SpringDataJPA
__프로그램개발목표
__Board엔티티와JpaRepository
__Querydsl을이용한동적쿼리처리
_5.4게시물관리완성하기
__서비스계층과DTO의구현
__컨트롤러와화면처리

6장AJAX와JSON
_6.1REST방식의서비스
__Ajax와REST방식의이해
__REST방식의댓글처리준비
_6.2다대일ManyToOne연관관계실습
__연관관계를결정하는방법
__다대일연관관계의구현
__댓글서비스계층의구현
__컨트롤러계층구현
_6.3댓글의자바스크립트처리
__비동기처리와Axios
__Axios를위한준비
__댓글처리와자바스크립트

7장파일업로드처리
_7.1첨부파일과@OneToMany
__파일업로드를위한설정
_7.2@OneToMany
__@OneToMany적용
__영속성의전이(cascade)
__Lazy로딩과@EntityGraph
__게시물과첨부파일수정
__게시물과첨부파일삭제
__‘N+1’문제와@BatchSize
__서비스계층과DTO
_7.3컨트롤러와화면처리
__게시물과첨부파일등록처리
__게시물목록과첨부파일처리
__게시물조회와첨부파일
__게시물수정과삭제

8장스프링시큐리티
_8.1스프링시큐리티적용하기
__스프링시큐리티기본설정
__화면에서인증처리하기와컨트롤러
_8.2회원데이터처리
__회원도메인과Repository
__회원서비스와DTO처리
__회원가입처리
_8.3소셜로그인처리
__프로젝트를위한설정

9장API서버와JWT
_9.1JWT인증
__API서버
__인증을위한프로젝트구성
__토큰인증을위한시큐리티필터
__AccessToken발행
__AccessToken검증필터
__RefreshToken처리
__브라우저에서JWT확인
__Ajax와CORS설정
__TodoAPI서비스
__JWT와@PreAuthorize

10장스프링부트를AWS에서
_10.1자바웹개발환경만들기
__EC2생성과접속
__Putty를이용한터미널연결
__프로젝트실행확인
_10.2AWS의RDS서비스
__RDS서비스구성
__RDS에새계정추가
__EC2와RDS연동확인
_10.3AWS의S3서비스
__S3서비스구성
__프로그램을통한S3업로드확인

출판사 서평

인터넷에서처음물건을주문했던과거로부터끊임없이발전한인터넷으로모든것을할수있는현재,그리고미래에주도하게될기술들,이변화를이해하기위해서는정말많은분량의이야기가필요합니다.수많은책이나강의의도움도필요합니다.그리고그이야기를내것으로만들시간은더욱더많이필요합니다.이책은과거의서블릿/JSP에대한이야기,현재는스프링과스프링부트에대한이야기,그리고미래의API서버와클라우드에대한이야기입니다.이책은이러한과거와현재,미래의이야기들을줄여서요약한것입니다.이제막취업을시작하려하는취준생이나주니어개발자들의시간은모두가다르게흐릅니다.
자바웹개발자가되고자이제막자바를끝마친다음‘무엇을해야하는가?’에대한고민이앞섭니다.웹과모바일환경모두를만족시켜야하는방대한학습량에무척어려워하기도하고포기하기도합니다.스프링프레임워크기반의자바웹프로그래밍은로드맵없이어떻게동작하는지모르고단순하게시작해서는방향을잃고어느순간손을놓게됩니다.방법은단하나로드맵을통해과거와현재의코드,작동원리를이해하고익혀야합니다.물론,시간은많지않습니다.
그래서이책은다음단계로넘어갈힘과독자의시간을줄이고자만들어졌습니다.이책의로드맵은다음과같습니다.

*서블릿/JSP/JDBC/HTTP
--웹개발을위해이해가필요한필수적인내용들을간단한실습과함께알아봅니다.

*스프링과마이바티스
--프레임워크시대로들어오면서MVC는스프링웹MVC로,JDBC는마이바티스로대체되었습니다.

*스프링부트와JPA
--스프링부트를이용해서스프링프레임워크를빠르고쉽게구축하고JPA를이용해서데이터베이스에독립적인영속처리를학습합니다.

*스프링시큐리티와소셜로그인
--로그인과권한처리,자동로그인,소셜로그인(Kakao)처리를학습합니다.

*API서버를위한JWT인증
--API서비스를위한AccessToken/RefreshToken의발행과검증/예외처리
--Ajax의보안문제와이에대한해결에대해서학습합니다.

*AWS의환경설정과실습
--EC2구성,프로젝트배포와빌드실습
--RDS를이용한원격데이터베이스연동처리와EC2연동처리
--S3서비스를이용한첨부파일의처리

이책에서진행하는모든코드는아래구멍가게코딩단카페와깃허브에서내려받을수있습니다.
구멍가게코딩단에서는지속적인업데이트와독자분들과소통할수있는QnA게시판도함께운영하고있습니다.

구멍가게코딩단lhttps://cafe.naver.com/gugucoding
깃허브lhttps://github.com/ckck24