[Spring Boot] iOS와 Kakao OAuth2 OIDC 인증
·
Backend/Spring Boot & JPA
📕 목차 1. iOS Kakao OAuth2 인증 정책 리스트 2. Security Policy 3. Implementation 1. iOS Kakao OAuth2 인증 정책 리스트 📌 Introduce iOS 앱에서 Kakao OAuth2를 사용하려고 했는데, 웹 프론트와 연동할 때와 마찬가지로 code를 이용해서 OAuth2 인증 과정을 수행하려고 보니 이 방식으로는 구현할 수가 없다는 문제가 있었다. 네이티브 앱 환경에선 대부분 accessToken까지 프론트에서 강제로 받아와 버린다. 그래서 iOS와 Kakao OAuth2 인증을 위한 여러가지 대안책들을 고민해보고, 최종 선정한 정책으로 구현하는 과정을 기록해둔다. 1️⃣ iOS에서 code를 Server로 전달 웹 프론트와 협업할 때 가장 일반..
[Database] 회복 시스템
·
Computer Science/Database
📕 목차 1. Failure Classification 2. Storage Structure 3. Recovery and Atomicity 4. Log-Based Recovery 5. ARIES 6. Media Recovery 1. Failure Classification 📌 실패 종류 Transaction Failure Logical Error: 잘못된 입력, Overflow, data not fount, … System Error: deadlock System Crash DBMS나 OS 실행 중지 (ex. 정전) Volatile memory 내용 파손 Media Failure 가장 최악의 경우 → HDD가 깨짐 Nonvolatile memory의 내용 파손 2. Storage Structure 📌 S..
[Database] 동시성 제어
·
Computer Science/Database
📕 목차 1. Concurrency Control 목적 2. Concurrency Control 종류 3. Locking 4. Multiple Granularity Locking 5. Deadlock Handling 6. Other Concurrency Controls 1. Concurrency Control 목적 📌 Purpose 동시에 실행되는 Transaction 제어 Database 일관성(Serializability) 유지 Concurrency Control이 없을 경우 문제점 Lost Update Dirty Read Unrepeatable Read Phantom Read 📌 Lost Update 누가 쓴 걸 덮어써서 데이터가 손실됨 📌 Dirty Read 잘못된 데이터를 읽음 📌 Unrepea..
[Database] 트랜잭션
·
Computer Science/Database
📕 목차 1. Transaction 개념 2. Transaction State 3. Implementation of Atomicity and Durability 4. Concurrent Execution 5. Serializability 6. Recoverability 1. Transaction 개념 📌 Definition 사용자 관점: 논리적인 작업의 단위 시스템 관점: 동시성 제어와 회복 단위 BEGIN TRANSACTION과 END TRANSACTION에 의해 표현 📌 Attribute Atomicity(원자성): All or Nothing Consistency(일관성): 정확성 Isolation(고립성): 중간 과정의 외부 노출 금지 Durability(영구성): 한 번 저장된 데이터는 영구적이어..