[Process와 Thread - 2] 프로세스와 스레드의 개념과 차이: 멀티스레드의 작동 원리
·
CS
↘️ [Process와 Thread][Process와 Thread - 3] 멀티 프로세스와 멀티 스레드 비교[Process와 Thread - 1] 프로세스의 구조와 동작 방식    📍 프로세스와 스레드 개념 정리 1. 프로세스란?프로세스: 운영체제로부터 자원을 할당받는 작업의 단위.실행 파일이 메모리에 적재되어 CPU를 할당받아 실행됨.메모리의 Code, Data, Heap, Stack 영역으로 구성됨.각 프로세스는 독립적인 메모리 공간을 가지며, 다른 프로세스와 메모리를 공유하지 않음. 2. 스레드란?스레드: 프로세스가 할당받은 자원을 이용하는 실행의 단위.하나의 프로세스 내에서 여러 스레드가 독립적으로 동작함.스레드는 Code, Data, Heap 영역을 프로세스 내의 다른 스레드와 공유.Stack..
[Process와 Thread - 1] 프로세스의 구조와 동작 방식
·
CS
↘️ [Process와 Thread][Process와 Thread - 2] 프로세스와 스레드의 개념과 차이: 멀티스레드의 작동 원리[Process와 Thread - 3] 멀티 프로세스와 멀티 스레드 비교  📍 프로세스와 관련 개념 정리1. 프로세스의 정의프로세스: 실행 중인 프로그램을 의미.메모리 적재: 프로그램이 RAM(메인 메모리)에 적재되면 CPU가 이를 읽어 실행하면서 프로세스가 됨.CPU 할당: 프로세스는 CPU 자원을 할당받아 동작함.2. 메모리 구조프로세스는 메모리에서 다음과 같은 영역으로 구성됨:Code 영역: 실행할 프로그램의 코드가 저장되는 영역.Data 영역: 전역 변수, 정적 변수(static)가 저장되는 영역.Heap 영역: 동적 메모리 할당 시 사용하는 영역. 런타임 시 크기가..
[자료구조 - 1 ] 배열(Array)와 연결 리스트(Linked List) 차이점
·
CS
배열(Array)와 연결 리스트(Linked List)는 각각의 메모리 구조, 시간 복잡도, 그리고 사용 상황에 따라 장단점이 있다.1. 메모리 구조Array데이터를 연속적으로 저장하며, 고정된 크기의 메모리 블록을 사용함.데이터가 연속적으로 저장되므로 즉시 접근(랜덤 접근)이 가능하여 O(1)의 접근 시간 복잡도를 가짐.메모리 낭비가 발생할 수 있음: 배열은 정해진 크기보다 작은 데이터를 저장해도 미리 할당된 메모리를 점유하기 때문.스택(Stack) 영역에서 할당되며 컴파일 시 크기가 정해짐.  Linked List데이터를 불연속적으로 저장하며, 각 노드가 데이터와 다음 노드의 주소를 저장하는 구조로 이루어짐.데이터 접근 시 순차 접근만 가능하여 특정 인덱스를 조회하려면 O(n)의 시간이 소요됨.필요한..
[Spring] JWT란? 토큰 기반 인증과 리프레시 토큰
·
Web/Back
📍 토큰 기반 인증       사용자가 서버에 접근할 때 인증하는 확인 방법으로 서버 기반 인증과 토큰 기반 인증이 있다. 스프링 시큐리티에서는 기본적으로 세션 기반 인증을 제공하고, 토큰 기반 인증은 말 그대로 토큰을 사용하는 방법이다.  토큰은 서버에서 클라이언트를 구분하기 위한 유일한 값인데 서버가 토큰을 생성해서 클라이언트에게 제공하면, 클라이언트는 이 토큰을 갖고 있다가 여러 요청을 해당 토큰과 함께 신청한다. 그럼 서버는 토큰만 보고 유효한 사용자인지 검증한다. 1) Spring Security에서 JWT를 사용하는 흐름로그인 요청 처리:사용자가 ID와 비밀번호를 서버로 전송한다.Spring Security가 제공하는 AuthenticationManager를 통해 사용자 인증을 수행한다.JW..