분류 전체보기48 Spring Security Spring에서 제공하는 Spring Security에 대한 내용들을 정리해보고자 한다. 인증과 인가 Spring Security에서 제공하는 기능을 크게 두 가지로 나누면 인증과 인가가 있다. 인증 Authentication 인증이란, 요청을 한 사용자가 누구인지 확인하는 것이다. 예를 들어, 회원 전용 게시판에 글쓰는 기능을 누군가가 요청할 때, 요청한 사용자가 비회원이면 글을 쓰지 못하도록 해야 한다. 이때 인증 단계에서 회원인지 비회원인지 파악한다. 인가 Authorization 인가는 해당 사용자가 해당 요청을 할 권한이 있는지 확인하는 것이다. 예를 들어, VIP 회원 전용 게시판이 있다고 할 때, 일반 회원이 VIP 회원 전용 게시판을 읽는 것을 막아야 한다. 이때는 인가 단계에서 회원이 V.. 2023. 8. 7. 사용자 인증 방식 | HTTP 쿠키 ▫️ Session ▫️ JWT 📌 사용자 인증 방식에 대하여 1. HTTP 쿠키 웹 브라우저를 통해 사용자의 컴퓨터에 저장되는 작은 기록 정보 파일 웹 사이트는 저장된 사용자의 정보를 컴퓨터에 남겨서 필요할 때마다 재사용한다. 명시된 지속 시간이 지나면 무효가 된다. 지속 시간을 전달하지 않으면 브라우저가 닫히기 전까지 계속 유효하다. 구조 : {이름, 값, 0개 이상의 속성} (속성 - 만료 기간, 도메인, 플래그) 일반적으로 웹 서버에 의해 설정되지만 스크립트 언어를 사용하여 클라이언트에 의해 설정 가능하다. Set-Cookie HTTP 헤더를 사용하여 설정되며 웹 서버의 HTTP 응답을 통해 송신된다. 2. Session 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법 사용자가 브라우저를 닫아 서버와의 연결.. 2023. 7. 24. MST & Dijkstra Algorithm 📌 신장트리 (Spanning Tree) 그래프 내의 모든 정점을 포함하는 트리 최소 연결 = 간선의 수가 가장 적다. n개의 정점을 가지는 그래프의 최소 간선 수는 (n-1)개 이고, 모든 정점이 (n-1)개의 간선으로 이루어진 트리를 신장트리라고 한다. 사이클을 포함하지 않는다. 하나의 그래프에는 여러 개의 신장트리가 존재할 수 있다. 📌 MST (Minimum Spanning Tree) 최소 신장 트리 (정점-1)개의 간선으로 이루어진 신장트리 중에서 가중치의 합이 가장 작은 것 선택된 간선은 사이클을 만들지 않아야 하고, 가중치가 작은 것부터 골라져야 한다. #️⃣ MST의 특징 간선의 가중치 합이 최소 n개의 정점을 가지는 그래프에 대해 반드시 (n-1)개의 간선만을 사용해야 한다. 사이클을 포.. 2023. 7. 9. OS | 멀티 프로세스 대신 멀티 스레드를 사용하는 이유 쉽게 설명하면, 프로그램을 여러 개 키는 것보다 하나의 프로그램 안에서 여러 작업을 해결하는 것이다. 자원의 효율성 증대 멀티 프로세스로 실행되는 작업을 멀티 스레드로 실행할 경우, 프로세스를 생성하여 자원을 할당하는 시스템 콜이 줄어들어 자원을 효율적으로 관리할 수 있다. 프로세스 간의 Context Switching 시 단순히 CPU 레지스터 교체 뿐만 아니라 RAM과 CPU 사이의 캐시 메모리에 대한 데이터까지 초기화되므로 오버헤드가 크기 때문 스레드는 프로세스 내의 메모리를 공유하기 때문에 독립적인 프로세스와 달리 스레드 간 데이터를 주고 받는 것이 간단해지고 시스템 자원 소모가 줄어들게 된다. 처리 비용 감소 및 응답 시간 단축 또한 프로세스 간의 통신(IPC)보다 스레드 간의 통신의 비용이 적.. 2023. 7. 3. OS | 프로세스와 스레드의 차이 📌 프로그램(Program) 이란 사전적 의미: 어떤 작업을 위해 실행할 수 있는 파일 📌 프로세스(Process) 란 사전적 의미: 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 즉, 동적인 개념으로는 실행된 프로그램을 의미한다. 할당받는 시스템 자원의 예 CPU 시간 운영되기 위해 필요한 주소 공간 Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 특징 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap의 구조)을 할당받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소.. 2023. 7. 3. @MappedSuperclass 등록일, 수정일 혹은 등록자, 수정자와 같이 전체 엔티티에서 공통으로 쓰는 정보를 여러 번 쓰지 않아도 된다! @MappedSuperClass 공통된 매핑 정보가 필요할 때 @MappedSuperclass를 사용할 수 있다. 객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다는 것이 포인트이다. 디비의 상속 관계 매핑과는 관련이 없다. 공통된 매핑 정보를 부모 클래스에서 선언하고 상속받아서 사용한다. @Getter @MappedSuperclass public class BaseTimeEntity { @CreatedDate @Column(updatable = false) private LocalDateTime createdDate; @LastModifiedDate private LocalDateTime .. 2023. 6. 30. 이전 1 2 3 4 ··· 8 다음