![[추가] CS 개념 | OAuth 2.0 에 관하여](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/zoTXt/btsFsaOAVkF/wWFZTIJkXFbhLeX54Jg6wK/img.png)
[추가] CS 개념 | OAuth 2.0 에 관하여
OAuth 프로토콜이란 ? OAuth = Open Authorization 인증을 위한 개방형 표준 프로토콜 클라이언트를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 궈한을 위임받는 방식 클라이언트가 사용자 인증 정보를 공유하지 않고도 자원에 접근할 수 있도록 하는 인증 방법 → 사용자 입장에서는 OAuth를 사용하면 민감 정보를 굳이 입력하지 않고도 신뢰할 수 있는 서버를 토대로 로그인 처리가 되고, 서버 입장에서도 민감 정보를 굳이 직접 관리하지 않아도 되는 이점이 있다. OAuth 1.0과 2.0 차이점 OAuth 1.0과 OAuth 2.0 모두 API 보안을 위한 프로토콜이다. 1) 토큰 갱신 OAuth 1.0 에서는 토큰 갱신이 어려웠다. (Access Token 유효기간 X) OAuth..
- [스터디] CS 기술 면접 준비/[추가] CS 개념 추가 정리_2024
- · 2024. 2. 29.
13회차 데이터베이스 | DB 트랜잭션, 트랜잭션 격리 수준 관련 질문 정리
24.02.16 (금) 질문 내용 정리 트랜잭션 개념과 특징에 대해서 설명하시오. 트랜잭션 병행 처리 했을 때 발생하는 문제와 방지하기 위한 방법에 대해 설명하시오. 갱신손실 → 락킹 제어기법을 사용 Non-Repeatable Read 는 발생하지 않지만, Phantom Read는 발생하는 경우는? 그리고 각각 설명하세요. Non-Repeatable Read : 트랜잭션 내에서 같은 쿼리를 두번 실행 했는데 내용이 다른거 Phantom Read : 같은 쿼리를 두 번 실행했는데 다른 트랜잭션의 삽입 삭제로 결과가 다르게 나타나는 현상 트랜잭션 동작과정(hdd, buffer) : 물리적인 메모리 상의 동작 과정을 설명하시오. 데드락에 대해 설명, 데드락을 해결하기 위한 방법 3가지(낙관적 동시성 제어)에 ..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 16.
![13회차 데이터베이스 | DB 트랜잭션, 트랜잭션 격리수준 관련 내용 정리](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/1X7Nk/btsEP8zaIGT/iThWN2iKjAPIwhdUxIzo3K/img.png)
13회차 데이터베이스 | DB 트랜잭션, 트랜잭션 격리수준 관련 내용 정리
DB 트랙잭션과 트랙잭션 특성 4가지, DB 트랜잭션 격리수준 DB 트랜잭션 | Transaction 1) 트랜잭션 개념 (1) 트랜잭션 DBMS에서 데이터 다루는 논리적 작업 단위 여러 쿼리를 논리적으로 하나의 작업으로 묶어주는 것 DB에서 데이터 다루다가 장애 일어난 경우 → 데이터 복구 작업의 단위 DB에서 여러 트랜잭션이 동시에 같은 데이터 다룰 경우 → 동시 접근 작업들 분리하는 단위 (2) 트랜잭션 제어어 | TCL (Transaction Control Language) start transation : 트랜잭션 시작 SET TRANSACTION NAME commit : 트랜잭션 종료 COMMIT rollback : 트랜잭션 무효화 ROLLBACK {TO } //트랜잭션 전체 or 까지 무효화..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 15.
12회차 데이터베이스 | DB 인덱스(B-Tree, B+Tree, 해쉬테이블), DB 튜닝, DB 다중화 질문 정리
24.02.13 (화) 질문 내용 공유 인덱스에 대해 설명해주세요 RDBMS 에서 Hashtable 이 아닌 B+Tree 를 사용하는 이유 클러스터드 인덱스와 넌클러스터드 인덱스 비교 인덱스를 사용했을 때 유리한 경우 리플리케이션과 클러스터링 비교 DB 튜닝이 무엇인지, 각 단계 설명 관련 질문 정리 ✅ 왜 보편적으로 레드 블랙 트리 대신 B-Tree 자료 구조를 DB 인덱스로 사용하는가? RedBlack-Tree는 무조건 하나의 노드에 하나의 데이터 요소만을 저장하므로 어떠한 요소를 탐색하든 참조 포인터 접근이 필수적이다. 반면, B-Tree는 하나의 노드에 여러 개의 데이터를 저장하므로 각 노드의 데이터 요소를 탐색할 때 참조 포인터 접근 없이 배열의 성질을 이용하여 빠르게 탐색이 가능하다. 결론적으..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 13.
![12회차 데이터베이스 | DB 인덱스(B-Tree, B+Tree, 해쉬테이블), DB 튜닝, DB 다중화, 내용 정리](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/cFYgt9/btsEEHoeyC7/ebxVnOXbU8eORKDAYVaUUK/img.png)
12회차 데이터베이스 | DB 인덱스(B-Tree, B+Tree, 해쉬테이블), DB 튜닝, DB 다중화, 내용 정리
DB 인덱스 인덱스 거는이유 인덱스에 왜 해쉬 보다 B Tree를 쓰는지? DB 튜닝 DB 다중화 (클러스터링, 리플리케이션) DB 인덱스 ⬛ DB 인덱스 1) DB 인덱스 개념 원하는 데이터를 빨리 찾기 위해 튜플(행)의 키 값에 대한 물리적 위치 기록해둔 자료구조 주로 테이블의 컬럼을 인덱스로 설정한다. cf. 인덱스가 없는 경우, 테이블의 모든 행을 FUll-Scan하게 된다. (FTS) : Full Table Scan 특정 값 탐색을 위해 모든 데이터, 테이블을 순차 탐색하며 대상을 검색한다면 시간이 오래 걸린다. O(N) → DB 데이터 조회 성능 향상 → ‘인덱스’는 데이터와 데이터 위치를 포함한 자료구조를 생성하여 데이터 탐색 시 빠른 조회를 돕는다. 2) DB 인덱스 관리 (DB 인덱스 관..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 12.
11회차 데이터베이스 | 정규화와 역정규화 관련 질문 내용 정리
24.02.06 화 나온 질문 공유정규화 개념, 장단점 설명정규화 : 데이터 일관성, 데이터 중복 최소화를 위해 한 릴레이션이 하나의 의미만 갖도록 릴레이션을 분해하는 과정장점: 데이터베이스에 조작 시 이상현상 문제 해결단점: 릴레이션의 분해로 인해 릴레이션 간의 조인 연산 많아져 질의 응답 시간 느려질 수 있음이상현상 설명이상현상 : 데이터 중복으로 인한 부작용을 말하는데, SELECT시에는 문제가 없어도 데이터 조작 (삽입/삭제/수정) 시 문제가 발생하는 것을 의미한다.1) 삽입 이상 : 튜플 삽입 시 특정 속성에 NULL입력해야 하는 현상2) 삭제 이상 : 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄 삭제 현상3) 수정 이상 : 튜플 수정 시 중복된 데이터의 일부만 수정되어 데이터 일관성 훼손되는..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 7.
![11회차 데이터베이스 | 정규화와 역정규화 관련 내용 정리](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/yuZvm/btsEooopHCM/3MuQyqdWbp9UE166waoZ4K/img.png)
11회차 데이터베이스 | 정규화와 역정규화 관련 내용 정리
DB 정규화, 비정규화(역정규화) 01. 이상현상 | Anomaly 1. 이상현상의 개념 잘못 설계된 테이블에 데이터 질의 (SELECT) 할 때는 문제가 없는데, 그 외의 데이터 조작 (삽입, 삭제, 수정)을 하면 문제가 발생하는 것을 ‘이상 현상’이라고 말한다. 이상현상이란, 테이블에 튜플 1) 삽입 시 부득이하게 NULL값 입력되거나 2) 삭제 시 연쇄 삭제 현상 발생하거나 3) 수정 시 데이터 일관성 훼손되는 현상 삽입 이상 : 튜플 삽입 시 특정 속성에 해당하는 값이 없어서 NULL 입력해야 하는 현상 삭제 이상 : 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 수정 이상 : 튜플 수정 시 중복된 데이터의 일부만 수정되어 데이터 일관성 훼손되는 현상 2. 이상현상의 예시 한 ..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 5.
10회차 데이터베이스 | 데이터베이스 개요 및 쿼리 관련 질문 정리
24.02.02 (금) 나온 질문 내용 정리데이터베이스 무결성무결성 : 데이터베이스 안에서 유일성을 지키기 위해 할 조건조건개체 무결성 : 릴레이션 내 PK를 구성하는 속성은 NULL값과 중복값을 가질 수 없다.참조 무결성 : FK 값은 NULL이거나 참조테이블의 PK값이어야 한다. 키 무결성 : 한 릴레이션에 하나 이상의 키가 존재해야한다.도메인 무결성 : 속성의 값이 도메인에 속해야한다.RDBMS vs NoSQL 비교하시오.1) NoSQL : 스키마 X. 비정형 데이터. Scale out 가능 - 장점 : 스키마가 없이 Key-Value 형태로 데이터를 자유롭게 관리 O. scale-up + scale-out 가능 - 단점 : 데이터 중복 O. 중복된 데이터 변경 시 수정을 모든 컬렉션에 대해 수행...
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 2.
![10회차 데이터베이스 | 데이터베이스 개요 및 쿼리 내용 정리](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/cW03Qx/btsEjUzWuH5/zyuttPg5W7U4WMzqNke6S1/img.png)
10회차 데이터베이스 | 데이터베이스 개요 및 쿼리 내용 정리
데이터 베이스 기본 개념 쿼리 데이터 베이스 기본 개념 1) 데이터베이스 (DB) 개념 일정한 규칙으로 구조화되어 저장된 데이터의 모음 [ 데이터베이스의 특징 ] (4) 1) 실시간 접근성 실시간 처리에 대한 응답 가능 2) 지속적인 변화 데이터베이스 상태가 동적이다.즉, 새 데이터 삽입/삭제/갱신 등 항상 최신의 데이터를 유지한다. 3) 동시 공유 다수의 사용자가 동시에 같은 내용의 데이터 이용 가능 4) 내용에 따른 참조 데이터베이스에 있는 데이터 참조 시 사용자가 요구하는 데이터 내용 기준 찾음 2) 데이터베이스의 종류 (1) 관계형 데이터베이스 | RDBMS : 모든 데이터를 2차원 테이블 형태 (행과 열)로 데이터 저장하는 데이터 베이스 : 테이블 형태로 데이터 관리 : SQL 언어 사용하여 데..
- [스터디] CS 기술 면접 준비/CS_데이터베이스 [DataBase]
- · 2024. 2. 2.
8회차 운영체제 | 데드락, 동기화(뮤텍스, 세마포어) 등 질문 정리
24.01.26 나온 질문 공유 1) 뮤텍스와 스핀락이 어떤 상황에 적합한지 - 뮤텍스 : 대부분의 상황에서 뮤텍스가 더 효율적이다. - 스핀락 : 임계구역 내 작업 시간이 문맥 교환 시간보다 빠를 때는 스핀락이 더 효율적이다. 2) 데드락의 발생 조건 4가지 상호 배제/ 점유 대기/ 비 선점/ 원형 대기 3) 동기화 문제가 무엇인지 설명 동기화 문제 - 스레드가 동시에 공유자원에 대한 접근할 때, 원자적으로 수행되지 않아 일관적이지 않게 됨 4) 세마포어와 뮤텍스의 차이 세마포어 - 여러 자원에 접근 가능, 락을 건 주체가 락을 해제가능 뮤텍스 차이 - 공유자원이 한개일 때 사용 가능, 락을 건 주체 아니어도 락 해제 가능 5) 회피 기법 중 은행원 알고리즘 단점 자원 할당량을 미리 알아야하는데 미리 ..
- [스터디] CS 기술 면접 준비/CS_운영체제 [Operating System]
- · 2024. 1. 27.
![8회차 운영체제 | 데드락, 동기화(뮤텍스, 세마포어) 등 내용 정리](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/dlsgEu/btsDWJfBfUi/WWTh01cZDB5yMQY8B5Iq70/img.png)
8회차 운영체제 | 데드락, 동기화(뮤텍스, 세마포어) 등 내용 정리
OS 데드락 데드락 조건 4가지 동기화(뮤텍스, 세마포어, 모니터, 스핀락, 어토믹 설명) 들어가기 전 동시다발적으로 실행되는 프로세스(스레드)들은 서로 협력하며 영향을 주고받는다. 이때, 자원의 일관성을 보장하기 위해 프로세스 동기화를 고려해야 한다. 실행 문맥을 갖는 모든 대상은 동기화 대상이다. (스레드도 프로세스도 동기화 대상) 프로세스 동기화 동기화란? 여러 프로세스가 공유 자원에 동시에 접근해도 '공유 자원의 일관성'을 유지하는 것 프로세스들의 수행 시기를 맞추는 것 실행 순서를 위한 동기화와 상호 배제를 위한 동기화가 있다. 1) 실행 순서 제어: 프로세스를 올바른 순서대로 실행되도록 제어 2) 상호 배제 : 동시에 접근해서는 안 되는 자원(=공유 불가능 자원)에 하나의 프로세스만 접근하게 ..
- [스터디] CS 기술 면접 준비/CS_운영체제 [Operating System]
- · 2024. 1. 26.