Server/Spring Boot

1️⃣ 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트 스프링 시큐리티(Spring Security)는 막강한 인증(Authentication)과 인가(Authorization) 기능을 가진 프레임워크이다 구글이나 네이버등 소셜 로그인을 지원하는 어플리케이션을 쉽게 찾아볼 수 있다. 로그인도 간편하며, 연동되는 외부 웹 어플리케이션에서 제공하는 기능들을 간편하게 사용할 수 있다. 이 때 사용되는 프로토콜이 바로 OAuth다. 프로토콜(Protocol)이란? 통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다. OAuth의 정의? OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들..
1️⃣ 서버 템플릿 엔진과 머스테치 소개 템플릿 엔진: 지정된 템플릿 양식과 데이터가 합쳐져서 HTML 문서를 출력하는 소프트웨어 서버 템플릿 엔진 : JSP, Freemarker 서버에서 Java 코드로 문자열을 만든 뒤 이 문자열을 HTML로 변환하여 브라우저로 전달 클라이언트 템플릿 엔진 : 리액트, 뷰의 View 파일 브라우저 위에서 작동. 브라우저에서 작동될 때는 서버 템플릿 엔진의 손을 벗어나기 때문에 제어가 불가능 💚 머스테치 자바에서 사용할 때는 서버 템플릿 엔진으로, 자바 스크립트에서 사용할 때는 클라이언트 템플릿 엔진으로 사용 가능 💚 머스테치 플러그인 설치 mustache를 검색해서 해당 플러그인 설치하기 2️⃣ 기본 페이지 만들기 build.gradle (의존성 추가) compile..
1️⃣ ERD (Entity Relationship Diagram) 란? 'Entity 개체'와 'Relationship 관계'를 중점적으로 표시하는 데이터베이스 구조를 한 눈에 알아보기 위해 그려놓는 다이어그램 ERD는 실체(Entity), 속성(Attribute), 관계(Relationship)로 구성 💚 Entity Entity는 관리하고자 하는 정보의 실체이며, 사람, 객체 혹은 개념 ERD에서는 개체를 "사각형"으로 표기한다 데이터베이스의 테이블이 엔티티로 표현됨 💚 Attribute 개체가 가지고 있는 속성 Entity를 구성하고 있는 구성 요소 ERD에서는 속성을 "원"으로 표기한다. 데이터베이스의 테이블의 각 필드(컬럼)들이 엔티티 속성임 💚 Relationship Entity와 Entit..
1️⃣ JWT 정의 JWT(Json Web Token)은 쿠키와 세션의 사용중 나타난 하나의 인터넷 표준 인증 방식 인증에 필요한 정보들을 Token에 담아 암호화시켜 사용하는 토큰 토큰에 대한 정보, 전달한 정보, 토큰이 검증되었음을 증명하는 서명된 토큰임 공개/개인 키를 쌍으로 사용함 -> 토큰에 서명할 경우, 서명된 토큰은 개인 키를 보유한 서버가 이 서명된 토큰이 정상적인 토큰인지 인증할 수 있음 토큰이란? 토큰(Token)은 말 그대로 동전이라는 뜻 이지만, 웹 상에서는 특정한 목적으로만 사용 가능한 동전에 일종의 권한를 주는 것을 말한다. 서버에서는 사용자가 결제한 돈도 오고가므로 권한이라는것이 중요하다. 인터넷에 사이트를 올리면 전 세계의 사용자들이나 해커들이 접근 가능한데, 이때 사용자들의..
1️⃣ DAO (Data Access Object) 실제 DB에 접근하는 객체 DB에서 데이터를 꺼내오거나 넣는 역할 DB에 접속하여 데이터의 CRUD작업을 하는 클래스 Service와 실제 데이터베이스를 연결하는 역할을 하게 됨 데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용함 (원래 DB의 데이터와 프로그래밍 언어는 패러다임의 불일치로 인해 사용할 수 없음) Spring Data JPA에서는 JpaRepository를 상속받는 인터페이스가 DAO의 역할을 하게된다. 2️⃣ Entity 이때, Entity Class를 통해 클래스를 DB테이블과 1:1 매칭할 수 있음 Entity는 실제 DB테이블에 존재하는 Column들과 매핑되는 핵심 클래스 Entity는 DB의 테이블과 1대..
1️⃣ 빌더 패턴 💚 빌더 패턴 복잡한 객체 생성 과정 및 표현 방법을 분리해, 동일한 생성 절차에서 서도 다른 표현 결과를 만들 수 있게 하는 패턴 💚 빌더 패턴 장점 어떤 필드에 어떤 값을 채워야 할지 명확히 지정할 수 있음 필수 및 선택인자가 많아질수록 생성자 방식보다 가독성이 좋다 자바빈 패턴(setter를 이용하는 방식)보다 안전함. setter 생성을 방지하기 때문에 객체를 변경할 수 없음 (불변성 보장) 2️⃣ 생성자 패턴 vs 빌더 패턴 💚 생성자 패턴 예시 지금 채워야 할 필드가 무엇인지 명확히 지정할 수 없음 변수의 위치가 뒤바뀐 채로 생성되어도 문제점을 찾지 못하고 넘어갈 수 있음 public class Person { private String name; private int age..
Nellie29
'Server/Spring Boot' 카테고리의 글 목록 (2 Page)