본문 바로가기

CS

(3)
Json Web Token(JWT) Json Web Token(JWT) Json Web Token 이란? Json Web Token은 정보를 안전하게 전달하기 위한 웹표준(RFC 7519)입니다.JWT는 Json객체를 사용하여 자가 수용적(Self-contained)인 방법으로 정보를 전달합니다. JWT는 디지털 서명이 되어있어 데이터의 신뢰성을 보장합니다. JWT는 HMAC 알고리즘을 사용하거나, RSA 혹은 ECDSA 를 통한 공개/비공개 키 쌍을 사용해 서명 할 수 있습니다. JWT의 사용 Authorization: JWT를 사용하는 가장 일반적인 시나리오입니다. 사용자가 로그인 한 후의 각 요청은 JWT가 포함되어 사용자는 JWT를 통해 허용되는 경로, 서비스, 리소스에 액세스 할 수 있습니다. Information Exchange..
이진탐색트리(Binary Search Tree) 이진탐색트리(Binary Search Tree) 얼마 전, 스타트업 면접에서 이진탐색트리인지 확인하는 함수를 작성하라는 질문을 받았었습니다. 입력으로 들어오는 Node 클래스도 제가 정의해서 구현했어야 했는데, 부모를 가리키는 parent 멤버변수를 Node 클래스에 넣지 않아 한참을 해맸었습니다. 면접을 마치고 아쉬움이 많이 남아 BST에 대해 완벽하게 이해하고자 이 글을 작성했습니다. 이진탐색트리(Binary Search Tree)란? 이진탐색트리는 왼쪽 서브트리는 자기자신보다 모두 작고, 오른쪽 서브트리는 자기자신보다 모두 큰 특성을 유지하는 트리입니다. 이진탐색트리(Binary Search Tree)는 이진탐색(Binary Search)과 연결리스트(LinkedList)를 결합한 자료구조입니다. ..
트랜잭션(Transaction)과 ACID 1. 트랜잭션이란? 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. 트랜잭션의 예 트랜잭션을 설명할 때, 가장 많이 등장하는 예시는 은행계좌송금 작업입니다. 사용자 A가 사용자 B에게 10,000원을 송금할 경우를 생각해 봅시다. 현실에서는 물리적인 지폐가 이동하면 끝나지만, 데이터베이스의 세계에서는 각각의 상태를 변경해줘야 합니다. 10,000이라는 데이터가 실제로 이동하는게 아니라, 사용자 A의 데이터와 사용자 B의 데이터 상태가 각각 바뀌는 것이죠. 따라서 두 번의 update 쿼리를 실행해야 합니다. 다음은 예시에 대한 트랜잭션의 작업 절차입니다. 트랜잭션 수행 과정 디..