JWT (JSON Web Token)인증에 필요한 정보들을 암호화시킨 JSON 토큰JWT 기반 인증은 JWT 토큰 (Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식 JWT 구조암호화 알고리즘을 담은 Header사용될 데이터 정보를 담고 있는 Payload서명 Signature 장점Header와 Payload로 서명을 생성하므로 데이터의 위변조를 막을 수 있음인증 정보에 대한 별도의 저장소가 필요없음 (DB 조회 필요 X) JWT를 이용한 인증 과정사용자 로그인 (인증 요청)JWT, Access Token, Refresh Token 발급 (서버)Access Token을 Header에 담아 API 요청 (클라이언트)Access Token에 문제 없으면 정보 응답 (서버)..
CS 지식
기술 면접 대비 + JWT 로그인 방식 시 토큰 저장소에 대해 고민하며 정리한 내용 공통점웹 통신 간 유지하려는 정보를 connectionless, stateless 하게 저장하기 위해 사용함 (HTTP 프로토콜의 한계 보완) 쿠키(Cookie)저장 위치 : 클라이언트 (PC)저장소 : 데스크탑에 파일 형태로저장 형식 : text (key-value)만료 시점 : 쿠키 저장 시 설정 (브라우저가 종료되어도, 만료 시점이 지나지 않으면 자동 삭제되지 않음)클라이언트에 300개까지 쿠키 저장 가능. 하나의 도메인 당 20개의 값만 가질 수 있으며, 하나의 쿠키 값은 4kb까지 저장 가능Response Header에 set-cookie 속성을 사용하면 클라이언트에 쿠키 만들 수 있음쿠키는 사용자가 따로 요..
프레임워크원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미프레임워크는 애플리케이션 코드가 프레임워크에 의해 사용프레임워크에는 분명한 [제어의 역전] 개념이 적용되어 있어야 함애플리케이션 코드는 프레임워크가 짜놓은 틀에서 수동적으로 동작됨즉, 라이브러리를 포함함, 이미 뼈대가 갖춰짐 ex) Spring, Django, Vue.js, Next.js 등 라이브러리소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임즉, 특정 기능을 모아둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어단지 동작하는 중에 필요한 기능이 있을 때 능동적으로 라이브러리..
함수형 프로그래밍→ JS순수 함수들을 블록처럼 쌓아 로직을 구현하고 고차 함수를 통해 재사용성을 높인 프로그래밍 패러다임순수 함수 : 출력이 입력에만 의존고차 함수 : 함수가 함수를 값처럼 매개변수로 받아 로직을 생성할 수 있는 것함수형 프로그래밍은 순수 함수를 통해 side effect를 최대한 억제하여 오류를 피하고 프로그램의 안정성을 높이려는 노력의 한 방법 🔎 함수형 프로그래밍이 최근에 주목받는 이유 → 재사용성 객체 지향 프로그래밍 (Object-Oriented Programing, OOP)프로그래밍에서 필요한 데이터를 추상화시켜서 상태와 행위를 가진 객체로 만들고, 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법상태 : 어떤 상태 값을 나타내는 변수행위 : 그 행위를 하는 메서..
1. 싱글톤 패턴 ⭐⭐하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 장점하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈이 공유하며 사용하기 때문에 인스턴스 생성 비용이 줄어듦메모리 절약 단점의존성이 높아짐 특징개별적인 인스턴스 제한전역적인 접근 : 다른 모듈이나 클래스에서 쉽게 접근지연된 초기화 : 인스턴스 생성을 필요로 할 때까지 지연시키는 방식으로 리소스 절약 가능 예시spring 2. 팩토리 패턴객체 지향 프로그래밍에서 사용되는 디자인 패턴 중 하나로, 객체를 생성하는 매커니즘을 추상화하고 객체 생성 프로세스를 캡슐화하는 패턴상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정 특징느슨한 결합더 많은 유연성유지 보수성 증가 3. 전략 패턴객체의..