쇼핑몰 카테고리 구현 - syopingmol kategoli guhyeon

���θ� ī�װ����� �������ε���

�������� å�̳� �ڷḦ ���� ���� ��з�, �ߺз� �̷��� �ΰ����� �ְ�
�Ϻ� �з��� ���׿�.

��з�
      - �ߺз�
          - �Һз�
                - �ҼҺз�

�̷������� ���Ѵ�� �þ�� ī�װ����� �����ϰ� �ֽ��ϴ�.
�Խ��� ������ ������� �����ߴµ���.
��з�, �ߺз�, �Һз� ���̺��� ���� ������ �����ϱ� ȿ������ �������°� ���� �ؼ���.

Ȥ�� ���Ѵ�� �þ�� ī�װ����� ������ ������ ������?
������ ���ּ���.

�����մϴ�.

  • �亯ä����
    100%
  • ��õ 0 �� ������ ������ �峪��?
  • ����õ 0 �� ������ ������ �ȵ���.

도서를 소개하기 전 타 도서의 이야기를 먼저 시작해 본다. 
처음 구매한 도서가 심각한 수준이라 많은 스트레스를 받았다. 더구나 아래에 소개하는 출판사는 각 프로그래밍에 관한 도서로 마구 찍어내는 출판사였다.

본인들도 먹고살아야 하니 특정 출판사에 어떤 도서라 글을 남기지는 않는다.

하지만 이해를 돕기 위해 어떤 출판사였는지를 이야기하자면, 저자분의 이전(구버전)의 원서를 출판사에 판권을 넘기면서 출판사가 버전 업된 내용을 편집자가 임의적으로 변경해 개정판이라고 출시한 도서로, 오타는 구도서에서 무엇이 달라져야 하는지도 모르는 지식이 없는 편집자가 오타를 수정한 개정판으로, 버전업되면서 달라지는 소스코드는 게시글에 내용을 보고 임의적으로 변경하는 무지한 편집자에 의해서 개정판으로 출간되고 있었다.

오타만이라도 알고 싶어 출판사의 홈페이지를 찾았지만, 개인 블로그로 운영되는 홈페이지는 두개로 하나의 블로그는 시작이 바라카와 콜걸 홍보 번호로 도배되어 있는 블로그로 관리를 안 하는 블로그였다. 

그나마 관리한다는 블로그는 몇개 되지 않는 20자 이내 홍보 글의 댓글 몇 개뿐 나머지는 구독자의 항의글로 가득 차 있었다. 그 많은 글에 항의글에 댓글은 없었다.. 정말 나와 같은 입장에 처한 뚜껑 열린 구독자들의 항의글이 가득한 게시판은 그때 처음 봤다.

결국 출판사에 전화를 걸어 개정판의 소스코드와 피드백을 요구하였으나, 도서는 오래전 도서고 저자분은 판권을 넘겨 연락이 되지 않는다는 답변에 그렇다면 저자의 이전 이메일 주소를 요청하니 개인 정보라 알려줄 수 없다는 답변, 더욱이 황당한 건 편집자가 임의적으로 판단해서 개정판이 나온 거라 개정판 소스코드는 없다는 답변, 그리하여 편집자가 프로그래머냐는 질문에 그건 아니라는 답변. 진짜 뭐 이런 거지 같은 출판사가 있나 했다.

정말 springboot 도서를 구매해야 하나라는 의문이 생겼던 하루였다.
 

JPA 프로젝트 쇼핑몰을 구매 전 372 페이지에 쇼핑몰 프로젝트를 소개한다는 순수하게 책 한권을 팔기 위한 상술에 지나지 않을 거라는 고정관념으로 무시하다 목차를 보고 나름 짜임새 있는 것 같아 한번 더 속는 마음으로 구매하였다. 

개인적 초보자의 입장에서 스프링부트 쇼핑몰 프로젝트 구매는 매우 만족이다. 나머지는 나의 노력이라 생각된다. 물론 모든 것을 만족할 수 있는 도서는 아니다. 하지만 하나의 도서로 모든 것을 만족해야 한다는 것은 초보의 입장은 아니라고 본다.

목차

지은이의 말
베타테스터의 말
일러두기

1장 개발 환경 구축
1.1 스프링 부트의 특징
1.2 JDK 설치
1.3 인텔리제이 설치
1.4 애플리케이션 실행하기
1.4.1 Spring Boot Project 생성하기
1.4.2 빌드 도구
1.4.3 설정 파일(application.properties)
1.4.4 Hello World 출력하기
1.5 Lombok 라이브러리
1.6 MySQL 설치하기
[함께 해봐요 1-1] application.properties 설정하기
[함께 해봐요 1-2] Hello World 출력하기
[함께 해봐요 1-3] 애플리케이션 포트 변경하기
[함께 해봐요 1-4] Lombok 라이브러리 적용하기

