Spring Projcect 63

Chapter 08. 스프링 부트 프로젝트 - 비밀번호 찾기(초기화)

Ex) 메인 페이지에 공통적으로 계속 사용할 코드를 어떻게 관리할까? - ThymeLeaf fragment - layout 파일을 이렇게 구성하면 회원 가입 | 회원 정보 | 로그인 | 로그아웃 - index 파일을 간단히 작성 가능 메인 페이지 - 다른 info, 파일에도 모두 적용한다. - 가입 결과 페이지는 true / false에 맞게 각각 넣어줘야한다. Note) 실행 결과 ==================================오류 ===================================== - 로그인을 해야만 메인페이지가 안 뜬다. - 그리고 메인 기본 인덱스 페이지가 안 나오고 로그인 페이지가 첫 번째로 나온다. - 원인: SecurityConfig클래스에서 메서드 이름을 잘못..

Chapter 07. 스프링 부트 프로젝트 - 로그인/로그아웃

Ex) SecurityConfiguration - demo4 프로젝트 만든다. 종속성 Spring security 선택, pom 파일에서 복사해서 - fastlms에 붙여넣기 -애플리케이션 실행하면 시큐리티 패스워드가 뜬다. - 로컬 접속 - 위의 패스워드 입력해야 로그인이 가능하다. - 시큐리티 Config 클래스 추가, 주소에 대한 권한 설정 -> antMachers: '/' => 루트 페이지, '/**' => 루트 및 모든 페이지 -> 로그인 없이 접속 가능해진다. package com.zerobase.fastlms; import org.springframework.context.annotation.Configuration; import org.springframework.security.confi..

Chapter 05. 스프링부트 기반 웹 프로젝트 구성

5.1 인텔리제이 스프링 프로젝트 설치하기 - new Project => war 파일을 선택한다. - 아래와 같이 dependency를 추가한다. - IndexController라는 클래스를 추가한다. -> @GetMapping: 주소를 매핑한다. -> @RestController: 컨트롤러가 있기 때문에 GetMapping이라는 주소를 받는다. -> 메서드만 추가하고 웹에 매핑(@GetMapping)하지 않으면 의미가 없다. package com.example.demo2; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestCon..

Chapter 04. MariaDB 설치 및 환경설정

4.1 MariaDB 설치 및 환경설정(Windows) 1) 아래와 같이 설정하고 다운로드 2) C: 드라이브에 dev라는 폴더를 만들고 압축 파일을 가져온다. - 압축 풀어준다. Note) cmd 명령어 cd(change directory): 폴더 경로를 이동한다. ".": 현재 경로 "..": 상위 경로 '\': 경로를 구분 짓는다. dir: 현재 경로의 폴더와 파일 목록을 보여준다. Tab: 경로를 입력할 때, 입력한 문자에 대한 유사한 폴더를 입력해준다. cls: 지금까지 실행한 명령어를 안 보이도록 지운다. dir /w: 기다란 목록을 세 줄로 보여준다. sc start MariaDB: 서비스명이 MariaDB인 서비스를 시작한다. sc stop MariaDB: 서비스명이 MariaDB인 서비스..

Chapter 03. 데이터 구조 설계

3.1 eXERD 설치 & 이클립스 연동하기 Note) eXERD 설치 방법 - 이클립스 플러그인으로 설치한다. - 사이트에 접속해서 3.x 버튼을 누른다. https://ko.exerd.com/down.do#a3 - 다음에 뜨는 창의 주소를 복사한다. http://exerd.com/update/exerd/3.x/ - 이클립스의 우측 탭 중에서 help => install new software => add를 누르고 다음과 같이 붙여넣는다. - 체크하고 next 눌러서 설치한다. - 다음과 같이 설치한다. - 아래 창에서 select All -> trust selected를 차례대로 누른다. - restart now를 누르면 설치 끝 Ex) 이클립스 eXERD 실습하기 - 이클립스에서 새로운 프로젝트를 ..

Chapter 02. 학습 관리 시스템 사이트 분석

