📚 용어 사전
모든 위키 페이지를 한곳에서 찾아보세요. 자모/알파벳으로 이동하거나 검색어로 필터할 수 있습니다.
총 1081개의 용어
ㄱ (16)
- 가상화 (Virtualization): 하드웨어, OS, 컨테이너 계층 전체 정리 virtualization ← 4
- 별칭: virtualization, 가상화, full virtualization, paravirtualization, para virtualization, OS-level virtualization, OS 가상화, 하드웨어 가상화, application virtualization, VT-x, AMD-V, SR-IOV, guest OS, host OS
- 정의 가상화 (Virtualization) 는 물리 자원 (CPU, RAM, 디스크, NIC) 을 소프트웨어 계층으로 감싸 여러 논리 인스턴스로 분할 하거나 하나로 통합 하는 기…
- 가우스 소거법 (Gaussian Elimination) algorithm ← 2
- 별칭: gaussian elimination, 가우스 소거법, Gauss elimination, Gauss-Jordan, row reduction, gaussian-elimination
- 정의 가우스 소거법 (Gaussian Elimination) 은 선형 연립방정식 의 해를 구하거나, 행렬의 역행렬 / rank / determinant 를 계산하는 O(N^3) …
- 각도 정렬 (Angle Sorting) algorithm ← 3
- 별칭: angle sorting, 각도 정렬, polar sort, sort by angle
- 정의 각도 정렬 (Angle Sorting / Polar Sort) 은 2차원 평면 위의 점들을 기준점에 대한 극각 (polar angle) 순서로 정렬하는 기법. atan2 함…
- 값 / 좌표 압축 (Coordinate Compression) algorithm ← 1
- 별칭: coordinate compression, 좌표 압축, 값 압축, 값 매핑, 좌표 압축, compression, discretization
- 정의 값 / 좌표 압축 (Coordinate Compression) 은 큰 범위의 값 (예: 10^9) 을 정렬된 순서를 유지하며 작은 정수 인덱스 (0..K-1) 로 매핑하는 …
- 강한 연결 요소 (SCC) algorithm ← 8
- 별칭: scc, strongly connected component, SCC, 강한 연결 요소, 강결합 요소
- 정의 강한 연결 요소 (Strongly Connected Component, SCC) 는 방향 그래프에서 서로 도달 가능한 정점들의 최대 부분 집합. SCC 내 임의 두 정점 u…
- 게임 이론 (Game Theory) algorithm ← 4
- 별칭: game theory, 게임 이론, zero-sum game, Nim, win/loss DP, game-theory
- 정의 게임 이론 (Game Theory) 은 둘 이상의 플레이어가 정해진 규칙 아래 의사 결정을 내리는 상황을 수학적으로 모델링하는 분야. PS에서는 두 명이 완벽한 플레이를 할…
- 격자 그래프 (Grid Graph) algorithm ← 3
- 별칭: grid graph, 격자 그래프, grid bfs, grid dfs, Grid, 격자
- 정의 격자 그래프 (Grid Graph) 는 2차원 배열 (N × M 격자) 위의 그래프. 각 칸이 노드, 인접한 칸 사이가 간선. 4방향 또는 8방향 이동. 격자 위 최단 경로…
- 경사 하강법 (Gradient Descent) algorithm ← 2
- 별칭: gradient descent, 경사 하강법, GD, steepest descent, gradient-descent
- 정의 경사 하강법 (Gradient Descent, GD) 은 미분 가능한 목적 함수 f(x) 의 1차 도함수 (gradient) 방향으로 반복 이동하며 극소값 (local mi…
- 고차 함수 javascript ← 7
- 별칭: higher-order function, higher order function, 고차함수, HOF, higher-order functions
- 정의 고차 함수 (Higher-Order Function, HOF): 다음 조건 중 하나 이상을 만족하는 함수. 1. 함수를 인자로 받는다. 2. 함수를 반환한다. 특성이 있어야…
- 구현 (Implementation) algorithm ← 1
- 별칭: implementation, 구현, 시뮬레이션, edge case
- 정의 구현 (Implementation) 은 PS 에서 알고리즘적 난이도는 낮지만 정확한 코딩이 필요한 문제 유형. 주로 시뮬레이션 (simulation), 조건 분기 (cond…
- 그래프 순회 (Graph Traversal) algorithm ← 5
- 별칭: graph traversal, 그래프 순회, 그래프 탐색, visit pattern
- 정의 그래프 순회 (Graph Traversal) 는 그래프 G=(V, E) 의 모든 정점 V 를 체계적으로 방문하는 알고리즘 패밀리. 대표 구현: 너비 우선 탐색 (BFS), …
- 그래프 이론 기초 (Graph Theory) discrete-math ← 11
- 별칭: Graph Theory, 그래프 이론, 그래프, Graph, graph, 정점, 간선, 차수, 경로, 트리, 이분 그래프, 그래프 색칠
- 정의 그래프 (Graph) $G = (V, E)$ 는 정점 (vertex) 의 집합 $V$ 와 간선 (edge) 의 집합 $E$ 로 이루어진 이산 구조입니다. 간선은 정점의 쌍 …
- 그리디 (Greedy) algorithm ← 5
- 별칭: greedy, 그리디, 탐욕법, greedy algorithm
- 정의 그리디 (Greedy) 알고리즘은 매 단계마다 국소 최적 (locally optimal) 선택을 하여 전역 최적해 (globally optimal solution) 에 도달…
- 그린 정리 (Green's Theorem) algorithm
- 별칭: Green's theorem, 그린 정리, 폐곡선 적분, 면적 적분, Green theorem
- 정의 그린 정리 (Green's Theorem) 는 평면 위의 폐곡선 C 에 대한 선적분(line integral) 과 그 내부 영역 D 에 대한 이중 적분(double inte…
- 기하 (Geometry) 기본 algorithm ← 8
- 별칭: geometry, 기하, 기하 알고리즘, computational geometry
- 정의 Computational Geometry 는 점, 선, 다각형 등 기하 객체를 컴퓨터로 처리하는 알고리즘 분야. PS 에서는 2D 평면 위의 정수 좌표 가 주로 다루어지며,…
- 깊이 우선 탐색 (DFS) algorithm ← 28
- 별칭: DFS (Depth-First Search), DFS, depth-first search, 깊이 우선 탐색, depth-first
- 정의 깊이 우선 탐색 (Depth-First Search, DFS) 는 그래프 G=(V, E) 에서 갈 수 있는 만큼 깊이 들어가다가 막히면 백트래킹하는 알고리즘. 스택 (LIF…
ㄴ (3)
- 너비 우선 탐색 (BFS) algorithm ← 24
- 별칭: BFS, breadth-first search, 너비 우선 탐색, level-order
- 정의 너비 우선 탐색 (Breadth-First Search, BFS) 는 그래프 G=(V, E) 에서 시작 정점 s 로부터 가까운 정점부터 순서대로 방문하는 알고리즘. 큐 (F…
- 네트워크 유량 (Network Flow) algorithm ← 5
- 별칭: network flow, 최대 유량, max flow, flow
- 정의 네트워크 유량 (Network Flow) 은 방향 그래프 G = (V, E) 에서 각 간선 (u, v) 의 용량 (capacity) c(u, v) 가 주어질 때, 소스 s …
- 누적 합 (Prefix Sum) algorithm ← 15
- 별칭: prefix sum, 누적 합, 구간 합, prefix-sum
- 정의 누적 합 (Prefix Sum) 은 배열 에 대해 (또는 1-indexed ) 을 미리 계산해 두고, 임의 구간 합 을 O(1) 에 구하는 정형. 문제 풀이에서 "구간 N …
ㄷ (12)
- 다각형 넓이 (Polygon Area) algorithm ← 3
- 별칭: Shoelace, polygon area, 다각형 넓이, shoelace formula, 신발끈 공식, polygon area
- 정의 다각형 넓이 (Polygon Area) 는 2D 평면 위 단순다각형 (non-self-intersecting polygon) 의 면적을 신발끈 공식 (Shoelace For…
- 다익스트라 알고리즘 (Dijkstra's Algorithm) algorithm ← 15
- 별칭: dijkstra, 다익스트라, 최단 경로, shortest path
- 정의 다익스트라 알고리즘 (Dijkstra's Algorithm) 은 음이 아닌 가중치 그래프에서 단일 시작점 s 로부터 모든 정점까지의 최단 거리를 찾는 그리디 알고리즘. Ed…
- 다차원 세그먼트 트리 (Multi-dimensional Segment Tree) algorithm
- 별칭: multi-dimensional segment tree, 2D segment tree, 다차원 세그트리, 2D 세그트리
- 정의 다차원 세그먼트 트리 (Multi-dimensional Segment Tree) 는 2차원 이상 배열에서 직사각형 구간 쿼리 + 점 갱신 을 O(log^d N) 에 처리하는…
- 단절점 (Articulation Point) algorithm
- 별칭: articulation point, 단절점, cut vertex
- 정의 단절점 (Articulation Point, Cut Vertex) 은 무향 연결 그래프에서 제거했을 때 그래프가 둘 이상의 컴포넌트로 분리되는 정점. Robert Tarja…
- 단조 큐 최적화 (Monotone Queue Optimization) algorithm
- 별칭: monotone queue optimization, 단조 큐 최적화, monotone-queue-optimization
- 정의 단조 큐 최적화 (Monotone Queue Optimization) 는 DP 전이 에서, 전이 후보 j 의 집합 이 슬라이딩 윈도우 를 이루고 f(j) 가 결합된 값이 단…
- 담금질 기법 (Simulated Annealing) algorithm ← 2
- 별칭: simulated annealing, 담금질 기법, SA, simulated-annealing
- 정의 담금질 기법 (Simulated Annealing, SA) 은 금속의 담금질 (annealing) 과정에서 영감을 받은 확률적 메타휴리스틱. 온도 T 가 높을 때는 나쁜 해…
- 덱 (Deque) algorithm ← 7
- 별칭: deque, 덱, double-ended queue, 양방향 큐
- 정의 Deque (덱, double-ended queue) 는 양쪽 끝에서 O(1) push/pop 이 가능한 선형 자료구조. 큐 + 스택의 일반화. 내부 구현은 대개 chunk…
- 덱 활용 구간 최댓값 트릭 (Monotonic Deque Trick) algorithm ← 3
- 별칭: Deque Trick, monotonic deque, monotonic queue, sliding window maximum, deque-trick, 덱 트릭, 단조 덱
- 정의 덱 트릭 (Deque Trick) 은 덱 (double-ended queue) 에 원소의 인덱스를 단조로운 값 순서 로 유지해, 슬라이딩 윈도우의 최댓값 또는 최솟값을 O(…
- 덱 DP (슬라이딩 윈도우 최적화) algorithm
- 별칭: deque DP, monotonic queue DP, sliding window DP, 덱 DP, 모노토닉 큐 DP
- 정의 덱 DP (Deque DP) 는 점화식 꼴에서 monotonic deque 를 써서 최적 후보를 O(N) 에 유지하는 기법. 슬라이딩 윈도우 최댓값/최솟값의 일반화로, 윈도…
- 도형 불 연산 (Geometric Boolean Operations) algorithm
- 별칭: geometric boolean operations, polygon clipping, Sutherland-Hodgman, Weiler-Atherton, 도형 불 연산, 폴리곤 클리핑
- 정의 도형 불 연산 (Geometric Boolean Operations) 은 두 다각형(또는 임의의 폐곡선)에 대해 합집합(union), 교집합(intersection), 차집…
- 동적 계획법 (Dynamic Programming) algorithm ← 22
- 별칭: dp, 동적 계획법, 다이나믹 프로그래밍, dynamic programming
- 정의 동적 계획법 (Dynamic Programming, DP) 은 큰 문제를 작은 부분 문제로 나누고, 각 부분 문제의 최적해를 저장하여 중복 계산을 제거하는 최적화 기법. R…
- 두 포인터 (Two Pointer) algorithm ← 6
- 별칭: two pointer, 두 포인터, 투 포인터, two-pointer
- 정의 두 포인터 (Two Pointer) 는 정렬 또는 단조 구조 에서 두 인덱스 , 을 서로 다른 속도 / 방향 으로 이동시키며 부분 구간 / 페어를 O(N) 에 탐색하는 기법…
ㄹ (6)
- 라빈-카프 알고리즘 (Rabin-Karp) algorithm ← 2
- 별칭: rabin-karp, rabin karp, rolling hash
- 정의 라빈-카프 (Rabin-Karp) 는 롤링 해시 (rolling hash) 를 이용해 패턴 문자열 이 텍스트 의 어디에 등장하는지 찾는 문자열 매칭 알고리즘. 1987 년 …
- 레드-블랙 트리 (Red-Black Tree) algorithm ← 1
- 별칭: red-black tree, 레드-블랙 트리, rb-tree, self-balancing BST
- 정의 레드-블랙 트리 (Red-Black Tree) 는 각 노드에 색 (빨강/검정) 을 부여하고 5 가지 규약을 지켜 높이 O(log N) 을 보장하는 자가 균형 . 삽입/삭제/…
- 레이지 프로파게이션 (Lazy Propagation) algorithm ← 3
- 별칭: lazy propagation, 레이지 프로파게이션, 느긋한 전파, 구간 갱신, range update
- 정의 레이지 프로파게이션 (Lazy Propagation) 은 세그먼트 트리의 확장으로, 구간 갱신 (range update) 와 구간 쿼리 (range query) 를 모두 O…
- 로프 (Rope) algorithm ← 1
- 별칭: rope, 로프, 문자열 트리, rope data structure
- 정의 로프 (Rope) 는 문자열을 이진 트리로 표현해 split (분할), concat (연결) 을 O(log N) 에 처리하는 자료구조. 각 리프는 짧은 문자열 조각, 내부 …
- 뤼카 정리 (Lucas Theorem) algorithm ← 1
- 별칭: lucas theorem, lucas, 뤼카 정리, nCr mod p, lucas-theorem
- 정의 뤼카 정리 (Lucas Theorem) 는 소수 p 에 대해 큰 n, r 의 이항 계수 nCr 을 p 로 나눈 나머지를 O(logp N) 에 구하는 방법. n, r 을 p …
- 리차오 트리 (Li Chao Tree) algorithm ← 2
- 별칭: convex-hull-trick, Li-Chao Tree, li chao tree, 리차오 트리, 직선 세그먼트 트리
- 정의 리차오 트리 (Li Chao Tree) 는 평면 상의 직선 (또는 선분) 집합에서 특정 x좌표에서의 최댓값 (또는 최솟값) 을 O(log N) 에 구하는 자료구조. 세그먼트…
ㅁ (13)
- 마스터 정리 (Master Theorem) algorithm ← 2
- 별칭: Master Theorem, 마스터 정리, recurrence-master-theorem, divide and conquer recurrence, 분할 정복 점화식, Akra-Bazzi
- 정의 마스터 정리 (Master Theorem) 는 분할 정복 알고리즘의 시간 복잡도를 표현하는 점화식을 닫힌 형태 (closed form) 로 풀어주는 공식입니다. 적용 대상:…
- 매개 변수 탐색 (Parametric Search) algorithm ← 2
- 별칭: parametric search, 매개 변수 탐색, 파라메트릭 서치, parametric-search
- 정의 매개 변수 탐색 (Parametric Search) 은 답 자체를 이분 탐색하는 기법. "조건을 만족하는 최소값 / 최대값" 문제에서, 조건 만족 여부가 단조성 (monot…
- 매내처 알고리즘 (Manacher's Algorithm) algorithm ← 3
- 별칭: manacher, manacher's algorithm, 매내처, 회문 알고리즘
- 정의 매내처 알고리즘 (Manacher's Algorithm) 은 문자열 의 모든 위치에서 중심으로 하는 최장 회문 (palindrome) 반지름 을 O(N) 시간에 계산하는 선…
- 머지 소트 트리 (Merge Sort Tree) algorithm ← 3
- 별칭: merge sort tree, 머지 소트 트리, 정렬된 세그먼트 트리
- 정의 머지 소트 트리 (Merge Sort Tree) 는 세그먼트 트리의 각 노드에 해당 구간의 정렬된 부분 배열을 저장하는 자료구조. 구간 내에서 k 이하 원소의 개수, k번째…
- 명제 논리 (Propositional Logic) discrete-math ← 4
- 별칭: Propositional Logic, 명제 논리, 명제, 진리표, 논리 연산, 함의, 동치
- 정의 명제 (Proposition) 는 참 (T) 또는 거짓 (F) 값을 가지는 서술문입니다. 참/거짓을 판단할 수 없는 문장 (질문, 명령, 감탄) 은 명제가 아닙니다. 예 (…
- 모델 양자화 ml ← 7
- 별칭: Quantization, 양자화, Model Quantization, model quantization, quantization
- 정의 양자화 (Quantization) 는 신경망 모델의 가중치/활성화를 높은 정밀도 (FP32, FP16) 에서 낮은 정밀도 (INT8, INT4 등) 로 변환하여 메모리와 연…
- 모듈러 산술 (Modular Arithmetic) algorithm ← 15
- 별칭: modular-arithmetic, Modular Arithmetic, 모듈러 산술, 합동 관계, modular exponentiation, modular inverse, modular multiplication, mod 연산
- 정의 모듈러 산술 (Modular Arithmetic) 은 정수를 특정 수 $m$ 으로 나눈 나머지 로 대응시켜 다루는 산술 체계입니다. 합동 관계 $a \equiv b \pmo…
- 모듈러 역원 (Modular Multiplicative Inverse) algorithm ← 3
- 별칭: modular inverse, Modular Multiplicative Inverse, 모듈러 역원, modular-multiplicative-inverse, inverse modulo, mod inverse
- 정의 정수 a 의 모듈러 역원 (modular multiplicative inverse) 은 을 만족하는 정수 x. 기호로 또는 . 존재 조건: gcd(a, m) = 1 일 때만…
- 문자열 (String) algorithm ← 6
- 별칭: string, 문자열, 문자열 알고리즘
- 정의 문자열 (String) 은 문자(character)의 순서 있는 나열. 프로그래밍에서는 연속된 메모리에 저장된 문자 배열 로 구현되며, 각 문자는 ASCII(7비트) 또는 …
- 문자열 해싱 (String Hashing) algorithm ← 6
- 별칭: string hashing, rolling hash, 문자열 해싱, 해시, 라빈-카프
- 정의 문자열 해싱 (String Hashing) 은 문자열을 고정 길이의 정수 (해시값) 로 매핑하여, 부분 문자열 비교를 O(1) 에 수행할 수 있게 만드는 기법. Rabin과…
- 물리 시뮬레이션 (Physics Simulation) algorithm
- 별칭: physics, 물리 시뮬레이션, 운동 방정식, 충돌 처리, physics-simulation
- 정의 물리 시뮬레이션 (Physics Simulation) 은 뉴턴 역학의 운동 방정식 (F=ma, 속도, 가속도) 을 수치적으로 적분하여 시간 경과에 따른 물체의 위치와 속도를…
- 미적분 (Calculus) algorithm ← 2
- 별칭: calculus, 미적분, 미분, 적분, numerical integration, numerical differentiation
- 정의 미적분 (Calculus) 은 함수의 변화율(미분)과 누적량(적분)을 다루는 수학 분야. 알고리즘 문제에서는 수치 미분 (Numerical Differentiation) 과…
- 민코프스키 합 DP algorithm ← 2
- 별칭: 민코프스키 합 DP, Minkowski Sum DP
- 정의 민코프스키 합 (Minkowski Sum) 은 두 점 집합 , 의 합 . 두 볼록 다각형의 민코프스키 합은 각 변을 각도순으로 합친 새로운 볼록 다각형, O(|A| + |B…
ㅂ (24)
- 방향 비순환 그래프 (DAG) algorithm ← 4
- 별칭: dag, directed acyclic graph, DAG, 방향 비순환 그래프
- 정의 방향 비순환 그래프 (Directed Acyclic Graph, DAG) 는 사이클이 없는 방향 그래프. 어떤 정점에서 출발해도 자기 자신으로 돌아오는 경로가 없다. DAG…
- 배낭 문제 (Knapsack) algorithm ← 7
- 별칭: knapsack, 배낭 문제, 0-1 knapsack, unbounded knapsack
- 정의 배낭 문제 (Knapsack Problem) 은 무게 제한 W 인 배낭에 가치 vi, 무게 wi 인 물건 N 개 중 일부를 담아 총 가치 최대화하는 조합 최적화 문제. NP…
- 배열 (Array) algorithm ← 1
- 별칭: array, 배열, Array, 정적 배열, 동적 배열, static array, dynamic array
- 정의 배열 (Array) 는 동일한 타입의 원소를 메모리에 연속으로 저장하는 가장 기본적인 선형 자료구조다. - 정적 배열 (Static Array): 크기가 컴파일 타임에 고정…
- 백트래킹 (Backtracking) algorithm ← 6
- 별칭: backtracking, 백트래킹, 되추적, back-tracking
- 정의 백트래킹 (Backtracking) 은 DFS + 가지치기 (pruning) 로 모든 경우를 탐색하되, 불가능한 후보를 조기 제거하여 탐색 공간을 극적으로 줄이는 알고리즘.…
- 번사이드 보조정리 (Burnside's Lemma) algorithm
- 별칭: burnside's lemma, 번사이드 보조정리, Cauchy-Frobenius, orbit-counting, burnside
- 정의 번사이드 보조정리 (Burnside's Lemma, Cauchy-Frobenius Lemma) 는 군 G 가 집합 X 에 작용할 때, 궤도(orbit)의 개수 를 구하는 공…
- 베이즈 정리 (Bayes Theorem) algorithm ← 1
- 별칭: Bayes theorem, 베이즈 정리, Bayes rule, conditional probability, Bayes
- 정의 베이즈 정리 (Bayes Theorem) 는 조건부 확률의 대칭성을 이용해 P(A|B) 를 P(B|A) 로 표현하는 공식: - P(A): 사전 확률 (prior) - 증거를…
- 벨만-포드 알고리즘 (Bellman-Ford Algorithm) algorithm ← 7
- 별칭: bellman-ford, 벨만포드, 벨만-포드, 음수 가중치 최단 경로
- 정의 벨만-포드 알고리즘 (Bellman-Ford Algorithm) 은 음수 가중치 간선을 허용하면서 단일 시작점 s 로부터 모든 정점까지의 최단 거리를 찾는 DP 기반 알고리…
- 병렬 이분 탐색 (Parallel Binary Search) algorithm ← 3
- 별칭: parallel binary search, PBS, 병렬 이분 탐색, parametric search, pbs
- 정의 병렬 이분 탐색 (Parallel Binary Search, PBS) 은 Q 개의 쿼리를 각각 독립적으로 이분탐색하지 않고, 모든 쿼리의 이분탐색을 라운드별로 동시에 진행하…
- 보이어-무어 다수결 투표 (Boyer-Moore Majority Vote) algorithm
- 별칭: majority vote, 보이어-무어 다수결, 과반수 투표, majority-vote
- 정의 보이어-무어 다수결 투표 (Boyer-Moore Majority Vote) 는 배열에서 과반수 (> N/2) 를 차지하는 원소를 O(N) 시간, O(1) 공간으로 찾는 알고…
- 볼록 껍질 (Convex Hull) algorithm ← 15
- 별칭: convex hull, 볼록 껍질, convex-hull, Andrew monotone chain, Graham scan
- 정의 볼록 껍질 (Convex Hull) 은 주어진 점 집합 P 를 모두 포함하는 최소 크기의 볼록 다각형. 즉 P 의 어떤 점도 다각형 외부에 있지 않고, 다각형의 꼭짓점은 P…
- 볼록 다각형 내부 점 판정 (Point in Convex Polygon) algorithm ← 3
- 별칭: point in convex polygon, 볼록 다각형 내부 점, convex polygon point containment, binary search on angle
- 정의 볼록 다각형 내부 점 판정 은 볼록 다각형(convex polygon) 과 하나의 점이 주어졌을 때, 점이 다각형의 내부/경계/외부 중 어디에 있는지 O(log N) 에 판…
- 볼록 다각형 접선 최적화 algorithm ← 5
- 별칭: Convex Tangent Optimization, 볼록 다각형 접선 최적화
- 정의 볼록 다각형의 접선을 이용한 최적화 는 두 종류 비용의 곱 / 합 형태의 trade-off 를 최소화 / 최대화할 때, 모든 가능 해 (x, y) 들이 만드는 평면 점집합의…
- 부울 대수 (Boolean Algebra) discrete-math ← 3
- 별칭: Boolean Algebra, 부울 대수, 부울 함수, 논리 회로, 카르노 맵, 정규형, SAT
- 정의 부울 대수 (Boolean Algebra) 는 두 값 (참/거짓, 1/0) 과 세 연산 (AND, OR, NOT) 을 다루는 대수 시스템입니다. 1854년 George Bo…
- 분류 모델 지표: Confusion Matrix, Precision, Recall, F1 ml ← 8
- 별칭: classification metrics, confusion matrix, true positive, false positive, true negative, false negative, TP, FP, TN, FN, precision, recall, 정밀도, 재현율, F1 score, F1, F-beta, specificity, sensitivity, ROC curve, AUC, AUC-ROC, AUC-PR, PR curve, MCC, Matthews Correlation Coefficient, Cohen's Kappa
- 정의 분류 (classification) 모델의 성능을 정량화하는 지표들입니다. 이진 분류를 기준으로 하며, multi-class 로 확장하는 방법도 함께 다룹니다. 핵심 출발점…
- 분리 집합 (Disjoint Set, Union-Find) algorithm ← 6
- 별칭: Disjoint Set Union, Union-Find, disjoint set, union find, 분리 집합, 서로소 집합, 유니온 파인드
- 정의 분리 집합 (Disjoint Set, Union-Find) 은 서로 겹치지 않는 집합들을 관리하며, 다음 두 연산을 거의 상수 시간 (amortized O(α(N)), α는…
- 분산 학습 ml ← 7
- 별칭: Distributed Training, distributed training, 분산 훈련, model parallelism, tensor parallelism, pipeline parallelism, data parallelism
- 정의 분산 학습 (Distributed Training) 은 한 또는 에 들어가지 않는 큰 모델을 여러 가속기에 나눠서 학습시키는 기법. 현대 LLM (Llama 405B, GP…
- 분할 정복 (Divide and Conquer) algorithm ← 5
- 별칭: divide and conquer, 분할 정복, divide-and-conquer
- 정의 분할 정복 (Divide and Conquer) 은 문제를 더 작은 부분 문제로 나누고 (Divide), 각각 해결한 후 (Conquer), 결과를 합쳐 (Combine) …
- 분할 정복을 이용한 거듭제곱 (Exponentiation by Squaring) algorithm ← 7
- 별칭: exponentiation by squaring, 거듭제곱, 빠른 거듭제곱, fast exponentiation, binary exponentiation
- 정의 분할 정복을 이용한 거듭제곱 (Exponentiation by Squaring) 은 을 O(log n) 시간에 계산하는 분할 정복 알고리즘. 같은 모듈러 연산에서 특히 필수…
- 분할정복 DP 최적화 (Divide and Conquer Optimization) algorithm ← 5
- 별칭: Divide and Conquer Optimization, D&C Optimization, DnC Optimization, monotone queue optimization, 분할정복 DP, DnC DP
- 정의 분할정복 DP 최적화 (Divide and Conquer Optimization) 는 꼴의 DP 에서, 최적 분할점 opt[i][j] 가 j 에 대해 단조 비감소 ( ) 일…
- 불변량 (Invariant) algorithm ← 2
- 별칭: invariant, 불변량, 불변량 찾기, invariant method
- 정의 불변량 (Invariant) 은 어떤 변환(operation)이 적용되어도 변하지 않는 양이나 성질. 불가능성 증명, 알고리즘의 정당성(correctness) 증명, 종료 …
- 브루트포스 (Bruteforcing) algorithm
- 별칭: bruteforce, 브루트포스, 완전 탐색, exhaustive search
- 정의 브루트포스 (Bruteforcing, 완전 탐색) 는 가능한 모든 경우를 체계적으로 나열하고 검증하는 알고리즘. 프로그래밍 대회에서 가장 기초이자 가장 안전한 접근이며, 문…
- 비트마스크 DP (Bitmask DP) algorithm ← 12
- 별칭: bitmask dp, DP Bitfield, 비트마스크 DP, 비트필드 DP, dp-bitfield, TSP DP
- 정의 비트마스크 DP (Bitmask DP) 는 상태 공간이 부분집합 으로 표현될 때, 각 부분집합을 정수의 비트로 인코딩해 DP 상태로 삼는 기법. N ≤ 20 범위에서 O(2…
- 비트마스킹 (Bitmask) algorithm ← 4
- 별칭: Bit Manipulation, bitmask, 비트마스킹, 비트 마스크, bit-mask
- 정의 비트마스킹 (Bitmask) 은 집합 / 상태 를 정수의 비트 패턴 으로 인코딩해 집합 연산을 비트 연산으로 처리하는 기법. 같은 집합을 으로 표현하면, 멤버 확인 / 추가…
- 비트셋 LCS (Bitset LCS) algorithm ← 1
- 별칭: bitset LCS, 비트셋 LCS, bitset-lcs, Hyyro LCS, Allison-Dix LCS
- 정의 Bitset LCS 는 두 문자열 A, B 의 최장 공통 부분 수열 (LCS) 길이를 O(NM/w) 시간에 구하는 기법. 표준 LCS DP 의 O(NM) 를 비트 병렬 (b…
ㅅ (20)
- 사칙연산 (Arithmetic Operations) algorithm ← 2
- 별칭: arithmetic, 사칙연산, 큰 수 연산, overflow
- 정의 사칙연산 (Arithmetic Operations) 은 덧셈, 뺄셈, 곱셈, 나눗셈의 정확한 구현을 다루는 PS 태그. 큰 수 표현 (large integer), 오버플로우…
- 삼분 탐색 (Ternary Search) algorithm ← 1
- 별칭: ternary search, 삼분 탐색, 삼분검색, ternary-search
- 정의 삼분 탐색 (Ternary Search) 은 단봉 (unimodal) 함수의 극값 (최대 / 최소) 을 O(log N) 에 찾는 알고리즘. 구간을 3등분하는 두 점 , 에서…
- 서큘레이션 (Circulation) algorithm
- 별칭: circulation, 서큘레이션, feasible flow, 하한 유량, flow with lower bounds
- 정의 서큘레이션 (Circulation) 은 방향 그래프 G = (V, E) 에서 모든 간선에 하한 l(u,v) 과 상한 c(u,v) 이 주어질 때, 모든 정점에서 유량 보존 (…
- 선분 교차 (Line Segment Intersection) algorithm ← 1
- 별칭: line intersection, 선분 교차, line segment intersection, CCW intersection, 선분 교차 판정
- 정의 선분 교차 판정 (Line Segment Intersection) 은 2D 평면 위 두 선분 AB 와 CD 가 서로 교차하는지 O(1) 에 판정하는 기하 연산. CCW (C…
- 선인장 그래프 (Cactus Graph) algorithm
- 별칭: cactus graph, 선인장 그래프, cactus
- 정의 선인장 그래프 (Cactus Graph) 는 모든 간선이 최대 한 개의 단순 사이클에만 포함되는 무방향 연결 그래프. 트리 (tree) 의 일반화로, 사이클은 허용하되 "사…
- 선형 계획법 (Linear Programming) algorithm ← 1
- 별칭: linear programming, 선형 계획법, LP, simplex, linear program
- 정의 선형 계획법 (Linear Programming, LP) 은 선형 부등식 제약 조건 아래에서 선형 목적 함수를 최적화 (최대화/최소화) 하는 문제. 표준형: 변수 x ∈ ℝ…
- 선형대수 (Linear Algebra) algorithm ← 3
- 별칭: linear algebra, 선형대수, 행렬, 벡터, 선형대수학, linear-algebra
- 정의 선형대수 (Linear Algebra) 는 벡터 공간 (vector space) 과 선형 변환 (linear transformation) 을 다루는 수학 분야. PS 에서는…
- 세그먼트 트리 (Segment Tree) algorithm ← 32
- 별칭: segment tree, Segtree, 세그먼트 트리, 구간 트리, segtree, Multi Segtree, 2D Segtree, merge sort tree
- 정의 세그먼트 트리 (Segment Tree) 는 배열의 구간 쿼리 (range query) 와 점 갱신 (point update) 를 모두 O(log N) 에 처리하는 이진 트…
- 세그먼트 트리 그래프 간선 압축 algorithm
- 별칭: Segment Tree Graph, 세그먼트 트리 그래프, Segment Tree on Graph Edges
- 정의 세그먼트 트리 그래프 간선 압축 은 "한 정점 v 에서 구간 의 모든 정점으로 가는 간선" (또는 구간에서 구간으로) 을 단순 V·N 간선 대신 세그먼트 트리의 노드를 가상…
- 소수 판정 (Primality Test) algorithm ← 5
- 별칭: primality test, 소수 판정, 소수 테스트, primality-test
- 정의 소수 판정 (Primality Test) 은 주어진 정수 N이 소수인지 합성수인지 판별하는 알고리즘. 시행 나눗셈 (Trial Division) O(√N), 확률적 Ferm…
- 소인수분해 (Prime Factorization) algorithm ← 8
- 별칭: prime factorization, 소인수분해, 소인수 분해, prime-factorization
- 정의 소인수분해 (Prime Factorization) 는 양의 정수 N을 소수들의 곱으로 유일하게 나타내는 것. N = p₁^a₁ · p₂^a₂ · ... · pₖ^aₖ. 시행…
- 수치해석 (Numerical Analysis) algorithm ← 2
- 별칭: numerical analysis, 수치해석, Newton method, Simpson rule, root finding
- 정의 수치해석 (Numerical Analysis) 은 해석적 해가 어렵거나 없는 문제를 수치적 근사로 푸는 분야. PS 에서는 크게 두 가지가 자주 등장한다. Newton-Ra…
- 수학 (Mathematics) algorithm ← 4
- 별칭: math, 수학, 정수론 기초, modular arithmetic
- 정의 수학 (Mathematics) 은 문제 해결에 필요한 모듈러 산술 (modular arithmetic), 최대공약수/최소공배수 (GCD/LCM), 거듭제곱 (exponent…
- 순열 사이클 분해 (Permutation Cycle Decomposition) algorithm ← 2
- 별칭: permutation cycle decomposition, 순열 사이클, permutation cycle, cycle decomposition
- 정의 순열 사이클 분해는 순열 p[1..N]을 서로소(disjoint)인 사이클들의 곱으로 표현하는 것. 각 사이클 (a1 a2 ... ak) 는 a1 -> p[a1] = a2,…
- 스위핑 (Sweeping) algorithm ← 5
- 별칭: sweeping, 스위핑, 라인 스위핑, line sweep, sweep line
- 정의 스위핑 (Sweeping) 은 시간 또는 공간 축 위의 이벤트를 정렬한 뒤, 한 방향으로 훑으며 상태를 갱신해 문제를 푸는 기법입니다. 선분 교차, 구간 합집합, 최대 겹침…
- 스택 (Stack) algorithm ← 4
- 별칭: stack, 스택, LIFO, 단조 스택, monotonic stack
- 정의 스택 (Stack) 은 LIFO (Last In, First Out) 순서로 원소를 관리하는 추상 자료구조입니다. , , 세 연산만 제공하며, 가장 최근 삽입된 원소만 접근…
- 스프라그-그런디 정리 (Sprague-Grundy) algorithm ← 2
- 별칭: sprague-grundy, 스프라그-그런디, SG theorem, Grundy number, nimber, sprague-grundy
- 정의 스프라그-그런디 정리 (Sprague-Grundy) 는 모든 impartial combinatorial game (두 플레이어가 같은 행동 가능, 무작위성 없음, 완전 정보…
- 슬라이딩 윈도우 (Sliding Window) algorithm ← 5
- 별칭: sliding window, 슬라이딩 윈도우, sliding-window
- 정의 슬라이딩 윈도우 (Sliding Window) 는 배열/문자열 위에서 고정 크기 또는 가변 크기 윈도우가 한 방향으로 미끄러지며 각 윈도우마다 조건 (합, 최댓값, 중복 여…
- 시간 복잡도 (Time Complexity) algorithm ← 1
- 별칭: time complexity, 시간 복잡도, time-complexity, Big-O, 빅오, 점근적 표기법, asymptotic notation
- 정의 시간 복잡도 (Time Complexity) 는 입력 크기 N 이 증가할 때 알고리즘의 연산 횟수 증가율 을 나타낸다. PS 에서는 주로 최악 케이스 Big-O 표기법 을 …
- 시뮬레이션 (Simulation) algorithm ← 3
- 별칭: simulation, 시뮬레이션, 구현
- 정의 시뮬레이션 (Simulation) 은 문제에서 제시한 규칙을 그대로 코드로 옮겨 한 단계씩 따라가는 알고리즘. 복잡한 로직보다 정확한 구현과 엣지 케이스 처리 가 핵심. P…
ㅆ (1)
- 쌍대성 (Duality) algorithm ← 1
- 별칭: duality, 쌍대성, primal-dual, LP duality, weak duality, strong duality
- 정의 쌍대성 (Duality) 은 하나의 최적화 문제 (Primal) 에 항상 대응되는 또 다른 최적화 문제 (Dual) 가 존재한다는 원리. LP 에서 Primal-Dual 쌍…
ㅇ (24)
- 안정 결혼 문제 (Stable Marriage) algorithm
- 별칭: stable marriage, 안정 결혼, Gale-Shapley, GS algorithm
- 정의 안정 결혼 문제 (Stable Marriage Problem) 는 N 명의 남성과 N 명의 여성이 각자 선호도 목록을 가지고 있을 때, 모든 쌍이 안정적 (stable) 인…
- 애드 혹 (Ad Hoc) algorithm ← 2
- 별칭: ad hoc, 애드 혹, 임기응변
- 정의 애드 혹 (Ad Hoc) 은 범용 알고리즘이 아닌, 그 문제만의 관찰·트릭·창의적 사고로 푸는 문제 유형. 라틴어로 "이 목적을 위한" 이라는 뜻. 정형화된 자료구조나 DP…
- 양방향 탐색 (Bidirectional Search) algorithm ← 1
- 별칭: bidirectional search, 양방향 탐색, 양방향 BFS, bidirectional BFS, bidirectional-search
- 정의 양방향 탐색 (Bidirectional Search) 은 source 와 target 에서 동시에 탐색을 진행하여 중간에서 만나는 전략. 주로 무가중치 그래프의 최단 경로를…
- 에라토스테네스의 체 (Sieve of Eratosthenes) algorithm ← 9
- 별칭: sieve, 에라토스테네스, sieve of eratosthenes, 선형 체, linear sieve
- 정의 에라토스테네스의 체 (Sieve of Eratosthenes) 는 1부터 N 까지의 모든 소수를 O(N log log N) 에 찾는 고대 그리스 알고리즘. 기원전 240 년…
- 역추적 (DP Traceback) algorithm
- 별칭: traceback, 역추적, DP 복원, DP 경로 복원, LCS 복원, lcs traceback, knapsack traceback
- 정의 역추적 (Traceback) 은 DP 표를 채울 때 parent / choice 배열에 최적해의 결정을 기록하고, 최종 상태에서 출발하여 거꾸로 따라가며 최적해를 복원하는 …
- 연결 리스트 (Linked List) algorithm ← 3
- 별칭: linked list, 연결 리스트, linked-list, 리스트
- 정의 연결 리스트 (Linked List) 는 노드 + 포인터로 구성된 선형 자료구조. 각 노드는 데이터 + 다음 노드 포인터. 종류: - Singly Linked List: 노…
- 오일러 경로/회로 (Eulerian Path and Circuit) algorithm
- 별칭: eulerian path, eulerian circuit, 오일러 경로, 오일러 회로, eulerian-path
- 정의 오일러 경로 (Eulerian Path) 는 그래프의 모든 간선을 정확히 한 번씩 지나는 경로. 오일러 회로 (Eulerian Circuit) 는 시작점과 끝점이 같은 오일…
- 오일러 지표 (Euler Characteristic) algorithm
- 별칭: euler characteristic, 오일러 지표, Euler formula, V-E+F, χ, polyhedron classification
- 정의 오일러 지표 (Euler Characteristic) χ 는 다면체(polyhedron) 또는 CW 복합체의 위상적 불변량으로, χ = V - E + F 로 정의. V는 꼭…
- 오일러 투어 테크닉 (Euler Tour Technique) algorithm ← 8
- 별칭: euler tour, 오일러 투어, ETT, Euler Tour Technique
- 정의 오일러 투어 테크닉 (ETT, Euler Tour Technique) 은 트리를 DFS 방문 순서로 펼쳐 서브트리 쿼리를 구간 쿼리로 변환하는 정형. 각 노드 u 의 in-…
- 오일러 피 함수 (Euler's Totient Function) algorithm ← 4
- 별칭: euler phi, 오일러 피 함수, totient, phi, euler_phi, φ(n)
- 정의 오일러 피 함수 φ(n) 는 1 이상 n 이하의 자연수 중 n 과 서로소인 수의 개수. 1763년 레온하르트 오일러가 도입. , 소수 p 에 대해 . 문제 상황과 동기 n …
- 외판원 순회 문제 (TSP) algorithm ← 1
- 별칭: 비트마스크, tsp, TSP, 외판원 순회, traveling salesman, traveling-salesman, bitmask dp tsp
- 정의 외판원 순회 문제 (TSP) 는 N 개 도시를 모두 정확히 한 번씩 방문하고 시작 도시로 돌아오는 최소 비용 경로 (Hamiltonian cycle) 를 찾는 NP-hard…
- 우선순위 큐 (Priority Queue) algorithm ← 1
- 별칭: priority queue, 우선순위 큐, 힙, heap
- 정의 우선순위 큐 (Priority Queue) 는 원소 중 최댓값 (또는 최솟값) 을 O(log N) 에 추출하는 자료구조. 내부 구현은 대개 힙 (heap). - Max-He…
- 위상 정렬 (Topological Sorting) algorithm ← 8
- 별칭: Topological Sorting, topological sort, 위상 정렬, topological-sorting, topological-sort
- 정의 위상 정렬 (Topological Sorting) 은 방향 비순환 그래프 (DAG) 의 모든 정점을 간선 방향을 어기지 않도록 일렬로 나열하는 것. 간선 가 있으면 정렬 결…
- 유클리드 호제법 (Euclidean Algorithm) algorithm ← 10
- 별칭: euclidean algorithm, 유클리드 호제법, gcd, euclidean
- 정의 유클리드 호제법 (Euclidean Algorithm) 은 두 정수 a, b 의 최대공약수 (GCD, Greatest Common Divisor) 를 O(log min(a,…
- 이분 그래프 (Bipartite Graph) algorithm ← 5
- 별칭: bipartite graph, 이분 그래프, 2-coloring, 2색 칠하기, 이분 매칭
- 정의 이분 그래프 (Bipartite Graph) 는 정점 집합 V 를 두 개의 독립 집합 L, R 로 분할할 수 있고, 모든 간선이 L 과 R 을 잇는 그래프. 같은 집합 내 …
- 이분 매칭 (Bipartite Matching) algorithm ← 10
- 별칭: bipartite matching, 이분 매칭, 최대 매칭, maximum matching, Hopcroft-Karp, augmenting path
- 정의 이분 매칭 (Bipartite Matching) 은 이분 그래프 G = (L ∪ R, E) 에서 간선 부분집합 M ⊆ E 을 선택하되, M 의 어떤 두 간선도 정점을 공유하…
- 이분 탐색 (Binary Search) algorithm ← 13
- 별칭: binary search, 이분 탐색, 이진 탐색, binary-search
- 정의 이분 탐색 (Binary Search) 은 정렬된 시퀀스에서 목표값의 위치를 O(log N) 에 찾는 알고리즘. 매 단계에서 후보 구간을 절반으로 줄인다. 탐색이 본질이 아…
- 이산 로그 (Discrete Logarithm) algorithm ← 3
- 별칭: discrete logarithm, 이산 로그, BSGS, baby-step giant-step, discrete-log
- 정의 이산 로그 (Discrete Logarithm) 는 군 G 에서 를 만족하는 최소 음이 아닌 정수 x 를 찾는 문제. 실수 로그와 달리, mod 연산 아래에서의 역연산은 어…
- 이산 제곱근 (Discrete Square Root / Tonelli-Shanks) algorithm ← 2
- 별칭: quadratic-residue, discrete sqrt, discrete square root, Tonelli-Shanks, 이산 제곱근, 모듈러 제곱근, modular square root
- 정의 이산 제곱근 (Discrete Square Root) 은 소수 p 에 대해 를 만족하는 x 를 찾는 문제. 가 이차잉여 (quadratic residue) 이면 해가 존재하…
- 이산 k 제곱근 (Discrete Kth Root) algorithm
- 별칭: discrete kth root, discrete root, 이산 k 제곱근, 이산 근
- 정의 이산 k 제곱근 (Discrete Kth Root) 은 소수 p 에 대해 를 만족하는 모든 x 를 찾는 문제. 원시근 (primitive root) 으로 지표화하여 이산 로…
- 이산수학 (Discrete Mathematics) discrete-math ← 12
- 별칭: Discrete Mathematics, 이산수학, discrete math, 이산 수학, 이산수학 개요
- 정의 이산수학 (Discrete Mathematics) 은 이산 (discrete, 셀 수 있는) 대상을 다루는 수학의 분야입니다. 연속 (continuous) 대상 을 다루는 …
- 이중 연결 요소 (BCC, Biconnected Component) algorithm ← 1
- 별칭: bcc, biconnected component, 이중 연결 요소, 단절점, 단절선, articulation point, bridge
- 정의 이중 연결 요소 (Biconnected Component, BCC) 는 무방향 그래프에서 정점 하나를 제거해도 연결성이 유지되는 최대 부분 그래프. 단절점 (articula…
- 일급 함수 javascript ← 8
- 별칭: first-class function, first class function, 일급함수, first-class object, 일급 객체, first class object
- 정의 일급 함수 (First-Class Function): 함수를 숫자, 문자열, 객체처럼 값으로 다룰 수 있는 언어의 특성. 다음 세 가지가 모두 가능하면 그 언어의 함수는 일…
- 임의 정밀도 / 큰 수 산술 (Arbitrary Precision) algorithm ← 2
- 별칭: arbitrary precision, big integer, 임의 정밀도, 큰 수 산술, arbitrary-precision
- 정의 임의 정밀도 (Arbitrary Precision) 또는 큰 수 산술 (Big Integer / Bignum) 은 고정된 바이트 한계(32-bit, 64-bit) 없이 메모…
ㅈ (19)
- 자료구조 (Data Structures) algorithm ← 6
- 별칭: avl-tree, AVL Tree, data structures, Data Structure, data structure, 자료구조, DS
- 정의 자료구조 (Data Structure) 는 데이터를 효율적으로 저장하고 접근하기 위한 조직화 방법. 문제 풀이에서는 시간 복잡도와 공간 복잡도의 trade-off 를 정확히…
- 자릿수 DP (Digit DP) algorithm
- 별칭: digit dp, 자릿수 DP, 자리수 DP, dp-digit
- 정의 자릿수 DP (Digit DP) 는 [0, N] 범위 또는 [L, R] 구간에서 조건을 만족하는 정수의 개수를 세는 DP 기법. 각 자릿수를 순차적으로 선택하며, "현재까지…
- 작은 집합을 큰 집합에 합치기 (Smaller to Larger) algorithm ← 1
- 별칭: smaller to larger, small to large, dsu on tree, smaller-to-larger
- 정의 Smaller to Larger (작은 집합을 큰 집합에 합치기) 는 두 집합을 합칠 때 항상 작은 쪽을 큰 쪽에 합치면 전체 O(N log N) 또는 O(N log^2 N…
- 재귀 (Recursion) algorithm ← 3
- 별칭: recursion, 재귀, recursive
- 정의 재귀 (Recursion) 는 함수가 자기 자신을 호출하는 프로그래밍 기법. base case (종료 조건) 와 recursive case (재귀 단계) 로 구성되며, 복잡…
- 재귀 트리 DP / Rerooting algorithm
- 별칭: rerooting, all root dp, 트리 재귀 DP, 전체 루트 DP
- 정의 Rerooting (재귀 트리 DP) 은 모든 정점을 루트로 하는 트리 DP 결과를 O(N) 에 구하는 기법. 두 번의 DFS 로 "루트 v 에서 서브트리 DP" → "루트…
- 전처리 (Precomputation) algorithm
- 별칭: precomputation, 전처리, 사전 계산, 전처리 테이블, precompute
- 정의 전처리 (Precomputation) 는 런타임 이전 또는 초기화 단계에서 필요한 값을 미리 계산해 두고, 본 쿼리/연산을 빠르게 처리하는 정형. 대표적으로 테이블 채우기,…
- 점화식 (Recurrence Relations) discrete-math ← 3
- 별칭: Recurrence Relations, 점화식, 재귀 관계, 마스터 정리, 생성함수 풀이, 특성 방정식
- 정의 점화식 (Recurrence Relation) 은 수열 $(an)$ 의 $n$ 번째 항을 앞선 항 (또는 몇 개) 로 표현하는 관계식입니다. 초기 조건 과 점화식이 함께 있…
- 정규 표현식 (Regular Expression, Regex) algorithm ← 2
- 별칭: regex, regular expression, 정규 표현식, 정규식, NFA, DFA
- 정의 정규 표현식 (Regular Expression) 은 문자열 패턴을 형식 언어로 표현한 표기법. Stephen Kleene 이 1956년 정규 언어 (regular lang…
- 정렬 알고리즘 algorithm ← 18
- 별칭: sorting algorithm, 정렬 알고리즘, sort, sorting, 정렬
- 정의 정렬 (sort) 은 원소들의 컬렉션을 어떤 전순서 (total order) 기준으로 재배열하는 것. 알고리즘 입문의 정석 주제이자, 데이터베이스·검색·통계 등 모든 시스템…
- 정수론 (Number Theory) algorithm ← 6
- 별칭: number theory, 정수론, 수론
- 정의 정수론 (Number Theory) 은 정수의 성질과 관계를 연구하는 분야. PS 에서는 약수/배수, 소수 (prime), 모듈러 연산, 유클리드 호제법, 확장 유클리드, …
- 제곱근 분할 (Sqrt Decomposition) algorithm ← 3
- 별칭: sqrt decomposition, 제곱근 분할, sqrt-decomposition, 루트 분할
- 정의 제곱근 분할 (Sqrt Decomposition) 은 크기 N 배열을 √N 개씩 블록으로 나누고, 각 블록을 전처리해 구간 연산을 O(√N) 에 처리하는 자료구조 기법. 문…
- 조합론 (Combinatorics) algorithm ← 14
- 별칭: combinatorics, 조합론, 순열, 조합, 이항계수, nCr
- 정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세는 수학 분야. PS 에서는 주로 순열 (Permutation), 조합 (Combination), 이항계수 (B…
- 조합론 기초 (Combinatorics) discrete-math ← 9
- 별칭: Combinatorics, 조합론, 계수, 순열, 조합, 이항계수, 포함배제, Counting, counting, 카운팅, 세기
- 정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세거나 배열하는 방법을 다루는 수학 분야입니다. "경우의 수 계산" 과 "구조의 존재/구성" 이 핵심 주제. 컴퓨…
- 조화수 (Harmonic Number) algorithm
- 별칭: harmonic number, 조화수, H_n, harmonic series, harmonic-number
- 정의 조화수 (Harmonic Number) 은 자연수 n 에 대해 역수의 합 으로 정의. 점근적으로 (γ ≈ 0.5772, 오일러-마스케로니 상수). 정수론과 알고리즘 분석에서…
- 중국인의 나머지 정리 (Chinese Remainder Theorem) algorithm ← 11
- 별칭: CRT, 중국인의 나머지 정리, chinese remainder theorem, 중국인 나머지
- 정의 중국인의 나머지 정리 (CRT) 는 다음과 같은 연립 합동식의 해가 유일 하게 존재함을 보장: 단, m1, m2, ..., mk 는 쌍마다 서로소 (pairwise copr…
- 중심 분해 (Centroid Decomposition) algorithm ← 3
- 별칭: centroid decomposition, 중심 분해, centroid tree, 센트로이드 분해
- 정의 중심 분해 (Centroid Decomposition) 는 트리를 중심 으로 재귀적으로 분할하여 O(log N) 깊이의 분해 트리 를 만드는 기법. 각 레벨에서 트리 크기가…
- 증명 기법 (Proof Techniques) discrete-math ← 6
- 별칭: Proof Techniques, 증명 기법, 수학적 귀납법, 귀류법, 직접 증명, 구조 귀납법, 존재 증명
- 정의 증명 (proof) 은 명제가 참임을 논리적으로 확립하는 절차입니다. 컴퓨터 과학에서는 알고리즘 정확성, 자료구조 불변식, 암호 안전성, 형식 검증 등에 필수. 이 문서는 …
- 집합, 관계, 함수 (Sets, Relations, Functions) discrete-math ← 6
- 별칭: Sets Relations Functions, 집합, 관계, 함수, 동치 관계, 부분 순서, 전단사
- 정의 - 집합 (set): 서로 다른 원소들의 모음 - 관계 (relation): 두 집합 사이의 원소들의 대응 규칙 - 함수 (function): 정의역의 각 원소를 치역의 유…
- 집합과 맵 (Set and Map) algorithm ← 14
- 별칭: set, map, 집합, 맵, associative container
- 정의 집합 (Set) 은 고유한 원소들의 모임을 나타내는 추상 자료구조로, 멤버십 검사, 삽입, 삭제를 지원한다. 맵 (Map, Dictionary) 은 키-값 쌍을 저장하며, …
ㅊ (13)
- 차분 배열 (Difference Array) algorithm ← 3
- 별칭: difference array, 차분 배열, difference-array
- 정의 차분 배열 (Difference Array) 은 배열 의 인접 차 (adjacent difference) 를 저장하는 배열 (단, ). 원 배열은 , 즉 d 의 누적 합 (…
- 차분 분석 (Differential Cryptanalysis) algorithm
- 별칭: differential cryptanalysis, 차분 분석, 차분 공격, differential-cryptanalysis
- 정의 차분 분석 (Differential Cryptanalysis) 은 선택된 평문 공격(chosen-plaintext attack)으로, 1991년 Eli Biham과 Adi …
- 차수열 (Degree Sequence) algorithm
- 별칭: degree sequence, 차수열, graphic sequence, Erdos-Gallai, Havel-Hakimi
- 정의 차수열 (Degree Sequence) 은 그래프의 각 정점 차수를 내림차순으로 나열한 수열 d[1] >= d[2] >= ... >= d[N]. 이 수열을 만족하는 단순 그…
- 최단 경로 (Shortest Path) algorithm ← 2
- 별칭: shortest path, 최단 경로, 최단거리
- 정의 최단 경로 (Shortest Path) 는 그래프 G = (V, E) 에서 시작 정점 s 에서 목표 정점 t 까지 가는 경로 중 가중치 합이 최소인 경로 를 찾는 문제. 단…
- 최대 부분 배열 합 (Maximum Subarray) algorithm
- 별칭: maximum subarray, 최대 부분 배열, Kadane's algorithm, kadane, 최대 연속 합
- 정의 최대 부분 배열 합 (Maximum Subarray) 은 배열에서 연속한 구간의 합 중 최댓값을 찾는 문제. 예: → 최대 구간 , 합 6. Kadane's Algorith…
- 최대 유량 최소 컷 정리 (Max-Flow Min-Cut Theorem) algorithm ← 5
- 별칭: max-flow min-cut theorem, mfmc, 최대 유량 최소 컷, min-cut
- 정의 최대 유량 최소 컷 정리 (Max-Flow Min-Cut Theorem) 는 네트워크 유량 그래프 G = (V, E) 에서 source s 에서 sink t 로의 최대 유량…
- 최소 공통 조상 (Lowest Common Ancestor) algorithm ← 16
- 별칭: LCA, 최소 공통 조상, lowest common ancestor
- 정의 최소 공통 조상 (LCA, Lowest Common Ancestor) 는 트리에서 두 노드 u, v 의 공통 조상 중 가장 깊은 (루트에서 가장 먼) 노드. Binary L…
- 최소 비용 최대 유량 (Min-Cost Max-Flow, MCMF) algorithm ← 8
- 별칭: Mincut, Dinic, Minimum Cost Flow, SPFA, mcmf, min-cost max-flow, 최소 비용 최대 유량, SSP, successive shortest augmenting path
- 정의 최소 비용 최대 유량 (Min-Cost Max-Flow, MCMF) 은 각 간선에 용량(capacity)과 단위 비용(cost)이 주어질 때, 최대 유량을 달성하는 여러 방…
- 최소 신장 트리 (MST, Minimum Spanning Tree) algorithm ← 5
- 별칭: MST, minimum spanning tree, 최소 신장 트리, Kruskal, Prim
- 정의 최소 신장 트리 (Minimum Spanning Tree, MST) 는 연결 그래프 G = (V, E) 에서 모든 정점을 연결 하면서 간선 가중치 합이 최소 인 부분 그래프…
- 최소 외접원 (Minimum Enclosing Circle) algorithm
- 별칭: minimum enclosing circle, 최소 외접원, MEC, smallest enclosing circle, welzl algorithm
- 정의 최소 외접원 (Minimum Enclosing Circle, MEC) 은 평면 위 N 개의 점을 모두 포함하는 가장 작은 반지름의 원을 찾는 문제. 대표 알고리즘은 Emo …
- 최장 공통 부분 수열 (Longest Common Subsequence) algorithm ← 4
- 별칭: LCS, 최장 공통 부분 수열, longest common subsequence, lcs
- 정의 최장 공통 부분 수열 (Longest Common Subsequence, LCS) 은 두 수열 A, B 에서 순서를 유지하며 공통으로 등장하는 부분 수열 중 가장 긴 것을 …
- 최장 증가 부분 수열 (Longest Increasing Subsequence) algorithm ← 5
- 별칭: LIS, 최장 증가 부분 수열, longest increasing subsequence, lis
- 정의 최장 증가 부분 수열 (Longest Increasing Subsequence, LIS) 은 주어진 수열에서 순서를 유지하며 선택한 부분 수열 중 엄격히 증가하는 가장 긴 …
- 춤추는 링크 (Dancing Links, DLX) algorithm ← 1
- 별칭: dancing links, DLX, 춤추는 링크, dancing-links, toroidal linked list
- 정의 Dancing Links (DLX) 는 0-1 행렬을 doubly linked toroidal list 로 표현하는 자료구조. 각 1 을 하나의 노드로 두고, 노드들이 좌/…
ㅋ (6)
- 카테시안 트리 (Cartesian Tree) algorithm ← 1
- 별칭: cartesian tree, 카테시안 트리, Treap (배열)
- 정의 카테시안 트리 (Cartesian Tree) 는 배열 a[0..N-1] 로부터 만드는 이진 트리로, 다음 두 성질을 동시에 만족: 1. In-order 순회 = 원래 배열 …
- 커넥션 프로파일 DP (Broken Profile DP) algorithm
- 별칭: connection profile DP, broken profile DP, plug DP, profile DP, 커넥션 프로파일, broken profile
- 정의 커넥션 프로파일 DP (Broken Profile DP) 는 직사각형 격자를 tile-by-tile 로 처리하면서, 처리된 영역과 아직 처리되지 않은 영역의 경계 (brok…
- 케이스 워크 (Case Work) algorithm ← 2
- 별칭: case work, 케이스 워크, 경우 분류, 조건 분기
- 정의 케이스 워크 (Case Work) 는 문제를 여러 조건/경우로 분류하여 각각 해결하는 패턴. if-else, switch-case, 의사결정 트리 등으로 구현. 복잡한 조건…
- 쿼리 √N / √Q 버킷팅 algorithm ← 1
- 별칭: Sqrt Query Bucket, 쿼리 버킷팅, Square Root Query Decomposition
- 정의 쿼리 √N / √Q 버킷팅 은 쿼리들을 √N 또는 √Q 개씩 묶어 일괄 처리해 원래 O(Q·log N) 또는 O(N·Q) 였던 비용을 O((N + Q)·√N) 등으로 줄이는…
- 큐 (Queue) algorithm ← 10
- 별칭: queue, 큐, FIFO, 원형 큐, circular queue
- 정의 큐 (Queue) 는 FIFO (First In, First Out) 순서로 원소를 관리하는 추상 자료구조입니다. (또는 ), (또는 ), 세 연산만 제공하며, 가장 먼저 …
- 크누스 최적화 (Knuth Optimization) algorithm ← 5
- 별칭: Knuth Optimization, Knuth DP Optimization, knuth, quadrangle inequality, monotone decision point, 크누스 DP 최적화
- 정의 크누스 최적화 (Knuth Optimization) 는 구간 DP 에서 최적 분할점 k = opt[i][j] 의 단조성 을 이용해 시간 복잡도를 O(N^3) 에서 O(N^2…
ㅌ (11)
- 통계 (Statistics) algorithm
- 별칭: statistics, 통계, 평균, 중앙값, 분산, streaming statistics, 기술 통계
- 정의 통계 (Statistics) 는 데이터를 수집, 정리, 분석하는 학문. PS 에서는 주로 기술 통계 (Descriptive Statistics) 의 기본값들인 평균 (Mea…
- 트라이 (Trie, 접두사 트리) algorithm ← 7
- 별칭: trie, Trie, 접두사 트리, prefix tree
- 정의 트라이 (Trie) 는 Edward Fredkin 이 1960년 제안한 문자열 집합을 저장하는 트리 자료구조. 각 노드는 문자 하나, 간선은 다음 문자로의 전이. 루트에서 …
- 트리 (Trees) algorithm ← 6
- 별칭: tree, 트리, rooted tree, 루트 트리
- 정의 트리 (Tree) 는 사이클이 없는 연결 그래프 (acyclic connected graph). N 개 정점이면 정확히 N-1 개 간선. 임의의 두 정점 사이에 유일한 경로…
- 트리 경로 합 (Path Sum on Tree) algorithm ← 3
- 별칭: Path Sum on Tree, Tree Path Sum, 트리 경로 합, 트리 경로 쿼리, path query on tree, root-to-node sum
- 정의 트리 경로 합 (Path Sum on Tree) 는 트리에서 두 정점 $u, v$ 사이의 유일 경로 위 정점 (또는 간선) 값의 합 을 구하는 문제입니다. 문제 상황은 크게…
- 트리 동형 사상 (Tree Isomorphism) algorithm
- 별칭: tree isomorphism, 트리 동형, tree-isomorphism
- 정의 트리 동형 사상 (Tree Isomorphism) 판정은 두 트리 T1, T2 가 구조적으로 같은지, 즉 노드 라벨을 무시했을 때 edge 연결 패턴이 동일한지 O(N) 에…
- 트리 압축 (Tree Compression / Virtual Tree) algorithm
- 별칭: tree compression, virtual tree, 트리 압축, 가상 트리, tree-compression
- 정의 트리 압축 (Tree Compression / Virtual Tree) 은 원본 트리에서 주어진 정점 부분 집합 S 만으로 원래 조상 관계를 보존하는 작은 트리를 구성하는 …
- 트리 위에서 exchange argument algorithm
- 별칭: Tree Exchange Argument, 트리 위 교환 논증
- 정의 Exchange Argument (교환 논증) 은 그리디 알고리즘의 최적성 증명 에서 가장 자주 쓰이는 기법. 두 인접 원소를 교환했을 때 답이 나빠지지 않으면, 어떤 정렬…
- 트리 DP (Tree Dynamic Programming) algorithm ← 1
- 별칭: dp tree, tree dp, 트리 DP, 트리 동적 계획법
- 정의 트리 DP (Tree Dynamic Programming) 는 트리 구조에서 각 서브트리의 최적해를 post-order DFS 로 계산하여 전체 트리의 답을 구하는 정형. …
- 트리를 사용한 집합과 맵 (Tree Set / Tree Map) algorithm ← 2
- 별칭: tree set, tree map, ordered set, ordered map, 트리 집합, 트리 맵, 균형 이진 탐색 트리
- 정의 트리 집합 (Tree Set) 과 트리 맵 (Tree Map) 은 균형 이진 탐색 트리 (Balanced BST) 를 기반으로 한 정렬된 자료구조로, 삽입, 조회, 삭제를 …
- 트리의 중심 (Centroid) algorithm ← 1
- 별칭: centroid, 트리의 중심, tree centroid, 무게중심
- 정의 트리의 중심 (Centroid) 은 정점 v 를 제거했을 때 생기는 모든 connected component 의 크기가 ⌊N/2⌋ 이하가 되는 정점. 모든 트리는 최소 1개…
- 트리의 지름 (Tree Diameter) algorithm ← 2
- 별칭: tree diameter, 트리의 지름, 트리 지름
- 정의 트리의 지름 (Tree Diameter) 는 트리에서 가장 먼 두 노드 사이의 거리 (경로 길이). 가중치 없는 트리는 간선 개수, 가중치 트리는 간선 가중치 합. 대표 알…
ㅍ (9)
- 파싱 (Parsing) - tokenization, recursive descent, expression algorithm ← 2
- 별칭: parsing, recursive descent, expression parsing, tokenization, 파싱
- 정의 파싱 은 입력 문자열을 구조화된 표현 (AST) 으로 변환하는 과정. 컴파일러/인터프리터의 첫 단계. 세 단계: Tokenization (lexing) → Parsing (…
- 퍼시스턴트 세그먼트 트리 (Persistent Segment Tree) algorithm
- 별칭: persistent segment tree, PST, 퍼시스턴트 세그트리, 버전별 세그트리
- 정의 퍼시스턴트 세그먼트 트리 (Persistent Segment Tree, PST) 는 버전별 배열 상태를 모두 유지 하면서, 각 버전마다 O(log N) 시간에 쿼리/갱신 가…
- 페르마 소정리 (Fermat's Little Theorem) algorithm ← 7
- 별칭: fermat little theorem, FLT, 페르마 소정리, fermat
- 정의 페르마 소정리 (Fermat's Little Theorem, FLT) 는 소수 p 와 gcd(a, p) = 1 인 정수 a 에 대해 다음이 성립: 1640년 피에르 드 페르…
- 평면 그래프 (Planar Graph) algorithm ← 1
- 별칭: planar graph, 평면 그래프, planar, Euler formula, Kuratowski
- 정의 평면 그래프 (Planar Graph) 는 간선끼리 교차하지 않고 평면에 그릴 수 있는 그래프. 연결된 평면 그래프는 항상 Euler 공식 를 만족한다, 여기서 = 꼭짓점,…
- 포함-배제 원리 (Inclusion-Exclusion Principle) algorithm ← 2
- 별칭: inclusion-exclusion, 포함배제, 포함-배제, inclusion exclusion
- 정의 포함-배제 원리 (Inclusion-Exclusion Principle, PIE) 는 여러 집합의 합집합 크기를 교집합 항으로 표현하는 조합론 공식. 가장 간단한 형태: N…
- 프로그래밍 언어론 (Programming Language Theory) plt ← 7
- 별칭: Programming Language Theory, 프로그래밍 언어론, PLT, 언어 이론, 컴파일러 이론, 언어 처리기
- 정의 프로그래밍 언어론 (Programming Language Theory, PLT) 은 프로그래밍 언어를 어떻게 설계하고, 정의하고, 처리하는가 를 다루는 컴퓨터 과학 분야입니…
- 플로이드-워셜 알고리즘 (Floyd-Warshall Algorithm) algorithm ← 5
- 별칭: floyd-warshall, 플로이드워셜, 플로이드-워셜, 모든 쌍 최단 경로
- 정의 플로이드-워셜 알고리즘 (Floyd-Warshall Algorithm) 은 모든 정점 쌍 (i, j) 사이의 최단 거리를 구하는 DP 알고리즘. Robert W. Floyd…
- 피사노 주기 (Pisano Period) algorithm
- 별칭: pisano period, 피사노 주기, 피보나치 주기, pisano
- 정의 피사노 주기 (Pisano Period) 은 피보나치 수열 을 m 으로 나눈 나머지 수열이 주기적 이 될 때의 최소 주기. 피보나치 수열 mod m 은 항상 주기적이며, 주…
- 피타고라스 정리 (Pythagorean Theorem) algorithm
- 별칭: pythagorean theorem, 피타고라스 정리, 피타고라스 수, pythagoras, pythagorean triple
- 정의 피타고라스 정리는 직각삼각형에서 빗변 c 의 제곱이 두 직각변 a, b 의 제곱의 합과 같다는 정리: c^2 = a^2 + b^2. 기원전 6세기 그리스 수학자 피타고라스가…
ㅎ (11)
- 함수 그래프 (Functional Graph) algorithm ← 1
- 별칭: functional graph, 함수 그래프, successor graph
- 정의 함수 그래프 (Functional Graph) 는 정점 집합 V 와 함수 f: V → V 로 정의되는 방향 그래프. 각 정점 v 에서 정확히 하나의 간선 v → f(v) 가…
- 해 구성하기 (Constructive) algorithm ← 2
- 별칭: constructive, 해 구성, 구성적 증명
- 정의 해 구성하기 (Constructive Algorithm) 는 답의 존재를 증명하는 대신, 명시적으로 답을 만드는 문제 유형. "가능한가?" → YES/NO 가 아니라, "가…
- 해시를 사용한 집합과 맵 (Hash Set / Hash Map) algorithm ← 3
- 별칭: hash set, hash map, unordered set, unordered map, 해시 집합, 해시 맵, 해시테이블
- 정의 해시 집합 (Hash Set) 과 해시 맵 (Hash Map) 은 해시 함수를 이용해 키를 버킷 인덱스로 변환하고, 평균 O(1) 시간에 삽입, 조회, 삭제를 수행하는 자료…
- 헝가리안 알고리즘 (Hungarian Algorithm) algorithm ← 1
- 별칭: hungarian, 헝가리안, assignment problem, Kuhn-Munkres, Kuhn-Munkres algorithm, O(n^3) weighted matching
- 정의 헝가리안 알고리즘 (Hungarian Algorithm) 은 완전 이분 그래프 K{n,n} 에서 최대 (또는 최소) 가중치 완전 매칭 을 O(n^3) 에 찾는 알고리즘. -…
- 홀의 결혼 정리 (Hall's Marriage Theorem) algorithm ← 2
- 별칭: 순열과 조합, hall, 홀의 결혼 정리, Hall's theorem, marriage theorem, SDR, system of distinct representatives
- 정의 홀의 결혼 정리 (Hall's Marriage Theorem) 는 이분 그래프 G = (L, R, E) 에서 완전 매칭 (perfect matching) 이 존재할 필요충분…
- 홀짝성 (Parity) algorithm ← 1
- 별칭: parity, 홀짝성, 짝홀, even-odd
- 정의 홀짝성 (Parity) 은 어떤 양이 짝수 / 홀수 라는 두 상태로 분류되는 불변량. 수학적으로는 의 값. PS 에서는 증명 (impossibility), 2색 분할, 대칭…
- 확률 (Probability) algorithm ← 7
- 별칭: probability, 확률, 확률론, 조건부 확률, 베이즈 정리
- 정의 확률 (Probability) 은 사건이 발생할 가능성을 수치화한 값. 표본 공간 Ω 에 대해 P(A) = |A| / |Ω| (동일 확률), 또는 더 일반적으로는 σ-alg…
- 확장 유클리드 호제법 (Extended Euclidean Algorithm) algorithm ← 6
- 별칭: extended euclidean, Extended Euclidean Algorithm, 확장 유클리드, extended-euclidean, extended gcd, exgcd
- 정의 확장 유클리드 호제법 (Extended Euclidean Algorithm) 은 두 정수 a, b 에 대해 를 구하면서, 동시에 를 만족하는 정수 x, y 를 찾는 알고리즘…
- 회전 캘리퍼스 (Rotating Calipers) algorithm ← 2
- 별칭: rotating calipers, 회전 캘리퍼스, rotating-calipers, 최대 거리, antipodal
- 정의 회전 캘리퍼스 (Rotating Calipers) 는 볼록 다각형 위에서 서로 마주보는 두 평행선 (겹지름, antipodal pair) 을 회전시키며 다각형의 최장 거리,…
- 휴리스틱 (Heuristics) algorithm ← 2
- 별칭: heuristics, 휴리스틱, 근사 알고리즘, local search, greedy heuristic, heuristic
- 정의 휴리스틱 (Heuristics) 은 NP-hard 문제나 지나치게 큰 탐색 공간에서 최적해 대신 실용적으로 충분히 좋은 해를 빠르게 찾는 방법의 총칭. 크게 근사 알고리즘 …
- 희소 배열 (Sparse Table) algorithm ← 12
- 별칭: Sparse Table, sparse table, 희소 배열, 희소 테이블, sparse-table
- 정의 희소 배열 (Sparse Table) 은 정적 배열에서 결합 법칙을 만족하는 idempotent 연산 (min, max, gcd, lcm 등) 의 구간 쿼리를 O(1) 시간…
A (6)
- A* (A-star) 알고리즘 algorithm ← 2
- 별칭: a-star, A*, A star, 에이스타, a* algorithm
- 정의 A\ 알고리즘 은 휴리스틱 기반 최단 경로 탐색 알고리즘. f(n)=g(n)+h(n) 을 평가 함수로 사용해 시작점에서 목표까지의 최단 경로를 찾는다. 1968년 Hart,…
- Aho-Corasick (아호-코라식) algorithm ← 5
- 별칭: aho-corasick, Aho-Corasick, 아호-코라식, 다중 패턴 매칭
- 정의 Aho-Corasick 은 Alfred Aho 와 Margaret Corasick 이 1975년 고안한 다중 패턴 문자열 매칭 알고리즘. Trie 에 KMP failure …
- Aliens Trick algorithm ← 9
- 별칭: Aliens Trick, WQS Binary Search, Lagrange Optimization, 에일리언 트릭
- 정의 Aliens Trick (또는 WQS Binary Search, Lagrange Optimization) 은 "정확히 K 개 선택" 같은 까다로운 제약을 가진 DP 를, 제…
- Astro frameworks ← 6
- 별칭: astro.build, astro framework, Astro SSG, Astro Islands, astro
- 정의 Astro 는 콘텐츠 중심 사이트를 위한 정적 사이트 프레임워크다. "Islands Architecture"로 필요한 부분만 hydration하기 때문에 기본 JS 전송량이…
- Asynchronous (비동기) concurrency ← 4
- 별칭: asynchronous, async, 비동기, 비동기식, 비동기 호출, asynchronous call
- 정의 Asynchronous (비동기) 는 호출자가 결과를 즉시 기다리지 않고 다음 줄로 진행하는 실행 모델. 결과는 나중에 콜백, Future, Promise, 이벤트 등의 메…
- AtCoder algorithm ← 5
- 별칭: AtCoder, atcoder, アットコーダー, ABC, ARC, AGC, AHC
- 정의 AtCoder 는 일본에서 운영되는 온라인 알고리즘 경진대회 플랫폼입니다. 2012년 서비스 시작, 주간 정기 대회 (Contest) 를 개최하며 참가자에게 색깔 기반 레이…
B (13)
- Barrett Reduction algorithm ← 4
- 별칭: Barrett Reduction, 바렛 리덕션
- 정의 Barrett Reduction 은 고정된 modulus 에 대해 을 나눗셈 명령 없이 곱셈 + 시프트 + 뺄셈 몇 번으로 계산하는 알고리즘. Paul Barrett 198…
- BBST (Splay Tree, Treap) algorithm ← 12
- 별칭: BBST, Balanced Binary Search Tree, Splay Tree, Treap, 균형 이진 탐색 트리
- 정의 BBST (Balanced Binary Search Tree) 는 균형이 amortized / expected 로 보장되는 이진 탐색 트리. PS 에서는 split / me…
- Berlekamp-Massey algorithm ← 6
- 별칭: Berlekamp-Massey, BM 알고리즘, 최소 다항식, Minimal Polynomial
- 정의 Berlekamp-Massey (BM) 알고리즘은 주어진 수열의 최단 선형 점화식 (minimal linear recurrence) 을 O(N²) 에 복원하는 알고리즘. 1…
- Binary Lifting: 2의 지수 doubling algorithm ← 4
- 별칭: Binary Lifting, 이진 상승, sparse ancestor, doubling technique, 이진 리프팅
- 정의 Binary Lifting (이진 상승, doubling) 은 트리 (또는 functional graph) 에서 정점의 $2^k$ 번째 조상 을 미리 계산해 두어 임의의 $…
- Binary Search Tree (BST): 정렬된 이진 트리 algorithm ← 6
- 별칭: Binary Search Tree, BST, 이진 탐색 트리, binary-search-tree
- 정의 Binary Search Tree (BST) 는 각 노드가 다음 BST 불변식을 만족하는 이진 트리: - 왼쪽 서브트리의 모든 키 < 노드 키 - 오른쪽 서브트리의 모든 키…
- Birthday Problem (생일 문제) algorithm ← 2
- 별칭: birthday problem, birthday paradox, 생일 문제, 생일 역설, birthday attack
- 정의 생일 문제 (Birthday Problem) 는 N 개의 동등한 가능성이 있는 결과에서 무작위로 k 개를 선택할 때 적어도 하나의 충돌이 발생할 확률을 분석하는 문제. 충돌…
- Bitset Optimization algorithm ← 7
- 별칭: Bitset Optimization, 비트셋 최적화
- 정의 Bitset Optimization 은 불리언 / 비트 단위 정보 를 또는 배열에 패킹해, 한 명령어로 64 비트씩 병렬 연산 함으로써 시간 복잡도를 /64 (또는 , w …
- Blocking (블로킹) concurrency ← 10
- 별칭: blocking, block, 블로킹, 블락킹, blocking call, blocking I/O
- 정의 Blocking 은 호출이 결과가 준비될 때까지 호출 스레드를 멈춰두는 실행 방식. 멈춰 있는 동안 그 스레드는 다른 일을 할 수 없다. OS 가 스레드를 sleep 상태로…
- BrainDB frameworks ← 3
- 별칭: braindb, @braindb/astro, brain-db, braindb astro
- 정의 BrainDB 는 마크다운 파일을 SQLite 기반 데이터베이스로 인덱싱해, 위키링크 처리, 백링크 추출, 콘텐츠 그래프 생성, 깨진 링크 감지를 제공하는 통합 라이브러리다…
- Branch and Bound: 분기 한정 algorithm ← 2
- 별칭: Branch and Bound, 분기 한정, B&B
- 정의 Branch and Bound (B&B) 는 완전 탐색을 하되, 상한/하한을 계산해 유망하지 않은 서브트리를 가지치기 하는 기법. 최적화 문제에 적용. 백트래킹이 "실행 불…
- Brute Force: 완전 탐색 algorithm ← 2
- 별칭: Brute Force, 완전 탐색, brute force, 완전탐색, exhaustive search
- 정의 Brute Force (완전 탐색) 는 문제의 모든 후보 해를 하나씩 검증하는 접근. 최적은 아니지만 정확하고 명확하며, 큰 문제에도 부분 검증 도구로 사용. 핵심 원칙: …
- Bubble Sort algorithm ← 3
- 별칭: bubble sort, 버블 정렬, 거품 정렬
- 정의 Bubble Sort (버블 정렬) 는 인접한 두 원소를 비교해 잘못된 순서면 교환하는 작업을 배열을 통과하며 반복하는 정렬. 한 번의 통과 (pass) 마다 가장 큰 원소…
- Bulldozer Trick (Rotating Sweep) algorithm ← 6
- 별칭: Bulldozer Trick, Rotating Sweep, 회전 스윕
- 정의 Bulldozer Trick (Rotating Sweep) 은 평면의 N 개 점에 대해 모든 두 점쌍을 잇는 직선의 기울기를 정렬 한 뒤, 기울기를 회전시키며 점들의 정렬 …
C (7)
- Carmichael Function λ(n) algorithm ← 2
- 별칭: Carmichael Function, 카마이클 함수, reduced totient, lambda function, 람다 함수, universal exponent
- 정의 Carmichael function λ(n) 은 gcd(a, n) = 1 인 모든 a 에 대해 a^m ≡ 1 (mod n) 을 만족하는 최소 양의 정수 m 입니다. 핵심 성…
- Catalan Number: C_n algorithm ← 4
- 별칭: Catalan Number, 카탈란 수, 카탈란
- 정의 Catalan number 는 조합론에서 자주 등장하는 수열. 닫힌 형식(closed form): $$ Cn = \frac{1}{n+1} \binom{2n}{n} = \fr…
- CDQ 분할 정복 (CDQ Divide and Conquer) algorithm ← 1
- 별칭: CDQ, CDQ 분할 정복, cdq divide and conquer, offline 3D partial order
- 정의 CDQ 분할 정복 은 오프라인에서 3차원 이상의 부분 순서 (partial order) 문제를 O(N log² N) 에 해결하는 기법. 한 축으로 분할하고, 다른 축을 2D…
- Chordal Graph algorithm ← 2
- 별칭: Chordal Graph, Triangulated Graph, 현 그래프, Perfect Elimination Ordering
- 정의 Chordal Graph (현 그래프, Triangulated Graph) 는 모든 길이 4 이상의 사이클이 chord (사이클의 비인접 두 정점을 잇는 간선) 를 가지는 …
- CHT (Convex Hull Trick) algorithm ← 9
- 별칭: Convex Hull Trick, CHT, 볼록 껍질 트릭
- 정의 Convex Hull Trick (CHT) 은 DP 전이 같이 선형식들의 lower envelope (또는 upper envelope) 에서 한 점 값을 평가하는 패턴을, …
- Convex Hull 3D: 3차원 볼록 껍질 algorithm ← 1
- 별칭: Convex Hull 3D, 3차원 볼록 껍질, 3D convex hull, 3D CH
- 정의 3D 점집합의 볼록 껍질 (Convex Hull): 모든 점을 포함하는 최소 볼록 다면체. - 면 (face) 들이 삼각형으로 구성된 다면체 - 각 면의 법선 벡터 (out…
- Cycle Detection: 그래프 사이클 탐지 algorithm ← 3
- 별칭: Cycle Detection, 사이클 탐지, cycle finding, 사이클 판별
- 정의 그래프에 사이클이 존재하는가, 또는 어느 사이클인가 를 찾는 문제. - 무향 그래프: 한 정점에서 출발해 다시 그 정점으로 돌아오는 경로. - 유향 그래프: 방향을 따라가며…
D (13)
- D3.js frameworks ← 4
- 별칭: d3, d3.js, d3js, d3-force, Data-Driven Documents, D3
- 정의 D3 (Data-Driven Documents)는 데이터를 DOM 요소에 바인딩해 SVG, Canvas, HTML 기반 시각화를 만드는 JavaScript 라이브러리다. M…
- Dial's Algorithm (버킷 기반 다익스트라) algorithm
- 별칭: dial, Dial, Dial's algorithm, 버킷 다익스트라, bucket dijkstra, dial algorithm
- 정의 Dial's Algorithm 은 가중치가 작은 정수 일 때 우선순위 큐 대신 버킷 배열 을 사용해 Dijkstra 를 O(V + E + W) 로 최적화한 알고리즘. W는 …
- Differential Privacy: (ε, δ) 로 정량화하는 프라이버시 보장 ml ← 7
- 별칭: differential privacy, 차분 프라이버시, DP, epsilon differential privacy, ε-DP, epsilon-delta DP, Laplace mechanism, Gaussian mechanism, exponential mechanism, DP-SGD, privacy budget, 프라이버시 예산, sensitivity, global sensitivity, local sensitivity, Local DP, LDP, Central DP, Renyi DP, moments accountant, RAPPOR, k-anonymity, l-diversity
- 정의 Differential Privacy (DP, 차분 프라이버시) 는 데이터셋에 대한 질의 (query) 결과에 calibrated noise 를 추가함으로써, 한 개인의 데…
- Directed MST algorithm ← 5
- 별칭: Directed MST, Arborescence, Chu-Liu Edmonds, 최소 비용 신장 가지치기
- 정의 Directed MST (Arborescence) 는 유향 그래프와 루트 이 주어졌을 때, 에서 모든 정점으로 도달 가능 한 간선들의 최소 가중치 부분집합을 구하는 문제. …
- Django django ← 2
- 별칭: 장고, django, Django, Django 프레임워크, Django 웹 프레임워크
- 정의 Django 는 2003년 시작된 Python 풀스택 웹 프레임워크. batteries-included (ORM, 관리자, 인증, 폼, 마이그레이션, 캐싱 등 기본 내장)와…
- Dominator Tree algorithm ← 3
- 별칭: Dominator Tree, 지배 트리, Dominators
- 정의 유향 그래프와 시작점 가 주어졌을 때, 정점 가 정점 를 dominate 한다는 것은 에서 로 가는 모든 경로가 반드시 를 지난다 는 뜻. Dominator Tree 는 모…
- DP on Bitmask: 비트마스크 DP algorithm ← 3
- 별칭: DP on Bitmask, Bitfield DP, 비트마스크 DP, bitmask dp, 집합 DP
- 정의 부분집합 상태를 비트마스크로 인코딩하여 DP를 수행하는 기법. 정수 의 i번째 비트가 1이면 "원소 i 선택", 0이면 "미선택"을 의미한다. 원소 수 N ≤ 20 정도의 …
- DP Optimization: CHT, D&C, Knuth, SMAWK algorithm ← 3
- 별칭: DP Optimization, DP 최적화, DP optimization tricks
- 정의 일반 DP 를 O(N²) 또는 O(N³) 에서 O(N log N) 또는 O(N) 으로 낮추는 여러 최적화 기법의 총칭입니다. 모두 특정 조건 (monotone, concav…
- DTLS network ← 2
- 별칭: dtls, Datagram TLS, Datagram Transport Layer Security, DTLS 1.3, DTLS 1.2
- 정의 DTLS (Datagram Transport Layer Security)는 UDP 위에서 동작하는 TLS의 변형이다. 데이터그램 기반 통신에 TLS와 동등한 보안 보장(서버…
- Dual of Planar Graph algorithm ← 1
- 별칭: Dual of Planar Graph, 평면 그래프의 쌍대, Planar Dual
- 정의 평면 그래프 (planar graph) 의 쌍대 그래프 (dual graph) 는 G 의 각 면 (face) 을 정점으로, G 의 두 면을 공유하는 각 간선을 G\ 의 간선…
- Dynamic Connectivity: 간선 추가/삭제 연결성 algorithm ← 1
- 별칭: Dynamic Connectivity, 동적 연결성
- 정의 Dynamic Connectivity 는 간선의 추가와 삭제 가 모두 일어나는 그래프에서 두 정점의 연결 여부를 유지하는 문제입니다. - 정점 N 개, 쿼리 Q 개 - 각 …
- Dynamic Segment Tree: 지연 노드 생성 algorithm ← 2
- 별칭: Dynamic Segtree, Dynamic Segment Tree, 동적 세그
- 정의 Dynamic Segment Tree 는 값 범위가 매우 크지만 실제 접근 위치가 희소할 때, 필요한 노드만 동적으로 생성 하는 세그먼트 트리. 공간: O(Q log V),…
- Dynamic Tree (Link/Cut Tree, Euler Tour Tree, Top Tree) algorithm ← 10
- 별칭: Link-Cut Tree, Dynamic Tree, Link/Cut Tree, LCT, Euler Tour Tree, ETT, Top Tree, 동적 트리
- 정의 Dynamic Tree 는 트리에 간선 추가 (link) / 제거 (cut) 가 섞이는 환경에서 경로 / 서브트리 집계 쿼리 를 O(log N) 에 처리하는 자료구조 가족.…
E (4)
- Euler Phi Function: φ(n) algorithm ← 7
- 별칭: euler-totient, Euler Phi Function, Euler Totient Function, Euler's Totient, 오일러 파이, 오일러 토션, totient function, phi function
- 정의 Euler Phi Function φ(n) 은 1 이상 n 이하 정수 중 n 과 서로소 (gcd = 1) 인 정수의 개수입니다. 예시: - φ(1) = 1 (1은 모든 수와…
- Euler's Criterion: 이차잉여 판정 algorithm ← 1
- 별칭: Euler's Criterion, 이차잉여 판정, quadratic residue test, 오일러 판정법, Legendre symbol
- 정의 홀소수 p에 대해 정수 a가 mod p에서 이차잉여 (Quadratic Residue, QR) 인지 판정하는 기준: $$ a^{(p-1)/2} \equiv \begin{ca…
- Expected Value: 기댓값, Linearity algorithm ← 3
- 별칭: Expected Value, 기댓값, expectation, 기댓값의 선형성, Linearity of Expectation, 지시 변수
- 정의 확률변수 X 의 기댓값: $$ E[X] = \sumx x \cdot P(X = x) \quad \text{(discrete)} $$ $$ E[X] = \int x \cdot…
- External Merge Sort algorithm ← 7
- 별칭: external merge sort, 외부 정렬, 외부 머지 정렬, External Sort
- 정의 External Merge Sort (외부 머지 정렬) 는 데이터가 메모리에 들어가지 않을 때 사용하는 변형. 두 단계로 동작한다. 1. Run 생성: 메모리 크기만큼 청크…
F (8)
- Fast I/O algorithm ← 4
- 별칭: Fast I/O, 빠른 입출력, fastio
- 정의 Fast I/O 는 표준 라이브러리의 일반 목적 입출력 (C 의 / , C++ 의 / , Python 의 ) 대신, 버퍼와 바이트 단위 처리에 특화된 직접 구현으로 상수항을…
- Federated Learning: 분산 학습 without central data ml ← 10
- 별칭: federated learning, 연합 학습, FL, FedAvg, FedProx, FedYogi, FedAdam, SCAFFOLD, cross-device FL, cross-silo FL, secure aggregation, differential privacy, DP-SGD, Flower framework, TensorFlow Federated, PySyft, FATE
- 정의 Federated Learning (FL) 은 데이터를 중앙에 모으지 않고 각 클라이언트 (edge device, 병원, 은행 등) 가 로컬 데이터로 모델을 학습한 뒤 모델…
- Fenwick Tree (Binary Indexed Tree): 구간 합 O(log N) algorithm ← 15
- 별칭: Fenwick 배열, Fenwick, Fenwick Tree, 펜윅 트리, BIT, Binary Indexed Tree, 이진 인덱스 트리, 펜윅
- 정의 Fenwick Tree (또는 BIT, Binary Indexed Tree) 는 배열의 prefix sum 을 O(log N) 에 갱신·조회 하는 자료구조입니다. Peter…
- FFT, NTT algorithm ← 16
- 별칭: FFT 와 NTT, FFT/NTT, FFT / NTT, FFT, NTT, Fast Fourier Transform, Number Theoretic Transform, 고속 푸리에 변환
- 정의 FFT (Fast Fourier Transform, 고속 푸리에 변환) 은 길이 인 수열의 이산 푸리에 변환 (DFT) 을 O(n log n) 에 계산하는 분할정복 알고리즘…
- Flood Fill algorithm ← 1
- 별칭: flood fill, 플러드 필, 페인트 버킷, paint bucket
- 정의 Flood Fill 은 격자 (grid) 또는 이미지에서 특정 위치와 연결된 같은 색 영역을 모두 칠하는 알고리즘. 그래픽 소프트웨어의 "페인트 버킷 (paint bucke…
- Floor Sum (유리 등차수열 내림 합) algorithm
- 별칭: floor sum, floor_sum, 유리 등차수열 내림 합, AtCoder ACL floor_sum
- 정의 Floor Sum 은 을 O(log m) 에 계산하는 알고리즘. AtCoder Library (ACL) 의 함수로 표준화되었다. 분수 의 내림 합을 i = 0 .. n-1 …
- Function Calling / Tool Use: LLM 도구 사용 ai ← 8
- 별칭: function-calling, function-calling-tool-use, function calling, tool use, tool calling, LLM 도구, parallel tool call
- 정의 Function Calling (또는 Tool Use) 은 LLM 이 사전 정의된 함수/도구를 호출하기 위한 인자를 JSON 으로 생성 하는 기능. JSON Schema 로…
- FWHT (Fast Walsh-Hadamard Transform) algorithm ← 4
- 별칭: FWHT, Fast Walsh-Hadamard Transform, Subset Convolution, XOR Convolution
- 정의 FWHT (Fast Walsh-Hadamard Transform) 은 비트 연산 (XOR, AND, OR) 에 대한 컨볼루션 을 O(N log N) 에 계산하는 변환. FF…
G (6)
- General Graph Matching (Blossom Algorithm) algorithm ← 3
- 별칭: General Graph Matching, Blossom Algorithm, 일반 그래프 매칭, Edmonds Blossom
- 정의 General Graph Matching (Blossom Algorithm) 은 이분 그래프가 아닌 일반 무향 그래프 에서 최대 매칭 (최대 간선 집합 중 한 정점이 두 번…
- Generating Function algorithm ← 14
- 별칭: Generating Function, 생성 함수, Formal Power Series, OGF, EGF
- 정의 Generating Function (생성 함수) 은 수열 를 형식 멱급수 (formal power series) 으로 인코딩한 것. 수열의 산수 를 다항식 / 멱급수의 대…
- Geometry Basic: 벡터, CCW, 외적, 내적 algorithm ← 22
- 별칭: Geometry Basic, 기하 기본, vector, vector operations, dot product, cross product, 내적, 외적, CCW, counterclockwise, orientation test, signed area
- 정의 기하 알고리즘의 밑바탕. 대부분의 2D/3D 기하 문제는 벡터 연산, 내적/외적, CCW 판정 세 가지의 조합으로 풀립니다. 문제 상황 PS 기하에서 자주 마주치는 질문들:…
- Golden-section Search: 단봉 함수 최적화 algorithm ← 4
- 별칭: Golden-section search, 황금 분할 탐색, 삼분 탐색, ternary search, golden section
- 정의 단봉 함수 (Unimodal function) 위에서 최소/최대를 찾는 탐색 기법. 이분 탐색을 단봉 조건으로 확장한 알고리즘입니다. - 삼분 탐색 (Ternary Sear…
- GPU: 그래픽/ML 병렬 프로세서 ml ← 6
- 별칭: GPU, Graphics Processing Unit, CUDA, 그래픽 카드, Tensor Core, SM, Streaming Multiprocessor
- 정의 GPU (Graphics Processing Unit) 는 원래 3D 그래픽 렌더링을 위해 설계됐지만, massively parallel 아키텍처가 딥러닝의 행렬 연산과 완…
- Graph DP: 트리/DAG 위 DP algorithm ← 7
- 별칭: Graph DP, 트리 DP, Tree DP, DAG DP, Rerooting, re-rooting
- 정의 Graph DP 는 그래프 구조를 이용한 DP. 사이클 없는 그래프 (트리, DAG) 에서 특히 자연스럽다. - Tree DP: 루트 트리에서 자식 서브트리 결과를 조합 -…
H (12)
- Hackenbush (하켄부시 게임) algorithm ← 1
- 별칭: hackenbush, 하켄부시, surreal number hackenbush, blue-red hackenbush
- 정의 Hackenbush 는 John H. Conway 가 "On Numbers and Games" (1976) 에서 고안한 combinatorial game. 바닥에 연결된 여…
- Half-Plane Intersection algorithm
- 별칭: half-plane intersection, 반평면 교집합, halfplane intersection
- 정의 반평면 교집합 (Half-Plane Intersection) 은 N 개의 직선으로 정의된 반평면 (또는 ) 을 모두 만족하는 점들의 집합, 즉 볼록다각형 (convex po…
- Hamiltonian Path: 모든 정점 한 번씩 algorithm ← 3
- 별칭: Hamiltonian Path, 해밀턴 경로, Hamiltonian Cycle
- 정의 Hamiltonian Path 는 그래프의 모든 정점을 정확히 한 번씩 방문하는 경로. 시작 = 끝이면 Hamiltonian Cycle. 일반 그래프에서 NP-complet…
- Hash Table: 해시 기반 딕셔너리 algorithm ← 1
- 별칭: Hash Table, 해시 테이블, Hash Map, 해시 맵
- 정의 Hash Table 은 해시 함수로 키를 배열 인덱스에 매핑하여 평균 O(1) 삽입/탐색/삭제를 제공하는 자료구조. 키 k를 인덱스 으로 변환하여 버킷 배열에 저장. 두 키…
- HBM ml ← 6
- 별칭: High Bandwidth Memory, hbm, 고대역폭 메모리
- 정의 HBM (High Bandwidth Memory)는 DRAM die 를 수직으로 적층해 매우 높은 대역폭을 제공하는 메모리 패키지. AI 시대 GPU/TPU 의 메모리 병목…
- Head-of-Line Blocking network ← 9
- 별칭: HOL Blocking, HOLB, 헤드 오브 라인 블로킹, Head of Line Blocking
- 정의 Head-of-Line Blocking (HOLB) 은 처리 순서가 정해진 큐에서 맨 앞 항목의 지연이 그 뒤 항목 전체의 지연으로 전파되는 현상이다. 네트워크 프로토콜에서…
- Heap Sort algorithm ← 6
- 별칭: heap sort, heapsort, 힙 정렬, Heapsort
- 정의 Heap Sort (힙 정렬) 는 힙 (heap) 자료구조의 최댓값 / 최솟값을 O(log n) 에 추출 하는 성질을 이용한 정렬. In-place 이고 최악 O(n log…
- Heavy-Light Decomposition algorithm ← 7
- 별칭: hld, heavy-light decomposition, 무거운-가벼운 분해, HLD
- 정의 Heavy-Light Decomposition (HLD) 는 트리를 O(log N) 개의 경로 (chain) 로 분해해 임의 경로 쿼리 (u-v 경로의 합/최대/최소) 를 …
- Hirschberg (히르쉬버그) LCS algorithm ← 1
- 별칭: Hirschberg, 히르쉬버그, hirschberg-algorithm, linear-space LCS
- 정의 Hirschberg 알고리즘 은 두 문자열 A, B 의 LCS 를 O(N) 공간 (메모리) 만 사용해 구하는 분할 정복 DP. 표준 LCS 의 O(NM) 공간을 O(N) 으…
- HPACK network ← 7
- 별칭: HPACK 헤더 압축, hpack, HTTP/2 헤더 압축, HTTP header compression
- 정의 HPACK (RFC 7541)은 HTTP/2에서 요청/응답 헤더를 압축하는 방식이다. HTTP/1.1에서 헤더는 매 요청마다 평문 텍스트로 반복 전송되었다. 한 페이지 로드…
- Huffman Coding: 최적 접두 부호 algorithm ← 1
- 별칭: Huffman Coding, 허프만 코딩, Huffman code, prefix code
- 정의 Huffman Coding 은 문자의 빈도가 주어졌을 때 평균 부호 길이를 최소화 하는 접두 부호 (prefix code) 를 만드는 그리디 알고리즘. David Huffm…
- Hypervisor: Type 1 (bare metal) vs Type 2 (hosted) virtualization ← 3
- 별칭: hypervisor, 하이퍼바이저, VMM, Virtual Machine Monitor, Type 1 hypervisor, Type 2 hypervisor, bare metal hypervisor, hosted hypervisor, KVM, Xen, ESXi, VMware ESXi, Hyper-V, VirtualBox, QEMU, Firecracker, vSphere
- 정의 Hypervisor (Virtual Machine Monitor, VMM) 는 여러 VM 을 한 물리 머신 위에서 실행하도록 하드웨어를 가상화하는 소프트웨어입니다. CPU …
I (3)
- Implicit Treap: 배열 인덱스 기반 Treap algorithm ← 1
- 별칭: Implicit Treap, 묵시적 트립, implicit treap, 인덱스 트립, 위치 기반 트립
- 정의 Implicit Treap 은 Treap 에서 키 대신 서브트리 크기 (위치) 로 인덱싱하는 변형입니다. 배열의 삽입/삭제/이동/구간 반전 등을 O(log N) 에 지원합니…
- Inclusion and Exclusion: 포함배제 원리 algorithm ← 1
- 별칭: Inclusion and Exclusion, Inclusion-Exclusion, 포함배제, 포함 배제, PIE, 포함배제 원리
- 정의 포함배제 원리 (Principle of Inclusion-Exclusion, PIE) 는 합집합의 크기를 교집합의 크기들을 이용해 계산하는 조합론의 기본 원리입니다. $$ …
- Insertion Sort algorithm ← 4
- 별칭: insertion sort, 삽입 정렬
- 정의 Insertion Sort (삽입 정렬) 는 한 번에 한 원소씩 이미 정렬된 부분에 올바른 위치를 찾아 삽입 하는 정렬. 카드 정리하듯이 한 장씩 적절한 자리에 끼워넣는 동…
J (1)
- Johnson's Algorithm: sparse APSP algorithm ← 1
- 별칭: Johnson's Algorithm, 존슨 알고리즘, APSP with negative edges
- 정의 Johnson's algorithm은 음수 간선이 있는 sparse graph의 all-pairs shortest paths (APSP)를 O(VE log V)에 계산. B…
K (6)
- K번째 조상 (K-th Ancestor) algorithm ← 3
- 별칭: Kth Ancestor, K-th Ancestor, K번째 조상, kth ancestor, K-th parent, level ancestor
- 정의 K번째 조상 문제 (K-th ancestor) 는 루트 트리에서 정점 $u$ 의 조상 중 $u$ 로부터 정확히 $k$ 만큼 위에 있는 정점 (즉, $u$ 의 $k$ 번째 부…
- Kinetic Segment Tree algorithm ← 1
- 별칭: Kinetic Segment Tree, KST, 키네틱 세그먼트 트리
- 정의 Kinetic Segment Tree (KST) 는 각 원소가 시간 t 에 대한 일차함수 로 변하는 상황에서, 최댓값 / 최솟값 같은 시간 의존 쿼리 를 효율적으로 처리하는…
- KMP 문자열 매칭 (Knuth-Morris-Pratt) algorithm ← 9
- 별칭: kmp, KMP, Knuth-Morris-Pratt, KMP 알고리즘
- 정의 KMP (Knuth-Morris-Pratt) 는 Donald Knuth, James H. Morris, Vaughan Pratt 가 1977년 고안한 선형 시간 문자열 매칭…
- Knuth X 알고리즘 (Exact Cover) algorithm ← 1
- 별칭: Knuth X, exact cover, dancing links, DLX, 정확한 커버, knuth-x
- 정의 Knuth X 는 Exact Cover 문제를 푸는 backtracking 알고리즘. 0-1 행렬이 주어졌을 때 모든 열이 정확히 한 번씩 커버되도록 행의 부분 집합을 선택…
- kubectl kubernetes ← 5
- 별칭: kubectl, kube control, k8s CLI, Kubernetes CLI, kubectl commands, kubectl config, kubectl 사용법
- 정의 kubectl 은 Kubernetes API 를 명령줄에서 조작하는 공식 CLI 입니다. kube-apiserver 와 통신해 리소스를 조회, 생성, 수정, 삭제하고, 로그…
- Kubernetes kubernetes ← 17
- 별칭: Kubernetes, k8s, K8s, 쿠버네티스, kubernetes overview, kube, orchestrator
- 정의 Kubernetes (k8s) 는 컨테이너화된 애플리케이션의 배포, 스케일링, 관리 를 자동화하는 오픈소스 오케스트레이터입니다. Google 이 2014년 발표하고 2015…
L (5)
- LGV Theorem (Lindstrom-Gessel-Viennot) algorithm ← 3
- 별칭: LGV Theorem, Lindstrom-Gessel-Viennot Lemma, LGV 보조정리
- 정의 Lindstrom-Gessel-Viennot (LGV) Theorem 은 DAG (또는 격자) 에서 N 개의 시작점 / N 개의 끝점이 주어졌을 때 교차하지 않는 (non-…
- Lifting The Exponent (LTE) Lemma algorithm
- 별칭: lte, lifting the exponent, LTE lemma
- 정의 Lifting The Exponent (LTE) 는 소수 p에 대해 또는 을 계산하는 정리. vp(x)는 x의 p-진 값 (p로 나누어떨어지는 횟수). 1640년 페르마가 …
- Linearity of Expectation (기댓값의 선형성) algorithm
- 별칭: linearity of expectation, 기댓값 선형성, E[X+Y], linearity-of-expectation
- 정의 Linearity of Expectation (기댓값의 선형성) 은 두 확률 변수 X, Y 에 대해 가 항상 성립한다는 정리. X 와 Y 가 독립일 필요가 없다. 스칼라 곱…
- LLM RAG: Retrieval-Augmented Generation ai ← 11
- 별칭: LLM RAG, RAG, Retrieval Augmented Generation, 검색 증강 생성, 검색 보강 생성
- 정의 RAG (Retrieval-Augmented Generation) 는 LLM 생성 전에 외부 지식 베이스에서 관련 문서를 검색 하여 프롬프트에 삽입하는 패턴. 최신 정보, …
- LXC / LXD: System Containers, Docker 이전의 컨테이너 virtualization ← 2
- 별칭: LXC, LXD, linux containers, 리눅스 컨테이너, system container, 시스템 컨테이너, application container, 애플리케이션 컨테이너, Incus, systemd-nspawn, OpenVZ, Solaris Zones, FreeBSD Jails
- 정의 LXC (Linux Containers) 는 Linux 커널의 namespaces + cgroups 를 이용해 완전한 리눅스 시스템 (init, 서비스, 파일시스템) 을 컨…
M (13)
- Markov Chain: 상태 전이 확률 algorithm ← 2
- 별칭: Markov Chain, 마르코프 체인, transition matrix
- 정의 Markov Chain 은 다음 상태가 오직 현재 상태에만 의존하는 확률 과정. Memoryless property (Markov property). $$ P(X{t+1} …
- Matrix Exponentiation: 선형 점화식 fast algorithm ← 2
- 별칭: fast-power, Matrix Exponentiation, 행렬 거듭제곱, 행렬 지수
- 정의 선형 점화식을 행렬 곱으로 표현한 뒤, 행렬 거듭제곱을 log 시간에 계산하여 N 번째 항을 O(K³ log N) 에 얻는 기법. K = 상태 차원. - 시간: O(K³ l…
- Matroid, Matroid Intersection algorithm ← 3
- 별칭: Matroid, Matroid Intersection, 매트로이드
- 정의 Matroid 는 독립 집합 (independent set) 의 추상 구조. 유한 집합 와 그 부분집합족 가 다음을 만족하면 matroid . PS 에서는 두 매트로이드의 …
- Maximum Flow: Ford-Fulkerson, Edmonds-Karp, Dinic algorithm ← 10
- 별칭: Mincut, Maximum Flow, Max Flow, 최대 유량, Ford-Fulkerson, Edmonds-Karp, Dinic, Dinic Algorithm, Push-Relabel, 네트워크 유량, network flow, residual graph, 잔여 그래프, min cut, 최소 컷, max-flow min-cut
- 정의 Maximum Flow (최대 유량) 문제는 방향 그래프 $G = (V, E)$ 와 소스 $s$, 싱크 $t$ 가 주어졌을 때, 각 간선의 용량 제약 아래에서 $s$ 에서 …
- Median of Stream: 두 힙으로 중앙값 유지 algorithm ← 3
- 별칭: Median of Stream, 스트림 중앙값, running median
- 정의 스트림으로 들어오는 정수의 중앙값을 O(log N) 에 유지하는 문제. 중앙값 = 정렬했을 때 가운데 값. 원소가 짝수 개이면 두 중간 값의 평균. 문제 상황 정수가 하나씩…
- Merge Sort algorithm ← 11
- 별칭: merge sort, 병합 정렬, 머지 정렬, Merge
- 정의 Merge Sort (병합 정렬) 는 분할 정복 (Divide & Conquer) 으로 동작하는 비교 정렬. 배열을 반으로 나눠 각각 정렬한 뒤, 두 정렬된 부분을 병합 (…
- Miller-Rabin 소수 판정 (Miller-Rabin Primality Test) algorithm ← 5
- 별칭: miller-rabin, 밀러-라빈, miller rabin, miller-rabin primality test, 확률적 소수 판정
- 정의 Miller-Rabin 소수 판정 은 N 이 소수인지 확률적/결정론적으로 판별하는 알고리즘. Fermat 작은 정리와 이차잉여 성질을 결합해 O(k log^3 N) 에 동작…
- Minimum Vertex Cover: 최소 정점 덮개 algorithm ← 2
- 별칭: Minimum Vertex Cover, 정점 덮개, vertex cover, 최소 정점 커버, MVC, König's theorem, 쾨니히 정리
- 정의 Vertex Cover 는 그래프의 모든 간선이 최소 한 끝점을 포함하도록 하는 정점 집합입니다. Minimum Vertex Cover (MVC) 는 크기가 최소인 vert…
- MITM (Meet in the Middle) algorithm ← 4
- 별칭: meet in the middle, MITM, 중간에서 만나기, mitm
- 정의 Meet in the Middle (MITM) 은 입력을 절반으로 나누어 각각의 모든 경우를 2^(N/2) 에 열거한 뒤, 두 결과를 합쳐서 정답을 찾는 알고리즘. naiv…
- Mo's Algorithm (Mo's) algorithm ← 6
- 별칭: mo's algorithm, 모스 알고리즘, mo, offline query sqrt
- 정의 Mo's Algorithm 은 오프라인 구간 쿼리를 (L, R) 정렬로 재배치해 포인터 이동을 amortized O((N+Q)√N) 으로 줄이는 기법. 문제 상황과 동기 크…
- Mobius Function, Mobius Inversion algorithm ← 5
- 별칭: mobius-inversion, Mobius Function, Mobius Inversion, 뫼비우스 함수, 뫼비우스 역원, Dirichlet Convolution
- 정의 Mobius Function 은 양의 정수에 대한 수론 함수: Mobius Inversion (뫼비우스 역원) 은 합 / 컨볼루션 관계의 역변환. PS 에서는 GCD / 서…
- Multipoint Evaluation algorithm ← 3
- 별칭: Multipoint Evaluation, 다중점 평가
- 정의 Multipoint Evaluation 은 차수 의 다항식 를 N 개의 점 에서 동시에 평가 ( 를 모두 구함) 하는 것을 O((N + M) log²(N+M)) 에 계산하는…
- MySQL sql ← 2
- 별칭: mysql, MySQL, MariaDB, InnoDB, 마이에스큐엘
- 정의 MySQL 은 1995 년 MySQL AB (스웨덴) 가 만들어 2008 년 Sun → 2010 년 Oracle 로 인수된 오픈소스 RDBMS. GPL + 상용 듀얼 라이선…
N (4)
- N+1 쿼리 문제 database-internals ← 3
- 별칭: django-orm, N+1, N + 1, N plus 1, N+1 problem, N+1 문제, N+1 쿼리, N+1 query, ORM N+1, N plus one problem, n-plus-one
- 정의 N+1 쿼리 문제 = ORM 이 부모 entity N 개를 조회한 뒤, 각 부모의 연관 entity 를 하나씩 로드하면서 추가 SQL 이 N 번 발생하는 성능 안티패턴. 이…
- Nim Game: XOR 규칙 algorithm ← 2
- 별칭: Nim Game, 님 게임, nim
- 정의 Nim 은 여러 돌무더기에서 두 플레이어가 번갈아 한 무더기에서 돌을 임의 개수 가져가는 게임. 마지막 돌을 가져가는 쪽이 승 (normal play convention).…
- Non-Blocking (논블로킹) concurrency ← 9
- 별칭: non-blocking, nonblocking, non blocking, 논블로킹, 넌블로킹, non-blocking I/O, NIO, lock-free
- 정의 Non-Blocking 은 호출이 결과를 기다리지 않고 즉시 반환 하는 실행 방식. 결과가 준비되지 않았다면 "아직 안 됐다" 라는 신호 ( , , , 등) 를 반환하고, …
- NPU (Neural Processing Unit): 엣지 AI 칩 ml ← 1
- 별칭: NPU, Neural Processing Unit, AI accelerator, 엣지 AI, Apple Neural Engine, ANE, Edge TPU
- 정의 NPU (Neural Processing Unit) 는 모바일/엣지 디바이스용 저전력 AI 가속기. 스마트폰, 노트북, IoT 에 내장되어 온디바이스 AI 추론을 담당한다.…
O (3)
- Offline Incremental SCC, Offline Dynamic MST algorithm ← 5
- 별칭: Offline Incremental SCC, Offline Dynamic MST, 오프라인 동적 SCC, Parallel Binary Search
- 정의 Offline Incremental SCC 는 간선이 시간 순서대로 추가만 되는 유향 그래프에서, 두 정점이 같은 SCC 에 처음 속하는 시각 을 모든 쌍에 대해 오프라인으…
- Offline Queries (오프라인 쿼리) algorithm ← 1
- 별칭: offline query, offline queries, query reordering, Mo's algorithm, 오프라인 쿼리, 쿼리 재정렬
- 정의 오프라인 쿼리 (Offline Queries) 는 쿼리가 주어진 순서대로 처리하지 않고, 효율성을 위해 재정렬하거나 배치 처리 하는 기법. 쿼리를 다시 정렬하여 정렬 상태를…
- Order Statistics Tree (OST): rank/select 지원 BST algorithm ← 5
- 별칭: Order Statistics Tree, OST, 순위 통계 트리, order statistics
- 정의 Order Statistics Tree (OST) 는 각 노드에 서브트리 크기 (size) 를 추가로 저장한 균형 BST. 두 가지 새 연산을 O(log N) 에 지원한다.…
P (15)
- Pagefind: 정적 사이트 전문 검색 frameworks ← 4
- 별칭: Pagefind, pagefind, 정적 검색, static search, 정적 사이트 검색, SSG 검색
- 정의 Pagefind 는 정적 사이트 (SSG) 용 클라이언트 사이드 전문 검색 엔진. 빌드 후 정적 인덱스 생성, 브라우저에서 WASM + fetch 로 검색. CloudCan…
- Palindrome Tree (eerTree) algorithm ← 2
- 별칭: Palindrome Tree, eerTree, Palindromic Tree, 회문 트리
- 정의 Palindrome Tree (또는 eerTree) 는 문자열 의 모든 서로 다른 회문 부분문자열 을 선형 공간 O(n) 에 저장하는 자료구조. 2014 년 Mikhail …
- Pascal Triangle: 이항계수 algorithm ← 4
- 별칭: Pascal Triangle, 파스칼 삼각형, 이항계수, binomial coefficient, 이항 계수
- 정의 Pascal Triangle 은 각 원소가 위 두 원소의 합인 삼각형. 행 n, 열 k 의 원소가 이항계수 $\binom{n}{k}$. 이항계수 $\binom{n}{k}$:…
- Permutation Tree algorithm ← 2
- 별칭: Permutation Tree, Divide-Combine Tree, 분할-결합 트리
- 정의 Permutation Tree (a.k.a. Divide-Combine Tree) 는 순열을 연속 구간 (consecutive interval, 값이 연속인 구간) 단위로 …
- Persistent Segment Tree (영속 세그): 시점별 스냅샷 algorithm ← 5
- 별칭: Persistent Segtree, Persistent Segment Tree, 영속 세그, PST
- 정의 Persistent Segment Tree 는 매 갱신마다 이전 버전을 그대로 유지하면서 새 버전을 만드는 세그먼트 트리입니다. 각 버전은 루트 포인터 로 식별됩니다. 핵심…
- Pick 정리 (Pick's Theorem) algorithm ← 1
- 별칭: pick's theorem, 픽 정리, pick theorem, 격자점 다각형, lattice polygon
- 정의 Pick 정리는 꼭짓점이 격자점 (integer lattice) 위에 있는 단순 다각형의 넓이 A 를 내부 격자점 개수 I 와 경계 격자점 개수 B 로 표현: A = I +…
- Pigeonhole Principle (비둘기집 원리) algorithm
- 별칭: pigeonhole principle, 비둘기집 원리, pigeonhole, Dirichlet's principle
- 정의 비둘기집 원리 (Pigeonhole Principle) 는 "N+1 개의 객체를 N 개의 상자에 넣으면, 적어도 하나의 상자는 두 개 이상의 객체를 포함한다" 는 자명한 조…
- Pollard Rho 소인수분해 (Pollard's Rho Algorithm) algorithm ← 3
- 별칭: pollard rho, pollard-rho, 폴라드 로, pollard's rho, 확률적 소인수분해
- 정의 Pollard Rho 는 큰 정수 N 의 비자명 약수를 O(N^(1/4)) 확률적 시간에 찾는 알고리즘. 생일 역설 (Birthday Paradox) 을 활용해 난수 수열의…
- Polynomial Division, Kitamasa algorithm ← 6
- 별칭: Polynomial Division Kitamasa, Polynomial Division, Kitamasa, 키타마사, 다항식 나눗셈
- 정의 Kitamasa 는 길이 의 선형 점화식 의 번째 항을 O(K² log n) 또는 FFT/NTT 와 결합해 O(K log K · log n) 에 계산하는 알고리즘. 행렬 거…
- Polynomial Interpolation algorithm ← 3
- 별칭: Polynomial Interpolation, 다항식 보간, Lagrange Interpolation, 라그랑주 보간
- 정의 Polynomial Interpolation (다항식 보간) 은 N+1 개의 점 으로부터 유일하게 결정되는 차수 ≤ N 의 다항식 를 복원하는 것. PS 에서는 DP 의 결…
- PostgreSQL sql ← 2
- 별칭: postgresql, PostgreSQL, postgres, Postgres, PG, 포스트그레스
- 정의 PostgreSQL 은 1986 년 UC Berkeley 의 POSTGRES 프로젝트에서 출발해 1996 년 SQL 지원 버전으로 오픈소스화된 객체-관계형 DBMS (ORD…
- Priority Queue / Heap: 우선순위 큐 algorithm ← 7
- 별칭: Priority Queue / Heap, Priority Queue, Heap, 우선순위 큐, 힙, binary heap, min-heap, max-heap
- 정의 Priority Queue 는 우선순위가 가장 높은 원소를 O(log N) 에 pop 할 수 있는 자료구조. Binary Heap 이 표준 구현. - Max-heap: 부모…
- Pub/Sub Bus concurrency ← 4
- 별칭: Pub/Sub, pubsub, publish-subscribe, 메시지 버스, Pub Sub Bus
- 정의 Pub/Sub Bus (Publish-Subscribe bus)는 메시지 송신자(publisher)와 수신자(subscriber)가 서로를 모르고도 통신할 수 있게 해주는 …
- Push-Relabel, Cost Scaling algorithm ← 4
- 별칭: Push Relabel, Push-Relabel Algorithm, Cost Scaling Algorithm, 푸시 리라벨
- 정의 Push-Relabel 은 증가 경로 (augmenting path) 기반 의 Ford-Fulkerson / Dinic 과 달리 각 정점의 잉여 흐름 (excess) 을 국…
- Python python ← 6
- 별칭: 파이썬, python, Python, CPython, 파이썬 언어
- 정의 Python은 Guido van Rossum이 1991년 발표한 인터프리터 방식의 동적 타이핑 언어다. 읽기 쉬운 문법과 방대한 라이브러리 생태계로 웹 백엔드, 데이터 분석…
Q (2)
- QUIC network ← 14
- 별칭: QUIC 프로토콜, quic, Quick UDP Internet Connections
- 정의 QUIC (Quick UDP Internet Connections)은 Google이 2012년 처음 제안하고 2021년 RFC 9000으로 표준화된 UDP 기반 전송 프로토…
- Quick Sort algorithm ← 10
- 별칭: quick sort, quicksort, 퀵 정렬, Quicksort, Quick-Sort
- 정의 Quick Sort (퀵 정렬) 는 분할 정복 (Divide & Conquer) 기반 비교 정렬. 1959 년 Tony Hoare 가 고안. 배열에서 pivot 을 하나 골…
R (6)
- Randomization (무작위화) algorithm ← 2
- 별칭: randomization, randomized algorithm, 무작위 알고리즘, Las Vegas, Monte Carlo, Fisher-Yates, random shuffle
- 정의 무작위화 (Randomization) 는 알고리즘 내부에 난수를 도입하여 평균 성능 향상 또는 결정론적 방법보다 단순한 해결책 을 얻는 기법. 크게 두 부류로 나뉜다: - …
- Redis sql
- 별칭: 레디스, redis, Redis Stream, Redis Pub/Sub, Redis Cluster, RDB snapshot, AOF, Sorted Set, Redis persistence
- 정의 Redis (REmote DIctionary Server) = 인메모리 자료구조 서버. Salvatore Sanfilippo 가 2009 년 만들었고, 현재는 Redis L…
- Regions Trick algorithm ← 2
- 별칭: Regions Trick, 쿼리 캐싱
- 정의 Regions Trick 은 비슷한 쿼리들을 시공간 영역으로 묶어 캐싱 해, 동일/유사 결과를 재사용해 총 비용을 줄이는 패턴. 쿼리 캐싱 (query caching) 의 …
- RMQ (Range Minimum Query) algorithm ← 1
- 별칭: RMQ, Range Minimum Query, 구간 최솟값
- 정의 Range Minimum Query 는 배열 A 에 대해 구간 [l, r] 의 최솟값을 답하는 문제입니다. 최댓값, gcd, XOR 등으로 자연스럽게 일반화됩니다. - 정적…
- Ruby on Rails rails ← 3
- 별칭: Rails, 레일즈, 루비온레일즈, rails, ror, Ruby on Rails, 루비 온 레일즈
- 정의 Ruby on Rails (또는 Rails)는 Ruby 언어 기반의 풀스택 웹 프레임워크다. David Heinemeier Hansson (DHH)이 2004년 Baseca…
- Run Enumerate algorithm ← 2
- 별칭: Run Enumerate, Maximal Repetition, Lyndon Decomposition, Main-Lorentz
- 정의 Run 은 문자열에서 주기적으로 반복되는 maximal 구간. 정확히는 구간 의 주기 가 이면서, 양 끝으로 확장 시 주기가 깨지는 부분. Run Enumerate 는 길이…
S (24)
- Segment Tree Beats algorithm ← 6
- 별칭: Segment Tree Beats, Ji Driver Segment Tree, STB, 세그먼트 트리 비츠
- 정의 Segment Tree Beats (STB), 일명 Ji Driver Segment Tree 는 naive lazy propagation 으로는 표현 불가능한 비단조 laz…
- Selection Sort algorithm ← 4
- 별칭: selection sort, 선택 정렬
- 정의 Selection Sort (선택 정렬) 는 매 단계에서 남은 원소 중 최솟값을 찾아 맨 앞으로 보내는 정렬. n-1 번의 단계 후 정렬 완료. 다른 O(n²) 정렬과 달리…
- Shell Script: bash 기본과 실전 패턴 devops ← 3
- 별칭: Shell Pipeline, shell-pipeline, Shell Script, bash script, 쉘 스크립트, shell scripting, bash
- 정의 Shell Script 는 shell (bash, zsh, sh) 커맨드를 파일로 저장하여 자동화하는 스크립트. DevOps, CI/CD, sysadmin 필수. 안전한 시…
- SIMD algorithm ← 5
- 별칭: SIMD, AVX2, Vectorization, SSE
- 정의 SIMD (Single Instruction Multiple Data) 는 한 명령어로 여러 데이터 를 병렬 처리하는 CPU 기능. x86 의 SSE / AVX / AVX2…
- SIMT ml ← 5
- 별칭: Single Instruction Multiple Threads, simt, warp, SIMT 모델, wavefront, warp divergence
- 정의 SIMT (Single Instruction, Multiple Threads) 는 NVIDIA 가 정립한 GPU 의 실행 모델이다. 한 명령(instruction) 을 한 …
- Skip List: 확률적 O(log N) 정렬 구조 algorithm ← 1
- 별칭: Skip List, 스킵 리스트
- 정의 Skip List 는 정렬된 연결 리스트 를 여러 층으로 쌓아 확률적으로 O(log N) 탐색을 제공하는 자료구조입니다. 각 노드는 확률 p = 1/2 로 더 높은 층에 승…
- Slope Trick algorithm ← 6
- 별칭: Slope Trick, slope-trick, 기울기 트릭
- 정의 Slope Trick (기울기 트릭) 은 볼록 (convex) 한 piecewise-linear 함수 를 DP 상태값으로 들고 갈 때, 함수 전체를 메모리에 펼치지 않고 꺾…
- SOS DP (Sum Over Subsets) algorithm ← 4
- 별칭: DP Sum Over Subsets, SOS DP, sum over subsets, subset DP, dp-sum-over-subsets, zeta transform
- 정의 SOS DP (Sum Over Subsets) 는 길이 2^N 의 배열 a 에 대해, 모든 mask (0..2^N-1) 마다 mask 의 부분 집합 (submask) 에 대…
- Spanning Tree, MST: 최소 신장 트리 algorithm ← 2
- 별칭: Spanning Tree, Minimum Spanning Tree, MST, 최소 신장 트리, 신장 트리
- 정의 Spanning Tree 는 그래프의 모든 정점을 포함하는 부분 트리입니다. 정점 N 개이면 간선 N-1 개. MST (Minimum Spanning Tree) 는 간선 가…
- SPMD ml ← 5
- 별칭: Single Program Multiple Data, spmd, 단일 프로그램 다중 데이터
- 정의 SPMD (Single Program, Multiple Data)는 병렬 컴퓨팅의 대표 모델 중 하나. 모든 프로세스(또는 thread)가 같은 프로그램을 실행하되, 각자 …
- Sprague-Grundy Theorem: 게임 이론 통일 algorithm ← 2
- 별칭: Sprague-Grundy Theorem, Sprague-Grundy, Grundy Number, 님 값
- 정의 Sprague-Grundy Theorem: 모든 impartial game (플레이어 무관, deterministic, no draw) 은 하나의 Nim 무더기와 등가. 각…
- SQL sql ← 8
- 별칭: SQL, Structured Query Language, Standard SQL, ANSI SQL
- 정의 SQL (Structured Query Language) 은 관계형 데이터베이스 (RDBMS) 와 대화하기 위한 선언형 (declarative) 질의 언어. 1970 년 E…
- Stateful concurrency ← 5
- 별칭: stateful, 상태유지, Stateful 서버, stateful server
- 정의 Stateful (상태유지) 서버는 클라이언트와의 세션·연결 컨텍스트를 메모리에 유지한다. 후속 요청·이벤트는 이 컨텍스트를 활용해 처리된다. 같은 클라이언트의 요청은 같은…
- Stateful vs Stateless Firewall network ← 3
- 별칭: Stateful Firewall, Stateless Firewall, 상태 저장 방화벽, 상태 비저장 방화벽, connection tracking, conntrack, AWS SG vs NACL
- 정의 방화벽 (Firewall) 은 네트워크 트래픽을 정책에 따라 허용/차단 하는 보안 장치. 상태 관리 방식으로 두 유형이 있습니다. - Stateless (상태 비저장): 각…
- Stateless concurrency ← 5
- 별칭: stateless, 무상태, Stateless 서버, stateless server
- 정의 Stateless (무상태) 서버는 클라이언트의 요청 간 상태를 기억하지 않는다. 각 요청은 완전히 독립적이며, 처리에 필요한 모든 정보는 요청 자체에 담겨 있어야 한다. …
- Stateless vs Stateful concurrency ← 2
- 별칭: Stateless vs Stateful, stateless-vs-stateful, 무상태와 상태유지
- 정의 Stateless (무상태): 서버가 클라이언트 요청 간 상태를 기억하지 않음. 각 요청은 완전히 독립적이며 필요한 모든 정보는 요청에 담겨 있다. Stateful (상태유…
- Stern-Brocot Tree algorithm ← 2
- 별칭: Stern-Brocot Tree, 스턴-브로코 트리, SBT
- 정의 Stern-Brocot Tree (SBT) 는 모든 양의 기약 분수 (positive coprime fraction) 를 정확히 한 번씩 노드로 가지는 무한 이진 트리. 1…
- Sticky Session concurrency ← 10
- 별칭: sticky session, session affinity, session persistence, 스티키 세션, 세션 어피니티, sticky routing
- 정의 Sticky Session (= Session Affinity)은 로드밸런서가 같은 클라이언트의 요청을 항상 같은 백엔드 서버로 라우팅하도록 하는 동작이다. 서버, 즉 세션…
- Stoer-Wagner 전역 최소 컷 (Global Minimum Cut) algorithm
- 별칭: Stoer-Wagner, global minimum cut, 전역 최소 컷, stoer-wagner algorithm, min-cut
- 정의 Stoer-Wagner 알고리즘 은 무방향 가중치 그래프 에서 source/sink 없이 가장 작은 컷 (global minimum cut) 을 찾는 알고리즘. 시간 복잡도…
- Subset Sum: 부분집합 합 algorithm ← 1
- 별칭: Subset Sum, 부분집합 합
- 정의 집합 $\{a1, \ldots, an\}$ 에서 부분집합의 합이 정확히 T가 되는 부분집합이 존재하는가를 묻는 결정 문제. - 일반 경우: NP-complete (다항 시간…
- Suffix Array (접미사 배열) algorithm ← 3
- 별칭: suffix array, 접미사 배열, SA, LCP array
- 정의 Suffix Array (SA, 접미사 배열) 는 문자열 s 의 모든 접미사를 사전순 정렬한 인덱스 배열. SA[i] = 시작 위치 (0-indexed). 보통 LCP (L…
- Suffix Automaton, Suffix Tree algorithm ← 4
- 별칭: Suffix Automaton, SAM, Suffix Tree, 접미사 오토마타
- 정의 Suffix Automaton (SAM) 은 문자열 의 모든 부분문자열을 단어로 받는 최소 결정성 유한 오토마타 (minimal DFA). 노드 수 ≤ 2n, 간선 수 ≤ …
- Synchronous (동기) concurrency ← 5
- 별칭: synchronous, sync, 동기, 동기식, 동기 호출, synchronous call, blocking call
- 정의 Synchronous (동기) 는 호출자가 결과가 나올 때까지 기다리는 실행 모델. 함수를 호출한 코드는 그 함수가 반환할 때까지 다음 줄로 진행하지 않는다. 이 정의는 J…
- Systolic Array ml ← 4
- 별칭: systolic array, 시스톨릭 어레이, MXU, Matrix Multiply Unit, PE 배열
- 정의 Systolic Array 는 격자 형태로 배치된 다수의 Processing Element (PE) 가, 입력 데이터가 박동(systolic)처럼 격자를 가로질러 흐르는 동…
T (11)
- Tarjan SCC: 강한 연결 요소 O(V+E) algorithm ← 3
- 별칭: Tarjan SCC, Tarjan's SCC, 강한 연결 요소, SCC
- 정의 Strongly Connected Component (SCC) 는 유향 그래프에서 서로 도달 가능한 정점들의 극대 집합입니다. 즉, SCC 내 임의 두 정점 u, v 에 대…
- Taylor Series: 함수 근사 algorithm ← 1
- 별칭: Taylor Series, 테일러 급수, 테일러 시리즈, Maclaurin series, 맥클로린 급수
- 정의 무한히 미분 가능한 함수 f의 x = a 근방 급수 전개: $$ f(x) = \sum{n=0}^{\infty} \frac{f^{(n)}(a)}{n!} (x - a)^n $$…
- TCP network ← 18
- 별칭: Transmission Control Protocol, tcp
- 정의 TCP (Transmission Control Protocol) 는 신뢰성 있는 연결 지향 전송 계층 프로토콜이다. RFC 9293 으로 정의되어 있다. HTTP/1.1·2…
- TLS / SSL network ← 18
- 별칭: TLS, SSL, Transport Layer Security, Secure Sockets Layer, tls, ssl
- 정의 TLS (Transport Layer Security) 는 (또는 위 ) 위에서 동작하는 암호화·인증 프로토콜이다. SSL 은 TLS 의 전신 (Netscape 1995, …
- Top K Selection: 상위 K개 원소 algorithm ← 4
- 별칭: Top K, Top-K, 상위 K, K th largest
- 정의 배열 또는 스트림에서 상위 K 개 원소를 뽑는 문제. 혹은 K 번째로 큰/작은 원소 하나만 찾는 선택(selection) 문제. - 오프라인: 배열 전체가 주어짐 → Qui…
- TPU (Tensor Processing Unit): Google 의 ML ASIC ml ← 6
- 별칭: TPU, Tensor Processing Unit, Google TPU, TPU pod, TPU v4, Trillium
- 정의 TPU (Tensor Processing Unit) 는 Google 이 딥러닝 워크로드 전용으로 설계한 ASIC (Application-Specific Integrated …
- Transfer Learning: pre-training, fine-tuning, domain adaptation ml ← 10
- 별칭: transfer learning, 전이 학습, fine-tuning, 파인튜닝, 파인 튜닝, pre-training, pretraining, downstream task, domain adaptation, 도메인 적응, foundation model, 파운데이션 모델, PEFT, LoRA, adapter, prompt tuning, prefix tuning, catastrophic forgetting, negative transfer
- 정의 Transfer Learning 은 source task/domain 에서 학습한 지식을 target task/domain 에 재사용 하여 학습 효율을 높이는 패러다임입니다…
- Transitive Closure: 도달 가능성 폐포 algorithm ← 1
- 별칭: Transitive Closure, 이행 폐포, reachability closure, 도달 가능성 행렬, 도달 가능성 폐포
- 정의 Transitive Closure (이행 폐포) 는 그래프의 모든 정점 쌍 (u, v) 에 대해 u 에서 v 로 도달 가능한지를 담은 부울 행렬입니다. $$ TC[i][j]…
- Treewidth, Tree Decomposition algorithm ← 1
- 별칭: Treewidth, Tree Decomposition, 트리 분해, TW
- 정의 Tree Decomposition 은 그래프 를 bag (정점 집합) 들을 노드로 하는 트리 로 분해한 것. Treewidth = 가장 작은 분해의 최대 bag 크기 - 1…
- TSP (Traveling Salesman Problem): 외판원 순회 algorithm ← 4
- 별칭: Traveling Salesman Problem, TSP, 외판원 순회, 외판원 문제
- 정의 N 개 도시를 정확히 한 번씩 방문 후 시작점으로 돌아오는 최소 비용 경로. NP-hard. 공식 표현: N 개 정점의 완전 그래프에서 Hamiltonian Cycle 중 …
- TypeScript typescript ← 25
- 별칭: TypeScript, typescript, TS, ts language, TypeScript 언어, typed JavaScript
- 정의 TypeScript 는 Microsoft 가 2012년 발표한 JavaScript 의 상위 집합 프로그래밍 언어입니다. 정적 타입 시스템, 인터페이스, 제네릭, enum, …
U (2)
- UDP network ← 14
- 별칭: User Datagram Protocol, udp, 유저 데이터그램 프로토콜
- 정의 UDP (User Datagram Protocol)는 비연결·비신뢰 전송 계층 프로토콜이다. RFC 768 (1980) 로 정의되었다. TCP 와 대비된다. "보내고 잊는다…
- UTF-8 인코딩 algorithm
- 별칭: utf8, UTF-8, Unicode, 유니코드
- 정의 UTF-8 은 Unicode code point (00x10FFFF) 를 14 byte 가변 길이로 인코딩하는 방식. 1993년 ISO/IEC 10646 표준의 일부로 도입…
V (3)
- Virtual Machine (VM): guest OS, 스냅샷, 마이그레이션 virtualization ← 3
- 별칭: virtual machine, VM, 가상 머신, guest OS, 게스트 OS, guest kernel, 게스트 커널, vCPU, vRAM, virtual NIC, vNIC, virtio, virtual disk, qcow2, VMDK, VHD, OVF, cloud-init
- 정의 Virtual Machine (VM) 은 hypervisor 위에 실행되는 완전한 가상 컴퓨터 입니다. 가상 CPU (vCPU), 가상 메모리 (vRAM), 가상 디스크, …
- VM vs Container: 층 구조, 성능, 격리 완벽 비교 virtualization ← 5
- 별칭: vm vs container, vm 컨테이너 비교, container vs vm, 왜 컨테이너가 빠른가, 왜 vm이 무거운가, boot time comparison, kernel sharing, 커널 공유, startup overhead
- 정의 VM 과 Container 는 같은 문제 (하나의 물리 서버에 여러 워크로드 격리) 를 다른 방식으로 푸는 두 접근 입니다. VM 은 하드웨어를 가상화하고, Containe…
- Voronoi Diagram, Delaunay Triangulation algorithm ← 2
- 별칭: Voronoi Diagram, Delaunay Triangulation, 보로노이 다이어그램, 들로네 삼각분할
- 정의 Voronoi Diagram 은 평면의 N 개 점에 대해 각 점을 가장 가까운 점으로 가지는 영역 들로 평면을 분할한 그림. 각 영역은 볼록 다각형 (또는 무한 영역). D…
W (1)
- Wavelet Tree: 값 범위 이진 분할 algorithm ← 4
- 별칭: Wavelet Tree, wavelet-tree, 웨이블릿 트리
- 정의 Wavelet Tree 는 시퀀스의 값 범위를 이진 분할하며 만든 트리 자료구조입니다. k-th smallest in range, rank/select, count in r…
X (1)
- XOR 기저 (XOR Basis) algorithm
- 별칭: xor basis, XOR 기저, linear basis, GF(2) basis, XOR linear basis, xor-basis
- 정의 XOR 기저 (XOR Basis, Linear Basis over GF(2)) 는 정수 집합 S 의 XOR 합 (XOR span) 으로 만들 수 있는 모든 값을 생성하는 최…
Y (2)
- Young Tableau, RSK Correspondence algorithm
- 별칭: Young Tableau Diagram, Young 도형, RSK Correspondence, Robinson-Schensted-Knuth
- 정의 Young Diagram 은 행마다 길이가 단조 감소 하는 칸들의 배열 (왼쪽 위 정렬). Young Tableau 는 그 칸에 1..n 을 채워 넣은 것 중 행과 열 모두…
- Young Tableau: 삽입 정렬형 격자, LIS algorithm ← 2
- 별칭: Young Tableau, 영 태블로, Young diagram, RSK correspondence, Schensted insertion
- 정의 Young Tableau 는 정수를 격자(grid) 에 배치한 자료구조로, 다음 조건을 만족합니다: - 각 행(row): 왼쪽에서 오른쪽으로 비감소 (non-decreasi…
Z (1)
- Z 알고리즘 (Z Algorithm) algorithm ← 5
- 별칭: Z-algorithm, z algorithm, z function, z-function, Z 함수
- 정의 Z 알고리즘 (Z Algorithm) 은 문자열 의 각 위치 i 에 대해, 와 의 최장 공통 접두사 (LCP) 길이 를 O(N) 시간에 모두 계산하는 선형 알고리즘. 결과 …
# (721)
- (오목 포함) 다각형 내부 점 판정 (Point in Polygon) algorithm ← 1
- 별칭: point in polygon, ray casting, 다각형 내부 점 판정, crossing number, even-odd rule
- 정의 다각형 내부 점 판정 (Point in Polygon, PIP) 은 단순 다각형 (볼록 또는 오목) 과 하나의 점이 주어졌을 때, 점이 내부/경계/외부 중 어디에 있는지 판…
- [비교] JPA EAGER vs Rails eager_load frameworks ← 3
- 별칭: JPA vs Rails eager loading, EAGER 비교, fetch type Rails, Rails eager_load JPA, N+1 JPA Rails, jpa rails n+1
- 정의 JPA 와 Rails 는 둘 다 "eager" 라는 용어를 ORM 의 연관 로딩 전략에 사용한다. 이름은 비슷하지만 의미는 정반대. N+1 문제란 N+1 문제는 연관 객체를…
- [Algorithm] Karatsuba 곱셈: O(n²) 벽을 깬 분할 정복 algorithm
- 별칭: Karatsuba, Karatsuba algorithm, 카라츠바 알고리즘, 카라츠바 곱셈, fast multiplication, big integer multiplication, subquadratic multiplication
- 정의 Karatsuba 알고리즘 은 두 큰 정수의 곱셈 을 분할 정복 으로 풀어 O(n^log₂3) ≈ O(n^1.585) 시간에 처리하는 알고리즘. 1962년 Anatoly K…
- [API Design] API Versioning: URL / Header / Date 비교 api-design ← 3
- 별칭: API versioning, API breaking change, Stripe API version, deprecation policy, semver API
- 정의 API Versioning 은 breaking change 를 클라이언트에 강요 없이 호환성을 유지하는 전략. 잘못 잡으면 모든 클라이언트 동시 마이그레이션 강요. 무엇이 …
- [API Design] GraphQL: 단일 endpoint, N+1, persisted queries api-design ← 5
- 별칭: GraphQL, Apollo, Relay, DataLoader, N+1 GraphQL, persisted queries, federation
- 정의 GraphQL (Facebook, 2015) 은 클라이언트가 필요한 필드만 명시 하는 query language + 런타임. 단일 endpoint, typed schema,…
- [API Design] JSON-RPC vs gRPC vs REST: RPC 패턴 비교 api-design ← 1
- 별칭: JSON-RPC, RPC, JSON-RPC 2.0, RPC vs REST
- 정의 RPC (Remote Procedure Call) = 원격 함수 호출 추상화. 세 가지 주요 형태: 1. JSON-RPC: JSON 위 RPC. 가벼움. 2. gRPC: P…
- [API Design] OpenAPI / Swagger: 스펙, 코드 생성, contract testing api-design ← 3
- 별칭: OpenAPI Swagger, OpenAPI, Swagger, OAS, Swagger UI, Redoc, contract testing, API-first
- 정의 OpenAPI Specification (OAS) 은 REST API 를 기술하는 YAML/JSON 형식. 옛 이름 Swagger. 2017 부터 OpenAPI Initia…
- [API Design] REST API: 원칙, 자원 모델링, HATEOAS, 버전 관리 api-design ← 10
- 별칭: REST API Design, REST, RESTful API, Resource modeling, HATEOAS, Richardson Maturity Model, API versioning
- 정의 REST (Representational State Transfer) 는 Roy Fielding 의 2000년 박사논문에서 정립된 분산 시스템 아키텍처 스타일. HTTP 의…
- [Auth] CSRF: 위조 요청 공격과 방어 auth-security ← 5
- 별칭: CSRF, Cross-Site Request Forgery, CSRF token, Synchronizer Token, Double Submit Cookie, SameSite cookie defense
- 정의 CSRF (Cross-Site Request Forgery) 는 사용자가 로그인된 상태 에서 공격자가 만든 페이지 가 피해자 브라우저로 위조 요청 을 보내는 공격. 쿠키 기…
- [Auth] JWT: 구조, 서명, 만료, refresh token auth-security ← 10
- 별칭: JWT, JSON Web Token, JWS, JWE, JWA, Bearer token, Refresh token, Access token, RS256, HS256
- 정의 JWT (JSON Web Token) (RFC 7519) 은 base64url 인코딩된 JSON + 서명 형태의 self-contained token. 서버가 세션 저장 없…
- [Auth] mTLS (Mutual TLS): 양방향 인증서 인증 auth-security ← 6
- 별칭: Service Mesh, mTLS, Mutual TLS, client certificate, client cert auth, service mesh mtls, SPIFFE/SPIRE
- 정의 mTLS (Mutual TLS) 는 서버뿐 아니라 클라이언트도 TLS 인증서로 자기 신분 증명. 일반 TLS = 서버 인증만, mTLS = 양방향. 활용: 서비스 메시 (I…
- [Auth] OAuth 2.0 / 2.1: Authorization Code + PKCE auth-security ← 9
- 별칭: OAuth 2.0, OAuth 2.1, Authorization Code, PKCE, Client Credentials, Implicit flow, Device flow
- 정의 OAuth 2.0 (RFC 6749, 2012) 은 제3자 앱이 사용자 동의로 자원에 접근 하게 하는 권한 위임 프레임워크. 인증 (authentication) 이 아니라 …
- [Auth] OpenID Connect (OIDC): OAuth 위의 인증 레이어 auth-security ← 4
- 별칭: OIDC, OpenID Connect, id_token, userinfo endpoint, discovery, .well-known/openid-configuration
- 정의 OpenID Connect (OIDC) 는 OAuth 2.0 위에 얹은 인증 (authentication) 표준. OAuth 가 권한 위임 (authorization), O…
- [Auth] SAML 2.0: XML 기반 기업 SSO auth-security ← 3
- 별칭: SAML, SAML 2.0, SP-initiated, IdP-initiated, SAML Assertion, AuthnRequest, Metadata
- 정의 SAML 2.0 (Security Assertion Markup Language) 는 XML 기반 기업 SSO 표준. 2005년 OASIS 표준화. 모바일 친화도 / 단순성…
- [Auth] Session Cookie: HttpOnly, SameSite, Secure flag auth-security ← 7
- 별칭: session cookie, HttpOnly, SameSite, Secure cookie, session ID, cookie attributes
- 정의 Session Cookie 는 서버가 발급한 임의 ID 를 쿠키에 보관. 매 요청 자동 첨부. 서버 측 세션 store (Redis, DB) 와 짝. [!IMPORTANT]…
- [AWS CAF] Business Perspective cloud ← 7
- 별칭: AWS CAF Business, CAF Business Perspective, CAF 비즈니스 관점, Cloud Business Strategy, Digital Transformation Strategy
- 정의 Business Perspective 는 AWS CAF 6 관점 중 비즈니스 성과 에 초점을 맞춘 관점입니다. 클라우드 투자가 디지털 전환 목표와 비즈니스 성과 (reven…
- [AWS CAF] Governance Perspective cloud ← 7
- 별칭: AWS CAF Governance, CAF Governance Perspective, CAF 거버넌스 관점, Cloud Financial Management, FinOps AWS, Cloud Program Management
- 정의 Governance Perspective 는 AWS CAF 6 관점 중 클라우드 이니셔티브의 관리 (orchestration) 를 담당합니다. 조직의 이익을 극대화하면서 전…
- [AWS CAF] Operations Perspective cloud ← 7
- 별칭: AWS CAF Operations, CAF Operations Perspective, CAF 운영 관점, Cloud Operations, AWS SRE, AWS Observability
- 정의 Operations Perspective 는 AWS CAF 6 관점 중 클라우드 서비스가 비즈니스가 요구하는 수준으로 딜리버리되도록 보장 하는 관점입니다. 자동화 + 최적화…
- [AWS CAF] People Perspective cloud ← 6
- 별칭: AWS CAF People, CAF People Perspective, CAF 사람 관점, Cloud Culture, Cloud Talent, Cloud Workforce Transformation
- 정의 People Perspective 는 AWS CAF 6 관점 중 비즈니스 와 기술 사이의 다리 역할을 하는 관점입니다. 문화, 조직 구조, 리더십, 인력 (workforce…
- [AWS CAF] Platform Perspective cloud ← 6
- 별칭: AWS CAF Platform, CAF Platform Perspective, CAF 플랫폼 관점, Cloud Platform Architecture, Hybrid Cloud Platform, Cloud Native Modernization
- 정의 Platform Perspective 는 AWS CAF 6 관점 중 엔터프라이즈급 확장 가능한 하이브리드 클라우드 플랫폼 구축 을 담당합니다. 기존 워크로드 현대화 + 신규…
- [AWS CAF] Security Perspective cloud ← 7
- 별칭: AWS CAF Security, CAF Security Perspective, CAF 보안 관점, Cloud Security Governance, Cloud Security Architecture, Zero Trust AWS
- 정의 Security Perspective 는 AWS CAF 6 관점 중 데이터와 워크로드의 기밀성 (Confidentiality), 무결성 (Integrity), 가용성 (Av…
- [AWS SageMaker] Model Monitor: 모델 및 데이터 드리프트 감지 ml ← 4
- 별칭: sagemaker model monitor, SageMaker Model Monitor, model monitor, data drift, model drift, concept drift, model quality drift, bias drift, feature attribution drift, data quality monitor, model quality monitor, 데이터 드리프트, 모델 드리프트, DefaultModelMonitor, ModelQualityMonitor
- [!WARNING] AWS 공식 발표 (2026): 2026-07-30 부터 SageMaker Model Monitor 는 신규 고객 사용이 중단됩니다. 기존 사용 고객은 계속 …
- [AWS] ALB vs NLB: L7 vs L4 로드 밸런서 cloud ← 16
- 별칭: AWS ALB NLB, ALB, NLB, Application Load Balancer, Network Load Balancer, AWS Load Balancer, ELB
- 정의 | | ALB | NLB | (Classic ELB) | |---|---|---|---| | Layer | L7 (HTTP) | L4 (TCP/UDP) | L4 + L7 (…
- [AWS] Amazon Bedrock cloud ← 4
- 별칭: AWS Bedrock, Amazon Bedrock, Bedrock, Bedrock Converse API, Bedrock Knowledge Bases, Bedrock Managed Knowledge Base, Bedrock Guardrails, Bedrock Agents, AgentCore, Bedrock AgentCore, Amazon Nova, Nova 2
- 정의 Amazon Bedrock 은 여러 제공사의 파운데이션 모델 (foundation model) 을 단일 API 로 호출할 수 있게 하는 AWS 의 관리형 서비스입니다. 20…
- [AWS] Amazon DocumentDB cloud ← 3
- 별칭: AWS DocumentDB, Amazon DocumentDB, DocumentDB, DocDB, DocumentDB Elastic Clusters, DocumentDB Global Clusters, MongoDB compatible AWS, Amazon 문서 데이터베이스
- 정의 Amazon DocumentDB 는 AWS 가 관리하는 문서 지향 (document-oriented) NoSQL 데이터베이스 로, MongoDB API 호환 을 제공합니다.…
- [AWS] Amazon GuardDuty cloud ← 8
- 별칭: AWS GuardDuty, Amazon GuardDuty, GuardDuty, GuardDuty Malware Protection, GuardDuty EKS Protection, GuardDuty S3 Protection, GuardDuty RDS Protection, GuardDuty Runtime Monitoring, AWS 위협 탐지, AWS 이상 탐지
- 정의 Amazon GuardDuty 는 AWS 계정 활동 로그를 머신러닝 과 위협 인텔리전스 로 지속 분석하여 악의적 활동/이상 행동을 감지하는 관리형 위협 탐지 서비스입니다. …
- [AWS] Amazon Inspector cloud ← 6
- 별칭: AWS Inspector, Amazon Inspector, Inspector v2, Inspector Classic, SBOM Inspector, Lambda Inspector, ECR Inspector scan, AWS 취약점 스캔, CVE scan AWS
- 정의 Amazon Inspector (v2, 2021+) 는 AWS 워크로드의 취약점 (CVE) 과 의도치 않은 네트워크 노출 을 지속 스캔하는 서비스입니다. EC2, ECR 이…
- [AWS] Amazon Kendra cloud
- 별칭: AWS Kendra, Amazon Kendra, Kendra, Kendra GenAI Index, Kendra Enterprise Edition, Kendra Developer Edition, Kendra Retrieve API, Kendra Query API, Kendra data source connector, Amazon 엔터프라이즈 검색, AWS 지능형 검색
- 정의 Amazon Kendra 는 AWS 가 관리하는 엔터프라이즈 지능형 검색 (intelligent enterprise search) 서비스입니다. 전통적 키워드 검색을 넘어 …
- [AWS] Amazon Macie cloud ← 5
- 별칭: AWS Macie, Amazon Macie, Macie, S3 PII detection, S3 sensitive data discovery, AWS 민감 정보 탐지, Macie automated discovery
- 정의 Amazon Macie 는 AWS 가 관리하는 데이터 보안 및 프라이버시 서비스 로, 머신러닝과 패턴 매칭을 이용해 S3 버킷의 민감 정보 (PII, PHI, 금융 정보, …
- [AWS] Amazon Neptune cloud ← 3
- 별칭: AWS Neptune, Amazon Neptune, Neptune, Neptune Database, Neptune Analytics, Neptune Serverless, Neptune Global Database, Gremlin AWS, openCypher AWS, SPARQL AWS, Amazon 그래프 데이터베이스
- 정의 Amazon Neptune 은 AWS 가 관리하는 그래프 데이터베이스 서비스입니다. 두 데이터 모델과 세 쿼리 언어를 모두 지원합니다. - Property Graph 모델:…
- [AWS] Amazon RDS (Relational Database Service) cloud ← 8
- 별칭: AWS RDS, Amazon RDS, RDS, RDS MySQL, RDS PostgreSQL, RDS MariaDB, RDS Oracle, RDS SQL Server, RDS Db2, RDS Proxy, RDS Blue Green, RDS Performance Insights, RDS Extended Support, Amazon 관계형 데이터베이스
- 정의 Amazon RDS (Relational Database Service) 는 AWS 가 관리하는 관계형 데이터베이스 서비스 입니다. 6개 엔진 (MySQL, PostgreS…
- [AWS] Amazon Redshift cloud ← 4
- 별칭: AWS Redshift, Amazon Redshift, Redshift, Redshift Serverless, Redshift RA3, Redshift Spectrum, Redshift Streaming Ingestion, Redshift Data Sharing, Redshift Zero-ETL, Redshift ML, Amazon 데이터 웨어하우스
- 정의 Amazon Redshift 는 AWS 가 관리하는 페타바이트 규모 컬럼형 데이터 웨어하우스 입니다. 2012년 PostgreSQL 8.0.2 를 기반으로 시작해 MPP (…
- [AWS] Amazon SageMaker cloud ← 4
- 별칭: AWS SageMaker, Amazon SageMaker, SageMaker, SageMaker Studio, SageMaker Unified Studio, SageMaker AI, SageMaker Training, SageMaker Inference, SageMaker Endpoints, SageMaker Pipelines, SageMaker JumpStart, SageMaker HyperPod, SageMaker Ground Truth
- 정의 Amazon SageMaker 는 AWS 의 엔드투엔드 머신러닝 플랫폼 입니다. 데이터 준비, 라벨링, 학습, 튜닝, 배포, 모니터링, MLOps 파이프라인을 한 콘솔/SD…
- [AWS] API Gateway: REST/HTTP/WebSocket API 관리 cloud ← 4
- 별칭: aws-api-gateway, API Gateway, AWS API Gateway, REST API Gateway, HTTP API Gateway, WebSocket API
- 정의 AWS API Gateway 는 REST / HTTP / WebSocket API 를 관리하는 완전관리형 서비스. 인증, 스로틀링, 캐싱, 요청/응답 변환, 로깅을 단일 서…
- [AWS] Artifact (AWS Compliance Reports & Agreements) cloud ← 5
- 별칭: AWS Artifact, Artifact, AWS Compliance Reports, AWS Third-Party Reports, AWS Agreements, SOC 2 AWS, ISO 27001 AWS, PCI DSS AWS, HIPAA BAA AWS, AWS 컴플라이언스 문서
- 정의 AWS Artifact 는 AWS 자체의 컴플라이언스 인증서, 감사 보고서, 계약서 (Agreements) 를 온디맨드로 다운로드하는 포털입니다. AWS 인프라와 서비스가 …
- [AWS] Audit Manager (Automated Compliance Auditing) cloud ← 13
- 별칭: AWS Audit Manager, Audit Manager, Audit Framework, Audit Assessment, Audit Evidence, Audit Report Generation, AWS 감사 자동화, AWS 컴플라이언스 감사
- 정의 AWS Audit Manager 는 AWS 사용량에 대한 감사 (audit) 준비 프로세스를 자동화 하는 서비스입니다. 규제 프레임워크 (CIS, PCI DSS, HIPAA…
- [AWS] Auto Scaling: EC2 ASG, target tracking, predictive cloud ← 4
- 별칭: Auto Scaling Group, ASG, Target Tracking, Step Scaling, Predictive Scaling, Scheduled Scaling
- 정의 Auto Scaling Group (ASG) = EC2 instance 자동 증감. desired / min / max + scaling policy. 구조 Scaling …
- [AWS] CDK (Cloud Development Kit) cloud ← 5
- 별칭: AWS CDK, CDK, aws-cdk, CDK Constructs, CDK L1 L2 L3, CDK Toolkit, CDK App, CDK Stack, CloudFormation programming
- 정의 AWS CDK (Cloud Development Kit) 는 프로그래밍 언어 (TypeScript, Python, Java, C#, Go) 로 AWS 인프라를 정의하여 Cl…
- [AWS] Cloud Adoption Framework (CAF) cloud ← 9
- 별칭: AWS CAF, AWS Cloud Adoption Framework, Cloud Adoption Framework, CAF 6 perspectives, CAF Envision, CAF Align, CAF Launch, CAF Scale, cloud transformation, AWS 클라우드 도입 프레임워크, AWS 디지털 전환
- 정의 AWS Cloud Adoption Framework (AWS CAF) 는 AWS 가 수많은 고객의 클라우드 전환 경험을 정리해 만든 조직 수준의 클라우드 도입 방법론 입니다…
- [AWS] CloudFormation cloud ← 4
- 별칭: AWS CloudFormation, CloudFormation, CFN, CloudFormation Stack, IaC AWS, CloudFormation 스택, CloudFormation StackSet, AWS IaC, CloudFormation ChangeSet
- 정의 AWS CloudFormation 은 JSON 또는 YAML 템플릿으로 AWS 인프라를 선언적으로 프로비저닝하는 IaC (Infrastructure as Code) 서비스입…
- [AWS] CloudFront: CDN, origin, behavior, signed URL cloud ← 7
- 별칭: CloudFront, CDN, edge location, origin, cache behavior, signed URL, OAC, Lambda@Edge, CloudFront Functions, Origin Access Control
- 정의 CloudFront = AWS 의 글로벌 CDN. 전세계 600 PoP (Points of Presence) 에서 사용자에게 가까운 edge 로 콘텐츠 제공. 지연 감소 +…
- [AWS] CloudTrail (API Activity Logging) cloud ← 18
- 별칭: AWS CloudTrail, CloudTrail, AWS API logging, CloudTrail Lake, CloudTrail Data Events, CloudTrail Insights, CloudTrail Trail, CloudTrail Event History, AWS 감사 로그, AWS API 감사
- 정의 AWS CloudTrail 은 AWS 계정의 API 호출 및 사용자 활동을 기록 하는 감사 로깅 서비스입니다. "누가, 언제, 어디서, 어떤 API 를, 어떤 리소스에 대해…
- [AWS] CloudWatch: 메트릭, 로그, 알람 cloud ← 33
- 별칭: CloudWatch, CW Metrics, CW Logs, CW Alarm, Embedded Metric Format, CW Insights, Composite Alarm
- 정의 CloudWatch = AWS 의 모니터링 + 로그 + 알람 통합 서비스. 메트릭 수집, 로그 집계, 대시보드, 알람, 이상 감지를 하나의 서비스에서 제공. 사용 상황 | …
- [AWS] Config (Resource Configuration Tracking) cloud ← 13
- 별칭: AWS Config, Config, Config Rules, Config Aggregator, Config Conformance Pack, AWS Config Recorder, Config Advanced Query, AWS 리소스 구성, AWS 컴플라이언스
- 정의 AWS Config 는 AWS 계정 안 리소스의 구성 (configuration) 상태를 지속 기록 하고, 정책 규칙 (Config Rules) 위반을 자동 감지하는 서비스…
- [AWS] Direct Connect cloud ← 5
- 별칭: AWS Direct Connect, Direct Connect, DX, Dedicated Connection, Hosted Connection, Direct Connect Gateway, AWS 전용선, AWS 프라이빗 연결, DX MACsec, SiteLink
- 정의 AWS Direct Connect (DX) 는 온프레미스 데이터센터 (또는 사무실) 를 AWS 리전에 전용선 으로 직접 연결하는 서비스입니다. 인터넷을 거치지 않아 낮은 지…
- [AWS] EBS vs Instance Store: 영속 vs 임시 스토리지 cloud ← 5
- 별칭: EBS, Instance Store, gp3, io2, EBS volume, NVMe, ephemeral storage
- 정의 | | EBS | Instance Store | |---|---|---| | 영속성 | 영속 | 임시 (instance 종료 시 손실) | | 위치 | 네트워크 attach…
- [AWS] EC2 Instance Types: family, generation, sizing cloud ← 2
- 별칭: instance types, Graviton, m6i vs m6a vs m6g, right-sizing, burstable, Nitro
- 정의 EC2 인스턴스 수백 종. family + generation + modifier + size. 워크로드에 맞춰 right-sizing. Family | Family | 용…
- [AWS] EC2: 인스턴스 타입, AMI, EBS cloud ← 8
- 별칭: EC2, AWS EC2, AMI, EBS, instance type, Spot Instance, Reserved Instance, Savings Plans, Instance Profile, Placement Group
- 정의 EC2 (Elastic Compute Cloud) = AWS 의 VM 서비스. instance type (CPU / RAM / NW) 결정 + AMI (OS 이미지) + E…
- [AWS] ECR (Elastic Container Registry) cloud ← 6
- 별칭: AWS ECR, ECR, Elastic Container Registry, ECR Public, ECR Private, amazon ecr
- 정의 Amazon Elastic Container Registry (ECR) 는 AWS 가 관리하는 OCI 컨테이너 이미지 및 Helm chart 레지스트리 입니다. Docker…
- [AWS] ECS (Elastic Container Service) cloud ← 4
- 별칭: AWS ECS, ECS, Elastic Container Service, amazon ecs, ECS on EC2, ECS Anywhere, ECS Service Connect
- 정의 Amazon Elastic Container Service (ECS) 는 AWS 가 관리하는 컨테이너 오케스트레이터 입니다. Task definition (컨테이너 스펙) …
- [AWS] ECS + Fargate: 컨테이너 오케스트레이션 cloud ← 7
- 별칭: ECS, Amazon ECS, Fargate, Task Definition, ECS Service, ECS Cluster, ECS Anywhere, Fargate Spot
- 정의 ECS (Elastic Container Service) = AWS 의 컨테이너 오케스트레이션. K8s 보다 단순하고 AWS 네이티브. Fargate = ECS (또는 EK…
- [AWS] EKS: managed Kubernetes cloud ← 14
- 별칭: EKS, Amazon EKS, EKS Fargate, managed node group, Karpenter on EKS, EKS Anywhere, IRSA, EKS Pod Identity
- 정의 EKS (Elastic Kubernetes Service) = AWS 의 managed K8s control plane. worker node 는 사용자 (또는 Fargat…
- [AWS] EventBridge: 이벤트 버스, 스케줄러, partner sources cloud ← 12
- 별칭: EventBridge, CloudWatch Events, EventBridge Scheduler, Event Pattern, Schema Registry, Partner Source
- 정의 EventBridge = AWS 의 통합 event bus. 옛 CloudWatch Events 의 후계. AWS service 이벤트 + custom 이벤트 + SaaS …
- [AWS] Global Accelerator cloud
- 별칭: AWS Global Accelerator, Global Accelerator, GA, AGA, anycast IP AWS, static IP for AWS, AWS 글로벌 액셀러레이터
- 정의 AWS Global Accelerator (GA) 는 AWS 글로벌 백본 네트워크 위에서 사용자를 가장 가까운 healthy AWS endpoint 로 라우팅해 성능을 향상…
- [AWS] IAM: User, Role, Policy, STS cloud ← 46
- 별칭: IAM, AWS IAM, IAM Role, IAM Policy, STS, AssumeRole, Identity Center, SSO
- 정의 IAM (Identity and Access Management) = AWS 의 권한 관리 전부. User, Group, Role, Policy 로 구성. "누가 어떤 리소…
- [AWS] KMS: 암호화 키 관리, envelope encryption cloud ← 20
- 별칭: KMS, AWS KMS, CMK, envelope encryption, data key, key rotation
- 정의 KMS (Key Management Service) = 암호화 키 중앙 관리. envelope encryption + IAM 통합 + 감사 로그. 키 종류 | 종류 | 의미…
- [AWS] Lambda Cold Start: 원인과 완화 cloud ← 2
- 별칭: Lambda cold start, warm start, Provisioned Concurrency, SnapStart, Lambda init
- 정의 Cold Start = Lambda 가 처음 호출 또는 idle 후 다시 호출 시 컨테이너 + 런타임 + 사용자 코드 init 에 소요되는 지연 시간. 사용 상황 (cold…
- [AWS] Lambda: 서버리스 함수, 트리거, 동시성 cloud ← 21
- 별칭: AWS Lambda, serverless function, Lambda invocation, concurrency, provisioned concurrency, Lambda layers
- 정의 AWS Lambda = 서버리스 함수 실행. 이벤트 트리거 → 함수 실행 → 결과 / 비동기 처리. 서버 관리 0. 사용 상황 | 상황 | Lambda 적합성 | |---|…
- [AWS] Network Firewall cloud ← 2
- 별칭: AWS Network Firewall, Network Firewall, ANF, Suricata AWS, AWS 네트워크 방화벽, Gateway Load Balancer Firewall
- 정의 AWS Network Firewall (ANF) 은 VPC 를 위한 관리형 네트워크 방화벽 + 침입 방지 (IDS/IPS) 서비스입니다. Stateful + Stateles…
- [AWS] PrivateLink (VPC Interface Endpoints) cloud ← 7
- 별칭: AWS PrivateLink, PrivateLink, VPC Endpoint, Interface Endpoint, Gateway Endpoint, VPC Endpoint Service, AWS 프라이빗링크, PrivateLink Cross-Region
- 정의 AWS PrivateLink 는 VPC 내부의 리소스가 인터넷을 거치지 않고 AWS 서비스, 다른 계정의 서비스, 또는 SaaS 파트너 서비스에 접근하도록 하는 서비스입니다…
- [AWS] RDS Multi-AZ + Read Replica cloud ← 2
- 별칭: RDS, Aurora, Multi-AZ, Read Replica, RDS Proxy, RDS Aurora Serverless v2, Aurora Global Database
- 정의 RDS (Relational Database Service) = AWS 의 managed RDB. MySQL, PostgreSQL, MariaDB, Oracle, SQL S…
- [AWS] Route 53 cloud ← 8
- 별칭: AWS Route 53, Route 53, Route53, AWS DNS, Route 53 Resolver, Private Hosted Zone, weighted routing, latency routing, failover routing, geolocation routing, Route 53 health check, DNSSEC AWS, AWS 도메인
- 정의 Amazon Route 53 는 AWS 의 highly available, scalable Domain Name System (DNS) 웹 서비스 입니다. 이름은 DNS 표…
- [AWS] S3 File Access (Mountpoint, File Gateway, Express One Zone) cloud ← 2
- 별칭: AWS S3 Files, S3 Files, S3 File Gateway, Mountpoint for S3, mountpoint-s3, S3 Express One Zone, S3 파일 시스템, S3 file access, AWS Storage Gateway File Gateway
- 정의 "S3 를 파일처럼 다루는" 요구를 충족하는 AWS 옵션은 하나가 아니라 여러 개입니다. 각자 다른 트레이드오프를 가집니다. | 옵션 | 성격 | 대표 용도 | |:---|…
- [AWS] S3 Vectors cloud ← 7
- 별칭: AWS S3 Vectors, S3 Vectors, Amazon S3 Vectors, s3 vector bucket, vector bucket, S3 벡터 스토리지, S3 vector storage
- 정의 Amazon S3 Vectors 는 벡터 임베딩을 저비용, 대용량, 서버리스 로 저장하고 쿼리하기 위한 S3 의 새 버킷 유형입니다. 2024년 7월 preview, 202…
- [AWS] S3: object storage, storage classes, lifecycle cloud ← 25
- 별칭: S3, Simple Storage Service, S3 storage class, S3 lifecycle, S3 Intelligent-Tiering, S3 Glacier, S3 versioning
- 정의 S3 = AWS 의 object storage. bucket + key + object. 11 9's durability (99.999999999%), 무한 확장. 2026…
- [AWS] Secrets Manager + Parameter Store cloud ← 8
- 별칭: AWS Secrets Manager, Secrets Manager, Parameter Store, SSM Parameter Store, SSM Parameter, secret rotation, 비밀 관리
- 정의 AWS Secrets Manager = 회전이 필요한 비밀 (DB 패스워드, API key) 을 안전하게 저장/관리하는 서비스. Lambda 기반 자동 회전과 암호화 내장.…
- [AWS] Security Group vs NACL: stateful vs stateless 방화벽 cloud ← 5
- 별칭: Security Group, SG, NACL, Network ACL, stateful firewall, subnet ACL, aws-sg, ephemeral port
- 정의 AWS VPC 에는 두 계층의 네트워크 방화벽이 존재. | 항목 | SG (Security Group) | NACL (Network ACL) | |:---|:---|:---…
- [AWS] Security Hub cloud ← 4
- 별칭: AWS Security Hub, Security Hub, Security Hub CSPM, Security Hub Central, AWS 통합 보안, CIS Foundations Benchmark, AWS Foundational Security Best Practices
- 정의 AWS Security Hub 는 여러 AWS 보안 서비스와 3rd-party 도구의 보안 발견 사항 (findings) 을 통합 표시하고, 산업 표준 프레임워크 (CIS,…
- [AWS] Shield (DDoS Protection) cloud ← 10
- 별칭: AWS Shield, AWS Shield Standard, AWS Shield Advanced, Shield DDoS, DDoS Response Team, DRT, AWS DDoS 방어, AWS 실드
- 정의 AWS Shield 는 AWS 워크로드를 분산 서비스 거부 (DDoS, Distributed Denial of Service) 공격으로부터 보호하는 관리형 서비스입니다. S…
- [AWS] SNS: pub-sub 알림, fan-out 패턴 cloud ← 4
- 별칭: SNS, Simple Notification Service, SNS topic, fan-out, SMS notification, Mobile push, AWS SNS, pub-sub
- 정의 SNS (Simple Notification Service) = pub-sub 메시징. Publisher 가 Topic 에 발행하면 모든 Subscriber 에 동시에 fa…
- [AWS] SQS: managed queue, FIFO, DLQ cloud ← 5
- 별칭: SQS, Simple Queue Service, FIFO Queue, Standard Queue, DLQ, visibility timeout, long polling, Dead Letter Queue
- 정의 SQS (Simple Queue Service) = AWS 의 완전 관리형 메시지 큐. infinite scale, no provisioning, pay-per-reques…
- [AWS] Step Functions: 워크플로 오케스트레이션 cloud ← 3
- 별칭: Step Functions, SFN, State Machine, ASL, Express Workflow, Standard Workflow
- 정의 Step Functions = 서버리스 워크플로 오케스트레이션. Amazon States Language (ASL, JSON) 으로 상태 기계 정의. 각 단계의 재시도, 에…
- [AWS] STS / AssumeRole: 임시 자격, cross-account cloud ← 2
- 별칭: STS, AssumeRole, AssumeRoleWithWebIdentity, AssumeRoleWithSAML, external ID, cross-account, Instance Profile, Session Policy
- 정의 STS (Security Token Service) = 임시 자격 증명 발급. short-lived (15분-12시간) credentials. 장기 access key 없이…
- [AWS] Trusted Advisor cloud ← 2
- 별칭: AWS Trusted Advisor, Trusted Advisor, TA, AWS 모범 사례 검사, Trusted Advisor Priority, Trusted Advisor Recommendations
- 정의 AWS Trusted Advisor 는 사용자의 AWS 환경을 지속 검사해 비용 최적화, 성능, 보안, 내결함성, 서비스 한도, 운영 우수성 5가지 축에서 모범 사례 이탈 …
- [AWS] VPC: subnet, route, NAT, peering cloud ← 23
- 별칭: VPC, Virtual Private Cloud, subnet, route table, NAT Gateway, VPC Peering, Transit Gateway, VPC Endpoint, Internet Gateway, IGW
- 정의 VPC (Virtual Private Cloud) = AWS 안의 논리적 격리 네트워크. CIDR 정의 + subnet 분할 + 라우팅. AWS 리소스를 격리된 네트워크에 …
- [AWS] WAF (Web Application Firewall) cloud ← 4
- 별칭: AWS WAF, WAF, Web Application Firewall, Web ACL, AWS 웹 방화벽, AWS WAFv2, WAFv2
- 정의 AWS WAF (Web Application Firewall) 는 HTTP/HTTPS 요청을 검사하는 Layer 7 방화벽 서비스입니다. CloudFront, ALB, AP…
- [AWS] Well-Architected Framework cloud ← 5
- 별칭: AWS Well-Architected, Well-Architected Framework, WAF Framework, 6 Pillars, AWS 6 기둥, Well-Architected Tool, Well-Architected Review
- 정의 AWS Well-Architected Framework 는 AWS 클라우드 위 워크로드가 안전하고, 신뢰할 수 있고, 효율적이며, 비용 효율적으로 구축되었는지 평가하는 6개…
- [CI/CD] GitHub Actions: workflow, action, runner devops ← 6
- 별칭: GitHub Actions, GHA, workflow, self-hosted runner, matrix build, reusable workflow, composite action
- 정의 GitHub Actions = GitHub 내장 CI/CD. YAML workflow + marketplace action. 2018 출시 → Travis CI 대체. 구조…
- [Concurrency] Backpressure: 흐름 제어로 시스템 보호 concurrency ← 8
- 별칭: Backpressure, flow control, reactive streams, rate shaping, buffer overflow, shedding
- 정의 Backpressure = 생산자가 소비자 속도에 맞춰 자기 속도 조절. 분산 시스템의 cascade failure 방지. [!IMPORTANT] Backpressure 의…
- [Concurrency] Circuit Breaker: cascade failure 방어 concurrency ← 10
- 별칭: Circuit Breaker, Hystrix, Resilience4j, Polly, Sentinel, half-open, fail-fast, 서킷 브레이커
- 정의 Circuit Breaker = 전기 회로의 차단기처럼, 백엔드 다운 / 느림 시 호출 자체를 차단 → 빠른 실패 + 백엔드 회복 시간. 와 함께 cascade failur…
- [Concurrency] Connection Pool: DB, HTTP, gRPC 의 공통 패턴 concurrency ← 3
- 별칭: Connection Pool, DB connection pool, PgBouncer, HikariCP, DataSource, max connections
- 정의 Connection Pool = 연결을 미리 만들어 두고 재사용. 매 요청마다 TCP + TLS + auth 비용을 회피. Pool 의 동작 = producer (reque…
- [Concurrency] Rate Limiting: token bucket, sliding window concurrency ← 8
- 별칭: Rate Limiting, Token Bucket, Leaky Bucket, Sliding Window, Fixed Window, GCRA, 429 Too Many Requests
- 정의 Rate Limiting = 시간당 요청 수 제한. API 보호, fair use, 비용 제어, DDoS 완화. 5가지 알고리즘 1. Fixed Window - 단순. - …
- [Concurrency] Retry + Exponential Backoff + Jitter concurrency ← 6
- 별칭: Retry, Exponential backoff, Jitter, AWS retry policy, retry storm, thundering herd retry
- 정의 Retry with Exponential Backoff + Jitter = 실패 시 점점 긴 간격으로 재시도, 랜덤 분산. 분산 시스템의 thundering herd / r…
- [Container] cgroups + namespaces: 컨테이너의 두 기둥 virtualization ← 7
- 별칭: cgroups, namespaces, cgroup v2, PID namespace, network namespace, mount namespace, user namespace, Linux container internals, overlay filesystem, OverlayFS
- 정의 컨테이너 = namespaces + cgroups + 파일시스템 (overlay). VM 이 아니라 host 의 프로세스 + 격리. VM 은 hypervisor + 별도 커…
- [Container] Docker: image, layer, registry virtualization ← 11
- 별칭: Docker, Dockerfile, OCI image, image layer, registry, docker compose, BuildKit, containerd, Podman, runc
- 정의 Docker = 컨테이너 빌드 + 실행 + 배포 의 표준 도구. 2013 출시 → 컨테이너 시대 의 시작. 현재는 OCI 표준 으로 진화 ( , , 등 호환). 컨테이너 런…
- [Container] Image Best Practices: 작게, 안전하게 virtualization ← 11
- 별칭: distroless, scratch, image scan, Trivy, SBOM, multi-stage build, non-root user, secret 처리, Dive, image size optimization
- 정의 컨테이너 image best practices = 작고 (small), 안전하고 (secure), 재현 가능하고 (reproducible), 서명된 (signed) imag…
- [Container] OCI Image: spec, manifest, layer 표준 cloud ← 7
- 별칭: OCI, Open Container Initiative, OCI image spec, image manifest, image index, OCI distribution, containerd, Cosign, SBOM
- 정의 OCI (Open Container Initiative) = 컨테이너 표준 (Linux Foundation, 2015). image format + runtime + dis…
- [DB Internals] B-Tree 내부: split, merge, search 알고리즘 database-internals ← 4
- 별칭: B-Tree, B-Tree split, B-Tree merge, B-Tree balancing, B-Tree algorithm, B-Tree order, Knuth B-Tree
- 정의 B-Tree (Bayer & McCreight, 1972) = 디스크 I/O 최적화된 balanced multi-way search tree. 모든 leaf 깊이 동일 + …
- [DB Internals] B-Tree와 B+Tree 인덱싱 database-internals ← 8
- 별칭: B-tree, B+ tree, B+tree, database index, index scan, covering index, B-트리, 데이터베이스 인덱스
- 정의 B-Tree (B+ Tree) 는 거의 모든 RDB 의 인덱스 자료구조. balanced tree, 디스크 I/O 최소화 설계. 특징: - 균형 (balanced): 모든 …
- [DB Internals] B+ Tree 내부: leaf linked list, range scan database-internals ← 3
- 별칭: B+ Tree, B+ Tree leaf, clustered index, range scan, B+Tree vs B-Tree, InnoDB B+Tree
- 정의 B+ Tree = B-Tree 의 변형. 모든 데이터가 leaf 에만, internal node 는 navigation key만. Leaf 들이 linked list 로 연…
- [DB Internals] CHAR / VARCHAR / TEXT / JSONB: 문자열 타입 비교 database-internals ← 1
- 별칭: CHAR vs VARCHAR, VARCHAR vs TEXT, TEXT vs JSONB, PostgreSQL string types, TOAST, varlena, MySQL CHAR
- 정의 문자열 저장 타입 4가지 비교. 성능 + 저장 + 유연성 트레이드오프. 4가지 비교 (PostgreSQL) | 타입 | 최대 길이 | 저장 방식 | 뒤 공백 | 사용 | |…
- [DB Internals] GIN Index 깊이: 구조, jsonb_path_ops, tsvector database-internals ← 4
- 별칭: GIN, GIN index, Generalized Inverted Index, jsonb_path_ops, tsvector GIN, posting list, posting tree, fastupdate GIN
- 정의 GIN (Generalized Inverted Index) = 한 값이 여러 항목 을 가지는 데이터 (배열, JSON, tsvector) 의 역색인. PostgreSQL 의…
- [DB Internals] MVCC: Multi-Version Concurrency Control database-internals ← 11
- 별칭: database-internals-mvcc, MVCC, Multi-Version Concurrency Control, snapshot isolation, transaction id, VACUUM, tuple version, 동시성 제어
- 정의 MVCC (Multi-Versioning Concurrency Control) 는 트랜잭션 간 격리를 여러 버전의 row 로 구현. 동시 read / write 가 락 없이…
- [DB Internals] R-Tree: 공간 인덱스, MBR, split database-internals ← 3
- 별칭: R-Tree, R-tree spatial index, MBR, Minimum Bounding Rectangle, PostGIS spatial index, GiST R-Tree, R* Tree
- 정의 R-Tree (Guttman, 1984) = 공간 데이터 (2D, 3D) 를 인덱싱하는 balanced tree. 각 노드는 Minimum Bounding Rectangle…
- [DB Internals] Redis 8 / Valkey 9: 라이센스 분기, 신 데이터 구조, 실전 운영 database-internals ← 22
- 별칭: Redis, Redis 8, Redis Stack, Valkey, Valkey 9, antirez, vector set, RediSearch, RedisJSON, RedisTimeSeries, Redlock, Sidekiq Redis, Sentinel, Redis Cluster, AOF, RDB, AGPLv3, SSPL, RSALv2
- 정의 Redis 는 in-memory key-value 데이터 구조 서버. 2009년 Salvatore Sanfilippo (antirez) 가 Lua Manuscripts 의 …
- [DB] Cassandra: LSM-tree, quorum, eventually consistent database-internals ← 2
- 별칭: Cassandra, Apache Cassandra, LSM tree, memtable, SSTable, quorum read/write, CQL, ScyllaDB
- 정의 Apache Cassandra = 마스터리스 (peer-to-peer) 분산 KV 스토어. write 우선, eventually consistent, 수평 무한 확장. 20…
- [DB] DynamoDB: PK + SK, single-table design, GSI / LSI database-internals ← 3
- 별칭: DynamoDB, DDB, partition key, sort key, GSI, LSI, single-table design, DAX, PartiQL
- 정의 DynamoDB 는 AWS 의 fully managed key-value + document NoSQL. low-latency, infinite scale, schemale…
- [DB] EXPLAIN 읽기: scan, join, sort, cost database-internals ← 5
- 별칭: EXPLAIN, EXPLAIN ANALYZE, query plan, Seq Scan, Index Scan, Hash Join, Nested Loop, Merge Join
- 정의 EXPLAIN = 쿼리 실행 계획 표시. EXPLAIN ANALYZE = 실제로 실행 + 실제 시간 측정. Scan 종류 | Scan | 의미 | 적합 | |---|---|…
- [DB] GIN / GiST / Hash / BRIN: 비-B-tree 인덱스 database-internals ← 5
- 별칭: GIN, GiST, SP-GiST, BRIN, Hash index, pg_trgm, JSONB 인덱스, full-text index
- 정의 B-tree 외 PostgreSQL 의 특수 인덱스 들. 자세한 B-tree 는 참고. | 인덱스 | 적합 | |---|---| | B-tree | = < > BETWEEN…
- [DB] MongoDB: 문서 DB, WiredTiger, replica set, aggregation database-internals ← 5
- 별칭: MongoDB, BSON, WiredTiger, replica set, sharding, aggregation pipeline, Atlas, oplog, change streams
- 정의 MongoDB 는 BSON (binary JSON) 문서 기반 NoSQL DB. schema-less 라기보다 flexible schema. 2026 시점 Atlas (ma…
- [DB] MySQL / InnoDB: clustered index, redo log, MVCC database-internals ← 18
- 별칭: MySQL, InnoDB, clustered index, secondary index, redo log, undo log, buffer pool, binlog, doublewrite buffer, adaptive hash index
- 정의 MySQL + InnoDB (기본 스토리지 엔진) 의 clustered index + redo log 기반 행 기반 RDBMS. 웹 / SaaS 의 가장 흔한 backbon…
- [DB] PostgreSQL: 프로세스 모델, MVCC, WAL, 확장성 database-internals ← 28
- 별칭: PostgreSQL, Postgres, postmaster, VACUUM, TOAST, psql, autovacuum, vacuum freeze, pg_dump
- 정의 PostgreSQL 은 오픈소스 ORDBMS. 1986 UC Berkeley POSTGRES 의 후예. MVCC, 확장 가능 타입, JSONB, full-text searc…
- [DB] Sharding vs Partitioning: 수평 확장의 두 얼굴 database-internals ← 3
- 별칭: Sharding, Partitioning, horizontal sharding, vertical partitioning, shard key, consistent hashing, Citus, Vitess
- 정의 | | Partitioning | Sharding | |---|---|---| | 범위 | 한 DB 안 | 여러 DB 노드 | | 목적 | 큰 테이블 관리 | 수평 확장 (…
- [DB] SQLite: 단일 파일, WAL 모드, edge / mobile database-internals ← 1
- 별칭: SQLite, WAL mode, embedded database, Litestream, Turso, single file DB, libSQL, sqlite WAL
- 정의 SQLite 는 세계에서 가장 많이 배포된 DB (모든 스마트폰, 브라우저, OS). 서버 없이 라이브러리, 단일 파일, zero-config. embedded + edge…
- [DB] Transaction Isolation Levels: 완벽 가이드 database-internals ← 5
- 별칭: Isolation Levels, Transaction Isolation Level, 트랜잭션 격리 수준, 격리수준, Read Uncommitted, Read Committed, Repeatable Read, Serializable, Snapshot Isolation, Dirty Read, Phantom Read, Non-Repeatable Read, Lost Update, Write Skew, SSI, Serializable Snapshot Isolation
- 정의 Transaction Isolation Level (트랜잭션 격리 수준) = 동시에 실행되는 여러 트랜잭션이 서로의 변경을 어디까지 볼 수 있는지 규정하는 수준. ACID …
- [DB] WAL: Write-Ahead Log, crash recovery, replication 의 토대 database-internals ← 8
- 별칭: WAL, Write-Ahead Log, redo log, binlog, journal, checkpoint, fsync, group commit, LSN, log sequence number, ARIES
- 정의 Write-Ahead Log (WAL) = 데이터 변경 전 로그를 먼저 디스크에 기록. 모든 모던 RDB / KV / 분산 시스템의 내구성 기반. 핵심 약속: 로그가 디스크…
- [DevOps] 무중단 배포: Blue-Green, Canary, Rolling, Expand-Contract devops ← 15
- 별칭: zero-downtime deployment, Zero Downtime Deployment, blue green, Blue-Green Deployment, canary deployment, Canary Deployment, rolling update, Rolling Update, feature flag, expand contract migration, 무중단 배포, 제로 다운타임
- 정의 무중단 배포 (Zero-Downtime Deployment) 는 서비스 가동을 멈추지 않고 새 버전을 배포하는 일련의 전략. 핵심 도전 4가지: 1. 트래픽 전환: 어떻게 …
- [Distributed Systems] 분산 트랜잭션: 2PC, Saga, Outbox distributed-systems ← 5
- 별칭: distributed transaction, 2PC, two phase commit, Saga pattern, Outbox pattern, XA transaction, 분산 트랜잭션
- 정의 분산 트랜잭션 은 여러 service / DB / 메시지 큐에 걸친 작업을 ACID 처럼 묶는 문제. 마이크로서비스 / 이벤트 기반 아키텍처의 핵심 도전. 3가지 접근: 1…
- [Distributed Systems] CAP Theorem과 PACELC distributed-systems ← 4
- 별칭: CAP theorem, PACELC, Brewer's theorem, consistency availability partition tolerance, CAP 정리, eventual consistency, strong consistency
- 정의 CAP Theorem (Eric Brewer, 2000): 분산 시스템에서 3가지 중 2개만 동시에 보장 가능. - C (Consistency): 모든 노드가 같은 시점에 …
- [Distributed Systems] Consensus: Raft, Paxos distributed-systems ← 4
- 별칭: Raft, Paxos, consensus algorithm, leader election, replicated log, 분산 합의, 합의 알고리즘
- 정의 Consensus (합의): 여러 노드가 같은 값에 동의 하는 분산 알고리즘. CAP 의 C 보장의 기반. 용도: - Leader election: 1개 leader 선출 …
- [Distributed] Kafka Consumer Group: rebalancing, offset, lag distributed-systems ← 3
- 별칭: kafka-consumer-group, Kafka consumer group, Kafka rebalancing, cooperative rebalancing, consumer lag, static membership, partition assignment, Group Coordinator
- 정의 Consumer Group = 같은 를 가진 consumer들이 함께 한 topic을 분담 소비. partition 단위로 분배. 핵심 특성: - 한 partition → …
- [Distributed] Kafka: 분산 로그, partition, consumer group distributed-systems ← 14
- 별칭: Apache Kafka, Kafka topic, partition, consumer group, offset, Kafka Streams, exactly-once semantics, KRaft, ISR
- 정의 Apache Kafka = 분산 commit log. 고처리량 (수백만 msg/s), 영속, 수평 확장. event-driven 아키텍처 의 de facto. 핵심 개념: …
- [Distributed] Message Broker 비교: Kafka / RabbitMQ / NATS / SQS / Redis Streams distributed-systems ← 2
- 별칭: message broker comparison, Kafka vs RabbitMQ, broker selection, 메시지 브로커 비교, ActiveMQ, NATS JetStream
- 정의 Message Broker = 생산자(Producer)와 소비자(Consumer) 사이에서 메시지를 중계하는 미들웨어. 비동기 통신, 부하 분산, 시스템 디커플링의 핵심. …
- [Distributed] NATS: 가벼움, JetStream, subject 라우팅 distributed-systems ← 3
- 별칭: NATS, NATS.io, JetStream, core NATS, request-reply, subject hierarchy, NATS KV
- 정의 NATS = 극도로 가벼운 메시징 시스템. core NATS = at-most-once Pub/Sub + request-reply. JetStream = 영속 / at-le…
- [Distributed] RabbitMQ: exchange, queue, routing key distributed-systems ← 4
- 별칭: RabbitMQ, AMQP, exchange, routing key, direct exchange, topic exchange, fanout, DLQ, RabbitMQ Streams
- 정의 RabbitMQ = AMQP 0.9.1 기반 traditional message broker. exchange → queue 라우팅, workload distribution…
- [Django 6.0] Content Security Policy: XSS 방어의 최종형 django
- 별칭: Django CSP, Content Security Policy, django csp middleware, csp-report-only, CSP nonce
- 정의 Content Security Policy (CSP) = 브라우저에게 어떤 스크립트/스타일/이미지 만 허용 할지 선언. XSS 공격의 마지막 방어선. Django 6.0 부…
- [Django 6.0] Tasks Framework: 내장 백그라운드 작업 django
- 별칭: Django Tasks, django.tasks, background tasks, django task queue, task backend
- 정의 Django Tasks Framework = Django 6.0 (2025) 도입된 내장 백그라운드 작업 실행 표준. Celery 없이 간단한 async task 를 표준 …
- [Django] 개요와 프로젝트 구조 django ← 3
- 별칭: django overview, django project structure, django app, MTV pattern, django architecture
- 정의 Django는 2003년 시작된 Python 풀스택 웹 프레임워크. "Web framework for perfectionists with deadlines"라는 모토대로 b…
- [Django] 마이그레이션: makemigrations, migrate, 데이터 마이그레이션 django ← 4
- 별칭: django migrations, makemigrations, migrate, RunPython, schema migration, squashmigrations
- 정의 Django 마이그레이션은 모델 변경을 DB 스키마 변경으로 변환·기록하는 시스템. 는 모델과 현재 마이그레이션 상태를 비교해 새 마이그레이션 파일 생성. 는 DB에 적용.…
- [Django] 배포: Gunicorn, Uvicorn, whitenoise, Docker django ← 3
- 별칭: django deployment, Gunicorn, Uvicorn, django static files, DEBUG False
- 정의 Django 프로덕션 배포는 WSGI/ASGI 서버 + 리버스 프록시 + 정적 파일 + DB + 캐시 + 큐 조합. runserver는 개발 전용. nginx + gunic…
- [Django] 보안: CSRF, XSS, SQL injection, headers django ← 5
- 별칭: django security, CSRF, XSS, SQL injection, security middleware, SECURE_HSTS
- 정의 Django는 OWASP Top 10 대부분을 기본 방어한다: CSRF 토큰, ORM의 SQL 인젝션 방지, 템플릿 자동 escape, 비밀번호 해싱, 세션 쿠키 보안 등.…
- [Django] 인증: User, login, permissions django ← 5
- 별칭: django auth, django user, AUTH_USER_MODEL, AbstractUser, permissions, login_required
- 정의 Django는 User 모델, 인증·세션, 권한·그룹을 기본 제공한다. 앱이 핵심. 비밀번호 해싱(PBKDF2, scrypt, Argon2), 세션, 권한, 그룹, 비밀번호…
- [Django] 첫 프로젝트 튜토리얼: 순차 학습 django ← 1
- 별칭: Django tutorial, Django 첫 프로젝트, startproject, startapp, manage.py runserver, Django getting started
- 정의 Django 를 처음 접하는 사람 을 위한 순차 학습 페이지. 투표 앱 (polls) 을 만들며 Django 의 핵심 개념을 익힌다. 먼저 로 MTV 패턴과 프로젝트 구조를…
- [Django] 테스트: TestCase, Client, factory_boy django ← 5
- 별칭: django test, TestCase, django.test.Client, pytest-django, factory_boy, RequestFactory
- 정의 Django는 표준 라이브러리 기반 TestCase를 제공한다. 트랜잭션 격리, fixtures, test client, DB 셋업 자동화. 실무는 + 가 사실상 표준. 기…
- [Django] Admin: 자동 생성 관리자 페이지 django ← 3
- 별칭: django admin, django admin site, ModelAdmin, admin register, django admin customization
- 정의 Django Admin은 모델 등록만으로 CRUD UI 자동 생성하는 내장 백오피스. 내부 운영 도구, 콘텐츠 관리(CMS) 등에 강력. 권한 시스템 통합. Rails에는 …
- [Django] Aggregation: annotate, aggregate, F, Q, Window django ← 2
- 별칭: django annotate, django aggregate, Q objects, F expressions, Window functions
- 정의 Django ORM의 annotate / aggregate / F / Q / Window는 SQL의 GROUP BY, 집계 함수, 동적 조건, 컬럼 참조, Window 함수…
- [Django] async views와 ASGI django ← 2
- 별칭: django async view, async def view, ASGI, sync_to_async, async_to_sync, django channels
- 정의 Django 3.1+ 부터 async view를 지원한다. 로 view를 정의하면 ASGI 서버(Uvicorn, Daphne, Hypercorn) 아래에서 코루틴으로 실행.…
- [Django] Caching: per-site, per-view, low-level django ← 3
- 별칭: django cache, cache_page, Redis cache, Memcached, cache.get, vary_on_cookie
- 정의 Django 캐싱은 데이터/페이지 재생성 비용 회피의 핵심. 4단계 그래뉴얼리티 제공: site-wide → per-view → template fragment → low-…
- [Django] Celery: 비동기 태스크와 큐 django ← 2
- 별칭: django celery, celery task, celery worker, celery beat, task queue, delay apply_async
- 정의 Celery는 Python의 분산 태스크 큐. 비동기·예약·재시도 작업을 워커가 처리. Django와 통합되어 이메일 발송, 이미지 처리, ML 추론, 스크래핑 같은 무거운…
- [Django] Channels: WebSocket, Consumer, Group django ← 7
- 별칭: django channels, WebSocket, AsyncWebsocketConsumer, channel layer, Daphne, Redis channel layer
- 정의 Django Channels는 Django에 WebSocket, 비동기 프로토콜, 백그라운드 작업을 추가하는 공식 확장. 기본 Django는 HTTP만, Channels는 …
- [Django] ContentTypes, Generic Relations django ← 1
- 별칭: django contenttypes, GenericForeignKey, polymorphic django, django comment polymorphic
- 정의 는 모든 모델을 동적으로 참조하는 시스템. 댓글이 Post, Photo, Video 등 여러 모델을 가리킬 수 있게 함. + 을 활용. 활성화 기본 에 포함됨: 각 모델마다…
- [Django] DRF 개요: Serializer, ViewSet, Router django ← 5
- 별칭: django rest framework, DRF, APIView, ViewSet, Serializer, Router
- 학습 로드맵 이 페이지는 개요. 처음 접하는 사람은 아래 순서로 읽으면 자연스럽다: DRF 는 파이프라인이 핵심. 한번 그림으로 보면 이해가 쉽다: 정의 Django REST F…
- [Django] DRF Permission, Throttle, Filter django ← 6
- 별칭: drf permission, drf throttling, drf filter, django object permission, drf auth
- 정의 DRF는 view 호출 전 인증(Authentication) → 권한(Permission) → 스로틀(Throttle) 순으로 검사. 각 단계가 통과해야 view 메서드 실…
- [Django] DRF Serializer 심화 django ← 5
- 별칭: drf serializer, ModelSerializer, nested serializer, SerializerMethodField, drf validation
- 정의 DRF Serializer는 JSON ↔ Python ↔ Model의 변환과 검증을 담당한다. Django Form과 비슷한 인터페이스이나 API/JSON에 특화. 검증, …
- [Django] DRF ViewSet, Router, @action django ← 5
- 별칭: drf viewset, ModelViewSet, drf router, drf action, drf mixin
- 정의 ViewSet은 같은 리소스의 관련 view들을 클래스 하나로 묶는다. Django의 generic views와 비슷하나 / / / / / action 메서드로 통일. Ro…
- [Django] Email: send_mail, EmailMessage, 템플릿 django ← 2
- 별칭: django email, send_mail, EmailMultiAlternatives, django mailer, SMTP, anymail
- 정의 Django의 은 SMTP, 콘솔, 파일, 메모리, dummy 등 다양한 백엔드를 통합한 이메일 전송 API. 외부 서비스(SendGrid, Mailgun, AWS SES,…
- [Django] File Uploads + Storage: FileField, ImageField, S3 django ← 1
- 별칭: django file upload, FileField, ImageField, FILE_UPLOAD_HANDLERS, MEDIA_ROOT, django-storages, S3 backend
- 정의 Django 의 파일 업로드 + 저장 시스템. FileField/ImageField + Storage backend 로 로컬 / S3 / GCS 등 자유롭게. Model 필…
- [Django] Form과 ModelForm django ← 6
- 별칭: django form, ModelForm, form validation, django widget, formset
- 정의 Django Form은 사용자 입력 정의·검증·렌더링·바인딩을 통합. 일반 은 임의 필드, 은 모델 자동 매핑. 검증과 보안(CSRF, SQL 인젝션 방지) 내장. Form…
- [Django] Formsets: 여러 폼 동시 처리 django ← 2
- 별칭: Django formset, modelformset, inlineformset, management form, formset factory
- 정의 Formset = 여러 폼을 한 페이지에서 동시 처리. "상품 3개 한 번에 등록", "주문 상세 여러 줄 편집" 같은 시나리오. 3가지 종류 1. 기본 FormSet Te…
- [Django] i18n: 다국어와 시간대 django ← 1
- 별칭: django i18n, gettext, ugettext, trans tag, LocaleMiddleware, django translations
- 정의 Django는 gettext 기반 국제화(i18n)와 지역화(l10n) 표준 시스템을 제공한다. 코드/템플릿의 문자열을 추출해 파일로 번역, 컴파일된 파일을 런타임에 사용.…
- [Django] Logging: LOGGING 설정과 구조화 로그 django ← 1
- 별칭: django logging, LOGGING dict, django log handler, structlog rails, json logging
- 정의 Django는 Python 모듈을 그대로 사용하나 설정 dict로 일괄 구성한다. 구조화 로그(JSON), 외부 서비스(Sentry, Datadog, CloudWatch) …
- [Django] Management Commands django ← 2
- 별칭: django management command, BaseCommand, django manage.py, custom command, django-extensions
- 정의 Django 커스텀 명령은 형태로 실행되는 CLI 도구. 정기 작업(cron + management command), 데이터 마이그레이션, import/export, 디버깅…
- [Django] Messages Framework: flash 메시지 django
- 별칭: django messages, flash messages, messages.success, messages.error, add_message
- 정의 Messages Framework = 1회성 flash 메시지 (성공, 오류 등) 를 사용자에게 표시. Post/Redirect/Get 패턴에서 필수. 목적 + 대안 기본 …
- [Django] Middleware: 요청/응답 가로채기 django ← 2
- 별칭: django middleware, middleware order, process_view, process_exception, MIDDLEWARE setting
- 정의 Middleware는 모든 요청/응답을 가로채는 체인 구조 처리기. 요청은 위 → 아래, 응답은 아래 → 위로 흐른다. 인증, 세션, CSRF, gzip 압축, 보안 헤더 …
- [Django] Mixin 패턴: LoginRequired, UserPasses, Custom django ← 4
- 별칭: django mixin, LoginRequiredMixin, UserPassesTestMixin, PermissionRequiredMixin, django CBV mixin
- 정의 Django Mixin은 CBV에 공통 기능을 추가하는 작은 클래스. 다중 상속으로 조합. 인증, 권한, 로깅, 메시지 등에 활용. MRO(Method Resolution …
- [Django] Model과 Field 타입 django ← 5
- 별칭: django model, Field types, CharField, ForeignKey, models.Model
- 정의 Django 모델은 DB 테이블의 Python 표현이다. 상속, 클래스 속성 = 컬럼, 메타 클래스 = 테이블 설정. 모델 정의 후 + 로 DB 스키마 자동 생성. 기본 정…
- [Django] ModelForm: 모델 기반 폼 자동 생성 django ← 2
- 별칭: Django ModelForm, model form, Meta.fields, Meta.exclude, ModelForm save, clean_field
- 정의 ModelForm = Model 로부터 Form 자동 생성. 필드 반복 정의 없이 CRUD 폼 완성. 일반 Form 은 참고. 왜 ModelForm? 기본 사용 vs [!W…
- [Django] MTV 패턴과 Model 기본 django ← 3
- 별칭: django-mvc-model-bindingresult, Django MVC, Django MTV, Django Model, Django MTV 패턴, Django 모델
- 정의 Django 는 MTV (Model, Template, View) 패턴 사용. 다른 프레임워크의 MVC 와 이름만 다르고 개념은 유사. | MVC | Django MTV |…
- [Django] ORM 심화: N+1, prefetch, Subquery, Window django ← 7
- 별칭: django orm advanced, N+1 problem, Subquery, OuterRef, Window function, raw SQL, select_related deep
- 정의 Django ORM은 SQL을 잘 모르는 개발자에게도 안전하지만 비효율을 숨기기 쉽다. N+1, 비효율 JOIN, 큰 결과셋 메모리 폭발이 흔한 함정. selectrelat…
- [Django] Pagination: Paginator, ListView, DRF django ← 1
- 별칭: django pagination, Paginator, page_size, CursorPagination, ListView paginate_by
- 정의 Django는 빌트인 클래스와 ListView의 자동 페이지네이션을 제공한다. DRF는 PageNumber / LimitOffset / Cursor 3종. 페이지네이션은 큰…
- [Django] Q / F / Case / When / Database Functions django
- 별칭: Django Q object, F expression, Case When, Conditional expressions, database functions, Coalesce, Concat, Lower, Cast
- 정의 Django ORM 의 고급 표현식. Python 에서 짜지만 SQL 로 컴파일 되어 DB 에서 실행. Raw SQL 없이 복잡한 쿼리. 일반 ORM 은 , 참고. 1. Q…
- [Django] QuerySet과 Manager django ← 6
- 별칭: django queryset, django manager, objects.filter, QuerySet API, lazy queryset
- 정의 QuerySet은 DB 쿼리를 lazy하게 빌드하는 객체. , 같은 메서드를 체이닝해도 실제 SQL 실행은 평가 시점( , , , slice 등)에 한 번 발생. Manag…
- [Django] Sessions와 Cookies django ← 2
- 별칭: django session, session backend, django cookies, signed cookie, session middleware
- 정의 Django Session은 서버 측 사용자 상태 저장. 클라이언트엔 세션 ID만 쿠키로 저장, 실제 데이터는 백엔드(DB, cache, file, cookie). 인증, …
- [Django] settings 관리: 환경 분리, secrets, 12-factor django ← 3
- 별칭: django settings, settings split, django-environ, DJANGO_SETTINGS_MODULE, production settings
- 정의 Django settings는 단일 Python 파일에 모든 설정을 두는 게 기본이지만, 환경별 분리·비밀 정보 분리·12-factor 원칙 적용이 실무 표준. 개발/스테이…
- [Django] Shortcuts + Decorators: render, redirect, get_object_or_404 django ← 1
- 별칭: django shortcuts, render, redirect, get_object_or_404, get_list_or_404, require_http_methods, login_required, permission_required
- 정의 Django 의 View 작성을 간결하게 하는 shortcut 함수들 + view 에 공통 기능을 붙이는 decorator 들. Shortcuts (django.shortc…
- [Django] Signals 내부 구현: 옵저버 패턴 심층 분석 django ← 1
- 별칭: django signal internal, Signal class internals, 옵저버 패턴 django, Signal connect dispatch, weakref signal receiver
- 정의 Django signal은 GoF의 옵저버(Observer) 패턴을 Python의 동적 디스패치, weakref, threading.lock으로 구현한 것이다. 일반 사용은…
- [Django] Signals: 모델 이벤트 hook django ← 2
- 별칭: django signal, post_save, pre_save, signal receiver, @receiver, AppConfig.ready
- 정의 Django signal은 발신자(sender)가 특정 이벤트를 알리면 등록된 수신자(receiver)들이 호출되는 옵저버 패턴. 모델 저장/삭제, 요청 시작/종료, 마이그…
- [Django] Static과 Media 파일 django ← 2
- 별칭: django static files, django media, STATIC_URL, MEDIA_URL, collectstatic, whitenoise
- 정의 Django는 정적 파일을 두 카테고리로 구분한다. - Static: 앱·테마의 일부인 CSS/JS/이미지. 배포 시 으로 한 곳에 모음. - Media: 사용자가 업로드한…
- [Django] Template 언어: 태그, 필터, 상속 django ← 3
- 별칭: django template, django template language, DTL, template tag, template filter, include extends
- 정의 Django Template Language (DTL)는 HTML과 Python 사이의 안전한 표현 언어. 임의 Python 실행 차단(보안), 로 변수, 로 태그, 로 필…
- [Django] Transactions: atomic, on_commit, savepoint django ← 1
- 별칭: Django transaction, transaction.atomic, on_commit, select_for_update, ATOMIC_REQUESTS, django savepoint
- 정의 Transaction = 여러 SQL 문을 원자적 (all-or-nothing) 으로 실행. Django 는 자동 커밋 (autocommit) 모드가 기본, 으로 명시적 트…
- [Django] URL 디스패치: path, re_path, include django ← 3
- 별칭: django urls, URL routing, path converter, reverse, url namespace
- 정의 Django는 URL 패턴 리스트로 요청을 view에 라우팅한다. 1.01.x는 (regex만), 2.0+ (간결한 converter 문법)와 (regex) 두 방식. 기본…
- [Django] View: 함수 기반 vs 클래스 기반 django ← 8
- 별칭: django view, FBV, CBV, class-based view, function-based view, generic view
- 정의 Django View는 HTTP 요청을 받아 응답을 반환하는 callable. 두 스타일이 공존. - FBV (Function-Based View): 일반 함수. 간단하고 …
- [DRF] Authentication: Session, Token, JWT, OAuth2 django ← 4
- 별칭: DRF authentication, TokenAuthentication, SessionAuthentication, BasicAuthentication, Simple JWT, django-rest-framework-simplejwt
- 정의 Authentication = 누가 요청했는지 식별. Authorization () 과 별개. 흐름 자세한 permission 은 . 내장 Authentication Cla…
- [DRF] Filtering: django-filter, SearchFilter, OrderingFilter django ← 4
- 별칭: DRF filtering, django-filter, SearchFilter, OrderingFilter, FilterSet, filter_backends
- 정의 Filtering = 쿼리 파라미터로 결과 제한. 3가지 backend + custom. 3가지 내장 Backend 설치 + 설정 1. DjangoFilterBackend …
- [DRF] Pagination + Throttling django ← 4
- 별칭: DRF pagination, PageNumberPagination, LimitOffsetPagination, CursorPagination, DRF throttling, UserRateThrottle, AnonRateThrottle
- 정의 Pagination = 큰 목록을 페이지 단위로 나눔. Throttling = 요청 빈도 제한. 둘 다 API 안정성의 기본. Pagination 3종 언제 어느 것을 쓸까…
- [DRF] Request + Response 객체 django ← 4
- 별칭: DRF Request, DRF Response, request.data, request.query_params, Response.status_code, content_negotiation
- 정의 DRF 의 = Django 의 확장. = 의 확장. 자동 content negotiation + renderer 처리. 요청이 뷰에 도달하기까지 에 값이 실제로 들어가려면 …
- [DRF] Routers: DefaultRouter, SimpleRouter, custom actions django ← 3
- 별칭: DRF Router, DefaultRouter, SimpleRouter, router.register, @action decorator, extra actions
- 정의 Router = ViewSet 에 대한 URL 자동 생성. Rails 의 와 유사. 왜 Router? 종류 DefaultRouter 생성되는 URL: | URL | Meth…
- [DRF] Schemas + OpenAPI: 자동 문서화 django ← 4
- 별칭: DRF schemas, DRF OpenAPI, drf-spectacular, drf-yasg, Swagger UI, Redoc, API 문서화, documenting your API
- 정의 OpenAPI (전 Swagger) = REST API를 기계 가독 스펙으로 기술하는 표준. DRF는 이 스펙을 ViewSet / Serializer 로부터 자동 추출할 수…
- [DRF] Testing: APIClient, APITestCase, force_authenticate django ← 3
- 별칭: DRF testing, APIClient, APITestCase, APIRequestFactory, force_authenticate, DRF pytest
- 정의 DRF의 테스트 도구는 Django 위에 API 특화 helper 를 얹은 것. 로 real endpoint 를 호출하거나 로 View 단위 테스트가 가능. 테스트 도구 계…
- [DRF] Tutorial + Quickstart: 첫 API 서버 5분 django ← 6
- 별칭: DRF quickstart, DRF tutorial, 첫 REST API, DRF 시작, django rest framework tutorial
- 정의 Django REST Framework (DRF) 를 처음 사용 하는 사람을 위한 순차 시작 가이드. 5분 안에 동작하는 API 서버 완성. DRF 개요는 . Django …
- [DRF] Versioning + Content Negotiation django ← 4
- 별칭: DRF versioning, URLPathVersioning, AcceptHeaderVersioning, content negotiation, Accept header, media type
- 정의 Versioning = API 의 여러 버전 공존. Content Negotiation = 같은 endpoint 가 여러 형식 (JSON, XML, HTML) 응답. Ver…
- [DRF] Views: APIView, GenericViews, Mixins, FBV django ← 7
- 별칭: APIView, @api_view, ListAPIView, RetrieveAPIView, GenericAPIView, DRF mixins
- 정의 DRF View 4가지 스타일. 자유도 vs 자동화 트레이드오프. 4가지 스타일 | 스타일 | 코드량 | 자유도 | |---|---|---| | | 유사 Django FBV…
- [FastAPI] Async / Sync Endpoints fastapi ← 7
- 별칭: FastAPI Async, FastAPI async def, FastAPI sync def, run_in_threadpool, async endpoint, FastAPI 비동기, FastAPI 이벤트 루프
- 정의 FastAPI 는 ASGI 프레임워크 이므로 endpoint 를 로 정의해 이벤트 루프에서 실행하거나, 로 정의해 스레드풀에서 실행할 수 있습니다. 어느 쪽을 선택하는지가 …
- [FastAPI] Background Tasks fastapi ← 3
- 별칭: FastAPI Background Tasks, FastAPI BackgroundTasks, FastAPI Celery, FastAPI Arq, FastAPI RQ, FastAPI 백그라운드 작업
- 정의 FastAPI 에서 응답 반환 후 실행하는 짧은 작업 은 , 장기/신뢰성 있는 작업 은 외부 task queue (Celery, Arq, RQ) 로 오프로드합니다. 두 카테…
- [FastAPI] Dependency Injection fastapi ← 9
- 별칭: FastAPI DI, FastAPI Dependency Injection, FastAPI Depends, FastAPI 의존성 주입, sub-dependencies, dependency_overrides, yield dependency
- 정의 FastAPI Dependency Injection 은 로 함수를 endpoint 에 자동 주입하는 시스템입니다. DB 세션, 인증 사용자, 설정, 서비스 계층 등을 end…
- [FastAPI] Deployment (Uvicorn, Gunicorn, Docker) fastapi ← 6
- 별칭: FastAPI Deployment, FastAPI 배포, Uvicorn, Gunicorn Uvicorn, FastAPI Docker, ASGI 배포, FastAPI 프로덕션
- 정의 FastAPI 배포는 ASGI 서버 (Uvicorn) + 프로세스 관리자 (Gunicorn 또는 Uvicorn 자체) + 컨테이너 (Docker) + 오케스트레이터 (Kub…
- [FastAPI] Middleware fastapi ← 11
- 별칭: FastAPI Middleware, FastAPI CORS, FastAPI GZip, FastAPI Trusted Host, BaseHTTPMiddleware, ASGI middleware, FastAPI 미들웨어
- 정의 FastAPI Middleware 는 모든 요청과 응답을 가로채 로깅, 인증, 압축, CORS 등 공통 처리를 하는 계층입니다. Starlette 의 ASGI middlew…
- [FastAPI] Pydantic Integration fastapi ← 7
- 별칭: FastAPI Pydantic, FastAPI + Pydantic, FastAPI 검증, response_model, BaseModel FastAPI, pydantic v2 FastAPI, Pydantic Settings
- 정의 FastAPI + Pydantic 은 요청/응답의 타입 검증, 직렬화, JSON Schema 생성 을 위한 통합입니다. Pydantic v2 는 Rust 코어 ( ) 로 v…
- [FastAPI] Routing (Path Operations) fastapi ← 10
- 별칭: FastAPI Routing, FastAPI Path Operations, FastAPI 라우팅, APIRouter, fastapi include_router, path parameter, query parameter, response_model
- 정의 FastAPI Routing 은 HTTP method + URL 을 Python 함수 (path operation) 에 매핑하는 시스템입니다. Starlette 의 라우팅 …
- [FastAPI] Testing fastapi ← 8
- 별칭: FastAPI Testing, FastAPI TestClient, FastAPI pytest, httpx AsyncClient FastAPI, dependency_overrides, FastAPI 테스트
- 정의 FastAPI Testing 은 endpoint 를 실제 서버 없이 직접 호출해 응답을 검증하는 workflow 입니다. Starlette 의 (내부적으로 sync) 또는 …
- [FastAPI] WebSockets fastapi ← 3
- 별칭: FastAPI WebSockets, FastAPI WebSocket, websockets fastapi, FastAPI 웹소켓, WebSocket broadcast, WebSocket authentication
- 정의 FastAPI WebSockets 는 Starlette 위에서 양방향 실시간 통신을 제공합니다. HTTP 대신 / 스킴을 쓰며, 한 연결 위에서 서버와 클라이언트가 자유롭게…
- [FL] FedAvg (Federated Averaging) ml ← 4
- 별칭: FedAvg, Federated Averaging, FL FedAvg, FedSGD, 연합 평균, communication-efficient FL, McMahan FedAvg
- 정의 FedAvg (Federated Averaging) 는 McMahan et al. (2017) 이 제안한 연합 학습의 기본 알고리즘 입니다. 원본 데이터를 중앙 서버로 보내…
- [FL] Frameworks (Flower, TFF, NVFlare, FATE, PySyft) ml ← 4
- 별칭: FL Frameworks, Flower framework, Flower FL, TensorFlow Federated, TFF, NVFlare, NVIDIA FLARE, FATE framework, PySyft, OpenMined, FedML, 연합 학습 프레임워크
- 정의 연합 학습 프레임워크 는 서버-클라이언트 통신, 집계 알고리즘, 프라이버시 도구, 시뮬레이션 환경, 실 배포 인프라를 제공하는 라이브러리/플랫폼입니다. 알고리즘을 직접 구현…
- [FL] Non-IID Data & Client Drift ml ← 4
- 별칭: FL Non-IID, Non-IID FL, client drift, statistical heterogeneity, FedProx, SCAFFOLD, FedNova, non-i.i.d. federated learning, 연합학습 non-iid
- 정의 Non-IID data 는 연합 학습에서 각 클라이언트의 데이터가 서로 다른 분포에서 추출되는 상황을 말합니다. FedAvg 를 비롯한 대부분 FL 알고리즘의 최대 난관이며…
- [FL] Personalized Federated Learning ml ← 4
- 별칭: Personalized FL, Personalized Federated Learning, pFedMe, Ditto, Per-FedAvg, MAML FL, 개인화 연합 학습, 개인화 FL, meta-learning FL
- 정의 Personalized FL 은 모든 클라이언트가 동일한 글로벌 모델을 쓰지 않고, 각 클라이언트가 자신의 데이터 분포에 맞춰 조정된 모델 을 학습하는 연합 학습 계열입니다…
- [FL] Secure Aggregation ml ← 4
- 별칭: Secure Aggregation, Bonawitz Secure Aggregation, secure aggregation protocol, SecAgg, cryptographic aggregation, 보안 집계, Homomorphic Encryption FL, MPC federated learning
- 정의 Secure Aggregation 은 연합 학습 서버가 개별 클라이언트 업데이트 를 보지 못하고 오직 합 (또는 평균) 만 볼 수 있도록 보장하는 암호학 프로토콜입니다. 서…
- [Flask] Application Factory Pattern flask ← 8
- 별칭: Flask App Factory, Flask Application Factory, create_app, Flask 애플리케이션 팩토리, flask factory pattern
- 정의 Application Factory 는 Flask 앱 인스턴스를 함수 안에서 생성 하는 패턴입니다. 모듈 스코프에 를 두는 대신 함수를 정의해 반환합니다. 이 패턴은 사실상…
- [Flask] Blueprints flask ← 9
- 별칭: Flask Blueprints, Flask Blueprint, Flask 블루프린트, Blueprint url_prefix, flask register_blueprint
- 정의 Blueprint 는 Flask 앱을 여러 모듈로 나누는 표준 도구입니다. 라우트, 정적파일, 템플릿, before/after hook, error handler 를 그룹화…
- [Flask] Deployment (WSGI, Gunicorn, uWSGI, Docker) flask ← 5
- 별칭: Flask Deployment, Flask 배포, Flask Gunicorn, Flask uWSGI, Flask Docker, WSGI 배포, Flask 프로덕션, ProxyFix
- 정의 Flask 는 WSGI 앱. 프로덕션 배포는 WSGI 서버 (Gunicorn, uWSGI, gevent) + 리버스 프록시 (Nginx, ALB) + 컨테이너 (Docker…
- [Flask] Extensions (SQLAlchemy, Login, Migrate, WTF, ...) flask ← 7
- 별칭: Flask Extensions, Flask-SQLAlchemy, Flask-Login, Flask-Migrate, Flask-WTF, Flask-Caching, Flask-CORS, Flask-JWT-Extended, Flask-Limiter, Flask-RESTful, Flask-Smorest, Flask 확장
- 정의 Flask Extension 은 코어에 없는 기능 (DB, 인증, 마이그레이션, 캐시 등) 을 표준 인터페이스로 통합하는 서드파티 패키지입니다. 패턴이 관용이며, appli…
- [Flask] Request & Response flask ← 7
- 별칭: Flask Request, Flask Response, Flask jsonify, Flask make_response, Flask streaming response, Flask 요청 응답
- 정의 Flask Request/Response 는 Werkzeug 의 / 래퍼를 확장한 것입니다. Thread-local 프록시 로 뷰 함수 어디서든 현재 요청에 접근하고, re…
- [Flask] Routing (URL Rules, Converters, url_for) flask ← 5
- 별칭: Flask Routing, Flask URL Rules, Flask Converters, Flask url_for, Flask 라우팅, add_url_rule
- 정의 Flask Routing 은 Werkzeug 의 시스템에 기반한 URL 매핑입니다. 데코레이터 ( , , ...) 로 URL 패턴을 뷰 함수에 연결하고, converter …
- [Flask] Sessions & Cookies flask ← 5
- 별칭: Flask Sessions, Flask Session, Flask Cookies, Flask secure cookie, Flask-Session, itsdangerous, Flask CSRF
- 정의 Flask Session 은 요청 간 상태를 유지하는 방법입니다. 기본 구현은 서명된 쿠키 (secure cookie) 로 클라이언트에 저장 (server-less). ex…
- [Flask] Templates (Jinja2) flask ← 5
- 별칭: Flask Templates, Flask Jinja2, Jinja2 Flask, render_template, Flask 템플릿, template inheritance, Jinja macro
- 정의 Flask Templates 는 Jinja2 템플릿 엔진의 Flask 통합입니다. 로 컨텍스트 (변수) 를 넘겨 HTML/텍스트를 렌더링하고, template inherit…
- [Flask] Testing flask ← 7
- 별칭: Flask Testing, Flask test_client, Flask pytest, test_request_context, Flask 테스트
- 정의 Flask Testing 은 앱 인스턴스를 직접 감싸 HTTP 요청을 시뮬레이션하는 workflow 입니다. (Werkzeug) 로 라우팅/뷰/미들웨어까지 실제 실행하고 응…
- [Framework] Koa.js frameworks ← 11
- 별칭: Koa, Koa.js, koajs, koa framework, koa nodejs, TJ Holowaychuk Koa, koa 3
- 정의 Koa.js 는 Express 창시자 TJ Holowaychuk 이 2013년 발표한 Node.js 웹 프레임워크 입니다. Express 의 후계자 성격이며, 미들웨어를 a…
- [Framework] NestJS frameworks ← 16
- 별칭: NestJS, Nest.js, nestjs, Nest framework, nest framework, TypeScript NestJS, Node NestJS, NestJS 11
- 정의 NestJS 는 Kamil Myśliwiec 이 2017년 발표한 Node.js 서버측 프레임워크 입니다. TypeScript first, Angular 에서 영감받은 모듈…
- [Frontend] React 19.x: Actions, Activity, RSC, Foundation frameworks
- 별칭: React 19, React 19.1, React 19.2, React Server Components, useActionState, useFormStatus, useOptimistic, useEffectEvent, Activity component, Partial Pre-rendering, React Foundation, ref as prop, Document Metadata, Asset Loading
- 정의 React 19 ( ) 는 Server Components 의 정식화 와 Actions 라는 새 패러다임을 들고 나온 메이저 릴리즈. 이후 ( ), ( ) 까지 minor …
- [Frontend] React Compiler 1.0: 자동 memoization 의 새 표준 frameworks ← 4
- 별칭: React Compiler, react-compiler, babel-plugin-react-compiler, automatic memoization, use memo, use no memo, React Forget, compiler-powered linting
- 정의 React Compiler 는 React 컴포넌트와 hook 의 불필요한 재계산 을 빌드 타임에 자동으로 잡아주는 optimizing compiler. 손으로 / / 를 박…
- [Frontend] SPA Architecture: CSR, SSR, SSG, hydration javascript ← 4
- 별칭: SPA Architecture, SPA, Single Page Application, CSR, SSR, SSG, ISR, Hydration, Islands Architecture, client-side routing, 스파, 단일 페이지 앱
- 정의 SPA (Single Page Application) 는 첫 로딩 시 받은 HTML / JS 번들 하나로 모든 화면 전환을 클라이언트에서 처리하는 웹 앱 구조. URL 변경…
- [GitOps] 패턴: 단일 vs 다중 repo, environment promotion devops ← 4
- 별칭: GitOps patterns, monorepo manifests, environment promotion, image updater, Renovate, Kustomize, Flux, GitOps repo structure
- 정의 GitOps = Git 을 single source of truth 로 삼아 자동으로 인프라 + 앱 상태를 reconcile 하는 운영 방식. GitOps 4가지 원칙 (O…
- [GitOps] ArgoCD: Kubernetes GitOps devops ← 9
- 별칭: ArgoCD, Argo CD, GitOps, Application, ApplicationSet, Argo Rollouts, Flux CD
- 정의 ArgoCD = Kubernetes 의 GitOps 컨트롤러. Git 리포지토리의 manifest 가 source of truth → cluster 가 자동 동기화. Git…
- [Graph] 매칭 (Matching) algorithm ← 2
- 별칭: matching, Matching, bipartite matching, maximum matching, 이분 매칭, 이분 그래프 매칭, Hungarian algorithm, Hopcroft-Karp, assignment problem
- 정의 그래프 $G = (V, E)$ 에서 매칭 (Matching) 은 간선의 부분집합 $M \subseteq E$ 이면서 어느 두 간선도 공통 정점을 공유하지 않는 것. - 각 …
- [IaC] AWS CDK: TypeScript 로 CloudFormation 생성 cloud
- 별칭: AWS CDK, Cloud Development Kit, CDK construct, CDK stack, L1 L2 L3 construct, CDK Toolkit, cdktf, CDK Aspects, CDK bootstrap
- 정의 AWS CDK = TS/Python/Java/Go 로 AWS 인프라 정의 → CloudFormation 으로 컴파일 → 배포. AWS 전용 IaC 도구. CloudForma…
- [IaC] Pulumi: 코드로 인프라 (TS/Python/Go) cloud ← 3
- 별칭: Pulumi, IaC in code, Pulumi stack, Pulumi automation API, Pulumi ESC, CrossGuard
- 정의 Pulumi = 일반 프로그래밍 언어로 IaC. TypeScript, Python, Go, .NET, Java. Terraform 의 HCL DSL 대신 코드 자유도. 사용…
- [IaC] Terraform State: backend, locking, drift, import cloud ← 1
- 별칭: terraform.tfstate, S3 backend, state locking, DynamoDB lock, drift detection, terraform import, state rm
- 정의 Terraform State = 코드 (의도) vs 실제 인프라 매핑. JSON 파일. 모든 Terraform 작업의 핵심. , , 모두 state 를 기반으로 diff 계…
- [IaC] Terraform: HCL, provider, state cloud ← 7
- 별칭: Terraform, HCL, Terraform provider, terraform plan, terraform apply, tfstate, OpenTofu, aws-terraform
- 정의 Terraform = 선언적 인프라 코드. HCL (HashiCorp Configuration Language) 로 리소스 정의 → AWS/GCP/Azure 등 provid…
- [Java] ArrayBlockingQueue java ← 5
- 별칭: ArrayBlockingQueue, java.util.concurrent.ArrayBlockingQueue, ABQ, 고정 크기 블로킹 큐
- 정의 는 고정 크기 원형 배열 기반의 BlockingQueue. 생성 시 capacity 를 지정해야 하고 그 이상 늘어나지 않는다. 내부에 단일 ReentrantLock 을 사…
- [Java] ArrayDeque java ← 4
- 별칭: ArrayDeque, java.util.ArrayDeque, Java ArrayDeque, 어레이덱, circular array deque
- 정의 는 원형 배열 (circular buffer) 기반의 구현. JDK 1.6 도입. 으로 쓰면 보다 빠르고, 로 쓰면 보다 빠르다. Stack / Queue / Deque 가…
- [Java] ArrayList java ← 9
- 별칭: ArrayList, java.util.ArrayList, Java ArrayList, 어레이리스트, ArrayList class
- 정의 는 동적 배열 (dynamic array) 로 구현된 . 내부적으로 를 들고 다니며, 용량이 부족해지면 새 배열로 옮긴다. Java 의 가장 흔한 컬렉션 구현체. 인덱스 기…
- [Java] AtomicInteger java ← 5
- 별칭: AtomicInteger, java.util.concurrent.atomic.AtomicInteger, 원자 정수, atomic int
- 정의 는 lock-free 로 원자성을 보장 하는 래퍼. 내부적으로 CAS (Compare-And-Swap) 를 사용해 락 없이 atomic 한 read-modify-write …
- [Java] AtomicReference java ← 2
- 별칭: AtomicReference, java.util.concurrent.atomic.AtomicReference, 원자 참조, atomic reference
- 정의 는 객체 참조를 atomic 하게 갱신 하는 래퍼. 참조 + CAS (Compare-And-Swap) 의 결합. 의 객체 버전. 불변 객체 패턴, 상태 머신, lock-fr…
- [Java] BlockingQueue java ← 12
- 별칭: BlockingQueue, java.util.concurrent.BlockingQueue, blocking queue, 블로킹 큐, BQ
- 정의 는 요소를 가져올 때 비어 있으면 대기, 넣을 때 가득 차 있으면 대기 하는 thread-safe 큐 인터페이스. 생산자-소비자 (producer-consumer) 패턴의 …
- [Java] Collection java ← 30
- 별칭: Collection, java.util.Collection, Java Collection, Collection interface, 컬렉션, JCF, Java Collections Framework
- 정의 는 그룹으로 묶인 객체들을 표현하는 최상위 인터페이스. JCF (Java Collections Framework) 의 입구이자, / / / 모두 이를 확장한다. 자체는 직접…
- [Java] ConcurrentHashMap java ← 20
- 별칭: ConcurrentHashMap, java.util.concurrent.ConcurrentHashMap, CHM, concurrent hash map, 동시성 해시맵
- 정의 는 고동시성 환경에서 사용 가능한 구현. JSR-166 (Java 5) 도입, Java 8 에서 내부 구조가 크게 재작성됐다. 과 같은 인터페이스를 제공하면서 thread-…
- [Java] ConcurrentLinkedDeque java ← 5
- 별칭: ConcurrentLinkedDeque, java.util.concurrent.ConcurrentLinkedDeque, CLD, lock-free deque
- 정의 는 lock-free . 의 양방향 버전. JDK 1.7 추가. 양 끝 모두에서 add/remove 가 가능하며, 모든 연산이 CAS (Compare-And-Swap) 기반…
- [Java] ConcurrentLinkedQueue java ← 5
- 별칭: ConcurrentLinkedQueue, java.util.concurrent.ConcurrentLinkedQueue, CLQ, lock-free queue
- 정의 는 lock-free 로 구현된 unbounded thread-safe . Michael & Scott 의 non-blocking queue 알고리즘 (1996) 기반. 가…
- [Java] ConcurrentModificationException java ← 12
- 별칭: ConcurrentModificationException, CME, java.util.ConcurrentModificationException, ConcurrentModification, CMException
- 정의 (CME) 는 fail-fast iterator 가 컬렉션의 구조 변경을 탐지했을 때 던지는 unchecked 예외 ( ). 이름과 달리 반드시 동시성 (멀티스레드) 문제일…
- [Java] ConcurrentSkipListMap java ← 2
- 별칭: ConcurrentSkipListMap, java.util.concurrent.ConcurrentSkipListMap, skip list map, 동시성 정렬 맵, ConcurrentNavigableMap
- 정의 는 Skip List 기반의 thread-safe 정렬 . 의 동시성 버전. 과의 결정적 차이: 정렬 순서를 유지 + 인터페이스 구현 ( , , 등). Skip List 는…
- [Java] ConcurrentSkipListSet java ← 4
- 별칭: ConcurrentSkipListSet, java.util.concurrent.ConcurrentSkipListSet, concurrent sorted set, 스킵리스트 셋
- 정의 는 을 백킹으로 사용하는 정렬된 thread-safe . 인터페이스를 구현하며 의 동시성 버전에 해당한다. - JDK 1.6 추가 - 내부는 skip list (확률적 자료…
- [Java] CopyOnWriteArrayList java ← 15
- 별칭: CopyOnWriteArrayList, CopyOnWriteList, CoW ArrayList, copy-on-write list, java.util.concurrent.CopyOnWriteArrayList
- 정의 는 쓰기 시 배열 전체를 복사 하는 thread-safe 구현. 읽기에는 lock 이 전혀 없고, 쓰기에는 으로 직렬화한다. (JSR-166) 의 컬렉션. 읽기 압도적 다,…
- [Java] CopyOnWriteArraySet java
- 별칭: CopyOnWriteArraySet, java.util.concurrent.CopyOnWriteArraySet, CoW Set, copy-on-write set
- 정의 는 를 백킹으로 사용하는 thread-safe . 중복 검사를 위해 매 마다 선형 검색 (O(n)) 을 수행한다. 의 모든 특성을 물려받는다. - 읽기 lock-free: …
- [Java] CountDownLatch java ← 4
- 별칭: CountDownLatch, java.util.concurrent.CountDownLatch, 카운트다운 래치, countdown latch
- 정의 는 한 스레드 또는 여러 스레드가 다른 스레드들의 작업 완료를 기다리는 일회용 synchronizer. 으로 초기화하고, 각 worker 가 작업 후 호출. waiter 는…
- [Java] CyclicBarrier java ← 3
- 별칭: CyclicBarrier, java.util.concurrent.CyclicBarrier, 사이클 배리어, 재사용 배리어
- 정의 는 N 개의 스레드가 모두 도착할 때까지 서로 기다리는 synchronizer. 모두 도착하면 동시에 출발, 다시 사용 가능 (cyclic). 시각화 핵심 메서드 가장 흔한…
- [Java] DelayQueue java ← 1
- 별칭: DelayQueue, java.util.concurrent.DelayQueue, 지연 큐
- 정의 는 각 원소가 지정된 delay 가 만료된 후에만 꺼낼 수 있는 BlockingQueue. 우선순위는 만료 시각이 빠른 것부터. 내부는 PriorityQueue (min-h…
- [Java] Deque java
- 별칭: Deque, java.util.Deque, Java Deque, double-ended queue, 양방향 큐, 덱
- 정의 (Double-Ended Queue) 는 의 확장 인터페이스. 양쪽 끝 (head, tail) 모두에서 add/remove/examine 이 가능한 자료구조. JDK 1.6…
- [Java] Fail-Fast Iterator java ← 16
- 별칭: fail-fast iterator, fail-fast, fail fast, fail-fast 이터레이터, fail-fast 순회, modCount
- 정의 Fail-Fast Iterator 는 순회 도중 컬렉션의 구조가 변경되면 즉시 을 던지는 iterator. , , 등 대부분의 컬렉션의 iterator 가 이 방식. 목적은…
- [Java] HashMap java ← 5
- 별칭: HashMap, java.util.HashMap, Java HashMap, 해시맵
- 정의 는 해시 테이블 로 구현된 . 평균 O(1) 의 put/get/remove 를 보장하고 단일 스레드 환경의 사실상 표준. JDK 1.2 도입, Java 8 에서 충돌 시 l…
- [Java] HashSet java ← 4
- 별칭: HashSet, java.util.HashSet, Java HashSet, 해시셋
- 정의 는 을 백킹으로 사용하는 구현. 내부적으로 모든 원소를 의 key 로 저장하고, value 는 dummy 상수 로 채운다. - 평균 O(1) 의 / / - 순서 보장 없음 …
- [Java] Iterable java ← 24
- 별칭: Iterable, java.lang.Iterable, Java Iterable, Iterable interface, 이터러블, for-each 대상
- 정의 는 루프로 순회 가능한 모든 타입의 최상위 인터페이스. 단 하나의 추상 메서드, 를 정의한다. 인터페이스가 을 extends 하므로 , , , 등 모든 컬렉션이 자동으로 대…
- [Java] JavaBean 프로퍼티 규약 java ← 4
- 별칭: JavaBean, Java Bean, POJO, 자바빈, getter setter convention, @ConstructorProperties
- 정의 JavaBean 은 다음 세 가지 규약을 만족하는 클래스: 1. public no-args constructor (인자 없는 public 생성자) 2. 프로퍼티 접근자: /…
- [Java] LinkedBlockingQueue java ← 4
- 별칭: LinkedBlockingQueue, java.util.concurrent.LinkedBlockingQueue, LBQ, 링크드 블로킹 큐
- 정의 는 linked list 기반의 . 기본 unbounded ( ) 이지만 생성 시 capacity 지정 가능. Two-Lock Queue 알고리즘 으로 producer 와 …
- [Java] LinkedHashMap java ← 6
- 별칭: LinkedHashMap, java.util.LinkedHashMap, Java LinkedHashMap, 링크드해시맵
- 정의 는 을 상속해 삽입 순서 (또는 접근 순서) 를 유지 하는 Map. 모든 의 평균 O(1) 성능을 유지하면서 추가로 순회 순서가 일관된다. 핵심: 이중 연결 리스트 (dou…
- [Java] LinkedList java ← 10
- 별칭: LinkedList, java.util.LinkedList, Java LinkedList, 연결리스트, 링크드리스트, 이중 연결 리스트
- 정의 는 양방향 연결 리스트 (doubly linked list) 로 구현된 이자 . 각 원소는 와 포인터를 가진 노드로 보관된다. 와 같은 List 이지만, 메모리 레이아웃과 …
- [Java] List java ← 7
- 별칭: List, java.util.List, Java List, JList, 리스트, List interface
- 정의 는 순서가 있고 중복이 허용 되는 컬렉션을 표현하는 인터페이스. 각 원소는 0 부터 시작하는 정수 인덱스로 접근 가능. 인터페이스를 확장하며, 의 모든 성질을 물려받는다. …
- [Java] LongAdder java ← 2
- 별칭: LongAdder, java.util.concurrent.atomic.LongAdder, DoubleAdder, 스트라이프 카운터
- 정의 는 고경합 카운터 를 위한 자료구조. JDK 1.8 도입. 보다 동시 증가 throughput 이 압도적으로 높다. 원리는 striped counter (분산 누적). 여러…
- [Java] Map java ← 1
- 별칭: Map, java.util.Map, Java Map, Map interface, 맵
- 정의 는 key 와 value 의 쌍으로 데이터를 저장 하는 자료구조의 인터페이스. 하나의 key 에는 하나의 value 만 매핑, 중복 key 는 허용하지 않는다. 은 을 ex…
- [Java] Object java ← 21
- 별칭: Object, java.lang.Object, Java Object, Object class, 오브젝트, java Object
- 정의 는 Java 의 모든 클래스의 최상위 부모 (root) 클래스. 가 명시되지 않은 클래스는 컴파일러가 자동으로 를 붙인다. 인터페이스는 클래스가 아니라 를 직접 상속하지는 …
- [Java] Phaser java ← 3
- 별칭: Phaser, java.util.concurrent.Phaser, 페이저, 동적 배리어
- 정의 는 의 확장. 참여자 수가 동적으로 변할 수 있는 단계별 동기화. JDK 1.7 도입. 시각화 핵심 메서드 동적 참여 예 worker 가 도중에 추가/종료될 수 있는 경우 …
- [Java] PriorityBlockingQueue java ← 4
- 별칭: PriorityBlockingQueue, java.util.concurrent.PriorityBlockingQueue, PBQ, 동시성 우선순위 큐
- 정의 는 의 동시성 + blocking 버전. unbounded 힙 기반 . - 원소는 (자연 순서) 또는 생성자에 전달한 로 정렬 - 은 절대 블록하지 않음 (unbounded…
- [Java] PriorityQueue java ← 5
- 별칭: PriorityQueue, java.util.PriorityQueue, Java PriorityQueue, 우선순위큐, 최소힙
- 정의 는 이진 힙 (binary heap) 기반의 구현. FIFO 가 아닌 우선순위 순서 로 원소를 꺼낸다. 기본은 min-heap, 의 자연 순서나 로 우선순위 결정. 가장 작…
- [Java] Queue java
- 별칭: Queue, java.util.Queue, Java Queue, Queue interface, 큐
- 정의 는 FIFO (First-In, First-Out) 처리 순서를 가진 인터페이스. 한쪽 끝 (tail) 에 추가하고 반대쪽 (head) 에서 제거하는 자료구조. 처럼 다른 …
- [Java] ReentrantLock java ← 20
- 별칭: ReentrantLock, java.util.concurrent.locks.ReentrantLock, reentrant lock, 재진입 락, 재진입 가능 락, Java ReentrantLock
- 정의 는 키워드와 같은 상호 배제 (mutual exclusion) 를 제공하는 클래스 기반 락. JSR-166 (Java 5) 에서 추가됐다. "재진입 (reentrant)" …
- [Java] ReentrantReadWriteLock java ← 1
- 별칭: ReentrantReadWriteLock, java.util.concurrent.locks.ReentrantReadWriteLock, RRWLock, 읽기쓰기락, ReadWriteLock
- 정의 는 읽기 락과 쓰기 락을 분리 한 ReentrantLock 의 확장. 핵심 규칙: - 여러 reader 가 동시에 read lock 획득 가능 (병렬 읽기) - writer…
- [Java] Reflection: Class, Method, Field, MethodHandle java ← 3
- 별칭: Java Reflection, java.lang.reflect, Class.forName, MethodHandle, VarHandle, 리플렉션, 자바 리플렉션
- 정의 Reflection 은 런타임에 클래스 메타데이터 (필드, 메서드, 어노테이션, 생성자) 를 조회하고, 컴파일 타임에 알 수 없는 객체를 생성/조작할 수 있게 해 주는 Ja…
- [Java] Semaphore java ← 5
- 별칭: Semaphore, java.util.concurrent.Semaphore, 세마포어, permit
- 정의 는 N 개의 permit (허가) 을 발급/회수 하는 synchronizer. permit 이 있으면 진행, 없으면 또는 즉시 실패. 자원 풀, rate limiting, …
- [Java] Servlet 생명주기 java ← 3
- 별칭: Servlet lifecycle, init service destroy, Servlet 컨테이너, servlet container, 서블릿 생명주기
- 정의 Servlet 은 컨테이너 (Tomcat / Jetty / Undertow) 가 생성, 호출, 소멸시키는 객체. 개발자는 인터페이스 메서드만 구현하고 인스턴스 관리는 일체 …
- [Java] Servlet API: HttpServletRequest, HttpServletResponse java ← 5
- 별칭: Servlet, HttpServletRequest, HttpServletResponse, ServletContext, ServletConfig, Jakarta Servlet, 서블릿
- 정의 Servlet 은 Java 진영의 표준 HTTP 처리 API. 컨테이너 (Tomcat / Jetty / Undertow) 가 HTTP 요청을 객체 ( ) 로 만들어 serv…
- [Java] Servlet Filter java ← 8
- 별칭: Servlet Filter, Filter, FilterChain, @WebFilter, OncePerRequestFilter, FilterRegistrationBean, 서블릿 필터
- 정의 Filter 는 servlet 호출 전/후 에 끼어들어 요청과 응답을 가로채는 컴포넌트. 인증, 로깅, 압축, CORS, 인코딩 변환 같은 횡단 관심사 (cross-cutt…
- [Java] Set java
- 별칭: Set, java.util.Set, Java Set, Set interface, 집합
- 정의 는 중복을 허용하지 않는 . 수학의 집합 (set) 에 대응. 같은 원소를 두 번 추가하면 두 번째는 무시된다. 인터페이스의 모든 메서드를 그대로 사용하면서, 와 (또는 )…
- [Java] StampedLock java ← 1
- 별칭: StampedLock, java.util.concurrent.locks.StampedLock, 스탬프락, optimistic read
- 정의 는 JDK 1.8 도입의 새 락. 세 가지 모드 제공. 1. Write lock (배타) 2. Read lock (공유) 3. Optimistic read (락 없이 시도,…
- [Java] SynchronousQueue java ← 2
- 별칭: SynchronousQueue, java.util.concurrent.SynchronousQueue, 직접 핸드오프 큐, rendezvous queue
- 정의 는 용량 0 의 . 저장 공간이 없다. 은 매칭되는 가 있어야 진행하고, 반대도 마찬가지. 직접 핸드오프 (direct handoff) 또는 랑데부 (rendezvous) …
- [Java] ThreadLocal java ← 8
- 별칭: ThreadLocal, InheritableThreadLocal, ScopedValue, 스레드 로컬, java threadlocal
- 정의 는 각 스레드마다 독립된 변수 사본을 가지게 해 주는 컨테이너. 로 접근하며, 한 스레드의 값은 다른 스레드에서 볼 수 없다. 쓰임은 두 가지: (1) 같은 인스턴스를 여러…
- [Java] TreeMap java ← 5
- 별칭: TreeMap, java.util.TreeMap, Java TreeMap, 트리맵, 정렬 맵
- 정의 는 Red-Black Tree 기반의 정렬된 Map. (확장 인터페이스) 을 구현해 범위 쿼리, floor/ceiling, sub-map 같은 정렬 기반 연산을 제공한다. …
- [Java] TreeSet java ← 6
- 별칭: TreeSet, java.util.TreeSet, Java TreeSet, 트리셋, 정렬 셋, NavigableSet
- 정의 는 을 백킹으로 사용하는 정렬된 . 인터페이스를 구현해 정렬 기반 연산 ( , , 등) 을 제공한다. - JDK 1.2 도입 - 내부: Red-Black Tree (자가 균…
- [Java] Vector java ← 1
- 별칭: Vector, java.util.Vector, Java Vector, 벡터, Vector class
- 정의 는 와 거의 동일한 동적 배열 기반 이지만, 모든 public 메서드가 로 묶여 있다. Java 1.0 (1996) 부터 존재하는 레거시 컬렉션. JDK 1.2 의 Coll…
- [Java] volatile java ← 13
- 별칭: volatile, java volatile, Java volatile, volatile keyword, volatile 키워드
- 정의 은 Java 의 키워드. 필드에 붙이면 두 가지를 보장한다. 1. 가시성 (visibility): 한 스레드의 쓰기가 다른 모든 스레드에 즉시 보인다. CPU 캐시에 머무르…
- [Javascript] 스코프 체인 javascript ← 7
- 별칭: JS 스코프 체인, JavaScript scope chain, JS scope
- 정의 스코프 체인 (Scope Chain) 은 변수 식별자를 해결할 때 따라가는 중첩된 의 연결 구조. 안쪽 스코프에서 찾지 못한 변수를 바깥 스코프로 차례로 검색. 시각화 변수…
- [Javascript] 이벤트 루프 javascript ← 12
- 별칭: setTimeout Macrotask, settimeout-macrotask, 이벤트 루프, event loop, event-loop, 이벤트루프, JavaScript 이벤트 루프, JS 이벤트 루프, JavaScript event loop
- 정의 이벤트 루프 (Event Loop) 는 싱글 스레드 JavaScript 엔진이 비동기 작업을 처리하기 위해 돌리는 무한 루프다. 콜 스택이 비어있을 때마다 마이크로태스크 큐…
- [Javascript] 제어 흐름 javascript
- 별칭: JS control flow, if switch loop, JS 반복문
- 정의 JS 의 제어 흐름 구문. 분기, 반복, 종료 / 계속. if / else switch 없으면 다음 case 로 fall-through. ES2023+ lookup 이 더 …
- [Javascript] 콜백 javascript ← 6
- 별칭: 콜백, callback, 콜백 함수, callback function, JavaScript callback, JS callback
- 정의 콜백 (callback): 다른 함수의 인자로 넘겨져, 받은 쪽(caller)이 적절한 시점에 호출하는 함수. 특성이 있어야 가능한 패턴이다. JavaScript 에서는 함…
- [Javascript] 콜백 지옥 javascript ← 4
- 별칭: 콜백 지옥, callback hell, 콜백지옥, pyramid of doom, JavaScript callback hell, JS callback hell
- 정의 콜백 지옥 (callback hell) 또는 둠 피라미드 (pyramid of doom): 순차 의존이 있는 비동기 작업을 으로 연결할 때 들여쓰기가 오른쪽으로 점점 깊어지…
- [Javascript] 클로저 javascript ← 14
- 별칭: closure, 클로저, 클로져, 클로저(Closure), JavaScript closure, JS closure
- 정의 클로저 (Closure): 함수가 자신이 정의된 시점의 외부 변수들을 계속 참조할 수 있는 성질. 함수가 일급 객체 () 인 언어의 자연스러운 결과. 메커니즘은 + 함수 객…
- [Javascript] 타입 변환 / 강제 변환 javascript ← 9
- 별칭: JS type coercion, JS 타입 변환, JS 형변환, implicit conversion
- 정의 JavaScript 의 암묵적 형변환 (coercion). 연산자가 양쪽 피연산자의 타입을 자동으로 맞춘다. 명시적 변환과 구분. 3 가지 강제 변환 1. ToString …
- [Javascript] 함수의 종류 javascript
- 별칭: JS function types, function expression, IIFE, function declaration
- 정의 JavaScript 에서 함수를 정의하는 여러 방법. 1. Function Declaration (선언문) - 호이스팅 됨 (전체) - 자기 이름으로 재귀 가능 - 일반 함…
- [Javascript] 호이스팅 (Hoisting) javascript ← 7
- 별칭: JS Hoisting, JS 호이스팅, JavaScript 호이스팅, hoisting, 호이스팅, JavaScript hoisting
- 정의 호이스팅 (Hoisting) 은 JavaScript 엔진이 코드를 실행하기 전 바인딩 생성 단계 에서 스코프 내의 선언을 파악하고 등록하는 메커니즘이다. 마치 선언이 스코프…
- [JavaScript] AbortController javascript ← 4
- 별칭: AbortController, AbortSignal, abort controller, abort signal, 비동기 취소
- 정의 는 비동기 작업 (fetch, event listener, 커스텀 Promise 등) 을 취소 하기 위한 표준 Web API 인터페이스. | 인터페이스 | 역할 | |:--…
- [Javascript] Array javascript ← 9
- 별칭: JS Array, JavaScript 배열, Array methods
- 정의 JavaScript 의 는 순서 있는 객체. 정수 키 + . 풍부한 메서드 (map/filter/reduce/...) 가 함수형 스타일을 지원. 생성 핵심 메서드 (반복) …
- [Javascript] Arrow Function javascript ← 8
- 별칭: arrow function, Arrow Function, JavaScript arrow function, JS arrow function, 화살표 함수, arrow-function, fat arrow
- 정의 화살표 함수 (arrow function) 는 ES2015 (ES6) 에서 도입된 함수 표현식. 모양. 더 짧은 문법뿐 아니라 가 lexical 로 바인딩 되는 본질적 차이…
- [Javascript] async/await javascript ← 23
- 별칭: JS Async Await, async/await, async await, async-await, async function, 비동기 함수, JavaScript async/await, JS async/await
- 정의 / 는 기반 비동기 코드를 마치 동기 코드처럼 쓸 수 있게 해주는 ES2017 의 문법 설탕. 본질은 Promise 그 자체, 문법만 다르다. 전체 동작 메커니즘은 글 참조…
- [Javascript] BigInt javascript ← 3
- 별칭: JS BigInt, JavaScript BigInt, 임의 정밀도 정수
- 정의 는 임의 정밀도 정수. 를 넘어가는 정수를 정확히 표현. ES2020 도입. 사용 상황 | 상황 | 권장 타입 | |:---|:---| | 64-bit 정수 ID (DB의 …
- [Javascript] boolean / null / undefined javascript ← 5
- 별칭: JS boolean, JS null, JS undefined, JS boolean / null / undefined, JS falsy
- 정의 JavaScript 의 3 가지 primitive. - : , - : 의도적인 "없음" - : 자동으로 부여된 "없음" (초기화 안 됨) 사용 상황 | 상황 | 권장 값 /…
- [JavaScript] Bun (Runtime + Bundler) javascript ← 3
- 별칭: Bun, bun, Bun runtime, Bun bundler, bun install, Bun.build
- 정의 Bun 은 Jarred Sumner 가 2022년 발표한 JavaScript/TypeScript 런타임 + 번들러 + 패키지 매니저 + 테스트 러너 통합 도구입니다. Zig…
- [JavaScript] Bundling (번들링 개요) javascript ← 13
- 별칭: JavaScript Bundling, JS 번들링, bundler, 번들러, module bundler, code splitting, tree shaking, HMR, hot module replacement
- 정의 JavaScript 번들링 (Bundling) 은 여러 소스 파일 (JS, CSS, 이미지, JSON 등) 을 브라우저나 런타임이 효율적으로 실행할 수 있는 최소한의 결과물…
- [Javascript] Class javascript ← 10
- 별칭: JS Class, JavaScript class, ES6 class
- 정의 ES6 는 prototype chain 위의 문법 설탕. C++/Java 스타일 OOP 와 닮았지만 내부는 . 구조 상속 super 의 의미 - : 부모 constructo…
- [JavaScript] CommonJS vs ESM (package.json 설정 완전 정복) javascript ← 9
- 별칭: CommonJS vs ESM, CJS vs ESM, CJS ESM, Node module systems, package.json type module, package.json exports, package.json imports, dual package, ERR_REQUIRE_ESM, __dirname ESM, require ESM
- 정의 JavaScript 는 두 개의 서로 다른 모듈 시스템 을 가집니다. - CommonJS (CJS): Node.js 초기 (2009) 부터 사용. / . 동기 로딩. - E…
- [Javascript] Date javascript ← 1
- 별칭: JS Date, JavaScript Date, Date 객체, JavaScript 날짜, 날짜 처리
- 정의 JS 의 객체. 시간을 ms 단위로 (1970-01-01T00:00:00Z 기준) 저장. 매우 오래된 API 라 함정이 많다. Date 의 설계 문제 는 Brendan Ei…
- [Javascript] Destructuring javascript ← 4
- 별칭: JS Destructuring, 구조 분해 할당, JavaScript destructuring
- 정의 Destructuring 은 배열 또는 객체의 일부를 변수로 풀어내는 ES6 문법. 코드를 짧고 명시적으로. 객체 배열 함수 매개변수 자주 쓰는 idiom API 응답 분해…
- [Javascript] Error / try-catch javascript ← 4
- 별칭: JS Error / try-catch, JS Error, JS try catch, JavaScript 에러, custom error
- 정의 JS 의 에러 처리. 로 던지고 로 잡는다. 내장 Error 타입과 사용자 정의 Error. throw / try / catch 는 에러 유무와 무관하게 실행. 내장 Err…
- [Javascript] ES Modules (import / export) javascript ← 12
- 별칭: JS ES Modules, ESM, import export, ES6 module
- 정의 ES Modules (ESM) 은 표준 JS 모듈 시스템 (ES6). / 키워드. 브라우저와 Node.js 16+ 모두 지원. export named export defau…
- [JavaScript] esbuild javascript ← 7
- 별칭: esbuild, ESBuild, esbuild bundler, esbuild transform
- 정의 esbuild 는 Evan Wallace (Figma CTO) 가 2020년 발표한 Go 로 작성된 JavaScript 번들러/컴파일러 입니다. 10-100배 빠른 성능으로…
- [JavaScript] fetch API: 현대 HTTP 클라이언트 javascript ← 2
- 별칭: js-fetch, fetch API, fetch, Response, Request, JS fetch, JavaScript fetch, fetch 함수
- 정의 는 Promise 기반의 표준 HTTP 클라이언트 Web API. ES2015 이후 를 실질적으로 대체했다. 브라우저와 Node.js 18+ 에서 기본 지원. 언제 쓰나 |…
- [Javascript] function javascript ← 9
- 별칭: function, JavaScript function, JS function, 함수 선언, function declaration, function expression, 일반 함수
- 정의 은 JavaScript 에서 함수를 만드는 가장 기본적인 키워드. 호이스팅, 동적 바인딩, 객체, 호출 등 과 구분되는 고유한 특성을 가진다. 함수가 값 으로 다뤄지는 의 …
- [JavaScript] import / export javascript ← 1
- 별칭: js-import-export, JavaScript import, JavaScript export, import statement, export statement, named import, default import, dynamic import, re-export, namespace import
- 정의 / 는 ES2015 (ES6) 에서 도입된 정적 모듈 문법. 파일 간 값 (함수, 클래스, 상수) 공유의 표준 방법입니다. CommonJS 의 / 와 다른 근본 차이: - …
- [Javascript] Iterator / Generator javascript ← 3
- 별칭: JS Iterator / Generator, JS Iterator, JS Generator, JS Iterator Protocol, iterable protocol, function*
- 정의 - Iterator protocol : 메서드가 반환 - Iterable protocol : 가 iterator 반환 - Generator : 으로 정의, yield 로 값…
- [Javascript] JSON javascript ← 4
- 별칭: JS JSON, JSON.stringify, JSON.parse
- 정의 JSON (JavaScript Object Notation) 은 데이터 교환 형식. JS 의 객체 리터럴과 비슷하지만 엄격한 문법. - : JS 값 → JSON 문자열 - …
- [Javascript] Lexical Environment javascript ← 13
- 별칭: Lexical Environment 와 클로저, Environment, Lexical Environment, lexical environment, 어휘적 환경, 어휘 환경, LE, JavaScript Lexical Environment, JS Lexical Environment
- 정의 Lexical Environment (어휘적 환경) 는 ECMAScript 명세 (§9.1) 가 정의한 내부 객체. 함수가 호출될 때마다 새로 만들어지며, 이 호출의 변수들…
- [Javascript] Map / Set / WeakMap / WeakSet javascript ← 2
- 별칭: JS Map, JS Set, JS WeakMap, JS WeakSet, JS Map / Set
- 정의 ES6 의 4 가지 컬렉션. 객체 / 배열보다 적합한 경우. | 컬렉션 | 키 | 값 | 강참조 | |:---|:---|:---|:---:| | | 모든 값 | 모든 값 |…
- [Javascript] Microtask Queue javascript ← 6
- 별칭: Microtask Queue, microtask queue, 마이크로태스크 큐, microtask, 마이크로태스크, JavaScript Microtask Queue, JS microtask queue, queueMicrotask
- 정의 Microtask Queue (마이크로태스크 큐) 는 이벤트 루프 가 매 틱마다 완전히 비울 때까지 처리하는 우선순위 큐다. 매크로태스크 큐보다 항상 먼저 처리된다. ECM…
- [Javascript] NaN / Infinity javascript ← 5
- 별칭: JS NaN, JS Infinity, JS NaN / Infinity, JavaScript NaN, Not a Number
- 정의 - (Not a Number) : 의미 없는 수치 연산의 결과 - , : 너무 큰/작은 수, 0 으로 나누기 IEEE 754 표준에 따른 특수 값. 타입이지만 특이한 동작.…
- [Javascript] Number javascript ← 7
- 별칭: JS Number, JavaScript 숫자, double precision, IEEE 754, Number 타입
- 정의 JavaScript 의 는 IEEE 754 double-precision float (64-bit). 정수와 실수를 같은 타입으로 표현. 정수 안전 범위는 . IEEE 75…
- [Javascript] Object javascript ← 10
- 별칭: JS Object, JavaScript object, 객체 리터럴
- 정의 JavaScript 의 는 key-value 쌍의 컬렉션. 거의 모든 non-primitive 값이 객체. 함수, 배열, 정규식도 객체. 생성 접근 수정 / 삭제 Objec…
- [Javascript] Optional Chaining / Nullish Coalescing javascript ← 2
- 별칭: JS Optional Chaining, ?., ??, JS Nullish
- 정의 ES2020 도입의 두 가지 단축 문법. - (Optional Chaining) : 중간이 null/undefined 면 반환 - (Nullish Coalescing) : …
- [Javascript] Promise javascript ← 15
- 별칭: Promise, promise, 프로미스, JavaScript Promise, JS Promise
- 정의 Promise 는 미래의 어떤 시점에 결정될 값을 나타내는 객체다. ECMAScript 2015 (ES6) 에 도입되어 기반 비동기의 가독성과 에러 처리 문제를 해결했다. …
- [Javascript] Promise.all / race / any / allSettled javascript ← 5
- 별칭: settled, JS Promise.all, Promise.race, Promise.any, Promise.allSettled
- 정의 의 정적 메서드 4 형제. 여러 Promise 를 동시에 다루는 도구. | 메서드 | fulfilled 조건 | rejected 조건 | 결과 | |:---|:---|:--…
- [Javascript] Prototype Chain javascript ← 6
- 별칭: JS Prototype, JS Prototype Chain, Prototype, 프로토타입, 프로토타입 체인, prototypal inheritance, prototype chain
- 정의 JavaScript 의 모든 객체는 (내부 슬롯) 을 가진다. 속성 lookup 시 자신에게 없으면 prototype chain 을 따라 올라가며 검색. 접근 함수의 pro…
- [Javascript] Proxy / Reflect javascript ← 2
- 별칭: JS Proxy, JS Reflect, meta-programming
- 정의 - : 객체의 기본 동작 (get, set, delete 등) 을 가로채는 (intercept) 객체 - : Proxy 의 기본 동작을 호출하는 표준 API 메타 프로그래밍…
- [Javascript] Regular Expression javascript ← 3
- 별칭: JS regex, JS RegExp, 정규식 JavaScript
- 정의 JavaScript 의 정규식. 객체 또는 리터럴 로 표현. ECMAScript 정규식 문법 (Perl 의 부분집합). 생성 리터럴이 가독성 좋음. 동적 패턴은 . flag…
- [JavaScript] requestAnimationFrame: 브라우저 애니메이션 루프 javascript ← 4
- 별칭: requestAnimationFrame, rAF, 애니메이션 프레임, cancelAnimationFrame, request animation frame
- 정의 (rAF) 은 브라우저에게 다음 리페인트 직전에 콜백을 실행해달라고 요청합니다. 60Hz 모니터 기준 약 16.67ms 주기. 브라우저 렌더 파이프라인 브라우저는 한 프레임…
- [JavaScript] Rollup javascript ← 6
- 별칭: Rollup, rollup, rollup.js, Rolldown, rollup plugin
- 정의 Rollup 은 Rich Harris (Svelte 창시자) 가 2015년 만든 JavaScript 번들러. 라이브러리 배포 에 특화되어 tree shaking 을 처음으로…
- [Javascript] setInterval javascript ← 3
- 별칭: setInterval, setinterval, set interval, 주기 타이머, JavaScript setInterval, JS setInterval, window.setInterval
- 정의 은 호스트 환경이 제공하는 반복 타이머 API. 매 밀리초마다 을 매크로태스크 큐에 등록한다. 전체 메커니즘은 와 참고. 사용 상황 | 상황 | setInterval | 대…
- [Javascript] setTimeout javascript ← 3
- 별칭: setTimeout, settimeout, set timeout, 타이머, JavaScript setTimeout, JS setTimeout, window.setTimeout
- 정의 은 호스트 환경 (브라우저 또는 Node.js) 이 제공하는 타이머 API. 지정한 밀리초가 지난 뒤 을 의 매크로태스크 큐에 등록한다. 자세한 흐름과 함정은 글 참고. 이…
- [Javascript] Spread / Rest javascript ← 3
- 별칭: JS Spread, JS Rest, JS Spread / Rest, ...연산자, 전개 연산자
- 정의 같은 문법 가 두 가지 의미. - Spread : iterable 을 펼침 (right-hand) - Rest : 나머지를 모음 (left-hand 또는 함수 매개변수) S…
- [Javascript] strict mode javascript ← 1
- 별칭: JS strict mode, use strict, 엄격 모드
- 정의 디렉티브로 활성화되는 엄격 실행 모드. ES5 도입. 위험한 문법을 에러로 만들어 코드 안전성 향상. ES module 과 본문은 자동으로 strict mode. 사용 상황…
- [Javascript] String javascript ← 4
- 별칭: JS String, JavaScript 문자열, template literal
- 정의 JavaScript 의 은 UTF-16 코드 유닛의 불변 시퀀스. 작은따옴표, 큰따옴표, 백틱 (template literal) 으로 작성. 사용 상황 | 상황 | 권장 패…
- [JavaScript] String: 메서드, 정규식, 템플릿 리터럴 javascript ← 1
- 별칭: JS String str pattern, JS String, String methods, template literal, 정규식, string pattern, JS 문자열 메서드, 문자열 패턴
- 정의 JavaScript 문자열은 불변 (immutable) UTF-16 시퀀스. 메서드는 항상 새 문자열을 반환하며, 원본을 수정하지 않는다. 문자열에서 원하는 위치/패턴을 찾…
- [Javascript] Symbol javascript ← 3
- 별칭: JS Symbol, JavaScript Symbol, 심볼
- 정의 은 ES6 도입의 7번째 primitive 타입. 유일성 을 보장하는 식별자. 왜 필요한가 객체의 충돌 없는 키 로 사용. private property 흉내, well-k…
- [Javascript] TDZ (Temporal Dead Zone) javascript ← 2
- 별칭: JS TDZ, Temporal Dead Zone, 일시적 사각지대, TDZ, JavaScript TDZ, let const TDZ, temporal dead zone
- 정의 TDZ (Temporal Dead Zone, 일시적 사각지대) 는 / / 선언이 호이스팅된 시점부터 선언문이 실행되기 직전까지 의 구간으로, 이 구간에서 해당 변수에 접근하…
- [Javascript] this 바인딩 javascript ← 6
- 별칭: JS this 바인딩, JS this, JS this binding, call apply bind
- 정의 JavaScript 의 는 호출 방식에 따라 결정 되는 동적 바인딩. 4 가지 호출 방식 + arrow function (lexical) 규칙. 5 가지 규칙 | # | 규…
- [JavaScript] Turbopack & Rspack (Rust 번들러) javascript ← 6
- 별칭: Turbopack, turbopack, Rspack, rspack, Rsbuild, SWC bundler, Rust bundler
- 정의 2022-2023년 등장한 Rust 로 재구현된 Webpack 계열 번들러 두 개: - Turbopack: Vercel (Next.js) 개발. Next.js dev/bui…
- [Javascript] var / let / const javascript ← 5
- 별칭: JS var, JS let, JS const, JS var / let / const, JavaScript 변수 선언
- 정의 JavaScript 의 3 가지 변수 선언 키워드. | 키워드 | 스코프 | 재할당 | 재선언 | 호이스팅 | |:---|:---|:---:|:---:|:---| | | f…
- [JavaScript] Vite javascript ← 7
- 별칭: Vite, vite, Vite 6, Vite 7, Rolldown-Vite, vite dev server, vitest
- 정의 Vite (프랑스어 "빠르다") 는 Evan You (Vue 창시자) 가 2020년 시작한 모던 프런트엔드 빌드 도구. 두 부분: - Dev Server: Native ES…
- [JavaScript] Webpack javascript ← 7
- 별칭: Webpack, webpack, webpack 5, webpack loader, webpack plugin, webpack config
- 정의 Webpack 은 2014년 Tobias Koppers 가 만든 JavaScript 모듈 번들러입니다. 오랫동안 사실상의 표준 이었고, 방대한 loader/plugin 생태…
- [JPA] @Embeddable, @Embedded, @Converter spring ← 3
- 별칭: JPA Embeddable, @Embedded, @AttributeOverride, JPA Converter, AttributeConverter, 값 타입, 임베디드 타입
- 정의 @Embeddable 은 별도 테이블 없이 entity 의 일부로 포함되는 값 객체 (Value Object). 같은 의미적 그룹의 필드들을 하나의 클래스로 추출. Attr…
- [JPA] 동적 쿼리: Criteria API, QueryDSL, Specification spring ← 3
- 별칭: JPA Criteria API, QueryDSL, Specification, 동적 쿼리, type-safe query, dynamic JPQL, JPA dynamic query
- 정의 동적 쿼리 = 런타임 조건에 따라 WHERE / JOIN 이 달라지는 쿼리. 검색 필터, admin 도구, 리포팅 등에서 흔함. JPQL string concatenatio…
- [JPA] 상속 전략: SINGLE_TABLE, JOINED, TABLE_PER_CLASS spring ← 2
- 별칭: JPA inheritance, InheritanceType, SINGLE_TABLE, JOINED, TABLE_PER_CLASS, @DiscriminatorColumn, @MappedSuperclass, JPA 상속
- 정의 JPA 는 객체 상속 구조를 관계형 테이블로 매핑하는 3가지 전략 + 1가지 비매핑 옵션: | 전략 | 테이블 구조 | 사용 시점 | |---|---|---| | (기본) …
- [JPA] CascadeType과 orphanRemoval spring ← 2
- 별칭: JPA Cascade, CascadeType, orphanRemoval, 고아 객체 제거, PERSIST cascade, REMOVE cascade, ALL cascade
- 정의 JPA 의 entity 연산 ( , , , , ) 을 연관 entity 에 자동 전파 하는 메커니즘. 같이 선언. 별개 개념인 orphanRemoval 은 부모 컬렉션에서 …
- [JPA] Entity Lifecycle Callbacks와 Auditing spring ← 4
- 별칭: JPA Lifecycle, @PrePersist, @PostPersist, @PreUpdate, @PostLoad, EntityListeners, AuditingEntityListener, Spring Data Auditing, JPA 생명주기 콜백
- 정의 Entity 의 라이프사이클 (persist / update / load / remove) 특정 시점에 자동 호출되는 메서드. 두 가지 형태: 1. Entity 내부 메서드…
- [JPA] fetch join: JOIN FETCH 로 연관 entity 즉시 로드 spring ← 2
- 별칭: fetch join, JOIN FETCH, 페치 조인, JPQL fetch join, LEFT JOIN FETCH, JPA fetch join, join fetch
- 정의 fetch join 은 JPQL 에서 연관 entity 를 한 번의 SQL 로 함께 로드하는 문법. 로 선언한다. 일반 은 SQL JOIN 만 수행하고 결과 entity 만…
- [JPA] FetchType: LAZY vs EAGER, N+1, fetch join spring ← 14
- 별칭: JPA FetchType, FetchType.LAZY, FetchType.EAGER, EntityGraph, @BatchSize, JPA 페치
- 정의 FetchType 은 JPA 가 연관 entity 를 언제 로드할지 결정하는 hint. - : entity 로딩 시 즉시 함께 SELECT - : 실제 사용 시점 (prox…
- [JPA] JPQL DTO Projection: constructor expression, interface, record spring ← 3
- 별칭: JPQL projection, JPQL DTO, constructor expression, interface projection, Tuple, JPQL NEW 키워드, JPA projection
- 정의 DTO Projection 은 entity 전체가 아닌 필요한 컬럼만 query 해서 DTO 로 받기. 장점: - N+1 회피 (lazy 컬렉션 자동 무시) - entity…
- [JPA] JPQL: Jakarta Persistence Query Language spring ← 4
- 별칭: JPQL, Jakarta Persistence Query Language, HQL, @Query JPQL, TypedQuery, JPQL 문법, 엔티티 쿼리
- 정의 JPQL 은 Jakarta Persistence 표준의 객체 지향 쿼리 언어. 문법은 SQL 과 유사하지만 entity 와 그 필드를 대상으로 작동 (table / colu…
- [JPA] Optimistic Lock과 Pessimistic Lock spring ← 3
- 별칭: JPA Lock, Optimistic Lock, Pessimistic Lock, @Version, @Lock, LockModeType, OptimisticLockException, 낙관적 락, 비관적 락
- 정의 동시 수정으로 데이터가 깨지는 상황을 막는 두 가지 전략: - Optimistic (낙관적): 충돌이 드물다고 가정, 커밋 직전에 version 비교로 검증. 충돌 시 예외…
- [JPA] PersistenceContext vs PersistenceUnit 비교 spring ← 2
- 별칭: PersistenceContext vs PersistenceUnit, @PersistenceContext vs @PersistenceUnit, JPA 계층 구조, EntityManager vs EntityManagerFactory, context unit 차이
- 정의 JPA 의 두 개념은 레벨이 다르다. 이름이 비슷해서 자주 혼동하지만: - PersistenceUnit = 설정 단위 (정적, 앱 1번) - PersistenceContex…
- [JPA] PersistenceContext: 1차 캐시, dirty checking, flush spring ← 18
- 별칭: PersistenceContext, JPA 영속성 컨텍스트, 1차 캐시, first-level cache, dirty checking, flush, EntityManager state
- 정의 PersistenceContext 는 가 관리하는 entity 의 메모리 저장소 + 변경 추적기. 트랜잭션 안에서만 살아 있다 ( 진입 시 생성, commit/rollbac…
- [JPA] PersistenceUnit: EntityManagerFactory의 정의 단위 spring ← 2
- 별칭: PersistenceUnit, @PersistenceUnit, EntityManagerFactory, persistence.xml, LocalContainerEntityManagerFactoryBean, JPA 영속성 유닛, persistence unit
- 정의 PersistenceUnit 은 하나의 논리적 DB 연결 + entity 매핑 집합 을 정의한 단위. 결과물은 1개. JPA 아키텍처의 계층: 가 트랜잭션 범위의 메모리 저…
- [K8s] ConfigMap & Secret: 설정과 비밀의 분리 kubernetes ← 6
- 별칭: ConfigMap, Secret, env from, volume mount config, Sealed Secret, External Secrets, SOPS, immutable configmap, ESO
- 정의 ConfigMap 과 Secret 은 컨테이너 이미지에서 설정/비밀 값을 분리하기 위한 Kubernetes 리소스. | 항목 | ConfigMap | Secret | |:-…
- [K8s] DaemonSet: 모든 노드에 한 pod kubernetes ← 2
- 별칭: DaemonSet, DS, node-level pod, log collector daemonset, node-exporter, fluentd daemonset, 노드 에이전트
- 정의 DaemonSet 은 클러스터의 각 노드에 정확히 1개의 Pod 을 보장하는 워크로드 리소스. 노드가 추가되면 자동으로 Pod 가 배포되고, 노드가 제거되면 자동으로 정리된…
- [K8s] Deployment: ReplicaSet, rolling update, rollback kubernetes ← 16
- 별칭: Deployment, ReplicaSet, rolling update, k8s rollback, maxUnavailable, maxSurge, RollingUpdate strategy
- 정의 Deployment = stateless 워크로드를 위한 컨트롤러. 내부적으로 ReplicaSet 관리 + rolling update / rollback. 사용 시나리오 |…
- [K8s] Helm: 패키지 매니저, chart, release, hook kubernetes
- 별칭: Helm, Helm chart, values.yaml, Helmfile, Kustomize, Helm 3
- 정의 Helm = K8s 의 패키지 매니저. Chart (YAML 템플릿 + 메타데이터) → Release (cluster 에 배포된 인스턴스). 구조 Chart.yaml val…
- [K8s] HPA / VPA / KEDA: 자동 확장 kubernetes ← 5
- 별칭: HPA, Horizontal Pod Autoscaler, VPA, Vertical Pod Autoscaler, KEDA, Cluster Autoscaler, Karpenter
- 정의 Pod 를 자동으로 확장/축소하는 K8s 메커니즘. 세 가지 레벨: | 레벨 | 도구 | 무엇을 확장 | |---|---|---| | Pod 수 | HPA / KEDA | …
- [K8s] Ingress: L7 라우팅, TLS termination, Gateway API kubernetes ← 7
- 별칭: Ingress, IngressController, nginx-ingress, Traefik Ingress, Gateway API, GatewayClass, HTTPRoute
- 정의 Ingress = 클러스터 외부 HTTP/HTTPS 트래픽 → 내부 Service 라우팅. L7 LB 역할. Service 의 LoadBalancer 다수 대안. [!IMP…
- [K8s] Job / CronJob: 일회성 + 스케줄 작업 kubernetes ← 2
- 별칭: K8s Job, K8s CronJob, completions, parallelism, backoffLimit, TTLAfterFinished, activeDeadlineSeconds
- 정의 | 컨트롤러 | 의미 | |---|---| | Job | 완료까지 실행하는 일회성 작업 | | CronJob | 스케줄 (cron) 에 따라 Job 생성 | Deployme…
- [K8s] NetworkPolicy: pod 간 네트워크 차단 kubernetes ← 9
- 별칭: NetworkPolicy, K8s firewall, Calico, Cilium, default deny, namespace isolation
- 정의 NetworkPolicy = pod 간 허용된 트래픽만 통과. 없으면 모든 pod ↔ pod 가 허용 (기본 open). [!IMPORTANT] NetworkPolicy 는…
- [K8s] Pod: 컨테이너의 최소 단위, sidecar, lifecycle kubernetes ← 26
- 별칭: Pod, K8s Pod, sidecar container, init container, pause container, pod lifecycle
- 정의 Pod = K8s 의 가장 작은 배포 단위. 1개 이상의 컨테이너 + 공유 네트워크 + 공유 스토리지. [!IMPORTANT] Pod 는 컨테이너의 wrapping 이 아니…
- [K8s] RBAC: Role, ClusterRole, ServiceAccount, RoleBinding kubernetes ← 12
- 별칭: Kubernetes RBAC, RBAC, K8s RBAC, ServiceAccount, Role, ClusterRole, RoleBinding, ClusterRoleBinding
- 정의 RBAC (Role-Based Access Control) = K8s 의 권한 부여 모델. 주체 + 권한 + 바인딩. 사용 시나리오 | 상황 | RBAC 역할 | |---|…
- [K8s] Service: ClusterIP / NodePort / LoadBalancer / ExternalName kubernetes ← 15
- 별칭: Kubernetes Service, K8s Service, ClusterIP, NodePort, LoadBalancer, ExternalName, Headless Service, kube-proxy, iptables, IPVS
- 정의 Service = Pod 집합에 안정 가상 IP + DNS 부여. Pod 가 죽고 다시 만들어져도 Service IP 는 그대로. 4가지 타입 1. ClusterIP (기본…
- [K8s] StatefulSet: 순서 보장, 고유 ID, 영속 스토리지 kubernetes ← 8
- 별칭: StatefulSet, STS, stable identity, ordered deployment, PV per pod, headless service
- 정의 StatefulSet = 상태 있는 워크로드를 위한 컨트롤러. Deployment 와의 차이: | 항목 | Deployment | StatefulSet | |---|---|…
- [Koa] Body Parsing frameworks ← 7
- 별칭: Koa Body, Koa Body Parsing, @koa/bodyparser, koa-body, koa-bodyparser, koa multer, koa 파일 업로드
- 정의 Koa Body Parsing 은 HTTP 요청 body 를 파싱해 에 사용 가능한 형태로 만드는 미들웨어입니다. Koa 코어는 body parser 를 포함하지 않으므로 …
- [Koa] Context (ctx) frameworks ← 7
- 별칭: Koa Context, Koa ctx, ctx.request, ctx.response, ctx.state, Koa 컨텍스트
- 정의 Koa Context ( ) 는 각 요청마다 생성되어 미들웨어와 route handler 에 전달되는 객체입니다. (Node 원본), (Koa 확장), (Koa 확장), (…
- [Koa] Deployment (PM2, Docker, Kubernetes) frameworks ← 3
- 별칭: Koa Deployment, Koa PM2, Koa Docker, Koa Kubernetes, Koa 배포, Koa production
- 정의 Koa Deployment 는 Node.js 프로덕션 배포의 표준 도구 (Docker, Kubernetes, PM2) + Koa 특화 고려사항 (graceful shutdo…
- [Koa] Error Handling frameworks ← 8
- 별칭: Koa Error Handling, ctx.throw, ctx.assert, koa error middleware, koa app.on error, Koa 에러 처리, http-errors koa
- 정의 Koa Error Handling 은 미들웨어 chain 에서 발생한 예외를 catch 하여 응답을 정형화하는 패턴입니다. Koa 는 자동 error handler 를 제공…
- [Koa] Koa vs Express frameworks ← 1
- 별칭: Koa vs Express, Express vs Koa, koa express 비교, koa express 차이, Node.js framework 비교
- 정의 Koa 와 Express 는 모두 Node.js 웹 프레임워크이지만 철학과 API 스타일이 다릅니다. Express 는 오래됐고 방대한 생태계 (2010), Koa 는 as…
- [Koa] Middleware (Onion Model) frameworks ← 10
- 별칭: Koa Middleware, Koa Onion Model, Koa async middleware, koa-compose, Koa 미들웨어, koa next
- 정의 Koa Middleware 는 요청/응답 사이에 실행되는 async 함수입니다. 각 미들웨어는 (context) 와 (다음 미들웨어를 실행하는 함수) 를 받고, 로 down…
- [Koa] Router (@koa/router) frameworks ← 8
- 별칭: Koa Router, @koa/router, koa-router, koa router, koa route, Koa 라우팅
- 정의 @koa/router 는 Koa 의 공식 라우터입니다. Koa 코어는 라우팅을 제공하지 않으므로 별도 설치가 필요합니다. Express 스타일 라우팅 (HTTP method…
- [Koa] Testing (Supertest, Jest, Vitest) frameworks ← 6
- 별칭: Koa Testing, Koa Jest, Koa Supertest, Koa Vitest, Koa 테스트
- 정의 Koa Testing 은 (HTTP 호출) + / (assertions/runner) 조합이 표준입니다. 을 Supertest 에 전달하면 실제 HTTP 서버 없이 요청/응…
- [Kubernetes] Admission Controllers kubernetes ← 4
- 별칭: Admission Controller, Kubernetes Admission, MutatingWebhook, ValidatingWebhook, ValidatingAdmissionPolicy, Pod Security Admission, PSA, OPA Gatekeeper, Kyverno, 쿠버네티스 admission
- 정의 Admission Controller 는 kube-apiserver 가 인증/인가 후, etcd 저장 전에 요청을 가로채 검증 (validate) 하거나 수정 (mutate…
- [Kubernetes] Architecture (Control Plane + Node) kubernetes ← 9
- 별칭: Kubernetes Architecture, k8s architecture, kube-apiserver, etcd, kube-scheduler, kube-controller-manager, cloud-controller-manager, kubelet, kube-proxy, CRI, CNI, 쿠버네티스 아키텍처
- 정의 Kubernetes Architecture 는 Control Plane (제어) 과 Worker Node (실행) 두 계층으로 구성됩니다. Control Plane 은 원하…
- [Kubernetes] CRDs & Operators kubernetes ← 3
- 별칭: Kubernetes CRD, Custom Resource Definition, Kubernetes Operator, Operator Pattern, Operator SDK, Kubebuilder, controller-runtime, 쿠버네티스 오퍼레이터, 쿠버네티스 CRD
- 정의 Custom Resource Definition (CRD) 는 Kubernetes API 에 새 리소스 타입 을 추가하는 기능입니다. + 를 정의하면 kubectl / ap…
- [Kubernetes] Debugging (kubectl debug, Ephemeral Containers, Events) kubernetes ← 3
- 별칭: Kubernetes Debugging, kubectl debug, ephemeral containers, CrashLoopBackoff, ImagePullBackoff, OOMKilled, kubectl events, 쿠버네티스 디버깅
- 정의 Kubernetes Debugging 은 Pod, 노드, 클러스터 문제를 진단하는 도구/기법 집합입니다. 로그, 이벤트, , ephemeral container, 를 조합해…
- [Kubernetes] Init Containers & Sidecar Containers kubernetes ← 3
- 별칭: Init Containers, Sidecar Containers, k8s init container, k8s sidecar, native sidecar, restartPolicy Always init, k8s 1.29 sidecar, k8s 1.33 sidecar GA, 쿠버네티스 사이드카, 쿠버네티스 init 컨테이너
- 정의 Init Containers 는 Pod 의 메인 컨테이너보다 먼저 실행되어 초기화 작업을 완료하고 종료되는 컨테이너입니다. Sidecar Containers 는 메인 컨테이…
- [Kubernetes] Kustomize kubernetes ← 3
- 별칭: Kustomize, kubectl kustomize, kustomization.yaml, kustomize base overlay, kustomize patch, 쿠버네티스 kustomize
- 정의 Kustomize 는 Kubernetes manifests 를 템플릿 없이 overlay 방식으로 커스터마이제이션하는 도구입니다. v1.14+ 에 내장 ( ). YAML 을…
- [Kubernetes] Labels & Selectors kubernetes ← 4
- 별칭: Kubernetes Labels, Kubernetes Selectors, k8s labels, k8s annotations, matchLabels, matchExpressions, labelSelector, 라벨 셀렉터, 쿠버네티스 라벨
- 정의 Labels 는 리소스에 붙이는 key-value 분류 태그 입니다. 사람과 컨트롤러가 리소스를 조직하고 선택할 때 사용합니다. Selectors 는 label 조합으로 대…
- [Kubernetes] Namespace kubernetes ← 9
- 별칭: Kubernetes Namespace, k8s namespace, kubectl namespace, 네임스페이스, kubectl ns, default namespace, kube-system
- 정의 Namespace 는 같은 물리 클러스터 안에서 리소스 (Pod, Service, ConfigMap 등) 를 논리적으로 격리 하는 단위입니다. 이름 충돌 회피, RBAC 스…
- [Kubernetes] Persistent Volumes (PV / PVC / StorageClass) kubernetes ← 4
- 별칭: Kubernetes PV, Kubernetes PVC, Kubernetes StorageClass, PersistentVolume, PersistentVolumeClaim, CSI driver, k8s storage, dynamic provisioning, 쿠버네티스 스토리지
- 정의 Kubernetes Storage 계층 은 세 리소스로 구성됩니다. - PersistentVolume (PV): 실제 스토리지 (EBS, GCE PD, NFS, iSCSI …
- [Kubernetes] Resource Management (Requests, Limits, QoS) kubernetes ← 6
- 별칭: Kubernetes Resource Management, requests limits, QoS Class, Guaranteed, Burstable, BestEffort, LimitRange, ResourceQuota, 쿠버네티스 리소스 관리, CPU throttling, OOMKilled
- 정의 Kubernetes Resource Management 는 CPU, 메모리, ephemeral storage, hugepages 등의 리소스를 파드에 할당하고 제한하는 시스…
- [Kubernetes] Scheduling (Taints, Affinity, Topology Spread) kubernetes ← 7
- 별칭: Kubernetes Scheduling, k8s scheduling, Taints and Tolerations, Node Affinity, Pod Affinity, Pod Anti-Affinity, Topology Spread Constraints, kube-scheduler policy, 쿠버네티스 스케줄링, PodDisruptionBudget
- 정의 Kubernetes Scheduling 은 kube-scheduler 가 새 Pod 을 어느 노드에 배치할지 결정하는 과정입니다. 두 단계 (Filtering + Scori…
- [Kubernetes] Service Mesh (Istio, Linkerd, Cilium) kubernetes ← 4
- 별칭: Service Mesh, Kubernetes Service Mesh, Istio, Linkerd, Cilium Service Mesh, Ambient Mesh, sidecarless mesh, Envoy sidecar, mTLS, 서비스 메시
- 정의 Service Mesh 는 마이크로서비스 간 통신에 L7 정책, mTLS 암호화, 트래픽 관리, 관측성 을 제공하는 인프라 계층입니다. 앱 코드를 바꾸지 않고 프록시 (si…
- [LLM Eval] BIG-Bench (Beyond the Imitation Game) ai ← 4
- 별칭: BIG-Bench, BIG-bench, Beyond the Imitation Game, BBH, BIG-Bench Hard, BBEH, BIG-Bench Extra Hard, 빅벤치, BIG bench benchmark
- 정의 BIG-Bench (Beyond the Imitation Game Benchmark) 는 2022년 Google + 132개 기관 442명의 공저로 발표된 대형 언어 모델 …
- [LLM Eval] HELM: Holistic Evaluation of Language Models ai ← 19
- 별칭: HELM, Holistic Evaluation of Language Models, HELM Classic, HELM Lite, HELM Instruct, HELM Safety, Stanford CRFM, LLM 벤치마크, LLM evaluation, LLM 평가, MMLU, BIG-Bench
- 정의 HELM (Holistic Evaluation of Language Models) 는 Stanford CRFM (Center for Research on Foundation…
- [NestJS] Config (Environment, Validation) frameworks ← 6
- 별칭: NestJS Config, @nestjs/config, ConfigService, Joi validation, NestJS 환경변수, NestJS dotenv
- 정의 NestJS Config 는 패키지로 환경변수를 관리합니다. 파일 로딩, TypeScript type-safe access, 검증 (Joi/Zod), 여러 환경 (dev/s…
- [NestJS] Controllers frameworks ← 12
- 별칭: NestJS Controller, NestJS Controllers, @Controller decorator, @Get @Post @Put @Delete, @Param @Query @Body, NestJS 컨트롤러
- 정의 NestJS Controller 는 데코레이터가 붙은 클래스로, HTTP 요청을 라우팅하고 응답을 반환합니다. Method 별로 , , , , 데코레이터를 붙여 URL + …
- [NestJS] Database (TypeORM, Prisma, Mongoose, Drizzle) frameworks ← 6
- 별칭: NestJS Database, NestJS TypeORM, NestJS Prisma, NestJS Mongoose, NestJS Drizzle, NestJS 데이터베이스, PrismaService
- 정의 NestJS Database 통합은 여러 ORM/ODM 을 module 로 감싸 DI + 트랜잭션 + 마이그레이션을 관용화합니다. 주요 선택지: TypeORM (성숙), P…
- [NestJS] Deployment (Docker, Kubernetes, PM2) frameworks ← 5
- 별칭: NestJS Deployment, NestJS Docker, NestJS Kubernetes, NestJS PM2, NestJS 배포, NestJS production
- 정의 NestJS Deployment 는 프로덕션 환경에서 앱을 배포/운영하기 위한 절차입니다. Docker 이미지 빌드, Kubernetes 매니페스트, PM2 프로세스 관리,…
- [NestJS] Exception Filters frameworks ← 8
- 별칭: NestJS Exception Filter, NestJS Exception Filters, @Catch decorator, HttpExceptionFilter, AllExceptionsFilter, HttpException, NestJS 예외 필터
- 정의 NestJS Exception Filter 는 애플리케이션에서 발생한 예외를 catch 하여 클라이언트에게 응답 형식을 통일합니다. 데코레이터로 어떤 예외를 처리할지 지정합…
- [NestJS] Guards frameworks ← 8
- 별칭: NestJS Guard, NestJS Guards, @UseGuards, AuthGuard, RolesGuard, canActivate, Passport NestJS, JWT NestJS, NestJS 가드
- 정의 NestJS Guard 는 특정 요청이 controller method 에 도달하기 전에 실행되어 접근 허용 여부 를 결정합니다. Middleware 이후, Intercep…
- [NestJS] Interceptors frameworks ← 8
- 별칭: NestJS Interceptor, NestJS Interceptors, @UseInterceptors, CallHandler, CacheInterceptor, ClassSerializerInterceptor, LoggingInterceptor, NestJS 인터셉터
- 정의 NestJS Interceptor 는 요청 처리 전/후에 로직을 삽입하는 클래스입니다. AOP (Aspect-Oriented Programming) 패턴의 구현체로, 로깅,…
- [NestJS] Microservices (Kafka, NATS, RabbitMQ, gRPC, TCP) frameworks ← 4
- 별칭: NestJS Microservices, ClientProxy, @MessagePattern, @EventPattern, NestJS Kafka, NestJS RabbitMQ, NestJS gRPC, NestJS NATS, NestJS 마이크로서비스
- 정의 NestJS Microservices 는 HTTP 대신 message broker (Kafka, RabbitMQ, NATS, Redis) 나 gRPC / TCP 로 통신하는…
- [NestJS] Middleware frameworks ← 6
- 별칭: NestJS Middleware, NestFactory Middleware, MiddlewareConsumer, NestJS 미들웨어, helmet nestjs, cors nestjs
- 정의 NestJS Middleware 는 route handler 실행 이전, Guard 도 실행되기 전에 실행되는 함수/클래스입니다. Express/Fastify 표준 midd…
- [NestJS] Modules frameworks ← 13
- 별칭: NestJS Module, NestJS Modules, @Module decorator, Dynamic Module, Global Module, forwardRef, NestJS 모듈
- 정의 NestJS Module 은 데코레이터가 붙은 클래스로, 관련된 controller, provider, import/export 를 하나로 묶는 조직 단위입니다. Angul…
- [NestJS] Pipes (Validation, Transformation) frameworks ← 6
- 별칭: NestJS Pipe, NestJS Pipes, ValidationPipe, ParseIntPipe, ParseUUIDPipe, ParseDatePipe, class-validator, class-transformer, NestJS 검증
- 정의 NestJS Pipe 는 controller method 로 들어가는 인자를 변환 (transformation) 하거나 검증 (validation) 하는 클래스입니다. Gu…
- [NestJS] Providers & Dependency Injection frameworks ← 9
- 별칭: NestJS Providers, NestJS Dependency Injection, NestJS DI, @Injectable decorator, @Inject decorator, useValue useFactory useClass, Provider Scope, REQUEST scope, NestJS 의존성 주입
- 정의 NestJS Provider 는 데코레이터가 붙은 클래스 (또는 값/factory) 로, DI container 에 등록되어 다른 클래스에 주입됩니다. Service, Re…
- [NestJS] Testing (Jest, Supertest, e2e) frameworks ← 9
- 별칭: NestJS Testing, NestJS Jest, NestJS Supertest, Test.createTestingModule, NestJS e2e test, NestJS 테스트
- 정의 NestJS Testing 은 Jest (기본) + Supertest 조합으로 unit test 와 e2e test 를 지원합니다. 의 로 module 을 격리된 형태로 만…
- [Network] CIDR와 Subnetting network ← 6
- 별칭: CIDR, Subnetting, subnet mask, VLSM, prefix length, 서브넷, 서브넷팅
- 정의 CIDR (Classless Inter-Domain Routing) 은 IPv4 / IPv6 주소를 prefix length 로 표기하는 표준. 1993년 등장 (RFC 1…
- [Network] CORS: Same-Origin Policy, preflight, credentials network ← 6
- 별칭: CORS, Cross-Origin Resource Sharing, Same-Origin Policy, preflight, OPTIONS request, Access-Control-Allow-Origin
- 정의 CORS (Cross-Origin Resource Sharing) 는 Same-Origin Policy (SOP) 의 완화 메커니즘. 브라우저가 origin 이 다른 리소스…
- [Network] DNS: 도메인 이름 해석 network ← 7
- 별칭: DNS, Domain Name System, DNS record, A record, AAAA, CNAME, MX, DoH, DoT, DNSSEC, 도메인 이름 시스템
- 정의 DNS (Domain Name System) 는 도메인 이름 ( ) 을 IP 주소 ( ) 로 변환하는 분산 데이터베이스. 인터넷의 가장 중요한 인프라. 기본 동작: 1. 클…
- [Network] gRPC: HTTP/2 + Protobuf, 4가지 streaming 패턴 network ← 8
- 별칭: gRPC, Protocol Buffers, Protobuf, gRPC streaming, unary RPC, bidirectional streaming, grpc-web
- 정의 gRPC 는 HTTP/2 위에서 Protobuf 직렬화 로 동작하는 고성능 RPC 프레임워크. Google 내부 Stubby 의 오픈소스 후계. 핵심 4가지: 1. Prot…
- [Network] HTTP Caching: Cache-Control, ETag, Last-Modified network ← 3
- 별칭: HTTP Caching, Cache-Control, ETag, Last-Modified, If-None-Match, 304 Not Modified, Vary header, HTTP 캐싱
- 정의 HTTP Caching 은 HTTP 응답을 클라이언트 / 중간 proxy / CDN 이 보관해 같은 요청을 다시 처리하지 않게 하는 메커니즘. 성능 + 비용 절감의 핵심. …
- [Network] HTTP/1.1: keep-alive, pipelining, chunked transfer network ← 8
- 별칭: HTTP/1.1, keep-alive, pipelining, chunked encoding, Content-Length, Connection: close
- 정의 HTTP/1.1 (1997, RFC 9112 으로 재정리) 는 텍스트 기반 stateless request/response 프로토콜. 2026 시점에도 대부분의 트래픽이 H…
- [Network] HTTP/2: multiplexing, HPACK, server push의 종말 network ← 12
- 별칭: HTTP/2, h2, HPACK, stream multiplexing, server push, h2c
- 정의 HTTP/2 (2015, RFC 9113) 는 HTTP/1.1 의 문법은 유지하되 전송을 바이너리 + 멀티플렉싱 으로 바꾼다. Head-of-Line Blocking (HT…
- [Network] HTTP/3: QUIC 위의 HTTP, 0-RTT, connection migration network ← 9
- 별칭: HTTP/3, h3, HTTP over QUIC, 0-RTT, connection migration, QPACK
- 정의 HTTP/3 (2022, RFC 9114)는 HTTP의 전송 레이어를 TCP 에서 QUIC 으로 교체한 버전이다. UDP 위에 QUIC, QUIC 위에 HTTP 구조다. 핵…
- [Network] IP: IPv4, IPv6, 패킷 구조, fragmentation network ← 1
- 별칭: IPv4, IPv6, Internet Protocol, IP packet, IP fragmentation, TTL, MTU
- 정의 IP (Internet Protocol) 는 OSI L3 (네트워크 계층) 의 핵심 프로토콜. best-effort delivery (재전송 없음, 순서 보장 없음, 손실 …
- [Network] IP: IPv4, IPv6, CIDR network ← 4
- 별칭: network-ip, IP address, IP 주소, IPv4, IPv6, CIDR notation, IP
- 정의 IP (Internet Protocol) 주소 는 인터넷에서 노드를 식별하는 논리 주소다. IPv4 (32bit) 와 IPv6 (128bit) 두 버전이 현재 병존한다. I…
- [Network] Load Balancer: L4 vs L7, 알고리즘, sticky session network ← 10
- 별칭: Load Balancer, L4 LB, L7 LB, round-robin, least connections, consistent hashing, health check, sticky session
- 정의 Load Balancer 는 트래픽을 여러 백엔드로 분산 하는 인프라. 수평 확장 + 가용성 + 무중단 배포 의 토대. L4 vs L7 | 구분 | L4 (Transport…
- [Network] NAT: Network Address Translation network ← 5
- 별칭: network-nat, NAT, Network Address Translation, 네트워크 주소 변환, SNAT, DNAT, PAT, NAPT
- 정의 NAT (Network Address Translation) 는 IP 패킷의 헤더에서 소스 또는 목적지 IP 주소(포트 포함)를 변환하는 기법이다. 주로 사설 IP와 공인 …
- [Network] OSI 7 Layer: 각 계층의 의미와 실전 매핑 network ← 4
- 별칭: OSI 7 Layer, OSI 모델, L1, L2, L3, L4, L5, L6, L7, TCP/IP stack
- 정의 OSI 7 Layer 모델 은 네트워크 통신을 7 계층으로 추상화 한 ITU-T 표준 (1984). 실제 인터넷은 TCP/IP 4-5 계층 이지만, OSI 의 개념적 분리 …
- [Network] Realtime 전송 비교: Polling / SSE / WebSocket / WebRTC network ← 3
- 별칭: realtime comparison, long polling, polling, SSE vs WebSocket, WebRTC DataChannel, push notification
- 정의 실시간 (서버 → 클라이언트) 데이터 전송 의 7가지 패턴 비교. 결정 트리 7가지 비교 | 패턴 | 방향 | 영속 | 프로토콜 | 사용 | |---|---|---|---|…
- [Network] SSE (Server-Sent Events): 단방향 영속 스트림 network ← 1
- 별칭: SSE, Server-Sent Events, EventSource, text/event-stream
- 정의 Server-Sent Events (SSE) 는 HTTP 위 단방향 (서버 → 클라이언트) 영속 스트림. MIME + 클라이언트의 API. 장점: HTTP/1.1 위에서 동…
- [Network] WebSocket: HTTP upgrade, frame, ping/pong network
- 별칭: WebSocket, WS, WSS, RFC 6455, Upgrade: websocket, websocket frame, 웹소켓
- 정의 WebSocket (RFC 6455)은 HTTP/1.1 Upgrade로 시작하는 양방향 영속 메시지 채널이다. 하나의 TCP 연결 위에서 서버와 클라이언트가 임의 시점에 메…
- [Node.js] 런타임 개요 javascript ← 2
- 별칭: Node, Node.js, nodejs, node runtime, V8 runtime, libuv, node worker_threads, Node LTS
- 정의 Node.js 는 Ryan Dahl 이 2009년 발표한 JavaScript 서버 사이드 런타임 입니다. V8 엔진 (Chrome) + libuv (비동기 I/O) + 표준…
- [Observability] OpenTelemetry: 표준화된 trace/metric/log devops ← 13
- 별칭: OpenTelemetry, OTel, OTLP, OTel Collector, trace span, context propagation, W3C Trace Context
- 정의 OpenTelemetry (OTel) = observability 의 vendor-neutral 표준. CNCF. trace + metric + log 의 SDK + pro…
- [Observability] Prometheus: pull 기반 메트릭, PromQL devops ← 15
- 별칭: Prometheus, PromQL, scrape, exporter, Alertmanager, Thanos, Mimir, recording rule
- 정의 Prometheus = pull 기반 시계열 metric 시스템. PromQL 로 쿼리. CNCF graduated. 2026 클라우드 네이티브 메트릭 표준. 아키텍처 Pu…
- [Observability] SLI / SLO / SLA / Error Budget devops ← 5
- 별칭: SLI, SLO, SLA, Error Budget, SRE, Service Level Indicator, Service Level Objective, Service Level Agreement, burn rate, CUJ, Critical User Journey
- 정의 | | 의미 | |---|---| | SLI (Indicator) | 측정 값 (예: 5xx 비율) | | SLO (Objective) | 목표 (예: 99.9% 가용성) …
- [Pandas] .at / .iat pandas ← 1
- 별칭: Pandas at, Pandas iat, Pandas .at / .iat, Pandas .at, Pandas .iat, scalar pandas indexer
- 정의 - : 단일 스칼라 (한 행, 한 열) 의 라벨 기반 접근 - : 단일 스칼라의 정수 위치 기반 접근 의 단일 셀 전용 빠른 버전. 내부 검증 단계를 단순화해 가장 빠른 셀…
- [Pandas] .dt accessor pandas ← 3
- 별칭: Pandas dt, Pandas .dt, Pandas dt accessor, datetime accessor
- 정의 는 datetime Series 의 각 구성요소 (년/월/일/시/분/요일 등) 에 벡터로 접근하는 accessor. 의 datetime 버전. 구성요소 분류 시각화 기본 컴…
- [Pandas] .loc / .iloc pandas ← 16
- 별칭: Pandas loc, Pandas iloc, Pandas .loc, Pandas .iloc, Pandas .loc / .iloc, 라벨 기반 인덱싱
- 정의 - : 라벨 기반 인덱싱 (index/column 이름) - : 정수 위치 기반 인덱싱 (0-based) 이 두 indexer 가 pandas 선택의 표준. 만으로는 헷갈리…
- [Pandas] .str accessor pandas ← 5
- 별칭: Pandas str, Pandas .str, Pandas str accessor, string accessor, 벡터 문자열, pandas 문자열
- 정의 는 Series 의 각 문자열 원소에 벡터화된 문자열 메서드 를 적용하는 accessor. Python 의 거의 모든 메서드를 NaN-aware 로 제공한다. accesso…
- [Pandas] 개요 pandas ← 2
- 별칭: pandas, 판다스, pandas overview, Python pandas, pandas 라이브러리
- 정의 pandas 는 Python 의 데이터 분석/조작 라이브러리. 두 가지 핵심 자료형을 중심으로 동작한다. - : 1차원 레이블 배열 (NumPy array + index) …
- [Pandas] 성능 / 메모리 최적화 pandas ← 24
- 별칭: Pandas 성능 / 메모리 최적화, Pandas performance, Pandas memory, pandas 최적화, pandas 빠르게
- 정의 pandas 의 흔한 성능 함정과 최적화 패턴. 벡터화 + dtype 선택 + 알고리즘 의 조합이 핵심. 사용 상황 | 상황 | 권장 접근 | |:---|:---| | 단순…
- [Pandas] 컬럼 선택 pandas ← 3
- 별칭: Pandas 컬럼, Pandas 열 선택, Pandas 컬럼 선택, df column select
- 정의 DataFrame 에서 하나 또는 여러 컬럼을 선택 하는 방법들. 가장 기본이자 가장 자주 쓰는 동작. 선택 방법 분류 4 가지 기본 방식 단일 vs 다중 (반환 타입 차이…
- [Pandas] agg / aggregate pandas ← 9
- 별칭: Pandas agg, Pandas aggregate, named aggregation
- 정의 는 여러 집계 함수를 한 번에 적용 한다. , , 모두에서 사용 가능. 는 같은 함수의 별칭. agg 처리 흐름 사용 상황 | 상황 | 패턴 | |:---|:---| | 전…
- [Pandas] apply / map pandas ← 7
- 별칭: Pandas apply / map, Pandas Series apply, Pandas Series map, Series.apply, DataFrame.apply elementwise
- 정의 - : 각 원소 에 함수 적용 (또는 dict 매핑) - : 각 원소 에 함수 적용 (map 과 유사, 추가 인자 가능) - : 각 행 또는 열 에 함수 적용 - (pand…
- [Pandas] between / 다중 조건 pandas
- 별칭: Pandas between, Pandas 다중 조건, pandas combining filters, Pandas combine_first, Pandas update, combine_first pandas, DataFrame.update
- 정의 이 페이지는 세 가지 개념을 함께 다룬다. - : 두 값 사이인지 검사 (SQL ) - : 누락 값을 다른 DataFrame 으로 채움 (우선순위 있는 합치기) - : 다른…
- [Pandas] Boolean Indexing pandas ← 17
- 별칭: Pandas Boolean Indexing, pandas 마스킹, pandas 조건 필터, pandas bool 인덱싱
- 정의 Boolean Indexing 은 True/False 의 Series 를 인덱서로 전달 해 행을 선택하는 패턴. pandas 의 가장 흔한 필터링 방법. 마스크 생성과 적용…
- [Pandas] Categorical pandas ← 10
- 별칭: Pandas Categorical, pd.Categorical, category dtype, 카테고리 dtype, pandas 카테고리
- 정의 Categorical 은 제한된 고유값 만 가질 수 있는 dtype. 내부적으로 정수 코드로 저장되어 메모리 절약 과 속도 향상 을 동시에 달성한다. 고유값 수가 적고(lo…
- [Pandas] clip / where / mask pandas
- 별칭: Pandas clip, Pandas where, Pandas mask, 조건부 갱신 pandas
- 정의 - : 범위 밖 값을 경계로 자르기 (outlier 처리) - : cond 가 True 면 유지, False 면 other 로 치환 - : where 의 반대 (cond T…
- [Pandas] concat pandas ← 7
- 별칭: Pandas concat, pd.concat, pandas append, DataFrame concat, Series concat
- 정의 는 여러 DataFrame/Series 를 세로 (axis=0) 또는 가로 (axis=1) 로 단순 연결. SQL 의 (axis=0) 또는 column-level conca…
- [Pandas] crosstab pandas ← 2
- 별칭: Pandas crosstab, pd.crosstab, 교차표, 분할표, contingency table pandas
- 정의 는 두 (또는 그 이상의) Series 로 교차 빈도표 (contingency table) 를 만든다. SQL 의 PIVOT 또는 Excel 의 피벗 테이블과 비슷. 사용 …
- [Pandas] cumsum / cummax / cummin / cumprod pandas ← 3
- 별칭: Pandas cumsum, Pandas cumulative, 누적 pandas
- 정의 누적 (cumulative) 연산. 각 위치까지의 누적 결과를 반환, 결과 길이는 원본과 동일. | 함수 | 의미 | |:---|:---| | | 누적 합 | | | 누적 …
- [Pandas] cut / qcut pandas ← 4
- 별칭: Pandas cut / qcut, Pandas cut, Pandas qcut, binning pandas, pandas 구간화
- 정의 - : 값 기반 binning (구간을 직접 지정) - : 빈도 기반 binning (분위수로 같은 크기) 연속형 변수를 범주형으로 변환. ML 의 feature engin…
- [Pandas] DataFrame pandas ← 37
- 별칭: Pandas DataFrame, pandas.DataFrame, 데이터프레임
- 정의 은 2차원 레이블 테이블. 각 열이 , 모든 열이 같은 (행 라벨) 를 공유. SQL 테이블 / Excel 시트 / R data.frame 의 Python 대응체. 구조 시…
- [Pandas] DataFrame.style pandas ← 1
- 별칭: Pandas style, Pandas Styler, DataFrame 서식
- 정의 는 HTML/CSS 기반 서식을 DataFrame 에 적용하는 API. Jupyter 노트북, 보고서, Excel 출력에 활용. 데이터 자체는 변하지 않고 표시만 바뀐다. …
- [Pandas] date_range / Timestamp pandas ← 3
- 별칭: Pandas date_range, pd.date_range, Pandas Timestamp, Pandas Timedelta
- 정의 - : 정해진 시작/끝/간격으로 datetime 시퀀스 생성 - : pandas 의 단일 datetime 객체 - : 시간 차이 사용 상황 | 상황 | 사용 API | |:…
- [Pandas] drop_duplicates / duplicated pandas ← 3
- 별칭: Pandas unique / nunique, Pandas drop_duplicates, Pandas duplicated, 중복 제거 pandas, pandas 중복 행 제거
- 정의 - : 각 행이 중복인지 boolean Series 반환 - : 중복 행 제거 후 DataFrame 반환 와는 다르다. 그건 Series 의 고유값 추출, 이건 행 단위 처…
- [Pandas] dropna / fillna pandas ← 10
- 별칭: Pandas dropna, Pandas fillna, Pandas dropna / fillna, 결측치 처리, NaN 처리, pandas 결측값
- 정의 - : NaN 이 있는 행/열 제거 - : NaN 을 특정 값으로 대체 데이터 분석의 가장 기본적인 결측치 처리. 사용 상황 - CSV 로드 후 빈 셀이 NaN 으로 읽혔을…
- [Pandas] expanding / ewm pandas ← 3
- 별칭: Pandas expanding, Pandas ewm, 지수가중이동평균
- 정의 외의 윈도우 연산. - : 시작부터 현재까지 누적 윈도우 - : exponentially weighted (지수 가중) 윈도우 개념 비교 | 항목 | | | | |:---|…
- [Pandas] explode pandas ← 1
- 별칭: Pandas explode, DataFrame.explode, list 컬럼 펼치기
- 정의 는 list / set / tuple 등의 시퀀스 값을 가진 컬럼을 각 원소가 별도 행 이 되도록 펼친다. JSON / 로그 / 다중 태그 데이터 처리의 핵심. 사용 상황 …
- [Pandas] get_dummies / from_dummies pandas ← 2
- 별칭: Pandas get_dummies, 원-핫 인코딩, one-hot pandas
- 정의 는 범주형 컬럼을 원-핫 인코딩 (one-hot encoding) 한다. 범주 값 하나당 새 컬럼 (0/1 또는 True/False) 이 생성된다. ML 전처리의 가장 흔한…
- [Pandas] groupby pandas ← 36
- 별칭: Pandas groupby, groupby 집계, split-apply-combine
- 정의 는 데이터를 그룹으로 나누고 (split), 각 그룹에 함수를 적용 (apply), 결과를 합쳐 (combine) 새 DataFrame 으로 만드는 split-apply-c…
- [Pandas] idxmax / idxmin pandas ← 1
- 별칭: Pandas idxmax, Pandas idxmin, argmax argmin pandas
- 정의 - : 최댓값의 index 라벨 반환 - : 최솟값의 index 라벨 반환 / 이 값 을 반환한다면, / 은 그 값이 있는 index 라벨 을 반환한다. "MAX 인 행의 …
- [Pandas] Index pandas ← 4
- 별칭: Pandas Index, pandas.Index, 인덱스, RangeIndex, DatetimeIndex, CategoricalIndex
- 정의 는 행 / 열 라벨을 보관하는 객체. / 의 모든 라벨은 Index. 정렬, 정합성, 빠른 lookup 의 기반. 기본은 RangeIndex (0, 1, 2, ...) 지만…
- [Pandas] info / memory_usage / describe pandas ← 1
- 별칭: Pandas info, Pandas memory_usage, Pandas describe, pandas 탐색, Pandas info / memory_usage / describe
- 정의 DataFrame 의 메타데이터 / 메모리 / 통계를 빠르게 조회하는 도구. | 메서드 | 목적 | |:---|:---| | | 컬럼별 dtype + non-null cou…
- [Pandas] interpolate pandas ← 3
- 별칭: Pandas interpolate, 결측치 보간, Series interpolate, pandas 보간, 시계열 보간
- 정의 는 NaN 을 주변 값을 사용해 보간 으로 채운다. 시계열, 센서 측정 데이터처럼 값이 연속적으로 변화하는 경우의 결측을 자연스럽게 채울 때 유용하다. 가 단일 고정값이나 …
- [Pandas] isin / isna / notna pandas ← 7
- 별칭: Pandas isin, Pandas isna, Pandas notna, Pandas isin / isna, Pandas null check
- 정의 | 메서드 | 의미 | |:---|:---| | | 각 원소가 values 안에 있는지 (boolean Series) | | | NaN/NaT/None 여부 ( 별칭) | …
- [Pandas] iterrows / itertuples pandas ← 2
- 별칭: Pandas iterrows, Pandas itertuples, pandas 행 순회, pandas iteration, pandas loop
- 정의 - : (index, Series) 순회 - : NamedTuple 순회 (빠름, 권장) - : (columnname, Series) 순회 사용 시점 Python 루프 기반…
- [Pandas] join pandas ← 3
- 별칭: Pandas join, DataFrame.join, Pandas merge join concat 차이, 판다스 조인
- 정의 는 index 기반 결합 의 편의 API. 내부적으로는 와 동등하지만 더 짧다. pandas 에서 두 DataFrame 을 결합하는 세 가지 주요 함수: - : 컬럼 / 인…
- [Pandas] melt pandas ← 5
- 별칭: Pandas melt, DataFrame.melt, pd.melt, wide-to-long
- 정의 는 의 역방향. wide-format → long-format 변환. 여러 컬럼을 두 컬럼 ( , ) 으로 합친다. 장기간 시계열 데이터나 시각화 라이브러리 (seaborn…
- [Pandas] merge pandas ← 7
- 별칭: Pandas merge, DataFrame.merge, pandas join, SQL join in pandas, pd.merge, pandas DataFrame 결합
- 정의 는 두 DataFrame 을 SQL join 처럼 결합. 4 가지 join 타입 (inner / left / right / outer) 지원. 사용 상황 - 두 테이블 키 …
- [Pandas] merge_asof pandas ← 2
- 별칭: Pandas merge_asof, as-of join, 시간 매칭 merge
- 정의 는 가장 가까운 키 기준 join. 일반 가 정확히 일치하는 키만 매칭하는 반면, 는 이전 (또는 가장 가까운) 키를 찾는다. 시계열 데이터 (가격, 이벤트) 와 다른 시계…
- [Pandas] mode / factorize pandas ← 2
- 별칭: Pandas mode / factorize, Pandas mode, Pandas factorize, 최빈값 pandas
- 정의 - : 가장 빈번한 값 (최빈값) 반환. 탐색, 결측치 채우기, 통계에 사용. - : 고유값을 정수 코드로 변환. ML 전처리의 label encoding. 사용 상황 | …
- [Pandas] MultiIndex pandas ← 8
- 별칭: Pandas MultiIndex, 계층 인덱스, hierarchical index, pandas 다중 인덱스, MultiIndex DataFrame
- 정의 MultiIndex 는 여러 단계(level)의 라벨로 구성된 . SQL의 composite key와 비슷하며, 그룹화된 데이터를 자연스럽게 표현한다. , , 등이 자동으로…
- [Pandas] nlargest / nsmallest / rank pandas ← 2
- 별칭: Pandas nlargest, Pandas nsmallest, Pandas rank, Pandas nlargest / rank, Top-N pandas
- 정의 - : 상위 N 개 행 ( 보다 빠름) - : 하위 N 개 행 - : 각 원소의 순위 (1, 2, 3, ...) rank method 비교 시각화 nlargest / nsm…
- [Pandas] Nullable Types (Int64, boolean, string[pyarrow]) pandas ← 9
- 별칭: Pandas Nullable Types, Pandas nullable, Pandas Int64, Pandas boolean, Pandas string
- 정의 Nullable dtypes 는 NaN/None 을 타입 그대로 표현할 수 있는 pandas 의 새 타입 시스템. NumPy 기반의 (NaN 미허용) 의 한계를 극복. - …
- [Pandas] pipe / method chaining pandas ← 2
- 별칭: Pandas pipe, pandas method chain, Pandas 체이닝
- 정의 는 method chain 안에 사용자 함수를 끼워 넣기. 와 동등하지만 chain 의 흐름을 유지한다. 사용 상황 | 상황 | pipe 활용 | |:---|:---| | …
- [Pandas] pipe / method chaining pandas ← 2
- 별칭: Pandas pipe / method chaining, .pipe, method chaining, chainable pandas, Pandas 함수형 파이프라인
- 정의 는 DataFrame/Series 자체를 함수의 첫 인자로 넘겨 method chaining 흐름에 사용자 함수를 끼워 넣는 API. functional style pand…
- [Pandas] pivot pandas ← 5
- 별칭: Pandas pivot, DataFrame.pivot, long-to-wide, pivot 변환
- 정의 는 long-format → wide-format 변환. 한 열의 고유 값들이 새 컬럼이 되고, 원래 데이터는 그 자리에 배치된다. 집계가 없으므로 같은 (index, co…
- [Pandas] pivot_table pandas ← 9
- 별칭: Pandas pivot_table, pd.pivot_table, Excel pivot
- 정의 는 의 확장. 집계 함수를 동반 해 중복 (index, columns) 도 처리. Excel 의 피벗 테이블과 가장 가까운 기능. pivottable 처리 흐름 사용 상황 …
- [Pandas] PyArrow Backend pandas ← 4
- 별칭: Pandas pyarrow backend, Pandas pyarrow, Pandas arrow, Pandas 2.0 arrow
- 정의 pandas 2.0 부터 Apache Arrow 를 백킹으로 사용 하는 새 dtype 시스템. NumPy 기반의 한계 (메모리, 문자열, 타입 다양성) 를 크게 개선. 사용…
- [Pandas] query / eval pandas ← 7
- 별칭: Pandas query, Pandas eval, DataFrame.query, pandas 문자열 필터, pandas query 메서드
- 정의 - : 문자열로 boolean 표현식 을 전달해 행 필터링 - : 문자열로 계산 표현식 을 평가 의 가독성 있는 대안. 사용 상황 - 조건이 복잡해 boolean index…
- [Pandas] read_csv / to_csv pandas ← 10
- 별칭: Pandas read_csv, Pandas to_csv, CSV pandas
- 정의 는 CSV(Comma-Separated Values) 또는 구분자 기반 텍스트 파일을 DataFrame 으로 읽는 함수. pandas 사용의 출발점. 반대 방향은 : Dat…
- [Pandas] read_excel / to_excel pandas ← 5
- 별칭: Pandas read_excel, Pandas to_excel, Excel pandas, 엑셀 pandas, pandas 엑셀 읽기
- 정의 는 Excel 파일 (.xlsx, .xls) 을 으로 읽는 함수. 와 은 역방향 저장을 담당한다. 한국 실무에서 업무 보고서, 정산 파일, 외부 데이터 수신 등에 매우 자주…
- [Pandas] read_json / to_json pandas ← 1
- 별칭: Pandas read_json, Pandas to_json, JSON pandas
- 정의 은 JSON 문자열 또는 파일을 DataFrame 으로 변환. 파라미터가 핵심, JSON 의 구조가 어떤 형태인지를 선언한다. 반대 방향은 : DataFrame 을 JSON…
- [Pandas] read_parquet / to_parquet pandas ← 7
- 별칭: Pandas read_parquet, Pandas to_parquet, Parquet pandas, Apache Parquet, Pandas read_parquet / to_parquet
- 정의 Parquet 은 column-oriented binary 포맷. CSV 대비 수십 배 빠르고 작다. dtype 보존, 압축, 부분 컬럼 읽기 지원. 데이터 분석의 사실상 …
- [Pandas] read_sql / to_sql pandas ← 7
- 별칭: Pandas read_sql, Pandas to_sql, SQL pandas, pandas DB I/O, pandas 데이터베이스, pandas SQL 읽기 쓰기
- 정의 - : SQL 결과 -> DataFrame - : DataFrame -> DB 테이블 SQLAlchemy 의 connection / engine 객체를 사용. 직접 sqli…
- [Pandas] replace / astype pandas ← 6
- 별칭: Pandas replace / astype, Pandas replace, Pandas astype, 값 치환 pandas, dtype 변환
- 정의 - : 특정 값을 다른 값으로 치환 - : dtype 변환 dtype 변환 경로 replace 기본 <CodeWithOutput language="python" output…
- [Pandas] resample pandas ← 10
- 별칭: Pandas resample, DataFrame.resample, 시계열 집계
- 정의 는 시계열 데이터를 다른 빈도 (월별, 일별, 시간별 등) 로 재샘플링하면서 집계한다. 의 시계열 버전. DatetimeIndex (또는 으로 datetime 컬럼) 이 필…
- [Pandas] rolling / expanding pandas ← 9
- 별칭: Pandas rolling, Pandas expanding, 이동 평균, windowed pandas
- 정의 - : 고정 크기 슬라이딩 윈도우 (이동 평균 등) - : 시작부터 누적 윈도우 (cumulative) - : 지수 가중 이동 평균 사용 상황 | 상황 | 적합한 방법 | …
- [Pandas] sample pandas
- 별칭: Pandas sample, DataFrame.sample, random sampling
- 정의 / 은 행 (또는 열) 을 랜덤으로 추출 하는 함수. EDA 빠른 확인, train/test split, bootstrap, imbalanced data 처리에 자주 사용.…
- [Pandas] Series pandas ← 10
- 별칭: Pandas Series, pandas.Series, 1차원 pandas, Series pandas, 판다스 시리즈
- 정의 는 1차원 레이블 배열. NumPy + 의 결합. 의 한 열이 곧 Series. dict-like (key = index label) 이자 list-like (순서 있는 배…
- [Pandas] SettingWithCopyWarning pandas ← 8
- 별칭: SettingWithCopyWarning, Pandas copy view, Pandas chained indexing
- 정의 은 pandas 가 가장 자주 던지는 경고. chained indexing 으로 view 인지 copy 인지 모호한 상태에 값을 할당 할 때 발생. 사용 상황 다음 상황에서…
- [Pandas] shift / diff / pct_change pandas ← 4
- 별칭: Pandas shift / diff, Pandas shift, Pandas diff, Pandas pct_change, 시차 pandas
- 정의 - : 값을 n 칸 밀기 (lag/lead 생성) - : n 칸 차이 (= ) - : 변화율 (= ) 시계열 분석의 기본 도구. 전일 대비 / 전월 대비 / lag feat…
- [Pandas] sort_values / sort_index pandas ← 4
- 별칭: Pandas sort_values, Pandas sort_index, Pandas sort_values / sort_index, pandas 정렬
- 정의 - : 컬럼 값 기준 정렬 - : index (행 또는 열 라벨) 기준 정렬 기본은 오름차순, 로 내림차순. 사용 상황 - 단일 컬럼 정렬: 날짜, 점수, 금액 등 단순 순…
- [Pandas] stack / unstack pandas ← 4
- 별칭: Pandas stack, Pandas unstack, Pandas stack-unstack, Pandas stack / unstack, MultiIndex 변환, pandas wide long 변환
- 정의 - : 가장 안쪽 컬럼 레벨 -> 행 레벨 (DataFrame -> Series 또는 더 좁은 DataFrame) - : 가장 안쪽 행 레벨 -> 컬럼 레벨 / 의 Mult…
- [Pandas] str regex (extract / split / replace) pandas ← 3
- 별칭: Pandas regex, Pandas str extract, Pandas str split, Pandas str regex, Pandas 정규식, pandas str.extract, pandas str.replace regex
- 정의 의 정규식 기반 메서드. 패턴 추출, 분리, 치환 의 핵심. 의 정규식 특화 부분. 기본 문자열 메서드는 참고. 사용 상황 - 로그 문자열에서 IP, 날짜, 에러 코드 등을…
- [Pandas] str.contains / startswith / endswith pandas ← 3
- 별칭: Pandas str pattern, Pandas str contains, 문자열 매칭 pandas, Pandas 문자열 패턴 매칭, str.contains pandas
- 정의 문자열 Series 에서 패턴 매칭 으로 필터링/검색하는 메서드들. SQL 의 , 패턴에 해당하며, accessor 를 통해 접근한다. 메서드 전체 지도 contains -…
- [Pandas] to_datetime pandas ← 8
- 별칭: Pandas to_datetime, pd.to_datetime, 날짜 변환, pandas 날짜 파싱, datetime 변환
- 정의 는 문자열, 정수, dict, DataFrame 컬럼을 타입으로 변환한다. pandas 시계열 작업의 출발점. 사용 상황 - CSV 로드 후 날짜 컬럼이 (문자열) 로 읽혔…
- [Pandas] transform / apply pandas ← 4
- 별칭: Pandas transform, Pandas apply, Pandas transform / apply, groupby transform, pandas 그룹 변환
- 정의 | 메서드 | 입력 | 출력 | 용도 | |:---|:---|:---|:---| | | 그룹 | 같은 shape | 정규화, 보충 | | | 그룹 | 임의 shape | 가…
- [Pandas] unique / nunique pandas
- 별칭: Pandas unique, Pandas nunique, 고유값 pandas, pd.unique, distinct count pandas
- 정의 - : 고유값을 등장 순서대로 numpy array 반환 - : 고유값의 개수 반환 (NaN 기본 제외) - : 각 컬럼/행의 고유값 개수 - : Series 가 아닌 ar…
- [Pandas] value_counts pandas ← 8
- 별칭: Pandas value_counts, Series value_counts, 빈도수 pandas
- 정의 는 각 고유값의 등장 빈도 를 내림차순 Series 로 반환. SQL 의 . pandas 1.1+ 부터는 도 가능 (여러 컬럼 조합). 기본 <CodeWithOutput l…
- [Pattern] API Gateway: BFF, 라우팅, auth, rate limit distributed-systems ← 5
- 별칭: API Gateway, BFF, Backend for Frontend, Kong, Tyk, AWS API Gateway, Envoy
- 정의 API Gateway = 클라이언트와 마이크로서비스 사이의 단일 진입점. 라우팅, auth, rate limit, transformation, monitoring 의 cro…
- [Pattern] CQRS: Command / Query 분리, read model distributed-systems ← 3
- 별칭: CQRS, Command Query Responsibility Segregation, read model, write model, projection, materialized view
- 정의 CQRS (Command Query Responsibility Segregation) = 쓰기 모델 과 읽기 모델 을 분리. 같은 데이터를 다른 형태 로 저장 / 조회. […
- [Pattern] Event Sourcing: 상태 대신 이벤트 누적 distributed-systems ← 5
- 별칭: Event Sourcing, ES, event store, aggregate, snapshot, replay
- 정의 Event Sourcing = 현재 상태 대신 과거 이벤트 시퀀스 를 저장. 현재 상태 = event 모두 replay 한 결과. 핵심 약속 - 과거 모든 변화 기록. 감사…
- [Pattern] Idempotency Keys: 중복 요청 안전 처리 distributed-systems ← 12
- 별칭: Idempotency Keys, Idempotency, Idempotency-Key header, Stripe idempotency, exactly-once delivery, deduplication
- 정의 Idempotency = 같은 요청을 N번 보내도 결과가 1번과 동일. 분산 시스템 / 결제 / API 의 안전망. [!IMPORTANT] 네트워크는 항상 timeout /…
- [Pattern] Microservices vs Monolith: 언제 분리, 언제 통합 distributed-systems ← 5
- 별칭: Microservices, Monolith, Modular monolith, Service boundary, Conway's Law, Distributed monolith
- 정의 | - | Monolith | Modular Monolith | Microservices | |---|---|---|---| | 배포 단위 | 1개 | 1개 (모듈 명확) …
- [Pattern] Outbox Pattern: DB + 메시지의 원자성 distributed-systems ← 14
- 별칭: Outbox pattern, transactional outbox, Debezium, CDC, dual write problem, transactional messaging
- 정의 Outbox Pattern = DB 변경 + 메시지 발행 의 원자성 보장. 이중 쓰기 (dual write) 문제 의 표준 해결. 문제: Dual Write | 시나리오 |…
- [Pattern] Saga: 분산 트랜잭션의 보상 흐름 distributed-systems ← 6
- 별칭: Saga pattern, Choreography saga, Orchestration saga, compensating transaction, long-running transaction
- 정의 Saga = 여러 service 의 로컬 트랜잭션 을 연결한 긴 흐름. 한 단계 실패 시 이전 단계의 보상 (compensating) 트랜잭션 으로 논리적 롤백. [!IMP…
- [PLT] Abstract Syntax Tree (AST) plt ← 7
- 별칭: AST, Abstract Syntax Tree, 추상 구문 트리, syntax tree, AST traversal, AST visitor pattern, concrete syntax tree, CST, parse tree
- 정의 Abstract Syntax Tree (AST, 추상 구문 트리) 는 프로그램의 문법 구조를 트리로 표현 한 자료구조입니다. 파서의 출력물이자, 이후 컴파일러/인터프리터의 …
- [PLT] Interpreter vs Compiler plt ← 4
- 별칭: Interpreter vs Compiler, interpreter, compiler, JIT, AOT, bytecode VM, tree-walking interpreter, transpiler, 인터프리터, 컴파일러
- 정의 프로그래밍 언어의 실행 모델 두 접근: - Compiler (컴파일러): 소스 → 목표 코드 (기계어, 바이트코드) 로 변환. 실행은 나중. - Interpreter (인터…
- [PLT] IR, 최적화, 코드 생성 (Compiler Backend) plt ← 4
- 별칭: Intermediate Representation, IR, SSA, three-address code, compiler optimization, dead code elimination, constant folding, inlining, register allocation, LLVM IR, 코드 생성, 최적화
- 정의 컴파일러의 백엔드 는 semantic 분석까지 마친 AST 를 실제 실행 가능한 목표 코드로 변환합니다. 세 주요 단계: 1. IR (Intermediate Represen…
- [PLT] Lexical Analysis (어휘 분석) plt ← 5
- 별칭: Lexical Analysis, Lexer, Tokenizer, Scanner, 어휘 분석, 렉서, 토크나이저, 정규 표현식 파서, DFA, NFA
- 정의 어휘 분석 (Lexical Analysis) 은 소스 코드 문자 시퀀스 를 의미 있는 최소 단위인 토큰 (Token) 으로 분해하는 과정입니다. 담당 컴포넌트를 Lexer …
- [PLT] Parsing & Grammars plt ← 5
- 별칭: Parsing, Parser, BNF, EBNF, CFG, context-free grammar, recursive descent, LL parser, LR parser, LALR, PEG, parser combinator, 구문 분석, 파싱
- 정의 Parsing (구문 분석) 은 lexer 의 토큰 스트림 을 언어의 문법 규칙 에 따라 구조화된 트리 (AST, Abstract Syntax Tree) 로 조립하는 과정입…
- [PLT] Semantic Analysis (의미 분석) plt ← 6
- 별칭: Semantic Analysis, 의미 분석, symbol table, 심볼 테이블, scope resolution, name resolution, type checking, lexical scope, dynamic scope, shadowing
- 정의 Semantic Analysis (의미 분석) 는 파서가 생성한 AST 를 검사하여 문법적으로 올바르지만 의미상 오류인 경우 를 발견하고, 각 이름 (identifier) …
- [PLT] Type Systems (타입 시스템) plt ← 4
- 별칭: Type Systems, 타입 시스템, static typing, dynamic typing, type inference, Hindley-Milner, structural typing, nominal typing, gradual typing, sound type system, type soundness
- 정의 타입 시스템 (Type System) 은 프로그램의 값과 표현식에 타입 (type) 을 부여하고, 이 타입들이 규칙에 맞게 결합되는지 검증하는 형식 체계입니다. 타입 = 값…
- [PostgreSQL] JSONB: 장점과 단점, 인덱싱, 사용 패턴 database-internals ← 3
- 별칭: PostgreSQL JSONB, jsonb, json vs jsonb, GIN jsonb, jsonb_path_ops, JSONB indexing
- 정의 JSONB (Binary JSON, PG 9.4+) = PostgreSQL 의 binary 직렬화된 JSON. 인덱싱 가능 + 빠른 query 가 과의 핵심 차이. [!IM…
- [Prompting] Chain-of-Thought (CoT) ai ← 6
- 별칭: Chain-of-Thought, Chain of Thought, CoT, CoT prompting, chain-of-thought prompting, 사고 사슬 프롬프팅, 체인 오브 소트, Zero-shot CoT, Self-Consistency, Let's think step by step
- 정의 Chain-of-Thought (CoT) prompting 은 대형 언어 모델이 최종 답을 내기 전에 중간 추론 단계를 자연어로 생성하도록 유도 하는 프롬프팅 기법입니다. …
- [Prompting] Few-Shot Prompting ai ← 5
- 별칭: Few-Shot Prompting, Few-shot prompting, few-shot, few shot, K-shot prompting, in-context learning, ICL, 인컨텍스트 러닝, 퓨샷 프롬프팅, GPT-3 few-shot
- 정의 Few-shot prompting 은 프롬프트 안에 작업의 입력-출력 예시 K개 (보통 K = 216) 를 함께 제공해 모델이 그 형식과 규칙을 유추해 새 입력에 답하도록 …
- [Prompting] One-Shot Prompting ai ← 4
- 별칭: One-Shot Prompting, One-shot prompting, one-shot, one shot, 1-shot, 원샷 프롬프팅, single-shot
- 정의 One-shot prompting 은 프롬프트에 정확히 1개의 입력-출력 예시 를 함께 제공하는 프롬프팅입니다. K=1 인 few-shot 의 특수 케이스이자 zero-sh…
- [Prompting] Zero-Shot Prompting ai ← 4
- 별칭: Zero-Shot Prompting, Zero-shot prompting, zero-shot, zero shot, 제로샷 프롬프팅, 0-shot, instruction prompting, instruction following
- 정의 Zero-shot prompting 은 프롬프트에 예시 없이 태스크 지시문만 제공해 모델이 태스크를 수행하도록 하는 기법입니다. K=0 few-shot 이지만 의미가 다르며…
- [Python] @property, getter, setter, deleter python ← 1
- 별칭: python property, @property, getter setter, computed property
- 정의 는 메서드를 속성처럼 접근할 수 있게 해주는 데코레이터다. 호출자는 처럼 보지만 내부적으로는 함수가 실행되어 계산되거나 검증된 값을 반환한다. Java의 getter/set…
- [Python] 가비지 컬렉션: refcount + 순환 GC python ← 3
- 별칭: python gc, garbage collection, reference counting, cyclic gc, weakref, __del__
- 정의 CPython의 메모리 관리는 두 메커니즘의 조합이다. 1. Reference counting: 모든 객체에 참조 카운트( )가 있고, 카운트가 0이 되면 즉시 해제. 즉각…
- [Python] 가상환경, pyproject.toml, packaging python ← 1
- 별칭: python venv, virtualenv, pip, pyproject.toml, python packaging, wheel, PEP 517, PEP 621, uv, poetry
- 정의 Python 프로젝트의 격리·의존성·배포는 세 축이 있다. - 가상환경 (venv, virtualenv, uv, conda): 프로젝트별 의존성 격리 - 패키지 매니저 (p…
- [Python] 기본 문법: 들여쓰기, 주석, 변수 python ← 1
- 별칭: python 문법, python syntax, 들여쓰기, indentation, python 주석, python 변수, PEP 8, f-string, walrus operator, match case
- 정의 Python은 들여쓰기(indentation)로 블록을 구분하는 언어다. C/Java의 중괄호 대신 일관된 들여쓰기 수준이 블록 스코프를 결정한다. PEP 8은 공백 4칸을…
- [Python] 데코레이터: @decorator, functools.wraps, 클래스 데코레이터 python ← 5
- 별칭: python decorator, @decorator, functools.wraps, decorator with args, class decorator
- 정의 데코레이터(decorator)는 함수/클래스를 받아 다른 함수/클래스를 반환하는 callable이다. 문법은 단순한 호출 변환에 불과: 기본 데코레이터 는 원래 함수의 행동…
- [Python] 문자열 포매팅: %, .format, f-string, Template python ← 2
- 별칭: python string formatting, %s formatting, str.format, f-string, string.Template, format spec
- 정의 Python에는 4가지 문자열 포매팅 방법이 있다. 새 코드는 f-string 우선. | 방법 | 도입 | 상태 | |------|------|------| | 포매팅 | …
- [Python] 바이트코드와 dis 모듈 python ← 2
- 별칭: python bytecode, dis module, PYC, specializing adaptive interpreter, PEP 659
- 정의 CPython 인터프리터는 Python 소스를 바이트코드로 컴파일해 평가 루프( 의 메인 switch)에서 실행한다. 바이트코드는 스택 기반 가상 머신을 위한 작은 명령어 …
- [Python] 상속, super, MRO, ABC python ← 1
- 별칭: python inheritance, super, MRO, method resolution order, ABC, abstract base class, 다중 상속
- 단일 상속 super() 부모 메서드를 호출하려면 . 다중 상속에서 MRO를 따라 다음 클래스로 디스패치. 인자 없이 호출하면 현재 클래스/인스턴스가 자동 주입된다(Python …
- [Python] 스코프와 LEGB, global, nonlocal python ← 1
- 별칭: python scope, LEGB, python global, python nonlocal, namespace, 변수 스코프
- LEGB 규칙 Python은 이름 해결 시 L → E → G → B 순서로 스코프를 탐색한다. | 단계 | 의미 | 예 | |------|------|---| | Local | …
- [Python] 연산자: 비교, 산술, 비트, 멤버십 python ← 4
- 별칭: python operators, python 연산자, is vs ==, operator precedence
- 분류 | 종류 | 연산자 | 예시 | |------|--------|------| | 산술 | | , (행렬곱) | | 비교 | | | | 동일성 | | | | 멤버십 | | |…
- [Python] 예외 처리: try, except, raise, ExceptionGroup python
- 별칭: python exception, try except, raise, exception chaining, ExceptionGroup, PEP 654
- try / except / else / finally - : try가 정상 종료된 경우만 실행. try 블록을 최소화하기 위함 - : 항상 실행. 자원 해제용 예외 계층 으로 잡…
- [Python] 제어 흐름: if, for, while, match python ← 2
- 별칭: python control flow, python if, python for, python while, match statement, structural pattern matching
- if / elif / else Python에는 가 없었으나 3.10+ 문이 추가됐다(아래 참고). for 루프 Python의 는 iterable 순회 전용. C의 인덱스 카운팅 …
- [Python] 함수 기초: def, 인수, return python ← 2
- 별칭: python function, python def, args kwargs, 함수 인수, positional keyword
- def 문으로 함수를 정의한다. 함수도 일급 객체(first-class)라 변수에 할당하고 인자로 전달할 수 있다. 인수 종류 Python 함수 시그니처는 6가지 매개변수 종류를…
- [Python] argparse, click, typer: CLI 만들기 python
- 별칭: python argparse, python cli, click, typer, command-line interface
- 정의 Python에서 CLI를 만드는 옵션은 세 가지가 주류: - (stdlib): 표준, 외부 의존성 없음 - (third-party): 데코레이터 기반, 강력한 옵션 처리 -…
- [Python] Async Generator, async for, async with python ← 2
- 별칭: python async generator, async for, async iterator, aiter anext, PEP 525, PEP 530
- 정의 Python의 비동기 모델은 코루틴 + iterator의 조합으로 확장된다. 동기 generator가 lazy 시퀀스를 만들듯, async generator는 각 값 사이에…
- [Python] asyncio: 비동기 프로그래밍 python ← 2
- 별칭: py-async-await, python-asyncio, asyncio, 파이썬 비동기, async python
- 정의 asyncio 는 Python 의 표준 비동기 I/O 라이브러리 (3.4+). event loop 위에서 coroutine 을 스케줄링. 로 정의한 함수가 코루틴이 되고, …
- [Python] asyncio: 이벤트 루프, async/await python ← 8
- 별칭: python asyncio, python async await, python event loop, coroutine, TaskGroup, PEP 492
- 정의 는 Python 표준 라이브러리의 단일 스레드 이벤트 루프 기반 비동기 I/O 프레임워크다. 로 코루틴을 정의하고 로 다른 코루틴/awaitable 완료를 기다린다. I/O…
- [Python] bytes, bytearray, memoryview python ← 1
- 별칭: js-encoding, python bytes, bytearray, memoryview, binary data, bytes object
- 정의 Python에서 바이너리 데이터는 세 가지 타입으로 다룬다. - : 불변 바이트 시퀀스. 0255 정수의 immutable 배열. - : 가변 바이트 시퀀스. 의 mutab…
- [Python] class 기초: 정의, __init__, self python ← 1
- 별칭: python class, 파이썬 클래스, __init__, self, 인스턴스 메서드
- 클래스 정의 self Python 메서드의 첫 번째 인수는 인스턴스 자신이다. 관례적으로 라 부른다(언어가 강제하진 않지만 PEP 8 권장). 호출 시 는 내부적으로 로 바인딩된…
- [Python] collections: Counter, deque, defaultdict, OrderedDict, ChainMap python ← 5
- 별칭: python collections, Counter, deque, defaultdict, OrderedDict, ChainMap, namedtuple
- 정의 모듈은 dict/list/tuple/set의 특수화 컨테이너를 제공한다. 표준 라이브러리에 있는 데이터 구조 도구함의 핵심. | 클래스 | 용도 | |--------|---…
- [Python] collections.abc: 추상 컬렉션 인터페이스 python ← 2
- 별칭: python collections.abc, Iterable, Sequence, Mapping, Set, MutableSequence, abc
- 정의 는 컬렉션의 추상 베이스 클래스를 제공한다. 사용자 정의 컬렉션이 빌트인과 같은 인터페이스를 구현했음을 명시하거나, isinstance 검사에 사용. PEP 3119. 타입…
- [Python] Comprehension: list, dict, set, generator python ← 4
- 별칭: python comprehension, list comprehension, dict comprehension, set comprehension, generator expression
- 정의 Comprehension(컴프리헨션)은 iterable로부터 list/set/dict/generator를 선언적·간결하게 만드는 문법이다. 일반 + 보다 30-50% 빠르며…
- [Python] concurrent.futures: ThreadPoolExecutor, ProcessPoolExecutor python ← 3
- 별칭: python concurrent.futures, ThreadPoolExecutor, ProcessPoolExecutor, Future, Executor
- 정의 는 과 위에 고수준 Executor 인터페이스를 제공한다. 워커 풀, Future 객체, map/submit API로 동기 코드처럼 병렬 작업을 작성할 수 있다. 두 Exe…
- [Python] Context Manager: with, __enter__, contextlib python ← 1
- 별칭: python context manager, with statement, __enter__, __exit__, contextmanager, ExitStack
- 정의 Context manager는 와 메서드를 가진 객체로, 문을 통해 자원 획득/해제를 안전하게 묶는다. 파일·락·DB 트랜잭션·임시 설정처럼 "들어가면 반드시 나와야 하는"…
- [Python] contextvars: 비동기 친화 컨텍스트 변수 python ← 1
- 별칭: python contextvars, ContextVar, Context, copy_context, asyncio context
- 정의 (PEP 567, 3.7+)는 현재 코드 실행 컨텍스트에 묶이는 변수다. threading의 처럼 동작하지만 asyncio 코루틴·태스크 경계도 정확히 인식. 비동기 코드에…
- [Python] cProfile, timeit, perf: 성능 프로파일링 python
- 별칭: python cprofile, timeit, py-spy, scalene, performance profiling, 프로파일링
- 정의 Python 성능 분석 도구 선택지. - (stdlib): 작은 코드 조각 벤치마크 - (stdlib): 함수 호출 단위 프로파일링, deterministic - (stdl…
- [Python] csv, io: CSV와 텍스트 스트림 python
- 별칭: python csv, csv.reader, csv.DictReader, io.StringIO, io.BytesIO, open
- 정의 는 표준 라이브러리의 CSV 파서. 는 텍스트/바이너리 스트림 추상화. CSV 처리는 작은 파일이면 모듈, 큰 데이터셋이면 나 가 적합. 기본 읽기 중요: 에 권장. CSV…
- [Python] dataclass: 자동 생성 메서드를 갖춘 데이터 클래스 python ← 5
- 별칭: python dataclass, dataclass, @dataclass, frozen dataclass, field
- 정의 (3.7+, PEP 557)는 클래스에 , , 등 상용구 메서드를 자동 생성해주는 데코레이터다. 데이터 컨테이너 클래스를 한 줄 데코레이터 + 필드 어노테이션만으로 만들 수…
- [Python] datetime, timezone, zoneinfo python
- 별칭: python datetime, timezone, zoneinfo, timedelta, naive vs aware, UTC
- 정의 모듈은 날짜·시각·기간 처리를 제공한다. 핵심 클래스: - : 연-월-일 - : 시-분-초-마이크로초 (날짜 정보 없음) - : date + time - : 기간 (날짜 간…
- [Python] Descriptor: __get__, __set__, __delete__ python ← 1
- 별칭: python descriptor, data descriptor, non-data descriptor, __get__, __set__
- 정의 Descriptor는 , , 중 하나 이상을 구현한 클래스다. 다른 클래스의 클래스 속성으로 사용되면 그 속성 접근이 descriptor의 메서드를 통해 라우팅된다. , ,…
- [Python] dict: 해시 맵과 삽입 순서 보장 python ← 3
- 별칭: python dict, 파이썬 딕셔너리, dictionary, hash map, ordered dict
- 정의 는 Python의 해시 맵 자료구조다. Python 3.7부터 삽입 순서를 언어 사양으로 보장한다(이전엔 CPython 3.6 구현 디테일이었음). 평균 O(1) 조회·삽입…
- [Python] enum: Enum, IntEnum, Flag, StrEnum python ← 1
- 별칭: python enum, IntEnum, StrEnum, Flag, auto, Enum members
- 정의 은 고정된 이름-값 매핑을 정의하는 표준 모듈. 마법 숫자나 문자열 상수를 타입화된 멤버로 대체해 타입 안정성·가독성·IDE 지원을 얻는다. Enum 기본 멤버는 싱글톤. …
- [Python] FastAPI fastapi ← 13
- 별칭: FastAPI, fastapi, Python FastAPI, fastapi framework, FastAPI 프레임워크, Starlette, ASGI FastAPI
- 정의 FastAPI 는 Python 3.8+ 을 위한 ASGI 기반 현대 웹/API 프레임워크 입니다. Sebastián Ramírez (tiangolo) 가 2018년 발표했고…
- [Python] Flask flask ← 11
- 별칭: Flask, flask, Python Flask, Flask microframework, Flask 프레임워크, Werkzeug, WSGI Flask
- 정의 Flask 는 Armin Ronacher 가 2010년 발표한 WSGI 기반 Python 마이크로프레임워크 입니다. Pallets Projects 가 유지관리하고, 2026…
- [Python] float, Decimal, Fraction python ← 1
- 별칭: python float, python decimal, python fraction, 부동소수점, 정밀 산술
- 정의 Python의 실수 산술은 세 가지 타입을 제공한다. - : IEEE 754 double precision (64비트). C 과 동일. 빠르지만 부정확. - : 임의 정밀도…
- [Python] functools: cache, partial, reduce, singledispatch python ← 2
- 별칭: python functools, lru_cache, cache, partial, reduce, singledispatch, cached_property
- 정의 는 함수형 프로그래밍 도구와 함수 변환 데코레이터를 제공하는 표준 라이브러리. 메모이제이션, 부분 적용, 디스패치, 데코레이터 메타데이터 등을 다룬다. lrucache / …
- [Python] GIL, multiprocessing 그리고 free-threaded (3.14) python ← 3
- 별칭: GIL, Python GIL, Global Interpreter Lock, free-threaded, no-gil, PEP 703, PEP 779, PEP 734, concurrent.interpreters, Python free threading
- 정의 GIL (Global Interpreter Lock) 은 CPython 인터프리터가 한 번에 하나의 OS 스레드만 파이썬 바이트코드를 실행할 수 있도록 보장하는 뮤텍스. 1…
- [Python] hashlib, secrets, hmac: 해시와 암호 보안 python ← 1
- 별칭: python hashlib, secrets, hmac, SHA-256, password hash, crypto safe random
- 정의 암호학 관련 표준 모듈 3개. - : 해시 함수 (SHA-256, MD5, BLAKE2 등) - : 암호학적으로 안전한 난수 ( 은 비안전) - : HMAC 메시지 인증 암…
- [Python] heapq, bisect, array python
- 별칭: python heapq, python bisect, python array, priority queue, binary search, min-heap
- heapq: min-heap 는 리스트를 min-heap 구조로 다루는 함수 모음. 클래스가 아니라 일반 list 위에서 동작. 기본 / 모두 O(log n). 단순 list로는…
- [Python] import 시스템과 패키지 python ← 1
- 별칭: python import, python package, __init__.py, module path, sys.path, circular import
- 정의 Python 시스템은 모듈(.py 파일)과 패키지(디렉터리)를 메모리에 로드하고 네임스페이스에 바인딩한다. CPython은 한 번 로드한 모듈을 캐시에 보관해 재import…
- [Python] importlib: 동적 import와 메타데이터 python
- 별칭: python importlib, importlib.import_module, importlib.reload, importlib.metadata, entry_points
- 정의 는 import 시스템에 대한 프로그래밍 인터페이스. 동적 모듈 로딩, 메타데이터 조회, 진입점 발견, hot reload 등을 제공한다. 플러그인 시스템·테스트·동적 디스…
- [Python] int: 임의 정밀도 정수 python ← 4
- 별칭: python int, python integer, 임의 정밀도, arbitrary precision, bignum, PyLongObject, small int cache
- 정의 Python의 는 임의 정밀도 정수(arbitrary precision integer)다. C의 / 처럼 비트 폭이 고정되지 않으며, 메모리가 허용하는 한 무한히 큰 정수를…
- [Python] Iterator, Generator, yield python ← 4
- 별칭: python iterator, python generator, yield, yield from, iter, next, __iter__
- Iterator Protocol Iterator는 와 를 구현한 객체. Iterable은 만 가지면 된다 (iterator를 반환). 문은 내부적으로 로 iterator를 얻고 …
- [Python] itertools: 효율적인 iterator 빌딩 블록 python ← 1
- 별칭: permutation, python itertools, chain, cycle, islice, groupby, combinations, permutations, product
- 정의 는 메모리 효율적인 iterator 조합기를 제공한다. lazy 평가로 무한 시퀀스도 다루며, C로 구현되어 빠르다. Haskell/Lisp 영향을 받은 함수형 도구함. 무…
- [Python] json: 직렬화와 역직렬화 python
- 별칭: python json, json.dumps, json.loads, JSON encoder, custom serializer
- 정의 모듈은 Python 객체와 JSON 텍스트 간 변환을 제공한다. 표준 라이브러리라 빠르게 시작 가능하나, 대용량/정밀도/속도 면에서 , 같은 서드파티가 우위. 기본 API …
- [Python] list: 가변 시퀀스 python ← 2
- 별칭: python list, 파이썬 리스트, 리스트 컴프리헨션, list comprehension
- 정의 Python의 는 가변 길이 동적 배열(dynamic array)이다. C의 /Java 와 같은 자료구조로, 내부적으로 PyObject 포인터의 연속 배열을 over-all…
- [Python] logging: 로거, 핸들러, 포매터 python
- 별칭: python logging, logger, log handler, log formatter, logging.config, structured logging
- 정의 은 Python 표준 로깅 프레임워크. logger - handler - formatter - filter 4구성 요소로 유연한 로그 라우팅을 구현. 단순 사용은 한 줄로,…
- [Python] match문: 구조적 패턴 매칭 python ← 2
- 별칭: python match, structural pattern matching, PEP 634, case patterns, match-case
- 정의 문(3.10+, PEP 634)은 구조적 패턴 매칭. C의 switch보다 훨씬 강력해 타입·구조·내용을 동시에 검사하고 동시에 binding한다. Haskell, Rust…
- [Python] Metaclass: type, __init_subclass__ python ← 1
- 별칭: python metaclass, type metaclass, __init_subclass__, metaclass conflict, ABCMeta, ModelBase, 클래스 생성 프로토콜
- 정의 Metaclass는 "클래스의 클래스"다. 일반 클래스가 인스턴스의 행동을 결정하듯, metaclass는 클래스 자체의 행동(생성, 속성, 메서드 추가)을 결정한다. 모든 …
- [Python] multiprocessing: Process, Pool, Queue, Manager python ← 2
- 별칭: python multiprocessing, Process, Pool, Manager, shared memory, fork, spawn
- 정의 은 별도 프로세스로 작업을 분산. GIL 우회 → 진정한 CPU 병렬. 각 프로세스는 독립된 메모리 공간이라 데이터 공유에 오버헤드(pickle, IPC). CPU 집약 작…
- [Python] None, bool, Truthiness python ← 1
- 별칭: python none, python bool, truthiness, falsy, is None
- None 은 값 없음을 나타내는 싱글톤 객체다. 타입은 . 모든 함수가 명시적 return 없으면 을 반환한다. None 비교는 로 PEP 8이 명시한 규칙. NumPy 배열 같…
- [Python] os, shutil, glob: 파일 시스템 도구 python
- 별칭: python os, shutil, glob, 파일 시스템, os.path
- 정의 파일 시스템 다루는 세 표준 모듈: - : OS 인터페이스 (환경 변수, 프로세스, 파일 기본 연산) - : 경로 문자열 조작 (대부분 로 대체 가능) - : 고수준 파일 …
- [Python] pathlib: 객체지향 파일 시스템 경로 python
- 별칭: python pathlib, Path, PurePath, os.path, 파일 경로
- 정의 (3.4+, PEP 428)는 파일 경로를 객체로 다루는 모듈. 기존 문자열 기반 API를 대체할 만큼 강력하고 가독성 좋다. 운영체제별 차이( vs )도 추상화. 기본 사…
- [Python] pdb, breakpoint(), 디버깅 도구 python
- 별칭: python pdb, breakpoint, ipdb, pudb, debugpy, PYTHONBREAKPOINT
- 정의 는 Python 표준 라이브러리의 대화형 디버거. 중단점, 스텝 실행, 변수 검사, 콜 스택 탐색을 제공. 3.7+ 빌트인이 표준 진입점. breakpoint() 호출 지점…
- [Python] pickle, shelve, marshal: 객체 직렬화 python
- 별칭: python pickle, pickle.dumps, shelve, marshal, 직렬화, serialization
- 정의 은 Python 객체를 바이트로 직렬화하는 표준 모듈. dict, list, 사용자 클래스 등 거의 모든 객체를 디스크/네트워크로 옮길 수 있다. 보안 경고: pickle은…
- [Python] pydantic: 런타임 타입 검증과 직렬화 python ← 3
- 별칭: python pydantic, BaseModel, validators, FastAPI, data validation
- 정의 은 타입 힌트 기반 런타임 검증 + 직렬화 라이브러리. FastAPI, LangChain, Hugging Face 등 수많은 라이브러리의 기반. v2부터 Rust 코어로 빠…
- [Python] pytest: fixture, parametrize, mock python ← 2
- 별칭: python pytest, pytest fixture, parametrize, monkeypatch, conftest
- 정의 는 Python 표준 테스트 프레임워크의 사실상 표준(stdlib는 이지만 pytest가 더 강력). 단순한 함수 로 시작해서 fixture, parametrize, plu…
- [Python] random, statistics, math python ← 1
- 별칭: python random, python statistics, python math, random seed, Mersenne Twister
- random: 의사 난수 은 Mersenne Twister 기반 PRNG. 통계·시뮬레이션·게임용. 보안엔 사용. 기본 함수 seed: 재현 가능 seed 없으면 OS의 rand…
- [Python] re: 정규 표현식 python ← 1
- 별칭: python regex, python re, regular expression, re.compile, re.match
- 정의 모듈은 PCRE 호환 정규 표현식(완전 호환은 아니나 거의 유사) 엔진을 제공한다. 백트래킹 NFA 기반으로 표현력은 강하나 catastrophic backtracking …
- [Python] set, frozenset python ← 1
- 별칭: python set, frozenset, 파이썬 집합, set operations
- 정의 은 중복 없는 해시 가능 원소의 가변 컬렉션이다. dict의 키 슬롯만 가진 형태로 구현되어 평균 O(1) 멤버십·삽입·삭제를 제공한다. 은 그 불변 버전으로 해시 가능하다…
- [Python] sqlite3: 내장 SQL 데이터베이스 python
- 별칭: python sqlite3, SQLite, Connection, Cursor, DB-API 2.0, executemany
- 정의 는 Python 표준 라이브러리에 포함된 SQLite 데이터베이스 래퍼. 별도 서버 없이 단일 파일에 저장하는 임베디드 SQL DB. PEP 249 (DB-API 2.0) …
- [Python] str: 문자열과 f-string python ← 1
- 별칭: python string, python str, f-string, 문자열 포매팅, string formatting
- 정의 Python의 은 불변(immutable) 유니코드 문자열이다. 내부는 PEP 393 이후 "유연한 문자열 표현(flexible string representation)"으…
- [Python] subprocess: 외부 프로세스 실행 python
- 별칭: python subprocess, subprocess.run, Popen, shell injection, pipe
- 정의 는 외부 명령을 실행하고 입출력·exit code를 받아오는 표준 모듈. , 같은 구식 API를 대체한다. 3.5+ 이후엔 이 권장 진입점. subprocess.run 주요…
- [Python] textwrap, locale, unicodedata: 텍스트 처리 python ← 1
- 별칭: python textwrap, locale, unicodedata, string normalization, NFC, NFD
- 정의 텍스트 처리 표준 모듈 3개. - : 줄바꿈, 들여쓰기 정렬 - : 지역화 (숫자/통화/날짜 포맷) - : 유니코드 정규화·분류·검색 textwrap 긴 텍스트를 일정 폭으…
- [Python] threading: Thread, Lock, Event python ← 2
- 별칭: python threading, Thread, Lock, RLock, Event, Condition, Barrier, GIL
- 정의 은 OS 스레드 기반 동시성 모듈. GIL 때문에 CPU 바운드 작업은 가속되지 않으나 I/O 바운드(네트워크, 디스크) 작업의 병렬화는 가능. 3.13+ free-thre…
- [Python] tracemalloc, sys.getsizeof: 메모리 프로파일링 python ← 1
- 별칭: python tracemalloc, memory profiling, sys.getsizeof, memory leak, snapshot
- 정의 은 Python의 메모리 할당 추적기(PEP 454, 3.4+). 어디서 메모리가 할당되었는지 파일·줄 단위로 통계 수집. 메모리 누수 추적과 핫스팟 발견에 표준 도구. 기…
- [Python] tuple: 불변 시퀀스와 NamedTuple python ← 3
- 별칭: python tuple, 파이썬 튜플, namedtuple, tuple unpacking, PyTupleObject, tuple packing
- 정의 은 불변(immutable) 시퀀스다. 와 거의 같은 API를 가지나 생성 후 변경 불가하며, 그 덕에 dict 키나 set 원소로 사용 가능하다(해시 가능). 함수의 다중…
- [Python] TypedDict, Protocol, runtime_checkable python ← 3
- 별칭: python typeddict, python protocol, structural subtyping, runtime_checkable, PEP 544, PEP 589
- TypedDict (PEP 589, 3.8+) dict의 키와 값 타입을 명시. JSON API 응답이나 설정처럼 dict로 들어오지만 스키마가 정해진 경우. 런타임엔 그냥 di…
- [Python] typing: 타입 힌트 기초 python ← 5
- 별칭: python typing, type hints, Optional, Union, Generic, TypeVar
- 정의 Python 타입 힌트(PEP 484)는 런타임에 강제되지 않는 정적 어노테이션이다. , , 같은 타입 체커가 정적 분석에 사용. 런타임은 어노테이션을 무시 (단, 일부 프…
- [Python] unittest.mock: Mock, patch, MagicMock python ← 1
- 별칭: python mock, unittest.mock, MagicMock, patch, spy, test double
- 정의 은 테스트용 대역체(test double) 생성과 패칭을 위한 표준 라이브러리. , , 를 통해 외부 의존성을 격리하고 호출을 검증한다. pytest와도 잘 어울리며 같은 …
- [Python] urllib, requests, httpx: HTTP 클라이언트 python
- 별칭: python urllib, requests, httpx, urlopen, HTTP client, url parsing
- 정의 Python에서 HTTP 통신 옵션: - (stdlib): 외부 의존성 없는 기본 클라이언트. 다소 장황. - (third-party): 사실상 표준 HTTP 클라이언트. …
- [Python] warnings: 경고 발생과 필터링 python
- 별칭: python warnings, DeprecationWarning, FutureWarning, warnings.warn, warnings.filterwarnings, stacklevel
- 정의 모듈은 에러보다 약한 경고를 발생·필터링한다. 라이브러리가 deprecated API 알림, 잠재적 버그 신호, 권장하지 않는 사용 패턴 등을 사용자에게 전달할 때 사용. …
- [Python] YAML, TOML, INI: 설정 파일 포맷 python
- 별칭: python yaml, PyYAML, tomllib, configparser, ruamel.yaml, settings
- 정의 설정 파일 포맷 비교: - JSON: 데이터 직렬화. 주석 없음, 좀 엄격. ( stdlib) - YAML: 풍부한 표현, 가독성 좋음. 보안 함정. ( 외부) - TOML…
- [Python] zipfile, tarfile, gzip, lzma: 압축과 아카이브 python
- 별칭: python zipfile, tarfile, gzip, lzma, bz2, shutil.archive, 압축
- 정의 압축·아카이브 관련 표준 모듈. - : ZIP 아카이브 (Windows 친화) - : TAR/TAR.GZ/TAR.BZ2 (Unix 표준) - : 단일 파일 gzip 압축 -…
- [Rails] 배포: Kamal, Capistrano, Heroku rails
- 별칭: rails deployment, kamal, capistrano, rails heroku, rails docker, puma config
- 정의 Rails 배포 옵션: - Kamal (Rails 8 기본): Docker + zero-downtime, 자체 호스팅 - Capistrano: SSH 기반 (전통) - He…
- [Rails] 보안: CSRF, XSS, SQL injection, encrypted credentials rails
- 별칭: rails security, rails CSRF, strong parameters, encrypted credentials, secret_key_base
- 정의 Rails는 OWASP Top 10 대부분을 기본 방어한다. 그러나 설정 누락, 남용, raw SQL 등이 흔한 함정. 보안은 기본 활성이고 명시적으로 우회해야 비활성. C…
- [Rails] 성능: N+1, bullet, rack-mini-profiler rails
- 별칭: rails performance, bullet gem, rack-mini-profiler, N+1 detection, slow rails
- 정의 Rails 성능 최적화는 보통 DB 쿼리 (N+1 회피, 인덱스), 캐싱, view 렌더링, Ruby 코드 효율 순서로 접근. 측정 도구 ( , , APM)로 hotspot…
- [Rails] 쿼리 최적화: preload, eager_load, includes, references rails ← 3
- 별칭: Rails N+1, preload, eager_load, includes, references rails, rails eager loading, Active Record 쿼리 최적화, Rails 쿼리 최적화
- 정의 Active Record 는 연관 ( , ) 을 lazy 로딩한다. 부모 객체를 받아온 뒤 자식을 순회하면 자식마다 SELECT 가 1번씩 추가로 발생 = N+1 문제. R…
- [Rails] 테스트: Minitest, RSpec, FactoryBot, Capybara rails ← 1
- 별칭: rails test, rspec rails, factory bot, system test, capybara, minitest rails
- 정의 Rails는 Minitest 기반 테스트를 기본 제공한다. 커뮤니티는 RSpec도 광범위 사용. FactoryBot(객체 생성), Capybara(브라우저 시뮬레이션), R…
- [Rails] Action Cable & Solid Cable: WebSocket rails
- 별칭: action cable, websocket, solid cable, channels, broadcast, rails realtime
- 정의 Action Cable은 Rails의 WebSocket 통합. 채널(channel) 기반 발행/구독 모델. Rails 8부터 Solid Cable (DB 기반 어댑터)이 기…
- [Rails] Action Mailer: 이메일 발송 rails
- 별칭: action mailer, rails mailer, deliver_later, MailerPreview, smtp_settings
- 정의 Action Mailer는 Rails의 이메일 처리 프레임워크. 컨트롤러처럼 구조화된 mailer 클래스 + ERB 템플릿 + Active Job 통합. SMTP, Send…
- [Rails] Action Text & Active Storage 통합 rails
- 별칭: action text, rich text, trix editor, has_rich_text, rails wysiwyg
- 정의 Action Text (Rails 6+)는 Trix 에디터 + Active Storage 통합 + 안전한 HTML 저장으로 rich text 콘텐츠 처리. 댓글, 게시글, …
- [Rails] Active Job 고급: retry, schedule, callback rails ← 1
- 별칭: active job retry, discard_on, ActiveJob callbacks, rails idempotency, queue priority
- 정의 Active Job 기본 사용은 별도 페이지. 이 문서는 재시도 전략, 콜백, 시리얼라이즈, 멱등성, 우선순위 등 고급 패턴을 다룬다. Retry / Discard Wait…
- [Rails] Active Job: 백그라운드 워커 rails ← 4
- 별칭: active job, perform_later, sidekiq, good_job, solid_queue, rails background job
- 정의 Active Job은 백엔드(Sidekiq, Resque, Solid Queue 등) 추상화 계층. 같은 코드로 다른 queue adapter 교체 가능. Rails 8부터…
- [Rails] Active Record Encryption rails
- 별칭: rails encryption, encrypts attribute, deterministic encryption, rails 7 encryption
- 정의 Active Record Encryption (Rails 7.0+)은 모델 attribute 자동 암호화. 키 관리, 검색(deterministic), 마이그레이션 등 내장…
- [Rails] Active Storage: 파일 업로드와 attachment rails
- 별칭: active storage, has_one_attached, has_many_attached, blob, S3 storage, image variant
- 정의 Active Storage는 Rails 5.2+ 표준 파일 업로드 솔루션. S3, GCS, Azure, 로컬 디스크를 균일한 API로. 이미지 variant(크기 변환), …
- [Rails] Active Support: Ruby 확장 rails
- 별칭: active support, rails ruby extension, concern, Time helpers, blank present
- 정의 Active Support는 Ruby 표준 라이브러리에 Rails가 추가하는 유틸리티 + 코어 확장. , , 등 모든 Rails 코드에서 사용. Rails 없는 Ruby 프…
- [Rails] ActiveRecord 기초: Model, Migration, CRUD rails ← 4
- 별칭: activerecord basics, rails model, rails migration, create_table, AR CRUD
- 정의 ActiveRecord는 Rails의 ORM. 클래스 ↔ 테이블 1:1 매핑(관례), 인스턴스 = 행. Active Record 패턴 그대로(데이터 + 행동). 마이그레이션…
- [Rails] ActiveRecord Callbacks: 장점과 단점 rails ← 1
- 별칭: ActiveRecord callbacks, Rails callbacks, before_save, after_create, after_commit, before_validation, Rails hook
- 정의 ActiveRecord Callbacks = 모델의 라이프사이클 이벤트 (생성, 갱신, 삭제) 에 훅 을 거는 메커니즘. DRY + 자동화 가 매력이지만 암묵적 부수효과 의…
- [Rails] AR Associations: belongs_to, has_many, polymorphic rails ← 3
- 별칭: rails associations, has_many through, belongs_to, polymorphic association, STI
- 정의 ActiveRecord associations로 테이블 간 관계를 객체 그래프로 표현. 6가지 매크로( , , , , , )와 polymorphic, STI 같은 고급 패턴…
- [Rails] AR Validations와 Callbacks rails ← 1
- 별칭: rails validations, rails callbacks, before_save, validates_uniqueness_of, errors
- 정의 ActiveRecord는 save 전 검증과 다양한 라이프사이클 콜백을 제공한다. 검증은 DB 제약과 별도(애플리케이션 레벨). 콜백은 신중히, 비즈니스 로직은 servic…
- [Rails] Caching: fragment, action, low-level, Russian Doll rails
- 별칭: rails caching, fragment cache, russian doll caching, Rails.cache, solid_cache
- 정의 Rails 캐싱은 fragment, action, page, HTTP, low-level (Rails.cache) 5단계. 모델·뷰 단위로 자동 무효화 (Russian Do…
- [Rails] Concerns, Engines, Generators rails ← 2
- 별칭: rails concerns, ActiveSupport::Concern, rails engine, rails generators, mountable engine
- 정의 Concern은 모듈에 클래스 메서드와 콜백을 한 곳에 모으는 패턴. Engine은 별도 gem으로 분리 가능한 미니 Rails 앱. Generator는 코드 자동 생성 (…
- [Rails] Controller: params, strong params, filters rails ← 1
- 별칭: rails controller, strong parameters, before_action, respond_to, ActionController
- 정의 Rails Controller는 라우터가 전달한 요청을 받아 Model 조작 + View 렌더링을 조율한다. RESTful 7 action(index, show, new, …
- [Rails] Encrypted Credentials과 환경변수 rails
- 별칭: rails credentials, master.key, rails secrets, encrypted credentials, dotenv-rails
- 정의 Rails 5.2+ 는 비밀 정보를 암호화해 git에 안전하게 커밋. Rails 6+ 환경별 ( , ) 가능. 파일 + 는 대안. 기본 사용 파일 구조 노출 → 모든 비밀 …
- [Rails] Form Object, Service Object, Query Object rails
- 별칭: rails form object, service object, query object, rails fat model, POROs
- 정의 Fat Model / Skinny Controller가 한계에 달하면 POROs (Plain Old Ruby Objects)로 책임 분리. Form Object (다중 모델…
- [Rails] Hotwire: Turbo Drive, Frames, Streams, Stimulus rails ← 1
- 별칭: rails hotwire, turbo drive, turbo frames, turbo streams, stimulus, rails SPA-less
- 정의 Hotwire는 Rails 7부터 기본인 "SPA 없이 SPA 같은 UX"를 위한 프론트엔드 접근. Turbo Drive(전체 페이지 전환을 fetch + DOM swap)…
- [Rails] I18n: 다국어와 지역화 rails
- 별칭: rails i18n, rails translations, I18n.t, rails-i18n gem, locale files
- 정의 Rails I18n은 로케일별 번역, 숫자/날짜 포맷, 시간대, 복수형, 통화 등을 통합 처리. 에 번역 저장, 로 조회. View, controller, model 어디서…
- [Rails] Rails 8: Solid Queue/Cache/Cable, Kamal, Propshaft rails ← 1
- 별칭: rails 8, solid queue, solid cache, solid cable, kamal deploy, propshaft, no PaaS
- 정의 Rails 8 (2024 11월)의 표어는 "No PaaS"다. Solid 시리즈로 Redis/외부 큐 의존을 제거하고, Kamal로 Docker 기반 자체 호스팅을 간단하…
- [Rails] Routes: resources, nested, scope, constraints rails ← 1
- 별칭: rails routes, rails routing, resources, resourceful routes, nested routes, rails namespace
- 정의 Rails 라우팅은 URL을 controller#action으로 매핑. RESTful resources 매크로가 7개 표준 액션을 한 줄로 생성. 에 정의. 로 전체 확인.…
- [Rails] Views: ERB, helpers, partials, layouts rails
- 별칭: rails views, ERB, rails helper, partial, layout, form_with, ViewComponent
- 정의 Rails View는 ERB(Embedded Ruby) 템플릿 + helper + partial + layout 조합. controller가 를 view로 전달. 뷰 로직은…
- [React] Component Composition: Props, Children, Render Prop, HOC, Compound frameworks ← 3
- 별칭: React Component Composition, props children, render prop, Higher Order Component, HOC, Compound Component, Slot, Portal, Context Provider, function component, class component, stateless component, stateful component
- 정의 Component Composition 은 작은 컴포넌트를 조합 해 큰 UI 를 만드는 React 의 핵심 빌드 블록. 객체지향의 상속 (inheritance) 대신 Com…
- [React] Lifecycle: Mount / Update / Unmount, StrictMode, Activity, RSC frameworks ← 3
- 별칭: React Lifecycle, React mount, React unmount, componentDidMount, componentWillUnmount, componentDidUpdate, Strict Mode, Strict Mode double invoke, React Activity, React Server Components lifecycle, hydration
- 정의 React Lifecycle 은 컴포넌트의 생성 → 갱신 → 제거 의 흐름. 함수 컴포넌트에서는 클래스의 lifecycle method 가 사라지고 render + effe…
- [React] useEffect: 동기화의 본질, dep array, cleanup, useEffectEvent frameworks ← 3
- 별칭: React useEffect, useEffect, useEffectEvent, useLayoutEffect, useInsertionEffect, effect cleanup, effect dependency array, Strict Mode double invoke, race condition useEffect
- 정의 는 컴포넌트의 렌더 결과 와 외부 시스템 을 동기화 하는 hook. - 외부 시스템: 브라우저 DOM, WebSocket, 구독, 타이머, 외부 라이브러리 (D3, Mapb…
- [React] useMemo / useCallback / memo: 자동 시대의 수동 도구 frameworks ← 5
- 별칭: React useMemo useCallback, useMemo, useCallback, React.memo, memo, memoization, referential equality, Object.is, React Compiler memoization
- 정의 세 가지 도구는 동일한 목표 (불필요한 재계산 / 재생성 / 재렌더 방지) 를 서로 다른 위치 에서 잡는다. - : 값 의 메모이제이션. deps 가 같으면 같은 값 반환.…
- [Redis] Bloom / Cuckoo / CMS / TopK: 확률 자료구조 database-internals ← 3
- 별칭: bloom-filter, Redis Probabilistic, Redis Bloom Filter, Cuckoo Filter, Count-Min Sketch, CMS, TopK, BF.ADD, BF.EXISTS, CF.ADD, CMS.INCRBY, TOPK.ADD, probabilistic data structures
- 정의 확률 자료구조 (Probabilistic Data Structures) 는 작은 메모리 로 대규모 데이터의 통계적 답 을 제어된 오차 로 내는 자료구조군. Redis 는 B…
- [Redis] Cache Patterns: Cache-Aside, Stampede, Eviction database-internals ← 11
- 별칭: LRU Cache, Redis Cache Patterns, Cache Aside, Look-aside cache, Write-through, Write-behind, Read-through, Cache Stampede, Thundering Herd, Dogpile, Stale-while-revalidate, single-flight, LRU, LFU, maxmemory-policy
- 정의 Cache Pattern 은 Redis (또는 다른 캐시) 를 어떤 경로로 읽고 쓰는지 의 디자인 결정. 같은 인프라로도 패턴 선택에 따라 일관성 / 지연 / 부하 가 완전…
- [Redis] Cluster: 16384 슬롯, MOVED/ASK, Atomic Slot Migration database-internals
- 별칭: Redis Cluster, Valkey Cluster, hash slot, CRC16, hash tag, MOVED, ASK, ASKING, CLUSTER MEET, gossip, atomic slot migration
- 정의 Redis Cluster 는 수평 확장 을 위한 내장된 sharding + 자동 failover. 16384 개의 hash slot 으로 키 공간 을 잘라 여러 노드 에 분…
- [Redis] Distributed Lock: SET NX, Redlock, Fencing Token database-internals ← 5
- 별칭: Redis Distributed Lock, Redis 분산 락, Distributed Lock, Redlock, Redlock 5 instances, SET NX EX, fencing token, Redisson, Kleppmann Redlock, lock expiry
- 정의 분산 락 (Distributed Lock) 은 여러 프로세스 / 머신 에서 한 시점에 하나만 임계 영역에 진입하도록 보장하는 동기화 도구. Redis 는 간단한 SETNX …
- [Redis] Hash: 객체 저장, Field TTL (7.4+), Listpack vs Hashtable database-internals ← 3
- 별칭: Redis Hashes, Redis Hash, HSET, HGET, HGETALL, HINCRBY, HEXPIRE, HPEXPIRE, HPERSIST, HTTL, Hash Field TTL, field expiration, HSETEX, HGETEX, HGETDEL
- 정의 Redis Hash 는 키 안의 작은 dict. 하나의 키 ( ) 가 여러 field → value 쌍을 가진다. 부분 갱신 / 부분 조회 가 atomic + 효율적. = …
- [Redis] HyperLogLog & Geo: 확률 카운팅 + 공간 인덱스 database-internals ← 5
- 별칭: Redis HyperLogLog Geo, Redis HyperLogLog, HLL, PFADD, PFCOUNT, PFMERGE, Redis Geo, GEOADD, GEOSEARCH, GEODIST, geohash, cardinality estimation, spatial index
- 정의 이 페이지는 작지만 강력한 두 자료구조 를 묶는다. - HyperLogLog (HLL): 대규모 unique count 를 0.81% 오차로 12 KB 안에 추정. - Ge…
- [Redis] List: Quicklist / Listpack, BLPOP, Sidekiq 큐 database-internals ← 2
- 별칭: Redis Lists, Redis List, LPUSH, RPUSH, LMOVE, BRPOPLPUSH, BLPOP, BRPOP, LRANGE, quicklist, listpack, ziplist, circular buffer
- 정의 Redis List 는 양끝 push / pop 이 O(1) 인 순서 보존 시퀀스. 큐 (FIFO), 스택 (LIFO), 최근 N개 목록, Sidekiq 같은 큐 시스템 의…
- [Redis] Persistence: RDB / AOF / Hybrid database-internals ← 6
- 별칭: Redis Persistence, RDB, AOF, appendfsync, BGSAVE, BGREWRITEAOF, save points, Redis fork
- 정의 Redis Persistence 는 in-memory 데이터를 디스크 로 지속화하는 메커니즘. 세 가지 옵션: 1. RDB (Redis Database file): 주기적 …
- [Redis] Pub/Sub vs Streams: 휘발 신호 vs 영속 로그 database-internals ← 17
- 별칭: Redis Pub Sub vs Streams, Redis Pub/Sub, Redis Streams, XADD, XREADGROUP, XACK, XPENDING, Consumer Group, Keyspace Notifications, Sidekiq queue, BullMQ
- 정의 - Pub/Sub ( / ): 지금 듣고 있는 구독자 에게만 메시지가 전달되는 휘발성 신호. 영속 없음, ACK 없음. fan-out. - Streams ( / / / ):…
- [Redis] Replication & Sentinel: 비동기 복제와 자동 Failover database-internals ← 4
- 별칭: Redis Replication, Redis Sentinel, PSYNC, replication backlog, min-replicas-to-write, WAIT command, REPLICAOF, Redis HA, Redis failover
- 정의 Redis Replication 은 primary (master) → replica (slave) 방향의 비동기 단방향 복제. 읽기 부하 분산 과 고가용성 의 토대. Red…
- [Redis] Set: 중복 없는 멤버십, SINTER / SUNION / SDIFF database-internals ← 4
- 별칭: Redis Sets, Redis Set, SADD, SREM, SISMEMBER, SMISMEMBER, SMEMBERS, SUNION, SINTER, SDIFF, SINTERCARD, intset
- 정의 Redis Set 은 중복 없는 unordered 멤버 집합. SADD / SREM / SISMEMBER 가 O(1), SINTER / SUNION / SDIFF 의 집합 …
- [Redis] Sorted Set: Skiplist + Dict, 리더보드, 우선순위 큐 database-internals ← 10
- 별칭: Redis Sorted Sets, Redis Sorted Set, ZSet, ZADD, ZRANGE, ZRANGEBYSCORE, ZRANGEBYLEX, ZRANK, ZSCORE, ZPOPMIN, ZPOPMAX, ZMPOP, skiplist, leaderboard, sliding window, priority queue
- 정의 Redis Sorted Set (ZSet) 은 멤버 + 점수 (score) 의 순서 보존 unique 집합. score 기준 정렬 + 멤버 기준 O(1) 조회 가 동시에 가…
- [Redis] Stream: Radix Tree + Listpack, Consumer Group 내부 database-internals ← 1
- 별칭: Redis Stream, XADD, XREAD, XREADGROUP, XACK, XCLAIM, XAUTOCLAIM, XPENDING, XTRIM, XDELEX, XACKDEL, XNACK, radix tree, listpack stream, stream ID
- 정의 Redis Stream 은 append-only 로그 자료구조. 시간 순서가 보존되는 영속 메시지 시퀀스 + consumer group 으로 작업 분배. Kafka 의 Re…
- [Redis] String / Bitmap / Bitfield: 가장 기본 + 가장 강력 database-internals ← 4
- 별칭: Redis Strings, Redis String, Redis Bitmap, Redis Bitfield, SDS, Simple Dynamic String, INCR, INCRBYFLOAT, SETRANGE, GETRANGE, BITCOUNT, BITOP, BITPOS, BITFIELD, SETBIT
- 정의 Redis String 은 binary-safe 한 바이트 열. 최대 512 MB. 문자열만이 아니라 정수, 부동소수, 직렬화된 객체, 비트맵 (Bitmap), 패킹된 정수…
- [Redis] Vector Search: HNSW, SVS-VAMANA, Semantic Cache database-internals ← 8
- 별칭: Redis Vector Search, RediSearch, Valkey Search, Vector Set, HNSW, SVS-VAMANA, FLAT vector index, FT.SEARCH, FT.HYBRID, semantic cache, RAG, vector embedding
- 정의 Vector Search 는 임베딩 벡터의 거리/유사도 기준으로 근접한 K 개 를 찾는 검색. Redis 는 RediSearch 모듈 (Redis 8 부터는 코어) 과 Va…
- [Search] ElasticSearch 기본 원리: Inverted Index, Segment, Lucene search ← 5
- 별칭: ES 기본 원리, inverted index, 역색인, Lucene segment, near real-time, refresh interval, translog, Lucene
- 정의 ES 의 모든 동작 은 Lucene 의 inverted index 위에 얹혀있다. 문서 단위 저장 + term 단위 검색 의 분리. Inverted Index (역색인) 위…
- [Search] Elasticsearch vs OpenSearch: 라이센스 분기와 차이 search ← 1
- 별칭: OpenSearch, ES vs OpenSearch, Elastic license, SSPL, AGPLv3 elasticsearch, fork, AWS OpenSearch Service
- 정의 OpenSearch = AWS 가 2021 년 Elasticsearch 7.10 에서 fork 한 Apache 2.0 라이센스 search engine. Kibana → O…
- [Search] ElasticSearch: Lucene 위 분산 검색 엔진 search ← 3
- 별칭: ElasticSearch, Elastic, Elastic Stack, ELK, ES license, ES 8.x, ES 9.x
- 정의 ElasticSearch = Apache Lucene 위의 분산 RESTful 검색/분석 엔진. 2010 출시. Logstash + Kibana + Beats 와 함께 El…
- [Search] ES 인프라: cluster, shard, replica, ELK search ← 2
- 별칭: ES cluster, ES shard, ES replica, node role, ILM, ELK Stack, Elastic Stack, Beats, Elastic Agent, Fleet, Logstash, Kibana
- 정의 ES 는 분산 시스템. cluster + multiple nodes + shards + replicas + Elastic Stack 보조 도구. Cluster 구조 Node…
- [Search] ES 한글 인덱싱: nori, mecab, 형태소 분석 search ← 3
- 별칭: 한글 인덱싱, nori, nori_tokenizer, mecab-ko, mecab-ko-analyzer, arirang, 한국어 분석기, 한글 형태소 분석, Korean analyzer
- 정의 한국어 는 교착어 + 띄어쓰기 모호 + 형태소 변화 때문에 공백 단순 분리 로는 검색 불가. 형태소 분석 (morphological analysis) 필수. 한글이 어려운 …
- [Search] ES Aggregations: metric, bucket, pipeline search ← 5
- 별칭: aggregations, aggs, terms agg, date_histogram, metric aggregation, bucket aggregation, pipeline aggregation, sub-aggregation
- 정의 Aggregations (aggs) = ES 의 집계 분석. SQL 의 GROUP BY + 함수 + window. 검색 결과 또는 전체 위에서. 3가지 카테고리 Metric…
- [Search] ES Indexing: bulk, refresh, ingest pipeline search ← 4
- 별칭: ES indexing, bulk API, _bulk, ingest pipeline, refresh, force_merge, _reindex, update by query
- 정의 Indexing = JSON 문서를 역색인에 등록 하는 행위. Lucene segment 빌드 + refresh + flush 의 흐름. Lucene Segment 생명주기…
- [Search] ES Mapping: field type, dynamic, multi-field search ← 7
- 별칭: ES mapping, field type, dynamic mapping, text vs keyword, multi-field, nested vs object, runtime field
- 정의 Mapping = ES 의 schema. 각 필드의 type + analyzer + indexing 옵션. 대부분 immutable (재인덱싱 필요). Field Type …
- [Search] ES Query: must / should / filter / must_not search ← 7
- 별칭: ES query, bool query, must, should, filter, must_not, match, term, range, query DSL, ESQL
- 정의 ES 의 Query DSL = JSON 기반 표현력 풍부한 쿼리 언어. bool query + leaf query 의 조합. bool query: 4가지 절 | 절 | AN…
- [Search] ES Relevance Scoring: BM25, TF-IDF, function_score search ← 5
- 별칭: BM25, Okapi BM25, TF-IDF, relevance score, _score, k1, b parameter, function_score, rescore
- 정의 Relevance Score ( ) = 쿼리와 문서의 매칭 강도. ES 7+ 의 기본은 BM25 (TF-IDF 의 발전형). BM25 공식 | 부분 | 의미 | |---|-…
- [Search] ES Sort: relevance, field, script, geo search ← 3
- 별칭: ES sort, sort by relevance, _score, doc_values, fielddata, search_after, PIT, track_total_hits
- 정의 ES 의 기본 정렬 = relevance score (BM25) 내림차순. 명시적 sort 로 변경 가능. docvalues 로 메모리 효율적 정렬. 5가지 정렬 1. Fi…
- [Search] ES Vector Search: kNN, ELSER, RAG search ← 5
- 별칭: ES vector search, dense_vector, sparse_vector, kNN search, HNSW, ELSER, Elastic Learned Sparse EncodeR, hybrid search, RRF, semantic_text
- 정의 ES 의 벡터 검색 = 임베딩 기반 의미 검색. kNN (Approximate Nearest Neighbor) 으로 수억 벡터 안에서 가까운 K개 찾기. 2026 시점의 E…
- [Spring AI] 개요: ChatClient, ChatModel, Prompt spring ← 1
- 별칭: Spring AI, ChatClient, ChatModel, Prompt, PromptTemplate, spring ai overview, 스프링 AI
- 정의 Spring AI 는 LLM (OpenAI, Anthropic, Vertex AI, Bedrock, Ollama 등) 을 Spring 스타일로 사용하게 해 주는 abstra…
- [Spring AI] RAG: Embedding, VectorStore, QuestionAnswerAdvisor spring ← 1
- 별칭: Spring AI RAG, Embedding, EmbeddingModel, VectorStore, PgVector, Chroma, QuestionAnswerAdvisor, DocumentReader, ETL pipeline
- 정의 RAG (Retrieval Augmented Generation) 는 LLM 의 지식 한계 (학습 cutoff, 사내 문서 부재) 를 극복하기 위해, 질문 시점에 외부 지식…
- [Spring Batch] 대용량 배치 처리 spring ← 1
- 별칭: spring batch, Job, Step, ItemReader, ItemProcessor, ItemWriter, chunk processing
- 정의 Spring Batch는 대용량 데이터의 배치 처리 (ETL, 일괄 통계, 마이그레이션 등)를 위한 프레임워크. Job → Step → ItemReader → ItemPro…
- [Spring Boot] 자동 구성과 @SpringBootApplication spring ← 8
- 별칭: spring boot autoconfiguration, EnableAutoConfiguration, starter dependencies, spring.factories, AutoConfiguration
- 정의 Spring Boot의 핵심 가치 = 자동 구성(autoconfiguration). classpath의 라이브러리를 보고 합리적 기본 설정으로 Bean 등록. Tomcat이…
- [Spring Boot] Actuator 커스텀: Endpoint, HealthIndicator, Metric spring
- 별칭: Actuator custom endpoint, Custom HealthIndicator, Custom Metric Micrometer, @Endpoint, @ReadOperation, Actuator 확장, 스프링 액추에이터 커스텀
- 정의 Spring Boot Actuator 의 확장 포인트. 기본 endpoint ( , , ) 외에 도메인 정보 노출: - : 새로운 endpoint - : 의 sub-heal…
- [Spring Boot] Build Plugins: Maven, Gradle, Executable JAR, OCI Image spring ← 2
- 별칭: Spring Boot Maven Plugin, Spring Boot Gradle Plugin, Executable JAR, Layered JAR, OCI image, bootBuildImage, 스프링 부트 빌드
- 정의 Spring Boot 의 빌드 플러그인은 표준 jar 가 아닌 executable jar (fat jar / uber jar) 생성. 추가로 OCI 이미지, native i…
- [Spring Boot] Database Initialization: schema.sql, Flyway, Liquibase spring ← 3
- 별칭: Spring Boot DB initialization, schema.sql, data.sql, Flyway, Liquibase, DB migration, DDL auto, 스프링 부트 DB 초기화
- 정의 DB 스키마 / 데이터를 application 시작 시점에 자동 설정하는 메커니즘. 세 가지 접근: 1. / (Spring Boot 내장, 단순) 2. Hibernate (…
- [Spring Boot] Deployment: 전통 WAR, Cloud, Systemd spring ← 3
- 별칭: Spring Boot Deployment, WAR deployment, Cloud Foundry Spring Boot, Heroku Spring Boot, AWS Beanstalk Spring Boot, systemd service Spring Boot, 스프링 부트 배포
- 정의 컨테이너 / K8s 외의 Spring Boot 배포 옵션: - Traditional WAR: 외부 Tomcat / Jetty (legacy 환경) - systemd serv…
- [Spring Boot] Docker / Kubernetes 배포 spring ← 4
- 별칭: Spring Boot Docker, Spring Boot Kubernetes, K8s deployment, Helm Spring Boot, Probe health liveness readiness, Docker Compose Spring Boot, 스프링 부트 컨테이너 배포
- 정의 Spring Boot 앱을 컨테이너로 배포. 두 가지 주류: - Docker / Docker Compose: 단일 호스트, 개발 + 소규모 운영 - Kubernetes: 멀…
- [Spring Boot] Embedded Web Server 설정과 튜닝 spring ← 4
- 별칭: Spring Boot Embedded Server, Tomcat tuning, Netty tuning, Jetty tuning, Undertow tuning, WebServerFactoryCustomizer, server.port, 내장 웹 서버
- 정의 Spring Boot 의 starter 가 내장 서버를 함께 번들. 별도 WAR 배포 / 외부 Tomcat 불필요. 기본 매핑: - → Tomcat (기본) - → Nett…
- [Spring Boot] Hibernate Naming Strategy spring ← 2
- 별칭: Hibernate Naming Strategy, PhysicalNamingStrategy, ImplicitNamingStrategy, SpringPhysicalNamingStrategy, snake_case naming, camelCase to snake_case, JPA 컬럼명 매핑, 하이버네이트 네이밍 전략
- 정의 Hibernate 가 entity 클래스 / 필드명 → DB table / column 명으로 변환하는 규칙. 두 단계로 분리: | 단계 | 역할 | 인터페이스 | |---…
- [Spring Boot] Logging: Logback, Log4j2, Structured Logging spring ← 2
- 별칭: Spring Boot Logging, logback-spring.xml, log4j2-spring.xml, structured logging, MDC Spring Boot, JSON logging, spring boot 로그 설정
- 정의 Spring Boot 의 기본 로거는 Logback ( 가 자동 포함). SLF4J facade 위에서 동작. 교체 가능: - : Log4j2 (높은 처리량, async l…
- [Spring Boot] Multi-DataSource: 복수 DB 연결과 트랜잭션 spring ← 2
- 별칭: Spring Boot Multi DataSource, Multiple DataSource, ChainedTransactionManager, RoutingDataSource, Read Replica Spring Boot, 복수 데이터소스, 다중 DB
- 정의 한 Spring Boot 앱이 여러 DB / 여러 스키마 에 접근. 패턴 세 가지: 1. 물리적으로 분리된 DB (orders DB + analytics DB) 2. Rea…
- [Spring Boot] Properties 외부화: PropertySource, Profile, @ConfigurationProperties spring ← 4
- 별칭: Spring Boot Properties, Externalized Configuration, application.yml, application.properties, PropertySource, @ConfigurationProperties Spring Boot, Spring Boot 환경 설정
- 정의 Spring Boot 는 설정값을 15가지 소스에서 우선순위로 병합. 같은 키가 여러 곳에 있으면 우선순위 높은 게 이김. 코드 변경 없이 환경별 설정 가능. 핵심 소스 (…
- [Spring Boot] SSL/HTTPS 설정 spring ← 2
- 별칭: Spring Boot SSL, Spring Boot HTTPS, TLS, keystore, PEM Spring Boot, SSL Bundle, mutual TLS, mTLS spring
- 정의 Spring Boot 에서 HTTPS / TLS 설정 방법. JKS (legacy), PKCS12, PEM (modern), SSL Bundles (Spring Boot 3…
- [Spring Boot] YAML Configuration: multi-document, profiles, anchors spring
- 별칭: Spring Boot YAML, application.yml, YAML profile, YAML anchor, spring config import, 스프링 YAML 설정
- 정의 Spring Boot 는 와 모두 지원. YAML 권장: 계층 구조 가독성, multi-document, anchors / aliases, list / map native …
- [Spring Cloud] Eureka, Config, Gateway, OpenFeign spring ← 4
- 별칭: spring cloud, spring cloud gateway, eureka discovery, config server, openfeign, circuit breaker
- 정의 Spring Cloud는 Spring Boot 기반 마이크로서비스 인프라 패턴 (service discovery, config server, gateway, circuit …
- [Spring Data] MongoDB: MongoTemplate, MongoRepository spring
- 별칭: Spring Data MongoDB, MongoTemplate, MongoRepository, ReactiveMongoTemplate, @Document, spring mongo, 스프링 몽고
- 정의 Spring Data MongoDB 는 MongoDB 를 Spring 스타일로 사용하는 추상화. JPA 와 비슷한 Repository 패턴 + MongoDB native q…
- [Spring MVC] Argument Resolver: Custom HandlerMethodArgumentResolver spring ← 1
- 별칭: HandlerMethodArgumentResolver, HandlerMethodReturnValueHandler, @AuthenticationPrincipal, @RequestAttribute, @SessionAttribute, Custom annotation, ArgumentResolver
- 정의 HandlerMethodArgumentResolver = 컨트롤러 메서드 인자를 어떻게 채울지 결정 하는 확장점. Spring 의 수십 개 표준 resolver + 커스텀 …
- [Spring MVC] Content Negotiation: Accept 헤더, MediaType, ContentNegotiationStrategy spring ← 1
- 별칭: Content Negotiation, Accept header, MediaType, ContentNegotiationStrategy, produces, consumes, HttpMessageConverter, Jackson
- 정의 Content Negotiation = 같은 endpoint 가 Accept 헤더 에 따라 다른 포맷 응답. JSON / XML / HTML / CSV 등. 결정 우선순위 …
- [Spring MVC] Exception Handling: @ExceptionHandler, ControllerAdvice, ProblemDetail spring ← 3
- 별칭: @ExceptionHandler, @ControllerAdvice, @RestControllerAdvice, ProblemDetail, RFC 7807, ResponseEntityExceptionHandler, ErrorAttributes, global exception handler
- 정의 Spring MVC 의 예외 처리 3 계층: 1. - 컨트롤러 내부 2. / - 전역 3. 상속 - Spring 의 표준 예외 자동 처리 처리 우선순위 컨트롤러 내부 컨트롤…
- [Spring MVC] Form Handling: @ModelAttribute, DataBinder, conversion spring ← 4
- 별칭: @ModelAttribute, Form binding, WebDataBinder, ConversionService, PropertyEditor, InitBinder, Formatter, BindingErrorProcessor
- 정의 Form Handling = HTML form 의 요청 파라미터 → Java 객체 변환 + 검증 + 에러 처리. 핵심: + + . 기본 흐름 자세한 BindingResult…
- [Spring MVC] Model + BindingResult: 뷰 모델과 바인딩 오류 처리 spring ← 5
- 별칭: Spring Model, BindingResult, ModelAndView, RedirectAttributes, @ModelAttribute, Errors, FieldError, ObjectError
- 정의 Model = 컨트롤러 → 뷰 (Thymeleaf, JSP) 로 데이터 전달. BindingResult = 요청 파라미터 → 객체 바인딩 결과 + 오류. 둘 다 Spring…
- [Spring MVC] Thymeleaf: 서버 사이드 템플릿 엔진 spring ← 2
- 별칭: Thymeleaf, spring thymeleaf, th:each, th:if, th:object, th:field, Thymeleaf fragment, th:fragment, th:replace, layout dialect
- 정의 Thymeleaf = Java 서버 사이드 HTML 템플릿 엔진. natural template 철학 (브라우저에서 그대로 열어도 동작). Spring Boot 가 기본 권…
- [Spring Security] OAuth2 Authorization Code Flow + PKCE spring ← 3
- 별칭: OAuth2 Authorization Code, OAuth2 Client, PKCE, OAuth2 Resource Server, Authorization Code Grant, OAuth2 Flow, 스프링 OAuth2
- 정의 가 OAuth2 Login (소셜 로그인) 의 개요를 다룬다면, 이 페이지는 표준 Authorization Code Grant 의 전체 흐름과 PKCE, refresh to…
- [Spring Security] Session Management와 Remember-Me spring ← 2
- 별칭: Spring Security Session, SessionManagement, Remember-Me, concurrent session, session fixation, Spring Session, 세션 관리
- 정의 가 JWT / stateless 위주를 다룬다면, 이 페이지는 session-based 인증 의 세부 동작 (생성 정책, 동시 세션 제한, fixation 방어, remem…
- [Spring Security] Testing: @WithMockUser, MockMvc, jwt(), oauth2Login() spring ← 2
- 별칭: Spring Security Test, @WithMockUser, @WithUserDetails, MockMvc security, csrf().with, jwt().jwt, 스프링 시큐리티 테스트
- 정의 Spring Security 가 적용된 컨트롤러를 테스트할 때 흔한 어려움: - 매번 실제 로그인 절차를 거쳐야 인증된 요청 가능 - CSRF token 이 없으면 POST…
- [Spring Validation] Custom Validator: ConstraintValidator, Groups, cross-field spring
- 별칭: ConstraintValidator, Custom @Valid annotation, Validation Groups, cross-field validation, @AssertTrue, @GroupSequence, ConstraintValidatorContext
- 정의 기본 , 등으로 부족한 도메인 검증 을 인터페이스 로 구현. 재사용 가능한 어노테이션 형태. 기본 validation 의 일반은 . 패턴 3가지 1. Constraint C…
- [Spring] @Autowired 해결 전략: @Qualifier, @Primary, byType spring ← 4
- 별칭: @Autowired, @Qualifier, @Primary, byType byName, autowire resolution, spring 의존성 해결, ObjectProvider
- 정의 가 의 기초 (생성자/필드/setter 주입) 를 다룬다면, 이 페이지는 같은 타입의 Bean 이 여러 개일 때 어떻게 하나를 골라내는지 의 해결 전략을 다룬다. 기본 알고…
- [Spring] @Conditional, Profile, @ConfigurationProperties spring ← 7
- 별칭: spring conditional, @Profile, @ConfigurationProperties, auto-configuration condition
- 정의 Spring Boot는 조건부 Bean 등록 메커니즘을 제공한다. classpath, property, 다른 Bean 유무 등에 따라 자동 구성을 활성화/비활성화. , 어노…
- [Spring] @Scheduled와 @Async spring ← 5
- 별칭: spring scheduled, spring async, task scheduler, TaskExecutor, cron expression
- 정의 Spring은 @Scheduled (정기 작업)와 @Async (비동기 메서드)를 어노테이션으로 제공. ThreadPool, TaskScheduler 설정 가능. Quart…
- [Spring] 개요: Framework, Boot, Cloud spring ← 2
- 별칭: spring overview, spring framework, spring boot, spring ecosystem
- 정의 Spring은 Java 엔터프라이즈 표준 프레임워크 그룹. 2003년 Rod Johnson이 EJB 대안으로 시작. IoC/DI가 핵심. 현재는: - Spring Frame…
- [Spring] Actuator: health, metrics, info spring ← 7
- 별칭: spring actuator, spring boot actuator, /actuator, Micrometer, health endpoint
- 정의 Spring Boot Actuator는 프로덕션용 monitoring/management endpoint 자동 제공. health check, metrics, env, be…
- [Spring] AMQP / RabbitMQ spring ← 2
- 별칭: spring amqp, rabbittemplate, @RabbitListener, exchange, queue binding
- 정의 Spring AMQP는 RabbitMQ 등 AMQP 0-9-1 호환 브로커의 Spring 통합. (publisher), (consumer), exchange/queue 자동…
- [Spring] AOP: @Aspect, Pointcut, Advice spring ← 8
- 별칭: spring aop, AspectJ, @Aspect, @Before, @Around, pointcut expression
- 정의 AOP (Aspect-Oriented Programming)는 cross-cutting concerns(로깅, 트랜잭션, 보안 등)를 비즈니스 코드에서 분리하는 기법. Sp…
- [Spring] Bean Lifecycle: 초기화와 소멸 콜백 spring ← 6
- 별칭: spring bean lifecycle, @PostConstruct, @PreDestroy, InitializingBean, DisposableBean, afterPropertiesSet, Bean 생명주기, 스프링 빈 라이프사이클
- 정의 가 Bean 등록과 주입 을 다룬다면, 이 페이지는 등록 이후 생성 → 사용 → 소멸 사이에 끼어드는 콜백을 다룬다. Spring 컨테이너가 단순히 객체를 만들고 끝내는 게…
- [Spring] Bean Scope 심화: Singleton, Prototype, Web Scope spring ← 3
- 별칭: spring bean scope, singleton scope, prototype scope, request scope, session scope, scoped proxy, @Scope, Bean 스코프
- 정의 가 5가지 scope 의 개요 를 다룬다면, 이 페이지는 그 중 함정 (prototype-into-singleton) 과 해결 패턴 (ScopedProxy, ObjectPr…
- [Spring] Bean Validation: @Valid, @NotBlank, custom spring ← 11
- 별칭: spring validation, bean validation, Jakarta validation, @Valid, @Validated, custom validator
- 정의 Spring은 Jakarta Bean Validation (JSR-380)을 표준으로 사용. , , 등 어노테이션으로 선언적 검증. Spring MVC가 로 자동 통합. 설…
- [Spring] BeanPostProcessor와 BeanFactoryPostProcessor spring ← 5
- 별칭: BeanPostProcessor, BeanFactoryPostProcessor, spring extension point, AutowiredAnnotationBeanPostProcessor, Spring 확장점, BPP, BFPP
- 정의 Spring 컨테이너의 2가지 확장점: - BeanFactoryPostProcessor (BFPP): Bean 인스턴스가 만들어지기 전, (메타데이터) 을 수정. 클래스명,…
- [Spring] Cache: @Cacheable, @CacheEvict, Redis spring ← 5
- 별칭: spring cache, @Cacheable, @CacheEvict, @CachePut, spring cache redis, CaffeineCache
- 정의 Spring Cache는 메서드 결과를 캐시하는 추상화. 한 줄로 메모이제이션. 백엔드는 Caffeine, Redis, Hazelcast, EhCache 등 자유롭게. 캐시…
- [Spring] CompositeMap & CompositeIterator spring
- 별칭: CompositeMap, CompositeIterator, org.springframework.util.CompositeMap, composite map, Spring CompositeMap, 합성 맵
- 정의 는 두 개의 Map 을 하나의 view 로 합쳐서 보여주는 read-mostly 자료구조. 첫 번째 Map 이 우선, 없으면 두 번째 Map 을 본다. 는 여러 Iterat…
- [Spring] ConcurrentLruCache spring ← 1
- 별칭: ConcurrentLruCache, org.springframework.util.ConcurrentLruCache, Spring LRU Cache, Spring LRU 캐시, 동시성 LRU 캐시
- 정의 는 Spring 5.3+ 의 thread-safe LRU (Least Recently Used) 캐시. 크기 제한이 있고, 가장 오래 사용하지 않은 항목부터 제거. 내부적으…
- [Spring] ConcurrentReferenceHashMap spring ← 2
- 별칭: ConcurrentReferenceHashMap, org.springframework.util.ConcurrentReferenceHashMap, Spring ConcurrentReferenceHashMap, weak concurrent map, soft concurrent map
- 정의 는 Spring Framework 의 핵심 유틸리티. 의 동시성 과 / 의 GC 친화성 을 결합한 Map. JDK 표준에 없는 조합. 메모리 압박 시 GC 가 entry 를…
- [Spring] DispatcherServlet: Front Controller 내부 spring ← 9
- 별칭: DispatcherServlet, FrontController, HandlerMapping, HandlerAdapter, ViewResolver, spring front controller, 디스패처 서블릿
- 정의 가 / 사용법 을 다룬다면, 이 페이지는 그 모든 요청을 받아 처리하는 의 내부 메커니즘 을 다룬다. 은 본질적으로 하나의 Servlet (). Front Controlle…
- [Spring] Events: @EventListener, @TransactionalEventListener spring ← 1
- 별칭: Spring Events, @EventListener, @TransactionalEventListener, ApplicationEventPublisher, ApplicationEvent, spring 이벤트, 이벤트 발행 구독
- 정의 Spring 의 in-process pub-sub. 모놀리식 앱 안에서 모듈 간 의존성을 줄이는 도구. 외부 메시지 브로커 (Kafka, RabbitMQ) 와 다른 점: 같…
- [Spring] HandlerInterceptor: preHandle, postHandle, afterCompletion spring ← 4
- 별칭: HandlerInterceptor, spring interceptor, preHandle postHandle afterCompletion, WebMvcConfigurer, 스프링 인터셉터, AsyncHandlerInterceptor
- 정의 HandlerInterceptor 는 내부에서 handler (Controller 메서드) 실행 전후 에 끼어드는 Spring MVC 전용 메커니즘. Filter 와 비슷하…
- [Spring] IoC와 DI: Bean, ApplicationContext, @Autowired spring ← 10
- 별칭: spring ioc, spring di, dependency injection, ApplicationContext, BeanFactory, constructor injection
- 정의 IoC (Inversion of Control)는 객체 생성/생명주기 제어를 프레임워크가 가져가는 원칙. DI (Dependency Injection)는 그 구현 방법. S…
- [Spring] JdbcTemplate, NamedParameterJdbcTemplate spring ← 4
- 별칭: spring jdbc, JdbcTemplate, NamedParameterJdbcTemplate, RowMapper, spring sql
- 정의 JdbcTemplate은 JPA 없이 raw SQL을 안전하게 다루는 Spring 표준. boilerplate 제거 (try-with-resources, exception …
- [Spring] LinkedCaseInsensitiveMap spring ← 1
- 별칭: LinkedCaseInsensitiveMap, org.springframework.util.LinkedCaseInsensitiveMap, case insensitive map, 대소문자 무관 맵, Spring 대소문자 맵
- 정의 는 을 기반으로 key 비교를 대소문자 무시 로 하는 Map. 단, 원본 key (대소문자 보존) 도 유지. HTTP 헤더 같은 도메인에서 과 을 같은 key 로 다뤄야 할…
- [Spring] MultiValueMap & LinkedMultiValueMap spring ← 2
- 별칭: MultiValueMap, LinkedMultiValueMap, org.springframework.util.MultiValueMap, org.springframework.util.LinkedMultiValueMap, MultiMap, Spring MultiValueMap
- 정의 는 하나의 key 에 여러 value 가 매핑되는 Map 인터페이스. 형식적으로는 의 sugared 형태. 는 그 기본 구현체, 내부적으로 를 보관 (삽입 순서 유지). S…
- [Spring] Native Image: GraalVM, 빠른 시작 spring ← 2
- 별칭: spring native, graalvm native, AOT compilation, spring boot native, buildpacks native
- 정의 Spring Native (3.0+)는 Spring Boot 앱을 GraalVM Native Image로 컴파일해 즉시 시작·낮은 메모리·작은 바이너리를 얻는다. JIT 없…
- [Spring] Reflection 유틸: ReflectionUtils, AnnotationUtils, ResolvableType spring ← 1
- 별칭: spring reflection, ReflectionUtils, AnnotationUtils, MethodIntrospector, BeanUtils, ResolvableType, AopUtils, 스프링 리플렉션
- 정의 Spring 은 reflection 을 헤비하게 쓴다. DI 처리, AOP 프록시, 해결, Jackson 통합, JPA entity 매핑 모두 reflection 위에서 동…
- [Spring] RequestContextHolder, LocaleContextHolder: ThreadLocal 기반 요청 컨텍스트 spring ← 11
- 별칭: RequestContextHolder, LocaleContextHolder, spring request context, ServletRequestAttributes, 스프링 요청 컨텍스트, RequestContextFilter
- 정의 Spring 은 HTTP 요청 / 응답 / locale / 트랜잭션 / 인증 같은 요청 범위 데이터를 ThreadLocal 에 저장 해 전역 노출한다. 메서드 인자로 일일이…
- [Spring] Resilience4j: CircuitBreaker, Retry, RateLimiter spring ← 1
- 별칭: resilience4j, circuit breaker pattern, spring retry, rate limiter, bulkhead
- 정의 Resilience4j는 Java용 fault-tolerance 라이브러리. Hystrix(maintenance) 대체. Spring Boot 통합으로 어노테이션 ( , ,…
- [Spring] RestClient, WebClient, RestTemplate spring ← 5
- 별칭: spring restclient, RestTemplate deprecated, WebClient, HTTP client spring, spring 6 RestClient
- 정의 Spring HTTP 클라이언트 3종: - RestTemplate: 동기, 전통 (5.0+ maintenance) - WebClient: reactive, async/syn…
- [Spring] Security: Filter Chain, JWT, OAuth2 spring ← 12
- 별칭: spring security, SecurityFilterChain, JWT, OAuth2, PasswordEncoder, authentication
- 정의 Spring Security는 인증·인가의 사실상 표준. 서블릿 필터 체인 위에 다양한 인증/권한 처리를 모듈식으로. 6.0+ 부터 Lambda DSL 표준, Bean 방식…
- [Spring] SpEL: Spring Expression Language spring
- 별칭: spring spel, expression language, @Value SpEL, spring expression, ExpressionParser
- 정의 SpEL (Spring Expression Language)은 Spring의 강력한 표현 언어. , , 등 어노테이션 내에서 동적 표현 평가. property 조회, 메서드…
- [Spring] Spring Data JPA: Repository, Query Methods spring ← 23
- 별칭: spring data jpa, JpaRepository, query methods, @Query, Specifications, Pageable
- 정의 Spring Data JPA는 JPA(Hibernate) 위에 Repository 추상화를 얹어 boilerplate를 제거. 인터페이스만 정의하면 Spring이 구현체 자…
- [Spring] Spring Data Redis spring
- 별칭: spring redis, RedisTemplate, redis pub/sub, lettuce, redis cache spring
- 정의 Spring Data Redis는 Redis 클라이언트(Lettuce, Jedis)의 Spring 추상화. , (저수준), 통합, (객체 매핑), pub/sub 등. 설정 …
- [Spring] Spring for Apache Kafka spring ← 3
- 별칭: spring kafka, KafkaTemplate, @KafkaListener, kafka producer, kafka consumer
- 정의 Spring Kafka는 Apache Kafka 클라이언트의 Spring 친화 래퍼. (producer), (consumer), (topic 관리), Spring Boot …
- [Spring] Spring MVC: @RestController, @RequestMapping spring ← 21
- 별칭: spring mvc, RestController, RequestMapping, PathVariable, RequestBody, ResponseEntity
- 정의 Spring MVC는 Servlet 기반 동기 웹 프레임워크. 이 요청을 받아 핸들러(컨트롤러 메서드)에 라우팅. REST API와 전통 MVC(HTML) 모두 지원. We…
- [Spring] Stereotype 어노테이션: @Component, @Service, @Repository, @Controller spring ← 4
- 별칭: @Component, @Service, @Repository, @Controller, @RestController, spring stereotype, 스프링 스테레오타입, @ComponentScan
- 정의 Stereotype 어노테이션 은 클래스가 Spring 컨테이너의 어떤 역할 (role) 인지를 의미적으로 표시한다. 모두 를 메타 어노테이션 으로 가진 specializa…
- [Spring] Testing: @SpringBootTest, MockMvc, Testcontainers spring ← 2
- 별칭: spring test, SpringBootTest, WebMvcTest, DataJpaTest, MockMvc, Testcontainers
- 정의 Spring Boot Test는 단위/슬라이스/통합 테스트 모두 지원. 가 JUnit 5, Mockito, AssertJ, Hamcrest, JsonPath 포함. 슬라이스…
- [Spring] Transaction: @Transactional, propagation, isolation spring ← 16
- 별칭: spring transaction, @Transactional, propagation, isolation level, rollback, PlatformTransactionManager
- 정의 Spring 트랜잭션은 AOP 기반 선언형 트랜잭션 관리. 한 줄로 메서드 전체를 트랜잭션 범위로. JDBC, JPA, MongoDB 등 backend에 동일 API. 기본…
- [Spring] Virtual Threads (Project Loom): Spring 6.1+ spring ← 3
- 별칭: Virtual Threads, Project Loom, spring loom, Virtual Thread Executor, spring 가상 스레드, loom integration
- 정의 Virtual Thread 는 JDK 21+ 에서 GA 된 경량 thread. JVM 이 OS thread (carrier) 위에 가상 thread 를 M:N 매핑. 수백만…
- [Spring] WebFlux: Reactive, Mono, Flux spring ← 12
- 별칭: spring webflux, reactor, Mono, Flux, spring reactive
- 정의 Spring WebFlux는 Project Reactor 기반의 비동기·non-blocking 웹 프레임워크. Spring MVC와 별개. Netty 기본 (Tomcat도 …
- [Spring] WebSocket과 STOMP spring
- 별칭: spring websocket, spring stomp, WebSocketHandler, messaging, spring sock-js
- 정의 Spring은 raw WebSocket API와 메시징 프로토콜 STOMP 둘 다 지원한다. STOMP는 publish/subscribe 기반 메시지 broker ( , ,…
- [SQL] Data Types sql ← 7
- 별칭: SQL Data Types, SQL 데이터 타입, SQL Types, DATE, TIMESTAMP, JSON, JSONB, VARCHAR, NUMERIC
- 정의 SQL 의 컬럼은 타입 을 가진다. 가능한 값의 도메인, 가능한 연산, 정렬 순서, 인덱스 종류, 저장 크기가 타입에 따라 결정된다. 같은 의미의 타입도 dialect 마다…
- [SQL] DCL TCL sql ← 6
- 별칭: SQL DCL TCL, SQL DCL, SQL TCL, GRANT, REVOKE, Transaction, BEGIN, COMMIT, ROLLBACK, SAVEPOINT, ACID
- 정의 - DCL (Data Control Language): 권한. , . - TCL (Transaction Control Language): 트랜잭션 경계. , , , . 같이…
- [SQL] DDL sql ← 6
- 별칭: SQL DDL, DDL, Data Definition Language, CREATE TABLE, ALTER TABLE, DROP TABLE
- 정의 DDL (Data Definition Language) 은 스키마를 정의/변경/제거 하는 SQL 의 하위 집합. 대상은 테이블, 인덱스, 뷰, 시퀀스, 스키마, 도메인 등.…
- [SQL] DML sql ← 8
- 별칭: SQL DML, DML, Data Manipulation Language, SELECT, INSERT, UPDATE, DELETE, Upsert
- 정의 DML (Data Manipulation Language) 은 데이터 자체를 조회/삽입/수정/삭제 하는 SQL 의 하위 집합. 일상 쿼리의 99% 가 여기에 속한다. | 명…
- [SQL] GROUP BY sql ← 6
- 별칭: SQL GROUP BY, GROUP BY, HAVING, Aggregation, SQL Aggregate, Window Function
- 정의 는 데이터를 키별로 그룹으로 나누고 각 그룹에 집계 함수 (aggregate) 를 적용해 그룹당 한 행으로 줄이는 연산. SQL 의 split-apply-combine. 와…
- [SQL] JOIN sql ← 5
- 별칭: SQL JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, CROSS JOIN, SELF JOIN
- 정의 JOIN 은 두 개 이상의 테이블을 공통 컬럼 (보통 키) 으로 결합해 한 결과셋으로 만드는 연산. SQL 의 관계 모델 핵심. 종류는 5 가지: , , , , . 같은 테…
- [TypeScript] Conditional Types typescript ← 8
- 별칭: TypeScript Conditional Types, TS Conditional Types, extends conditional, infer keyword, distributive conditional types, TS 조건부 타입
- 정의 Conditional Type 은 형태로 타입 레벨에서 조건 분기를 표현합니다. 키워드로 매칭된 타입을 추출하고, union 에 대해서는 자동 분배 (distributive…
- [TypeScript] Declaration Files (.d.ts) typescript ← 4
- 별칭: TypeScript Declaration Files, TS d.ts, TypeScript type definitions, ambient declaration, declare module, declare global, DefinitelyTyped, @types packages, TS 선언 파일
- 정의 Declaration File ( ) 은 타입 정보만 담은 파일입니다. 실행 코드 없이 함수, 클래스, 변수, 모듈의 타입 시그니처 만 선언합니다. JavaScript 라이…
- [TypeScript] Decorators typescript ← 10
- 별칭: TypeScript Decorators, TS Decorators, TC39 decorators, experimentalDecorators, TypeScript 5 decorators, class decorator, method decorator, TS 데코레이터
- 정의 Decorator 는 class, method, accessor, property, parameter 에 부착되는 함수로 그 대상을 검사/수정할 수 있습니다. TypeScr…
- [TypeScript] Enums typescript ← 3
- 별칭: TypeScript Enum, TypeScript Enums, TS enum, numeric enum, string enum, const enum, TypeScript 열거형, TS enum vs union
- 정의 Enum 은 여러 관련 상수를 하나의 이름 아래 그룹화하는 TypeScript 기능입니다. Numeric enum, string enum, const enum, hetero…
- [TypeScript] Generics typescript ← 13
- 별칭: TypeScript Generics, TS Generics, TypeScript generic function, TypeScript generic type, type parameter, TypeScript 제네릭, extends constraint, generic default
- 정의 Generics 는 타입을 파라미터화하는 문법입니다. 함수, 클래스, 인터페이스, type alias 가 재사용 가능 하면서도 타입 안전 하도록 만듭니다. Java 의 ge…
- [TypeScript] Interfaces typescript ← 9
- 별칭: TypeScript Interface, TypeScript Interfaces, TS interface, interface declaration, declaration merging, extends interface, TS 인터페이스
- 정의 Interface 는 객체의 shape (형태) 을 정의하는 TypeScript 문법입니다. 필드, 메서드, 인덱스 시그니처, 호출 시그니처를 선언하며, 로 상속하고 dec…
- [TypeScript] Mapped Types typescript ← 7
- 별칭: TypeScript Mapped Types, TS Mapped Types, keyof mapping, key remapping, as clause, TS 매핑 타입
- 정의 Mapped Type 은 기존 타입의 각 필드를 순회 ( ) 하며 새 타입을 생성하는 문법입니다. , modifier 를 붙이거나 제거 ( , ) 하고, clause 로 키…
- [TypeScript] Modules (import/export, moduleResolution) typescript ← 8
- 별칭: TypeScript Modules, TS Modules, TypeScript import, TypeScript export, moduleResolution, nodenext, verbatimModuleSyntax, TS 모듈, isolatedModules
- 정의 TypeScript 모듈 시스템은 ES Modules (ESM) 를 기본 언어 모델로 삼되, CommonJS (CJS) 를 상호운용성 (interop) 계층으로 지원합니다.…
- [TypeScript] Primitive Types typescript ← 6
- 별칭: TS Primitive Types, TypeScript primitive, TypeScript string, TypeScript number, TypeScript boolean, TypeScript unknown, TypeScript never, TypeScript any, TypeScript void, TypeScript symbol, TypeScript bigint
- 정의 Primitive Types 는 TypeScript 의 가장 기본 타입 계열입니다. JavaScript 의 7가지 primitive 값 + 특수 타입 (void, never…
- [TypeScript] Strict Mode & tsconfig typescript ← 10
- 별칭: TypeScript Strict Mode, TS strict, strictNullChecks, noImplicitAny, strictFunctionTypes, noUncheckedIndexedAccess, TypeScript tsconfig, TypeScript compiler options, TS 엄격 모드
- 정의 Strict Mode 는 여러 엄격한 타입 검사 플래그를 한 번에 켜는 옵션 ( ) 입니다. 강력한 타입 안전성을 제공하지만, 기존 코드베이스에는 대량의 오류를 발생시킬 수…
- [TypeScript] Template Literal Types typescript ← 5
- 별칭: TypeScript Template Literal Types, TS Template Literal Types, TypeScript string manipulation, Uppercase, Lowercase, Capitalize, Uncapitalize, template string types
- 정의 Template Literal Type 은 TypeScript 4.1 에서 도입된 문법으로, JavaScript template literal 처럼 백틱과 를 이용해 타입 …
- [TypeScript] Type Aliases typescript ← 10
- 별칭: TypeScript Type Alias, TypeScript type, TS type alias, type declaration, TS 타입 별칭
- 정의 Type Alias 는 타입에 이름을 붙이는 TypeScript 문법 ( ). Interface 는 객체 shape 만 표현하지만, type alias 는 모든 타입 표현식…
- [TypeScript] Type Narrowing (Type Guards) typescript ← 12
- 별칭: TypeScript Narrowing, TypeScript Type Guards, TS narrowing, type predicate, user-defined type guard, asserts type guard, assertion function, TypeScript 타입 가드
- 정의 Type Narrowing 은 TypeScript 컴파일러가 제어 흐름 분석 (control flow analysis) 을 통해 특정 위치에서 값의 타입을 더 좁게 추론하는…
- [TypeScript] Union & Intersection Types typescript ← 8
- 별칭: TypeScript Union Type, TypeScript Intersection Type, TS Union, TS Intersection, discriminated union, tagged union, TypeScript 유니온, TypeScript 인터섹션
- 정의 - Union Type ( ): A 이거나 B (또는 둘 다) 인 값 - Intersection Type ( ): A 이면서 B 인 값 두 조합은 TypeScript 의 타…
- [TypeScript] Utility Types typescript ← 8
- 별칭: TypeScript Utility Types, TS Utility Types, Partial, Required, Readonly, Pick, Omit, Record, Exclude, Extract, NonNullable, ReturnType, Parameters, Awaited, TypeScript 유틸리티 타입
- 정의 Utility Types 는 TypeScript 표준 라이브러리에 포함된 미리 정의된 generic 타입 들입니다. 기존 타입을 변형/구성하는 흔한 패턴을 제공하며, map…
- [Voice AI] 음성 에이전트 아키텍처: Cascading / Streaming / S2S + Latency Budget ai ← 16
- 별칭: voice agent architecture, cascaded pipeline, streaming pipeline, speech-to-speech, latency budget, end-to-end voice
- 정의 실시간 음성 AI 의 3가지 패턴. 각자 지연 vs 유연성 vs 비용 트레이드오프. 3 패턴 비교 | | Cascading | Streaming | S2S | |---|--…
- [Voice AI] 음성 우선 프롬프트 + Function Calling + Structured Output ai ← 3
- 별칭: voice-first prompt, function calling, tool use, structured output, JSON schema, voice prompt design, persona
- 음성 우선 프롬프트 설계 음성 답변 = 귀로 듣는다. 텍스트 답변과 완전 다르게 짜야 한다. 음성 프롬프트의 핵심 원칙 | 원칙 | 의미 | |---|---| | 짧게 | 한 답…
- [Voice AI] 파이프라인 디커플링: Redis Streams / Kafka 적용 distributed-systems ← 1
- 별칭: voice pipeline decoupling, ASR LLM TTS decoupling, voice queue, stateless orchestrator, horizontal scaling voice
- 정의 대규모 음성 에이전트 = STT/LLM/TTS 를 분리 배포 + 메시지 큐로 디커플링. 수평 확장 + 독립 실패. [!NOTE] 소규모 (수십 동시 통화) 는 monolit…
- [Voice AI] Agent 패턴: Supervisor, Handoff, ReAct, HITL ai ← 10
- 별칭: Supervisor pattern, Agent Handoff, ReAct, Human-in-the-Loop, HITL, multi-agent, agent orchestration
- 정의 복잡한 음성 에이전트 = 여러 sub-agent + 조정 패턴. 단일 LLM 으로 처리하기 어려운 흐름. [!IMPORTANT] 각 sub-agent 내부는 VAD → ST…
- [Voice AI] LLM Serving: vLLM, PagedAttention, continuous batching ai ← 5
- 별칭: vLLM, PagedAttention, continuous batching, LLM serving, TTFT, KV cache, SSE streaming, TGI, SGLang
- 정의 LLM Serving = 자체 호스팅 LLM 을 낮은 TTFT + 높은 throughput 으로 제공. 음성 에이전트의 LLM 단계 지연 결정. | 도구 | 특징 | |--…
- [Voice AI] P50/P95/P99: latency 분포와 SLO devops ← 6
- 별칭: P50, P95, P99, latency percentile, tail latency, histogram, HDR histogram, tdigest
- 정의 P50 / P95 / P99 = latency 분포의 분위수. 평균은 outlier 에 가려져 무의미. 음성 에이전트의 사용자 경험 은 p95/p99 가 결정. [!IMPO…
- [Voice AI] Pipecat vs LiveKit Agents: 프레임워크 비교 ai ← 4
- 별칭: Pipecat, LiveKit Agents, Vapi, Retell, voice agent framework, voice pipeline, Frame processor, build vs buy
- 정의 2026 시점 voice agent 프레임워크 4가지 선택지: | | Pipecat | LiveKit Agents | Vapi / Retell | 자체 구축 | |---|-…
- [Voice AI] Speech-to-Speech: OpenAI Realtime, Gemini Live, Moshi voice ← 2
- 별칭: Speech-to-Speech, S2S, OpenAI Realtime API, GPT-4o Realtime, Gemini Live, Moshi, audio-native LLM, voice-to-voice
- 정의 S2S (Speech-to-Speech) = STT → LLM → TTS 직렬 파이프라인 우회, 오디오 → 오디오 직접 처리. 톤/감정 보존 + < 300ms latency…
- [Voice AI] STT 모델: Whisper, Deepgram, AssemblyAI, CLOVA voice ← 3
- 별칭: STT, Speech-to-Text, ASR, Whisper, Deepgram Nova, AssemblyAI Universal, Naver CLOVA Speech, Google Speech-to-Text, Azure Speech, AWS Transcribe, Faster-Whisper
- 정의 STT (Speech-to-Text) / ASR (Automatic Speech Recognition) = 음성 → 텍스트 변환. 2026 시점 전사 정확도 인간 수준, 실…
- [Voice AI] STT 스트리밍: partial vs final, endpointing, gRPC/WS voice ← 6
- 별칭: STT streaming, partial transcript, final transcript, endpointing, time-to-final, interim result, gRPC streaming STT, WebSocket STT
- 정의 스트리밍 STT = 오디오 청크 가 들어올 때마다 부분 결과 (partial) 를 즉시 반환 + 발화 종료 시 최종 결과 (final) 확정. [!IMPORTANT] 대화형…
- [Voice AI] TTS 모델: ElevenLabs, Cartesia, Edge TTS, 한국어 voice ← 4
- 별칭: TTS, Text-to-Speech, neural TTS, ElevenLabs, Cartesia Sonic, Edge TTS, OpenAI TTS, Naver Clova Voice, Typecast, voice cloning, vocoder, Tacotron, VITS, StyleTTS, WaveNet
- 정의 TTS (Text-to-Speech) = 텍스트 → 음성 합성. 2026 시점 사람과 구분 어려운 자연도 + < 200ms first audio + voice cloning…
- [Voice AI] TTS 스트리밍 + SSML: TTFB, sentence aggregation, 청킹 voice ← 6
- 별칭: TTS streaming, SSML, Speech Synthesis Markup Language, sentence aggregation, TTFB, time-to-first-audio, chunked TTS, audio streaming
- 정의 TTS 스트리밍 = 텍스트 일부만 받아도 즉시 합성 + 오디오 청크 단위 전송. TTFB (Time-to-First-Audio) 최소화 = 대화 자연스러움의 핵심. TTFB…
- [Voice AI] Turn Detection + Barge-in + AEC: 자연스러운 대화 voice ← 6
- 별칭: turn detection, semantic turn detection, barge-in, interruption, full duplex, AEC, echo cancellation, speak-or-listen, duplex orchestration
- 정의 자연스러운 음성 대화의 3 요소: 1. Turn Detection - 사용자가 말끝났는지 정확히 판단 2. Barge-in - 에이전트가 말하는 중에 사용자가 끼어들 수 있…
- [Voice AI] VAD: Silero, 에너지 기반, endpointing 임계값 voice ← 6
- 별칭: VAD, Voice Activity Detection, Silero VAD, WebRTC VAD, 음성 활동 감지, endpointing, energy-based VAD, neural VAD
- 정의 VAD (Voice Activity Detection) = 오디오 스트림에서 음성 vs 비음성 (침묵, 노이즈) 구분. 음성 에이전트의 발화 시작 / 종료 감지에 필수. 종…
- [Voice AI] Voice RAG: 지연 병목 + 예측적 프리페치 ai ← 3
- 별칭: voice RAG, voice agent RAG, speculative retrieval, predictive prefetch, voice latency RAG
- 정의 Voice RAG = 음성 에이전트에 RAG (Retrieval-Augmented Generation) 결합. 벡터 DB 조회 가 지연 누적 의 큰 원인이 되므로 예측적 프…
- [Voice AI] WebRTC: PeerConnection, ICE, STUN/TURN, SFU network ← 9
- 별칭: WebRTC, RTCPeerConnection, ICE, STUN, TURN, SFU, MCU, DataChannel, DTLS-SRTP, getUserMedia
- 정의 WebRTC = 브라우저 / 모바일 P2P 실시간 미디어 + 데이터 표준. 음성, 비디오, 데이터 채널. 2026 시점 voice agent + 영상 통화 + 화면 공유 의…
- [Voice AI] WebSocket 미디어 스트림: 양방향 풀듀플렉스, 프레임 버퍼링 network
- 별칭: WebSocket media stream, full duplex, frame buffering, PCM streaming, Twilio Media Streams, binary websocket
- 정의 WebSocket Media Stream = 양방향 바이너리 오디오 스트림. WebRTC 가 어려운 전화 / 서버↔서버 / 옛 클라이언트 에서 표준. 자세한 일반 WebSo…
- [Voice] Neural TTS 내부: Tacotron, FastSpeech, VITS, HiFi-GAN voice
- 별칭: Neural TTS architecture, Tacotron, FastSpeech, VITS, HiFi-GAN, BigVGAN, StyleTTS 2, flow matching TTS, vocoder
- 정의 Neural TTS 의 진화: 2단계 (acoustic + vocoder) → end-to-end. 2026 시점 VITS 계열 + Flow matching 이 상용 표준.…
- [Voice] Whisper 내부: encoder-decoder, log-mel, tokenizer voice ← 1
- 별칭: Whisper architecture, Whisper encoder, Whisper decoder, log-mel spectrogram, Whisper tokenizer, Whisper timestamps, faster-whisper CTranslate2
- 정의 Whisper = OpenAI 의 encoder-decoder Transformer STT. 680K 시간 다국어 supervised training. 2022 공개, 20…
- 0-1 BFS algorithm ← 4
- 별칭: 0/1 BFS, 0-1 bfs, 0-1 너비 우선 탐색, deque BFS
- 정의 0-1 BFS 는 간선 가중치가 0 또는 1만 존재하는 그래프에서 최단 경로를 O(V + E) 에 구하는 알고리즘. deque 를 사용해 가중치 0 간선은 앞에, 가중치 1…
- 2-SAT (2-Satisfiability) algorithm ← 2
- 별칭: 2-sat, 2-CNF, 투 샛, two sat
- 정의 2-SAT (2-Satisfiability) 는 각 절(clause)이 정확히 두 리터럴(literal)의 OR 로 이루어진 CNF (Conjunctive Normal Fo…
- 3D 기하 (Geometry) 기본 algorithm ← 4
- 별칭: Geometry 3D, geometry-3d, 3D geometry, 3D 기하, 3차원 기하
- 정의 3D 기하 는 3차원 공간 위의 점, 직선, 평면, 벡터를 다루는 분야. PS 에서는 정육면체 / 구 / 원뿔 체적, 3D convex hull, 최근접 점 3D 등이 등장…
- 4차원 이상 기하 (Hyper Geometry) algorithm
- 별칭: geometry hyper, 4D geometry, hyper geometry, geometry-hyper, 고차원 기하
- 정의 고차원 기하 (Hyper / 4D+ Geometry) 는 4차원 이상의 공간 (d >= 4) 에서 점, 벡터, 초평면, 초구 등을 다루는 분야. PS 에서는 d ≤ 4 인 …
algorithm (303)
- (오목 포함) 다각형 내부 점 판정 (Point in Polygon) ← 1
- 정의 다각형 내부 점 판정 (Point in Polygon, PIP) 은 단순 다각형 (볼록 또는 오목) 과 하나의 점이 주어졌을 때, 점이 내부/경계/외부 중 어디에 있는지 판…
- [Algorithm] Karatsuba 곱셈: O(n²) 벽을 깬 분할 정복
- 정의 Karatsuba 알고리즘 은 두 큰 정수의 곱셈 을 분할 정복 으로 풀어 O(n^log₂3) ≈ O(n^1.585) 시간에 처리하는 알고리즘. 1962년 Anatoly K…
- [Graph] 매칭 (Matching) ← 2
- 정의 그래프 $G = (V, E)$ 에서 매칭 (Matching) 은 간선의 부분집합 $M \subseteq E$ 이면서 어느 두 간선도 공통 정점을 공유하지 않는 것. - 각 …
- 0-1 BFS ← 4
- 정의 0-1 BFS 는 간선 가중치가 0 또는 1만 존재하는 그래프에서 최단 경로를 O(V + E) 에 구하는 알고리즘. deque 를 사용해 가중치 0 간선은 앞에, 가중치 1…
- 2-SAT (2-Satisfiability) ← 2
- 정의 2-SAT (2-Satisfiability) 는 각 절(clause)이 정확히 두 리터럴(literal)의 OR 로 이루어진 CNF (Conjunctive Normal Fo…
- 3D 기하 (Geometry) 기본 ← 4
- 정의 3D 기하 는 3차원 공간 위의 점, 직선, 평면, 벡터를 다루는 분야. PS 에서는 정육면체 / 구 / 원뿔 체적, 3D convex hull, 최근접 점 3D 등이 등장…
- 4차원 이상 기하 (Hyper Geometry)
- 정의 고차원 기하 (Hyper / 4D+ Geometry) 는 4차원 이상의 공간 (d >= 4) 에서 점, 벡터, 초평면, 초구 등을 다루는 분야. PS 에서는 d ≤ 4 인 …
- 가우스 소거법 (Gaussian Elimination) ← 2
- 정의 가우스 소거법 (Gaussian Elimination) 은 선형 연립방정식 의 해를 구하거나, 행렬의 역행렬 / rank / determinant 를 계산하는 O(N^3) …
- 각도 정렬 (Angle Sorting) ← 3
- 정의 각도 정렬 (Angle Sorting / Polar Sort) 은 2차원 평면 위의 점들을 기준점에 대한 극각 (polar angle) 순서로 정렬하는 기법. atan2 함…
- 값 / 좌표 압축 (Coordinate Compression) ← 1
- 정의 값 / 좌표 압축 (Coordinate Compression) 은 큰 범위의 값 (예: 10^9) 을 정렬된 순서를 유지하며 작은 정수 인덱스 (0..K-1) 로 매핑하는 …
- 강한 연결 요소 (SCC) ← 8
- 정의 강한 연결 요소 (Strongly Connected Component, SCC) 는 방향 그래프에서 서로 도달 가능한 정점들의 최대 부분 집합. SCC 내 임의 두 정점 u…
- 게임 이론 (Game Theory) ← 4
- 정의 게임 이론 (Game Theory) 은 둘 이상의 플레이어가 정해진 규칙 아래 의사 결정을 내리는 상황을 수학적으로 모델링하는 분야. PS에서는 두 명이 완벽한 플레이를 할…
- 격자 그래프 (Grid Graph) ← 3
- 정의 격자 그래프 (Grid Graph) 는 2차원 배열 (N × M 격자) 위의 그래프. 각 칸이 노드, 인접한 칸 사이가 간선. 4방향 또는 8방향 이동. 격자 위 최단 경로…
- 경사 하강법 (Gradient Descent) ← 2
- 정의 경사 하강법 (Gradient Descent, GD) 은 미분 가능한 목적 함수 f(x) 의 1차 도함수 (gradient) 방향으로 반복 이동하며 극소값 (local mi…
- 구현 (Implementation) ← 1
- 정의 구현 (Implementation) 은 PS 에서 알고리즘적 난이도는 낮지만 정확한 코딩이 필요한 문제 유형. 주로 시뮬레이션 (simulation), 조건 분기 (cond…
- 그래프 순회 (Graph Traversal) ← 5
- 정의 그래프 순회 (Graph Traversal) 는 그래프 G=(V, E) 의 모든 정점 V 를 체계적으로 방문하는 알고리즘 패밀리. 대표 구현: 너비 우선 탐색 (BFS), …
- 그리디 (Greedy) ← 5
- 정의 그리디 (Greedy) 알고리즘은 매 단계마다 국소 최적 (locally optimal) 선택을 하여 전역 최적해 (globally optimal solution) 에 도달…
- 그린 정리 (Green's Theorem)
- 정의 그린 정리 (Green's Theorem) 는 평면 위의 폐곡선 C 에 대한 선적분(line integral) 과 그 내부 영역 D 에 대한 이중 적분(double inte…
- 기하 (Geometry) 기본 ← 8
- 정의 Computational Geometry 는 점, 선, 다각형 등 기하 객체를 컴퓨터로 처리하는 알고리즘 분야. PS 에서는 2D 평면 위의 정수 좌표 가 주로 다루어지며,…
- 깊이 우선 탐색 (DFS) ← 28
- 정의 깊이 우선 탐색 (Depth-First Search, DFS) 는 그래프 G=(V, E) 에서 갈 수 있는 만큼 깊이 들어가다가 막히면 백트래킹하는 알고리즘. 스택 (LIF…
- 너비 우선 탐색 (BFS) ← 24
- 정의 너비 우선 탐색 (Breadth-First Search, BFS) 는 그래프 G=(V, E) 에서 시작 정점 s 로부터 가까운 정점부터 순서대로 방문하는 알고리즘. 큐 (F…
- 네트워크 유량 (Network Flow) ← 5
- 정의 네트워크 유량 (Network Flow) 은 방향 그래프 G = (V, E) 에서 각 간선 (u, v) 의 용량 (capacity) c(u, v) 가 주어질 때, 소스 s …
- 누적 합 (Prefix Sum) ← 15
- 정의 누적 합 (Prefix Sum) 은 배열 에 대해 (또는 1-indexed ) 을 미리 계산해 두고, 임의 구간 합 을 O(1) 에 구하는 정형. 문제 풀이에서 "구간 N …
- 다각형 넓이 (Polygon Area) ← 3
- 정의 다각형 넓이 (Polygon Area) 는 2D 평면 위 단순다각형 (non-self-intersecting polygon) 의 면적을 신발끈 공식 (Shoelace For…
- 다익스트라 알고리즘 (Dijkstra's Algorithm) ← 15
- 정의 다익스트라 알고리즘 (Dijkstra's Algorithm) 은 음이 아닌 가중치 그래프에서 단일 시작점 s 로부터 모든 정점까지의 최단 거리를 찾는 그리디 알고리즘. Ed…
- 다차원 세그먼트 트리 (Multi-dimensional Segment Tree)
- 정의 다차원 세그먼트 트리 (Multi-dimensional Segment Tree) 는 2차원 이상 배열에서 직사각형 구간 쿼리 + 점 갱신 을 O(log^d N) 에 처리하는…
- 단절점 (Articulation Point)
- 정의 단절점 (Articulation Point, Cut Vertex) 은 무향 연결 그래프에서 제거했을 때 그래프가 둘 이상의 컴포넌트로 분리되는 정점. Robert Tarja…
- 단조 큐 최적화 (Monotone Queue Optimization)
- 정의 단조 큐 최적화 (Monotone Queue Optimization) 는 DP 전이 에서, 전이 후보 j 의 집합 이 슬라이딩 윈도우 를 이루고 f(j) 가 결합된 값이 단…
- 담금질 기법 (Simulated Annealing) ← 2
- 정의 담금질 기법 (Simulated Annealing, SA) 은 금속의 담금질 (annealing) 과정에서 영감을 받은 확률적 메타휴리스틱. 온도 T 가 높을 때는 나쁜 해…
- 덱 (Deque) ← 7
- 정의 Deque (덱, double-ended queue) 는 양쪽 끝에서 O(1) push/pop 이 가능한 선형 자료구조. 큐 + 스택의 일반화. 내부 구현은 대개 chunk…
- 덱 활용 구간 최댓값 트릭 (Monotonic Deque Trick) ← 3
- 정의 덱 트릭 (Deque Trick) 은 덱 (double-ended queue) 에 원소의 인덱스를 단조로운 값 순서 로 유지해, 슬라이딩 윈도우의 최댓값 또는 최솟값을 O(…
- 덱 DP (슬라이딩 윈도우 최적화)
- 정의 덱 DP (Deque DP) 는 점화식 꼴에서 monotonic deque 를 써서 최적 후보를 O(N) 에 유지하는 기법. 슬라이딩 윈도우 최댓값/최솟값의 일반화로, 윈도…
- 도형 불 연산 (Geometric Boolean Operations)
- 정의 도형 불 연산 (Geometric Boolean Operations) 은 두 다각형(또는 임의의 폐곡선)에 대해 합집합(union), 교집합(intersection), 차집…
- 동적 계획법 (Dynamic Programming) ← 22
- 정의 동적 계획법 (Dynamic Programming, DP) 은 큰 문제를 작은 부분 문제로 나누고, 각 부분 문제의 최적해를 저장하여 중복 계산을 제거하는 최적화 기법. R…
- 두 포인터 (Two Pointer) ← 6
- 정의 두 포인터 (Two Pointer) 는 정렬 또는 단조 구조 에서 두 인덱스 , 을 서로 다른 속도 / 방향 으로 이동시키며 부분 구간 / 페어를 O(N) 에 탐색하는 기법…
- 라빈-카프 알고리즘 (Rabin-Karp) ← 2
- 정의 라빈-카프 (Rabin-Karp) 는 롤링 해시 (rolling hash) 를 이용해 패턴 문자열 이 텍스트 의 어디에 등장하는지 찾는 문자열 매칭 알고리즘. 1987 년 …
- 레드-블랙 트리 (Red-Black Tree) ← 1
- 정의 레드-블랙 트리 (Red-Black Tree) 는 각 노드에 색 (빨강/검정) 을 부여하고 5 가지 규약을 지켜 높이 O(log N) 을 보장하는 자가 균형 . 삽입/삭제/…
- 레이지 프로파게이션 (Lazy Propagation) ← 3
- 정의 레이지 프로파게이션 (Lazy Propagation) 은 세그먼트 트리의 확장으로, 구간 갱신 (range update) 와 구간 쿼리 (range query) 를 모두 O…
- 로프 (Rope) ← 1
- 정의 로프 (Rope) 는 문자열을 이진 트리로 표현해 split (분할), concat (연결) 을 O(log N) 에 처리하는 자료구조. 각 리프는 짧은 문자열 조각, 내부 …
- 뤼카 정리 (Lucas Theorem) ← 1
- 정의 뤼카 정리 (Lucas Theorem) 는 소수 p 에 대해 큰 n, r 의 이항 계수 nCr 을 p 로 나눈 나머지를 O(logp N) 에 구하는 방법. n, r 을 p …
- 리차오 트리 (Li Chao Tree) ← 2
- 정의 리차오 트리 (Li Chao Tree) 는 평면 상의 직선 (또는 선분) 집합에서 특정 x좌표에서의 최댓값 (또는 최솟값) 을 O(log N) 에 구하는 자료구조. 세그먼트…
- 마스터 정리 (Master Theorem) ← 2
- 정의 마스터 정리 (Master Theorem) 는 분할 정복 알고리즘의 시간 복잡도를 표현하는 점화식을 닫힌 형태 (closed form) 로 풀어주는 공식입니다. 적용 대상:…
- 매개 변수 탐색 (Parametric Search) ← 2
- 정의 매개 변수 탐색 (Parametric Search) 은 답 자체를 이분 탐색하는 기법. "조건을 만족하는 최소값 / 최대값" 문제에서, 조건 만족 여부가 단조성 (monot…
- 매내처 알고리즘 (Manacher's Algorithm) ← 3
- 정의 매내처 알고리즘 (Manacher's Algorithm) 은 문자열 의 모든 위치에서 중심으로 하는 최장 회문 (palindrome) 반지름 을 O(N) 시간에 계산하는 선…
- 머지 소트 트리 (Merge Sort Tree) ← 3
- 정의 머지 소트 트리 (Merge Sort Tree) 는 세그먼트 트리의 각 노드에 해당 구간의 정렬된 부분 배열을 저장하는 자료구조. 구간 내에서 k 이하 원소의 개수, k번째…
- 모듈러 산술 (Modular Arithmetic) ← 15
- 정의 모듈러 산술 (Modular Arithmetic) 은 정수를 특정 수 $m$ 으로 나눈 나머지 로 대응시켜 다루는 산술 체계입니다. 합동 관계 $a \equiv b \pmo…
- 모듈러 역원 (Modular Multiplicative Inverse) ← 3
- 정의 정수 a 의 모듈러 역원 (modular multiplicative inverse) 은 을 만족하는 정수 x. 기호로 또는 . 존재 조건: gcd(a, m) = 1 일 때만…
- 문자열 (String) ← 6
- 정의 문자열 (String) 은 문자(character)의 순서 있는 나열. 프로그래밍에서는 연속된 메모리에 저장된 문자 배열 로 구현되며, 각 문자는 ASCII(7비트) 또는 …
- 문자열 해싱 (String Hashing) ← 6
- 정의 문자열 해싱 (String Hashing) 은 문자열을 고정 길이의 정수 (해시값) 로 매핑하여, 부분 문자열 비교를 O(1) 에 수행할 수 있게 만드는 기법. Rabin과…
- 물리 시뮬레이션 (Physics Simulation)
- 정의 물리 시뮬레이션 (Physics Simulation) 은 뉴턴 역학의 운동 방정식 (F=ma, 속도, 가속도) 을 수치적으로 적분하여 시간 경과에 따른 물체의 위치와 속도를…
- 미적분 (Calculus) ← 2
- 정의 미적분 (Calculus) 은 함수의 변화율(미분)과 누적량(적분)을 다루는 수학 분야. 알고리즘 문제에서는 수치 미분 (Numerical Differentiation) 과…
- 민코프스키 합 DP ← 2
- 정의 민코프스키 합 (Minkowski Sum) 은 두 점 집합 , 의 합 . 두 볼록 다각형의 민코프스키 합은 각 변을 각도순으로 합친 새로운 볼록 다각형, O(|A| + |B…
- 방향 비순환 그래프 (DAG) ← 4
- 정의 방향 비순환 그래프 (Directed Acyclic Graph, DAG) 는 사이클이 없는 방향 그래프. 어떤 정점에서 출발해도 자기 자신으로 돌아오는 경로가 없다. DAG…
- 배낭 문제 (Knapsack) ← 7
- 정의 배낭 문제 (Knapsack Problem) 은 무게 제한 W 인 배낭에 가치 vi, 무게 wi 인 물건 N 개 중 일부를 담아 총 가치 최대화하는 조합 최적화 문제. NP…
- 배열 (Array) ← 1
- 정의 배열 (Array) 는 동일한 타입의 원소를 메모리에 연속으로 저장하는 가장 기본적인 선형 자료구조다. - 정적 배열 (Static Array): 크기가 컴파일 타임에 고정…
- 백트래킹 (Backtracking) ← 6
- 정의 백트래킹 (Backtracking) 은 DFS + 가지치기 (pruning) 로 모든 경우를 탐색하되, 불가능한 후보를 조기 제거하여 탐색 공간을 극적으로 줄이는 알고리즘.…
- 번사이드 보조정리 (Burnside's Lemma)
- 정의 번사이드 보조정리 (Burnside's Lemma, Cauchy-Frobenius Lemma) 는 군 G 가 집합 X 에 작용할 때, 궤도(orbit)의 개수 를 구하는 공…
- 베이즈 정리 (Bayes Theorem) ← 1
- 정의 베이즈 정리 (Bayes Theorem) 는 조건부 확률의 대칭성을 이용해 P(A|B) 를 P(B|A) 로 표현하는 공식: - P(A): 사전 확률 (prior) - 증거를…
- 벨만-포드 알고리즘 (Bellman-Ford Algorithm) ← 7
- 정의 벨만-포드 알고리즘 (Bellman-Ford Algorithm) 은 음수 가중치 간선을 허용하면서 단일 시작점 s 로부터 모든 정점까지의 최단 거리를 찾는 DP 기반 알고리…
- 병렬 이분 탐색 (Parallel Binary Search) ← 3
- 정의 병렬 이분 탐색 (Parallel Binary Search, PBS) 은 Q 개의 쿼리를 각각 독립적으로 이분탐색하지 않고, 모든 쿼리의 이분탐색을 라운드별로 동시에 진행하…
- 보이어-무어 다수결 투표 (Boyer-Moore Majority Vote)
- 정의 보이어-무어 다수결 투표 (Boyer-Moore Majority Vote) 는 배열에서 과반수 (> N/2) 를 차지하는 원소를 O(N) 시간, O(1) 공간으로 찾는 알고…
- 볼록 껍질 (Convex Hull) ← 15
- 정의 볼록 껍질 (Convex Hull) 은 주어진 점 집합 P 를 모두 포함하는 최소 크기의 볼록 다각형. 즉 P 의 어떤 점도 다각형 외부에 있지 않고, 다각형의 꼭짓점은 P…
- 볼록 다각형 내부 점 판정 (Point in Convex Polygon) ← 3
- 정의 볼록 다각형 내부 점 판정 은 볼록 다각형(convex polygon) 과 하나의 점이 주어졌을 때, 점이 다각형의 내부/경계/외부 중 어디에 있는지 O(log N) 에 판…
- 볼록 다각형 접선 최적화 ← 5
- 정의 볼록 다각형의 접선을 이용한 최적화 는 두 종류 비용의 곱 / 합 형태의 trade-off 를 최소화 / 최대화할 때, 모든 가능 해 (x, y) 들이 만드는 평면 점집합의…
- 분리 집합 (Disjoint Set, Union-Find) ← 6
- 정의 분리 집합 (Disjoint Set, Union-Find) 은 서로 겹치지 않는 집합들을 관리하며, 다음 두 연산을 거의 상수 시간 (amortized O(α(N)), α는…
- 분할 정복 (Divide and Conquer) ← 5
- 정의 분할 정복 (Divide and Conquer) 은 문제를 더 작은 부분 문제로 나누고 (Divide), 각각 해결한 후 (Conquer), 결과를 합쳐 (Combine) …
- 분할 정복을 이용한 거듭제곱 (Exponentiation by Squaring) ← 7
- 정의 분할 정복을 이용한 거듭제곱 (Exponentiation by Squaring) 은 을 O(log n) 시간에 계산하는 분할 정복 알고리즘. 같은 모듈러 연산에서 특히 필수…
- 분할정복 DP 최적화 (Divide and Conquer Optimization) ← 5
- 정의 분할정복 DP 최적화 (Divide and Conquer Optimization) 는 꼴의 DP 에서, 최적 분할점 opt[i][j] 가 j 에 대해 단조 비감소 ( ) 일…
- 불변량 (Invariant) ← 2
- 정의 불변량 (Invariant) 은 어떤 변환(operation)이 적용되어도 변하지 않는 양이나 성질. 불가능성 증명, 알고리즘의 정당성(correctness) 증명, 종료 …
- 브루트포스 (Bruteforcing)
- 정의 브루트포스 (Bruteforcing, 완전 탐색) 는 가능한 모든 경우를 체계적으로 나열하고 검증하는 알고리즘. 프로그래밍 대회에서 가장 기초이자 가장 안전한 접근이며, 문…
- 비트마스크 DP (Bitmask DP) ← 12
- 정의 비트마스크 DP (Bitmask DP) 는 상태 공간이 부분집합 으로 표현될 때, 각 부분집합을 정수의 비트로 인코딩해 DP 상태로 삼는 기법. N ≤ 20 범위에서 O(2…
- 비트마스킹 (Bitmask) ← 4
- 정의 비트마스킹 (Bitmask) 은 집합 / 상태 를 정수의 비트 패턴 으로 인코딩해 집합 연산을 비트 연산으로 처리하는 기법. 같은 집합을 으로 표현하면, 멤버 확인 / 추가…
- 비트셋 LCS (Bitset LCS) ← 1
- 정의 Bitset LCS 는 두 문자열 A, B 의 최장 공통 부분 수열 (LCS) 길이를 O(NM/w) 시간에 구하는 기법. 표준 LCS DP 의 O(NM) 를 비트 병렬 (b…
- 사칙연산 (Arithmetic Operations) ← 2
- 정의 사칙연산 (Arithmetic Operations) 은 덧셈, 뺄셈, 곱셈, 나눗셈의 정확한 구현을 다루는 PS 태그. 큰 수 표현 (large integer), 오버플로우…
- 삼분 탐색 (Ternary Search) ← 1
- 정의 삼분 탐색 (Ternary Search) 은 단봉 (unimodal) 함수의 극값 (최대 / 최소) 을 O(log N) 에 찾는 알고리즘. 구간을 3등분하는 두 점 , 에서…
- 서큘레이션 (Circulation)
- 정의 서큘레이션 (Circulation) 은 방향 그래프 G = (V, E) 에서 모든 간선에 하한 l(u,v) 과 상한 c(u,v) 이 주어질 때, 모든 정점에서 유량 보존 (…
- 선분 교차 (Line Segment Intersection) ← 1
- 정의 선분 교차 판정 (Line Segment Intersection) 은 2D 평면 위 두 선분 AB 와 CD 가 서로 교차하는지 O(1) 에 판정하는 기하 연산. CCW (C…
- 선인장 그래프 (Cactus Graph)
- 정의 선인장 그래프 (Cactus Graph) 는 모든 간선이 최대 한 개의 단순 사이클에만 포함되는 무방향 연결 그래프. 트리 (tree) 의 일반화로, 사이클은 허용하되 "사…
- 선형 계획법 (Linear Programming) ← 1
- 정의 선형 계획법 (Linear Programming, LP) 은 선형 부등식 제약 조건 아래에서 선형 목적 함수를 최적화 (최대화/최소화) 하는 문제. 표준형: 변수 x ∈ ℝ…
- 선형대수 (Linear Algebra) ← 3
- 정의 선형대수 (Linear Algebra) 는 벡터 공간 (vector space) 과 선형 변환 (linear transformation) 을 다루는 수학 분야. PS 에서는…
- 세그먼트 트리 (Segment Tree) ← 32
- 정의 세그먼트 트리 (Segment Tree) 는 배열의 구간 쿼리 (range query) 와 점 갱신 (point update) 를 모두 O(log N) 에 처리하는 이진 트…
- 세그먼트 트리 그래프 간선 압축
- 정의 세그먼트 트리 그래프 간선 압축 은 "한 정점 v 에서 구간 의 모든 정점으로 가는 간선" (또는 구간에서 구간으로) 을 단순 V·N 간선 대신 세그먼트 트리의 노드를 가상…
- 소수 판정 (Primality Test) ← 5
- 정의 소수 판정 (Primality Test) 은 주어진 정수 N이 소수인지 합성수인지 판별하는 알고리즘. 시행 나눗셈 (Trial Division) O(√N), 확률적 Ferm…
- 소인수분해 (Prime Factorization) ← 8
- 정의 소인수분해 (Prime Factorization) 는 양의 정수 N을 소수들의 곱으로 유일하게 나타내는 것. N = p₁^a₁ · p₂^a₂ · ... · pₖ^aₖ. 시행…
- 수치해석 (Numerical Analysis) ← 2
- 정의 수치해석 (Numerical Analysis) 은 해석적 해가 어렵거나 없는 문제를 수치적 근사로 푸는 분야. PS 에서는 크게 두 가지가 자주 등장한다. Newton-Ra…
- 수학 (Mathematics) ← 4
- 정의 수학 (Mathematics) 은 문제 해결에 필요한 모듈러 산술 (modular arithmetic), 최대공약수/최소공배수 (GCD/LCM), 거듭제곱 (exponent…
- 순열 사이클 분해 (Permutation Cycle Decomposition) ← 2
- 정의 순열 사이클 분해는 순열 p[1..N]을 서로소(disjoint)인 사이클들의 곱으로 표현하는 것. 각 사이클 (a1 a2 ... ak) 는 a1 -> p[a1] = a2,…
- 스위핑 (Sweeping) ← 5
- 정의 스위핑 (Sweeping) 은 시간 또는 공간 축 위의 이벤트를 정렬한 뒤, 한 방향으로 훑으며 상태를 갱신해 문제를 푸는 기법입니다. 선분 교차, 구간 합집합, 최대 겹침…
- 스택 (Stack) ← 4
- 정의 스택 (Stack) 은 LIFO (Last In, First Out) 순서로 원소를 관리하는 추상 자료구조입니다. , , 세 연산만 제공하며, 가장 최근 삽입된 원소만 접근…
- 스프라그-그런디 정리 (Sprague-Grundy) ← 2
- 정의 스프라그-그런디 정리 (Sprague-Grundy) 는 모든 impartial combinatorial game (두 플레이어가 같은 행동 가능, 무작위성 없음, 완전 정보…
- 슬라이딩 윈도우 (Sliding Window) ← 5
- 정의 슬라이딩 윈도우 (Sliding Window) 는 배열/문자열 위에서 고정 크기 또는 가변 크기 윈도우가 한 방향으로 미끄러지며 각 윈도우마다 조건 (합, 최댓값, 중복 여…
- 시간 복잡도 (Time Complexity) ← 1
- 정의 시간 복잡도 (Time Complexity) 는 입력 크기 N 이 증가할 때 알고리즘의 연산 횟수 증가율 을 나타낸다. PS 에서는 주로 최악 케이스 Big-O 표기법 을 …
- 시뮬레이션 (Simulation) ← 3
- 정의 시뮬레이션 (Simulation) 은 문제에서 제시한 규칙을 그대로 코드로 옮겨 한 단계씩 따라가는 알고리즘. 복잡한 로직보다 정확한 구현과 엣지 케이스 처리 가 핵심. P…
- 쌍대성 (Duality) ← 1
- 정의 쌍대성 (Duality) 은 하나의 최적화 문제 (Primal) 에 항상 대응되는 또 다른 최적화 문제 (Dual) 가 존재한다는 원리. LP 에서 Primal-Dual 쌍…
- 안정 결혼 문제 (Stable Marriage)
- 정의 안정 결혼 문제 (Stable Marriage Problem) 는 N 명의 남성과 N 명의 여성이 각자 선호도 목록을 가지고 있을 때, 모든 쌍이 안정적 (stable) 인…
- 애드 혹 (Ad Hoc) ← 2
- 정의 애드 혹 (Ad Hoc) 은 범용 알고리즘이 아닌, 그 문제만의 관찰·트릭·창의적 사고로 푸는 문제 유형. 라틴어로 "이 목적을 위한" 이라는 뜻. 정형화된 자료구조나 DP…
- 양방향 탐색 (Bidirectional Search) ← 1
- 정의 양방향 탐색 (Bidirectional Search) 은 source 와 target 에서 동시에 탐색을 진행하여 중간에서 만나는 전략. 주로 무가중치 그래프의 최단 경로를…
- 에라토스테네스의 체 (Sieve of Eratosthenes) ← 9
- 정의 에라토스테네스의 체 (Sieve of Eratosthenes) 는 1부터 N 까지의 모든 소수를 O(N log log N) 에 찾는 고대 그리스 알고리즘. 기원전 240 년…
- 역추적 (DP Traceback)
- 정의 역추적 (Traceback) 은 DP 표를 채울 때 parent / choice 배열에 최적해의 결정을 기록하고, 최종 상태에서 출발하여 거꾸로 따라가며 최적해를 복원하는 …
- 연결 리스트 (Linked List) ← 3
- 정의 연결 리스트 (Linked List) 는 노드 + 포인터로 구성된 선형 자료구조. 각 노드는 데이터 + 다음 노드 포인터. 종류: - Singly Linked List: 노…
- 오일러 경로/회로 (Eulerian Path and Circuit)
- 정의 오일러 경로 (Eulerian Path) 는 그래프의 모든 간선을 정확히 한 번씩 지나는 경로. 오일러 회로 (Eulerian Circuit) 는 시작점과 끝점이 같은 오일…
- 오일러 지표 (Euler Characteristic)
- 정의 오일러 지표 (Euler Characteristic) χ 는 다면체(polyhedron) 또는 CW 복합체의 위상적 불변량으로, χ = V - E + F 로 정의. V는 꼭…
- 오일러 투어 테크닉 (Euler Tour Technique) ← 8
- 정의 오일러 투어 테크닉 (ETT, Euler Tour Technique) 은 트리를 DFS 방문 순서로 펼쳐 서브트리 쿼리를 구간 쿼리로 변환하는 정형. 각 노드 u 의 in-…
- 오일러 피 함수 (Euler's Totient Function) ← 4
- 정의 오일러 피 함수 φ(n) 는 1 이상 n 이하의 자연수 중 n 과 서로소인 수의 개수. 1763년 레온하르트 오일러가 도입. , 소수 p 에 대해 . 문제 상황과 동기 n …
- 외판원 순회 문제 (TSP) ← 1
- 정의 외판원 순회 문제 (TSP) 는 N 개 도시를 모두 정확히 한 번씩 방문하고 시작 도시로 돌아오는 최소 비용 경로 (Hamiltonian cycle) 를 찾는 NP-hard…
- 우선순위 큐 (Priority Queue) ← 1
- 정의 우선순위 큐 (Priority Queue) 는 원소 중 최댓값 (또는 최솟값) 을 O(log N) 에 추출하는 자료구조. 내부 구현은 대개 힙 (heap). - Max-He…
- 위상 정렬 (Topological Sorting) ← 8
- 정의 위상 정렬 (Topological Sorting) 은 방향 비순환 그래프 (DAG) 의 모든 정점을 간선 방향을 어기지 않도록 일렬로 나열하는 것. 간선 가 있으면 정렬 결…
- 유클리드 호제법 (Euclidean Algorithm) ← 10
- 정의 유클리드 호제법 (Euclidean Algorithm) 은 두 정수 a, b 의 최대공약수 (GCD, Greatest Common Divisor) 를 O(log min(a,…
- 이분 그래프 (Bipartite Graph) ← 5
- 정의 이분 그래프 (Bipartite Graph) 는 정점 집합 V 를 두 개의 독립 집합 L, R 로 분할할 수 있고, 모든 간선이 L 과 R 을 잇는 그래프. 같은 집합 내 …
- 이분 매칭 (Bipartite Matching) ← 10
- 정의 이분 매칭 (Bipartite Matching) 은 이분 그래프 G = (L ∪ R, E) 에서 간선 부분집합 M ⊆ E 을 선택하되, M 의 어떤 두 간선도 정점을 공유하…
- 이분 탐색 (Binary Search) ← 13
- 정의 이분 탐색 (Binary Search) 은 정렬된 시퀀스에서 목표값의 위치를 O(log N) 에 찾는 알고리즘. 매 단계에서 후보 구간을 절반으로 줄인다. 탐색이 본질이 아…
- 이산 로그 (Discrete Logarithm) ← 3
- 정의 이산 로그 (Discrete Logarithm) 는 군 G 에서 를 만족하는 최소 음이 아닌 정수 x 를 찾는 문제. 실수 로그와 달리, mod 연산 아래에서의 역연산은 어…
- 이산 제곱근 (Discrete Square Root / Tonelli-Shanks) ← 2
- 정의 이산 제곱근 (Discrete Square Root) 은 소수 p 에 대해 를 만족하는 x 를 찾는 문제. 가 이차잉여 (quadratic residue) 이면 해가 존재하…
- 이산 k 제곱근 (Discrete Kth Root)
- 정의 이산 k 제곱근 (Discrete Kth Root) 은 소수 p 에 대해 를 만족하는 모든 x 를 찾는 문제. 원시근 (primitive root) 으로 지표화하여 이산 로…
- 이중 연결 요소 (BCC, Biconnected Component) ← 1
- 정의 이중 연결 요소 (Biconnected Component, BCC) 는 무방향 그래프에서 정점 하나를 제거해도 연결성이 유지되는 최대 부분 그래프. 단절점 (articula…
- 임의 정밀도 / 큰 수 산술 (Arbitrary Precision) ← 2
- 정의 임의 정밀도 (Arbitrary Precision) 또는 큰 수 산술 (Big Integer / Bignum) 은 고정된 바이트 한계(32-bit, 64-bit) 없이 메모…
- 자료구조 (Data Structures) ← 6
- 정의 자료구조 (Data Structure) 는 데이터를 효율적으로 저장하고 접근하기 위한 조직화 방법. 문제 풀이에서는 시간 복잡도와 공간 복잡도의 trade-off 를 정확히…
- 자릿수 DP (Digit DP)
- 정의 자릿수 DP (Digit DP) 는 [0, N] 범위 또는 [L, R] 구간에서 조건을 만족하는 정수의 개수를 세는 DP 기법. 각 자릿수를 순차적으로 선택하며, "현재까지…
- 작은 집합을 큰 집합에 합치기 (Smaller to Larger) ← 1
- 정의 Smaller to Larger (작은 집합을 큰 집합에 합치기) 는 두 집합을 합칠 때 항상 작은 쪽을 큰 쪽에 합치면 전체 O(N log N) 또는 O(N log^2 N…
- 재귀 (Recursion) ← 3
- 정의 재귀 (Recursion) 는 함수가 자기 자신을 호출하는 프로그래밍 기법. base case (종료 조건) 와 recursive case (재귀 단계) 로 구성되며, 복잡…
- 재귀 트리 DP / Rerooting
- 정의 Rerooting (재귀 트리 DP) 은 모든 정점을 루트로 하는 트리 DP 결과를 O(N) 에 구하는 기법. 두 번의 DFS 로 "루트 v 에서 서브트리 DP" → "루트…
- 전처리 (Precomputation)
- 정의 전처리 (Precomputation) 는 런타임 이전 또는 초기화 단계에서 필요한 값을 미리 계산해 두고, 본 쿼리/연산을 빠르게 처리하는 정형. 대표적으로 테이블 채우기,…
- 정규 표현식 (Regular Expression, Regex) ← 2
- 정의 정규 표현식 (Regular Expression) 은 문자열 패턴을 형식 언어로 표현한 표기법. Stephen Kleene 이 1956년 정규 언어 (regular lang…
- 정렬 알고리즘 ← 18
- 정의 정렬 (sort) 은 원소들의 컬렉션을 어떤 전순서 (total order) 기준으로 재배열하는 것. 알고리즘 입문의 정석 주제이자, 데이터베이스·검색·통계 등 모든 시스템…
- 정수론 (Number Theory) ← 6
- 정의 정수론 (Number Theory) 은 정수의 성질과 관계를 연구하는 분야. PS 에서는 약수/배수, 소수 (prime), 모듈러 연산, 유클리드 호제법, 확장 유클리드, …
- 제곱근 분할 (Sqrt Decomposition) ← 3
- 정의 제곱근 분할 (Sqrt Decomposition) 은 크기 N 배열을 √N 개씩 블록으로 나누고, 각 블록을 전처리해 구간 연산을 O(√N) 에 처리하는 자료구조 기법. 문…
- 조합론 (Combinatorics) ← 14
- 정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세는 수학 분야. PS 에서는 주로 순열 (Permutation), 조합 (Combination), 이항계수 (B…
- 조화수 (Harmonic Number)
- 정의 조화수 (Harmonic Number) 은 자연수 n 에 대해 역수의 합 으로 정의. 점근적으로 (γ ≈ 0.5772, 오일러-마스케로니 상수). 정수론과 알고리즘 분석에서…
- 중국인의 나머지 정리 (Chinese Remainder Theorem) ← 11
- 정의 중국인의 나머지 정리 (CRT) 는 다음과 같은 연립 합동식의 해가 유일 하게 존재함을 보장: 단, m1, m2, ..., mk 는 쌍마다 서로소 (pairwise copr…
- 중심 분해 (Centroid Decomposition) ← 3
- 정의 중심 분해 (Centroid Decomposition) 는 트리를 중심 으로 재귀적으로 분할하여 O(log N) 깊이의 분해 트리 를 만드는 기법. 각 레벨에서 트리 크기가…
- 집합과 맵 (Set and Map) ← 14
- 정의 집합 (Set) 은 고유한 원소들의 모임을 나타내는 추상 자료구조로, 멤버십 검사, 삽입, 삭제를 지원한다. 맵 (Map, Dictionary) 은 키-값 쌍을 저장하며, …
- 차분 배열 (Difference Array) ← 3
- 정의 차분 배열 (Difference Array) 은 배열 의 인접 차 (adjacent difference) 를 저장하는 배열 (단, ). 원 배열은 , 즉 d 의 누적 합 (…
- 차분 분석 (Differential Cryptanalysis)
- 정의 차분 분석 (Differential Cryptanalysis) 은 선택된 평문 공격(chosen-plaintext attack)으로, 1991년 Eli Biham과 Adi …
- 차수열 (Degree Sequence)
- 정의 차수열 (Degree Sequence) 은 그래프의 각 정점 차수를 내림차순으로 나열한 수열 d[1] >= d[2] >= ... >= d[N]. 이 수열을 만족하는 단순 그…
- 최단 경로 (Shortest Path) ← 2
- 정의 최단 경로 (Shortest Path) 는 그래프 G = (V, E) 에서 시작 정점 s 에서 목표 정점 t 까지 가는 경로 중 가중치 합이 최소인 경로 를 찾는 문제. 단…
- 최대 부분 배열 합 (Maximum Subarray)
- 정의 최대 부분 배열 합 (Maximum Subarray) 은 배열에서 연속한 구간의 합 중 최댓값을 찾는 문제. 예: → 최대 구간 , 합 6. Kadane's Algorith…
- 최대 유량 최소 컷 정리 (Max-Flow Min-Cut Theorem) ← 5
- 정의 최대 유량 최소 컷 정리 (Max-Flow Min-Cut Theorem) 는 네트워크 유량 그래프 G = (V, E) 에서 source s 에서 sink t 로의 최대 유량…
- 최소 공통 조상 (Lowest Common Ancestor) ← 16
- 정의 최소 공통 조상 (LCA, Lowest Common Ancestor) 는 트리에서 두 노드 u, v 의 공통 조상 중 가장 깊은 (루트에서 가장 먼) 노드. Binary L…
- 최소 비용 최대 유량 (Min-Cost Max-Flow, MCMF) ← 8
- 정의 최소 비용 최대 유량 (Min-Cost Max-Flow, MCMF) 은 각 간선에 용량(capacity)과 단위 비용(cost)이 주어질 때, 최대 유량을 달성하는 여러 방…
- 최소 신장 트리 (MST, Minimum Spanning Tree) ← 5
- 정의 최소 신장 트리 (Minimum Spanning Tree, MST) 는 연결 그래프 G = (V, E) 에서 모든 정점을 연결 하면서 간선 가중치 합이 최소 인 부분 그래프…
- 최소 외접원 (Minimum Enclosing Circle)
- 정의 최소 외접원 (Minimum Enclosing Circle, MEC) 은 평면 위 N 개의 점을 모두 포함하는 가장 작은 반지름의 원을 찾는 문제. 대표 알고리즘은 Emo …
- 최장 공통 부분 수열 (Longest Common Subsequence) ← 4
- 정의 최장 공통 부분 수열 (Longest Common Subsequence, LCS) 은 두 수열 A, B 에서 순서를 유지하며 공통으로 등장하는 부분 수열 중 가장 긴 것을 …
- 최장 증가 부분 수열 (Longest Increasing Subsequence) ← 5
- 정의 최장 증가 부분 수열 (Longest Increasing Subsequence, LIS) 은 주어진 수열에서 순서를 유지하며 선택한 부분 수열 중 엄격히 증가하는 가장 긴 …
- 춤추는 링크 (Dancing Links, DLX) ← 1
- 정의 Dancing Links (DLX) 는 0-1 행렬을 doubly linked toroidal list 로 표현하는 자료구조. 각 1 을 하나의 노드로 두고, 노드들이 좌/…
- 카테시안 트리 (Cartesian Tree) ← 1
- 정의 카테시안 트리 (Cartesian Tree) 는 배열 a[0..N-1] 로부터 만드는 이진 트리로, 다음 두 성질을 동시에 만족: 1. In-order 순회 = 원래 배열 …
- 커넥션 프로파일 DP (Broken Profile DP)
- 정의 커넥션 프로파일 DP (Broken Profile DP) 는 직사각형 격자를 tile-by-tile 로 처리하면서, 처리된 영역과 아직 처리되지 않은 영역의 경계 (brok…
- 케이스 워크 (Case Work) ← 2
- 정의 케이스 워크 (Case Work) 는 문제를 여러 조건/경우로 분류하여 각각 해결하는 패턴. if-else, switch-case, 의사결정 트리 등으로 구현. 복잡한 조건…
- 쿼리 √N / √Q 버킷팅 ← 1
- 정의 쿼리 √N / √Q 버킷팅 은 쿼리들을 √N 또는 √Q 개씩 묶어 일괄 처리해 원래 O(Q·log N) 또는 O(N·Q) 였던 비용을 O((N + Q)·√N) 등으로 줄이는…
- 큐 (Queue) ← 10
- 정의 큐 (Queue) 는 FIFO (First In, First Out) 순서로 원소를 관리하는 추상 자료구조입니다. (또는 ), (또는 ), 세 연산만 제공하며, 가장 먼저 …
- 크누스 최적화 (Knuth Optimization) ← 5
- 정의 크누스 최적화 (Knuth Optimization) 는 구간 DP 에서 최적 분할점 k = opt[i][j] 의 단조성 을 이용해 시간 복잡도를 O(N^3) 에서 O(N^2…
- 통계 (Statistics)
- 정의 통계 (Statistics) 는 데이터를 수집, 정리, 분석하는 학문. PS 에서는 주로 기술 통계 (Descriptive Statistics) 의 기본값들인 평균 (Mea…
- 트라이 (Trie, 접두사 트리) ← 7
- 정의 트라이 (Trie) 는 Edward Fredkin 이 1960년 제안한 문자열 집합을 저장하는 트리 자료구조. 각 노드는 문자 하나, 간선은 다음 문자로의 전이. 루트에서 …
- 트리 (Trees) ← 6
- 정의 트리 (Tree) 는 사이클이 없는 연결 그래프 (acyclic connected graph). N 개 정점이면 정확히 N-1 개 간선. 임의의 두 정점 사이에 유일한 경로…
- 트리 경로 합 (Path Sum on Tree) ← 3
- 정의 트리 경로 합 (Path Sum on Tree) 는 트리에서 두 정점 $u, v$ 사이의 유일 경로 위 정점 (또는 간선) 값의 합 을 구하는 문제입니다. 문제 상황은 크게…
- 트리 동형 사상 (Tree Isomorphism)
- 정의 트리 동형 사상 (Tree Isomorphism) 판정은 두 트리 T1, T2 가 구조적으로 같은지, 즉 노드 라벨을 무시했을 때 edge 연결 패턴이 동일한지 O(N) 에…
- 트리 압축 (Tree Compression / Virtual Tree)
- 정의 트리 압축 (Tree Compression / Virtual Tree) 은 원본 트리에서 주어진 정점 부분 집합 S 만으로 원래 조상 관계를 보존하는 작은 트리를 구성하는 …
- 트리 위에서 exchange argument
- 정의 Exchange Argument (교환 논증) 은 그리디 알고리즘의 최적성 증명 에서 가장 자주 쓰이는 기법. 두 인접 원소를 교환했을 때 답이 나빠지지 않으면, 어떤 정렬…
- 트리 DP (Tree Dynamic Programming) ← 1
- 정의 트리 DP (Tree Dynamic Programming) 는 트리 구조에서 각 서브트리의 최적해를 post-order DFS 로 계산하여 전체 트리의 답을 구하는 정형. …
- 트리를 사용한 집합과 맵 (Tree Set / Tree Map) ← 2
- 정의 트리 집합 (Tree Set) 과 트리 맵 (Tree Map) 은 균형 이진 탐색 트리 (Balanced BST) 를 기반으로 한 정렬된 자료구조로, 삽입, 조회, 삭제를 …
- 트리의 중심 (Centroid) ← 1
- 정의 트리의 중심 (Centroid) 은 정점 v 를 제거했을 때 생기는 모든 connected component 의 크기가 ⌊N/2⌋ 이하가 되는 정점. 모든 트리는 최소 1개…
- 트리의 지름 (Tree Diameter) ← 2
- 정의 트리의 지름 (Tree Diameter) 는 트리에서 가장 먼 두 노드 사이의 거리 (경로 길이). 가중치 없는 트리는 간선 개수, 가중치 트리는 간선 가중치 합. 대표 알…
- 파싱 (Parsing) - tokenization, recursive descent, expression ← 2
- 정의 파싱 은 입력 문자열을 구조화된 표현 (AST) 으로 변환하는 과정. 컴파일러/인터프리터의 첫 단계. 세 단계: Tokenization (lexing) → Parsing (…
- 퍼시스턴트 세그먼트 트리 (Persistent Segment Tree)
- 정의 퍼시스턴트 세그먼트 트리 (Persistent Segment Tree, PST) 는 버전별 배열 상태를 모두 유지 하면서, 각 버전마다 O(log N) 시간에 쿼리/갱신 가…
- 페르마 소정리 (Fermat's Little Theorem) ← 7
- 정의 페르마 소정리 (Fermat's Little Theorem, FLT) 는 소수 p 와 gcd(a, p) = 1 인 정수 a 에 대해 다음이 성립: 1640년 피에르 드 페르…
- 평면 그래프 (Planar Graph) ← 1
- 정의 평면 그래프 (Planar Graph) 는 간선끼리 교차하지 않고 평면에 그릴 수 있는 그래프. 연결된 평면 그래프는 항상 Euler 공식 를 만족한다, 여기서 = 꼭짓점,…
- 포함-배제 원리 (Inclusion-Exclusion Principle) ← 2
- 정의 포함-배제 원리 (Inclusion-Exclusion Principle, PIE) 는 여러 집합의 합집합 크기를 교집합 항으로 표현하는 조합론 공식. 가장 간단한 형태: N…
- 플로이드-워셜 알고리즘 (Floyd-Warshall Algorithm) ← 5
- 정의 플로이드-워셜 알고리즘 (Floyd-Warshall Algorithm) 은 모든 정점 쌍 (i, j) 사이의 최단 거리를 구하는 DP 알고리즘. Robert W. Floyd…
- 피사노 주기 (Pisano Period)
- 정의 피사노 주기 (Pisano Period) 은 피보나치 수열 을 m 으로 나눈 나머지 수열이 주기적 이 될 때의 최소 주기. 피보나치 수열 mod m 은 항상 주기적이며, 주…
- 피타고라스 정리 (Pythagorean Theorem)
- 정의 피타고라스 정리는 직각삼각형에서 빗변 c 의 제곱이 두 직각변 a, b 의 제곱의 합과 같다는 정리: c^2 = a^2 + b^2. 기원전 6세기 그리스 수학자 피타고라스가…
- 함수 그래프 (Functional Graph) ← 1
- 정의 함수 그래프 (Functional Graph) 는 정점 집합 V 와 함수 f: V → V 로 정의되는 방향 그래프. 각 정점 v 에서 정확히 하나의 간선 v → f(v) 가…
- 해 구성하기 (Constructive) ← 2
- 정의 해 구성하기 (Constructive Algorithm) 는 답의 존재를 증명하는 대신, 명시적으로 답을 만드는 문제 유형. "가능한가?" → YES/NO 가 아니라, "가…
- 해시를 사용한 집합과 맵 (Hash Set / Hash Map) ← 3
- 정의 해시 집합 (Hash Set) 과 해시 맵 (Hash Map) 은 해시 함수를 이용해 키를 버킷 인덱스로 변환하고, 평균 O(1) 시간에 삽입, 조회, 삭제를 수행하는 자료…
- 헝가리안 알고리즘 (Hungarian Algorithm) ← 1
- 정의 헝가리안 알고리즘 (Hungarian Algorithm) 은 완전 이분 그래프 K{n,n} 에서 최대 (또는 최소) 가중치 완전 매칭 을 O(n^3) 에 찾는 알고리즘. -…
- 홀의 결혼 정리 (Hall's Marriage Theorem) ← 2
- 정의 홀의 결혼 정리 (Hall's Marriage Theorem) 는 이분 그래프 G = (L, R, E) 에서 완전 매칭 (perfect matching) 이 존재할 필요충분…
- 홀짝성 (Parity) ← 1
- 정의 홀짝성 (Parity) 은 어떤 양이 짝수 / 홀수 라는 두 상태로 분류되는 불변량. 수학적으로는 의 값. PS 에서는 증명 (impossibility), 2색 분할, 대칭…
- 확률 (Probability) ← 7
- 정의 확률 (Probability) 은 사건이 발생할 가능성을 수치화한 값. 표본 공간 Ω 에 대해 P(A) = |A| / |Ω| (동일 확률), 또는 더 일반적으로는 σ-alg…
- 확장 유클리드 호제법 (Extended Euclidean Algorithm) ← 6
- 정의 확장 유클리드 호제법 (Extended Euclidean Algorithm) 은 두 정수 a, b 에 대해 를 구하면서, 동시에 를 만족하는 정수 x, y 를 찾는 알고리즘…
- 회전 캘리퍼스 (Rotating Calipers) ← 2
- 정의 회전 캘리퍼스 (Rotating Calipers) 는 볼록 다각형 위에서 서로 마주보는 두 평행선 (겹지름, antipodal pair) 을 회전시키며 다각형의 최장 거리,…
- 휴리스틱 (Heuristics) ← 2
- 정의 휴리스틱 (Heuristics) 은 NP-hard 문제나 지나치게 큰 탐색 공간에서 최적해 대신 실용적으로 충분히 좋은 해를 빠르게 찾는 방법의 총칭. 크게 근사 알고리즘 …
- 희소 배열 (Sparse Table) ← 12
- 정의 희소 배열 (Sparse Table) 은 정적 배열에서 결합 법칙을 만족하는 idempotent 연산 (min, max, gcd, lcm 등) 의 구간 쿼리를 O(1) 시간…
- A* (A-star) 알고리즘 ← 2
- 정의 A\ 알고리즘 은 휴리스틱 기반 최단 경로 탐색 알고리즘. f(n)=g(n)+h(n) 을 평가 함수로 사용해 시작점에서 목표까지의 최단 경로를 찾는다. 1968년 Hart,…
- Aho-Corasick (아호-코라식) ← 5
- 정의 Aho-Corasick 은 Alfred Aho 와 Margaret Corasick 이 1975년 고안한 다중 패턴 문자열 매칭 알고리즘. Trie 에 KMP failure …
- Aliens Trick ← 9
- 정의 Aliens Trick (또는 WQS Binary Search, Lagrange Optimization) 은 "정확히 K 개 선택" 같은 까다로운 제약을 가진 DP 를, 제…
- AtCoder ← 5
- 정의 AtCoder 는 일본에서 운영되는 온라인 알고리즘 경진대회 플랫폼입니다. 2012년 서비스 시작, 주간 정기 대회 (Contest) 를 개최하며 참가자에게 색깔 기반 레이…
- Barrett Reduction ← 4
- 정의 Barrett Reduction 은 고정된 modulus 에 대해 을 나눗셈 명령 없이 곱셈 + 시프트 + 뺄셈 몇 번으로 계산하는 알고리즘. Paul Barrett 198…
- BBST (Splay Tree, Treap) ← 12
- 정의 BBST (Balanced Binary Search Tree) 는 균형이 amortized / expected 로 보장되는 이진 탐색 트리. PS 에서는 split / me…
- Berlekamp-Massey ← 6
- 정의 Berlekamp-Massey (BM) 알고리즘은 주어진 수열의 최단 선형 점화식 (minimal linear recurrence) 을 O(N²) 에 복원하는 알고리즘. 1…
- Binary Lifting: 2의 지수 doubling ← 4
- 정의 Binary Lifting (이진 상승, doubling) 은 트리 (또는 functional graph) 에서 정점의 $2^k$ 번째 조상 을 미리 계산해 두어 임의의 $…
- Binary Search Tree (BST): 정렬된 이진 트리 ← 6
- 정의 Binary Search Tree (BST) 는 각 노드가 다음 BST 불변식을 만족하는 이진 트리: - 왼쪽 서브트리의 모든 키 < 노드 키 - 오른쪽 서브트리의 모든 키…
- Birthday Problem (생일 문제) ← 2
- 정의 생일 문제 (Birthday Problem) 는 N 개의 동등한 가능성이 있는 결과에서 무작위로 k 개를 선택할 때 적어도 하나의 충돌이 발생할 확률을 분석하는 문제. 충돌…
- Bitset Optimization ← 7
- 정의 Bitset Optimization 은 불리언 / 비트 단위 정보 를 또는 배열에 패킹해, 한 명령어로 64 비트씩 병렬 연산 함으로써 시간 복잡도를 /64 (또는 , w …
- Branch and Bound: 분기 한정 ← 2
- 정의 Branch and Bound (B&B) 는 완전 탐색을 하되, 상한/하한을 계산해 유망하지 않은 서브트리를 가지치기 하는 기법. 최적화 문제에 적용. 백트래킹이 "실행 불…
- Brute Force: 완전 탐색 ← 2
- 정의 Brute Force (완전 탐색) 는 문제의 모든 후보 해를 하나씩 검증하는 접근. 최적은 아니지만 정확하고 명확하며, 큰 문제에도 부분 검증 도구로 사용. 핵심 원칙: …
- Bubble Sort ← 3
- 정의 Bubble Sort (버블 정렬) 는 인접한 두 원소를 비교해 잘못된 순서면 교환하는 작업을 배열을 통과하며 반복하는 정렬. 한 번의 통과 (pass) 마다 가장 큰 원소…
- Bulldozer Trick (Rotating Sweep) ← 6
- 정의 Bulldozer Trick (Rotating Sweep) 은 평면의 N 개 점에 대해 모든 두 점쌍을 잇는 직선의 기울기를 정렬 한 뒤, 기울기를 회전시키며 점들의 정렬 …
- Carmichael Function λ(n) ← 2
- 정의 Carmichael function λ(n) 은 gcd(a, n) = 1 인 모든 a 에 대해 a^m ≡ 1 (mod n) 을 만족하는 최소 양의 정수 m 입니다. 핵심 성…
- Catalan Number: C_n ← 4
- 정의 Catalan number 는 조합론에서 자주 등장하는 수열. 닫힌 형식(closed form): $$ Cn = \frac{1}{n+1} \binom{2n}{n} = \fr…
- CDQ 분할 정복 (CDQ Divide and Conquer) ← 1
- 정의 CDQ 분할 정복 은 오프라인에서 3차원 이상의 부분 순서 (partial order) 문제를 O(N log² N) 에 해결하는 기법. 한 축으로 분할하고, 다른 축을 2D…
- Chordal Graph ← 2
- 정의 Chordal Graph (현 그래프, Triangulated Graph) 는 모든 길이 4 이상의 사이클이 chord (사이클의 비인접 두 정점을 잇는 간선) 를 가지는 …
- CHT (Convex Hull Trick) ← 9
- 정의 Convex Hull Trick (CHT) 은 DP 전이 같이 선형식들의 lower envelope (또는 upper envelope) 에서 한 점 값을 평가하는 패턴을, …
- Convex Hull 3D: 3차원 볼록 껍질 ← 1
- 정의 3D 점집합의 볼록 껍질 (Convex Hull): 모든 점을 포함하는 최소 볼록 다면체. - 면 (face) 들이 삼각형으로 구성된 다면체 - 각 면의 법선 벡터 (out…
- Cycle Detection: 그래프 사이클 탐지 ← 3
- 정의 그래프에 사이클이 존재하는가, 또는 어느 사이클인가 를 찾는 문제. - 무향 그래프: 한 정점에서 출발해 다시 그 정점으로 돌아오는 경로. - 유향 그래프: 방향을 따라가며…
- Dial's Algorithm (버킷 기반 다익스트라)
- 정의 Dial's Algorithm 은 가중치가 작은 정수 일 때 우선순위 큐 대신 버킷 배열 을 사용해 Dijkstra 를 O(V + E + W) 로 최적화한 알고리즘. W는 …
- Directed MST ← 5
- 정의 Directed MST (Arborescence) 는 유향 그래프와 루트 이 주어졌을 때, 에서 모든 정점으로 도달 가능 한 간선들의 최소 가중치 부분집합을 구하는 문제. …
- Dominator Tree ← 3
- 정의 유향 그래프와 시작점 가 주어졌을 때, 정점 가 정점 를 dominate 한다는 것은 에서 로 가는 모든 경로가 반드시 를 지난다 는 뜻. Dominator Tree 는 모…
- DP on Bitmask: 비트마스크 DP ← 3
- 정의 부분집합 상태를 비트마스크로 인코딩하여 DP를 수행하는 기법. 정수 의 i번째 비트가 1이면 "원소 i 선택", 0이면 "미선택"을 의미한다. 원소 수 N ≤ 20 정도의 …
- DP Optimization: CHT, D&C, Knuth, SMAWK ← 3
- 정의 일반 DP 를 O(N²) 또는 O(N³) 에서 O(N log N) 또는 O(N) 으로 낮추는 여러 최적화 기법의 총칭입니다. 모두 특정 조건 (monotone, concav…
- Dual of Planar Graph ← 1
- 정의 평면 그래프 (planar graph) 의 쌍대 그래프 (dual graph) 는 G 의 각 면 (face) 을 정점으로, G 의 두 면을 공유하는 각 간선을 G\ 의 간선…
- Dynamic Connectivity: 간선 추가/삭제 연결성 ← 1
- 정의 Dynamic Connectivity 는 간선의 추가와 삭제 가 모두 일어나는 그래프에서 두 정점의 연결 여부를 유지하는 문제입니다. - 정점 N 개, 쿼리 Q 개 - 각 …
- Dynamic Segment Tree: 지연 노드 생성 ← 2
- 정의 Dynamic Segment Tree 는 값 범위가 매우 크지만 실제 접근 위치가 희소할 때, 필요한 노드만 동적으로 생성 하는 세그먼트 트리. 공간: O(Q log V),…
- Dynamic Tree (Link/Cut Tree, Euler Tour Tree, Top Tree) ← 10
- 정의 Dynamic Tree 는 트리에 간선 추가 (link) / 제거 (cut) 가 섞이는 환경에서 경로 / 서브트리 집계 쿼리 를 O(log N) 에 처리하는 자료구조 가족.…
- Euler Phi Function: φ(n) ← 7
- 정의 Euler Phi Function φ(n) 은 1 이상 n 이하 정수 중 n 과 서로소 (gcd = 1) 인 정수의 개수입니다. 예시: - φ(1) = 1 (1은 모든 수와…
- Euler's Criterion: 이차잉여 판정 ← 1
- 정의 홀소수 p에 대해 정수 a가 mod p에서 이차잉여 (Quadratic Residue, QR) 인지 판정하는 기준: $$ a^{(p-1)/2} \equiv \begin{ca…
- Expected Value: 기댓값, Linearity ← 3
- 정의 확률변수 X 의 기댓값: $$ E[X] = \sumx x \cdot P(X = x) \quad \text{(discrete)} $$ $$ E[X] = \int x \cdot…
- External Merge Sort ← 7
- 정의 External Merge Sort (외부 머지 정렬) 는 데이터가 메모리에 들어가지 않을 때 사용하는 변형. 두 단계로 동작한다. 1. Run 생성: 메모리 크기만큼 청크…
- Fast I/O ← 4
- 정의 Fast I/O 는 표준 라이브러리의 일반 목적 입출력 (C 의 / , C++ 의 / , Python 의 ) 대신, 버퍼와 바이트 단위 처리에 특화된 직접 구현으로 상수항을…
- Fenwick Tree (Binary Indexed Tree): 구간 합 O(log N) ← 15
- 정의 Fenwick Tree (또는 BIT, Binary Indexed Tree) 는 배열의 prefix sum 을 O(log N) 에 갱신·조회 하는 자료구조입니다. Peter…
- FFT, NTT ← 16
- 정의 FFT (Fast Fourier Transform, 고속 푸리에 변환) 은 길이 인 수열의 이산 푸리에 변환 (DFT) 을 O(n log n) 에 계산하는 분할정복 알고리즘…
- Flood Fill ← 1
- 정의 Flood Fill 은 격자 (grid) 또는 이미지에서 특정 위치와 연결된 같은 색 영역을 모두 칠하는 알고리즘. 그래픽 소프트웨어의 "페인트 버킷 (paint bucke…
- Floor Sum (유리 등차수열 내림 합)
- 정의 Floor Sum 은 을 O(log m) 에 계산하는 알고리즘. AtCoder Library (ACL) 의 함수로 표준화되었다. 분수 의 내림 합을 i = 0 .. n-1 …
- FWHT (Fast Walsh-Hadamard Transform) ← 4
- 정의 FWHT (Fast Walsh-Hadamard Transform) 은 비트 연산 (XOR, AND, OR) 에 대한 컨볼루션 을 O(N log N) 에 계산하는 변환. FF…
- General Graph Matching (Blossom Algorithm) ← 3
- 정의 General Graph Matching (Blossom Algorithm) 은 이분 그래프가 아닌 일반 무향 그래프 에서 최대 매칭 (최대 간선 집합 중 한 정점이 두 번…
- Generating Function ← 14
- 정의 Generating Function (생성 함수) 은 수열 를 형식 멱급수 (formal power series) 으로 인코딩한 것. 수열의 산수 를 다항식 / 멱급수의 대…
- Geometry Basic: 벡터, CCW, 외적, 내적 ← 22
- 정의 기하 알고리즘의 밑바탕. 대부분의 2D/3D 기하 문제는 벡터 연산, 내적/외적, CCW 판정 세 가지의 조합으로 풀립니다. 문제 상황 PS 기하에서 자주 마주치는 질문들:…
- Golden-section Search: 단봉 함수 최적화 ← 4
- 정의 단봉 함수 (Unimodal function) 위에서 최소/최대를 찾는 탐색 기법. 이분 탐색을 단봉 조건으로 확장한 알고리즘입니다. - 삼분 탐색 (Ternary Sear…
- Graph DP: 트리/DAG 위 DP ← 7
- 정의 Graph DP 는 그래프 구조를 이용한 DP. 사이클 없는 그래프 (트리, DAG) 에서 특히 자연스럽다. - Tree DP: 루트 트리에서 자식 서브트리 결과를 조합 -…
- Hackenbush (하켄부시 게임) ← 1
- 정의 Hackenbush 는 John H. Conway 가 "On Numbers and Games" (1976) 에서 고안한 combinatorial game. 바닥에 연결된 여…
- Half-Plane Intersection
- 정의 반평면 교집합 (Half-Plane Intersection) 은 N 개의 직선으로 정의된 반평면 (또는 ) 을 모두 만족하는 점들의 집합, 즉 볼록다각형 (convex po…
- Hamiltonian Path: 모든 정점 한 번씩 ← 3
- 정의 Hamiltonian Path 는 그래프의 모든 정점을 정확히 한 번씩 방문하는 경로. 시작 = 끝이면 Hamiltonian Cycle. 일반 그래프에서 NP-complet…
- Hash Table: 해시 기반 딕셔너리 ← 1
- 정의 Hash Table 은 해시 함수로 키를 배열 인덱스에 매핑하여 평균 O(1) 삽입/탐색/삭제를 제공하는 자료구조. 키 k를 인덱스 으로 변환하여 버킷 배열에 저장. 두 키…
- Heap Sort ← 6
- 정의 Heap Sort (힙 정렬) 는 힙 (heap) 자료구조의 최댓값 / 최솟값을 O(log n) 에 추출 하는 성질을 이용한 정렬. In-place 이고 최악 O(n log…
- Heavy-Light Decomposition ← 7
- 정의 Heavy-Light Decomposition (HLD) 는 트리를 O(log N) 개의 경로 (chain) 로 분해해 임의 경로 쿼리 (u-v 경로의 합/최대/최소) 를 …
- Hirschberg (히르쉬버그) LCS ← 1
- 정의 Hirschberg 알고리즘 은 두 문자열 A, B 의 LCS 를 O(N) 공간 (메모리) 만 사용해 구하는 분할 정복 DP. 표준 LCS 의 O(NM) 공간을 O(N) 으…
- Huffman Coding: 최적 접두 부호 ← 1
- 정의 Huffman Coding 은 문자의 빈도가 주어졌을 때 평균 부호 길이를 최소화 하는 접두 부호 (prefix code) 를 만드는 그리디 알고리즘. David Huffm…
- Implicit Treap: 배열 인덱스 기반 Treap ← 1
- 정의 Implicit Treap 은 Treap 에서 키 대신 서브트리 크기 (위치) 로 인덱싱하는 변형입니다. 배열의 삽입/삭제/이동/구간 반전 등을 O(log N) 에 지원합니…
- Inclusion and Exclusion: 포함배제 원리 ← 1
- 정의 포함배제 원리 (Principle of Inclusion-Exclusion, PIE) 는 합집합의 크기를 교집합의 크기들을 이용해 계산하는 조합론의 기본 원리입니다. $$ …
- Insertion Sort ← 4
- 정의 Insertion Sort (삽입 정렬) 는 한 번에 한 원소씩 이미 정렬된 부분에 올바른 위치를 찾아 삽입 하는 정렬. 카드 정리하듯이 한 장씩 적절한 자리에 끼워넣는 동…
- Johnson's Algorithm: sparse APSP ← 1
- 정의 Johnson's algorithm은 음수 간선이 있는 sparse graph의 all-pairs shortest paths (APSP)를 O(VE log V)에 계산. B…
- K번째 조상 (K-th Ancestor) ← 3
- 정의 K번째 조상 문제 (K-th ancestor) 는 루트 트리에서 정점 $u$ 의 조상 중 $u$ 로부터 정확히 $k$ 만큼 위에 있는 정점 (즉, $u$ 의 $k$ 번째 부…
- Kinetic Segment Tree ← 1
- 정의 Kinetic Segment Tree (KST) 는 각 원소가 시간 t 에 대한 일차함수 로 변하는 상황에서, 최댓값 / 최솟값 같은 시간 의존 쿼리 를 효율적으로 처리하는…
- KMP 문자열 매칭 (Knuth-Morris-Pratt) ← 9
- 정의 KMP (Knuth-Morris-Pratt) 는 Donald Knuth, James H. Morris, Vaughan Pratt 가 1977년 고안한 선형 시간 문자열 매칭…
- Knuth X 알고리즘 (Exact Cover) ← 1
- 정의 Knuth X 는 Exact Cover 문제를 푸는 backtracking 알고리즘. 0-1 행렬이 주어졌을 때 모든 열이 정확히 한 번씩 커버되도록 행의 부분 집합을 선택…
- LGV Theorem (Lindstrom-Gessel-Viennot) ← 3
- 정의 Lindstrom-Gessel-Viennot (LGV) Theorem 은 DAG (또는 격자) 에서 N 개의 시작점 / N 개의 끝점이 주어졌을 때 교차하지 않는 (non-…
- Lifting The Exponent (LTE) Lemma
- 정의 Lifting The Exponent (LTE) 는 소수 p에 대해 또는 을 계산하는 정리. vp(x)는 x의 p-진 값 (p로 나누어떨어지는 횟수). 1640년 페르마가 …
- Linearity of Expectation (기댓값의 선형성)
- 정의 Linearity of Expectation (기댓값의 선형성) 은 두 확률 변수 X, Y 에 대해 가 항상 성립한다는 정리. X 와 Y 가 독립일 필요가 없다. 스칼라 곱…
- Markov Chain: 상태 전이 확률 ← 2
- 정의 Markov Chain 은 다음 상태가 오직 현재 상태에만 의존하는 확률 과정. Memoryless property (Markov property). $$ P(X{t+1} …
- Matrix Exponentiation: 선형 점화식 fast ← 2
- 정의 선형 점화식을 행렬 곱으로 표현한 뒤, 행렬 거듭제곱을 log 시간에 계산하여 N 번째 항을 O(K³ log N) 에 얻는 기법. K = 상태 차원. - 시간: O(K³ l…
- Matroid, Matroid Intersection ← 3
- 정의 Matroid 는 독립 집합 (independent set) 의 추상 구조. 유한 집합 와 그 부분집합족 가 다음을 만족하면 matroid . PS 에서는 두 매트로이드의 …
- Maximum Flow: Ford-Fulkerson, Edmonds-Karp, Dinic ← 10
- 정의 Maximum Flow (최대 유량) 문제는 방향 그래프 $G = (V, E)$ 와 소스 $s$, 싱크 $t$ 가 주어졌을 때, 각 간선의 용량 제약 아래에서 $s$ 에서 …
- Median of Stream: 두 힙으로 중앙값 유지 ← 3
- 정의 스트림으로 들어오는 정수의 중앙값을 O(log N) 에 유지하는 문제. 중앙값 = 정렬했을 때 가운데 값. 원소가 짝수 개이면 두 중간 값의 평균. 문제 상황 정수가 하나씩…
- Merge Sort ← 11
- 정의 Merge Sort (병합 정렬) 는 분할 정복 (Divide & Conquer) 으로 동작하는 비교 정렬. 배열을 반으로 나눠 각각 정렬한 뒤, 두 정렬된 부분을 병합 (…
- Miller-Rabin 소수 판정 (Miller-Rabin Primality Test) ← 5
- 정의 Miller-Rabin 소수 판정 은 N 이 소수인지 확률적/결정론적으로 판별하는 알고리즘. Fermat 작은 정리와 이차잉여 성질을 결합해 O(k log^3 N) 에 동작…
- Minimum Vertex Cover: 최소 정점 덮개 ← 2
- 정의 Vertex Cover 는 그래프의 모든 간선이 최소 한 끝점을 포함하도록 하는 정점 집합입니다. Minimum Vertex Cover (MVC) 는 크기가 최소인 vert…
- MITM (Meet in the Middle) ← 4
- 정의 Meet in the Middle (MITM) 은 입력을 절반으로 나누어 각각의 모든 경우를 2^(N/2) 에 열거한 뒤, 두 결과를 합쳐서 정답을 찾는 알고리즘. naiv…
- Mo's Algorithm (Mo's) ← 6
- 정의 Mo's Algorithm 은 오프라인 구간 쿼리를 (L, R) 정렬로 재배치해 포인터 이동을 amortized O((N+Q)√N) 으로 줄이는 기법. 문제 상황과 동기 크…
- Mobius Function, Mobius Inversion ← 5
- 정의 Mobius Function 은 양의 정수에 대한 수론 함수: Mobius Inversion (뫼비우스 역원) 은 합 / 컨볼루션 관계의 역변환. PS 에서는 GCD / 서…
- Multipoint Evaluation ← 3
- 정의 Multipoint Evaluation 은 차수 의 다항식 를 N 개의 점 에서 동시에 평가 ( 를 모두 구함) 하는 것을 O((N + M) log²(N+M)) 에 계산하는…
- Nim Game: XOR 규칙 ← 2
- 정의 Nim 은 여러 돌무더기에서 두 플레이어가 번갈아 한 무더기에서 돌을 임의 개수 가져가는 게임. 마지막 돌을 가져가는 쪽이 승 (normal play convention).…
- Offline Incremental SCC, Offline Dynamic MST ← 5
- 정의 Offline Incremental SCC 는 간선이 시간 순서대로 추가만 되는 유향 그래프에서, 두 정점이 같은 SCC 에 처음 속하는 시각 을 모든 쌍에 대해 오프라인으…
- Offline Queries (오프라인 쿼리) ← 1
- 정의 오프라인 쿼리 (Offline Queries) 는 쿼리가 주어진 순서대로 처리하지 않고, 효율성을 위해 재정렬하거나 배치 처리 하는 기법. 쿼리를 다시 정렬하여 정렬 상태를…
- Order Statistics Tree (OST): rank/select 지원 BST ← 5
- 정의 Order Statistics Tree (OST) 는 각 노드에 서브트리 크기 (size) 를 추가로 저장한 균형 BST. 두 가지 새 연산을 O(log N) 에 지원한다.…
- Palindrome Tree (eerTree) ← 2
- 정의 Palindrome Tree (또는 eerTree) 는 문자열 의 모든 서로 다른 회문 부분문자열 을 선형 공간 O(n) 에 저장하는 자료구조. 2014 년 Mikhail …
- Pascal Triangle: 이항계수 ← 4
- 정의 Pascal Triangle 은 각 원소가 위 두 원소의 합인 삼각형. 행 n, 열 k 의 원소가 이항계수 $\binom{n}{k}$. 이항계수 $\binom{n}{k}$:…
- Permutation Tree ← 2
- 정의 Permutation Tree (a.k.a. Divide-Combine Tree) 는 순열을 연속 구간 (consecutive interval, 값이 연속인 구간) 단위로 …
- Persistent Segment Tree (영속 세그): 시점별 스냅샷 ← 5
- 정의 Persistent Segment Tree 는 매 갱신마다 이전 버전을 그대로 유지하면서 새 버전을 만드는 세그먼트 트리입니다. 각 버전은 루트 포인터 로 식별됩니다. 핵심…
- Pick 정리 (Pick's Theorem) ← 1
- 정의 Pick 정리는 꼭짓점이 격자점 (integer lattice) 위에 있는 단순 다각형의 넓이 A 를 내부 격자점 개수 I 와 경계 격자점 개수 B 로 표현: A = I +…
- Pigeonhole Principle (비둘기집 원리)
- 정의 비둘기집 원리 (Pigeonhole Principle) 는 "N+1 개의 객체를 N 개의 상자에 넣으면, 적어도 하나의 상자는 두 개 이상의 객체를 포함한다" 는 자명한 조…
- Pollard Rho 소인수분해 (Pollard's Rho Algorithm) ← 3
- 정의 Pollard Rho 는 큰 정수 N 의 비자명 약수를 O(N^(1/4)) 확률적 시간에 찾는 알고리즘. 생일 역설 (Birthday Paradox) 을 활용해 난수 수열의…
- Polynomial Division, Kitamasa ← 6
- 정의 Kitamasa 는 길이 의 선형 점화식 의 번째 항을 O(K² log n) 또는 FFT/NTT 와 결합해 O(K log K · log n) 에 계산하는 알고리즘. 행렬 거…
- Polynomial Interpolation ← 3
- 정의 Polynomial Interpolation (다항식 보간) 은 N+1 개의 점 으로부터 유일하게 결정되는 차수 ≤ N 의 다항식 를 복원하는 것. PS 에서는 DP 의 결…
- Priority Queue / Heap: 우선순위 큐 ← 7
- 정의 Priority Queue 는 우선순위가 가장 높은 원소를 O(log N) 에 pop 할 수 있는 자료구조. Binary Heap 이 표준 구현. - Max-heap: 부모…
- Push-Relabel, Cost Scaling ← 4
- 정의 Push-Relabel 은 증가 경로 (augmenting path) 기반 의 Ford-Fulkerson / Dinic 과 달리 각 정점의 잉여 흐름 (excess) 을 국…
- Quick Sort ← 10
- 정의 Quick Sort (퀵 정렬) 는 분할 정복 (Divide & Conquer) 기반 비교 정렬. 1959 년 Tony Hoare 가 고안. 배열에서 pivot 을 하나 골…
- Randomization (무작위화) ← 2
- 정의 무작위화 (Randomization) 는 알고리즘 내부에 난수를 도입하여 평균 성능 향상 또는 결정론적 방법보다 단순한 해결책 을 얻는 기법. 크게 두 부류로 나뉜다: - …
- Regions Trick ← 2
- 정의 Regions Trick 은 비슷한 쿼리들을 시공간 영역으로 묶어 캐싱 해, 동일/유사 결과를 재사용해 총 비용을 줄이는 패턴. 쿼리 캐싱 (query caching) 의 …
- RMQ (Range Minimum Query) ← 1
- 정의 Range Minimum Query 는 배열 A 에 대해 구간 [l, r] 의 최솟값을 답하는 문제입니다. 최댓값, gcd, XOR 등으로 자연스럽게 일반화됩니다. - 정적…
- Run Enumerate ← 2
- 정의 Run 은 문자열에서 주기적으로 반복되는 maximal 구간. 정확히는 구간 의 주기 가 이면서, 양 끝으로 확장 시 주기가 깨지는 부분. Run Enumerate 는 길이…
- Segment Tree Beats ← 6
- 정의 Segment Tree Beats (STB), 일명 Ji Driver Segment Tree 는 naive lazy propagation 으로는 표현 불가능한 비단조 laz…
- Selection Sort ← 4
- 정의 Selection Sort (선택 정렬) 는 매 단계에서 남은 원소 중 최솟값을 찾아 맨 앞으로 보내는 정렬. n-1 번의 단계 후 정렬 완료. 다른 O(n²) 정렬과 달리…
- SIMD ← 5
- 정의 SIMD (Single Instruction Multiple Data) 는 한 명령어로 여러 데이터 를 병렬 처리하는 CPU 기능. x86 의 SSE / AVX / AVX2…
- Skip List: 확률적 O(log N) 정렬 구조 ← 1
- 정의 Skip List 는 정렬된 연결 리스트 를 여러 층으로 쌓아 확률적으로 O(log N) 탐색을 제공하는 자료구조입니다. 각 노드는 확률 p = 1/2 로 더 높은 층에 승…
- Slope Trick ← 6
- 정의 Slope Trick (기울기 트릭) 은 볼록 (convex) 한 piecewise-linear 함수 를 DP 상태값으로 들고 갈 때, 함수 전체를 메모리에 펼치지 않고 꺾…
- SOS DP (Sum Over Subsets) ← 4
- 정의 SOS DP (Sum Over Subsets) 는 길이 2^N 의 배열 a 에 대해, 모든 mask (0..2^N-1) 마다 mask 의 부분 집합 (submask) 에 대…
- Spanning Tree, MST: 최소 신장 트리 ← 2
- 정의 Spanning Tree 는 그래프의 모든 정점을 포함하는 부분 트리입니다. 정점 N 개이면 간선 N-1 개. MST (Minimum Spanning Tree) 는 간선 가…
- Sprague-Grundy Theorem: 게임 이론 통일 ← 2
- 정의 Sprague-Grundy Theorem: 모든 impartial game (플레이어 무관, deterministic, no draw) 은 하나의 Nim 무더기와 등가. 각…
- Stern-Brocot Tree ← 2
- 정의 Stern-Brocot Tree (SBT) 는 모든 양의 기약 분수 (positive coprime fraction) 를 정확히 한 번씩 노드로 가지는 무한 이진 트리. 1…
- Stoer-Wagner 전역 최소 컷 (Global Minimum Cut)
- 정의 Stoer-Wagner 알고리즘 은 무방향 가중치 그래프 에서 source/sink 없이 가장 작은 컷 (global minimum cut) 을 찾는 알고리즘. 시간 복잡도…
- Subset Sum: 부분집합 합 ← 1
- 정의 집합 $\{a1, \ldots, an\}$ 에서 부분집합의 합이 정확히 T가 되는 부분집합이 존재하는가를 묻는 결정 문제. - 일반 경우: NP-complete (다항 시간…
- Suffix Array (접미사 배열) ← 3
- 정의 Suffix Array (SA, 접미사 배열) 는 문자열 s 의 모든 접미사를 사전순 정렬한 인덱스 배열. SA[i] = 시작 위치 (0-indexed). 보통 LCP (L…
- Suffix Automaton, Suffix Tree ← 4
- 정의 Suffix Automaton (SAM) 은 문자열 의 모든 부분문자열을 단어로 받는 최소 결정성 유한 오토마타 (minimal DFA). 노드 수 ≤ 2n, 간선 수 ≤ …
- Tarjan SCC: 강한 연결 요소 O(V+E) ← 3
- 정의 Strongly Connected Component (SCC) 는 유향 그래프에서 서로 도달 가능한 정점들의 극대 집합입니다. 즉, SCC 내 임의 두 정점 u, v 에 대…
- Taylor Series: 함수 근사 ← 1
- 정의 무한히 미분 가능한 함수 f의 x = a 근방 급수 전개: $$ f(x) = \sum{n=0}^{\infty} \frac{f^{(n)}(a)}{n!} (x - a)^n $$…
- Top K Selection: 상위 K개 원소 ← 4
- 정의 배열 또는 스트림에서 상위 K 개 원소를 뽑는 문제. 혹은 K 번째로 큰/작은 원소 하나만 찾는 선택(selection) 문제. - 오프라인: 배열 전체가 주어짐 → Qui…
- Transitive Closure: 도달 가능성 폐포 ← 1
- 정의 Transitive Closure (이행 폐포) 는 그래프의 모든 정점 쌍 (u, v) 에 대해 u 에서 v 로 도달 가능한지를 담은 부울 행렬입니다. $$ TC[i][j]…
- Treewidth, Tree Decomposition ← 1
- 정의 Tree Decomposition 은 그래프 를 bag (정점 집합) 들을 노드로 하는 트리 로 분해한 것. Treewidth = 가장 작은 분해의 최대 bag 크기 - 1…
- TSP (Traveling Salesman Problem): 외판원 순회 ← 4
- 정의 N 개 도시를 정확히 한 번씩 방문 후 시작점으로 돌아오는 최소 비용 경로. NP-hard. 공식 표현: N 개 정점의 완전 그래프에서 Hamiltonian Cycle 중 …
- UTF-8 인코딩
- 정의 UTF-8 은 Unicode code point (00x10FFFF) 를 14 byte 가변 길이로 인코딩하는 방식. 1993년 ISO/IEC 10646 표준의 일부로 도입…
- Voronoi Diagram, Delaunay Triangulation ← 2
- 정의 Voronoi Diagram 은 평면의 N 개 점에 대해 각 점을 가장 가까운 점으로 가지는 영역 들로 평면을 분할한 그림. 각 영역은 볼록 다각형 (또는 무한 영역). D…
- Wavelet Tree: 값 범위 이진 분할 ← 4
- 정의 Wavelet Tree 는 시퀀스의 값 범위를 이진 분할하며 만든 트리 자료구조입니다. k-th smallest in range, rank/select, count in r…
- XOR 기저 (XOR Basis)
- 정의 XOR 기저 (XOR Basis, Linear Basis over GF(2)) 는 정수 집합 S 의 XOR 합 (XOR span) 으로 만들 수 있는 모든 값을 생성하는 최…
- Young Tableau, RSK Correspondence
- 정의 Young Diagram 은 행마다 길이가 단조 감소 하는 칸들의 배열 (왼쪽 위 정렬). Young Tableau 는 그 칸에 1..n 을 채워 넣은 것 중 행과 열 모두…
- Young Tableau: 삽입 정렬형 격자, LIS ← 2
- 정의 Young Tableau 는 정수를 격자(grid) 에 배치한 자료구조로, 다음 조건을 만족합니다: - 각 행(row): 왼쪽에서 오른쪽으로 비감소 (non-decreasi…
- Z 알고리즘 (Z Algorithm) ← 5
- 정의 Z 알고리즘 (Z Algorithm) 은 문자열 의 각 위치 i 에 대해, 와 의 최장 공통 접두사 (LCP) 길이 를 O(N) 시간에 모두 계산하는 선형 알고리즘. 결과 …
spring (80)
- [JPA] @Embeddable, @Embedded, @Converter ← 3
- 정의 @Embeddable 은 별도 테이블 없이 entity 의 일부로 포함되는 값 객체 (Value Object). 같은 의미적 그룹의 필드들을 하나의 클래스로 추출. Attr…
- [JPA] 동적 쿼리: Criteria API, QueryDSL, Specification ← 3
- 정의 동적 쿼리 = 런타임 조건에 따라 WHERE / JOIN 이 달라지는 쿼리. 검색 필터, admin 도구, 리포팅 등에서 흔함. JPQL string concatenatio…
- [JPA] 상속 전략: SINGLE_TABLE, JOINED, TABLE_PER_CLASS ← 2
- 정의 JPA 는 객체 상속 구조를 관계형 테이블로 매핑하는 3가지 전략 + 1가지 비매핑 옵션: | 전략 | 테이블 구조 | 사용 시점 | |---|---|---| | (기본) …
- [JPA] CascadeType과 orphanRemoval ← 2
- 정의 JPA 의 entity 연산 ( , , , , ) 을 연관 entity 에 자동 전파 하는 메커니즘. 같이 선언. 별개 개념인 orphanRemoval 은 부모 컬렉션에서 …
- [JPA] Entity Lifecycle Callbacks와 Auditing ← 4
- 정의 Entity 의 라이프사이클 (persist / update / load / remove) 특정 시점에 자동 호출되는 메서드. 두 가지 형태: 1. Entity 내부 메서드…
- [JPA] fetch join: JOIN FETCH 로 연관 entity 즉시 로드 ← 2
- 정의 fetch join 은 JPQL 에서 연관 entity 를 한 번의 SQL 로 함께 로드하는 문법. 로 선언한다. 일반 은 SQL JOIN 만 수행하고 결과 entity 만…
- [JPA] FetchType: LAZY vs EAGER, N+1, fetch join ← 14
- 정의 FetchType 은 JPA 가 연관 entity 를 언제 로드할지 결정하는 hint. - : entity 로딩 시 즉시 함께 SELECT - : 실제 사용 시점 (prox…
- [JPA] JPQL DTO Projection: constructor expression, interface, record ← 3
- 정의 DTO Projection 은 entity 전체가 아닌 필요한 컬럼만 query 해서 DTO 로 받기. 장점: - N+1 회피 (lazy 컬렉션 자동 무시) - entity…
- [JPA] JPQL: Jakarta Persistence Query Language ← 4
- 정의 JPQL 은 Jakarta Persistence 표준의 객체 지향 쿼리 언어. 문법은 SQL 과 유사하지만 entity 와 그 필드를 대상으로 작동 (table / colu…
- [JPA] Optimistic Lock과 Pessimistic Lock ← 3
- 정의 동시 수정으로 데이터가 깨지는 상황을 막는 두 가지 전략: - Optimistic (낙관적): 충돌이 드물다고 가정, 커밋 직전에 version 비교로 검증. 충돌 시 예외…
- [JPA] PersistenceContext vs PersistenceUnit 비교 ← 2
- 정의 JPA 의 두 개념은 레벨이 다르다. 이름이 비슷해서 자주 혼동하지만: - PersistenceUnit = 설정 단위 (정적, 앱 1번) - PersistenceContex…
- [JPA] PersistenceContext: 1차 캐시, dirty checking, flush ← 18
- 정의 PersistenceContext 는 가 관리하는 entity 의 메모리 저장소 + 변경 추적기. 트랜잭션 안에서만 살아 있다 ( 진입 시 생성, commit/rollbac…
- [JPA] PersistenceUnit: EntityManagerFactory의 정의 단위 ← 2
- 정의 PersistenceUnit 은 하나의 논리적 DB 연결 + entity 매핑 집합 을 정의한 단위. 결과물은 1개. JPA 아키텍처의 계층: 가 트랜잭션 범위의 메모리 저…
- [Spring AI] 개요: ChatClient, ChatModel, Prompt ← 1
- 정의 Spring AI 는 LLM (OpenAI, Anthropic, Vertex AI, Bedrock, Ollama 등) 을 Spring 스타일로 사용하게 해 주는 abstra…
- [Spring AI] RAG: Embedding, VectorStore, QuestionAnswerAdvisor ← 1
- 정의 RAG (Retrieval Augmented Generation) 는 LLM 의 지식 한계 (학습 cutoff, 사내 문서 부재) 를 극복하기 위해, 질문 시점에 외부 지식…
- [Spring Batch] 대용량 배치 처리 ← 1
- 정의 Spring Batch는 대용량 데이터의 배치 처리 (ETL, 일괄 통계, 마이그레이션 등)를 위한 프레임워크. Job → Step → ItemReader → ItemPro…
- [Spring Boot] 자동 구성과 @SpringBootApplication ← 8
- 정의 Spring Boot의 핵심 가치 = 자동 구성(autoconfiguration). classpath의 라이브러리를 보고 합리적 기본 설정으로 Bean 등록. Tomcat이…
- [Spring Boot] Actuator 커스텀: Endpoint, HealthIndicator, Metric
- 정의 Spring Boot Actuator 의 확장 포인트. 기본 endpoint ( , , ) 외에 도메인 정보 노출: - : 새로운 endpoint - : 의 sub-heal…
- [Spring Boot] Build Plugins: Maven, Gradle, Executable JAR, OCI Image ← 2
- 정의 Spring Boot 의 빌드 플러그인은 표준 jar 가 아닌 executable jar (fat jar / uber jar) 생성. 추가로 OCI 이미지, native i…
- [Spring Boot] Database Initialization: schema.sql, Flyway, Liquibase ← 3
- 정의 DB 스키마 / 데이터를 application 시작 시점에 자동 설정하는 메커니즘. 세 가지 접근: 1. / (Spring Boot 내장, 단순) 2. Hibernate (…
- [Spring Boot] Deployment: 전통 WAR, Cloud, Systemd ← 3
- 정의 컨테이너 / K8s 외의 Spring Boot 배포 옵션: - Traditional WAR: 외부 Tomcat / Jetty (legacy 환경) - systemd serv…
- [Spring Boot] Docker / Kubernetes 배포 ← 4
- 정의 Spring Boot 앱을 컨테이너로 배포. 두 가지 주류: - Docker / Docker Compose: 단일 호스트, 개발 + 소규모 운영 - Kubernetes: 멀…
- [Spring Boot] Embedded Web Server 설정과 튜닝 ← 4
- 정의 Spring Boot 의 starter 가 내장 서버를 함께 번들. 별도 WAR 배포 / 외부 Tomcat 불필요. 기본 매핑: - → Tomcat (기본) - → Nett…
- [Spring Boot] Hibernate Naming Strategy ← 2
- 정의 Hibernate 가 entity 클래스 / 필드명 → DB table / column 명으로 변환하는 규칙. 두 단계로 분리: | 단계 | 역할 | 인터페이스 | |---…
- [Spring Boot] Logging: Logback, Log4j2, Structured Logging ← 2
- 정의 Spring Boot 의 기본 로거는 Logback ( 가 자동 포함). SLF4J facade 위에서 동작. 교체 가능: - : Log4j2 (높은 처리량, async l…
- [Spring Boot] Multi-DataSource: 복수 DB 연결과 트랜잭션 ← 2
- 정의 한 Spring Boot 앱이 여러 DB / 여러 스키마 에 접근. 패턴 세 가지: 1. 물리적으로 분리된 DB (orders DB + analytics DB) 2. Rea…
- [Spring Boot] Properties 외부화: PropertySource, Profile, @ConfigurationProperties ← 4
- 정의 Spring Boot 는 설정값을 15가지 소스에서 우선순위로 병합. 같은 키가 여러 곳에 있으면 우선순위 높은 게 이김. 코드 변경 없이 환경별 설정 가능. 핵심 소스 (…
- [Spring Boot] SSL/HTTPS 설정 ← 2
- 정의 Spring Boot 에서 HTTPS / TLS 설정 방법. JKS (legacy), PKCS12, PEM (modern), SSL Bundles (Spring Boot 3…
- [Spring Boot] YAML Configuration: multi-document, profiles, anchors
- 정의 Spring Boot 는 와 모두 지원. YAML 권장: 계층 구조 가독성, multi-document, anchors / aliases, list / map native …
- [Spring Cloud] Eureka, Config, Gateway, OpenFeign ← 4
- 정의 Spring Cloud는 Spring Boot 기반 마이크로서비스 인프라 패턴 (service discovery, config server, gateway, circuit …
- [Spring Data] MongoDB: MongoTemplate, MongoRepository
- 정의 Spring Data MongoDB 는 MongoDB 를 Spring 스타일로 사용하는 추상화. JPA 와 비슷한 Repository 패턴 + MongoDB native q…
- [Spring MVC] Argument Resolver: Custom HandlerMethodArgumentResolver ← 1
- 정의 HandlerMethodArgumentResolver = 컨트롤러 메서드 인자를 어떻게 채울지 결정 하는 확장점. Spring 의 수십 개 표준 resolver + 커스텀 …
- [Spring MVC] Content Negotiation: Accept 헤더, MediaType, ContentNegotiationStrategy ← 1
- 정의 Content Negotiation = 같은 endpoint 가 Accept 헤더 에 따라 다른 포맷 응답. JSON / XML / HTML / CSV 등. 결정 우선순위 …
- [Spring MVC] Exception Handling: @ExceptionHandler, ControllerAdvice, ProblemDetail ← 3
- 정의 Spring MVC 의 예외 처리 3 계층: 1. - 컨트롤러 내부 2. / - 전역 3. 상속 - Spring 의 표준 예외 자동 처리 처리 우선순위 컨트롤러 내부 컨트롤…
- [Spring MVC] Form Handling: @ModelAttribute, DataBinder, conversion ← 4
- 정의 Form Handling = HTML form 의 요청 파라미터 → Java 객체 변환 + 검증 + 에러 처리. 핵심: + + . 기본 흐름 자세한 BindingResult…
- [Spring MVC] Model + BindingResult: 뷰 모델과 바인딩 오류 처리 ← 5
- 정의 Model = 컨트롤러 → 뷰 (Thymeleaf, JSP) 로 데이터 전달. BindingResult = 요청 파라미터 → 객체 바인딩 결과 + 오류. 둘 다 Spring…
- [Spring MVC] Thymeleaf: 서버 사이드 템플릿 엔진 ← 2
- 정의 Thymeleaf = Java 서버 사이드 HTML 템플릿 엔진. natural template 철학 (브라우저에서 그대로 열어도 동작). Spring Boot 가 기본 권…
- [Spring Security] OAuth2 Authorization Code Flow + PKCE ← 3
- 정의 가 OAuth2 Login (소셜 로그인) 의 개요를 다룬다면, 이 페이지는 표준 Authorization Code Grant 의 전체 흐름과 PKCE, refresh to…
- [Spring Security] Session Management와 Remember-Me ← 2
- 정의 가 JWT / stateless 위주를 다룬다면, 이 페이지는 session-based 인증 의 세부 동작 (생성 정책, 동시 세션 제한, fixation 방어, remem…
- [Spring Security] Testing: @WithMockUser, MockMvc, jwt(), oauth2Login() ← 2
- 정의 Spring Security 가 적용된 컨트롤러를 테스트할 때 흔한 어려움: - 매번 실제 로그인 절차를 거쳐야 인증된 요청 가능 - CSRF token 이 없으면 POST…
- [Spring Validation] Custom Validator: ConstraintValidator, Groups, cross-field
- 정의 기본 , 등으로 부족한 도메인 검증 을 인터페이스 로 구현. 재사용 가능한 어노테이션 형태. 기본 validation 의 일반은 . 패턴 3가지 1. Constraint C…
- [Spring] @Autowired 해결 전략: @Qualifier, @Primary, byType ← 4
- 정의 가 의 기초 (생성자/필드/setter 주입) 를 다룬다면, 이 페이지는 같은 타입의 Bean 이 여러 개일 때 어떻게 하나를 골라내는지 의 해결 전략을 다룬다. 기본 알고…
- [Spring] @Conditional, Profile, @ConfigurationProperties ← 7
- 정의 Spring Boot는 조건부 Bean 등록 메커니즘을 제공한다. classpath, property, 다른 Bean 유무 등에 따라 자동 구성을 활성화/비활성화. , 어노…
- [Spring] @Scheduled와 @Async ← 5
- 정의 Spring은 @Scheduled (정기 작업)와 @Async (비동기 메서드)를 어노테이션으로 제공. ThreadPool, TaskScheduler 설정 가능. Quart…
- [Spring] 개요: Framework, Boot, Cloud ← 2
- 정의 Spring은 Java 엔터프라이즈 표준 프레임워크 그룹. 2003년 Rod Johnson이 EJB 대안으로 시작. IoC/DI가 핵심. 현재는: - Spring Frame…
- [Spring] Actuator: health, metrics, info ← 7
- 정의 Spring Boot Actuator는 프로덕션용 monitoring/management endpoint 자동 제공. health check, metrics, env, be…
- [Spring] AMQP / RabbitMQ ← 2
- 정의 Spring AMQP는 RabbitMQ 등 AMQP 0-9-1 호환 브로커의 Spring 통합. (publisher), (consumer), exchange/queue 자동…
- [Spring] AOP: @Aspect, Pointcut, Advice ← 8
- 정의 AOP (Aspect-Oriented Programming)는 cross-cutting concerns(로깅, 트랜잭션, 보안 등)를 비즈니스 코드에서 분리하는 기법. Sp…
- [Spring] Bean Lifecycle: 초기화와 소멸 콜백 ← 6
- 정의 가 Bean 등록과 주입 을 다룬다면, 이 페이지는 등록 이후 생성 → 사용 → 소멸 사이에 끼어드는 콜백을 다룬다. Spring 컨테이너가 단순히 객체를 만들고 끝내는 게…
- [Spring] Bean Scope 심화: Singleton, Prototype, Web Scope ← 3
- 정의 가 5가지 scope 의 개요 를 다룬다면, 이 페이지는 그 중 함정 (prototype-into-singleton) 과 해결 패턴 (ScopedProxy, ObjectPr…
- [Spring] Bean Validation: @Valid, @NotBlank, custom ← 11
- 정의 Spring은 Jakarta Bean Validation (JSR-380)을 표준으로 사용. , , 등 어노테이션으로 선언적 검증. Spring MVC가 로 자동 통합. 설…
- [Spring] BeanPostProcessor와 BeanFactoryPostProcessor ← 5
- 정의 Spring 컨테이너의 2가지 확장점: - BeanFactoryPostProcessor (BFPP): Bean 인스턴스가 만들어지기 전, (메타데이터) 을 수정. 클래스명,…
- [Spring] Cache: @Cacheable, @CacheEvict, Redis ← 5
- 정의 Spring Cache는 메서드 결과를 캐시하는 추상화. 한 줄로 메모이제이션. 백엔드는 Caffeine, Redis, Hazelcast, EhCache 등 자유롭게. 캐시…
- [Spring] CompositeMap & CompositeIterator
- 정의 는 두 개의 Map 을 하나의 view 로 합쳐서 보여주는 read-mostly 자료구조. 첫 번째 Map 이 우선, 없으면 두 번째 Map 을 본다. 는 여러 Iterat…
- [Spring] ConcurrentLruCache ← 1
- 정의 는 Spring 5.3+ 의 thread-safe LRU (Least Recently Used) 캐시. 크기 제한이 있고, 가장 오래 사용하지 않은 항목부터 제거. 내부적으…
- [Spring] ConcurrentReferenceHashMap ← 2
- 정의 는 Spring Framework 의 핵심 유틸리티. 의 동시성 과 / 의 GC 친화성 을 결합한 Map. JDK 표준에 없는 조합. 메모리 압박 시 GC 가 entry 를…
- [Spring] DispatcherServlet: Front Controller 내부 ← 9
- 정의 가 / 사용법 을 다룬다면, 이 페이지는 그 모든 요청을 받아 처리하는 의 내부 메커니즘 을 다룬다. 은 본질적으로 하나의 Servlet (). Front Controlle…
- [Spring] Events: @EventListener, @TransactionalEventListener ← 1
- 정의 Spring 의 in-process pub-sub. 모놀리식 앱 안에서 모듈 간 의존성을 줄이는 도구. 외부 메시지 브로커 (Kafka, RabbitMQ) 와 다른 점: 같…
- [Spring] HandlerInterceptor: preHandle, postHandle, afterCompletion ← 4
- 정의 HandlerInterceptor 는 내부에서 handler (Controller 메서드) 실행 전후 에 끼어드는 Spring MVC 전용 메커니즘. Filter 와 비슷하…
- [Spring] IoC와 DI: Bean, ApplicationContext, @Autowired ← 10
- 정의 IoC (Inversion of Control)는 객체 생성/생명주기 제어를 프레임워크가 가져가는 원칙. DI (Dependency Injection)는 그 구현 방법. S…
- [Spring] JdbcTemplate, NamedParameterJdbcTemplate ← 4
- 정의 JdbcTemplate은 JPA 없이 raw SQL을 안전하게 다루는 Spring 표준. boilerplate 제거 (try-with-resources, exception …
- [Spring] LinkedCaseInsensitiveMap ← 1
- 정의 는 을 기반으로 key 비교를 대소문자 무시 로 하는 Map. 단, 원본 key (대소문자 보존) 도 유지. HTTP 헤더 같은 도메인에서 과 을 같은 key 로 다뤄야 할…
- [Spring] MultiValueMap & LinkedMultiValueMap ← 2
- 정의 는 하나의 key 에 여러 value 가 매핑되는 Map 인터페이스. 형식적으로는 의 sugared 형태. 는 그 기본 구현체, 내부적으로 를 보관 (삽입 순서 유지). S…
- [Spring] Native Image: GraalVM, 빠른 시작 ← 2
- 정의 Spring Native (3.0+)는 Spring Boot 앱을 GraalVM Native Image로 컴파일해 즉시 시작·낮은 메모리·작은 바이너리를 얻는다. JIT 없…
- [Spring] Reflection 유틸: ReflectionUtils, AnnotationUtils, ResolvableType ← 1
- 정의 Spring 은 reflection 을 헤비하게 쓴다. DI 처리, AOP 프록시, 해결, Jackson 통합, JPA entity 매핑 모두 reflection 위에서 동…
- [Spring] RequestContextHolder, LocaleContextHolder: ThreadLocal 기반 요청 컨텍스트 ← 11
- 정의 Spring 은 HTTP 요청 / 응답 / locale / 트랜잭션 / 인증 같은 요청 범위 데이터를 ThreadLocal 에 저장 해 전역 노출한다. 메서드 인자로 일일이…
- [Spring] Resilience4j: CircuitBreaker, Retry, RateLimiter ← 1
- 정의 Resilience4j는 Java용 fault-tolerance 라이브러리. Hystrix(maintenance) 대체. Spring Boot 통합으로 어노테이션 ( , ,…
- [Spring] RestClient, WebClient, RestTemplate ← 5
- 정의 Spring HTTP 클라이언트 3종: - RestTemplate: 동기, 전통 (5.0+ maintenance) - WebClient: reactive, async/syn…
- [Spring] Security: Filter Chain, JWT, OAuth2 ← 12
- 정의 Spring Security는 인증·인가의 사실상 표준. 서블릿 필터 체인 위에 다양한 인증/권한 처리를 모듈식으로. 6.0+ 부터 Lambda DSL 표준, Bean 방식…
- [Spring] SpEL: Spring Expression Language
- 정의 SpEL (Spring Expression Language)은 Spring의 강력한 표현 언어. , , 등 어노테이션 내에서 동적 표현 평가. property 조회, 메서드…
- [Spring] Spring Data JPA: Repository, Query Methods ← 23
- 정의 Spring Data JPA는 JPA(Hibernate) 위에 Repository 추상화를 얹어 boilerplate를 제거. 인터페이스만 정의하면 Spring이 구현체 자…
- [Spring] Spring Data Redis
- 정의 Spring Data Redis는 Redis 클라이언트(Lettuce, Jedis)의 Spring 추상화. , (저수준), 통합, (객체 매핑), pub/sub 등. 설정 …
- [Spring] Spring for Apache Kafka ← 3
- 정의 Spring Kafka는 Apache Kafka 클라이언트의 Spring 친화 래퍼. (producer), (consumer), (topic 관리), Spring Boot …
- [Spring] Spring MVC: @RestController, @RequestMapping ← 21
- 정의 Spring MVC는 Servlet 기반 동기 웹 프레임워크. 이 요청을 받아 핸들러(컨트롤러 메서드)에 라우팅. REST API와 전통 MVC(HTML) 모두 지원. We…
- [Spring] Stereotype 어노테이션: @Component, @Service, @Repository, @Controller ← 4
- 정의 Stereotype 어노테이션 은 클래스가 Spring 컨테이너의 어떤 역할 (role) 인지를 의미적으로 표시한다. 모두 를 메타 어노테이션 으로 가진 specializa…
- [Spring] Testing: @SpringBootTest, MockMvc, Testcontainers ← 2
- 정의 Spring Boot Test는 단위/슬라이스/통합 테스트 모두 지원. 가 JUnit 5, Mockito, AssertJ, Hamcrest, JsonPath 포함. 슬라이스…
- [Spring] Transaction: @Transactional, propagation, isolation ← 16
- 정의 Spring 트랜잭션은 AOP 기반 선언형 트랜잭션 관리. 한 줄로 메서드 전체를 트랜잭션 범위로. JDBC, JPA, MongoDB 등 backend에 동일 API. 기본…
- [Spring] Virtual Threads (Project Loom): Spring 6.1+ ← 3
- 정의 Virtual Thread 는 JDK 21+ 에서 GA 된 경량 thread. JVM 이 OS thread (carrier) 위에 가상 thread 를 M:N 매핑. 수백만…
- [Spring] WebFlux: Reactive, Mono, Flux ← 12
- 정의 Spring WebFlux는 Project Reactor 기반의 비동기·non-blocking 웹 프레임워크. Spring MVC와 별개. Netty 기본 (Tomcat도 …
- [Spring] WebSocket과 STOMP
- 정의 Spring은 raw WebSocket API와 메시징 프로토콜 STOMP 둘 다 지원한다. STOMP는 publish/subscribe 기반 메시지 broker ( , ,…
python (73)
- [Python] @property, getter, setter, deleter ← 1
- 정의 는 메서드를 속성처럼 접근할 수 있게 해주는 데코레이터다. 호출자는 처럼 보지만 내부적으로는 함수가 실행되어 계산되거나 검증된 값을 반환한다. Java의 getter/set…
- [Python] 가비지 컬렉션: refcount + 순환 GC ← 3
- 정의 CPython의 메모리 관리는 두 메커니즘의 조합이다. 1. Reference counting: 모든 객체에 참조 카운트( )가 있고, 카운트가 0이 되면 즉시 해제. 즉각…
- [Python] 가상환경, pyproject.toml, packaging ← 1
- 정의 Python 프로젝트의 격리·의존성·배포는 세 축이 있다. - 가상환경 (venv, virtualenv, uv, conda): 프로젝트별 의존성 격리 - 패키지 매니저 (p…
- [Python] 기본 문법: 들여쓰기, 주석, 변수 ← 1
- 정의 Python은 들여쓰기(indentation)로 블록을 구분하는 언어다. C/Java의 중괄호 대신 일관된 들여쓰기 수준이 블록 스코프를 결정한다. PEP 8은 공백 4칸을…
- [Python] 데코레이터: @decorator, functools.wraps, 클래스 데코레이터 ← 5
- 정의 데코레이터(decorator)는 함수/클래스를 받아 다른 함수/클래스를 반환하는 callable이다. 문법은 단순한 호출 변환에 불과: 기본 데코레이터 는 원래 함수의 행동…
- [Python] 문자열 포매팅: %, .format, f-string, Template ← 2
- 정의 Python에는 4가지 문자열 포매팅 방법이 있다. 새 코드는 f-string 우선. | 방법 | 도입 | 상태 | |------|------|------| | 포매팅 | …
- [Python] 바이트코드와 dis 모듈 ← 2
- 정의 CPython 인터프리터는 Python 소스를 바이트코드로 컴파일해 평가 루프( 의 메인 switch)에서 실행한다. 바이트코드는 스택 기반 가상 머신을 위한 작은 명령어 …
- [Python] 상속, super, MRO, ABC ← 1
- 단일 상속 super() 부모 메서드를 호출하려면 . 다중 상속에서 MRO를 따라 다음 클래스로 디스패치. 인자 없이 호출하면 현재 클래스/인스턴스가 자동 주입된다(Python …
- [Python] 스코프와 LEGB, global, nonlocal ← 1
- LEGB 규칙 Python은 이름 해결 시 L → E → G → B 순서로 스코프를 탐색한다. | 단계 | 의미 | 예 | |------|------|---| | Local | …
- [Python] 연산자: 비교, 산술, 비트, 멤버십 ← 4
- 분류 | 종류 | 연산자 | 예시 | |------|--------|------| | 산술 | | , (행렬곱) | | 비교 | | | | 동일성 | | | | 멤버십 | | |…
- [Python] 예외 처리: try, except, raise, ExceptionGroup
- try / except / else / finally - : try가 정상 종료된 경우만 실행. try 블록을 최소화하기 위함 - : 항상 실행. 자원 해제용 예외 계층 으로 잡…
- [Python] 제어 흐름: if, for, while, match ← 2
- if / elif / else Python에는 가 없었으나 3.10+ 문이 추가됐다(아래 참고). for 루프 Python의 는 iterable 순회 전용. C의 인덱스 카운팅 …
- [Python] 함수 기초: def, 인수, return ← 2
- def 문으로 함수를 정의한다. 함수도 일급 객체(first-class)라 변수에 할당하고 인자로 전달할 수 있다. 인수 종류 Python 함수 시그니처는 6가지 매개변수 종류를…
- [Python] argparse, click, typer: CLI 만들기
- 정의 Python에서 CLI를 만드는 옵션은 세 가지가 주류: - (stdlib): 표준, 외부 의존성 없음 - (third-party): 데코레이터 기반, 강력한 옵션 처리 -…
- [Python] Async Generator, async for, async with ← 2
- 정의 Python의 비동기 모델은 코루틴 + iterator의 조합으로 확장된다. 동기 generator가 lazy 시퀀스를 만들듯, async generator는 각 값 사이에…
- [Python] asyncio: 비동기 프로그래밍 ← 2
- 정의 asyncio 는 Python 의 표준 비동기 I/O 라이브러리 (3.4+). event loop 위에서 coroutine 을 스케줄링. 로 정의한 함수가 코루틴이 되고, …
- [Python] asyncio: 이벤트 루프, async/await ← 8
- 정의 는 Python 표준 라이브러리의 단일 스레드 이벤트 루프 기반 비동기 I/O 프레임워크다. 로 코루틴을 정의하고 로 다른 코루틴/awaitable 완료를 기다린다. I/O…
- [Python] bytes, bytearray, memoryview ← 1
- 정의 Python에서 바이너리 데이터는 세 가지 타입으로 다룬다. - : 불변 바이트 시퀀스. 0255 정수의 immutable 배열. - : 가변 바이트 시퀀스. 의 mutab…
- [Python] class 기초: 정의, __init__, self ← 1
- 클래스 정의 self Python 메서드의 첫 번째 인수는 인스턴스 자신이다. 관례적으로 라 부른다(언어가 강제하진 않지만 PEP 8 권장). 호출 시 는 내부적으로 로 바인딩된…
- [Python] collections: Counter, deque, defaultdict, OrderedDict, ChainMap ← 5
- 정의 모듈은 dict/list/tuple/set의 특수화 컨테이너를 제공한다. 표준 라이브러리에 있는 데이터 구조 도구함의 핵심. | 클래스 | 용도 | |--------|---…
- [Python] collections.abc: 추상 컬렉션 인터페이스 ← 2
- 정의 는 컬렉션의 추상 베이스 클래스를 제공한다. 사용자 정의 컬렉션이 빌트인과 같은 인터페이스를 구현했음을 명시하거나, isinstance 검사에 사용. PEP 3119. 타입…
- [Python] Comprehension: list, dict, set, generator ← 4
- 정의 Comprehension(컴프리헨션)은 iterable로부터 list/set/dict/generator를 선언적·간결하게 만드는 문법이다. 일반 + 보다 30-50% 빠르며…
- [Python] concurrent.futures: ThreadPoolExecutor, ProcessPoolExecutor ← 3
- 정의 는 과 위에 고수준 Executor 인터페이스를 제공한다. 워커 풀, Future 객체, map/submit API로 동기 코드처럼 병렬 작업을 작성할 수 있다. 두 Exe…
- [Python] Context Manager: with, __enter__, contextlib ← 1
- 정의 Context manager는 와 메서드를 가진 객체로, 문을 통해 자원 획득/해제를 안전하게 묶는다. 파일·락·DB 트랜잭션·임시 설정처럼 "들어가면 반드시 나와야 하는"…
- [Python] contextvars: 비동기 친화 컨텍스트 변수 ← 1
- 정의 (PEP 567, 3.7+)는 현재 코드 실행 컨텍스트에 묶이는 변수다. threading의 처럼 동작하지만 asyncio 코루틴·태스크 경계도 정확히 인식. 비동기 코드에…
- [Python] cProfile, timeit, perf: 성능 프로파일링
- 정의 Python 성능 분석 도구 선택지. - (stdlib): 작은 코드 조각 벤치마크 - (stdlib): 함수 호출 단위 프로파일링, deterministic - (stdl…
- [Python] csv, io: CSV와 텍스트 스트림
- 정의 는 표준 라이브러리의 CSV 파서. 는 텍스트/바이너리 스트림 추상화. CSV 처리는 작은 파일이면 모듈, 큰 데이터셋이면 나 가 적합. 기본 읽기 중요: 에 권장. CSV…
- [Python] dataclass: 자동 생성 메서드를 갖춘 데이터 클래스 ← 5
- 정의 (3.7+, PEP 557)는 클래스에 , , 등 상용구 메서드를 자동 생성해주는 데코레이터다. 데이터 컨테이너 클래스를 한 줄 데코레이터 + 필드 어노테이션만으로 만들 수…
- [Python] datetime, timezone, zoneinfo
- 정의 모듈은 날짜·시각·기간 처리를 제공한다. 핵심 클래스: - : 연-월-일 - : 시-분-초-마이크로초 (날짜 정보 없음) - : date + time - : 기간 (날짜 간…
- [Python] Descriptor: __get__, __set__, __delete__ ← 1
- 정의 Descriptor는 , , 중 하나 이상을 구현한 클래스다. 다른 클래스의 클래스 속성으로 사용되면 그 속성 접근이 descriptor의 메서드를 통해 라우팅된다. , ,…
- [Python] dict: 해시 맵과 삽입 순서 보장 ← 3
- 정의 는 Python의 해시 맵 자료구조다. Python 3.7부터 삽입 순서를 언어 사양으로 보장한다(이전엔 CPython 3.6 구현 디테일이었음). 평균 O(1) 조회·삽입…
- [Python] enum: Enum, IntEnum, Flag, StrEnum ← 1
- 정의 은 고정된 이름-값 매핑을 정의하는 표준 모듈. 마법 숫자나 문자열 상수를 타입화된 멤버로 대체해 타입 안정성·가독성·IDE 지원을 얻는다. Enum 기본 멤버는 싱글톤. …
- [Python] float, Decimal, Fraction ← 1
- 정의 Python의 실수 산술은 세 가지 타입을 제공한다. - : IEEE 754 double precision (64비트). C 과 동일. 빠르지만 부정확. - : 임의 정밀도…
- [Python] functools: cache, partial, reduce, singledispatch ← 2
- 정의 는 함수형 프로그래밍 도구와 함수 변환 데코레이터를 제공하는 표준 라이브러리. 메모이제이션, 부분 적용, 디스패치, 데코레이터 메타데이터 등을 다룬다. lrucache / …
- [Python] GIL, multiprocessing 그리고 free-threaded (3.14) ← 3
- 정의 GIL (Global Interpreter Lock) 은 CPython 인터프리터가 한 번에 하나의 OS 스레드만 파이썬 바이트코드를 실행할 수 있도록 보장하는 뮤텍스. 1…
- [Python] hashlib, secrets, hmac: 해시와 암호 보안 ← 1
- 정의 암호학 관련 표준 모듈 3개. - : 해시 함수 (SHA-256, MD5, BLAKE2 등) - : 암호학적으로 안전한 난수 ( 은 비안전) - : HMAC 메시지 인증 암…
- [Python] heapq, bisect, array
- heapq: min-heap 는 리스트를 min-heap 구조로 다루는 함수 모음. 클래스가 아니라 일반 list 위에서 동작. 기본 / 모두 O(log n). 단순 list로는…
- [Python] import 시스템과 패키지 ← 1
- 정의 Python 시스템은 모듈(.py 파일)과 패키지(디렉터리)를 메모리에 로드하고 네임스페이스에 바인딩한다. CPython은 한 번 로드한 모듈을 캐시에 보관해 재import…
- [Python] importlib: 동적 import와 메타데이터
- 정의 는 import 시스템에 대한 프로그래밍 인터페이스. 동적 모듈 로딩, 메타데이터 조회, 진입점 발견, hot reload 등을 제공한다. 플러그인 시스템·테스트·동적 디스…
- [Python] int: 임의 정밀도 정수 ← 4
- 정의 Python의 는 임의 정밀도 정수(arbitrary precision integer)다. C의 / 처럼 비트 폭이 고정되지 않으며, 메모리가 허용하는 한 무한히 큰 정수를…
- [Python] Iterator, Generator, yield ← 4
- Iterator Protocol Iterator는 와 를 구현한 객체. Iterable은 만 가지면 된다 (iterator를 반환). 문은 내부적으로 로 iterator를 얻고 …
- [Python] itertools: 효율적인 iterator 빌딩 블록 ← 1
- 정의 는 메모리 효율적인 iterator 조합기를 제공한다. lazy 평가로 무한 시퀀스도 다루며, C로 구현되어 빠르다. Haskell/Lisp 영향을 받은 함수형 도구함. 무…
- [Python] json: 직렬화와 역직렬화
- 정의 모듈은 Python 객체와 JSON 텍스트 간 변환을 제공한다. 표준 라이브러리라 빠르게 시작 가능하나, 대용량/정밀도/속도 면에서 , 같은 서드파티가 우위. 기본 API …
- [Python] list: 가변 시퀀스 ← 2
- 정의 Python의 는 가변 길이 동적 배열(dynamic array)이다. C의 /Java 와 같은 자료구조로, 내부적으로 PyObject 포인터의 연속 배열을 over-all…
- [Python] logging: 로거, 핸들러, 포매터
- 정의 은 Python 표준 로깅 프레임워크. logger - handler - formatter - filter 4구성 요소로 유연한 로그 라우팅을 구현. 단순 사용은 한 줄로,…
- [Python] match문: 구조적 패턴 매칭 ← 2
- 정의 문(3.10+, PEP 634)은 구조적 패턴 매칭. C의 switch보다 훨씬 강력해 타입·구조·내용을 동시에 검사하고 동시에 binding한다. Haskell, Rust…
- [Python] Metaclass: type, __init_subclass__ ← 1
- 정의 Metaclass는 "클래스의 클래스"다. 일반 클래스가 인스턴스의 행동을 결정하듯, metaclass는 클래스 자체의 행동(생성, 속성, 메서드 추가)을 결정한다. 모든 …
- [Python] multiprocessing: Process, Pool, Queue, Manager ← 2
- 정의 은 별도 프로세스로 작업을 분산. GIL 우회 → 진정한 CPU 병렬. 각 프로세스는 독립된 메모리 공간이라 데이터 공유에 오버헤드(pickle, IPC). CPU 집약 작…
- [Python] None, bool, Truthiness ← 1
- None 은 값 없음을 나타내는 싱글톤 객체다. 타입은 . 모든 함수가 명시적 return 없으면 을 반환한다. None 비교는 로 PEP 8이 명시한 규칙. NumPy 배열 같…
- [Python] os, shutil, glob: 파일 시스템 도구
- 정의 파일 시스템 다루는 세 표준 모듈: - : OS 인터페이스 (환경 변수, 프로세스, 파일 기본 연산) - : 경로 문자열 조작 (대부분 로 대체 가능) - : 고수준 파일 …
- [Python] pathlib: 객체지향 파일 시스템 경로
- 정의 (3.4+, PEP 428)는 파일 경로를 객체로 다루는 모듈. 기존 문자열 기반 API를 대체할 만큼 강력하고 가독성 좋다. 운영체제별 차이( vs )도 추상화. 기본 사…
- [Python] pdb, breakpoint(), 디버깅 도구
- 정의 는 Python 표준 라이브러리의 대화형 디버거. 중단점, 스텝 실행, 변수 검사, 콜 스택 탐색을 제공. 3.7+ 빌트인이 표준 진입점. breakpoint() 호출 지점…
- [Python] pickle, shelve, marshal: 객체 직렬화
- 정의 은 Python 객체를 바이트로 직렬화하는 표준 모듈. dict, list, 사용자 클래스 등 거의 모든 객체를 디스크/네트워크로 옮길 수 있다. 보안 경고: pickle은…
- [Python] pydantic: 런타임 타입 검증과 직렬화 ← 3
- 정의 은 타입 힌트 기반 런타임 검증 + 직렬화 라이브러리. FastAPI, LangChain, Hugging Face 등 수많은 라이브러리의 기반. v2부터 Rust 코어로 빠…
- [Python] pytest: fixture, parametrize, mock ← 2
- 정의 는 Python 표준 테스트 프레임워크의 사실상 표준(stdlib는 이지만 pytest가 더 강력). 단순한 함수 로 시작해서 fixture, parametrize, plu…
- [Python] random, statistics, math ← 1
- random: 의사 난수 은 Mersenne Twister 기반 PRNG. 통계·시뮬레이션·게임용. 보안엔 사용. 기본 함수 seed: 재현 가능 seed 없으면 OS의 rand…
- [Python] re: 정규 표현식 ← 1
- 정의 모듈은 PCRE 호환 정규 표현식(완전 호환은 아니나 거의 유사) 엔진을 제공한다. 백트래킹 NFA 기반으로 표현력은 강하나 catastrophic backtracking …
- [Python] set, frozenset ← 1
- 정의 은 중복 없는 해시 가능 원소의 가변 컬렉션이다. dict의 키 슬롯만 가진 형태로 구현되어 평균 O(1) 멤버십·삽입·삭제를 제공한다. 은 그 불변 버전으로 해시 가능하다…
- [Python] sqlite3: 내장 SQL 데이터베이스
- 정의 는 Python 표준 라이브러리에 포함된 SQLite 데이터베이스 래퍼. 별도 서버 없이 단일 파일에 저장하는 임베디드 SQL DB. PEP 249 (DB-API 2.0) …
- [Python] str: 문자열과 f-string ← 1
- 정의 Python의 은 불변(immutable) 유니코드 문자열이다. 내부는 PEP 393 이후 "유연한 문자열 표현(flexible string representation)"으…
- [Python] subprocess: 외부 프로세스 실행
- 정의 는 외부 명령을 실행하고 입출력·exit code를 받아오는 표준 모듈. , 같은 구식 API를 대체한다. 3.5+ 이후엔 이 권장 진입점. subprocess.run 주요…
- [Python] textwrap, locale, unicodedata: 텍스트 처리 ← 1
- 정의 텍스트 처리 표준 모듈 3개. - : 줄바꿈, 들여쓰기 정렬 - : 지역화 (숫자/통화/날짜 포맷) - : 유니코드 정규화·분류·검색 textwrap 긴 텍스트를 일정 폭으…
- [Python] threading: Thread, Lock, Event ← 2
- 정의 은 OS 스레드 기반 동시성 모듈. GIL 때문에 CPU 바운드 작업은 가속되지 않으나 I/O 바운드(네트워크, 디스크) 작업의 병렬화는 가능. 3.13+ free-thre…
- [Python] tracemalloc, sys.getsizeof: 메모리 프로파일링 ← 1
- 정의 은 Python의 메모리 할당 추적기(PEP 454, 3.4+). 어디서 메모리가 할당되었는지 파일·줄 단위로 통계 수집. 메모리 누수 추적과 핫스팟 발견에 표준 도구. 기…
- [Python] tuple: 불변 시퀀스와 NamedTuple ← 3
- 정의 은 불변(immutable) 시퀀스다. 와 거의 같은 API를 가지나 생성 후 변경 불가하며, 그 덕에 dict 키나 set 원소로 사용 가능하다(해시 가능). 함수의 다중…
- [Python] TypedDict, Protocol, runtime_checkable ← 3
- TypedDict (PEP 589, 3.8+) dict의 키와 값 타입을 명시. JSON API 응답이나 설정처럼 dict로 들어오지만 스키마가 정해진 경우. 런타임엔 그냥 di…
- [Python] typing: 타입 힌트 기초 ← 5
- 정의 Python 타입 힌트(PEP 484)는 런타임에 강제되지 않는 정적 어노테이션이다. , , 같은 타입 체커가 정적 분석에 사용. 런타임은 어노테이션을 무시 (단, 일부 프…
- [Python] unittest.mock: Mock, patch, MagicMock ← 1
- 정의 은 테스트용 대역체(test double) 생성과 패칭을 위한 표준 라이브러리. , , 를 통해 외부 의존성을 격리하고 호출을 검증한다. pytest와도 잘 어울리며 같은 …
- [Python] urllib, requests, httpx: HTTP 클라이언트
- 정의 Python에서 HTTP 통신 옵션: - (stdlib): 외부 의존성 없는 기본 클라이언트. 다소 장황. - (third-party): 사실상 표준 HTTP 클라이언트. …
- [Python] warnings: 경고 발생과 필터링
- 정의 모듈은 에러보다 약한 경고를 발생·필터링한다. 라이브러리가 deprecated API 알림, 잠재적 버그 신호, 권장하지 않는 사용 패턴 등을 사용자에게 전달할 때 사용. …
- [Python] YAML, TOML, INI: 설정 파일 포맷
- 정의 설정 파일 포맷 비교: - JSON: 데이터 직렬화. 주석 없음, 좀 엄격. ( stdlib) - YAML: 풍부한 표현, 가독성 좋음. 보안 함정. ( 외부) - TOML…
- [Python] zipfile, tarfile, gzip, lzma: 압축과 아카이브
- 정의 압축·아카이브 관련 표준 모듈. - : ZIP 아카이브 (Windows 친화) - : TAR/TAR.GZ/TAR.BZ2 (Unix 표준) - : 단일 파일 gzip 압축 -…
- Python ← 6
- 정의 Python은 Guido van Rossum이 1991년 발표한 인터프리터 방식의 동적 타이핑 언어다. 읽기 쉬운 문법과 방대한 라이브러리 생태계로 웹 백엔드, 데이터 분석…
cloud (66)
- [AWS CAF] Business Perspective ← 7
- 정의 Business Perspective 는 AWS CAF 6 관점 중 비즈니스 성과 에 초점을 맞춘 관점입니다. 클라우드 투자가 디지털 전환 목표와 비즈니스 성과 (reven…
- [AWS CAF] Governance Perspective ← 7
- 정의 Governance Perspective 는 AWS CAF 6 관점 중 클라우드 이니셔티브의 관리 (orchestration) 를 담당합니다. 조직의 이익을 극대화하면서 전…
- [AWS CAF] Operations Perspective ← 7
- 정의 Operations Perspective 는 AWS CAF 6 관점 중 클라우드 서비스가 비즈니스가 요구하는 수준으로 딜리버리되도록 보장 하는 관점입니다. 자동화 + 최적화…
- [AWS CAF] People Perspective ← 6
- 정의 People Perspective 는 AWS CAF 6 관점 중 비즈니스 와 기술 사이의 다리 역할을 하는 관점입니다. 문화, 조직 구조, 리더십, 인력 (workforce…
- [AWS CAF] Platform Perspective ← 6
- 정의 Platform Perspective 는 AWS CAF 6 관점 중 엔터프라이즈급 확장 가능한 하이브리드 클라우드 플랫폼 구축 을 담당합니다. 기존 워크로드 현대화 + 신규…
- [AWS CAF] Security Perspective ← 7
- 정의 Security Perspective 는 AWS CAF 6 관점 중 데이터와 워크로드의 기밀성 (Confidentiality), 무결성 (Integrity), 가용성 (Av…
- [AWS] ALB vs NLB: L7 vs L4 로드 밸런서 ← 16
- 정의 | | ALB | NLB | (Classic ELB) | |---|---|---|---| | Layer | L7 (HTTP) | L4 (TCP/UDP) | L4 + L7 (…
- [AWS] Amazon Bedrock ← 4
- 정의 Amazon Bedrock 은 여러 제공사의 파운데이션 모델 (foundation model) 을 단일 API 로 호출할 수 있게 하는 AWS 의 관리형 서비스입니다. 20…
- [AWS] Amazon DocumentDB ← 3
- 정의 Amazon DocumentDB 는 AWS 가 관리하는 문서 지향 (document-oriented) NoSQL 데이터베이스 로, MongoDB API 호환 을 제공합니다.…
- [AWS] Amazon GuardDuty ← 8
- 정의 Amazon GuardDuty 는 AWS 계정 활동 로그를 머신러닝 과 위협 인텔리전스 로 지속 분석하여 악의적 활동/이상 행동을 감지하는 관리형 위협 탐지 서비스입니다. …
- [AWS] Amazon Inspector ← 6
- 정의 Amazon Inspector (v2, 2021+) 는 AWS 워크로드의 취약점 (CVE) 과 의도치 않은 네트워크 노출 을 지속 스캔하는 서비스입니다. EC2, ECR 이…
- [AWS] Amazon Kendra
- 정의 Amazon Kendra 는 AWS 가 관리하는 엔터프라이즈 지능형 검색 (intelligent enterprise search) 서비스입니다. 전통적 키워드 검색을 넘어 …
- [AWS] Amazon Macie ← 5
- 정의 Amazon Macie 는 AWS 가 관리하는 데이터 보안 및 프라이버시 서비스 로, 머신러닝과 패턴 매칭을 이용해 S3 버킷의 민감 정보 (PII, PHI, 금융 정보, …
- [AWS] Amazon Neptune ← 3
- 정의 Amazon Neptune 은 AWS 가 관리하는 그래프 데이터베이스 서비스입니다. 두 데이터 모델과 세 쿼리 언어를 모두 지원합니다. - Property Graph 모델:…
- [AWS] Amazon RDS (Relational Database Service) ← 8
- 정의 Amazon RDS (Relational Database Service) 는 AWS 가 관리하는 관계형 데이터베이스 서비스 입니다. 6개 엔진 (MySQL, PostgreS…
- [AWS] Amazon Redshift ← 4
- 정의 Amazon Redshift 는 AWS 가 관리하는 페타바이트 규모 컬럼형 데이터 웨어하우스 입니다. 2012년 PostgreSQL 8.0.2 를 기반으로 시작해 MPP (…
- [AWS] Amazon SageMaker ← 4
- 정의 Amazon SageMaker 는 AWS 의 엔드투엔드 머신러닝 플랫폼 입니다. 데이터 준비, 라벨링, 학습, 튜닝, 배포, 모니터링, MLOps 파이프라인을 한 콘솔/SD…
- [AWS] API Gateway: REST/HTTP/WebSocket API 관리 ← 4
- 정의 AWS API Gateway 는 REST / HTTP / WebSocket API 를 관리하는 완전관리형 서비스. 인증, 스로틀링, 캐싱, 요청/응답 변환, 로깅을 단일 서…
- [AWS] Artifact (AWS Compliance Reports & Agreements) ← 5
- 정의 AWS Artifact 는 AWS 자체의 컴플라이언스 인증서, 감사 보고서, 계약서 (Agreements) 를 온디맨드로 다운로드하는 포털입니다. AWS 인프라와 서비스가 …
- [AWS] Audit Manager (Automated Compliance Auditing) ← 13
- 정의 AWS Audit Manager 는 AWS 사용량에 대한 감사 (audit) 준비 프로세스를 자동화 하는 서비스입니다. 규제 프레임워크 (CIS, PCI DSS, HIPAA…
- [AWS] Auto Scaling: EC2 ASG, target tracking, predictive ← 4
- 정의 Auto Scaling Group (ASG) = EC2 instance 자동 증감. desired / min / max + scaling policy. 구조 Scaling …
- [AWS] CDK (Cloud Development Kit) ← 5
- 정의 AWS CDK (Cloud Development Kit) 는 프로그래밍 언어 (TypeScript, Python, Java, C#, Go) 로 AWS 인프라를 정의하여 Cl…
- [AWS] Cloud Adoption Framework (CAF) ← 9
- 정의 AWS Cloud Adoption Framework (AWS CAF) 는 AWS 가 수많은 고객의 클라우드 전환 경험을 정리해 만든 조직 수준의 클라우드 도입 방법론 입니다…
- [AWS] CloudFormation ← 4
- 정의 AWS CloudFormation 은 JSON 또는 YAML 템플릿으로 AWS 인프라를 선언적으로 프로비저닝하는 IaC (Infrastructure as Code) 서비스입…
- [AWS] CloudFront: CDN, origin, behavior, signed URL ← 7
- 정의 CloudFront = AWS 의 글로벌 CDN. 전세계 600 PoP (Points of Presence) 에서 사용자에게 가까운 edge 로 콘텐츠 제공. 지연 감소 +…
- [AWS] CloudTrail (API Activity Logging) ← 18
- 정의 AWS CloudTrail 은 AWS 계정의 API 호출 및 사용자 활동을 기록 하는 감사 로깅 서비스입니다. "누가, 언제, 어디서, 어떤 API 를, 어떤 리소스에 대해…
- [AWS] CloudWatch: 메트릭, 로그, 알람 ← 33
- 정의 CloudWatch = AWS 의 모니터링 + 로그 + 알람 통합 서비스. 메트릭 수집, 로그 집계, 대시보드, 알람, 이상 감지를 하나의 서비스에서 제공. 사용 상황 | …
- [AWS] Config (Resource Configuration Tracking) ← 13
- 정의 AWS Config 는 AWS 계정 안 리소스의 구성 (configuration) 상태를 지속 기록 하고, 정책 규칙 (Config Rules) 위반을 자동 감지하는 서비스…
- [AWS] Direct Connect ← 5
- 정의 AWS Direct Connect (DX) 는 온프레미스 데이터센터 (또는 사무실) 를 AWS 리전에 전용선 으로 직접 연결하는 서비스입니다. 인터넷을 거치지 않아 낮은 지…
- [AWS] EBS vs Instance Store: 영속 vs 임시 스토리지 ← 5
- 정의 | | EBS | Instance Store | |---|---|---| | 영속성 | 영속 | 임시 (instance 종료 시 손실) | | 위치 | 네트워크 attach…
- [AWS] EC2 Instance Types: family, generation, sizing ← 2
- 정의 EC2 인스턴스 수백 종. family + generation + modifier + size. 워크로드에 맞춰 right-sizing. Family | Family | 용…
- [AWS] EC2: 인스턴스 타입, AMI, EBS ← 8
- 정의 EC2 (Elastic Compute Cloud) = AWS 의 VM 서비스. instance type (CPU / RAM / NW) 결정 + AMI (OS 이미지) + E…
- [AWS] ECR (Elastic Container Registry) ← 6
- 정의 Amazon Elastic Container Registry (ECR) 는 AWS 가 관리하는 OCI 컨테이너 이미지 및 Helm chart 레지스트리 입니다. Docker…
- [AWS] ECS (Elastic Container Service) ← 4
- 정의 Amazon Elastic Container Service (ECS) 는 AWS 가 관리하는 컨테이너 오케스트레이터 입니다. Task definition (컨테이너 스펙) …
- [AWS] ECS + Fargate: 컨테이너 오케스트레이션 ← 7
- 정의 ECS (Elastic Container Service) = AWS 의 컨테이너 오케스트레이션. K8s 보다 단순하고 AWS 네이티브. Fargate = ECS (또는 EK…
- [AWS] EKS: managed Kubernetes ← 14
- 정의 EKS (Elastic Kubernetes Service) = AWS 의 managed K8s control plane. worker node 는 사용자 (또는 Fargat…
- [AWS] EventBridge: 이벤트 버스, 스케줄러, partner sources ← 12
- 정의 EventBridge = AWS 의 통합 event bus. 옛 CloudWatch Events 의 후계. AWS service 이벤트 + custom 이벤트 + SaaS …
- [AWS] Global Accelerator
- 정의 AWS Global Accelerator (GA) 는 AWS 글로벌 백본 네트워크 위에서 사용자를 가장 가까운 healthy AWS endpoint 로 라우팅해 성능을 향상…
- [AWS] IAM: User, Role, Policy, STS ← 46
- 정의 IAM (Identity and Access Management) = AWS 의 권한 관리 전부. User, Group, Role, Policy 로 구성. "누가 어떤 리소…
- [AWS] KMS: 암호화 키 관리, envelope encryption ← 20
- 정의 KMS (Key Management Service) = 암호화 키 중앙 관리. envelope encryption + IAM 통합 + 감사 로그. 키 종류 | 종류 | 의미…
- [AWS] Lambda Cold Start: 원인과 완화 ← 2
- 정의 Cold Start = Lambda 가 처음 호출 또는 idle 후 다시 호출 시 컨테이너 + 런타임 + 사용자 코드 init 에 소요되는 지연 시간. 사용 상황 (cold…
- [AWS] Lambda: 서버리스 함수, 트리거, 동시성 ← 21
- 정의 AWS Lambda = 서버리스 함수 실행. 이벤트 트리거 → 함수 실행 → 결과 / 비동기 처리. 서버 관리 0. 사용 상황 | 상황 | Lambda 적합성 | |---|…
- [AWS] Network Firewall ← 2
- 정의 AWS Network Firewall (ANF) 은 VPC 를 위한 관리형 네트워크 방화벽 + 침입 방지 (IDS/IPS) 서비스입니다. Stateful + Stateles…
- [AWS] PrivateLink (VPC Interface Endpoints) ← 7
- 정의 AWS PrivateLink 는 VPC 내부의 리소스가 인터넷을 거치지 않고 AWS 서비스, 다른 계정의 서비스, 또는 SaaS 파트너 서비스에 접근하도록 하는 서비스입니다…
- [AWS] RDS Multi-AZ + Read Replica ← 2
- 정의 RDS (Relational Database Service) = AWS 의 managed RDB. MySQL, PostgreSQL, MariaDB, Oracle, SQL S…
- [AWS] Route 53 ← 8
- 정의 Amazon Route 53 는 AWS 의 highly available, scalable Domain Name System (DNS) 웹 서비스 입니다. 이름은 DNS 표…
- [AWS] S3 File Access (Mountpoint, File Gateway, Express One Zone) ← 2
- 정의 "S3 를 파일처럼 다루는" 요구를 충족하는 AWS 옵션은 하나가 아니라 여러 개입니다. 각자 다른 트레이드오프를 가집니다. | 옵션 | 성격 | 대표 용도 | |:---|…
- [AWS] S3 Vectors ← 7
- 정의 Amazon S3 Vectors 는 벡터 임베딩을 저비용, 대용량, 서버리스 로 저장하고 쿼리하기 위한 S3 의 새 버킷 유형입니다. 2024년 7월 preview, 202…
- [AWS] S3: object storage, storage classes, lifecycle ← 25
- 정의 S3 = AWS 의 object storage. bucket + key + object. 11 9's durability (99.999999999%), 무한 확장. 2026…
- [AWS] Secrets Manager + Parameter Store ← 8
- 정의 AWS Secrets Manager = 회전이 필요한 비밀 (DB 패스워드, API key) 을 안전하게 저장/관리하는 서비스. Lambda 기반 자동 회전과 암호화 내장.…
- [AWS] Security Group vs NACL: stateful vs stateless 방화벽 ← 5
- 정의 AWS VPC 에는 두 계층의 네트워크 방화벽이 존재. | 항목 | SG (Security Group) | NACL (Network ACL) | |:---|:---|:---…
- [AWS] Security Hub ← 4
- 정의 AWS Security Hub 는 여러 AWS 보안 서비스와 3rd-party 도구의 보안 발견 사항 (findings) 을 통합 표시하고, 산업 표준 프레임워크 (CIS,…
- [AWS] Shield (DDoS Protection) ← 10
- 정의 AWS Shield 는 AWS 워크로드를 분산 서비스 거부 (DDoS, Distributed Denial of Service) 공격으로부터 보호하는 관리형 서비스입니다. S…
- [AWS] SNS: pub-sub 알림, fan-out 패턴 ← 4
- 정의 SNS (Simple Notification Service) = pub-sub 메시징. Publisher 가 Topic 에 발행하면 모든 Subscriber 에 동시에 fa…
- [AWS] SQS: managed queue, FIFO, DLQ ← 5
- 정의 SQS (Simple Queue Service) = AWS 의 완전 관리형 메시지 큐. infinite scale, no provisioning, pay-per-reques…
- [AWS] Step Functions: 워크플로 오케스트레이션 ← 3
- 정의 Step Functions = 서버리스 워크플로 오케스트레이션. Amazon States Language (ASL, JSON) 으로 상태 기계 정의. 각 단계의 재시도, 에…
- [AWS] STS / AssumeRole: 임시 자격, cross-account ← 2
- 정의 STS (Security Token Service) = 임시 자격 증명 발급. short-lived (15분-12시간) credentials. 장기 access key 없이…
- [AWS] Trusted Advisor ← 2
- 정의 AWS Trusted Advisor 는 사용자의 AWS 환경을 지속 검사해 비용 최적화, 성능, 보안, 내결함성, 서비스 한도, 운영 우수성 5가지 축에서 모범 사례 이탈 …
- [AWS] VPC: subnet, route, NAT, peering ← 23
- 정의 VPC (Virtual Private Cloud) = AWS 안의 논리적 격리 네트워크. CIDR 정의 + subnet 분할 + 라우팅. AWS 리소스를 격리된 네트워크에 …
- [AWS] WAF (Web Application Firewall) ← 4
- 정의 AWS WAF (Web Application Firewall) 는 HTTP/HTTPS 요청을 검사하는 Layer 7 방화벽 서비스입니다. CloudFront, ALB, AP…
- [AWS] Well-Architected Framework ← 5
- 정의 AWS Well-Architected Framework 는 AWS 클라우드 위 워크로드가 안전하고, 신뢰할 수 있고, 효율적이며, 비용 효율적으로 구축되었는지 평가하는 6개…
- [Container] OCI Image: spec, manifest, layer 표준 ← 7
- 정의 OCI (Open Container Initiative) = 컨테이너 표준 (Linux Foundation, 2015). image format + runtime + dis…
- [IaC] AWS CDK: TypeScript 로 CloudFormation 생성
- 정의 AWS CDK = TS/Python/Java/Go 로 AWS 인프라 정의 → CloudFormation 으로 컴파일 → 배포. AWS 전용 IaC 도구. CloudForma…
- [IaC] Pulumi: 코드로 인프라 (TS/Python/Go) ← 3
- 정의 Pulumi = 일반 프로그래밍 언어로 IaC. TypeScript, Python, Go, .NET, Java. Terraform 의 HCL DSL 대신 코드 자유도. 사용…
- [IaC] Terraform State: backend, locking, drift, import ← 1
- 정의 Terraform State = 코드 (의도) vs 실제 인프라 매핑. JSON 파일. 모든 Terraform 작업의 핵심. , , 모두 state 를 기반으로 diff 계…
- [IaC] Terraform: HCL, provider, state ← 7
- 정의 Terraform = 선언적 인프라 코드. HCL (HashiCorp Configuration Language) 로 리소스 정의 → AWS/GCP/Azure 등 provid…
pandas (66)
- [Pandas] .at / .iat ← 1
- 정의 - : 단일 스칼라 (한 행, 한 열) 의 라벨 기반 접근 - : 단일 스칼라의 정수 위치 기반 접근 의 단일 셀 전용 빠른 버전. 내부 검증 단계를 단순화해 가장 빠른 셀…
- [Pandas] .dt accessor ← 3
- 정의 는 datetime Series 의 각 구성요소 (년/월/일/시/분/요일 등) 에 벡터로 접근하는 accessor. 의 datetime 버전. 구성요소 분류 시각화 기본 컴…
- [Pandas] .loc / .iloc ← 16
- 정의 - : 라벨 기반 인덱싱 (index/column 이름) - : 정수 위치 기반 인덱싱 (0-based) 이 두 indexer 가 pandas 선택의 표준. 만으로는 헷갈리…
- [Pandas] .str accessor ← 5
- 정의 는 Series 의 각 문자열 원소에 벡터화된 문자열 메서드 를 적용하는 accessor. Python 의 거의 모든 메서드를 NaN-aware 로 제공한다. accesso…
- [Pandas] 개요 ← 2
- 정의 pandas 는 Python 의 데이터 분석/조작 라이브러리. 두 가지 핵심 자료형을 중심으로 동작한다. - : 1차원 레이블 배열 (NumPy array + index) …
- [Pandas] 성능 / 메모리 최적화 ← 24
- 정의 pandas 의 흔한 성능 함정과 최적화 패턴. 벡터화 + dtype 선택 + 알고리즘 의 조합이 핵심. 사용 상황 | 상황 | 권장 접근 | |:---|:---| | 단순…
- [Pandas] 컬럼 선택 ← 3
- 정의 DataFrame 에서 하나 또는 여러 컬럼을 선택 하는 방법들. 가장 기본이자 가장 자주 쓰는 동작. 선택 방법 분류 4 가지 기본 방식 단일 vs 다중 (반환 타입 차이…
- [Pandas] agg / aggregate ← 9
- 정의 는 여러 집계 함수를 한 번에 적용 한다. , , 모두에서 사용 가능. 는 같은 함수의 별칭. agg 처리 흐름 사용 상황 | 상황 | 패턴 | |:---|:---| | 전…
- [Pandas] apply / map ← 7
- 정의 - : 각 원소 에 함수 적용 (또는 dict 매핑) - : 각 원소 에 함수 적용 (map 과 유사, 추가 인자 가능) - : 각 행 또는 열 에 함수 적용 - (pand…
- [Pandas] between / 다중 조건
- 정의 이 페이지는 세 가지 개념을 함께 다룬다. - : 두 값 사이인지 검사 (SQL ) - : 누락 값을 다른 DataFrame 으로 채움 (우선순위 있는 합치기) - : 다른…
- [Pandas] Boolean Indexing ← 17
- 정의 Boolean Indexing 은 True/False 의 Series 를 인덱서로 전달 해 행을 선택하는 패턴. pandas 의 가장 흔한 필터링 방법. 마스크 생성과 적용…
- [Pandas] Categorical ← 10
- 정의 Categorical 은 제한된 고유값 만 가질 수 있는 dtype. 내부적으로 정수 코드로 저장되어 메모리 절약 과 속도 향상 을 동시에 달성한다. 고유값 수가 적고(lo…
- [Pandas] clip / where / mask
- 정의 - : 범위 밖 값을 경계로 자르기 (outlier 처리) - : cond 가 True 면 유지, False 면 other 로 치환 - : where 의 반대 (cond T…
- [Pandas] concat ← 7
- 정의 는 여러 DataFrame/Series 를 세로 (axis=0) 또는 가로 (axis=1) 로 단순 연결. SQL 의 (axis=0) 또는 column-level conca…
- [Pandas] crosstab ← 2
- 정의 는 두 (또는 그 이상의) Series 로 교차 빈도표 (contingency table) 를 만든다. SQL 의 PIVOT 또는 Excel 의 피벗 테이블과 비슷. 사용 …
- [Pandas] cumsum / cummax / cummin / cumprod ← 3
- 정의 누적 (cumulative) 연산. 각 위치까지의 누적 결과를 반환, 결과 길이는 원본과 동일. | 함수 | 의미 | |:---|:---| | | 누적 합 | | | 누적 …
- [Pandas] cut / qcut ← 4
- 정의 - : 값 기반 binning (구간을 직접 지정) - : 빈도 기반 binning (분위수로 같은 크기) 연속형 변수를 범주형으로 변환. ML 의 feature engin…
- [Pandas] DataFrame ← 37
- 정의 은 2차원 레이블 테이블. 각 열이 , 모든 열이 같은 (행 라벨) 를 공유. SQL 테이블 / Excel 시트 / R data.frame 의 Python 대응체. 구조 시…
- [Pandas] DataFrame.style ← 1
- 정의 는 HTML/CSS 기반 서식을 DataFrame 에 적용하는 API. Jupyter 노트북, 보고서, Excel 출력에 활용. 데이터 자체는 변하지 않고 표시만 바뀐다. …
- [Pandas] date_range / Timestamp ← 3
- 정의 - : 정해진 시작/끝/간격으로 datetime 시퀀스 생성 - : pandas 의 단일 datetime 객체 - : 시간 차이 사용 상황 | 상황 | 사용 API | |:…
- [Pandas] drop_duplicates / duplicated ← 3
- 정의 - : 각 행이 중복인지 boolean Series 반환 - : 중복 행 제거 후 DataFrame 반환 와는 다르다. 그건 Series 의 고유값 추출, 이건 행 단위 처…
- [Pandas] dropna / fillna ← 10
- 정의 - : NaN 이 있는 행/열 제거 - : NaN 을 특정 값으로 대체 데이터 분석의 가장 기본적인 결측치 처리. 사용 상황 - CSV 로드 후 빈 셀이 NaN 으로 읽혔을…
- [Pandas] expanding / ewm ← 3
- 정의 외의 윈도우 연산. - : 시작부터 현재까지 누적 윈도우 - : exponentially weighted (지수 가중) 윈도우 개념 비교 | 항목 | | | | |:---|…
- [Pandas] explode ← 1
- 정의 는 list / set / tuple 등의 시퀀스 값을 가진 컬럼을 각 원소가 별도 행 이 되도록 펼친다. JSON / 로그 / 다중 태그 데이터 처리의 핵심. 사용 상황 …
- [Pandas] get_dummies / from_dummies ← 2
- 정의 는 범주형 컬럼을 원-핫 인코딩 (one-hot encoding) 한다. 범주 값 하나당 새 컬럼 (0/1 또는 True/False) 이 생성된다. ML 전처리의 가장 흔한…
- [Pandas] groupby ← 36
- 정의 는 데이터를 그룹으로 나누고 (split), 각 그룹에 함수를 적용 (apply), 결과를 합쳐 (combine) 새 DataFrame 으로 만드는 split-apply-c…
- [Pandas] idxmax / idxmin ← 1
- 정의 - : 최댓값의 index 라벨 반환 - : 최솟값의 index 라벨 반환 / 이 값 을 반환한다면, / 은 그 값이 있는 index 라벨 을 반환한다. "MAX 인 행의 …
- [Pandas] Index ← 4
- 정의 는 행 / 열 라벨을 보관하는 객체. / 의 모든 라벨은 Index. 정렬, 정합성, 빠른 lookup 의 기반. 기본은 RangeIndex (0, 1, 2, ...) 지만…
- [Pandas] info / memory_usage / describe ← 1
- 정의 DataFrame 의 메타데이터 / 메모리 / 통계를 빠르게 조회하는 도구. | 메서드 | 목적 | |:---|:---| | | 컬럼별 dtype + non-null cou…
- [Pandas] interpolate ← 3
- 정의 는 NaN 을 주변 값을 사용해 보간 으로 채운다. 시계열, 센서 측정 데이터처럼 값이 연속적으로 변화하는 경우의 결측을 자연스럽게 채울 때 유용하다. 가 단일 고정값이나 …
- [Pandas] isin / isna / notna ← 7
- 정의 | 메서드 | 의미 | |:---|:---| | | 각 원소가 values 안에 있는지 (boolean Series) | | | NaN/NaT/None 여부 ( 별칭) | …
- [Pandas] iterrows / itertuples ← 2
- 정의 - : (index, Series) 순회 - : NamedTuple 순회 (빠름, 권장) - : (columnname, Series) 순회 사용 시점 Python 루프 기반…
- [Pandas] join ← 3
- 정의 는 index 기반 결합 의 편의 API. 내부적으로는 와 동등하지만 더 짧다. pandas 에서 두 DataFrame 을 결합하는 세 가지 주요 함수: - : 컬럼 / 인…
- [Pandas] melt ← 5
- 정의 는 의 역방향. wide-format → long-format 변환. 여러 컬럼을 두 컬럼 ( , ) 으로 합친다. 장기간 시계열 데이터나 시각화 라이브러리 (seaborn…
- [Pandas] merge ← 7
- 정의 는 두 DataFrame 을 SQL join 처럼 결합. 4 가지 join 타입 (inner / left / right / outer) 지원. 사용 상황 - 두 테이블 키 …
- [Pandas] merge_asof ← 2
- 정의 는 가장 가까운 키 기준 join. 일반 가 정확히 일치하는 키만 매칭하는 반면, 는 이전 (또는 가장 가까운) 키를 찾는다. 시계열 데이터 (가격, 이벤트) 와 다른 시계…
- [Pandas] mode / factorize ← 2
- 정의 - : 가장 빈번한 값 (최빈값) 반환. 탐색, 결측치 채우기, 통계에 사용. - : 고유값을 정수 코드로 변환. ML 전처리의 label encoding. 사용 상황 | …
- [Pandas] MultiIndex ← 8
- 정의 MultiIndex 는 여러 단계(level)의 라벨로 구성된 . SQL의 composite key와 비슷하며, 그룹화된 데이터를 자연스럽게 표현한다. , , 등이 자동으로…
- [Pandas] nlargest / nsmallest / rank ← 2
- 정의 - : 상위 N 개 행 ( 보다 빠름) - : 하위 N 개 행 - : 각 원소의 순위 (1, 2, 3, ...) rank method 비교 시각화 nlargest / nsm…
- [Pandas] Nullable Types (Int64, boolean, string[pyarrow]) ← 9
- 정의 Nullable dtypes 는 NaN/None 을 타입 그대로 표현할 수 있는 pandas 의 새 타입 시스템. NumPy 기반의 (NaN 미허용) 의 한계를 극복. - …
- [Pandas] pipe / method chaining ← 2
- 정의 는 method chain 안에 사용자 함수를 끼워 넣기. 와 동등하지만 chain 의 흐름을 유지한다. 사용 상황 | 상황 | pipe 활용 | |:---|:---| | …
- [Pandas] pipe / method chaining ← 2
- 정의 는 DataFrame/Series 자체를 함수의 첫 인자로 넘겨 method chaining 흐름에 사용자 함수를 끼워 넣는 API. functional style pand…
- [Pandas] pivot ← 5
- 정의 는 long-format → wide-format 변환. 한 열의 고유 값들이 새 컬럼이 되고, 원래 데이터는 그 자리에 배치된다. 집계가 없으므로 같은 (index, co…
- [Pandas] pivot_table ← 9
- 정의 는 의 확장. 집계 함수를 동반 해 중복 (index, columns) 도 처리. Excel 의 피벗 테이블과 가장 가까운 기능. pivottable 처리 흐름 사용 상황 …
- [Pandas] PyArrow Backend ← 4
- 정의 pandas 2.0 부터 Apache Arrow 를 백킹으로 사용 하는 새 dtype 시스템. NumPy 기반의 한계 (메모리, 문자열, 타입 다양성) 를 크게 개선. 사용…
- [Pandas] query / eval ← 7
- 정의 - : 문자열로 boolean 표현식 을 전달해 행 필터링 - : 문자열로 계산 표현식 을 평가 의 가독성 있는 대안. 사용 상황 - 조건이 복잡해 boolean index…
- [Pandas] read_csv / to_csv ← 10
- 정의 는 CSV(Comma-Separated Values) 또는 구분자 기반 텍스트 파일을 DataFrame 으로 읽는 함수. pandas 사용의 출발점. 반대 방향은 : Dat…
- [Pandas] read_excel / to_excel ← 5
- 정의 는 Excel 파일 (.xlsx, .xls) 을 으로 읽는 함수. 와 은 역방향 저장을 담당한다. 한국 실무에서 업무 보고서, 정산 파일, 외부 데이터 수신 등에 매우 자주…
- [Pandas] read_json / to_json ← 1
- 정의 은 JSON 문자열 또는 파일을 DataFrame 으로 변환. 파라미터가 핵심, JSON 의 구조가 어떤 형태인지를 선언한다. 반대 방향은 : DataFrame 을 JSON…
- [Pandas] read_parquet / to_parquet ← 7
- 정의 Parquet 은 column-oriented binary 포맷. CSV 대비 수십 배 빠르고 작다. dtype 보존, 압축, 부분 컬럼 읽기 지원. 데이터 분석의 사실상 …
- [Pandas] read_sql / to_sql ← 7
- 정의 - : SQL 결과 -> DataFrame - : DataFrame -> DB 테이블 SQLAlchemy 의 connection / engine 객체를 사용. 직접 sqli…
- [Pandas] replace / astype ← 6
- 정의 - : 특정 값을 다른 값으로 치환 - : dtype 변환 dtype 변환 경로 replace 기본 <CodeWithOutput language="python" output…
- [Pandas] resample ← 10
- 정의 는 시계열 데이터를 다른 빈도 (월별, 일별, 시간별 등) 로 재샘플링하면서 집계한다. 의 시계열 버전. DatetimeIndex (또는 으로 datetime 컬럼) 이 필…
- [Pandas] rolling / expanding ← 9
- 정의 - : 고정 크기 슬라이딩 윈도우 (이동 평균 등) - : 시작부터 누적 윈도우 (cumulative) - : 지수 가중 이동 평균 사용 상황 | 상황 | 적합한 방법 | …
- [Pandas] sample
- 정의 / 은 행 (또는 열) 을 랜덤으로 추출 하는 함수. EDA 빠른 확인, train/test split, bootstrap, imbalanced data 처리에 자주 사용.…
- [Pandas] Series ← 10
- 정의 는 1차원 레이블 배열. NumPy + 의 결합. 의 한 열이 곧 Series. dict-like (key = index label) 이자 list-like (순서 있는 배…
- [Pandas] SettingWithCopyWarning ← 8
- 정의 은 pandas 가 가장 자주 던지는 경고. chained indexing 으로 view 인지 copy 인지 모호한 상태에 값을 할당 할 때 발생. 사용 상황 다음 상황에서…
- [Pandas] shift / diff / pct_change ← 4
- 정의 - : 값을 n 칸 밀기 (lag/lead 생성) - : n 칸 차이 (= ) - : 변화율 (= ) 시계열 분석의 기본 도구. 전일 대비 / 전월 대비 / lag feat…
- [Pandas] sort_values / sort_index ← 4
- 정의 - : 컬럼 값 기준 정렬 - : index (행 또는 열 라벨) 기준 정렬 기본은 오름차순, 로 내림차순. 사용 상황 - 단일 컬럼 정렬: 날짜, 점수, 금액 등 단순 순…
- [Pandas] stack / unstack ← 4
- 정의 - : 가장 안쪽 컬럼 레벨 -> 행 레벨 (DataFrame -> Series 또는 더 좁은 DataFrame) - : 가장 안쪽 행 레벨 -> 컬럼 레벨 / 의 Mult…
- [Pandas] str regex (extract / split / replace) ← 3
- 정의 의 정규식 기반 메서드. 패턴 추출, 분리, 치환 의 핵심. 의 정규식 특화 부분. 기본 문자열 메서드는 참고. 사용 상황 - 로그 문자열에서 IP, 날짜, 에러 코드 등을…
- [Pandas] str.contains / startswith / endswith ← 3
- 정의 문자열 Series 에서 패턴 매칭 으로 필터링/검색하는 메서드들. SQL 의 , 패턴에 해당하며, accessor 를 통해 접근한다. 메서드 전체 지도 contains -…
- [Pandas] to_datetime ← 8
- 정의 는 문자열, 정수, dict, DataFrame 컬럼을 타입으로 변환한다. pandas 시계열 작업의 출발점. 사용 상황 - CSV 로드 후 날짜 컬럼이 (문자열) 로 읽혔…
- [Pandas] transform / apply ← 4
- 정의 | 메서드 | 입력 | 출력 | 용도 | |:---|:---|:---|:---| | | 그룹 | 같은 shape | 정규화, 보충 | | | 그룹 | 임의 shape | 가…
- [Pandas] unique / nunique
- 정의 - : 고유값을 등장 순서대로 numpy array 반환 - : 고유값의 개수 반환 (NaN 기본 제외) - : 각 컬럼/행의 고유값 개수 - : Series 가 아닌 ar…
- [Pandas] value_counts ← 8
- 정의 는 각 고유값의 등장 빈도 를 내림차순 Series 로 반환. SQL 의 . pandas 1.1+ 부터는 도 가능 (여러 컬럼 조합). 기본 <CodeWithOutput l…
javascript (60)
- [Frontend] SPA Architecture: CSR, SSR, SSG, hydration ← 4
- 정의 SPA (Single Page Application) 는 첫 로딩 시 받은 HTML / JS 번들 하나로 모든 화면 전환을 클라이언트에서 처리하는 웹 앱 구조. URL 변경…
- [Javascript] 스코프 체인 ← 7
- 정의 스코프 체인 (Scope Chain) 은 변수 식별자를 해결할 때 따라가는 중첩된 의 연결 구조. 안쪽 스코프에서 찾지 못한 변수를 바깥 스코프로 차례로 검색. 시각화 변수…
- [Javascript] 이벤트 루프 ← 12
- 정의 이벤트 루프 (Event Loop) 는 싱글 스레드 JavaScript 엔진이 비동기 작업을 처리하기 위해 돌리는 무한 루프다. 콜 스택이 비어있을 때마다 마이크로태스크 큐…
- [Javascript] 제어 흐름
- 정의 JS 의 제어 흐름 구문. 분기, 반복, 종료 / 계속. if / else switch 없으면 다음 case 로 fall-through. ES2023+ lookup 이 더 …
- [Javascript] 콜백 ← 6
- 정의 콜백 (callback): 다른 함수의 인자로 넘겨져, 받은 쪽(caller)이 적절한 시점에 호출하는 함수. 특성이 있어야 가능한 패턴이다. JavaScript 에서는 함…
- [Javascript] 콜백 지옥 ← 4
- 정의 콜백 지옥 (callback hell) 또는 둠 피라미드 (pyramid of doom): 순차 의존이 있는 비동기 작업을 으로 연결할 때 들여쓰기가 오른쪽으로 점점 깊어지…
- [Javascript] 클로저 ← 14
- 정의 클로저 (Closure): 함수가 자신이 정의된 시점의 외부 변수들을 계속 참조할 수 있는 성질. 함수가 일급 객체 () 인 언어의 자연스러운 결과. 메커니즘은 + 함수 객…
- [Javascript] 타입 변환 / 강제 변환 ← 9
- 정의 JavaScript 의 암묵적 형변환 (coercion). 연산자가 양쪽 피연산자의 타입을 자동으로 맞춘다. 명시적 변환과 구분. 3 가지 강제 변환 1. ToString …
- [Javascript] 함수의 종류
- 정의 JavaScript 에서 함수를 정의하는 여러 방법. 1. Function Declaration (선언문) - 호이스팅 됨 (전체) - 자기 이름으로 재귀 가능 - 일반 함…
- [Javascript] 호이스팅 (Hoisting) ← 7
- 정의 호이스팅 (Hoisting) 은 JavaScript 엔진이 코드를 실행하기 전 바인딩 생성 단계 에서 스코프 내의 선언을 파악하고 등록하는 메커니즘이다. 마치 선언이 스코프…
- [JavaScript] AbortController ← 4
- 정의 는 비동기 작업 (fetch, event listener, 커스텀 Promise 등) 을 취소 하기 위한 표준 Web API 인터페이스. | 인터페이스 | 역할 | |:--…
- [Javascript] Array ← 9
- 정의 JavaScript 의 는 순서 있는 객체. 정수 키 + . 풍부한 메서드 (map/filter/reduce/...) 가 함수형 스타일을 지원. 생성 핵심 메서드 (반복) …
- [Javascript] Arrow Function ← 8
- 정의 화살표 함수 (arrow function) 는 ES2015 (ES6) 에서 도입된 함수 표현식. 모양. 더 짧은 문법뿐 아니라 가 lexical 로 바인딩 되는 본질적 차이…
- [Javascript] async/await ← 23
- 정의 / 는 기반 비동기 코드를 마치 동기 코드처럼 쓸 수 있게 해주는 ES2017 의 문법 설탕. 본질은 Promise 그 자체, 문법만 다르다. 전체 동작 메커니즘은 글 참조…
- [Javascript] BigInt ← 3
- 정의 는 임의 정밀도 정수. 를 넘어가는 정수를 정확히 표현. ES2020 도입. 사용 상황 | 상황 | 권장 타입 | |:---|:---| | 64-bit 정수 ID (DB의 …
- [Javascript] boolean / null / undefined ← 5
- 정의 JavaScript 의 3 가지 primitive. - : , - : 의도적인 "없음" - : 자동으로 부여된 "없음" (초기화 안 됨) 사용 상황 | 상황 | 권장 값 /…
- [JavaScript] Bun (Runtime + Bundler) ← 3
- 정의 Bun 은 Jarred Sumner 가 2022년 발표한 JavaScript/TypeScript 런타임 + 번들러 + 패키지 매니저 + 테스트 러너 통합 도구입니다. Zig…
- [JavaScript] Bundling (번들링 개요) ← 13
- 정의 JavaScript 번들링 (Bundling) 은 여러 소스 파일 (JS, CSS, 이미지, JSON 등) 을 브라우저나 런타임이 효율적으로 실행할 수 있는 최소한의 결과물…
- [Javascript] Class ← 10
- 정의 ES6 는 prototype chain 위의 문법 설탕. C++/Java 스타일 OOP 와 닮았지만 내부는 . 구조 상속 super 의 의미 - : 부모 constructo…
- [JavaScript] CommonJS vs ESM (package.json 설정 완전 정복) ← 9
- 정의 JavaScript 는 두 개의 서로 다른 모듈 시스템 을 가집니다. - CommonJS (CJS): Node.js 초기 (2009) 부터 사용. / . 동기 로딩. - E…
- [Javascript] Date ← 1
- 정의 JS 의 객체. 시간을 ms 단위로 (1970-01-01T00:00:00Z 기준) 저장. 매우 오래된 API 라 함정이 많다. Date 의 설계 문제 는 Brendan Ei…
- [Javascript] Destructuring ← 4
- 정의 Destructuring 은 배열 또는 객체의 일부를 변수로 풀어내는 ES6 문법. 코드를 짧고 명시적으로. 객체 배열 함수 매개변수 자주 쓰는 idiom API 응답 분해…
- [Javascript] Error / try-catch ← 4
- 정의 JS 의 에러 처리. 로 던지고 로 잡는다. 내장 Error 타입과 사용자 정의 Error. throw / try / catch 는 에러 유무와 무관하게 실행. 내장 Err…
- [Javascript] ES Modules (import / export) ← 12
- 정의 ES Modules (ESM) 은 표준 JS 모듈 시스템 (ES6). / 키워드. 브라우저와 Node.js 16+ 모두 지원. export named export defau…
- [JavaScript] esbuild ← 7
- 정의 esbuild 는 Evan Wallace (Figma CTO) 가 2020년 발표한 Go 로 작성된 JavaScript 번들러/컴파일러 입니다. 10-100배 빠른 성능으로…
- [JavaScript] fetch API: 현대 HTTP 클라이언트 ← 2
- 정의 는 Promise 기반의 표준 HTTP 클라이언트 Web API. ES2015 이후 를 실질적으로 대체했다. 브라우저와 Node.js 18+ 에서 기본 지원. 언제 쓰나 |…
- [Javascript] function ← 9
- 정의 은 JavaScript 에서 함수를 만드는 가장 기본적인 키워드. 호이스팅, 동적 바인딩, 객체, 호출 등 과 구분되는 고유한 특성을 가진다. 함수가 값 으로 다뤄지는 의 …
- [JavaScript] import / export ← 1
- 정의 / 는 ES2015 (ES6) 에서 도입된 정적 모듈 문법. 파일 간 값 (함수, 클래스, 상수) 공유의 표준 방법입니다. CommonJS 의 / 와 다른 근본 차이: - …
- [Javascript] Iterator / Generator ← 3
- 정의 - Iterator protocol : 메서드가 반환 - Iterable protocol : 가 iterator 반환 - Generator : 으로 정의, yield 로 값…
- [Javascript] JSON ← 4
- 정의 JSON (JavaScript Object Notation) 은 데이터 교환 형식. JS 의 객체 리터럴과 비슷하지만 엄격한 문법. - : JS 값 → JSON 문자열 - …
- [Javascript] Lexical Environment ← 13
- 정의 Lexical Environment (어휘적 환경) 는 ECMAScript 명세 (§9.1) 가 정의한 내부 객체. 함수가 호출될 때마다 새로 만들어지며, 이 호출의 변수들…
- [Javascript] Map / Set / WeakMap / WeakSet ← 2
- 정의 ES6 의 4 가지 컬렉션. 객체 / 배열보다 적합한 경우. | 컬렉션 | 키 | 값 | 강참조 | |:---|:---|:---|:---:| | | 모든 값 | 모든 값 |…
- [Javascript] Microtask Queue ← 6
- 정의 Microtask Queue (마이크로태스크 큐) 는 이벤트 루프 가 매 틱마다 완전히 비울 때까지 처리하는 우선순위 큐다. 매크로태스크 큐보다 항상 먼저 처리된다. ECM…
- [Javascript] NaN / Infinity ← 5
- 정의 - (Not a Number) : 의미 없는 수치 연산의 결과 - , : 너무 큰/작은 수, 0 으로 나누기 IEEE 754 표준에 따른 특수 값. 타입이지만 특이한 동작.…
- [Javascript] Number ← 7
- 정의 JavaScript 의 는 IEEE 754 double-precision float (64-bit). 정수와 실수를 같은 타입으로 표현. 정수 안전 범위는 . IEEE 75…
- [Javascript] Object ← 10
- 정의 JavaScript 의 는 key-value 쌍의 컬렉션. 거의 모든 non-primitive 값이 객체. 함수, 배열, 정규식도 객체. 생성 접근 수정 / 삭제 Objec…
- [Javascript] Optional Chaining / Nullish Coalescing ← 2
- 정의 ES2020 도입의 두 가지 단축 문법. - (Optional Chaining) : 중간이 null/undefined 면 반환 - (Nullish Coalescing) : …
- [Javascript] Promise ← 15
- 정의 Promise 는 미래의 어떤 시점에 결정될 값을 나타내는 객체다. ECMAScript 2015 (ES6) 에 도입되어 기반 비동기의 가독성과 에러 처리 문제를 해결했다. …
- [Javascript] Promise.all / race / any / allSettled ← 5
- 정의 의 정적 메서드 4 형제. 여러 Promise 를 동시에 다루는 도구. | 메서드 | fulfilled 조건 | rejected 조건 | 결과 | |:---|:---|:--…
- [Javascript] Prototype Chain ← 6
- 정의 JavaScript 의 모든 객체는 (내부 슬롯) 을 가진다. 속성 lookup 시 자신에게 없으면 prototype chain 을 따라 올라가며 검색. 접근 함수의 pro…
- [Javascript] Proxy / Reflect ← 2
- 정의 - : 객체의 기본 동작 (get, set, delete 등) 을 가로채는 (intercept) 객체 - : Proxy 의 기본 동작을 호출하는 표준 API 메타 프로그래밍…
- [Javascript] Regular Expression ← 3
- 정의 JavaScript 의 정규식. 객체 또는 리터럴 로 표현. ECMAScript 정규식 문법 (Perl 의 부분집합). 생성 리터럴이 가독성 좋음. 동적 패턴은 . flag…
- [JavaScript] requestAnimationFrame: 브라우저 애니메이션 루프 ← 4
- 정의 (rAF) 은 브라우저에게 다음 리페인트 직전에 콜백을 실행해달라고 요청합니다. 60Hz 모니터 기준 약 16.67ms 주기. 브라우저 렌더 파이프라인 브라우저는 한 프레임…
- [JavaScript] Rollup ← 6
- 정의 Rollup 은 Rich Harris (Svelte 창시자) 가 2015년 만든 JavaScript 번들러. 라이브러리 배포 에 특화되어 tree shaking 을 처음으로…
- [Javascript] setInterval ← 3
- 정의 은 호스트 환경이 제공하는 반복 타이머 API. 매 밀리초마다 을 매크로태스크 큐에 등록한다. 전체 메커니즘은 와 참고. 사용 상황 | 상황 | setInterval | 대…
- [Javascript] setTimeout ← 3
- 정의 은 호스트 환경 (브라우저 또는 Node.js) 이 제공하는 타이머 API. 지정한 밀리초가 지난 뒤 을 의 매크로태스크 큐에 등록한다. 자세한 흐름과 함정은 글 참고. 이…
- [Javascript] Spread / Rest ← 3
- 정의 같은 문법 가 두 가지 의미. - Spread : iterable 을 펼침 (right-hand) - Rest : 나머지를 모음 (left-hand 또는 함수 매개변수) S…
- [Javascript] strict mode ← 1
- 정의 디렉티브로 활성화되는 엄격 실행 모드. ES5 도입. 위험한 문법을 에러로 만들어 코드 안전성 향상. ES module 과 본문은 자동으로 strict mode. 사용 상황…
- [Javascript] String ← 4
- 정의 JavaScript 의 은 UTF-16 코드 유닛의 불변 시퀀스. 작은따옴표, 큰따옴표, 백틱 (template literal) 으로 작성. 사용 상황 | 상황 | 권장 패…
- [JavaScript] String: 메서드, 정규식, 템플릿 리터럴 ← 1
- 정의 JavaScript 문자열은 불변 (immutable) UTF-16 시퀀스. 메서드는 항상 새 문자열을 반환하며, 원본을 수정하지 않는다. 문자열에서 원하는 위치/패턴을 찾…
- [Javascript] Symbol ← 3
- 정의 은 ES6 도입의 7번째 primitive 타입. 유일성 을 보장하는 식별자. 왜 필요한가 객체의 충돌 없는 키 로 사용. private property 흉내, well-k…
- [Javascript] TDZ (Temporal Dead Zone) ← 2
- 정의 TDZ (Temporal Dead Zone, 일시적 사각지대) 는 / / 선언이 호이스팅된 시점부터 선언문이 실행되기 직전까지 의 구간으로, 이 구간에서 해당 변수에 접근하…
- [Javascript] this 바인딩 ← 6
- 정의 JavaScript 의 는 호출 방식에 따라 결정 되는 동적 바인딩. 4 가지 호출 방식 + arrow function (lexical) 규칙. 5 가지 규칙 | # | 규…
- [JavaScript] Turbopack & Rspack (Rust 번들러) ← 6
- 정의 2022-2023년 등장한 Rust 로 재구현된 Webpack 계열 번들러 두 개: - Turbopack: Vercel (Next.js) 개발. Next.js dev/bui…
- [Javascript] var / let / const ← 5
- 정의 JavaScript 의 3 가지 변수 선언 키워드. | 키워드 | 스코프 | 재할당 | 재선언 | 호이스팅 | |:---|:---|:---:|:---:|:---| | | f…
- [JavaScript] Vite ← 7
- 정의 Vite (프랑스어 "빠르다") 는 Evan You (Vue 창시자) 가 2020년 시작한 모던 프런트엔드 빌드 도구. 두 부분: - Dev Server: Native ES…
- [JavaScript] Webpack ← 7
- 정의 Webpack 은 2014년 Tobias Koppers 가 만든 JavaScript 모듈 번들러입니다. 오랫동안 사실상의 표준 이었고, 방대한 loader/plugin 생태…
- [Node.js] 런타임 개요 ← 2
- 정의 Node.js 는 Ryan Dahl 이 2009년 발표한 JavaScript 서버 사이드 런타임 입니다. V8 엔진 (Chrome) + libuv (비동기 I/O) + 표준…
- 고차 함수 ← 7
- 정의 고차 함수 (Higher-Order Function, HOF): 다음 조건 중 하나 이상을 만족하는 함수. 1. 함수를 인자로 받는다. 2. 함수를 반환한다. 특성이 있어야…
- 일급 함수 ← 8
- 정의 일급 함수 (First-Class Function): 함수를 숫자, 문자열, 객체처럼 값으로 다룰 수 있는 언어의 특성. 다음 세 가지가 모두 가능하면 그 언어의 함수는 일…
django (58)
- [Django 6.0] Content Security Policy: XSS 방어의 최종형
- 정의 Content Security Policy (CSP) = 브라우저에게 어떤 스크립트/스타일/이미지 만 허용 할지 선언. XSS 공격의 마지막 방어선. Django 6.0 부…
- [Django 6.0] Tasks Framework: 내장 백그라운드 작업
- 정의 Django Tasks Framework = Django 6.0 (2025) 도입된 내장 백그라운드 작업 실행 표준. Celery 없이 간단한 async task 를 표준 …
- [Django] 개요와 프로젝트 구조 ← 3
- 정의 Django는 2003년 시작된 Python 풀스택 웹 프레임워크. "Web framework for perfectionists with deadlines"라는 모토대로 b…
- [Django] 마이그레이션: makemigrations, migrate, 데이터 마이그레이션 ← 4
- 정의 Django 마이그레이션은 모델 변경을 DB 스키마 변경으로 변환·기록하는 시스템. 는 모델과 현재 마이그레이션 상태를 비교해 새 마이그레이션 파일 생성. 는 DB에 적용.…
- [Django] 배포: Gunicorn, Uvicorn, whitenoise, Docker ← 3
- 정의 Django 프로덕션 배포는 WSGI/ASGI 서버 + 리버스 프록시 + 정적 파일 + DB + 캐시 + 큐 조합. runserver는 개발 전용. nginx + gunic…
- [Django] 보안: CSRF, XSS, SQL injection, headers ← 5
- 정의 Django는 OWASP Top 10 대부분을 기본 방어한다: CSRF 토큰, ORM의 SQL 인젝션 방지, 템플릿 자동 escape, 비밀번호 해싱, 세션 쿠키 보안 등.…
- [Django] 인증: User, login, permissions ← 5
- 정의 Django는 User 모델, 인증·세션, 권한·그룹을 기본 제공한다. 앱이 핵심. 비밀번호 해싱(PBKDF2, scrypt, Argon2), 세션, 권한, 그룹, 비밀번호…
- [Django] 첫 프로젝트 튜토리얼: 순차 학습 ← 1
- 정의 Django 를 처음 접하는 사람 을 위한 순차 학습 페이지. 투표 앱 (polls) 을 만들며 Django 의 핵심 개념을 익힌다. 먼저 로 MTV 패턴과 프로젝트 구조를…
- [Django] 테스트: TestCase, Client, factory_boy ← 5
- 정의 Django는 표준 라이브러리 기반 TestCase를 제공한다. 트랜잭션 격리, fixtures, test client, DB 셋업 자동화. 실무는 + 가 사실상 표준. 기…
- [Django] Admin: 자동 생성 관리자 페이지 ← 3
- 정의 Django Admin은 모델 등록만으로 CRUD UI 자동 생성하는 내장 백오피스. 내부 운영 도구, 콘텐츠 관리(CMS) 등에 강력. 권한 시스템 통합. Rails에는 …
- [Django] Aggregation: annotate, aggregate, F, Q, Window ← 2
- 정의 Django ORM의 annotate / aggregate / F / Q / Window는 SQL의 GROUP BY, 집계 함수, 동적 조건, 컬럼 참조, Window 함수…
- [Django] async views와 ASGI ← 2
- 정의 Django 3.1+ 부터 async view를 지원한다. 로 view를 정의하면 ASGI 서버(Uvicorn, Daphne, Hypercorn) 아래에서 코루틴으로 실행.…
- [Django] Caching: per-site, per-view, low-level ← 3
- 정의 Django 캐싱은 데이터/페이지 재생성 비용 회피의 핵심. 4단계 그래뉴얼리티 제공: site-wide → per-view → template fragment → low-…
- [Django] Celery: 비동기 태스크와 큐 ← 2
- 정의 Celery는 Python의 분산 태스크 큐. 비동기·예약·재시도 작업을 워커가 처리. Django와 통합되어 이메일 발송, 이미지 처리, ML 추론, 스크래핑 같은 무거운…
- [Django] Channels: WebSocket, Consumer, Group ← 7
- 정의 Django Channels는 Django에 WebSocket, 비동기 프로토콜, 백그라운드 작업을 추가하는 공식 확장. 기본 Django는 HTTP만, Channels는 …
- [Django] ContentTypes, Generic Relations ← 1
- 정의 는 모든 모델을 동적으로 참조하는 시스템. 댓글이 Post, Photo, Video 등 여러 모델을 가리킬 수 있게 함. + 을 활용. 활성화 기본 에 포함됨: 각 모델마다…
- [Django] DRF 개요: Serializer, ViewSet, Router ← 5
- 학습 로드맵 이 페이지는 개요. 처음 접하는 사람은 아래 순서로 읽으면 자연스럽다: DRF 는 파이프라인이 핵심. 한번 그림으로 보면 이해가 쉽다: 정의 Django REST F…
- [Django] DRF Permission, Throttle, Filter ← 6
- 정의 DRF는 view 호출 전 인증(Authentication) → 권한(Permission) → 스로틀(Throttle) 순으로 검사. 각 단계가 통과해야 view 메서드 실…
- [Django] DRF Serializer 심화 ← 5
- 정의 DRF Serializer는 JSON ↔ Python ↔ Model의 변환과 검증을 담당한다. Django Form과 비슷한 인터페이스이나 API/JSON에 특화. 검증, …
- [Django] DRF ViewSet, Router, @action ← 5
- 정의 ViewSet은 같은 리소스의 관련 view들을 클래스 하나로 묶는다. Django의 generic views와 비슷하나 / / / / / action 메서드로 통일. Ro…
- [Django] Email: send_mail, EmailMessage, 템플릿 ← 2
- 정의 Django의 은 SMTP, 콘솔, 파일, 메모리, dummy 등 다양한 백엔드를 통합한 이메일 전송 API. 외부 서비스(SendGrid, Mailgun, AWS SES,…
- [Django] File Uploads + Storage: FileField, ImageField, S3 ← 1
- 정의 Django 의 파일 업로드 + 저장 시스템. FileField/ImageField + Storage backend 로 로컬 / S3 / GCS 등 자유롭게. Model 필…
- [Django] Form과 ModelForm ← 6
- 정의 Django Form은 사용자 입력 정의·검증·렌더링·바인딩을 통합. 일반 은 임의 필드, 은 모델 자동 매핑. 검증과 보안(CSRF, SQL 인젝션 방지) 내장. Form…
- [Django] Formsets: 여러 폼 동시 처리 ← 2
- 정의 Formset = 여러 폼을 한 페이지에서 동시 처리. "상품 3개 한 번에 등록", "주문 상세 여러 줄 편집" 같은 시나리오. 3가지 종류 1. 기본 FormSet Te…
- [Django] i18n: 다국어와 시간대 ← 1
- 정의 Django는 gettext 기반 국제화(i18n)와 지역화(l10n) 표준 시스템을 제공한다. 코드/템플릿의 문자열을 추출해 파일로 번역, 컴파일된 파일을 런타임에 사용.…
- [Django] Logging: LOGGING 설정과 구조화 로그 ← 1
- 정의 Django는 Python 모듈을 그대로 사용하나 설정 dict로 일괄 구성한다. 구조화 로그(JSON), 외부 서비스(Sentry, Datadog, CloudWatch) …
- [Django] Management Commands ← 2
- 정의 Django 커스텀 명령은 형태로 실행되는 CLI 도구. 정기 작업(cron + management command), 데이터 마이그레이션, import/export, 디버깅…
- [Django] Messages Framework: flash 메시지
- 정의 Messages Framework = 1회성 flash 메시지 (성공, 오류 등) 를 사용자에게 표시. Post/Redirect/Get 패턴에서 필수. 목적 + 대안 기본 …
- [Django] Middleware: 요청/응답 가로채기 ← 2
- 정의 Middleware는 모든 요청/응답을 가로채는 체인 구조 처리기. 요청은 위 → 아래, 응답은 아래 → 위로 흐른다. 인증, 세션, CSRF, gzip 압축, 보안 헤더 …
- [Django] Mixin 패턴: LoginRequired, UserPasses, Custom ← 4
- 정의 Django Mixin은 CBV에 공통 기능을 추가하는 작은 클래스. 다중 상속으로 조합. 인증, 권한, 로깅, 메시지 등에 활용. MRO(Method Resolution …
- [Django] Model과 Field 타입 ← 5
- 정의 Django 모델은 DB 테이블의 Python 표현이다. 상속, 클래스 속성 = 컬럼, 메타 클래스 = 테이블 설정. 모델 정의 후 + 로 DB 스키마 자동 생성. 기본 정…
- [Django] ModelForm: 모델 기반 폼 자동 생성 ← 2
- 정의 ModelForm = Model 로부터 Form 자동 생성. 필드 반복 정의 없이 CRUD 폼 완성. 일반 Form 은 참고. 왜 ModelForm? 기본 사용 vs [!W…
- [Django] MTV 패턴과 Model 기본 ← 3
- 정의 Django 는 MTV (Model, Template, View) 패턴 사용. 다른 프레임워크의 MVC 와 이름만 다르고 개념은 유사. | MVC | Django MTV |…
- [Django] ORM 심화: N+1, prefetch, Subquery, Window ← 7
- 정의 Django ORM은 SQL을 잘 모르는 개발자에게도 안전하지만 비효율을 숨기기 쉽다. N+1, 비효율 JOIN, 큰 결과셋 메모리 폭발이 흔한 함정. selectrelat…
- [Django] Pagination: Paginator, ListView, DRF ← 1
- 정의 Django는 빌트인 클래스와 ListView의 자동 페이지네이션을 제공한다. DRF는 PageNumber / LimitOffset / Cursor 3종. 페이지네이션은 큰…
- [Django] Q / F / Case / When / Database Functions
- 정의 Django ORM 의 고급 표현식. Python 에서 짜지만 SQL 로 컴파일 되어 DB 에서 실행. Raw SQL 없이 복잡한 쿼리. 일반 ORM 은 , 참고. 1. Q…
- [Django] QuerySet과 Manager ← 6
- 정의 QuerySet은 DB 쿼리를 lazy하게 빌드하는 객체. , 같은 메서드를 체이닝해도 실제 SQL 실행은 평가 시점( , , , slice 등)에 한 번 발생. Manag…
- [Django] Sessions와 Cookies ← 2
- 정의 Django Session은 서버 측 사용자 상태 저장. 클라이언트엔 세션 ID만 쿠키로 저장, 실제 데이터는 백엔드(DB, cache, file, cookie). 인증, …
- [Django] settings 관리: 환경 분리, secrets, 12-factor ← 3
- 정의 Django settings는 단일 Python 파일에 모든 설정을 두는 게 기본이지만, 환경별 분리·비밀 정보 분리·12-factor 원칙 적용이 실무 표준. 개발/스테이…
- [Django] Shortcuts + Decorators: render, redirect, get_object_or_404 ← 1
- 정의 Django 의 View 작성을 간결하게 하는 shortcut 함수들 + view 에 공통 기능을 붙이는 decorator 들. Shortcuts (django.shortc…
- [Django] Signals 내부 구현: 옵저버 패턴 심층 분석 ← 1
- 정의 Django signal은 GoF의 옵저버(Observer) 패턴을 Python의 동적 디스패치, weakref, threading.lock으로 구현한 것이다. 일반 사용은…
- [Django] Signals: 모델 이벤트 hook ← 2
- 정의 Django signal은 발신자(sender)가 특정 이벤트를 알리면 등록된 수신자(receiver)들이 호출되는 옵저버 패턴. 모델 저장/삭제, 요청 시작/종료, 마이그…
- [Django] Static과 Media 파일 ← 2
- 정의 Django는 정적 파일을 두 카테고리로 구분한다. - Static: 앱·테마의 일부인 CSS/JS/이미지. 배포 시 으로 한 곳에 모음. - Media: 사용자가 업로드한…
- [Django] Template 언어: 태그, 필터, 상속 ← 3
- 정의 Django Template Language (DTL)는 HTML과 Python 사이의 안전한 표현 언어. 임의 Python 실행 차단(보안), 로 변수, 로 태그, 로 필…
- [Django] Transactions: atomic, on_commit, savepoint ← 1
- 정의 Transaction = 여러 SQL 문을 원자적 (all-or-nothing) 으로 실행. Django 는 자동 커밋 (autocommit) 모드가 기본, 으로 명시적 트…
- [Django] URL 디스패치: path, re_path, include ← 3
- 정의 Django는 URL 패턴 리스트로 요청을 view에 라우팅한다. 1.01.x는 (regex만), 2.0+ (간결한 converter 문법)와 (regex) 두 방식. 기본…
- [Django] View: 함수 기반 vs 클래스 기반 ← 8
- 정의 Django View는 HTTP 요청을 받아 응답을 반환하는 callable. 두 스타일이 공존. - FBV (Function-Based View): 일반 함수. 간단하고 …
- [DRF] Authentication: Session, Token, JWT, OAuth2 ← 4
- 정의 Authentication = 누가 요청했는지 식별. Authorization () 과 별개. 흐름 자세한 permission 은 . 내장 Authentication Cla…
- [DRF] Filtering: django-filter, SearchFilter, OrderingFilter ← 4
- 정의 Filtering = 쿼리 파라미터로 결과 제한. 3가지 backend + custom. 3가지 내장 Backend 설치 + 설정 1. DjangoFilterBackend …
- [DRF] Pagination + Throttling ← 4
- 정의 Pagination = 큰 목록을 페이지 단위로 나눔. Throttling = 요청 빈도 제한. 둘 다 API 안정성의 기본. Pagination 3종 언제 어느 것을 쓸까…
- [DRF] Request + Response 객체 ← 4
- 정의 DRF 의 = Django 의 확장. = 의 확장. 자동 content negotiation + renderer 처리. 요청이 뷰에 도달하기까지 에 값이 실제로 들어가려면 …
- [DRF] Routers: DefaultRouter, SimpleRouter, custom actions ← 3
- 정의 Router = ViewSet 에 대한 URL 자동 생성. Rails 의 와 유사. 왜 Router? 종류 DefaultRouter 생성되는 URL: | URL | Meth…
- [DRF] Schemas + OpenAPI: 자동 문서화 ← 4
- 정의 OpenAPI (전 Swagger) = REST API를 기계 가독 스펙으로 기술하는 표준. DRF는 이 스펙을 ViewSet / Serializer 로부터 자동 추출할 수…
- [DRF] Testing: APIClient, APITestCase, force_authenticate ← 3
- 정의 DRF의 테스트 도구는 Django 위에 API 특화 helper 를 얹은 것. 로 real endpoint 를 호출하거나 로 View 단위 테스트가 가능. 테스트 도구 계…
- [DRF] Tutorial + Quickstart: 첫 API 서버 5분 ← 6
- 정의 Django REST Framework (DRF) 를 처음 사용 하는 사람을 위한 순차 시작 가이드. 5분 안에 동작하는 API 서버 완성. DRF 개요는 . Django …
- [DRF] Versioning + Content Negotiation ← 4
- 정의 Versioning = API 의 여러 버전 공존. Content Negotiation = 같은 endpoint 가 여러 형식 (JSON, XML, HTML) 응답. Ver…
- [DRF] Views: APIView, GenericViews, Mixins, FBV ← 7
- 정의 DRF View 4가지 스타일. 자유도 vs 자동화 트레이드오프. 4가지 스타일 | 스타일 | 코드량 | 자유도 | |---|---|---| | | 유사 Django FBV…
- Django ← 2
- 정의 Django 는 2003년 시작된 Python 풀스택 웹 프레임워크. batteries-included (ORM, 관리자, 인증, 폼, 마이그레이션, 캐싱 등 기본 내장)와…
java (50)
- [Java] ArrayBlockingQueue ← 5
- 정의 는 고정 크기 원형 배열 기반의 BlockingQueue. 생성 시 capacity 를 지정해야 하고 그 이상 늘어나지 않는다. 내부에 단일 ReentrantLock 을 사…
- [Java] ArrayDeque ← 4
- 정의 는 원형 배열 (circular buffer) 기반의 구현. JDK 1.6 도입. 으로 쓰면 보다 빠르고, 로 쓰면 보다 빠르다. Stack / Queue / Deque 가…
- [Java] ArrayList ← 9
- 정의 는 동적 배열 (dynamic array) 로 구현된 . 내부적으로 를 들고 다니며, 용량이 부족해지면 새 배열로 옮긴다. Java 의 가장 흔한 컬렉션 구현체. 인덱스 기…
- [Java] AtomicInteger ← 5
- 정의 는 lock-free 로 원자성을 보장 하는 래퍼. 내부적으로 CAS (Compare-And-Swap) 를 사용해 락 없이 atomic 한 read-modify-write …
- [Java] AtomicReference ← 2
- 정의 는 객체 참조를 atomic 하게 갱신 하는 래퍼. 참조 + CAS (Compare-And-Swap) 의 결합. 의 객체 버전. 불변 객체 패턴, 상태 머신, lock-fr…
- [Java] BlockingQueue ← 12
- 정의 는 요소를 가져올 때 비어 있으면 대기, 넣을 때 가득 차 있으면 대기 하는 thread-safe 큐 인터페이스. 생산자-소비자 (producer-consumer) 패턴의 …
- [Java] Collection ← 30
- 정의 는 그룹으로 묶인 객체들을 표현하는 최상위 인터페이스. JCF (Java Collections Framework) 의 입구이자, / / / 모두 이를 확장한다. 자체는 직접…
- [Java] ConcurrentHashMap ← 20
- 정의 는 고동시성 환경에서 사용 가능한 구현. JSR-166 (Java 5) 도입, Java 8 에서 내부 구조가 크게 재작성됐다. 과 같은 인터페이스를 제공하면서 thread-…
- [Java] ConcurrentLinkedDeque ← 5
- 정의 는 lock-free . 의 양방향 버전. JDK 1.7 추가. 양 끝 모두에서 add/remove 가 가능하며, 모든 연산이 CAS (Compare-And-Swap) 기반…
- [Java] ConcurrentLinkedQueue ← 5
- 정의 는 lock-free 로 구현된 unbounded thread-safe . Michael & Scott 의 non-blocking queue 알고리즘 (1996) 기반. 가…
- [Java] ConcurrentModificationException ← 12
- 정의 (CME) 는 fail-fast iterator 가 컬렉션의 구조 변경을 탐지했을 때 던지는 unchecked 예외 ( ). 이름과 달리 반드시 동시성 (멀티스레드) 문제일…
- [Java] ConcurrentSkipListMap ← 2
- 정의 는 Skip List 기반의 thread-safe 정렬 . 의 동시성 버전. 과의 결정적 차이: 정렬 순서를 유지 + 인터페이스 구현 ( , , 등). Skip List 는…
- [Java] ConcurrentSkipListSet ← 4
- 정의 는 을 백킹으로 사용하는 정렬된 thread-safe . 인터페이스를 구현하며 의 동시성 버전에 해당한다. - JDK 1.6 추가 - 내부는 skip list (확률적 자료…
- [Java] CopyOnWriteArrayList ← 15
- 정의 는 쓰기 시 배열 전체를 복사 하는 thread-safe 구현. 읽기에는 lock 이 전혀 없고, 쓰기에는 으로 직렬화한다. (JSR-166) 의 컬렉션. 읽기 압도적 다,…
- [Java] CopyOnWriteArraySet
- 정의 는 를 백킹으로 사용하는 thread-safe . 중복 검사를 위해 매 마다 선형 검색 (O(n)) 을 수행한다. 의 모든 특성을 물려받는다. - 읽기 lock-free: …
- [Java] CountDownLatch ← 4
- 정의 는 한 스레드 또는 여러 스레드가 다른 스레드들의 작업 완료를 기다리는 일회용 synchronizer. 으로 초기화하고, 각 worker 가 작업 후 호출. waiter 는…
- [Java] CyclicBarrier ← 3
- 정의 는 N 개의 스레드가 모두 도착할 때까지 서로 기다리는 synchronizer. 모두 도착하면 동시에 출발, 다시 사용 가능 (cyclic). 시각화 핵심 메서드 가장 흔한…
- [Java] DelayQueue ← 1
- 정의 는 각 원소가 지정된 delay 가 만료된 후에만 꺼낼 수 있는 BlockingQueue. 우선순위는 만료 시각이 빠른 것부터. 내부는 PriorityQueue (min-h…
- [Java] Deque
- 정의 (Double-Ended Queue) 는 의 확장 인터페이스. 양쪽 끝 (head, tail) 모두에서 add/remove/examine 이 가능한 자료구조. JDK 1.6…
- [Java] Fail-Fast Iterator ← 16
- 정의 Fail-Fast Iterator 는 순회 도중 컬렉션의 구조가 변경되면 즉시 을 던지는 iterator. , , 등 대부분의 컬렉션의 iterator 가 이 방식. 목적은…
- [Java] HashMap ← 5
- 정의 는 해시 테이블 로 구현된 . 평균 O(1) 의 put/get/remove 를 보장하고 단일 스레드 환경의 사실상 표준. JDK 1.2 도입, Java 8 에서 충돌 시 l…
- [Java] HashSet ← 4
- 정의 는 을 백킹으로 사용하는 구현. 내부적으로 모든 원소를 의 key 로 저장하고, value 는 dummy 상수 로 채운다. - 평균 O(1) 의 / / - 순서 보장 없음 …
- [Java] Iterable ← 24
- 정의 는 루프로 순회 가능한 모든 타입의 최상위 인터페이스. 단 하나의 추상 메서드, 를 정의한다. 인터페이스가 을 extends 하므로 , , , 등 모든 컬렉션이 자동으로 대…
- [Java] JavaBean 프로퍼티 규약 ← 4
- 정의 JavaBean 은 다음 세 가지 규약을 만족하는 클래스: 1. public no-args constructor (인자 없는 public 생성자) 2. 프로퍼티 접근자: /…
- [Java] LinkedBlockingQueue ← 4
- 정의 는 linked list 기반의 . 기본 unbounded ( ) 이지만 생성 시 capacity 지정 가능. Two-Lock Queue 알고리즘 으로 producer 와 …
- [Java] LinkedHashMap ← 6
- 정의 는 을 상속해 삽입 순서 (또는 접근 순서) 를 유지 하는 Map. 모든 의 평균 O(1) 성능을 유지하면서 추가로 순회 순서가 일관된다. 핵심: 이중 연결 리스트 (dou…
- [Java] LinkedList ← 10
- 정의 는 양방향 연결 리스트 (doubly linked list) 로 구현된 이자 . 각 원소는 와 포인터를 가진 노드로 보관된다. 와 같은 List 이지만, 메모리 레이아웃과 …
- [Java] List ← 7
- 정의 는 순서가 있고 중복이 허용 되는 컬렉션을 표현하는 인터페이스. 각 원소는 0 부터 시작하는 정수 인덱스로 접근 가능. 인터페이스를 확장하며, 의 모든 성질을 물려받는다. …
- [Java] LongAdder ← 2
- 정의 는 고경합 카운터 를 위한 자료구조. JDK 1.8 도입. 보다 동시 증가 throughput 이 압도적으로 높다. 원리는 striped counter (분산 누적). 여러…
- [Java] Map ← 1
- 정의 는 key 와 value 의 쌍으로 데이터를 저장 하는 자료구조의 인터페이스. 하나의 key 에는 하나의 value 만 매핑, 중복 key 는 허용하지 않는다. 은 을 ex…
- [Java] Object ← 21
- 정의 는 Java 의 모든 클래스의 최상위 부모 (root) 클래스. 가 명시되지 않은 클래스는 컴파일러가 자동으로 를 붙인다. 인터페이스는 클래스가 아니라 를 직접 상속하지는 …
- [Java] Phaser ← 3
- 정의 는 의 확장. 참여자 수가 동적으로 변할 수 있는 단계별 동기화. JDK 1.7 도입. 시각화 핵심 메서드 동적 참여 예 worker 가 도중에 추가/종료될 수 있는 경우 …
- [Java] PriorityBlockingQueue ← 4
- 정의 는 의 동시성 + blocking 버전. unbounded 힙 기반 . - 원소는 (자연 순서) 또는 생성자에 전달한 로 정렬 - 은 절대 블록하지 않음 (unbounded…
- [Java] PriorityQueue ← 5
- 정의 는 이진 힙 (binary heap) 기반의 구현. FIFO 가 아닌 우선순위 순서 로 원소를 꺼낸다. 기본은 min-heap, 의 자연 순서나 로 우선순위 결정. 가장 작…
- [Java] Queue
- 정의 는 FIFO (First-In, First-Out) 처리 순서를 가진 인터페이스. 한쪽 끝 (tail) 에 추가하고 반대쪽 (head) 에서 제거하는 자료구조. 처럼 다른 …
- [Java] ReentrantLock ← 20
- 정의 는 키워드와 같은 상호 배제 (mutual exclusion) 를 제공하는 클래스 기반 락. JSR-166 (Java 5) 에서 추가됐다. "재진입 (reentrant)" …
- [Java] ReentrantReadWriteLock ← 1
- 정의 는 읽기 락과 쓰기 락을 분리 한 ReentrantLock 의 확장. 핵심 규칙: - 여러 reader 가 동시에 read lock 획득 가능 (병렬 읽기) - writer…
- [Java] Reflection: Class, Method, Field, MethodHandle ← 3
- 정의 Reflection 은 런타임에 클래스 메타데이터 (필드, 메서드, 어노테이션, 생성자) 를 조회하고, 컴파일 타임에 알 수 없는 객체를 생성/조작할 수 있게 해 주는 Ja…
- [Java] Semaphore ← 5
- 정의 는 N 개의 permit (허가) 을 발급/회수 하는 synchronizer. permit 이 있으면 진행, 없으면 또는 즉시 실패. 자원 풀, rate limiting, …
- [Java] Servlet 생명주기 ← 3
- 정의 Servlet 은 컨테이너 (Tomcat / Jetty / Undertow) 가 생성, 호출, 소멸시키는 객체. 개발자는 인터페이스 메서드만 구현하고 인스턴스 관리는 일체 …
- [Java] Servlet API: HttpServletRequest, HttpServletResponse ← 5
- 정의 Servlet 은 Java 진영의 표준 HTTP 처리 API. 컨테이너 (Tomcat / Jetty / Undertow) 가 HTTP 요청을 객체 ( ) 로 만들어 serv…
- [Java] Servlet Filter ← 8
- 정의 Filter 는 servlet 호출 전/후 에 끼어들어 요청과 응답을 가로채는 컴포넌트. 인증, 로깅, 압축, CORS, 인코딩 변환 같은 횡단 관심사 (cross-cutt…
- [Java] Set
- 정의 는 중복을 허용하지 않는 . 수학의 집합 (set) 에 대응. 같은 원소를 두 번 추가하면 두 번째는 무시된다. 인터페이스의 모든 메서드를 그대로 사용하면서, 와 (또는 )…
- [Java] StampedLock ← 1
- 정의 는 JDK 1.8 도입의 새 락. 세 가지 모드 제공. 1. Write lock (배타) 2. Read lock (공유) 3. Optimistic read (락 없이 시도,…
- [Java] SynchronousQueue ← 2
- 정의 는 용량 0 의 . 저장 공간이 없다. 은 매칭되는 가 있어야 진행하고, 반대도 마찬가지. 직접 핸드오프 (direct handoff) 또는 랑데부 (rendezvous) …
- [Java] ThreadLocal ← 8
- 정의 는 각 스레드마다 독립된 변수 사본을 가지게 해 주는 컨테이너. 로 접근하며, 한 스레드의 값은 다른 스레드에서 볼 수 없다. 쓰임은 두 가지: (1) 같은 인스턴스를 여러…
- [Java] TreeMap ← 5
- 정의 는 Red-Black Tree 기반의 정렬된 Map. (확장 인터페이스) 을 구현해 범위 쿼리, floor/ceiling, sub-map 같은 정렬 기반 연산을 제공한다. …
- [Java] TreeSet ← 6
- 정의 는 을 백킹으로 사용하는 정렬된 . 인터페이스를 구현해 정렬 기반 연산 ( , , 등) 을 제공한다. - JDK 1.2 도입 - 내부: Red-Black Tree (자가 균…
- [Java] Vector ← 1
- 정의 는 와 거의 동일한 동적 배열 기반 이지만, 모든 public 메서드가 로 묶여 있다. Java 1.0 (1996) 부터 존재하는 레거시 컬렉션. JDK 1.2 의 Coll…
- [Java] volatile ← 13
- 정의 은 Java 의 키워드. 필드에 붙이면 두 가지를 보장한다. 1. 가시성 (visibility): 한 스레드의 쓰기가 다른 모든 스레드에 즉시 보인다. CPU 캐시에 머무르…
database-internals (36)
- [DB Internals] B-Tree 내부: split, merge, search 알고리즘 ← 4
- 정의 B-Tree (Bayer & McCreight, 1972) = 디스크 I/O 최적화된 balanced multi-way search tree. 모든 leaf 깊이 동일 + …
- [DB Internals] B-Tree와 B+Tree 인덱싱 ← 8
- 정의 B-Tree (B+ Tree) 는 거의 모든 RDB 의 인덱스 자료구조. balanced tree, 디스크 I/O 최소화 설계. 특징: - 균형 (balanced): 모든 …
- [DB Internals] B+ Tree 내부: leaf linked list, range scan ← 3
- 정의 B+ Tree = B-Tree 의 변형. 모든 데이터가 leaf 에만, internal node 는 navigation key만. Leaf 들이 linked list 로 연…
- [DB Internals] CHAR / VARCHAR / TEXT / JSONB: 문자열 타입 비교 ← 1
- 정의 문자열 저장 타입 4가지 비교. 성능 + 저장 + 유연성 트레이드오프. 4가지 비교 (PostgreSQL) | 타입 | 최대 길이 | 저장 방식 | 뒤 공백 | 사용 | |…
- [DB Internals] GIN Index 깊이: 구조, jsonb_path_ops, tsvector ← 4
- 정의 GIN (Generalized Inverted Index) = 한 값이 여러 항목 을 가지는 데이터 (배열, JSON, tsvector) 의 역색인. PostgreSQL 의…
- [DB Internals] MVCC: Multi-Version Concurrency Control ← 11
- 정의 MVCC (Multi-Versioning Concurrency Control) 는 트랜잭션 간 격리를 여러 버전의 row 로 구현. 동시 read / write 가 락 없이…
- [DB Internals] R-Tree: 공간 인덱스, MBR, split ← 3
- 정의 R-Tree (Guttman, 1984) = 공간 데이터 (2D, 3D) 를 인덱싱하는 balanced tree. 각 노드는 Minimum Bounding Rectangle…
- [DB Internals] Redis 8 / Valkey 9: 라이센스 분기, 신 데이터 구조, 실전 운영 ← 22
- 정의 Redis 는 in-memory key-value 데이터 구조 서버. 2009년 Salvatore Sanfilippo (antirez) 가 Lua Manuscripts 의 …
- [DB] Cassandra: LSM-tree, quorum, eventually consistent ← 2
- 정의 Apache Cassandra = 마스터리스 (peer-to-peer) 분산 KV 스토어. write 우선, eventually consistent, 수평 무한 확장. 20…
- [DB] DynamoDB: PK + SK, single-table design, GSI / LSI ← 3
- 정의 DynamoDB 는 AWS 의 fully managed key-value + document NoSQL. low-latency, infinite scale, schemale…
- [DB] EXPLAIN 읽기: scan, join, sort, cost ← 5
- 정의 EXPLAIN = 쿼리 실행 계획 표시. EXPLAIN ANALYZE = 실제로 실행 + 실제 시간 측정. Scan 종류 | Scan | 의미 | 적합 | |---|---|…
- [DB] GIN / GiST / Hash / BRIN: 비-B-tree 인덱스 ← 5
- 정의 B-tree 외 PostgreSQL 의 특수 인덱스 들. 자세한 B-tree 는 참고. | 인덱스 | 적합 | |---|---| | B-tree | = < > BETWEEN…
- [DB] MongoDB: 문서 DB, WiredTiger, replica set, aggregation ← 5
- 정의 MongoDB 는 BSON (binary JSON) 문서 기반 NoSQL DB. schema-less 라기보다 flexible schema. 2026 시점 Atlas (ma…
- [DB] MySQL / InnoDB: clustered index, redo log, MVCC ← 18
- 정의 MySQL + InnoDB (기본 스토리지 엔진) 의 clustered index + redo log 기반 행 기반 RDBMS. 웹 / SaaS 의 가장 흔한 backbon…
- [DB] PostgreSQL: 프로세스 모델, MVCC, WAL, 확장성 ← 28
- 정의 PostgreSQL 은 오픈소스 ORDBMS. 1986 UC Berkeley POSTGRES 의 후예. MVCC, 확장 가능 타입, JSONB, full-text searc…
- [DB] Sharding vs Partitioning: 수평 확장의 두 얼굴 ← 3
- 정의 | | Partitioning | Sharding | |---|---|---| | 범위 | 한 DB 안 | 여러 DB 노드 | | 목적 | 큰 테이블 관리 | 수평 확장 (…
- [DB] SQLite: 단일 파일, WAL 모드, edge / mobile ← 1
- 정의 SQLite 는 세계에서 가장 많이 배포된 DB (모든 스마트폰, 브라우저, OS). 서버 없이 라이브러리, 단일 파일, zero-config. embedded + edge…
- [DB] Transaction Isolation Levels: 완벽 가이드 ← 5
- 정의 Transaction Isolation Level (트랜잭션 격리 수준) = 동시에 실행되는 여러 트랜잭션이 서로의 변경을 어디까지 볼 수 있는지 규정하는 수준. ACID …
- [DB] WAL: Write-Ahead Log, crash recovery, replication 의 토대 ← 8
- 정의 Write-Ahead Log (WAL) = 데이터 변경 전 로그를 먼저 디스크에 기록. 모든 모던 RDB / KV / 분산 시스템의 내구성 기반. 핵심 약속: 로그가 디스크…
- [PostgreSQL] JSONB: 장점과 단점, 인덱싱, 사용 패턴 ← 3
- 정의 JSONB (Binary JSON, PG 9.4+) = PostgreSQL 의 binary 직렬화된 JSON. 인덱싱 가능 + 빠른 query 가 과의 핵심 차이. [!IM…
- [Redis] Bloom / Cuckoo / CMS / TopK: 확률 자료구조 ← 3
- 정의 확률 자료구조 (Probabilistic Data Structures) 는 작은 메모리 로 대규모 데이터의 통계적 답 을 제어된 오차 로 내는 자료구조군. Redis 는 B…
- [Redis] Cache Patterns: Cache-Aside, Stampede, Eviction ← 11
- 정의 Cache Pattern 은 Redis (또는 다른 캐시) 를 어떤 경로로 읽고 쓰는지 의 디자인 결정. 같은 인프라로도 패턴 선택에 따라 일관성 / 지연 / 부하 가 완전…
- [Redis] Cluster: 16384 슬롯, MOVED/ASK, Atomic Slot Migration
- 정의 Redis Cluster 는 수평 확장 을 위한 내장된 sharding + 자동 failover. 16384 개의 hash slot 으로 키 공간 을 잘라 여러 노드 에 분…
- [Redis] Distributed Lock: SET NX, Redlock, Fencing Token ← 5
- 정의 분산 락 (Distributed Lock) 은 여러 프로세스 / 머신 에서 한 시점에 하나만 임계 영역에 진입하도록 보장하는 동기화 도구. Redis 는 간단한 SETNX …
- [Redis] Hash: 객체 저장, Field TTL (7.4+), Listpack vs Hashtable ← 3
- 정의 Redis Hash 는 키 안의 작은 dict. 하나의 키 ( ) 가 여러 field → value 쌍을 가진다. 부분 갱신 / 부분 조회 가 atomic + 효율적. = …
- [Redis] HyperLogLog & Geo: 확률 카운팅 + 공간 인덱스 ← 5
- 정의 이 페이지는 작지만 강력한 두 자료구조 를 묶는다. - HyperLogLog (HLL): 대규모 unique count 를 0.81% 오차로 12 KB 안에 추정. - Ge…
- [Redis] List: Quicklist / Listpack, BLPOP, Sidekiq 큐 ← 2
- 정의 Redis List 는 양끝 push / pop 이 O(1) 인 순서 보존 시퀀스. 큐 (FIFO), 스택 (LIFO), 최근 N개 목록, Sidekiq 같은 큐 시스템 의…
- [Redis] Persistence: RDB / AOF / Hybrid ← 6
- 정의 Redis Persistence 는 in-memory 데이터를 디스크 로 지속화하는 메커니즘. 세 가지 옵션: 1. RDB (Redis Database file): 주기적 …
- [Redis] Pub/Sub vs Streams: 휘발 신호 vs 영속 로그 ← 17
- 정의 - Pub/Sub ( / ): 지금 듣고 있는 구독자 에게만 메시지가 전달되는 휘발성 신호. 영속 없음, ACK 없음. fan-out. - Streams ( / / / ):…
- [Redis] Replication & Sentinel: 비동기 복제와 자동 Failover ← 4
- 정의 Redis Replication 은 primary (master) → replica (slave) 방향의 비동기 단방향 복제. 읽기 부하 분산 과 고가용성 의 토대. Red…
- [Redis] Set: 중복 없는 멤버십, SINTER / SUNION / SDIFF ← 4
- 정의 Redis Set 은 중복 없는 unordered 멤버 집합. SADD / SREM / SISMEMBER 가 O(1), SINTER / SUNION / SDIFF 의 집합 …
- [Redis] Sorted Set: Skiplist + Dict, 리더보드, 우선순위 큐 ← 10
- 정의 Redis Sorted Set (ZSet) 은 멤버 + 점수 (score) 의 순서 보존 unique 집합. score 기준 정렬 + 멤버 기준 O(1) 조회 가 동시에 가…
- [Redis] Stream: Radix Tree + Listpack, Consumer Group 내부 ← 1
- 정의 Redis Stream 은 append-only 로그 자료구조. 시간 순서가 보존되는 영속 메시지 시퀀스 + consumer group 으로 작업 분배. Kafka 의 Re…
- [Redis] String / Bitmap / Bitfield: 가장 기본 + 가장 강력 ← 4
- 정의 Redis String 은 binary-safe 한 바이트 열. 최대 512 MB. 문자열만이 아니라 정수, 부동소수, 직렬화된 객체, 비트맵 (Bitmap), 패킹된 정수…
- [Redis] Vector Search: HNSW, SVS-VAMANA, Semantic Cache ← 8
- 정의 Vector Search 는 임베딩 벡터의 거리/유사도 기준으로 근접한 K 개 를 찾는 검색. Redis 는 RediSearch 모듈 (Redis 8 부터는 코어) 과 Va…
- N+1 쿼리 문제 ← 3
- 정의 N+1 쿼리 문제 = ORM 이 부모 entity N 개를 조회한 뒤, 각 부모의 연관 entity 를 하나씩 로드하면서 추가 SQL 이 N 번 발생하는 성능 안티패턴. 이…
frameworks (34)
- [비교] JPA EAGER vs Rails eager_load ← 3
- 정의 JPA 와 Rails 는 둘 다 "eager" 라는 용어를 ORM 의 연관 로딩 전략에 사용한다. 이름은 비슷하지만 의미는 정반대. N+1 문제란 N+1 문제는 연관 객체를…
- [Framework] Koa.js ← 11
- 정의 Koa.js 는 Express 창시자 TJ Holowaychuk 이 2013년 발표한 Node.js 웹 프레임워크 입니다. Express 의 후계자 성격이며, 미들웨어를 a…
- [Framework] NestJS ← 16
- 정의 NestJS 는 Kamil Myśliwiec 이 2017년 발표한 Node.js 서버측 프레임워크 입니다. TypeScript first, Angular 에서 영감받은 모듈…
- [Frontend] React 19.x: Actions, Activity, RSC, Foundation
- 정의 React 19 ( ) 는 Server Components 의 정식화 와 Actions 라는 새 패러다임을 들고 나온 메이저 릴리즈. 이후 ( ), ( ) 까지 minor …
- [Frontend] React Compiler 1.0: 자동 memoization 의 새 표준 ← 4
- 정의 React Compiler 는 React 컴포넌트와 hook 의 불필요한 재계산 을 빌드 타임에 자동으로 잡아주는 optimizing compiler. 손으로 / / 를 박…
- [Koa] Body Parsing ← 7
- 정의 Koa Body Parsing 은 HTTP 요청 body 를 파싱해 에 사용 가능한 형태로 만드는 미들웨어입니다. Koa 코어는 body parser 를 포함하지 않으므로 …
- [Koa] Context (ctx) ← 7
- 정의 Koa Context ( ) 는 각 요청마다 생성되어 미들웨어와 route handler 에 전달되는 객체입니다. (Node 원본), (Koa 확장), (Koa 확장), (…
- [Koa] Deployment (PM2, Docker, Kubernetes) ← 3
- 정의 Koa Deployment 는 Node.js 프로덕션 배포의 표준 도구 (Docker, Kubernetes, PM2) + Koa 특화 고려사항 (graceful shutdo…
- [Koa] Error Handling ← 8
- 정의 Koa Error Handling 은 미들웨어 chain 에서 발생한 예외를 catch 하여 응답을 정형화하는 패턴입니다. Koa 는 자동 error handler 를 제공…
- [Koa] Koa vs Express ← 1
- 정의 Koa 와 Express 는 모두 Node.js 웹 프레임워크이지만 철학과 API 스타일이 다릅니다. Express 는 오래됐고 방대한 생태계 (2010), Koa 는 as…
- [Koa] Middleware (Onion Model) ← 10
- 정의 Koa Middleware 는 요청/응답 사이에 실행되는 async 함수입니다. 각 미들웨어는 (context) 와 (다음 미들웨어를 실행하는 함수) 를 받고, 로 down…
- [Koa] Router (@koa/router) ← 8
- 정의 @koa/router 는 Koa 의 공식 라우터입니다. Koa 코어는 라우팅을 제공하지 않으므로 별도 설치가 필요합니다. Express 스타일 라우팅 (HTTP method…
- [Koa] Testing (Supertest, Jest, Vitest) ← 6
- 정의 Koa Testing 은 (HTTP 호출) + / (assertions/runner) 조합이 표준입니다. 을 Supertest 에 전달하면 실제 HTTP 서버 없이 요청/응…
- [NestJS] Config (Environment, Validation) ← 6
- 정의 NestJS Config 는 패키지로 환경변수를 관리합니다. 파일 로딩, TypeScript type-safe access, 검증 (Joi/Zod), 여러 환경 (dev/s…
- [NestJS] Controllers ← 12
- 정의 NestJS Controller 는 데코레이터가 붙은 클래스로, HTTP 요청을 라우팅하고 응답을 반환합니다. Method 별로 , , , , 데코레이터를 붙여 URL + …
- [NestJS] Database (TypeORM, Prisma, Mongoose, Drizzle) ← 6
- 정의 NestJS Database 통합은 여러 ORM/ODM 을 module 로 감싸 DI + 트랜잭션 + 마이그레이션을 관용화합니다. 주요 선택지: TypeORM (성숙), P…
- [NestJS] Deployment (Docker, Kubernetes, PM2) ← 5
- 정의 NestJS Deployment 는 프로덕션 환경에서 앱을 배포/운영하기 위한 절차입니다. Docker 이미지 빌드, Kubernetes 매니페스트, PM2 프로세스 관리,…
- [NestJS] Exception Filters ← 8
- 정의 NestJS Exception Filter 는 애플리케이션에서 발생한 예외를 catch 하여 클라이언트에게 응답 형식을 통일합니다. 데코레이터로 어떤 예외를 처리할지 지정합…
- [NestJS] Guards ← 8
- 정의 NestJS Guard 는 특정 요청이 controller method 에 도달하기 전에 실행되어 접근 허용 여부 를 결정합니다. Middleware 이후, Intercep…
- [NestJS] Interceptors ← 8
- 정의 NestJS Interceptor 는 요청 처리 전/후에 로직을 삽입하는 클래스입니다. AOP (Aspect-Oriented Programming) 패턴의 구현체로, 로깅,…
- [NestJS] Microservices (Kafka, NATS, RabbitMQ, gRPC, TCP) ← 4
- 정의 NestJS Microservices 는 HTTP 대신 message broker (Kafka, RabbitMQ, NATS, Redis) 나 gRPC / TCP 로 통신하는…
- [NestJS] Middleware ← 6
- 정의 NestJS Middleware 는 route handler 실행 이전, Guard 도 실행되기 전에 실행되는 함수/클래스입니다. Express/Fastify 표준 midd…
- [NestJS] Modules ← 13
- 정의 NestJS Module 은 데코레이터가 붙은 클래스로, 관련된 controller, provider, import/export 를 하나로 묶는 조직 단위입니다. Angul…
- [NestJS] Pipes (Validation, Transformation) ← 6
- 정의 NestJS Pipe 는 controller method 로 들어가는 인자를 변환 (transformation) 하거나 검증 (validation) 하는 클래스입니다. Gu…
- [NestJS] Providers & Dependency Injection ← 9
- 정의 NestJS Provider 는 데코레이터가 붙은 클래스 (또는 값/factory) 로, DI container 에 등록되어 다른 클래스에 주입됩니다. Service, Re…
- [NestJS] Testing (Jest, Supertest, e2e) ← 9
- 정의 NestJS Testing 은 Jest (기본) + Supertest 조합으로 unit test 와 e2e test 를 지원합니다. 의 로 module 을 격리된 형태로 만…
- [React] Component Composition: Props, Children, Render Prop, HOC, Compound ← 3
- 정의 Component Composition 은 작은 컴포넌트를 조합 해 큰 UI 를 만드는 React 의 핵심 빌드 블록. 객체지향의 상속 (inheritance) 대신 Com…
- [React] Lifecycle: Mount / Update / Unmount, StrictMode, Activity, RSC ← 3
- 정의 React Lifecycle 은 컴포넌트의 생성 → 갱신 → 제거 의 흐름. 함수 컴포넌트에서는 클래스의 lifecycle method 가 사라지고 render + effe…
- [React] useEffect: 동기화의 본질, dep array, cleanup, useEffectEvent ← 3
- 정의 는 컴포넌트의 렌더 결과 와 외부 시스템 을 동기화 하는 hook. - 외부 시스템: 브라우저 DOM, WebSocket, 구독, 타이머, 외부 라이브러리 (D3, Mapb…
- [React] useMemo / useCallback / memo: 자동 시대의 수동 도구 ← 5
- 정의 세 가지 도구는 동일한 목표 (불필요한 재계산 / 재생성 / 재렌더 방지) 를 서로 다른 위치 에서 잡는다. - : 값 의 메모이제이션. deps 가 같으면 같은 값 반환.…
- Astro ← 6
- 정의 Astro 는 콘텐츠 중심 사이트를 위한 정적 사이트 프레임워크다. "Islands Architecture"로 필요한 부분만 hydration하기 때문에 기본 JS 전송량이…
- BrainDB ← 3
- 정의 BrainDB 는 마크다운 파일을 SQLite 기반 데이터베이스로 인덱싱해, 위키링크 처리, 백링크 추출, 콘텐츠 그래프 생성, 깨진 링크 감지를 제공하는 통합 라이브러리다…
- D3.js ← 4
- 정의 D3 (Data-Driven Documents)는 데이터를 DOM 요소에 바인딩해 SVG, Canvas, HTML 기반 시각화를 만드는 JavaScript 라이브러리다. M…
- Pagefind: 정적 사이트 전문 검색 ← 4
- 정의 Pagefind 는 정적 사이트 (SSG) 용 클라이언트 사이드 전문 검색 엔진. 빌드 후 정적 인덱스 생성, 브라우저에서 WASM + fetch 로 검색. CloudCan…
rails (28)
- [Rails] 배포: Kamal, Capistrano, Heroku
- 정의 Rails 배포 옵션: - Kamal (Rails 8 기본): Docker + zero-downtime, 자체 호스팅 - Capistrano: SSH 기반 (전통) - He…
- [Rails] 보안: CSRF, XSS, SQL injection, encrypted credentials
- 정의 Rails는 OWASP Top 10 대부분을 기본 방어한다. 그러나 설정 누락, 남용, raw SQL 등이 흔한 함정. 보안은 기본 활성이고 명시적으로 우회해야 비활성. C…
- [Rails] 성능: N+1, bullet, rack-mini-profiler
- 정의 Rails 성능 최적화는 보통 DB 쿼리 (N+1 회피, 인덱스), 캐싱, view 렌더링, Ruby 코드 효율 순서로 접근. 측정 도구 ( , , APM)로 hotspot…
- [Rails] 쿼리 최적화: preload, eager_load, includes, references ← 3
- 정의 Active Record 는 연관 ( , ) 을 lazy 로딩한다. 부모 객체를 받아온 뒤 자식을 순회하면 자식마다 SELECT 가 1번씩 추가로 발생 = N+1 문제. R…
- [Rails] 테스트: Minitest, RSpec, FactoryBot, Capybara ← 1
- 정의 Rails는 Minitest 기반 테스트를 기본 제공한다. 커뮤니티는 RSpec도 광범위 사용. FactoryBot(객체 생성), Capybara(브라우저 시뮬레이션), R…
- [Rails] Action Cable & Solid Cable: WebSocket
- 정의 Action Cable은 Rails의 WebSocket 통합. 채널(channel) 기반 발행/구독 모델. Rails 8부터 Solid Cable (DB 기반 어댑터)이 기…
- [Rails] Action Mailer: 이메일 발송
- 정의 Action Mailer는 Rails의 이메일 처리 프레임워크. 컨트롤러처럼 구조화된 mailer 클래스 + ERB 템플릿 + Active Job 통합. SMTP, Send…
- [Rails] Action Text & Active Storage 통합
- 정의 Action Text (Rails 6+)는 Trix 에디터 + Active Storage 통합 + 안전한 HTML 저장으로 rich text 콘텐츠 처리. 댓글, 게시글, …
- [Rails] Active Job 고급: retry, schedule, callback ← 1
- 정의 Active Job 기본 사용은 별도 페이지. 이 문서는 재시도 전략, 콜백, 시리얼라이즈, 멱등성, 우선순위 등 고급 패턴을 다룬다. Retry / Discard Wait…
- [Rails] Active Job: 백그라운드 워커 ← 4
- 정의 Active Job은 백엔드(Sidekiq, Resque, Solid Queue 등) 추상화 계층. 같은 코드로 다른 queue adapter 교체 가능. Rails 8부터…
- [Rails] Active Record Encryption
- 정의 Active Record Encryption (Rails 7.0+)은 모델 attribute 자동 암호화. 키 관리, 검색(deterministic), 마이그레이션 등 내장…
- [Rails] Active Storage: 파일 업로드와 attachment
- 정의 Active Storage는 Rails 5.2+ 표준 파일 업로드 솔루션. S3, GCS, Azure, 로컬 디스크를 균일한 API로. 이미지 variant(크기 변환), …
- [Rails] Active Support: Ruby 확장
- 정의 Active Support는 Ruby 표준 라이브러리에 Rails가 추가하는 유틸리티 + 코어 확장. , , 등 모든 Rails 코드에서 사용. Rails 없는 Ruby 프…
- [Rails] ActiveRecord 기초: Model, Migration, CRUD ← 4
- 정의 ActiveRecord는 Rails의 ORM. 클래스 ↔ 테이블 1:1 매핑(관례), 인스턴스 = 행. Active Record 패턴 그대로(데이터 + 행동). 마이그레이션…
- [Rails] ActiveRecord Callbacks: 장점과 단점 ← 1
- 정의 ActiveRecord Callbacks = 모델의 라이프사이클 이벤트 (생성, 갱신, 삭제) 에 훅 을 거는 메커니즘. DRY + 자동화 가 매력이지만 암묵적 부수효과 의…
- [Rails] AR Associations: belongs_to, has_many, polymorphic ← 3
- 정의 ActiveRecord associations로 테이블 간 관계를 객체 그래프로 표현. 6가지 매크로( , , , , , )와 polymorphic, STI 같은 고급 패턴…
- [Rails] AR Validations와 Callbacks ← 1
- 정의 ActiveRecord는 save 전 검증과 다양한 라이프사이클 콜백을 제공한다. 검증은 DB 제약과 별도(애플리케이션 레벨). 콜백은 신중히, 비즈니스 로직은 servic…
- [Rails] Caching: fragment, action, low-level, Russian Doll
- 정의 Rails 캐싱은 fragment, action, page, HTTP, low-level (Rails.cache) 5단계. 모델·뷰 단위로 자동 무효화 (Russian Do…
- [Rails] Concerns, Engines, Generators ← 2
- 정의 Concern은 모듈에 클래스 메서드와 콜백을 한 곳에 모으는 패턴. Engine은 별도 gem으로 분리 가능한 미니 Rails 앱. Generator는 코드 자동 생성 (…
- [Rails] Controller: params, strong params, filters ← 1
- 정의 Rails Controller는 라우터가 전달한 요청을 받아 Model 조작 + View 렌더링을 조율한다. RESTful 7 action(index, show, new, …
- [Rails] Encrypted Credentials과 환경변수
- 정의 Rails 5.2+ 는 비밀 정보를 암호화해 git에 안전하게 커밋. Rails 6+ 환경별 ( , ) 가능. 파일 + 는 대안. 기본 사용 파일 구조 노출 → 모든 비밀 …
- [Rails] Form Object, Service Object, Query Object
- 정의 Fat Model / Skinny Controller가 한계에 달하면 POROs (Plain Old Ruby Objects)로 책임 분리. Form Object (다중 모델…
- [Rails] Hotwire: Turbo Drive, Frames, Streams, Stimulus ← 1
- 정의 Hotwire는 Rails 7부터 기본인 "SPA 없이 SPA 같은 UX"를 위한 프론트엔드 접근. Turbo Drive(전체 페이지 전환을 fetch + DOM swap)…
- [Rails] I18n: 다국어와 지역화
- 정의 Rails I18n은 로케일별 번역, 숫자/날짜 포맷, 시간대, 복수형, 통화 등을 통합 처리. 에 번역 저장, 로 조회. View, controller, model 어디서…
- [Rails] Rails 8: Solid Queue/Cache/Cable, Kamal, Propshaft ← 1
- 정의 Rails 8 (2024 11월)의 표어는 "No PaaS"다. Solid 시리즈로 Redis/외부 큐 의존을 제거하고, Kamal로 Docker 기반 자체 호스팅을 간단하…
- [Rails] Routes: resources, nested, scope, constraints ← 1
- 정의 Rails 라우팅은 URL을 controller#action으로 매핑. RESTful resources 매크로가 7개 표준 액션을 한 줄로 생성. 에 정의. 로 전체 확인.…
- [Rails] Views: ERB, helpers, partials, layouts
- 정의 Rails View는 ERB(Embedded Ruby) 템플릿 + helper + partial + layout 조합. controller가 를 view로 전달. 뷰 로직은…
- Ruby on Rails ← 3
- 정의 Ruby on Rails (또는 Rails)는 Ruby 언어 기반의 풀스택 웹 프레임워크다. David Heinemeier Hansson (DHH)이 2004년 Baseca…
kubernetes (26)
- [K8s] ConfigMap & Secret: 설정과 비밀의 분리 ← 6
- 정의 ConfigMap 과 Secret 은 컨테이너 이미지에서 설정/비밀 값을 분리하기 위한 Kubernetes 리소스. | 항목 | ConfigMap | Secret | |:-…
- [K8s] DaemonSet: 모든 노드에 한 pod ← 2
- 정의 DaemonSet 은 클러스터의 각 노드에 정확히 1개의 Pod 을 보장하는 워크로드 리소스. 노드가 추가되면 자동으로 Pod 가 배포되고, 노드가 제거되면 자동으로 정리된…
- [K8s] Deployment: ReplicaSet, rolling update, rollback ← 16
- 정의 Deployment = stateless 워크로드를 위한 컨트롤러. 내부적으로 ReplicaSet 관리 + rolling update / rollback. 사용 시나리오 |…
- [K8s] Helm: 패키지 매니저, chart, release, hook
- 정의 Helm = K8s 의 패키지 매니저. Chart (YAML 템플릿 + 메타데이터) → Release (cluster 에 배포된 인스턴스). 구조 Chart.yaml val…
- [K8s] HPA / VPA / KEDA: 자동 확장 ← 5
- 정의 Pod 를 자동으로 확장/축소하는 K8s 메커니즘. 세 가지 레벨: | 레벨 | 도구 | 무엇을 확장 | |---|---|---| | Pod 수 | HPA / KEDA | …
- [K8s] Ingress: L7 라우팅, TLS termination, Gateway API ← 7
- 정의 Ingress = 클러스터 외부 HTTP/HTTPS 트래픽 → 내부 Service 라우팅. L7 LB 역할. Service 의 LoadBalancer 다수 대안. [!IMP…
- [K8s] Job / CronJob: 일회성 + 스케줄 작업 ← 2
- 정의 | 컨트롤러 | 의미 | |---|---| | Job | 완료까지 실행하는 일회성 작업 | | CronJob | 스케줄 (cron) 에 따라 Job 생성 | Deployme…
- [K8s] NetworkPolicy: pod 간 네트워크 차단 ← 9
- 정의 NetworkPolicy = pod 간 허용된 트래픽만 통과. 없으면 모든 pod ↔ pod 가 허용 (기본 open). [!IMPORTANT] NetworkPolicy 는…
- [K8s] Pod: 컨테이너의 최소 단위, sidecar, lifecycle ← 26
- 정의 Pod = K8s 의 가장 작은 배포 단위. 1개 이상의 컨테이너 + 공유 네트워크 + 공유 스토리지. [!IMPORTANT] Pod 는 컨테이너의 wrapping 이 아니…
- [K8s] RBAC: Role, ClusterRole, ServiceAccount, RoleBinding ← 12
- 정의 RBAC (Role-Based Access Control) = K8s 의 권한 부여 모델. 주체 + 권한 + 바인딩. 사용 시나리오 | 상황 | RBAC 역할 | |---|…
- [K8s] Service: ClusterIP / NodePort / LoadBalancer / ExternalName ← 15
- 정의 Service = Pod 집합에 안정 가상 IP + DNS 부여. Pod 가 죽고 다시 만들어져도 Service IP 는 그대로. 4가지 타입 1. ClusterIP (기본…
- [K8s] StatefulSet: 순서 보장, 고유 ID, 영속 스토리지 ← 8
- 정의 StatefulSet = 상태 있는 워크로드를 위한 컨트롤러. Deployment 와의 차이: | 항목 | Deployment | StatefulSet | |---|---|…
- [Kubernetes] Admission Controllers ← 4
- 정의 Admission Controller 는 kube-apiserver 가 인증/인가 후, etcd 저장 전에 요청을 가로채 검증 (validate) 하거나 수정 (mutate…
- [Kubernetes] Architecture (Control Plane + Node) ← 9
- 정의 Kubernetes Architecture 는 Control Plane (제어) 과 Worker Node (실행) 두 계층으로 구성됩니다. Control Plane 은 원하…
- [Kubernetes] CRDs & Operators ← 3
- 정의 Custom Resource Definition (CRD) 는 Kubernetes API 에 새 리소스 타입 을 추가하는 기능입니다. + 를 정의하면 kubectl / ap…
- [Kubernetes] Debugging (kubectl debug, Ephemeral Containers, Events) ← 3
- 정의 Kubernetes Debugging 은 Pod, 노드, 클러스터 문제를 진단하는 도구/기법 집합입니다. 로그, 이벤트, , ephemeral container, 를 조합해…
- [Kubernetes] Init Containers & Sidecar Containers ← 3
- 정의 Init Containers 는 Pod 의 메인 컨테이너보다 먼저 실행되어 초기화 작업을 완료하고 종료되는 컨테이너입니다. Sidecar Containers 는 메인 컨테이…
- [Kubernetes] Kustomize ← 3
- 정의 Kustomize 는 Kubernetes manifests 를 템플릿 없이 overlay 방식으로 커스터마이제이션하는 도구입니다. v1.14+ 에 내장 ( ). YAML 을…
- [Kubernetes] Labels & Selectors ← 4
- 정의 Labels 는 리소스에 붙이는 key-value 분류 태그 입니다. 사람과 컨트롤러가 리소스를 조직하고 선택할 때 사용합니다. Selectors 는 label 조합으로 대…
- [Kubernetes] Namespace ← 9
- 정의 Namespace 는 같은 물리 클러스터 안에서 리소스 (Pod, Service, ConfigMap 등) 를 논리적으로 격리 하는 단위입니다. 이름 충돌 회피, RBAC 스…
- [Kubernetes] Persistent Volumes (PV / PVC / StorageClass) ← 4
- 정의 Kubernetes Storage 계층 은 세 리소스로 구성됩니다. - PersistentVolume (PV): 실제 스토리지 (EBS, GCE PD, NFS, iSCSI …
- [Kubernetes] Resource Management (Requests, Limits, QoS) ← 6
- 정의 Kubernetes Resource Management 는 CPU, 메모리, ephemeral storage, hugepages 등의 리소스를 파드에 할당하고 제한하는 시스…
- [Kubernetes] Scheduling (Taints, Affinity, Topology Spread) ← 7
- 정의 Kubernetes Scheduling 은 kube-scheduler 가 새 Pod 을 어느 노드에 배치할지 결정하는 과정입니다. 두 단계 (Filtering + Scori…
- [Kubernetes] Service Mesh (Istio, Linkerd, Cilium) ← 4
- 정의 Service Mesh 는 마이크로서비스 간 통신에 L7 정책, mTLS 암호화, 트래픽 관리, 관측성 을 제공하는 인프라 계층입니다. 앱 코드를 바꾸지 않고 프록시 (si…
- kubectl ← 5
- 정의 kubectl 은 Kubernetes API 를 명령줄에서 조작하는 공식 CLI 입니다. kube-apiserver 와 통신해 리소스를 조회, 생성, 수정, 삭제하고, 로그…
- Kubernetes ← 17
- 정의 Kubernetes (k8s) 는 컨테이너화된 애플리케이션의 배포, 스케일링, 관리 를 자동화하는 오픈소스 오케스트레이터입니다. Google 이 2014년 발표하고 2015…
network (26)
- [Network] CIDR와 Subnetting ← 6
- 정의 CIDR (Classless Inter-Domain Routing) 은 IPv4 / IPv6 주소를 prefix length 로 표기하는 표준. 1993년 등장 (RFC 1…
- [Network] CORS: Same-Origin Policy, preflight, credentials ← 6
- 정의 CORS (Cross-Origin Resource Sharing) 는 Same-Origin Policy (SOP) 의 완화 메커니즘. 브라우저가 origin 이 다른 리소스…
- [Network] DNS: 도메인 이름 해석 ← 7
- 정의 DNS (Domain Name System) 는 도메인 이름 ( ) 을 IP 주소 ( ) 로 변환하는 분산 데이터베이스. 인터넷의 가장 중요한 인프라. 기본 동작: 1. 클…
- [Network] gRPC: HTTP/2 + Protobuf, 4가지 streaming 패턴 ← 8
- 정의 gRPC 는 HTTP/2 위에서 Protobuf 직렬화 로 동작하는 고성능 RPC 프레임워크. Google 내부 Stubby 의 오픈소스 후계. 핵심 4가지: 1. Prot…
- [Network] HTTP Caching: Cache-Control, ETag, Last-Modified ← 3
- 정의 HTTP Caching 은 HTTP 응답을 클라이언트 / 중간 proxy / CDN 이 보관해 같은 요청을 다시 처리하지 않게 하는 메커니즘. 성능 + 비용 절감의 핵심. …
- [Network] HTTP/1.1: keep-alive, pipelining, chunked transfer ← 8
- 정의 HTTP/1.1 (1997, RFC 9112 으로 재정리) 는 텍스트 기반 stateless request/response 프로토콜. 2026 시점에도 대부분의 트래픽이 H…
- [Network] HTTP/2: multiplexing, HPACK, server push의 종말 ← 12
- 정의 HTTP/2 (2015, RFC 9113) 는 HTTP/1.1 의 문법은 유지하되 전송을 바이너리 + 멀티플렉싱 으로 바꾼다. Head-of-Line Blocking (HT…
- [Network] HTTP/3: QUIC 위의 HTTP, 0-RTT, connection migration ← 9
- 정의 HTTP/3 (2022, RFC 9114)는 HTTP의 전송 레이어를 TCP 에서 QUIC 으로 교체한 버전이다. UDP 위에 QUIC, QUIC 위에 HTTP 구조다. 핵…
- [Network] IP: IPv4, IPv6, 패킷 구조, fragmentation ← 1
- 정의 IP (Internet Protocol) 는 OSI L3 (네트워크 계층) 의 핵심 프로토콜. best-effort delivery (재전송 없음, 순서 보장 없음, 손실 …
- [Network] IP: IPv4, IPv6, CIDR ← 4
- 정의 IP (Internet Protocol) 주소 는 인터넷에서 노드를 식별하는 논리 주소다. IPv4 (32bit) 와 IPv6 (128bit) 두 버전이 현재 병존한다. I…
- [Network] Load Balancer: L4 vs L7, 알고리즘, sticky session ← 10
- 정의 Load Balancer 는 트래픽을 여러 백엔드로 분산 하는 인프라. 수평 확장 + 가용성 + 무중단 배포 의 토대. L4 vs L7 | 구분 | L4 (Transport…
- [Network] NAT: Network Address Translation ← 5
- 정의 NAT (Network Address Translation) 는 IP 패킷의 헤더에서 소스 또는 목적지 IP 주소(포트 포함)를 변환하는 기법이다. 주로 사설 IP와 공인 …
- [Network] OSI 7 Layer: 각 계층의 의미와 실전 매핑 ← 4
- 정의 OSI 7 Layer 모델 은 네트워크 통신을 7 계층으로 추상화 한 ITU-T 표준 (1984). 실제 인터넷은 TCP/IP 4-5 계층 이지만, OSI 의 개념적 분리 …
- [Network] Realtime 전송 비교: Polling / SSE / WebSocket / WebRTC ← 3
- 정의 실시간 (서버 → 클라이언트) 데이터 전송 의 7가지 패턴 비교. 결정 트리 7가지 비교 | 패턴 | 방향 | 영속 | 프로토콜 | 사용 | |---|---|---|---|…
- [Network] SSE (Server-Sent Events): 단방향 영속 스트림 ← 1
- 정의 Server-Sent Events (SSE) 는 HTTP 위 단방향 (서버 → 클라이언트) 영속 스트림. MIME + 클라이언트의 API. 장점: HTTP/1.1 위에서 동…
- [Network] WebSocket: HTTP upgrade, frame, ping/pong
- 정의 WebSocket (RFC 6455)은 HTTP/1.1 Upgrade로 시작하는 양방향 영속 메시지 채널이다. 하나의 TCP 연결 위에서 서버와 클라이언트가 임의 시점에 메…
- [Voice AI] WebRTC: PeerConnection, ICE, STUN/TURN, SFU ← 9
- 정의 WebRTC = 브라우저 / 모바일 P2P 실시간 미디어 + 데이터 표준. 음성, 비디오, 데이터 채널. 2026 시점 voice agent + 영상 통화 + 화면 공유 의…
- [Voice AI] WebSocket 미디어 스트림: 양방향 풀듀플렉스, 프레임 버퍼링
- 정의 WebSocket Media Stream = 양방향 바이너리 오디오 스트림. WebRTC 가 어려운 전화 / 서버↔서버 / 옛 클라이언트 에서 표준. 자세한 일반 WebSo…
- DTLS ← 2
- 정의 DTLS (Datagram Transport Layer Security)는 UDP 위에서 동작하는 TLS의 변형이다. 데이터그램 기반 통신에 TLS와 동등한 보안 보장(서버…
- Head-of-Line Blocking ← 9
- 정의 Head-of-Line Blocking (HOLB) 은 처리 순서가 정해진 큐에서 맨 앞 항목의 지연이 그 뒤 항목 전체의 지연으로 전파되는 현상이다. 네트워크 프로토콜에서…
- HPACK ← 7
- 정의 HPACK (RFC 7541)은 HTTP/2에서 요청/응답 헤더를 압축하는 방식이다. HTTP/1.1에서 헤더는 매 요청마다 평문 텍스트로 반복 전송되었다. 한 페이지 로드…
- QUIC ← 14
- 정의 QUIC (Quick UDP Internet Connections)은 Google이 2012년 처음 제안하고 2021년 RFC 9000으로 표준화된 UDP 기반 전송 프로토…
- Stateful vs Stateless Firewall ← 3
- 정의 방화벽 (Firewall) 은 네트워크 트래픽을 정책에 따라 허용/차단 하는 보안 장치. 상태 관리 방식으로 두 유형이 있습니다. - Stateless (상태 비저장): 각…
- TCP ← 18
- 정의 TCP (Transmission Control Protocol) 는 신뢰성 있는 연결 지향 전송 계층 프로토콜이다. RFC 9293 으로 정의되어 있다. HTTP/1.1·2…
- TLS / SSL ← 18
- 정의 TLS (Transport Layer Security) 는 (또는 위 ) 위에서 동작하는 암호화·인증 프로토콜이다. SSL 은 TLS 의 전신 (Netscape 1995, …
- UDP ← 14
- 정의 UDP (User Datagram Protocol)는 비연결·비신뢰 전송 계층 프로토콜이다. RFC 768 (1980) 로 정의되었다. TCP 와 대비된다. "보내고 잊는다…
ml (19)
- [AWS SageMaker] Model Monitor: 모델 및 데이터 드리프트 감지 ← 4
- [!WARNING] AWS 공식 발표 (2026): 2026-07-30 부터 SageMaker Model Monitor 는 신규 고객 사용이 중단됩니다. 기존 사용 고객은 계속 …
- [FL] FedAvg (Federated Averaging) ← 4
- 정의 FedAvg (Federated Averaging) 는 McMahan et al. (2017) 이 제안한 연합 학습의 기본 알고리즘 입니다. 원본 데이터를 중앙 서버로 보내…
- [FL] Frameworks (Flower, TFF, NVFlare, FATE, PySyft) ← 4
- 정의 연합 학습 프레임워크 는 서버-클라이언트 통신, 집계 알고리즘, 프라이버시 도구, 시뮬레이션 환경, 실 배포 인프라를 제공하는 라이브러리/플랫폼입니다. 알고리즘을 직접 구현…
- [FL] Non-IID Data & Client Drift ← 4
- 정의 Non-IID data 는 연합 학습에서 각 클라이언트의 데이터가 서로 다른 분포에서 추출되는 상황을 말합니다. FedAvg 를 비롯한 대부분 FL 알고리즘의 최대 난관이며…
- [FL] Personalized Federated Learning ← 4
- 정의 Personalized FL 은 모든 클라이언트가 동일한 글로벌 모델을 쓰지 않고, 각 클라이언트가 자신의 데이터 분포에 맞춰 조정된 모델 을 학습하는 연합 학습 계열입니다…
- [FL] Secure Aggregation ← 4
- 정의 Secure Aggregation 은 연합 학습 서버가 개별 클라이언트 업데이트 를 보지 못하고 오직 합 (또는 평균) 만 볼 수 있도록 보장하는 암호학 프로토콜입니다. 서…
- 모델 양자화 ← 7
- 정의 양자화 (Quantization) 는 신경망 모델의 가중치/활성화를 높은 정밀도 (FP32, FP16) 에서 낮은 정밀도 (INT8, INT4 등) 로 변환하여 메모리와 연…
- 분류 모델 지표: Confusion Matrix, Precision, Recall, F1 ← 8
- 정의 분류 (classification) 모델의 성능을 정량화하는 지표들입니다. 이진 분류를 기준으로 하며, multi-class 로 확장하는 방법도 함께 다룹니다. 핵심 출발점…
- 분산 학습 ← 7
- 정의 분산 학습 (Distributed Training) 은 한 또는 에 들어가지 않는 큰 모델을 여러 가속기에 나눠서 학습시키는 기법. 현대 LLM (Llama 405B, GP…
- Differential Privacy: (ε, δ) 로 정량화하는 프라이버시 보장 ← 7
- 정의 Differential Privacy (DP, 차분 프라이버시) 는 데이터셋에 대한 질의 (query) 결과에 calibrated noise 를 추가함으로써, 한 개인의 데…
- Federated Learning: 분산 학습 without central data ← 10
- 정의 Federated Learning (FL) 은 데이터를 중앙에 모으지 않고 각 클라이언트 (edge device, 병원, 은행 등) 가 로컬 데이터로 모델을 학습한 뒤 모델…
- GPU: 그래픽/ML 병렬 프로세서 ← 6
- 정의 GPU (Graphics Processing Unit) 는 원래 3D 그래픽 렌더링을 위해 설계됐지만, massively parallel 아키텍처가 딥러닝의 행렬 연산과 완…
- HBM ← 6
- 정의 HBM (High Bandwidth Memory)는 DRAM die 를 수직으로 적층해 매우 높은 대역폭을 제공하는 메모리 패키지. AI 시대 GPU/TPU 의 메모리 병목…
- NPU (Neural Processing Unit): 엣지 AI 칩 ← 1
- 정의 NPU (Neural Processing Unit) 는 모바일/엣지 디바이스용 저전력 AI 가속기. 스마트폰, 노트북, IoT 에 내장되어 온디바이스 AI 추론을 담당한다.…
- SIMT ← 5
- 정의 SIMT (Single Instruction, Multiple Threads) 는 NVIDIA 가 정립한 GPU 의 실행 모델이다. 한 명령(instruction) 을 한 …
- SPMD ← 5
- 정의 SPMD (Single Program, Multiple Data)는 병렬 컴퓨팅의 대표 모델 중 하나. 모든 프로세스(또는 thread)가 같은 프로그램을 실행하되, 각자 …
- Systolic Array ← 4
- 정의 Systolic Array 는 격자 형태로 배치된 다수의 Processing Element (PE) 가, 입력 데이터가 박동(systolic)처럼 격자를 가로질러 흐르는 동…
- TPU (Tensor Processing Unit): Google 의 ML ASIC ← 6
- 정의 TPU (Tensor Processing Unit) 는 Google 이 딥러닝 워크로드 전용으로 설계한 ASIC (Application-Specific Integrated …
- Transfer Learning: pre-training, fine-tuning, domain adaptation ← 10
- 정의 Transfer Learning 은 source task/domain 에서 학습한 지식을 target task/domain 에 재사용 하여 학습 효율을 높이는 패러다임입니다…
distributed-systems (16)
- [Distributed Systems] 분산 트랜잭션: 2PC, Saga, Outbox ← 5
- 정의 분산 트랜잭션 은 여러 service / DB / 메시지 큐에 걸친 작업을 ACID 처럼 묶는 문제. 마이크로서비스 / 이벤트 기반 아키텍처의 핵심 도전. 3가지 접근: 1…
- [Distributed Systems] CAP Theorem과 PACELC ← 4
- 정의 CAP Theorem (Eric Brewer, 2000): 분산 시스템에서 3가지 중 2개만 동시에 보장 가능. - C (Consistency): 모든 노드가 같은 시점에 …
- [Distributed Systems] Consensus: Raft, Paxos ← 4
- 정의 Consensus (합의): 여러 노드가 같은 값에 동의 하는 분산 알고리즘. CAP 의 C 보장의 기반. 용도: - Leader election: 1개 leader 선출 …
- [Distributed] Kafka Consumer Group: rebalancing, offset, lag ← 3
- 정의 Consumer Group = 같은 를 가진 consumer들이 함께 한 topic을 분담 소비. partition 단위로 분배. 핵심 특성: - 한 partition → …
- [Distributed] Kafka: 분산 로그, partition, consumer group ← 14
- 정의 Apache Kafka = 분산 commit log. 고처리량 (수백만 msg/s), 영속, 수평 확장. event-driven 아키텍처 의 de facto. 핵심 개념: …
- [Distributed] Message Broker 비교: Kafka / RabbitMQ / NATS / SQS / Redis Streams ← 2
- 정의 Message Broker = 생산자(Producer)와 소비자(Consumer) 사이에서 메시지를 중계하는 미들웨어. 비동기 통신, 부하 분산, 시스템 디커플링의 핵심. …
- [Distributed] NATS: 가벼움, JetStream, subject 라우팅 ← 3
- 정의 NATS = 극도로 가벼운 메시징 시스템. core NATS = at-most-once Pub/Sub + request-reply. JetStream = 영속 / at-le…
- [Distributed] RabbitMQ: exchange, queue, routing key ← 4
- 정의 RabbitMQ = AMQP 0.9.1 기반 traditional message broker. exchange → queue 라우팅, workload distribution…
- [Pattern] API Gateway: BFF, 라우팅, auth, rate limit ← 5
- 정의 API Gateway = 클라이언트와 마이크로서비스 사이의 단일 진입점. 라우팅, auth, rate limit, transformation, monitoring 의 cro…
- [Pattern] CQRS: Command / Query 분리, read model ← 3
- 정의 CQRS (Command Query Responsibility Segregation) = 쓰기 모델 과 읽기 모델 을 분리. 같은 데이터를 다른 형태 로 저장 / 조회. […
- [Pattern] Event Sourcing: 상태 대신 이벤트 누적 ← 5
- 정의 Event Sourcing = 현재 상태 대신 과거 이벤트 시퀀스 를 저장. 현재 상태 = event 모두 replay 한 결과. 핵심 약속 - 과거 모든 변화 기록. 감사…
- [Pattern] Idempotency Keys: 중복 요청 안전 처리 ← 12
- 정의 Idempotency = 같은 요청을 N번 보내도 결과가 1번과 동일. 분산 시스템 / 결제 / API 의 안전망. [!IMPORTANT] 네트워크는 항상 timeout /…
- [Pattern] Microservices vs Monolith: 언제 분리, 언제 통합 ← 5
- 정의 | - | Monolith | Modular Monolith | Microservices | |---|---|---|---| | 배포 단위 | 1개 | 1개 (모듈 명확) …
- [Pattern] Outbox Pattern: DB + 메시지의 원자성 ← 14
- 정의 Outbox Pattern = DB 변경 + 메시지 발행 의 원자성 보장. 이중 쓰기 (dual write) 문제 의 표준 해결. 문제: Dual Write | 시나리오 |…
- [Pattern] Saga: 분산 트랜잭션의 보상 흐름 ← 6
- 정의 Saga = 여러 service 의 로컬 트랜잭션 을 연결한 긴 흐름. 한 단계 실패 시 이전 단계의 보상 (compensating) 트랜잭션 으로 논리적 롤백. [!IMP…
- [Voice AI] 파이프라인 디커플링: Redis Streams / Kafka 적용 ← 1
- 정의 대규모 음성 에이전트 = STT/LLM/TTS 를 분리 배포 + 메시지 큐로 디커플링. 수평 확장 + 독립 실패. [!NOTE] 소규모 (수십 동시 통화) 는 monolit…
typescript (16)
- [TypeScript] Conditional Types ← 8
- 정의 Conditional Type 은 형태로 타입 레벨에서 조건 분기를 표현합니다. 키워드로 매칭된 타입을 추출하고, union 에 대해서는 자동 분배 (distributive…
- [TypeScript] Declaration Files (.d.ts) ← 4
- 정의 Declaration File ( ) 은 타입 정보만 담은 파일입니다. 실행 코드 없이 함수, 클래스, 변수, 모듈의 타입 시그니처 만 선언합니다. JavaScript 라이…
- [TypeScript] Decorators ← 10
- 정의 Decorator 는 class, method, accessor, property, parameter 에 부착되는 함수로 그 대상을 검사/수정할 수 있습니다. TypeScr…
- [TypeScript] Enums ← 3
- 정의 Enum 은 여러 관련 상수를 하나의 이름 아래 그룹화하는 TypeScript 기능입니다. Numeric enum, string enum, const enum, hetero…
- [TypeScript] Generics ← 13
- 정의 Generics 는 타입을 파라미터화하는 문법입니다. 함수, 클래스, 인터페이스, type alias 가 재사용 가능 하면서도 타입 안전 하도록 만듭니다. Java 의 ge…
- [TypeScript] Interfaces ← 9
- 정의 Interface 는 객체의 shape (형태) 을 정의하는 TypeScript 문법입니다. 필드, 메서드, 인덱스 시그니처, 호출 시그니처를 선언하며, 로 상속하고 dec…
- [TypeScript] Mapped Types ← 7
- 정의 Mapped Type 은 기존 타입의 각 필드를 순회 ( ) 하며 새 타입을 생성하는 문법입니다. , modifier 를 붙이거나 제거 ( , ) 하고, clause 로 키…
- [TypeScript] Modules (import/export, moduleResolution) ← 8
- 정의 TypeScript 모듈 시스템은 ES Modules (ESM) 를 기본 언어 모델로 삼되, CommonJS (CJS) 를 상호운용성 (interop) 계층으로 지원합니다.…
- [TypeScript] Primitive Types ← 6
- 정의 Primitive Types 는 TypeScript 의 가장 기본 타입 계열입니다. JavaScript 의 7가지 primitive 값 + 특수 타입 (void, never…
- [TypeScript] Strict Mode & tsconfig ← 10
- 정의 Strict Mode 는 여러 엄격한 타입 검사 플래그를 한 번에 켜는 옵션 ( ) 입니다. 강력한 타입 안전성을 제공하지만, 기존 코드베이스에는 대량의 오류를 발생시킬 수…
- [TypeScript] Template Literal Types ← 5
- 정의 Template Literal Type 은 TypeScript 4.1 에서 도입된 문법으로, JavaScript template literal 처럼 백틱과 를 이용해 타입 …
- [TypeScript] Type Aliases ← 10
- 정의 Type Alias 는 타입에 이름을 붙이는 TypeScript 문법 ( ). Interface 는 객체 shape 만 표현하지만, type alias 는 모든 타입 표현식…
- [TypeScript] Type Narrowing (Type Guards) ← 12
- 정의 Type Narrowing 은 TypeScript 컴파일러가 제어 흐름 분석 (control flow analysis) 을 통해 특정 위치에서 값의 타입을 더 좁게 추론하는…
- [TypeScript] Union & Intersection Types ← 8
- 정의 - Union Type ( ): A 이거나 B (또는 둘 다) 인 값 - Intersection Type ( ): A 이면서 B 인 값 두 조합은 TypeScript 의 타…
- [TypeScript] Utility Types ← 8
- 정의 Utility Types 는 TypeScript 표준 라이브러리에 포함된 미리 정의된 generic 타입 들입니다. 기존 타입을 변형/구성하는 흔한 패턴을 제공하며, map…
- TypeScript ← 25
- 정의 TypeScript 는 Microsoft 가 2012년 발표한 JavaScript 의 상위 집합 프로그래밍 언어입니다. 정적 타입 시스템, 인터페이스, 제네릭, enum, …
ai (14)
- [LLM Eval] BIG-Bench (Beyond the Imitation Game) ← 4
- 정의 BIG-Bench (Beyond the Imitation Game Benchmark) 는 2022년 Google + 132개 기관 442명의 공저로 발표된 대형 언어 모델 …
- [LLM Eval] HELM: Holistic Evaluation of Language Models ← 19
- 정의 HELM (Holistic Evaluation of Language Models) 는 Stanford CRFM (Center for Research on Foundation…
- [Prompting] Chain-of-Thought (CoT) ← 6
- 정의 Chain-of-Thought (CoT) prompting 은 대형 언어 모델이 최종 답을 내기 전에 중간 추론 단계를 자연어로 생성하도록 유도 하는 프롬프팅 기법입니다. …
- [Prompting] Few-Shot Prompting ← 5
- 정의 Few-shot prompting 은 프롬프트 안에 작업의 입력-출력 예시 K개 (보통 K = 216) 를 함께 제공해 모델이 그 형식과 규칙을 유추해 새 입력에 답하도록 …
- [Prompting] One-Shot Prompting ← 4
- 정의 One-shot prompting 은 프롬프트에 정확히 1개의 입력-출력 예시 를 함께 제공하는 프롬프팅입니다. K=1 인 few-shot 의 특수 케이스이자 zero-sh…
- [Prompting] Zero-Shot Prompting ← 4
- 정의 Zero-shot prompting 은 프롬프트에 예시 없이 태스크 지시문만 제공해 모델이 태스크를 수행하도록 하는 기법입니다. K=0 few-shot 이지만 의미가 다르며…
- [Voice AI] 음성 에이전트 아키텍처: Cascading / Streaming / S2S + Latency Budget ← 16
- 정의 실시간 음성 AI 의 3가지 패턴. 각자 지연 vs 유연성 vs 비용 트레이드오프. 3 패턴 비교 | | Cascading | Streaming | S2S | |---|--…
- [Voice AI] 음성 우선 프롬프트 + Function Calling + Structured Output ← 3
- 음성 우선 프롬프트 설계 음성 답변 = 귀로 듣는다. 텍스트 답변과 완전 다르게 짜야 한다. 음성 프롬프트의 핵심 원칙 | 원칙 | 의미 | |---|---| | 짧게 | 한 답…
- [Voice AI] Agent 패턴: Supervisor, Handoff, ReAct, HITL ← 10
- 정의 복잡한 음성 에이전트 = 여러 sub-agent + 조정 패턴. 단일 LLM 으로 처리하기 어려운 흐름. [!IMPORTANT] 각 sub-agent 내부는 VAD → ST…
- [Voice AI] LLM Serving: vLLM, PagedAttention, continuous batching ← 5
- 정의 LLM Serving = 자체 호스팅 LLM 을 낮은 TTFT + 높은 throughput 으로 제공. 음성 에이전트의 LLM 단계 지연 결정. | 도구 | 특징 | |--…
- [Voice AI] Pipecat vs LiveKit Agents: 프레임워크 비교 ← 4
- 정의 2026 시점 voice agent 프레임워크 4가지 선택지: | | Pipecat | LiveKit Agents | Vapi / Retell | 자체 구축 | |---|-…
- [Voice AI] Voice RAG: 지연 병목 + 예측적 프리페치 ← 3
- 정의 Voice RAG = 음성 에이전트에 RAG (Retrieval-Augmented Generation) 결합. 벡터 DB 조회 가 지연 누적 의 큰 원인이 되므로 예측적 프…
- Function Calling / Tool Use: LLM 도구 사용 ← 8
- 정의 Function Calling (또는 Tool Use) 은 LLM 이 사전 정의된 함수/도구를 호출하기 위한 인자를 JSON 으로 생성 하는 기능. JSON Schema 로…
- LLM RAG: Retrieval-Augmented Generation ← 11
- 정의 RAG (Retrieval-Augmented Generation) 는 LLM 생성 전에 외부 지식 베이스에서 관련 문서를 검색 하여 프롬프트에 삽입하는 패턴. 최신 정보, …
concurrency (14)
- [Concurrency] Backpressure: 흐름 제어로 시스템 보호 ← 8
- 정의 Backpressure = 생산자가 소비자 속도에 맞춰 자기 속도 조절. 분산 시스템의 cascade failure 방지. [!IMPORTANT] Backpressure 의…
- [Concurrency] Circuit Breaker: cascade failure 방어 ← 10
- 정의 Circuit Breaker = 전기 회로의 차단기처럼, 백엔드 다운 / 느림 시 호출 자체를 차단 → 빠른 실패 + 백엔드 회복 시간. 와 함께 cascade failur…
- [Concurrency] Connection Pool: DB, HTTP, gRPC 의 공통 패턴 ← 3
- 정의 Connection Pool = 연결을 미리 만들어 두고 재사용. 매 요청마다 TCP + TLS + auth 비용을 회피. Pool 의 동작 = producer (reque…
- [Concurrency] Rate Limiting: token bucket, sliding window ← 8
- 정의 Rate Limiting = 시간당 요청 수 제한. API 보호, fair use, 비용 제어, DDoS 완화. 5가지 알고리즘 1. Fixed Window - 단순. - …
- [Concurrency] Retry + Exponential Backoff + Jitter ← 6
- 정의 Retry with Exponential Backoff + Jitter = 실패 시 점점 긴 간격으로 재시도, 랜덤 분산. 분산 시스템의 thundering herd / r…
- Asynchronous (비동기) ← 4
- 정의 Asynchronous (비동기) 는 호출자가 결과를 즉시 기다리지 않고 다음 줄로 진행하는 실행 모델. 결과는 나중에 콜백, Future, Promise, 이벤트 등의 메…
- Blocking (블로킹) ← 10
- 정의 Blocking 은 호출이 결과가 준비될 때까지 호출 스레드를 멈춰두는 실행 방식. 멈춰 있는 동안 그 스레드는 다른 일을 할 수 없다. OS 가 스레드를 sleep 상태로…
- Non-Blocking (논블로킹) ← 9
- 정의 Non-Blocking 은 호출이 결과를 기다리지 않고 즉시 반환 하는 실행 방식. 결과가 준비되지 않았다면 "아직 안 됐다" 라는 신호 ( , , , 등) 를 반환하고, …
- Pub/Sub Bus ← 4
- 정의 Pub/Sub Bus (Publish-Subscribe bus)는 메시지 송신자(publisher)와 수신자(subscriber)가 서로를 모르고도 통신할 수 있게 해주는 …
- Stateful ← 5
- 정의 Stateful (상태유지) 서버는 클라이언트와의 세션·연결 컨텍스트를 메모리에 유지한다. 후속 요청·이벤트는 이 컨텍스트를 활용해 처리된다. 같은 클라이언트의 요청은 같은…
- Stateless ← 5
- 정의 Stateless (무상태) 서버는 클라이언트의 요청 간 상태를 기억하지 않는다. 각 요청은 완전히 독립적이며, 처리에 필요한 모든 정보는 요청 자체에 담겨 있어야 한다. …
- Stateless vs Stateful ← 2
- 정의 Stateless (무상태): 서버가 클라이언트 요청 간 상태를 기억하지 않음. 각 요청은 완전히 독립적이며 필요한 모든 정보는 요청에 담겨 있다. Stateful (상태유…
- Sticky Session ← 10
- 정의 Sticky Session (= Session Affinity)은 로드밸런서가 같은 클라이언트의 요청을 항상 같은 백엔드 서버로 라우팅하도록 하는 동작이다. 서버, 즉 세션…
- Synchronous (동기) ← 5
- 정의 Synchronous (동기) 는 호출자가 결과가 나올 때까지 기다리는 실행 모델. 함수를 호출한 코드는 그 함수가 반환할 때까지 다음 줄로 진행하지 않는다. 이 정의는 J…
search (12)
- [Search] ElasticSearch 기본 원리: Inverted Index, Segment, Lucene ← 5
- 정의 ES 의 모든 동작 은 Lucene 의 inverted index 위에 얹혀있다. 문서 단위 저장 + term 단위 검색 의 분리. Inverted Index (역색인) 위…
- [Search] Elasticsearch vs OpenSearch: 라이센스 분기와 차이 ← 1
- 정의 OpenSearch = AWS 가 2021 년 Elasticsearch 7.10 에서 fork 한 Apache 2.0 라이센스 search engine. Kibana → O…
- [Search] ElasticSearch: Lucene 위 분산 검색 엔진 ← 3
- 정의 ElasticSearch = Apache Lucene 위의 분산 RESTful 검색/분석 엔진. 2010 출시. Logstash + Kibana + Beats 와 함께 El…
- [Search] ES 인프라: cluster, shard, replica, ELK ← 2
- 정의 ES 는 분산 시스템. cluster + multiple nodes + shards + replicas + Elastic Stack 보조 도구. Cluster 구조 Node…
- [Search] ES 한글 인덱싱: nori, mecab, 형태소 분석 ← 3
- 정의 한국어 는 교착어 + 띄어쓰기 모호 + 형태소 변화 때문에 공백 단순 분리 로는 검색 불가. 형태소 분석 (morphological analysis) 필수. 한글이 어려운 …
- [Search] ES Aggregations: metric, bucket, pipeline ← 5
- 정의 Aggregations (aggs) = ES 의 집계 분석. SQL 의 GROUP BY + 함수 + window. 검색 결과 또는 전체 위에서. 3가지 카테고리 Metric…
- [Search] ES Indexing: bulk, refresh, ingest pipeline ← 4
- 정의 Indexing = JSON 문서를 역색인에 등록 하는 행위. Lucene segment 빌드 + refresh + flush 의 흐름. Lucene Segment 생명주기…
- [Search] ES Mapping: field type, dynamic, multi-field ← 7
- 정의 Mapping = ES 의 schema. 각 필드의 type + analyzer + indexing 옵션. 대부분 immutable (재인덱싱 필요). Field Type …
- [Search] ES Query: must / should / filter / must_not ← 7
- 정의 ES 의 Query DSL = JSON 기반 표현력 풍부한 쿼리 언어. bool query + leaf query 의 조합. bool query: 4가지 절 | 절 | AN…
- [Search] ES Relevance Scoring: BM25, TF-IDF, function_score ← 5
- 정의 Relevance Score ( ) = 쿼리와 문서의 매칭 강도. ES 7+ 의 기본은 BM25 (TF-IDF 의 발전형). BM25 공식 | 부분 | 의미 | |---|-…
- [Search] ES Sort: relevance, field, script, geo ← 3
- 정의 ES 의 기본 정렬 = relevance score (BM25) 내림차순. 명시적 sort 로 변경 가능. docvalues 로 메모리 효율적 정렬. 5가지 정렬 1. Fi…
- [Search] ES Vector Search: kNN, ELSER, RAG ← 5
- 정의 ES 의 벡터 검색 = 임베딩 기반 의미 검색. kNN (Approximate Nearest Neighbor) 으로 수억 벡터 안에서 가까운 K개 찾기. 2026 시점의 E…
fastapi (10)
- [FastAPI] Async / Sync Endpoints ← 7
- 정의 FastAPI 는 ASGI 프레임워크 이므로 endpoint 를 로 정의해 이벤트 루프에서 실행하거나, 로 정의해 스레드풀에서 실행할 수 있습니다. 어느 쪽을 선택하는지가 …
- [FastAPI] Background Tasks ← 3
- 정의 FastAPI 에서 응답 반환 후 실행하는 짧은 작업 은 , 장기/신뢰성 있는 작업 은 외부 task queue (Celery, Arq, RQ) 로 오프로드합니다. 두 카테…
- [FastAPI] Dependency Injection ← 9
- 정의 FastAPI Dependency Injection 은 로 함수를 endpoint 에 자동 주입하는 시스템입니다. DB 세션, 인증 사용자, 설정, 서비스 계층 등을 end…
- [FastAPI] Deployment (Uvicorn, Gunicorn, Docker) ← 6
- 정의 FastAPI 배포는 ASGI 서버 (Uvicorn) + 프로세스 관리자 (Gunicorn 또는 Uvicorn 자체) + 컨테이너 (Docker) + 오케스트레이터 (Kub…
- [FastAPI] Middleware ← 11
- 정의 FastAPI Middleware 는 모든 요청과 응답을 가로채 로깅, 인증, 압축, CORS 등 공통 처리를 하는 계층입니다. Starlette 의 ASGI middlew…
- [FastAPI] Pydantic Integration ← 7
- 정의 FastAPI + Pydantic 은 요청/응답의 타입 검증, 직렬화, JSON Schema 생성 을 위한 통합입니다. Pydantic v2 는 Rust 코어 ( ) 로 v…
- [FastAPI] Routing (Path Operations) ← 10
- 정의 FastAPI Routing 은 HTTP method + URL 을 Python 함수 (path operation) 에 매핑하는 시스템입니다. Starlette 의 라우팅 …
- [FastAPI] Testing ← 8
- 정의 FastAPI Testing 은 endpoint 를 실제 서버 없이 직접 호출해 응답을 검증하는 workflow 입니다. Starlette 의 (내부적으로 sync) 또는 …
- [FastAPI] WebSockets ← 3
- 정의 FastAPI WebSockets 는 Starlette 위에서 양방향 실시간 통신을 제공합니다. HTTP 대신 / 스킴을 쓰며, 한 연결 위에서 서버와 클라이언트가 자유롭게…
- [Python] FastAPI ← 13
- 정의 FastAPI 는 Python 3.8+ 을 위한 ASGI 기반 현대 웹/API 프레임워크 입니다. Sebastián Ramírez (tiangolo) 가 2018년 발표했고…
flask (10)
- [Flask] Application Factory Pattern ← 8
- 정의 Application Factory 는 Flask 앱 인스턴스를 함수 안에서 생성 하는 패턴입니다. 모듈 스코프에 를 두는 대신 함수를 정의해 반환합니다. 이 패턴은 사실상…
- [Flask] Blueprints ← 9
- 정의 Blueprint 는 Flask 앱을 여러 모듈로 나누는 표준 도구입니다. 라우트, 정적파일, 템플릿, before/after hook, error handler 를 그룹화…
- [Flask] Deployment (WSGI, Gunicorn, uWSGI, Docker) ← 5
- 정의 Flask 는 WSGI 앱. 프로덕션 배포는 WSGI 서버 (Gunicorn, uWSGI, gevent) + 리버스 프록시 (Nginx, ALB) + 컨테이너 (Docker…
- [Flask] Extensions (SQLAlchemy, Login, Migrate, WTF, ...) ← 7
- 정의 Flask Extension 은 코어에 없는 기능 (DB, 인증, 마이그레이션, 캐시 등) 을 표준 인터페이스로 통합하는 서드파티 패키지입니다. 패턴이 관용이며, appli…
- [Flask] Request & Response ← 7
- 정의 Flask Request/Response 는 Werkzeug 의 / 래퍼를 확장한 것입니다. Thread-local 프록시 로 뷰 함수 어디서든 현재 요청에 접근하고, re…
- [Flask] Routing (URL Rules, Converters, url_for) ← 5
- 정의 Flask Routing 은 Werkzeug 의 시스템에 기반한 URL 매핑입니다. 데코레이터 ( , , ...) 로 URL 패턴을 뷰 함수에 연결하고, converter …
- [Flask] Sessions & Cookies ← 5
- 정의 Flask Session 은 요청 간 상태를 유지하는 방법입니다. 기본 구현은 서명된 쿠키 (secure cookie) 로 클라이언트에 저장 (server-less). ex…
- [Flask] Templates (Jinja2) ← 5
- 정의 Flask Templates 는 Jinja2 템플릿 엔진의 Flask 통합입니다. 로 컨텍스트 (변수) 를 넘겨 HTML/텍스트를 렌더링하고, template inherit…
- [Flask] Testing ← 7
- 정의 Flask Testing 은 앱 인스턴스를 직접 감싸 HTTP 요청을 시뮬레이션하는 workflow 입니다. (Werkzeug) 로 라우팅/뷰/미들웨어까지 실제 실행하고 응…
- [Python] Flask ← 11
- 정의 Flask 는 Armin Ronacher 가 2010년 발표한 WSGI 기반 Python 마이크로프레임워크 입니다. Pallets Projects 가 유지관리하고, 2026…
sql (10)
- [SQL] Data Types ← 7
- 정의 SQL 의 컬럼은 타입 을 가진다. 가능한 값의 도메인, 가능한 연산, 정렬 순서, 인덱스 종류, 저장 크기가 타입에 따라 결정된다. 같은 의미의 타입도 dialect 마다…
- [SQL] DCL TCL ← 6
- 정의 - DCL (Data Control Language): 권한. , . - TCL (Transaction Control Language): 트랜잭션 경계. , , , . 같이…
- [SQL] DDL ← 6
- 정의 DDL (Data Definition Language) 은 스키마를 정의/변경/제거 하는 SQL 의 하위 집합. 대상은 테이블, 인덱스, 뷰, 시퀀스, 스키마, 도메인 등.…
- [SQL] DML ← 8
- 정의 DML (Data Manipulation Language) 은 데이터 자체를 조회/삽입/수정/삭제 하는 SQL 의 하위 집합. 일상 쿼리의 99% 가 여기에 속한다. | 명…
- [SQL] GROUP BY ← 6
- 정의 는 데이터를 키별로 그룹으로 나누고 각 그룹에 집계 함수 (aggregate) 를 적용해 그룹당 한 행으로 줄이는 연산. SQL 의 split-apply-combine. 와…
- [SQL] JOIN ← 5
- 정의 JOIN 은 두 개 이상의 테이블을 공통 컬럼 (보통 키) 으로 결합해 한 결과셋으로 만드는 연산. SQL 의 관계 모델 핵심. 종류는 5 가지: , , , , . 같은 테…
- MySQL ← 2
- 정의 MySQL 은 1995 년 MySQL AB (스웨덴) 가 만들어 2008 년 Sun → 2010 년 Oracle 로 인수된 오픈소스 RDBMS. GPL + 상용 듀얼 라이선…
- PostgreSQL ← 2
- 정의 PostgreSQL 은 1986 년 UC Berkeley 의 POSTGRES 프로젝트에서 출발해 1996 년 SQL 지원 버전으로 오픈소스화된 객체-관계형 DBMS (ORD…
- Redis
- 정의 Redis (REmote DIctionary Server) = 인메모리 자료구조 서버. Salvatore Sanfilippo 가 2009 년 만들었고, 현재는 Redis L…
- SQL ← 8
- 정의 SQL (Structured Query Language) 은 관계형 데이터베이스 (RDBMS) 와 대화하기 위한 선언형 (declarative) 질의 언어. 1970 년 E…
devops (9)
- [CI/CD] GitHub Actions: workflow, action, runner ← 6
- 정의 GitHub Actions = GitHub 내장 CI/CD. YAML workflow + marketplace action. 2018 출시 → Travis CI 대체. 구조…
- [DevOps] 무중단 배포: Blue-Green, Canary, Rolling, Expand-Contract ← 15
- 정의 무중단 배포 (Zero-Downtime Deployment) 는 서비스 가동을 멈추지 않고 새 버전을 배포하는 일련의 전략. 핵심 도전 4가지: 1. 트래픽 전환: 어떻게 …
- [GitOps] 패턴: 단일 vs 다중 repo, environment promotion ← 4
- 정의 GitOps = Git 을 single source of truth 로 삼아 자동으로 인프라 + 앱 상태를 reconcile 하는 운영 방식. GitOps 4가지 원칙 (O…
- [GitOps] ArgoCD: Kubernetes GitOps ← 9
- 정의 ArgoCD = Kubernetes 의 GitOps 컨트롤러. Git 리포지토리의 manifest 가 source of truth → cluster 가 자동 동기화. Git…
- [Observability] OpenTelemetry: 표준화된 trace/metric/log ← 13
- 정의 OpenTelemetry (OTel) = observability 의 vendor-neutral 표준. CNCF. trace + metric + log 의 SDK + pro…
- [Observability] Prometheus: pull 기반 메트릭, PromQL ← 15
- 정의 Prometheus = pull 기반 시계열 metric 시스템. PromQL 로 쿼리. CNCF graduated. 2026 클라우드 네이티브 메트릭 표준. 아키텍처 Pu…
- [Observability] SLI / SLO / SLA / Error Budget ← 5
- 정의 | | 의미 | |---|---| | SLI (Indicator) | 측정 값 (예: 5xx 비율) | | SLO (Objective) | 목표 (예: 99.9% 가용성) …
- [Voice AI] P50/P95/P99: latency 분포와 SLO ← 6
- 정의 P50 / P95 / P99 = latency 분포의 분위수. 평균은 outlier 에 가려져 무의미. 음성 에이전트의 사용자 경험 은 p95/p99 가 결정. [!IMPO…
- Shell Script: bash 기본과 실전 패턴 ← 3
- 정의 Shell Script 는 shell (bash, zsh, sh) 커맨드를 파일로 저장하여 자동화하는 스크립트. DevOps, CI/CD, sysadmin 필수. 안전한 시…
voice (9)
- [Voice AI] Speech-to-Speech: OpenAI Realtime, Gemini Live, Moshi ← 2
- 정의 S2S (Speech-to-Speech) = STT → LLM → TTS 직렬 파이프라인 우회, 오디오 → 오디오 직접 처리. 톤/감정 보존 + < 300ms latency…
- [Voice AI] STT 모델: Whisper, Deepgram, AssemblyAI, CLOVA ← 3
- 정의 STT (Speech-to-Text) / ASR (Automatic Speech Recognition) = 음성 → 텍스트 변환. 2026 시점 전사 정확도 인간 수준, 실…
- [Voice AI] STT 스트리밍: partial vs final, endpointing, gRPC/WS ← 6
- 정의 스트리밍 STT = 오디오 청크 가 들어올 때마다 부분 결과 (partial) 를 즉시 반환 + 발화 종료 시 최종 결과 (final) 확정. [!IMPORTANT] 대화형…
- [Voice AI] TTS 모델: ElevenLabs, Cartesia, Edge TTS, 한국어 ← 4
- 정의 TTS (Text-to-Speech) = 텍스트 → 음성 합성. 2026 시점 사람과 구분 어려운 자연도 + < 200ms first audio + voice cloning…
- [Voice AI] TTS 스트리밍 + SSML: TTFB, sentence aggregation, 청킹 ← 6
- 정의 TTS 스트리밍 = 텍스트 일부만 받아도 즉시 합성 + 오디오 청크 단위 전송. TTFB (Time-to-First-Audio) 최소화 = 대화 자연스러움의 핵심. TTFB…
- [Voice AI] Turn Detection + Barge-in + AEC: 자연스러운 대화 ← 6
- 정의 자연스러운 음성 대화의 3 요소: 1. Turn Detection - 사용자가 말끝났는지 정확히 판단 2. Barge-in - 에이전트가 말하는 중에 사용자가 끼어들 수 있…
- [Voice AI] VAD: Silero, 에너지 기반, endpointing 임계값 ← 6
- 정의 VAD (Voice Activity Detection) = 오디오 스트림에서 음성 vs 비음성 (침묵, 노이즈) 구분. 음성 에이전트의 발화 시작 / 종료 감지에 필수. 종…
- [Voice] Neural TTS 내부: Tacotron, FastSpeech, VITS, HiFi-GAN
- 정의 Neural TTS 의 진화: 2단계 (acoustic + vocoder) → end-to-end. 2026 시점 VITS 계열 + Flow matching 이 상용 표준.…
- [Voice] Whisper 내부: encoder-decoder, log-mel, tokenizer ← 1
- 정의 Whisper = OpenAI 의 encoder-decoder Transformer STT. 680K 시간 다국어 supervised training. 2022 공개, 20…
discrete-math (8)
- 그래프 이론 기초 (Graph Theory) ← 11
- 정의 그래프 (Graph) $G = (V, E)$ 는 정점 (vertex) 의 집합 $V$ 와 간선 (edge) 의 집합 $E$ 로 이루어진 이산 구조입니다. 간선은 정점의 쌍 …
- 명제 논리 (Propositional Logic) ← 4
- 정의 명제 (Proposition) 는 참 (T) 또는 거짓 (F) 값을 가지는 서술문입니다. 참/거짓을 판단할 수 없는 문장 (질문, 명령, 감탄) 은 명제가 아닙니다. 예 (…
- 부울 대수 (Boolean Algebra) ← 3
- 정의 부울 대수 (Boolean Algebra) 는 두 값 (참/거짓, 1/0) 과 세 연산 (AND, OR, NOT) 을 다루는 대수 시스템입니다. 1854년 George Bo…
- 이산수학 (Discrete Mathematics) ← 12
- 정의 이산수학 (Discrete Mathematics) 은 이산 (discrete, 셀 수 있는) 대상을 다루는 수학의 분야입니다. 연속 (continuous) 대상 을 다루는 …
- 점화식 (Recurrence Relations) ← 3
- 정의 점화식 (Recurrence Relation) 은 수열 $(an)$ 의 $n$ 번째 항을 앞선 항 (또는 몇 개) 로 표현하는 관계식입니다. 초기 조건 과 점화식이 함께 있…
- 조합론 기초 (Combinatorics) ← 9
- 정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세거나 배열하는 방법을 다루는 수학 분야입니다. "경우의 수 계산" 과 "구조의 존재/구성" 이 핵심 주제. 컴퓨…
- 증명 기법 (Proof Techniques) ← 6
- 정의 증명 (proof) 은 명제가 참임을 논리적으로 확립하는 절차입니다. 컴퓨터 과학에서는 알고리즘 정확성, 자료구조 불변식, 암호 안전성, 형식 검증 등에 필수. 이 문서는 …
- 집합, 관계, 함수 (Sets, Relations, Functions) ← 6
- 정의 - 집합 (set): 서로 다른 원소들의 모음 - 관계 (relation): 두 집합 사이의 원소들의 대응 규칙 - 함수 (function): 정의역의 각 원소를 치역의 유…
plt (8)
- [PLT] Abstract Syntax Tree (AST) ← 7
- 정의 Abstract Syntax Tree (AST, 추상 구문 트리) 는 프로그램의 문법 구조를 트리로 표현 한 자료구조입니다. 파서의 출력물이자, 이후 컴파일러/인터프리터의 …
- [PLT] Interpreter vs Compiler ← 4
- 정의 프로그래밍 언어의 실행 모델 두 접근: - Compiler (컴파일러): 소스 → 목표 코드 (기계어, 바이트코드) 로 변환. 실행은 나중. - Interpreter (인터…
- [PLT] IR, 최적화, 코드 생성 (Compiler Backend) ← 4
- 정의 컴파일러의 백엔드 는 semantic 분석까지 마친 AST 를 실제 실행 가능한 목표 코드로 변환합니다. 세 주요 단계: 1. IR (Intermediate Represen…
- [PLT] Lexical Analysis (어휘 분석) ← 5
- 정의 어휘 분석 (Lexical Analysis) 은 소스 코드 문자 시퀀스 를 의미 있는 최소 단위인 토큰 (Token) 으로 분해하는 과정입니다. 담당 컴포넌트를 Lexer …
- [PLT] Parsing & Grammars ← 5
- 정의 Parsing (구문 분석) 은 lexer 의 토큰 스트림 을 언어의 문법 규칙 에 따라 구조화된 트리 (AST, Abstract Syntax Tree) 로 조립하는 과정입…
- [PLT] Semantic Analysis (의미 분석) ← 6
- 정의 Semantic Analysis (의미 분석) 는 파서가 생성한 AST 를 검사하여 문법적으로 올바르지만 의미상 오류인 경우 를 발견하고, 각 이름 (identifier) …
- [PLT] Type Systems (타입 시스템) ← 4
- 정의 타입 시스템 (Type System) 은 프로그램의 값과 표현식에 타입 (type) 을 부여하고, 이 타입들이 규칙에 맞게 결합되는지 검증하는 형식 체계입니다. 타입 = 값…
- 프로그래밍 언어론 (Programming Language Theory) ← 7
- 정의 프로그래밍 언어론 (Programming Language Theory, PLT) 은 프로그래밍 언어를 어떻게 설계하고, 정의하고, 처리하는가 를 다루는 컴퓨터 과학 분야입니…
virtualization (8)
- [Container] cgroups + namespaces: 컨테이너의 두 기둥 ← 7
- 정의 컨테이너 = namespaces + cgroups + 파일시스템 (overlay). VM 이 아니라 host 의 프로세스 + 격리. VM 은 hypervisor + 별도 커…
- [Container] Docker: image, layer, registry ← 11
- 정의 Docker = 컨테이너 빌드 + 실행 + 배포 의 표준 도구. 2013 출시 → 컨테이너 시대 의 시작. 현재는 OCI 표준 으로 진화 ( , , 등 호환). 컨테이너 런…
- [Container] Image Best Practices: 작게, 안전하게 ← 11
- 정의 컨테이너 image best practices = 작고 (small), 안전하고 (secure), 재현 가능하고 (reproducible), 서명된 (signed) imag…
- 가상화 (Virtualization): 하드웨어, OS, 컨테이너 계층 전체 정리 ← 4
- 정의 가상화 (Virtualization) 는 물리 자원 (CPU, RAM, 디스크, NIC) 을 소프트웨어 계층으로 감싸 여러 논리 인스턴스로 분할 하거나 하나로 통합 하는 기…
- Hypervisor: Type 1 (bare metal) vs Type 2 (hosted) ← 3
- 정의 Hypervisor (Virtual Machine Monitor, VMM) 는 여러 VM 을 한 물리 머신 위에서 실행하도록 하드웨어를 가상화하는 소프트웨어입니다. CPU …
- LXC / LXD: System Containers, Docker 이전의 컨테이너 ← 2
- 정의 LXC (Linux Containers) 는 Linux 커널의 namespaces + cgroups 를 이용해 완전한 리눅스 시스템 (init, 서비스, 파일시스템) 을 컨…
- Virtual Machine (VM): guest OS, 스냅샷, 마이그레이션 ← 3
- 정의 Virtual Machine (VM) 은 hypervisor 위에 실행되는 완전한 가상 컴퓨터 입니다. 가상 CPU (vCPU), 가상 메모리 (vRAM), 가상 디스크, …
- VM vs Container: 층 구조, 성능, 격리 완벽 비교 ← 5
- 정의 VM 과 Container 는 같은 문제 (하나의 물리 서버에 여러 워크로드 격리) 를 다른 방식으로 푸는 두 접근 입니다. VM 은 하드웨어를 가상화하고, Containe…
auth-security (7)
- [Auth] CSRF: 위조 요청 공격과 방어 ← 5
- 정의 CSRF (Cross-Site Request Forgery) 는 사용자가 로그인된 상태 에서 공격자가 만든 페이지 가 피해자 브라우저로 위조 요청 을 보내는 공격. 쿠키 기…
- [Auth] JWT: 구조, 서명, 만료, refresh token ← 10
- 정의 JWT (JSON Web Token) (RFC 7519) 은 base64url 인코딩된 JSON + 서명 형태의 self-contained token. 서버가 세션 저장 없…
- [Auth] mTLS (Mutual TLS): 양방향 인증서 인증 ← 6
- 정의 mTLS (Mutual TLS) 는 서버뿐 아니라 클라이언트도 TLS 인증서로 자기 신분 증명. 일반 TLS = 서버 인증만, mTLS = 양방향. 활용: 서비스 메시 (I…
- [Auth] OAuth 2.0 / 2.1: Authorization Code + PKCE ← 9
- 정의 OAuth 2.0 (RFC 6749, 2012) 은 제3자 앱이 사용자 동의로 자원에 접근 하게 하는 권한 위임 프레임워크. 인증 (authentication) 이 아니라 …
- [Auth] OpenID Connect (OIDC): OAuth 위의 인증 레이어 ← 4
- 정의 OpenID Connect (OIDC) 는 OAuth 2.0 위에 얹은 인증 (authentication) 표준. OAuth 가 권한 위임 (authorization), O…
- [Auth] SAML 2.0: XML 기반 기업 SSO ← 3
- 정의 SAML 2.0 (Security Assertion Markup Language) 는 XML 기반 기업 SSO 표준. 2005년 OASIS 표준화. 모바일 친화도 / 단순성…
- [Auth] Session Cookie: HttpOnly, SameSite, Secure flag ← 7
- 정의 Session Cookie 는 서버가 발급한 임의 ID 를 쿠키에 보관. 매 요청 자동 첨부. 서버 측 세션 store (Redis, DB) 와 짝. [!IMPORTANT]…
api-design (5)
- [API Design] API Versioning: URL / Header / Date 비교 ← 3
- 정의 API Versioning 은 breaking change 를 클라이언트에 강요 없이 호환성을 유지하는 전략. 잘못 잡으면 모든 클라이언트 동시 마이그레이션 강요. 무엇이 …
- [API Design] GraphQL: 단일 endpoint, N+1, persisted queries ← 5
- 정의 GraphQL (Facebook, 2015) 은 클라이언트가 필요한 필드만 명시 하는 query language + 런타임. 단일 endpoint, typed schema,…
- [API Design] JSON-RPC vs gRPC vs REST: RPC 패턴 비교 ← 1
- 정의 RPC (Remote Procedure Call) = 원격 함수 호출 추상화. 세 가지 주요 형태: 1. JSON-RPC: JSON 위 RPC. 가벼움. 2. gRPC: P…
- [API Design] OpenAPI / Swagger: 스펙, 코드 생성, contract testing ← 3
- 정의 OpenAPI Specification (OAS) 은 REST API 를 기술하는 YAML/JSON 형식. 옛 이름 Swagger. 2017 부터 OpenAPI Initia…
- [API Design] REST API: 원칙, 자원 모델링, HATEOAS, 버전 관리 ← 10
- 정의 REST (Representational State Transfer) 는 Roy Fielding 의 2000년 박사논문에서 정립된 분산 시스템 아키텍처 스타일. HTTP 의…
일치하는 용어가 없습니다. 다른 검색어를 시도해보세요.