2장 Spring Data JPA
2.1 JPA
2.1.1 JPA란?
2.1.2 JPA 동작 방식
2.2 쇼핑몰 프로젝트 생성하기
2.2.1 프로젝트 생성하기
2.2.2 application.properties 설정하기
2.3 상품 엔티티 설계하기
2.3.1 상품 엔티티 설계하기
2.4 Repository 설계하기
2.5 쿼리 메소드
2.6 Spring DATA JPA @Query 어노테이션
2.7 Spring DATA JPA Querydsl
[함께 해봐요 2-1] 상품 클래스 생성하기_Ver01
[함께 해봐요 2-2] 상품 클래스 엔티티 매핑_Ver02
[함께 해봐요 2-3] 상품 Repository 작성 및 테스트하기
[함께 해봐요 2-4] 쿼리 메소드를 이용한 상품 조회하기
[함께 해봐요 2-5] OR 조건 처리하기
[함께 해봐요 2-6] LessThan 조건 처리하기
[함께 해봐요 2-7] OrderBy로 정렬 처리하기
[함께 해봐요 2-8] @Query를 이용한 검색 처리하기
[함께 해봐요 2-9] @Query-nativeQuery 속성 예제
[함께 해봐요 2-10] JPAQueryFactory를 이용한 상품 조회 예제
[함께 해봐요 2-11] QuerydslPredicateExecutor를 이용한 상품 조회 예제

3장 Thymeleaf 학습하기
3.1 Thymeleaf 소개
3.2 Spring Boot Devtools
3.2.1 Automatic Restart 적용하기
3.2.2 Live Reload 적용하기
3.2.3 Property Defaults 적용하기
3.3 Thymeleaf 예제 진행하기
3.3.1 th:text 예제
3.3.2 th:each 예제
3.3.3 th:if, th:unless 예제
3.3.4 th:switch, th:case 예제
3.3.5 th:href 예제
3.4 Thymeleaf 페이지 레이아웃
3.4.1 Thymeleaf Layout Dialect dependency 추가하기
3.5 부트스트랩으로 header, footer 영역 수정하기
3.5.1 Bootstrap CDN 추가하기
3.5.2 Bootstrap Navbar Component 활용하기
[함께 해봐요 3-1] 웹 브라우저에서 Thymeleaf 파일 열어보기
[함께 해봐요 3-2] Thymeleaf 예제용 컨트롤러 클래스 만들기
[함께 해봐요 3-3] 서버용 Thymeleaf 파일
[함께 해봐요 3-4] pom.xml에 의존성 추가하기
[함께 해봐요 3-5] application.properties Live Reload 적용 설정 추가하기
[함께 해봐요 3-6] application.properties Property Defaults 설정 추가하기
[함께 해봐요 3-7] th:text를 이용한 상품 데이터 출력용 Dto 클래스
[함께 해봐요 3-8] th:text를 이용한 상품 데이터 출력용 컨트롤러 클래스
[함께 해봐요 3-9] th:text를 이용한 상품 데이터 출력용 thymeleaf 파일
[함께 해봐요 3-10] th:each를 이용한 상품 리스트 출력용 컨트롤러
[함께 해봐요 3-11] th:each를 이용한 상품 리스트 출력용 thymeleaf 파일
[함께 해봐요 3-12] th:if, th:unless를 이용한 조건문 처리용 컨트롤러 작성하기
[함께 해봐요 3-13] th:if, th:unless를 이용한 조건문 처리용 thymeleaf 파일 만들기
[함께 해봐요 3-14] th:switch, th:case를 이용한 조건문 처리용 thymeleaf 파일
[함께 해봐요 3-15] th:href를 이용한 링크 처리용 컨트롤러
[함께 해봐요 3-16] th:href를 이용한 링크 처리용 thymeleaf 파일
[함께 해봐요 3-17] th:href를 이용한 파라미터 데이터 전달용 thymeleaf 파일
[함께 해봐요 3-18] th:href를 이용한 파라미터 데이터 전달용 컨트롤러 작성하기
[함께 해봐요 3-19] th:href를 이용한 파라미터 데이터 전달용 thymeleaf 파일
[함께 해봐요 3-20] pom.xml에 Thymeleaf Layout Dialect 의존성 추가하기
[함께 해봐요 3-21] Thymeleaf 페이지 레이아웃 예제: 푸터 만들기
[함께 해봐요 3-22] Thymeleaf 페이지 레이아웃 예제: 헤더 만들기
[함께 해봐요 3-23] Thymeleaf 페이지 레이아웃 예제: 본문 레이아웃
[함께 해봐요 3-24] Thymeleaf 페이지 레이아웃 예제: thymeleaf 파일 만들기
[함께 해봐요 3-25] Thymeleaf 페이지 레이아웃 예제: 컨트롤러 클래스 작성하기
[함께 해봐요 3-26] 레이아웃에 Bootstrap CDN 추가하기
[함께 해봐요 3-27] 헤더 영역에 Navbar 추가하기
[함께 해봐요 3-28] 푸터 영역 수정하기
[함께 해봐요 3-29] CSS 적용하기
[함께 해봐요 3-30] CSS와 HTML 파일 연결하기

