상세정보

d

d

dd
dd

자바 웹 개발 워크북

성장하는 개발자를 만드는 실무형 로드맵

지은이 |   구멍가게 코딩단
옮긴이 |   
발행일 |   2022-08-16
페이지 |   936가격 |   35,000원
ISBN |   978-89-6540-334-0
분야 |   자바,웹개발,프로그래밍
dddddd

자바 웹 개발 워크북

성장하는 개발자를 만드는 실무형 로드맵

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


성장하는 개발자가 되기 위한 맞춤 안내서
자바 웹 개발자가 되고자 이제 막 자바를 끝마친 다음 ‘무엇을 해야 하는가?’에 대한 고민이 앞섭니다. 웹과 모바일 환경 모두를 만족시켜야 하는 방대한 학습량에 무척 어려워하기도 하고 포기하기도 합니다. 스프링 프레임워크 기반의 자바 웹 프로그래밍은 로드맵 없이 어떻게 동작하는지 모르고 단순하게 시작해서는 방향을 잃고 어느 순간 손을 놓게 됩니다. 방법은 단 하나 로드맵을 통해 과거와 현재의 코드, 작동 원리를 이해하고 익혀야 합니다. 물론, 시간은 많지 않습니다. 그래서 이 책은 다음 단계로 넘어갈 힘과 독자의 시간을 줄이고자 만들어졌습니다.


로드맵

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

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

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

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

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

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



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

구멍가게 코딩단 l https://cafe.naver.com/gugucoding
깃허브 l https://github.com/ckck24
저자서문
들어가며

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

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

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

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

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

6장 AJAX와 JSON
_6.1 REST 방식의 서비스
__Ajax와 REST 방식의 이해
__REST 방식의 댓글 처리 준비
_6.2 다대일Many ToOne 연관관계 실습
__연관관계를 결정하는 방법
__다대일 연관 관계의 구현
__댓글 서비스 계층의 구현
__컨트롤러 계층 구현
_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.1 JWT 인증
__API 서버
__인증을 위한 프로젝트 구성
__토큰 인증을 위한 시큐리티 필터
__Access Token 발행
__Access Token 검증 필터
__Refresh Token 처리
__브라우저에서 JWT 확인
__Ajax와 CORS 설정
__Todo API 서비스
__JWT와 @PreAuthorize

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

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

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


성장하는 개발자가 되기 위한 맞춤 안내서
자바 웹 개발자가 되고자 이제 막 자바를 끝마친 다음 ‘무엇을 해야 하는가?’에 대한 고민이 앞섭니다. 웹과 모바일 환경 모두를 만족시켜야 하는 방대한 학습량에 무척 어려워하기도 하고 포기하기도 합니다. 스프링 프레임워크 기반의 자바 웹 프로그래밍은 로드맵 없이 어떻게 동작하는지 모르고 단순하게 시작해서는 방향을 잃고 어느 순간 손을 놓게 됩니다. 방법은 단 하나 로드맵을 통해 과거와 현재의 코드, 작동 원리를 이해하고 익혀야 합니다. 물론, 시간은 많지 않습니다. 그래서 이 책은 다음 단계로 넘어갈 힘과 독자의 시간을 줄이고자 만들어졌습니다.


로드맵

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

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

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

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

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

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



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

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