품목정보
발행일 | 2022년 08월 04일 |
---|---|
쪽수, 무게, 크기 | 936쪽 | 1778g | 188*257*40mm |
ISBN13 | 9788965403340 |
ISBN10 | 8965403340 |
발행일 | 2022년 08월 04일 |
---|---|
쪽수, 무게, 크기 | 936쪽 | 1778g | 188*257*40mm |
ISBN13 | 9788965403340 |
ISBN10 | 8965403340 |
저자서문 들어가며 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 업로드 확인 |
이 책의 좋은점
자바 서블릿 프로그래밍부터 스프링 / 스프링 부트까지 내용 구성이 잘 되어있습니다.
스프링을 하더라도 서블릿에 대한 이해가 있어야 흐름이해에 큰 도움이 되는 것 같습니다.
싱글톤 만들때 Enum 활용하신 것도 뭔가 새로웠습니다.
예제 코드에 대해서... 예제라고 대충 쓴 코드들이 아닌 좋은 코드를 보여주신 것 같습니다.
Spring Boot 2 예제를 Spring Boot 3로 전환해서 하는데도 크게 어려운 점은 없었고,
Springfox를 Spring docs v2로 전환해서 쓸 때 정도만 약간의 시행착오가 있었습니다.
9장의 API 서버와 JWT에서도 어떤식으로 JWT가 동작하는지 이해에 큰 도움이 되었습니다.
Todo API 서버에 대해서, 실제 React 프론트엔드를 붙여서 해보면 좋은데..
React에 익숙하진 않아서 이건 나중에 해보려구요..
구멍가게코딩단 네이버 카페도 가봤는데, 질문은 해본적은 없지만 독자분들 답변해주시는 것들 보니 엄청 성의있게 해주십니다.
개정판 출판시 희망사항
마지막 10장의 스프링 부트를 AWS에서 검은 콘솔 화면내용이 보기가 힘든데,
이부분은 출판사 편집팀에서 콘솔 배경과 글씨가 확실하게 구분되도록
신경써주시면 좋을 것 같습니다.
약간 보충 되었으면 하는 내용은...
AWS 장이 있다면, 8장까지 진행한 스프링 부트 게시판 프로젝트를 AWS로 반영하는 내용이
있으면 좋을 것 같긴한데... 그러나 현재 내용이라도 약간 고민을 좀 하면
책의 내용만으로도 잘 진행할 수 있을 것 같지만,
그래도 지금 껏 열심히 해본것 올려보는게 보람이 더 있을 것 같긴합니다. ㅎㅎ
사소한 내용으로.. 파일업로드에서 _를 기준으로 uuid와 파일명을 쪼개는데..
파일 명에 이미 _가 포함되었을 경우 제대로 쪼개지 못할 수 있는 경우가 있으니 limit 값을 전달해주는게 좋을 것 같습니다.
jshell> "1_2_3_4_5".split("_")
$6 ==> String[5] { "1", "2", "3", "4", "5" }
jshell> "1_2_3_4_5".split("_", 2)
$7 ==> String[2] { "1", "2_3_4_5" }
jshell>
마무리
일전에 코드로 배우는 스프링 웹 프로젝트도 잘 읽어서 구매하게 되었는데,
이 책도 좋내요.. 앞으로도 좋은 책 부탁드립니다. 감사합니다. ㅎㅎ
자바 웹 개발 워크북 리뷰입니다. 자바 프로그래밍 공부 중에 프레임워크에 대해서 알고 싶어서 검색 후 찾은 책입니다. 스프링 이전에 서블릿에 대해서 설명하고 스프링 부트까지 설명하는 좋은 루트를 가지고 있다고 생각합니다. 이 책을 한 번 읽고 나면 시간이 많이 소요되겠지만 분명 득이 되는 책이라고 생각합니다. 자바 프로그래밍을 시작하시는 분들이라면 추천합니다.