4장 스프링 시큐리티를 이용한 회원 가입 및 로그인
4.1 스프링 시큐리티 소개
4.2 스프링 시큐리티 설정 추가하기
4.2.1 security dependency 추가하기
4.2.2 스프링 시큐리티 설정하기
4.3 회원 가입 기능 구현하기
4.4 로그인/로그아웃 구현하기
4.4.1 UserDetailsService
4.4.2 UserDetail
4.4.3 로그인/로그아웃 구현하기
4.5 페이지 권한 설정하기
[함께 해봐요 4-1] 스프링 시큐리티 로그인하기
[함께 해봐요 4-2] SecurityConfig 클래스 작성하기
[함께 해봐요 4-3] 회원 가입 기능 구현하기
[함께 해봐요 4-4] 회원 가입 기능 테스트하기
[함께 해봐요 4-5] 회원 가입 페이지 작성하기
[함께 해봐요 4-6] 회원 가입 컨트롤러 소스코드 작성하기
[함께 해봐요 4-7] 회원 가입 처리하기
[함께 해봐요 4-8] 로그인/로그아웃 기능 구현하기
[함께 해봐요 4-9] 로그인 테스트하기
[함께 해봐요 4-10] 로그인/로그아웃 화면 연동하기
[함께 해봐요 4-11] 페이지 권한 설정하기
[함께 해봐요 4-12] 유저 접근 권한 테스트하기

5장 연관 관계 매핑
5.1 연관 관계 매핑 종류
5.1.1 일대일 단방향 매핑하기
5.1.2 다대일 단방향 매핑하기
5.1.3 다대일/일대다 양방향 매핑하기
5.1.4 다대다 매핑하기
5.2 영속성 전이
5.2.1 영속성 전이란?
5.2.2 고아 객체 제거하기
5.3 지연 로딩
5.4 Auditing을 이용한 엔티티 공통 속성 공통화
[함께 해봐요 5-1] 장바구니 엔티티 설계하기
[함께 해봐요 5-2] 장바구니 엔티티 조회 테스트하기(즉시 로딩)
[함께 해봐요 5-3] 장바구니 아이템 엔티티 설계하기
[함께 해봐요 5-4] 주문 도메인 엔티티 설계하기
[함께 해봐요 5-5] 주문 영속성 전이 테스트하기
[함께 해봐요 5-6] 고아 객체 제거 테스트하기
[함께 해봐요 5-7] 주문 엔티티 조회 테스트하기(즉시 로딩)
[함께 해봐요 5-8] 엔티티 지연 로딩 설정하기
[함께 해봐요 5-9] Auditing 기능을 활용한 데이터 추적하기

6장 상품 등록 및 조회하기
6.1 상품 등록하기
6.2 상품 수정하기
6.3 상품 관리하기
6.4 메인 화면
6.5 상품 상세 페이지
[함께 해봐요 6-1] 상품 등록 구현하기
[함께 해봐요 6-2] 상품 수정하기
[함께 해봐요 6-3] 상품 관리 메뉴 구현하기
[함께 해봐요 6-4] 메인 페이지 구현하기

7장 주문
7.1 주문 기능 구현하기
7.2 주문 이력 조회하기
7.3 주문 취소하기
[함께 해봐요 7-1] 주문 기능 구현하기
[함께 해봐요 7-2] 주문 기능 테스트하기
[함께 해봐요 7-3] 주문 호출 구현하기
[함께 해봐요 7-4] 구매 이력
[함께 해봐요 7-5] 주문 취소 기능 구현하기
[함께 해봐요 7-6] 주문 취소 테스트하기
[함께 해봐요 7-7] 주문 취소 호출 구현하기

8장 장바구니
8.1 장바구니 담기
8.2 장바구니 조회하기
8.3 장바구니 상품 주문하기
[함께 해봐요 8-1] 장바구니 담기 구현하기
[함께 해봐요 8-2] 장바구니 담기 테스트하기
[함께 해봐요 8-3] 장바구니 담기 호출 구현하기
[함께 해봐요 8-4] 장바구니 조회하기
[함께 해봐요 8-5] 장바구니 상품 수량 변경하기
[함께 해봐요 8-6] 장바구니 상품 삭제하기
[함께 해봐요 8-7] 장바구니 상품 주문하기

Toplist

최신 우편물

태그