Study(16)
-
JWT
JSON WEB TOKEN - JSON 형태로 된 토큰 {header}.{payload}.{signature}로 구성 돼 있다. {"typ":"JWT","alg":"HS512"}. {"sub":"2154125125125151251","iss":"test app","iat":1251251."exp":2512512}. {nn1onio1236nnonkln16nlknl1i6nlinl126nkl12kn6linilnli12n6l12nli} Header - typ: 토큰의 타입을 의미 - alg: 토큰의 서명을 발행하는데 사용된 해시 알고리즘의 종류 Payload - sub:Subject로 토큰의 주인을 의미. ID처럼 유일한 식별자여야 한다 - iss:Issuer 토큰 발행의 주체. 여기서는 test app - i..
2023.01.12 -
CORS
Cross-Origin Resource Sharing 처음 리소스를 제공한 도메인이 현재 요청하려는 도메인과 다르더라도 요청을 허락해 주는 웹 보안 방침. 프론트 서버 localhost:3000, 백엔드 서버 localhost:8080 으로 쓰고 있을 때 프론트 서버에서 백엔드에 데이터를 요구하지만 백엔드 서버에서는 요청의 Origin이 localhost:8080이 아닌 localhost:3000이기에 거부하게 된다. 백엔드에서 CORS 방침을 설정할 수 있는데 package com.example.demo.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.conf..
2023.01.12 -
Node.js 와 NPM 설치
Node.js - 브라우저에서만 이용 할 수 있었던 자바 스크립트를 내 컴퓨터에서 실행할 수 있게 해주는 프로그램 NPM(Node Package Manager) - Node.js 의 패키지 관리 시스템. 백앤드의 그래들 같은 역할. https://nodejs.org/en/ 에서 노드 설치. ---------------------------------------------------------------------------------------- npm을 이용한 node프로그램 초기화 cmd나 파워셀에서 npm init 기본적인 정보들을 입력하고 나면 package.json 파일을 만들어주며 프로젝트의 메타데이터가 들어간다. npm install react 와 같은 형식으로 설치할 수 있으며 packag..
2023.01.12 -
JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa' package com.example.demo.persistence; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import com.example.demo.model.TodoEntity; @Repository public interface TodoRepository extends JpaRep..
2023.01.12 -
임시
ResponseEntity - 바디뿐 아니라 다른 매개변수 status나 header를 조작 할 수 있다. return ResponseEntity.badRequest().body(response); return ResponseEntity.ok().body(response);
2023.01.12 -
REST API
Representational State Transfer - REST 아키텍쳐 스타일 아키텍처 패턴은 반복되는 문제 상황을 해결하는 도구이고 스타일은 반복되는 아키텍처 디자인을 의미한다. REST는 6가지 제약조건을 가지며 이 가이드라인을 모두 따르는 API를 RESTful API라고 한다. REST 제약 - 클라이언트 서버 - 상태가 없는 (stateless 클라이언트가 서버에 요청을 보낼때 이전 요청의 영향을 받지 않음을 의미한다) - 캐시되는 데이터 (서버에서 리소스를 리턴할 때 캐시가 가능한지 명시 할 수 있어야 한다. HTTP에서는 cache-control 헤더에 명시 가능) - 일관되는 데이터 - 일관적인 인터페이스(URI의 형태라거나 리소스의 리턴 형식 등) - 레이어 시스템(클라이언트와 서..
2023.01.12