2.1 학습 관리 시스템 학습 관리 시스템이란? 학습관리 시스템(LMS, Learning Management System):사이버 공간에서 학습자가 원하는 학습 진행을 위해 교육과정을 개설하고 수강신청, 교사화 학생이 학습에 참여하기 위한 준비 과정이 필요하다. Ex) fast campus 홈페이지를 참고해서 바꾸기 배너 => 이미지 / 클릭했을 때 이동할 경로 / 타겟(현재 브라우저, 신규 브라우저) / 게시 기간(시작일) / 게시 기간(종료일) / 게시 여부/ 등록자/ 등록 일자/ 수정자/ 수정 일자 강좌: 강좌 이미지/ 강좌 키워드 / 강좌 제목 / 강좌 요약 문구/ 상세 경로 링크 / 강좌 상세 내용/ 정가/ 현재 판매가 / 강좌 할일 종료일 회원가입 => 회원 테이블: 이름/ 이메일(primar..

Chapter 01. Git

1.1 Git 기능 및 GitHub 계정 생성 등 프로젝트 생성 버전관리 버전 관리시스템을 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템을 말한다. VCS(Version Control System) SCM(Source Code Management) (깃 설치) - 인텔리제이나 이클립스에서도 Git 관리가 가능하다. 1.2 소스 커밋 - 소스트리를 가장 추천! - 소스트리 & GitHub 사용법 => https://oranthy.tistory.com/249

Chapter 09. Account(계좌) 시스템 업그레이드

9.1 일관성 있는 예외 처리 에러 응답을 어떻게 줘야 Client(서버, FE, 앱 등)에서 처리하기 편리할까? HTTP status code를 활용한다 별도의 status code를 사용하는 방법 ex) 0000, -1001, -2001, -3001 errorCode(문자 코드)와 errorMessage를 사용하는 방법 - 직관적이고 편리하다. Ex) - create userId (id = 111) -> 500번 서버 오류가 난다. -> 구체적인 이유를 알 수 없음 - > AccountController에서 post mapping에서 create에 관한 예외를 던지지(try구문) 않으니까 컨트롤러 밖으로 예외를 던진다. - ErrorResponse 클래스를 만든다. package com.example..

Chapter 08. Account(계좌) 시스템 개발

8.1 프로젝트 생성 및 요구사항 분석 8.1-1 계좌 - 계좌 시스템은 사용자와 계좌 정보를 저장하며 외부 시스템에서 거래를 요청할 경우, 결제 , 결제 취소 , 거래 관리 기능을 제공하는 시스템이다. - 사용자는 신규 등로그 해지, 중지, 사용자 정보 조회 등 기능을 제공 - 계좌는 신규, 해지, 확인 기능을 제공하낟. 인당 최대 10개 계좌를 만들 수 있다. 계좌 번호는 10자리 정수로 이뤄진다. 계좌 생성 API POST/ account 파라미터: 사용자 ID, 초기 잔액 정책: 사용자가 없는 경우, 계좌가 이미 10개인 경우 실패 응답 성공 응답: 사용자 ID, 계좌 번호, 등록 일시 계좌 해지 API DELETER/ account 파라미터: 사용자 ID, 비밀번호 정책: 사용자 계좌가 없는 경..

Chapter 07. 사전 준비

7.1 전체 예제 소개 - 계좌 시스템의 전반적인 구조와 기능 - 스트링 부트 기반으로 진행. - 활용 기술: Spring Boot 2.6.xx, JDK 11, Gradle, Junit5, H2 Database(자바 기반의 오픈 소스 관계형 데이터베이스 관리시스템), JPA, Redis, Mockito, lombok 제공하는 기능 (API) 계좌(account) 관련기능 (생성, 해지, 확인) 거래(Transaction) 관련 기능(잔액 사용, 잔액 사용 취소- 거래 취소, 거래 확인) 7.2 프로젝트 생성 및 의존성(dependency) 추가 추가된 의존성 종류 spring boot starter data jpa: JPA(Java Persistence API)를 지원하기 위한 의존성 spring boo..