스프링 3

+22 JWT 토큰기반 무엇일까?

JWT 진행 순서 1. 클라이언트 사용자가 ID, PASSWORD를 통해 웹서비스 인증 // 여기서 로그인 성공 시 서버에서 "로그인 정보" => JWT로 암호화 (이때 secret key 사용) 2. 서버에서 서명된 JWT를 생성해서 클라이언트에 응답으로 돌려주기 (쿠키에 담아 전달) 3. 클라이언트가 서버에 데이터를 추가적으로 요구할 때 JWT를 HTTP Header에 첨부 4. 서버에서 클라이언트로 부터 온 JWT를 검증 순서도 JWT 장점 * 동시 접속자가 많을 때 서버 측 부하 낮춤 * 클라이언트, 서버가 다른 도메인을 사용할 때, 카카오 OAuth2 로그인 시 API JWT 토큰 사용 JWT 단점 * 구현 복잡함 * 네트워크 비용 증가 (클라 -> 서버) * secret key 유출시 jwt ..

TIL 2023.07.06

WIL HTTP 와 MVC패턴이란?

MVC패턴이란? M :: Model V :: View C :: Controller 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리 Model * 데이터와 비즈니스로직을 담당! * 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업 수행 View * 사용자 인터페이스를 담당 * 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현 Controller * model 과 view 사이의 상호작용을 조정하고 제어 * 사용자의 입력을 받아 Model 전달하고, Model의 결과를 바탕으로 View를 업데이트 MVC패턴의 장점 1. 여러개발자가 역할을 나눠 Model, View, Controller 2. 중복코드를 없앨 수 있다. 3. 각 compon..

WIL 2023.06.25

+12 SPRING BOOT / Gradle

Gradle = 빌드 자동화 시스템 자바코드를 자동으로 빌드해줌 Gradle를 사용하면 자바코드를 실행 가능한 jar파일로 만들어줌 build.gradle 외부 라이브러리를 dependencies 에 작성하면 외부라이브러리들을 Gradle이 해당 라이브러리들을 Maven Repository와 같은 외부 저장소에서 자동으로 다운로드 해옴 (편의성 good) Maven Repository = 라이브러리 저장소 쉽게 우리 같은 개발자들이 코드에만 집중할 수있도록 도와주는 코드의 묶음 그럼 Gradle이 다운로드 해온 라이브러리는 어디에서 확인할까? External Libraries

TIL 2023.06.24