Spring, Spring boot

보호되어 있는 글입니다.
OAuth란? 제 3의 서비스에 계정 관리를 맡기는 방식. 흔히 볼 수 있는 네이버로 로그인하기, 구글로 로그인하기 같은 방법임 관련 용어 정리 리소스 오너 자신의 정보를 사용하도록 인증 서버에 허가하는 주체. 서비스를 이용하는 사용자가 리소스 오너에 해당됨 리소스 서버 리소스 오너의 정보를 가지며, 리소스 오너의 정보를 보호하는 주체를 의미함. 네이버, 구글, 페이스북이 리소스 서버에 해당됨 인증서버 클라이언트에게 리소스 오너의 정보에 접근할 수 있는 토큰을 발급하는 역할을 하는 애플리케이션 클라이언트 애플리케이션 인증 서버에게 인증을 받고 리소스 오너의 리소스를 사용하는 주체. 블로그를 만든다고 하면 블로그가 해당된다. 클라이언트가 리소스 오너의 정보를 취득하는 방법 권한 부여 코드 승인 타입 OAu..
토큰 기반 인증 사용자 인증 방법의 종류 서버 기반 인증 토큰 기반 인증 세션 기반 인증 세션 기반 인증 스프링 시큐리티에서 기본적으로 제공해주는 인증 방식. 사용자마다 사용자의 정보를 담은 세션을 생성하고 저장 토큰 기반 인증 토큰을 사용하는 방법. 토큰은 서버에서 클라이언트를 구분하기 위한 유일한 값인데 서버가 토큰을 생성해서 클라이언트에게 제공하면 클라이언트는 이 토큰을 가지고 있다가 여러 요청을 이 토큰과 함께 신청함 토큰을 전달하고 인증받는 과정 클라이언트가 아이디와 비밀번호를 서버에게 전달하면서 인증 요청 서버는 아이디와 비밀번호를 확인해서 유효한 사용자인지 검증. 유효한 사용자라면 토큰을 생성해서 응답 클라이언트는 서버에서 준 토큰을 저장 이후 인증이 필요한 api를 사용할 때 토큰을 함께 ..
코드 package com.rowoon.myblog.config; import com.rowoon.myblog.service.UserDetailService; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.authentication.builders.Authe..
난 리액트 같은 프론트쪽 언어를 사용해서 클라를 꾸미기 때문에 그냥 대충만 적어놓는다 타임리프란? 타임리프는 템플릿 엔진이다. 템플릿 엔진 템플릿 엔진이란 스프링 서버에서 데이터를 받아 우리가 보는 웹 페이지에 데이터를 넣어서 보여주는 도구이다 템플릿 엔진 개념잡기 간단예제 h1 태그에는 이름이 text 어트리뷰트로 할당되어있다. p태그도 마찬가지, 즉 이름과 나이라는 키로 데이터를 템플릿 엔진에 넣어서 html에 적용한다 대표적인 템플릿 엔진 JSP 타임리프 프리마커 스프링 부트에서 권장하는 템플릿 엔진은 타임리프이다!! 타임리프 표현식과 문법 타임리프 표현식 표현식 설명 ${…} 변수의 값 표현식 #{…} 속성 파일 값 표현식 @{…} URL 표현식 *{…} 선택한 변수의 표현식. th:object에..
Service 예외 처리법 public Article findById(Long id) { return blogRepository.findById(id) // 해당 글이 없을 때 예외 발생 .orElseThrow(() -> new IllegalArgumentException("not found: " + id)); } 조회했는데 없을 때 예외처리법 업데이트 // 글 수정] @Transactional public Article update(long id, UpdateArticleRequest request) { Article article = blogRepository.findById(id) .orElseThrow(() -> new IllegalArgumentException("not found: " + id..
데이터베이스? 데이터베이스는 데이터를 매우 효율적으로 보관하고 꺼내볼 수 있는 곳. 데이터베이스를 사용하면 얻을 수 있는 가장 큰 이점은 많은 사람이 안전하게 데이터를 사용하고 관리할 수 있다는 것 데이터베이스 관리자 DBMS database management system 데이터베이스는 많은 사람이 공유 할 수 있어야 하므로 동시 접근을 할 수 있어야 한다. 이 외에도 많은 요구 사항이 있는데 DBMS는 이런 요구사항을 만족하면서도 효율적으로 데이터베이스를 관리한다. DBMS 종류 MySQL 오라클 MariaDB등등..분류 관계형 관계 - 객체형 도큐먼트형 비관계형등등..가장 많이 사용하는 것은 관계형관계형 DBMS relational DBMS, RDBMS 왜 관계형? 관계형이라는 말을 쓰는 이유는 D..
테스트 코드? 테스트 코드란 작성한 코드가 의도대로 잘 동작하고 예상치 못한 문제가 없는지 확인할 목적으로 작성하는 코드 테스트 코드의 패턴 given-when-then 패턴을 사용한다. 이 패턴은 테스트 코드를 세 단계로 구분해 작성하는 방식이다 given : 테스트 실행을 준비하는 단계 when : 테스트를 진행하는 단계 then : 테스트 결과를 검증하는 단계 JUnit을 사용한 테스트 JUnit이란? 자바 언어를 위한 단위 테스트 프레임워크 단위 테스트? 작성한 코드가 의도대로 작동하는지 작은 단위로 검증하는 것. 이때 단위는 보통 메서드가 된다. JUnit특징 테스트 방식을 구분할 수 있는 애너테이션 제공 @Test 애너테이션으로 메서드를 호출할 때 마다 새 인스턴스를 생성, 독립 테스트 가능 ..
ron_nie
'Spring, Spring boot' 카테고리의 글 목록