코드스테이츠_국비교육 158

72.01_[Cloud] 운영 환경 구성_개요_22.12.02

>온프레미스 : 기존 서버 방식 : 물리적으로 서버를 구축 : 주기적인 관리의 어려움과 물리적인 공간의 필요가 단점 >클라우드 -장점 : 필요에 맞추어 유연하게 컴퓨팅 능력을 조절할 수 있음. : 사용한만큼만 비용이 소모됨 : 스냅샷을 이용해 다른 컴퓨터로 migration(이주) 가능 -단점 : 해당 클라우드 서비스를 제공하는 벤더에 종속됨. >클라우드 서비스 형태 //추가 검색 -SaaS(Software as a Service) : 당장 사용 가능한 소프트웨어 제공 -PaaS(Platform as a Service) : 데이터베이스, 개발 플랫폼 제공 -IaaS(Infrastructure as a Service) : 가상 컴퓨터까지 제공 >배포(4단계) -1단계; Development : Local ..

71.01_[Spring WebFlux] Spring Web Flux_22.12.01

>Spring WebFlux : Spring MVC 방식과 같은 애플리케이션의 방식 중 하나이며, Spring MVC 기반의 애플리케이션보다 대량의 클라이언트 요청을 효율적으로 처리할 수 있는 구현 방식(기술)이다. : 리액티브 시스템, 리액티브 프로그래밍, 리액티브 스트림즈, 프로젝트 리액터를 사용하는 기술이다. : Spring 5.0부터 지원하는 리액티브 웹 애플리케이션을 위한 웹 프레임워크이다. >WebFlux 단어의 이해 : Reactor의 타입은 0개 혹은 1개의 데이터만 emit하는 Mono 타입과 N개의 데이터를 emit하는 Flux 타입이 있다. : WebFlux는 말 그대로 Flux 타입을 Web 적용한 것을 의미한다. >Spring MVC와 Spring WebFlux 비교 >참고 링크 ..

70.01_[Spring WebFlux] Project Reactor_22.11.30

>Project Reactor (Reactor) : 리액티브 스트림즈 표준 사양 구현체 중 하나(대표) : Spring Reacive Web Application을 만드는데 핵심적인 역할을 함. : Reactor 뿐 만 아니라 Spring WebFlux 를 사용. : 즉, Spring Reacive Web Application은 Reactor를 이용한 Spring WebFlux 기반의 Application이다. >Reactor 공식 홈 https://projectreactor.io/ >Reactor 특징 1. Reactive Streams를 구현한 리액티브 라이브러리 2. Non-Blocking 통신 지원 3. Mono[0|1] 과 Flux[N]이라는 두 가지 타입의 Publisher 지원 //Mono[..

69.01_[Spring WebFlux] 리액티브 프로그래밍_22.11.29

>명령형 프로그래밍, 선언형 프로그래밍 전통적인 개발 방식(기존) : 명령형 프로그래밍 리액티브 프로그래밍 : 선언형 프로그래밍 >리액티브 시스템이란? : 클라이언트의 요청에 반응을 잘하는 시스템(요청에 대해 즉각적으로 반응하는 시스템) >리액티브 시스템 관점에서의 반응이란? : Thread의 Non-Blocking과 관련있음. : 리액티브 시스템이 클라이언트의 요청 쓰레드를 차단하지 않음(Non-Blocking)으로써 응답 대기 시간을 최소화한다. >리액티브 시스템 용어 -MEANS : 리액티브 시스템에서 사용하는 커뮤니케이션 수단 -FORM : 메세지 기반 통신을 통해 리액티브 시스템이 어떤 특성을 가지는 구조로 형성되는지를 의미 -VALUE : 리액티브 시스템의 핵심 가치가 무엇인지를 표현하는 영역..

68.01_[Spring Security] OAuth2 인증_적용(SSR)_22.11.28

========================================= OAuth 2 을 사용한 애플리케이션 구현_기본편(SSR) ========================================= 1. 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' //타임리프 : HTML 화면 구성을 위한 템플릿 implementation 'org.springframework.boot:spring-boot-starter-security' //현재 만드는 OAuth 2 애플리케이션은 Spring Security 기반 애플리케이션 implementation 'org.springframework.boot:spring-b..

67.01_[Spring Security] OAuth2 인증_개요 및 동작 방식_22.11.25

>OAuth2란? : 신뢰할 만한 벤더(네이버, 카카오, 구글 등)에 사용자 인증 처리를 위임하는 인증 방식 >OAuth2를 사용하는 이유 : 다른 써드 파티 애플리케이션을 사용함에 있어서, 이중 로그인 혹은 이중 크리덴셜 관리를 피하기 위해 : 편의를 위해서 >OAuth2를 사용하는 애플리케이션 유형 1. 써드 파티 애플리케이션에서 제공하는 API 를 직접적으로 사용하는 애플리케이션 : 여기서 써드 파티 애플리케이션은 google, github, naver, kakao 등의 신뢰할 만한 벤더의 애플리케이션을 의미함. 2. 추가적인 인증 서비스 제공 용도 : 기존 인증 외의 신뢰할 만한 벤더의 써드 파티 애플리케이션이 제공하는 인증 서비스를 이용하는 용도로 사용. : 혹은 아예 인증 처리를 위임하기 위해..

66.02_[Spring Security]JWT_검증 기능 구현_22.11.24

JWT 검증 기능 구현 : HTTP Request header에 포함되어 전송되는 JWT를 request가 전송될 때마다 검증하는 기능을 구현하면 JWT 검증 기능을 구현할 수 있다. : 현재 로그인 인증을 성공적으로 수행하면 response header의 Authorization, Refresh로 JWT를 전달 받을 수 있음. ========================================== JWT 검증 기능 구현 ========================================== 1. 검증용 Filter 구현(JwtVerificationFilter) -OncePerRequestFilter 상속 : request 한 번당 OncePerRequestFilter를 한 번 거치기 때문에 ..

66.01_[Spring Security]JWT_인증 기능 구현_22.11.24

=============================== JWT 자격 증명을 위한 로그인 인증 구현 =============================== 1. SecurtyConfiguration 추가 : Spring Security 인증/보안 기능 추가 1.1. SecurityFilterChain 메서드 >HttpSecurity -headers -csrf -cors -formLogin -httpBasic -authorizeHttpRequests -and -build 1.2. PasswordEncoder 1.3. CorsConfigurationSource =============================== 2. 회원 가입 로직 수정 : Spring Security 적용 2.1. MemberDto..