Learning Log/CS 5

[cs] JWT(Json Web Token)

1. JWT란 * 의미 : JWT란 클라이언트와 서버 간에 정보를 JSON 객체로 안전하게 전송하기 위한 개방형 표준 * 역할 : 사용자 측에서 사용자의 정보를 관리하는 토큰 기반 인증 메커니즘 2. JWT의 구조 * Header : Signature을 만드는데 사용한 알고리즘(alg)과 Token의 타입 정보(typ)를 가지고 있음 { "alg" : "HS256", "typ" : "JWT" } // 사용한 알고리즘은 HS256이고 Token 타입은 JWT * Payload : 실질적으로 전달해야 하는 정보들을 가지고 있으며, 담겨있는 정보 하나 하나를 Claim이라고 함 { "exp": "1245678900", //Registered Claims "https://velopert.com/jwt_claim..

Learning Log/CS 2023.08.01

[cs] 운영체제의 역할, PCB, 메모리 계층

1. 운영체제의 역할 운영체제의 역할은 크게 4가지가 있습니다 * CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 * 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼만큼 할당해야 하는지 관리 * 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리 * I/O 디바이스 관리 : I/O 디바이스들인 마우스, 키보드 등과 컴퓨터 간에 데이터를 주고받는 것을 관리 2. PCB(프로세스 제어 블록) * 개념 : process control block은 운영체제에서 프로세스에 대한 메타데이터를 저장한 데이터를 의미 * 과정 프로그램이 실행 => 프로세스가 생성되고 운영체제는 해당 PCB를 생성 => 프로세스의 메타데이..

Learning Log/CS 2023.07.31

[cs] 쿠키, 세션, 토큰이란

쿠키, 세션, 토큰은 모두 로그인과 같은 행동을 반복적으로 작업하지 않도록 데이터를 저장하는 방식입니다 1. 쿠키 * 의미 : 브라우저에 저장되는 정보 브라우저는 사용자의 컴퓨터에 설치된 소프트웨어임으로 쿠키는 사용자가 갖고 있는 정보 ex) 장바구니에 담은 내역, 검색 내역 등 => 조작되어도 문제되지 않을 정보 다만, 쿠키는 제 3자가 조회하는 것도 가능하기 때문에 개인정보를 담은 내용이나 보안상 민감한 정보를 저장하는데 적합하지 않음 1-1. 쿠키의 보안을 높이려면? 백엔드 코드 중 쿠키에 httpOnly / secure/ Samesite 옵션을 사용한다 => 이렇게 하면 자바스크립트 코드 상에서 접근이 불가능하고, http 요청에만 포함되어 보내진다 Set-Cookie: 쿠키명=쿠키값; path=..

Learning Log/CS 2023.07.27

[cs] 프로세스와 스레드

0. 프로그램 * 의미 : 프로그램이란 우리가 작성한 코드를 빌드하여 생성하는 결과물을 의미 더해서, 프로그램을 실행하기 위해서 메모리라는 자원을 할당 받아야 하는데, 이때 자원을 할당받아 실행되는 프로그램을 프로세스라고 함 => 프로그램이란 프로세스(실행 중인 프로그램)의 생성 및 실행 규칙들로 엮어진 파일 1. 프로세스 * 의미 : 운영체제로부터 자원을 할당받은 작업의 단위이며, 메모리에 올라와 실행중인 프로그램 => 실행 중인 프로그램!! * 특징 - 작업을 수행하기 위해 cpu/메모리 등의 자원이 필요함 - 프로세스 별로 독립된 메모리 공간을 사용함 - 하나의 프로세스 안에는 최소한 하나 이상의 스레드가 있음 - 새로운 프로세스를 생성하는 프로세스를 부모 프로세스, 새롭게 생성된 프로세스를 자식 ..

Learning Log/CS 2023.07.27

[cs] RESTful API란

1. RESTful API란* 의미 : 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스 * 특징 : 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따르므로 고객의 데이터 교환 등을 지원 1-1. API란* 의미 : 애플리케이션 프로그래밍 인터페이스는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의 => 웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있음 (메뉴판과 같은 역할을 한다고 비유하기도 함!!) * 클라이언트 : 웹에서 정보에 엑세스하려는 사용자 * 리소스 : 다양한 어플리케이션이 클라이언트에게 제공하는 정보 1-2. RESTful API의 이점* 확장성 : REST가 클라이언트-서버 상호 작용을 최적화하기 때문..

Learning Log/CS 2023.07.27