(스프링고급 + UI고급)
스프링부트,Spring Data JPA, Security & 앵귤러, 뷰(Angular, Vue.js) UI 프로젝트과정
★ 교육개요 ★
풀스택 개발자를 위한 최고의 과정 소개 합니다.
소수 정예 스파르타식 교육!
국비지원교육과 비교하지 마세요!
본 과정은 스프링프레임워크에 대해 어느정도 기반 지식이 있는 분을 대상으로 최근 많은 관심을 받고 있는 자바기반 서버측 기술인 스프링부트, Spring Data JPA를 학습하고 최근 Hot한 Angular, Vue.js의 이론 및 실습을 TypeScript, ECMAScript등을 통해 체계적으로 배우신 후 실제 미니프로젝트를 진행해 보는 과정 입니다.
프로젝트 전단계인 단계별 교육시에도 실습을 통해 따라할 수 있도록 구성하여 어렵지 않도록 진행하는 것이 본 과정의 특징 입니다.
자바, 스프링 기반의 교육을 받은 신입사원, 현장개발자 이지만 Angular, Vue.js를 통해 UI를 구현해 보지 않은 개발자, Spring Data JPA 및 Querydsl을 통한 타입세이프한 쿼리를 경험해 보고 싶은 분들에게 추천 합니다.
소수 정예 스파르타식 교육!
국비지원교육과 비교하지 마세요!
본 과정은 스프링프레임워크에 대해 어느정도 기반 지식이 있는 분을 대상으로 최근 많은 관심을 받고 있는 자바기반 서버측 기술인 스프링부트, Spring Data JPA를 학습하고 최근 Hot한 Angular, Vue.js의 이론 및 실습을 TypeScript, ECMAScript등을 통해 체계적으로 배우신 후 실제 미니프로젝트를 진행해 보는 과정 입니다.
프로젝트 전단계인 단계별 교육시에도 실습을 통해 따라할 수 있도록 구성하여 어렵지 않도록 진행하는 것이 본 과정의 특징 입니다.
자바, 스프링 기반의 교육을 받은 신입사원, 현장개발자 이지만 Angular, Vue.js를 통해 UI를 구현해 보지 않은 개발자, Spring Data JPA 및 Querydsl을 통한 타입세이프한 쿼리를 경험해 보고 싶은 분들에게 추천 합니다.
★ 수료조건 ★
출석률 80%이상
★ 교육목표 ★
자바기반 서버측 기술 + UI 개발력을 자진 FullStack 개발자
★ 교육대상 ★
풀스택 개발자로써 취업을 앞둔 미취업자.
신입사원.
자바기반 서버 개발자.
자바기반 UI 개발자.
자바기반 개발자 이지만 Spring Data JPA, Vue, Angular등으로 실제 개발을 해보지 않은 개발자.
신입사원.
자바기반 서버 개발자.
자바기반 UI 개발자.
자바기반 개발자 이지만 Spring Data JPA, Vue, Angular등으로 실제 개발을 해보지 않은 개발자.
★ 커리큘럼 ★
스프링부트 Spring Boot 소개
Spring Boot & Maven
Spring Boot & Gradle
Writing the code(Spring Boot main)
Writing the code(CommandLineRunner)
Spring Boot에서 property 파일 읽기JPA & Spring Data JPA, Qquerydsl 1장. 개발환경
1.1. 개발환경 구성
1.1.1. 개발도구 설치
1.1.2. 데이터베이스 설치
1.1.3. 개발도우미 플러그인 설치
1.2. 데이터베이스 처리기술의 발전
1.2.1. Spring Boot
1.2.2. Spring JDBC
1.2.3. MyBatis
1.2.4. Spring Data JPA
1.2.5. Logging
2장. JPA
2.1. EntityManager
2.2. JPA에서 사용 가능한 쿼리의 종류
2.2.1. JPQL
2.2.2. Criteria
2.2.3. Native SQL
2.2.4. Querydsl
2.2.5. 기타 데이터베이스 처리기술
2.3. Spring Data JPA 살펴보기
2.3.1. 새 프로젝트 생성
2.3.2. 프로젝트 환경 설정
2.3.3. 엔티티 클래스 생성
2.3.4. 테스트 용 더미 데이터 입력
2.3.5. 테스트
2.3.6. Persistence Layer
2.3.7. 테스트
2.3.8. Service Layer
2.3.9. Presentation Layer
2.3.10. Paging
2.3.11. 테스트
2.3.12. @Query, @NamedQuery
2.3.13. 정리
3장. Querydsl 입문
3.1. 장점
3.2. Querydsl의 종류
3.2.1. Querydsl 구분
3.2.2. 엔티티 클래스를 만들어서 사용
3.2.3. 엔티티 클래스를 만들지 않고 사용
3.3. JPAQuery, JPAQueryFactory
3.3.1. 프로젝트 생성
3.3.2. 프로젝트 환경설정
3.3.3. Q 타입클래스 생성
3.3.4. Persistence Layer
3.3.5. JUnit 테스트 클래스 작성
3.3.6. 테스트
3.3.7. EntityGraph
3.4. JPASQLQuery, SQLQueryFactory
3.4.1. 프로젝트 생성
3.4.2. 데이터베이스 및 테이블 생성
3.4.3. 프로젝트 환경설정
3.4.4. Q 타입클래스 생성
3.4.5. Persistence Layer
3.4.6. JUnit 테스트 클래스 작성
3.4.7. 테스트
4장. Querydsl을 이용한 JPQL 쿼리
4.1. 테스트 프로젝트 만들기
4.2. JPA Query 학습
4.2.1. Select
4.2.2. Insert, Update, Delete
4.2.3. Grouping, Having
4.2.4. Join
4.2.5. Subquery
4.2.6. Projection
4.2.7. JPA Query 실습
5장. Querydsl을 이용한 SQL 쿼리
5.1. 테스트 프로젝트 만들기
5.2. SQL Query 학습
5.2.1. Select
5.2.2. Insert, Update, Delete
5.2.3. Grouping, Having
5.2.4. Join
5.2.5. Subquery
5.2.6. Projection
6장. Querydsl SQL 쿼리 with Oracle
6.1. 테스트 프로젝트 만들기
6.1.1. 프로젝트 생성
6.1.2. 데이터베이스 및 테이블 생성
6.1.3. 프로젝트 환경설정
6.1.4. Q 타입 클래스 생성
6.1.5. SQLQueryFactory 빈 등록
6.2. Rownum
6.2.1. 상위 로우 구하기
6.2.2. 범위 로우 구하기
6.3. With
6.4. Sequence
6.5. Union
6.6. Nvl
6.6.1. Nvl
6.6.2. Nvl2
6.7. Decode
6.8. Rank
6.9. Hierarchical Queries, Hint
6.9.1. 프로젝트 생성
6.9.2. 계층형 쿼리
6.9.3. 힌트
6.10. Procedure
6.10.1. 프로젝트 생성
6.10.2. 오라클 프로시져
6.10.3. @NamedStoredProcedureQuery, @ProcedureECMAScript & TypeScript 1. ECMAScript
2. 개발환경 설정
- Node
- Atom
3. var
4. let
5. const
6. parameter
7. spread operator
8. Destructuring Assignment
9. Module System
- CommonJS 방식
- ES6(ECMA2015) 방식
10. 함수 축약식
11. Arrow function
12. $ e-pression
13. class
- 함수의 역할
- 함수로부터 클래스까지
- this
- extends
- super
- getter/setter
- 표현식 vs 선언식
14. 비동기 처리
- Call-back Function
- Event Emitter
- Promise
15. TypeScript
- Type
- Interface
- ClassAngular Basic Step 1 – 앵귤러 소개
- Angular Architecture
Step 2 – Demo Project
Step 3 – Project Structure
- 처리흐름 파악하기
Step 4 - CLI
- 빌드하기
- npm http-server
Step 5 – Component
- 단방향 바인딩
- 양방향 바인딩
Step 6 – Service
- 커스텀 서비스
Step 7 – Pipe
- 빌트인 파이프
- 커스텀 파이프
Step 8 - Directive
- 커스텀 디렉티브
Step 9 – Module
- 루트모듈, 전역모듈, 공유모듈, 기능모듈Angular Core Step 1 – Life Cycle
Step 2 – Component Communication
@Input, @Output
@ViewChild
@ContentChild
@ViewChildren
@ContentChildren
Step 3 – HTTP Communication
- npm json-server
- Promise
- Observable & Subject
Step 4 – Router
Step 5 - Guard
Step 6 – FormVue.js [1부] Vue.js 기초
1장: Vue.js 설치
1.1 독립 실행 버전
1.2 NPM 사용
1.3 Bower 사용
2장: 시작하기
2.1 안녕하시나이까 전하!
2.2 양방향 바인딩
2.3 jQuery와의 비교
2.4 연습 문제
3장: 디렉티브
3.1 v-show
3.2 v-if
3.3 v-else
3.4 v-if vs. v-show
3.5 연습 문제
4장: 리스트 렌더링
4.1 부트스트랩 설치와 사용
4.2 v-for
4.3 배열 렌더링
4.4 v-for를 이용한 객체 프로퍼티 순회
4.5 연습 문제
5장: 상호작용
5.1 이벤트 처리
5.2 이벤트 한정자
5.3 키 한정자
5.4 계산된 프로퍼티
5.5 연습 문제
6장: 필터
6.1 필터링된 결과
6.2 결과 정렬
6.3 사용자 정의 필터
6.4 유틸리티 라이브러리
6.5 연습 문제
7장: 컴포넌트
7.1 컴포넌트란?
7.2 컴포넌트 사용하기
7.3 템플릿
7.4 프로퍼티
7.5 재사용성
7.6 종합 예제
7.7 연습 문제
8장: 사용자 정의 이벤트
8.1 발생과 청취
8.2 부모-자식 간 통신
8.3 인자 전달
8.4 비부모 자식 간 통신
8.5 이벤트 리스너 제거
8.6 이야기로 돌아가서
8.7 연습 문제
9장: 클래스와 스타일 바인딩
9.1 클래스 바인딩
9.2 스타일 바인딩
9.3 바인딩 예제
9.4 연습 문제
[2부] API 사용하기
10장: API 사용하기
10.1 CRUD
10.2 API
11장: 실제 데이터 활용하기
11.1 비동기로 데이터 가져오기
11.2 리팩터링
11.3 데이터 갱신
11.4 데이터 제거
12장: HTTP 클라이언트 활용
12.1 개요
12.2 vue-resource
12.3 axios
12.4 axios 사용하기
12.5 기능 개선
12.6 자바스크립트 파일
12.7 소스코드
12.8 연습 문제
13장: 페이지 처리
13.1 구현
13.2 페이지 처리 링크
13.3 연습 문제
[3부] 대규모 애플리케이션 구축
14장: ECMAScript
14.1 소개
14.2 변수 선언
14.3 화살표 함수
14.4 모듈
14.5 클래스
14.6 기본 매개변수 값
14.7 템플릿 리터럴
15장: 고급 워크플로우
15.1 Babel을 이용한 ES6 컴파일
15.2 Gulp를 이용한 워크플로우 자동화
15.3 Webpack을 이용한 모듈 번들링
15.4 정리
16장: 단일 파일 컴포넌트
16.1 vue-cli
16.2 Webpack 템플릿
16.3. vue 파일 만들기
17장: 중복 상태 제거
17.1 프로퍼티를 이용한 공유
17.2 전역 저장소
18장: 컴포넌트 교체
18.1 동적 컴포넌트
19장: Vue 라우터
19.1 설치
19.2 사용법
19.3 이름을 가지는 라우트
19.4 히스토리 모드
19.5 중첩 라우트
19.6 자동 active 클래스 설정
19.7 라우트 객체
19.8 동적 세그먼트
19.9 라우트 별칭
19.10 라우트 푸시
19.11 트랜지션
19.12 내비게이션 가드
19.13 연습 문제
20장: 마무리하며
21장: 참고 자료
21.1 튜토리얼
21.2 동영상
21.3 책
21.4 오픈소스 프로젝트
21.5 Awesome VueSpring Security 1장. Application Security
스프링 시큐리티의 기반기술
1. Acegi Security
선언적인 시큐리티 설정 지원
2. Spring Security
스프링 시큐리티 작동방식
스프링 시큐리티의 장점
3. Spring Security Filter Chain
Integration Filter
Authentication Processing Filter
Exception Translation Filter
Filter Security Interceptor
4. Authentication Manager
Supported Authentication Types
Access Decision Manager
Authentication vs Authorization
5. 핵심 클래스
6. 커스텀 DAO로직과 시큐리티의 연동
7. Spring Security Modules
8. Dependencies with Maven
Optional dependencies
2장. Spring Security XML-config
1. 새 프로젝트 생성
2. Dependencies
pom.xml
3. Presentation Layer
ExampleController.java
basics.jsp
4. Security Configuration
src/main/webapp/WEB-INF/spring/spring-security.xml
필터들의 연결 순서와 역할
5. Spring Security and Spring MVC Integration
web.xml
6. Test
7. Custom Login Page
spring-security.xml
Cross Site Request Forgery (CSRF) Protection
basics.jsp
login.jsp
LoginController
8. Test
9. 인증정보를 다른 파일로 분리
spring-security.xml
src/main/resources/conf/users-config.xml
Test
10. Customize 403 Access Denied Page
RoleVoter
AuthenticatedVoter
스프링 시큐리티에 포함된 SpEL 메소드와 가상프로퍼티
Test : 에러 메시지가 그대로 노출
3장. Spring Security Java-config
Technologies used
Few Notes
1. 새 프로젝트 생성
2. Spring Security Dependencies
시큐리티 환결설정 기본 값
3. Spring MVC Web Application
HelloController.java
hello.jsp
admin.jsp
403.jsp
4. Spring Security Configuration
SecurityConfig.java
AuthenticationManagerBuilder 인메모리 저장소 설정 메소드
URL에 시큐리티를 적용하기 위한 HttpSecurity 설정 메소드
access() 메소드에서 사용 가능한 SpEL 표현식
SpringSecurityInitializer.java
5. Spring MVC Configuration
AppConfig.java
SpringMvcInitializer.java
6. XML 설정 지우기
web.xml
7. Test
4장. Access Handler
XML 설정
새 프로젝트
pom.xml
application.properties
DataController.java
home.jsp
LoginController.java
login.jsp
403.jsp
SpringSecurity6AccessHandlerApplication.java
conf/security-config.xml
MyAuthenticationSuccessHandler.java
MyAccessDeniedHandler.java
MyLogoutSuccessHandler.java
Test
자바 설정
SpringSecurity6AccessHandlerApplication.java
Test
5장. Security Authentication Using Database
1. Technologies used :
2. 새 프로젝트 생성
3. Project Dependencies
pom.xml
4. Database
Insatall MariaDB
데이터베이스 생성 및 테이블 만들기
5. Spring Security Configuration
root-context.xml
spring-security.xml
web.xml
6. JSP Pages
hello.jsp
admin.jsp
login.jsp
403.jsp
7. Spring MVC Controller
MainController.java
8. Test
6장. Spring Security Remember-me
Technologies and tools used :
Some quick notes :
Project workflows :
1. 새 프로젝트 생성
2. pom.xml
3. SQL
4. spring-security.xml
web.xml
5. root-context.xml
6. admin.jsp
7. login.jsp
8. update.jsp
9. MainController.java
10. Test
오토 로그인 확인 테스트
7장. Spring Security Tag Library
1. 새 프로젝트 생성
2. pom.xml
3. spring-security.xml
web.xml
4. users-config.xml
5. basics.jsp
6. BasicController.java
7. Test
8. 조금더 살펴보기
SecretController.java
spring-security.xml
basic.jsp
Test
9. @Secured
pom.xml
servlet-context.xml
설정 시 주의사항
basic.jsp
User.java
UserService.java
UserServiceImpl.java
UserController.java
Test
8장. Spring Security + Boot + JPA
1. 새 프로젝트 생성
2. pom.xml
3. application.properties
4. Spring Boot Java-config
5. SecurityTestController.java
6. View
7. Test Run
log 정보
첫 페이지 테스트
spring-boot-starter-security 디펜던시
favicon 적용
8. Spring Security Config
SecurityConfig.java
home.jsp
SecurityTestController.java
9. Test In Memory Authentication
10. Spring Data JPA
Test
11. Spring Security + My Custom DAO Service Logic
Test
9장. Session Management
session-fixation-protection="migrateSession" 작동확인GitHub 1. 깃 소개
- 작동방식
- 체크섬
- Working Directory
- Staging Area(Index)
- Git Repository
- 특수 목적 포인터
2. 설치 및 설정
- 깃 설치
- 도움말보기
- 사용환경 설정
3. 로컬 저장소
- 로컬 레포지터리 개요 및 생성
- $ git init, $ git clone [url], .gitignore
4. 원격 저장소(Github)
- Github URL 패턴
5. 명령어 학습
- 브랜치 변경 명령이 거부될 때
- 파일 관리
- 임시저장
- 상태관리
- 브랜치관리
- 히스토리(커밋의 기록) 리뷰
- reset
- checkout 파헤치기
- 변경사항 연동하기
- 커밋에 태그 붙이기
- cherry-pick
- Squash(대화방식 리베이스
6. 브랜칭 전략
- 깃플로우
7. 시나리오 학습
- 좋은 git 커밋 메시지를 작성하기 위한 7가지 약속
- 커밋을 골라서 적용하기
- 한참 전 커밋의 내용 바꾸기
- 이정표(태그) 확인
- origin/master가 원격 저장소보다 뒤처져 있을때에 push 작업
- 팀 프로젝트 수행 시나리오
8. 실습미니프로젝트 [Spring Boot, JPA, Spring Security, Querydsl, Angular, Vue를 이용한 개발]
- 프로젝트 개발을 위한 GitHub 소개
- 프로젝트 주제 설정
- 기본설계, 기능설계, 인터페이스 설계
- ERD 작성
- ERD를 기준으로 엔티티 설정 및 객체모델링
- 코딩
단계별 코딩 진행(Front/Admin 영역 구분)
엔티티 작성(모델) -> 테이블 Creation
Repository 작성
Service 기능 구현(인터페이스, 구현체)
Spring Security를 이용한 로그인
공통 인터페이스/클래스 작성
JSON 인퍼테이스 구현
컨트롤러 작성
화면 UI 작성(Angular, Vue.js 적용)
- 테스트 및 배포
댓글 없음:
댓글 쓰기