본문으로 건너뛰기
김신건의 로그

📚 용어 사전

모든 위키 페이지를 한곳에서 찾아보세요. 자모/알파벳으로 이동하거나 검색어로 필터할 수 있습니다.

총 930개의 용어

(15)

가상화 (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 ← 2
별칭: 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 ← 6
별칭: 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 ← 2
별칭: grid graph, 격자 그래프, grid bfs, grid dfs
정의 격자 그래프 (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 ← 6
별칭: higher-order function, higher order function, 고차함수
- 고차함수란 하나 이상의 함수를 인자로 받거나 반환하는 함수를 말합니다. - 일급 함수라는 특성을 활용해 실제로 함수를 다루는 연산을 수행하는 함수입니다. 즉, 아래 조건 중 …
구현 (Implementation) algorithm ← 1
별칭: implementation, 구현, 시뮬레이션, edge case
정의 구현 (Implementation) 은 PS 에서 알고리즘적 난이도는 낮지만 정확한 코딩이 필요한 문제 유형. 주로 시뮬레이션 (simulation), 조건 분기 (cond…
그래프 순회 (Graph Traversal) algorithm ← 4
별칭: graph traversal, 그래프 순회, 그래프 탐색, visit pattern
정의 그래프 순회 (Graph Traversal) 는 그래프 G=(V, E) 의 모든 정점 V 를 체계적으로 방문하는 알고리즘 패밀리. 대표 구현: 너비 우선 탐색 (BFS), …
그리디 (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 ← 6
별칭: geometry, 기하, 기하 알고리즘, computational geometry
정의 Computational Geometry 는 점, 선, 다각형 등 기하 객체를 컴퓨터로 처리하는 알고리즘 분야. PS 에서는 2D 평면 위의 정수 좌표 가 주로 다루어지며,…
깊이 우선 탐색 (DFS) algorithm ← 21
별칭: DFS (Depth-First Search), DFS, depth-first search, 깊이 우선 탐색, depth-first
정의 깊이 우선 탐색 (Depth-First Search, DFS) 는 그래프 G=(V, E) 에서 갈 수 있는 만큼 깊이 들어가다가 막히면 백트래킹하는 알고리즘. 스택 (LIF…

(3)

너비 우선 탐색 (BFS) algorithm ← 18
별칭: 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 ← 14
별칭: prefix sum, 누적 합, 구간 합, prefix-sum
정의 누적 합 (Prefix Sum) 은 배열 에 대해 (또는 1-indexed ) 을 미리 계산해 두고, 임의 구간 합 을 O(1) 에 구하는 정형. 문제 풀이에서 "구간 N …

(13)

다각형 넓이 (Polygon Area) algorithm ← 3
별칭: Shoelace, polygon area, 다각형 넓이, shoelace formula, 신발끈 공식, polygon area
정의 다각형 넓이 (Polygon Area) 는 2D 평면 위 단순다각형 (non-self-intersecting polygon) 의 면적을 신발끈 공식 (Shoelace For…
다익스트라 알고리즘 (Dijkstra's Algorithm) algorithm ← 14
별칭: 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) 에 처리하는…
단절점 algorithm
별칭: articulation point
개요 단절점은 무향 연결 그래프에서 특정 정점과 그 정점에 연결된 모든 간선을 제거했을 때, 그래프의 연결 컴포넌트 수가 증가하는 정점을 의미합니다. 어렵게 느껴질 수 있지만, …
단절점 (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 ← 6
별칭: 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 ← 18
별칭: 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 ← 2
별칭: lazy propagation, 레이지 프로파게이션, 느긋한 전파, 구간 갱신, range update
정의 레이지 프로파게이션 (Lazy Propagation) 은 세그먼트 트리의 확장으로, 구간 갱신 (range update) 와 구간 쿼리 (range query) 를 모두 O…
로프 (Rope) algorithm
별칭: 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 ← 3
별칭: convex-hull-trick, Li-Chao Tree, li chao tree, 리차오 트리, 직선 세그먼트 트리
정의 리차오 트리 (Li Chao Tree) 는 평면 상의 직선 (또는 선분) 집합에서 특정 x좌표에서의 최댓값 (또는 최솟값) 을 O(log N) 에 구하는 자료구조. 세그먼트…

(10)

매개 변수 탐색 (Parametric Search) algorithm ← 1
별칭: 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 ← 1
별칭: merge sort tree, 머지 소트 트리, 정렬된 세그먼트 트리
정의 머지 소트 트리 (Merge Sort Tree) 는 세그먼트 트리의 각 노드에 해당 구간의 정렬된 부분 배열을 저장하는 자료구조. 구간 내에서 k 이하 원소의 개수, k번째…
모델 양자화 ml ← 4
별칭: Quantization, 양자화, Model Quantization, model quantization, quantization
정의 양자화 (Quantization) 는 신경망 모델의 가중치/활성화를 높은 정밀도 (FP32, FP16) 에서 낮은 정밀도 (INT8, INT4 등) 로 변환하여 메모리와 연…
모듈러 역원 (Modular Multiplicative Inverse) algorithm ← 13
별칭: 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 ← 1
별칭: calculus, 미적분, 미분, 적분, numerical integration, numerical differentiation
정의 미적분 (Calculus) 은 함수의 변화율(미분)과 누적량(적분)을 다루는 수학 분야. 알고리즘 문제에서는 수치 미분 (Numerical Differentiation) 과…
민코프스키 합 DP algorithm ← 2
별칭: 민코프스키 합 DP, Minkowski Sum DP
정의 민코프스키 합 (Minkowski Sum) 은 두 점 집합 , 의 합 . 두 볼록 다각형의 민코프스키 합은 각 변을 각도순으로 합친 새로운 볼록 다각형, O(|A| + |B…

(22)

방향 비순환 그래프 (DAG) algorithm ← 2
별칭: 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…
백트래킹 (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
별칭: 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 ← 14
별칭: 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) 들이 만드는 평면 점집합의…
분류 모델 지표: Confusion Matrix, Precision, Recall, F1 ml ← 6
별칭: 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 ← 3
별칭: Distributed Training, distributed training, 분산 훈련, model parallelism, tensor parallelism, pipeline parallelism, data parallelism
정의 분산 학습 (Distributed Training) 은 한 또는 에 들어가지 않는 큰 모델을 여러 가속기에 나눠서 학습시키는 기법. 현대 LLM (Llama 405B, GP…
분할 정복 (Divide and Conquer) algorithm ← 4
별칭: 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 ← 4
별칭: 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…

(19)

사칙연산 (Arithmetic Operations) algorithm ← 1
별칭: 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 ← 25
별칭: 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 ← 6
별칭: prime factorization, 소인수분해, 소인수 분해, prime-factorization
정의 소인수분해 (Prime Factorization) 는 양의 정수 N을 소수들의 곱으로 유일하게 나타내는 것. N = p₁^a₁ · p₂^a₂ · ... · pₖ^aₖ. 시행…
수치해석 (Numerical Analysis) algorithm ← 1
별칭: 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 ← 1
별칭: 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 ← 3
별칭: 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) 는 배열/문자열 위에서 고정 크기 또는 가변 크기 윈도우가 한 방향으로 미끄러지며 각 윈도우마다 조건 (합, 최댓값, 중복 여…
시뮬레이션 (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 쌍…

(23)

안정 결혼 문제 (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 ← 6
별칭: 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
별칭: 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 ← 6
별칭: euler tour, 오일러 투어, ETT, Euler Tour Technique
정의 오일러 투어 테크닉 (ETT, Euler Tour Technique) 은 트리를 DFS 방문 순서로 펼쳐 서브트리 쿼리를 구간 쿼리로 변환하는 정형. 각 노드 u 의 in-…
오일러 피 함수 (Euler's Totient Function) algorithm ← 3
별칭: 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 ← 7
별칭: Topological Sorting, topological sort, 위상 정렬, topological-sorting
정의 위상 정렬 (Topological Sorting) 은 방향 비순환 그래프 (DAG) 의 모든 정점을 간선 방향을 어기지 않도록 일렬로 나열하는 것. 간선 가 있으면 정렬 결…
유클리드 호제법 (Euclidean Algorithm) algorithm ← 8
별칭: euclidean algorithm, 유클리드 호제법, gcd, euclidean
정의 유클리드 호제법 (Euclidean Algorithm) 은 두 정수 a, b 의 최대공약수 (GCD, Greatest Common Divisor) 를 O(log min(a,…
이분 그래프 (Bipartite Graph) algorithm ← 4
별칭: 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 ← 11
별칭: binary search, 이분 탐색, 이진 탐색, binary-search
정의 이분 탐색 (Binary Search) 은 정렬된 시퀀스에서 목표값의 위치를 O(log N) 에 찾는 알고리즘. 매 단계에서 후보 구간을 절반으로 줄인다. 탐색이 본질이 아…
이산 로그 (Discrete Logarithm) algorithm ← 2
별칭: 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) 으로 지표화하여 이산 로…
이중 연결 요소 (BCC, Biconnected Component) algorithm ← 1
별칭: bcc, biconnected component, 이중 연결 요소, 단절점, 단절선, articulation point, bridge
정의 이중 연결 요소 (Biconnected Component, BCC) 는 무방향 그래프에서 정점 하나를 제거해도 연결성이 유지되는 최대 부분 그래프. 단절점 (articula…
일급 함수 javascript ← 7
별칭: first-class function, first class function, 일급함수
- 함수를 값처럼 다루어 변수에 담거나 다른 함수의 인자로 전달하거나 함수의 반환값으로 사용할 수 있는 함수. 일급 함수의 이러한 특성을 활용하여 를 구현할 수 있습니다. - 함…
임의 정밀도 / 큰 수 산술 (Arbitrary Precision) algorithm ← 2
별칭: arbitrary precision, big integer, 임의 정밀도, 큰 수 산술, arbitrary-precision
정의 임의 정밀도 (Arbitrary Precision) 또는 큰 수 산술 (Big Integer / Bignum) 은 고정된 바이트 한계(32-bit, 64-bit) 없이 메모…

(15)

자료구조 (Data Structures) algorithm ← 3
별칭: avl-tree, AVL Tree, data structures, 자료구조, 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
별칭: 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) 는 런타임 이전 또는 초기화 단계에서 필요한 값을 미리 계산해 두고, 본 쿼리/연산을 빠르게 처리하는 정형. 대표적으로 테이블 채우기,…
정규 표현식 (Regular Expression, Regex) algorithm ← 2
별칭: regex, regular expression, 정규 표현식, 정규식, NFA, DFA
정의 정규 표현식 (Regular Expression) 은 문자열 패턴을 형식 언어로 표현한 표기법. Stephen Kleene 이 1956년 정규 언어 (regular lang…
정렬 알고리즘 algorithm ← 16
별칭: sorting algorithm, 정렬 알고리즘, sort, sorting, 정렬
정의 정렬 (sort) 은 원소들의 컬렉션을 어떤 전순서 (total order) 기준으로 재배열하는 것. 알고리즘 입문의 정석 주제이자, 데이터베이스·검색·통계 등 모든 시스템…
정수론 (Number Theory) algorithm ← 4
별칭: number theory, 정수론, 수론
정의 정수론 (Number Theory) 은 정수의 성질과 관계를 연구하는 분야. PS 에서는 약수/배수, 소수 (prime), 모듈러 연산, 유클리드 호제법, 확장 유클리드, …
제곱근 분할 (Sqrt Decomposition) algorithm ← 3
별칭: sqrt decomposition, 제곱근 분할, sqrt-decomposition, 루트 분할
정의 제곱근 분할 (Sqrt Decomposition) 은 크기 N 배열을 √N 개씩 블록으로 나누고, 각 블록을 전처리해 구간 연산을 O(√N) 에 처리하는 자료구조 기법. 문…
조합론 (Combinatorics) algorithm ← 11
별칭: combinatorics, 조합론, 순열, 조합, 이항계수, nCr
정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세는 수학 분야. PS 에서는 주로 순열 (Permutation), 조합 (Combination), 이항계수 (B…
조화수 (Harmonic Number) algorithm
별칭: harmonic number, 조화수, H_n, harmonic series, harmonic-number
정의 조화수 (Harmonic Number) 은 자연수 n 에 대해 역수의 합 으로 정의. 점근적으로 (γ ≈ 0.5772, 오일러-마스케로니 상수). 정수론과 알고리즘 분석에서…
중국인의 나머지 정리 (Chinese Remainder Theorem) algorithm ← 9
별칭: CRT, 중국인의 나머지 정리, chinese remainder theorem, 중국인 나머지
정의 중국인의 나머지 정리 (CRT) 는 다음과 같은 연립 합동식의 해가 유일 하게 존재함을 보장: 단, m1, m2, ..., mk 는 쌍마다 서로소 (pairwise copr…
중심 분해 (Centroid Decomposition) algorithm ← 3
별칭: centroid decomposition, 중심 분해, centroid tree, 센트로이드 분해
정의 중심 분해 (Centroid Decomposition) 는 트리를 중심 으로 재귀적으로 분할하여 O(log N) 깊이의 분해 트리 를 만드는 기법. 각 레벨에서 트리 크기가…
집합과 맵 (Set and Map) algorithm ← 14
별칭: set, map, 집합, 맵, associative container
정의 집합 (Set) 은 고유한 원소들의 모임을 나타내는 추상 자료구조로, 멤버십 검사, 삽입, 삭제를 지원한다. 맵 (Map, Dictionary) 은 키-값 쌍을 저장하며, …

(13)

차분 배열 (Difference Array) algorithm ← 2
별칭: 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 ← 4
별칭: max-flow min-cut theorem, mfmc, 최대 유량 최소 컷, min-cut
정의 최대 유량 최소 컷 정리 (Max-Flow Min-Cut Theorem) 는 네트워크 유량 그래프 G = (V, E) 에서 source s 에서 sink t 로의 최대 유량…
최소 공통 조상 (Lowest Common Ancestor) algorithm ← 14
별칭: 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 ← 4
별칭: 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 ← 4
별칭: LIS, 최장 증가 부분 수열, longest increasing subsequence, lis
정의 최장 증가 부분 수열 (Longest Increasing Subsequence, LIS) 은 주어진 수열에서 순서를 유지하며 선택한 부분 수열 중 엄격히 증가하는 가장 긴 …
춤추는 링크 (Dancing Links, DLX) algorithm
별칭: dancing links, DLX, 춤추는 링크, dancing-links, toroidal linked list
정의 Dancing Links (DLX) 는 0-1 행렬을 doubly linked toroidal list 로 표현하는 자료구조. 각 1 을 하나의 노드로 두고, 노드들이 좌/…

(6)

카테시안 트리 (Cartesian Tree) algorithm
별칭: 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 ← 7
별칭: queue, 큐, FIFO, 원형 큐, circular queue
정의 큐 (Queue) 는 FIFO (First In, First Out) 순서로 원소를 관리하는 추상 자료구조입니다. (또는 ), (또는 ), 세 연산만 제공하며, 가장 먼저 …
크누스 최적화 (Knuth Optimization) algorithm ← 4
별칭: 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…

(10)

통계 (Statistics) algorithm
별칭: statistics, 통계, 평균, 중앙값, 분산, streaming statistics, 기술 통계
정의 통계 (Statistics) 는 데이터를 수집, 정리, 분석하는 학문. PS 에서는 주로 기술 통계 (Descriptive Statistics) 의 기본값들인 평균 (Mea…
트라이 (Trie, 접두사 트리) algorithm ← 7
별칭: trie, Trie, 접두사 트리, prefix tree
정의 트라이 (Trie) 는 Edward Fredkin 이 1960년 제안한 문자열 집합을 저장하는 트리 자료구조. 각 노드는 문자 하나, 간선은 다음 문자로의 전이. 루트에서 …
트리 (Trees) algorithm ← 5
별칭: tree, 트리, rooted tree, 루트 트리
정의 트리 (Tree) 는 사이클이 없는 연결 그래프 (acyclic connected graph). N 개 정점이면 정확히 N-1 개 간선. 임의의 두 정점 사이에 유일한 경로…
트리 동형 사상 (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
별칭: 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) 는 트리에서 가장 먼 두 노드 사이의 거리 (경로 길이). 가중치 없는 트리는 간선 개수, 가중치 트리는 간선 가중치 합. 대표 알…

(8)

파싱 (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 ← 6
별칭: 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 ← 1
별칭: inclusion-exclusion, 포함배제, 포함-배제, inclusion exclusion
정의 포함-배제 원리 (Inclusion-Exclusion Principle, PIE) 는 여러 집합의 합집합 크기를 교집합 항으로 표현하는 조합론 공식. 가장 간단한 형태: N…
플로이드-워셜 알고리즘 (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 ← 1
별칭: 순열과 조합, 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 ← 6
별칭: probability, 확률, 확률론, 조건부 확률, 베이즈 정리
정의 확률 (Probability) 은 사건이 발생할 가능성을 수치화한 값. 표본 공간 Ω 에 대해 P(A) = |A| / |Ω| (동일 확률), 또는 더 일반적으로는 σ-alg…
확장 유클리드 호제법 (Extended Euclidean Algorithm) algorithm ← 5
별칭: 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 ← 9
별칭: 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 ← 5
별칭: astro.build
개요 Astro 는 콘텐츠 중심 사이트를 위한 정적 사이트 생성기다. Islands Architecture로 필요한 부분만 hydration 하기 때문에 기본 페이지 로드가 빠르…
Asynchronous (비동기) concurrency ← 4
별칭: asynchronous, async, 비동기, 비동기식, 비동기 호출, asynchronous call
정의 Asynchronous (비동기) 는 호출자가 결과를 즉시 기다리지 않고 다음 줄로 진행하는 실행 모델. 결과는 나중에 콜백, Future, Promise, 이벤트 등의 메…
Atcoder algorithm ← 5
별칭: Atcoder
개요 Atcoder는 알고리즘 문제를 풀고 경진대회를 개최하는 웹 플랫폼입니다.

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 ← 5
별칭: Berlekamp-Massey, BM 알고리즘, 최소 다항식, Minimal Polynomial
정의 Berlekamp-Massey (BM) 알고리즘은 주어진 수열의 최단 선형 점화식 (minimal linear recurrence) 을 O(N²) 에 복원하는 알고리즘. 1…
Binary Lifting: 2의 지수 doubling algorithm ← 1
별칭: Binary Lifting, 이진 상승, sparse ancestor
정의 트리에서 정점의 2^k 조상 을 O(N log N) 전처리 후 O(log N) 쿼리로 답하는 기법. LCA, k-th ancestor 등에 사용. 전처리 LCA 쿼리 O(l…
Binary Search Tree (BST): 정렬된 이진 트리 algorithm ← 6
별칭: Binary Search Tree, BST, 이진 탐색 트리, binary-search-tree
정의 Binary Search Tree (BST) 는 각 노드가 다음을 만족하는 이진 트리입니다. - 왼쪽 서브트리의 모든 키 < 노드 키 - 오른쪽 서브트리의 모든 키 > 노드…
Birthday Problem (생일 문제) algorithm ← 1
별칭: birthday problem, birthday paradox, 생일 문제, 생일 역설, birthday attack
정의 생일 문제 (Birthday Problem) 는 N 개의 동등한 가능성이 있는 결과에서 무작위로 k 개를 선택할 때 적어도 하나의 충돌이 발생할 확률을 분석하는 문제. 충돌…
Bitset Optimization algorithm ← 6
별칭: Bitset Optimization, 비트셋 최적화
정의 Bitset Optimization 은 불리언 / 비트 단위 정보 를 또는 배열에 패킹해, 한 명령어로 64 비트씩 병렬 연산 함으로써 시간 복잡도를 /64 (또는 , w …
Blocking (블로킹) concurrency ← 16
별칭: blocking, block, 블로킹, 블락킹, blocking call, blocking I/O
정의 Blocking 은 호출이 결과가 준비될 때까지 호출 스레드를 멈춰두는 실행 방식. 멈춰 있는 동안 그 스레드는 다른 일을 할 수 없다. OS 가 스레드를 sleep 상태로…
BrainDB frameworks ← 2
별칭: braindb, @braindb/astro
개요 BrainDB 는 마크다운 콘텐츠를 데이터베이스처럼 다룰 수 있게 해주는 통합 라이브러리다. 제공하는 것 - 위키링크 자동 처리 ( ) - backlink 추출 - 콘텐츠 …
Branch and Bound: 분기 한정 algorithm ← 2
별칭: Branch and Bound, 분기 한정, B&B
정의 Branch and Bound (B&B) 는 완전 탐색을 하되, 상한/하한을 계산해 유망하지 않은 서브트리를 가지치기 하는 기법. 최적화 문제에 적용. 구성 요소 1. Br…
Brute Force: 완전 탐색 algorithm ← 2
별칭: Brute Force, 완전 탐색, brute force
정의 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 ← 1
별칭: Carmichael Function, 카마이클 함수, reduced totient
정의 Carmichael function λ(n) 은 gcd(a, n) = 1 인 모든 a 에 대해 a^m ≡ 1 (mod n) 을 만족하는 최소 양의 정수 m. 핵심 성질: 항…
Catalan Number: C_n algorithm ← 2
별칭: Catalan Number, 카탈란 수, 카탈란
정의 Catalan number: $$ Cn = \frac{1}{n+1} \binom{2n}{n} = \frac{(2n)!}{(n+1)! \, n!} $$ C0 = 1, C1 =…
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 ← 7
별칭: 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 점집합의 볼록 껍질: 모든 점을 포함하는 최소 볼록 다면체. 면 (face) 들이 삼각형으로 구성됨. Incremental Construction 한 번에 한 점씩 추…
Cycle Detection: 그래프 사이클 탐지 algorithm ← 3
별칭: Cycle Detection, 사이클 탐지, cycle finding
정의 그래프에 사이클이 존재하는가, 또는 어느 사이클인가 를 찾는 문제. 무향 그래프 Union-Find 접근 간선 (u, v) 삽입 시 이면 사이클. DFS 접근 부모가 아닌 …

D (13)

D3 frameworks ← 3
별칭: d3.js, d3-force
개요 D3.js 는 데이터 기반의 SVG / Canvas 시각화 라이브러리다. 이 블로그의 그래프 페이지는 D3 의 으로 노드를 배치한다. 사용한 force - , 노드 사이의 …
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 ← 1
별칭: 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 ← 4
별칭: Directed MST, Arborescence, Chu-Liu Edmonds, 최소 비용 신장 가지치기
정의 Directed MST (Arborescence) 는 유향 그래프와 루트 이 주어졌을 때, 에서 모든 정점으로 도달 가능 한 간선들의 최소 가중치 부분집합을 구하는 문제. …
Django django ← 2
별칭: 장고, django, Django
개요 Django는 2003년 시작된 Python 풀스택 웹 프레임워크. batteries-included (ORM, 관리자, 인증, 폼, 마이그레이션, 캐싱 등 기본 내장)과 …
Dominator Tree algorithm ← 3
별칭: Dominator Tree, 지배 트리, Dominators
정의 유향 그래프와 시작점 가 주어졌을 때, 정점 가 정점 를 dominate 한다는 것은 에서 로 가는 모든 경로가 반드시 를 지난다 는 뜻. Dominator Tree 는 모…
DP on Bitmask: 비트마스크 DP algorithm ← 2
별칭: DP on Bitmask, Bitfield DP, 비트마스크 DP
정의 부분집합 상태를 비트마스크로 인코딩 하여 DP 를 수행. 원소 수 N ≤ 20 정도에서 유효. 자세한 내용은 DP Bitfield 참조. 대표 예 TSP = 방문한 도시 m…
DP Optimization: CHT, D&C, Knuth, SMAWK algorithm ← 1
별칭: DP Optimization, DP 최적화, DP optimization tricks
정의 일반 DP 를 O(N²) 또는 O(N³) 에서 O(N log N) 또는 O(N) 으로 낮추는 여러 최적화 기법의 총칭입니다. 모두 특정 조건 (monotone, concav…
DTLS network ← 1
별칭: dtls, Datagram TLS, Datagram Transport Layer Security
정의 DTLS (Datagram Transport Layer Security)는 위에서 동작하는 의 변형. 데이터그램 (UDP 패킷) 기반 통신에 보안을 제공한다. 와 WebRT…
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 는 간선의 추가와 삭제 가 모두 일어나는 그래프에서 두 정점의 연결 여부를 유지하는 문제입니다. 삽입만 있는 경우 Union-Find …
Dynamic Segment Tree: 지연 노드 생성 algorithm ← 2
별칭: Dynamic Segtree, Dynamic Segment Tree, 동적 세그
정의 Dynamic Segment Tree 는 값 범위가 매우 크지만 실제 접근 위치가 희소할 때, 필요한 노드만 생성 하는 세그먼트 트리입니다. 공간: O(Q log V), Q…
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 ← 6
별칭: euler-totient, Euler Phi Function, Euler Totient Function, Euler's Totient, 오일러 파이, 오일러 토션
정의 Euler Phi Function φ(n) 은 1 이상 n 이하 정수 중 n 과 서로소인 정수의 개수. 기존 Euler Phi 위키 참조. 이 페이지는 alias 확장용 축…
Euler's Criterion: 이차잉여 판정 algorithm ← 1
별칭: Euler's Criterion, 이차잉여 판정, quadratic residue
정의 홀소수 p 에 대해 a 가 mod p 에서 이차잉여 (quadratic residue) 인지 판정: $$ a^{(p-1)/2} \equiv \begin{cases} 1 & …
Expected Value: 기댓값, Linearity algorithm ← 3
별칭: Expected Value, 기댓값, 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 ← 5
별칭: 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 ← 13
별칭: 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 ← 3
별칭: function-calling, function-calling-tool-use, function calling, tool use, tool calling
정의 Function Calling (또는 Tool Use) 은 LLM 이 정의된 함수/도구를 호출 인자를 생성 하는 기능. 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 (7)

General Graph Matching (Blossom Algorithm) algorithm ← 3
별칭: General Graph Matching, Blossom Algorithm, 일반 그래프 매칭, Edmonds Blossom
정의 General Graph Matching (Blossom Algorithm) 은 이분 그래프가 아닌 일반 무향 그래프 에서 최대 매칭 (최대 간선 집합 중 한 정점이 두 번…
Generating Function algorithm ← 11
별칭: 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 판정 세 가지의 조합으로 풀립니다. 벡터 2D 벡터: 두 점 $A = (ax, ay…
Golden-section Search: 단봉 함수 최적화 algorithm ← 2
별칭: Golden-section search, 황금 분할 탐색, 삼분 탐색
정의 단봉 (unimodal) 함수 위에서 최소/최대를 찾는 탐색. 이분 탐색을 단봉 함수용으로 확장. 삼분 탐색 (Ternary Search) 구간 [l, r] 을 세 등분하여…
GPU: 그래픽/ML 병렬 프로세서 ml ← 3
별칭: GPU, Graphics Processing Unit, CUDA, 그래픽 카드
정의 GPU (Graphics Processing Unit) 는 원래 그래픽 렌더링용이었지만, massively parallel 아키텍처가 딥러닝과 HPC 에도 이상적. NVID…
graph data-structure ← 3
개요
Graph DP: 트리/DAG 위 DP algorithm ← 6
별칭: Graph DP, 트리 DP, Tree DP, DAG DP
정의 Graph DP 는 그래프 구조를 이용한 DP. 사이클 없는 그래프 (트리, DAG) 에서 특히 자연스러움. Tree DP 루트 트리에서 자식 서브트리 결과를 조합. Rer…

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) 삽입/탐색/삭제를 제공합니다. 충돌 해결 Chaining 각 버킷에 연결 리스트/트리 저장. …
HBM ml ← 3
별칭: 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 ← 5
별칭: heap sort, heapsort, 힙 정렬, Heapsort
정의 Heap Sort (힙 정렬) 는 힙 (heap) 자료구조의 최댓값 / 최솟값을 O(log n) 에 추출 하는 성질을 이용한 정렬. In-place 이고 최악 O(n log…
Heavy-Light Decomposition algorithm ← 5
별칭: 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 ← 5
별칭: HPACK 헤더 압축, hpack
정의 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 은 Treap 에서 키 대신 서브트리 크기 (위치) 로 인덱싱하는 변형입니다. 배열의 삽입/삭제/이동/구간 반전 등을 O(log N) 에 지원합니…
Inclusion and Exclusion: 포함배제 원리 algorithm ← 1
별칭: Inclusion and Exclusion, Inclusion-Exclusion, 포함배제, 포함 배제
정의 $$ \left| \bigcup{i=1}^{n} Ai \right| = \sum \lvert Ai \rvert - \sum \lvert Ai \cap Aj \rvert + …
Insertion Sort algorithm ← 4
별칭: insertion sort, 삽입 정렬
정의 Insertion Sort (삽입 정렬) 는 한 번에 한 원소씩 이미 정렬된 부분에 올바른 위치를 찾아 삽입 하는 정렬. 카드 정리하듯이 한 장씩 적절한 자리에 끼워넣는 동…

J (1)

Johnson's Algorithm: sparse APSP algorithm ← 1
별칭: Johnson's Algorithm, 존슨 알고리즘
정의 Johnson's algorithm 은 sparse graph 의 all-pairs shortest paths 를 O(V·E log V + V²) 에 계산. Bellman-…

K (3)

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 행렬이 주어졌을 때 모든 열이 정확히 한 번씩 커버되도록 행의 부분 집합을 선택…

L (5)

LGV Theorem (Lindstrom-Gessel-Viennot) algorithm ← 2
별칭: 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 ← 2
별칭: 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. 전이확률 행렬 P: P[i][j] = P(다음 = j …
Matrix Exponentiation: 선형 점화식 fast algorithm ← 2
별칭: fast-power, Matrix Exponentiation, 행렬 거듭제곱, 행렬 지수
정의 선형 점화식을 행렬 곱으로 표현한 뒤, 행렬 거듭제곱을 log 시간에 계산하여 N 번째 항을 O(K³ log N) 에 얻는 기법. K = 상태 차원. Fibonacci 예 …
Matroid, Matroid Intersection algorithm ← 3
별칭: Matroid, Matroid Intersection, 매트로이드
정의 Matroid 는 독립 집합 (independent set) 의 추상 구조. 유한 집합 와 그 부분집합족 가 다음을 만족하면 matroid . PS 에서는 두 매트로이드의 …
Maximum Flow: Ford-Fulkerson, Edmonds-Karp, Dinic algorithm ← 9
별칭: 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) 에 유지하는 문제. 두 힙 트릭 - Max-heap : 아래 절반 - Min-heap : 위 절반 - 크기 차 <= 1 …
Merge Sort algorithm ← 10
별칭: merge sort, 병합 정렬, 머지 정렬, Merge
정의 Merge Sort (병합 정렬) 는 분할 정복 (Divide & Conquer) 으로 동작하는 비교 정렬. 배열을 반으로 나눠 각각 정렬한 뒤, 두 정렬된 부분을 병합 (…
Miller-Rabin 소수 판정 (Miller-Rabin Primality Test) algorithm ← 4
별칭: miller-rabin, 밀러-라빈, miller rabin, miller-rabin primality test, 확률적 소수 판정
정의 Miller-Rabin 소수 판정 은 N 이 소수인지 확률적/결정론적으로 판별하는 알고리즘. Fermat 작은 정리와 이차잉여 성질을 결합해 O(k log^3 N) 에 동작…
Minimum Vertex Cover: 최소 정점 덮개 algorithm ← 1
별칭: Minimum Vertex Cover, 정점 덮개, vertex cover
정의 Vertex Cover 는 그래프의 모든 간선이 최소 한 정점을 포함하도록 하는 정점 집합. 최소 크기의 vertex cover 를 찾는 문제. - 일반 그래프: NP-ha…
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 ← 4
별칭: 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). Bouton's T…
Non-Blocking (논블로킹) concurrency ← 14
별칭: non-blocking, nonblocking, non blocking, 논블로킹, 넌블로킹, non-blocking I/O, NIO, lock-free
정의 Non-Blocking 은 호출이 결과를 기다리지 않고 즉시 반환 하는 실행 방식. 결과가 준비되지 않았다면 "아직 안 됐다" 라는 신호 ( , , , 등) 를 반환하고, …
NPU (Neural Processing Unit): 엣지 AI 칩 ml ← 3
별칭: NPU, Neural Processing Unit, AI accelerator, 엣지 AI
정의 NPU (Neural Processing Unit) 는 모바일/엣지 디바이스용 저전력 AI 가속기. 스마트폰, 노트북, IoT 에 내장. 특징 - 저전력: 배터리 구동 (수…

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 ← 3
별칭: Order Statistics Tree, OST, 순위 통계 트리
정의 Order Statistics Tree 는 각 노드에 서브트리 크기 를 추가로 저장한 균형 BST 입니다. 두 가지 새 연산을 O(log N) 에 지원합니다. - rank(…

P (15)

Pagefind: 정적 사이트 전문 검색 frameworks ← 1
별칭: Pagefind, pagefind, 정적 검색, static search
정의 Pagefind 는 정적 사이트 (SSG) 용 클라이언트 사이드 전문 검색 엔진. 빌드 후 정적 인덱스 생성, 브라우저에서 fetch 로 검색. 특징 - 서버 없음: JS …
Palindrome Tree (eerTree) algorithm ← 2
별칭: Palindrome Tree, eerTree, Palindromic Tree, 회문 트리
정의 Palindrome Tree (또는 eerTree) 는 문자열 의 모든 서로 다른 회문 부분문자열 을 선형 공간 O(n) 에 저장하는 자료구조. 2014 년 Mikhail …
Pascal Triangle: 이항계수 algorithm ← 2
별칭: Pascal Triangle, 파스칼 삼각형, 이항계수
정의 Pascal Triangle 은 각 원소가 위 두 원소의 합인 삼각형. 행 n, 열 k 의 원소가 이항계수 $\binom{n}{k}$. 계산 O(N²) 공간/시간. 성질 -…
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 ← 6
별칭: Priority Queue / Heap, Priority Queue, Heap, 우선순위 큐, 힙, binary heap
정의 Priority Queue 는 우선순위가 가장 높은 원소를 O(log N) 에 pop 할 수 있는 자료구조입니다. Binary Heap 이 표준 구현. Max-heap: 부…
Pub/Sub Bus concurrency ← 5
별칭: 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
별칭: 파이썬, python, Python
정의 Python은 Guido van Rossum이 1991년 발표한 인터프리터 방식의 동적 타이핑 언어다. 읽기 쉬운 문법과 방대한 라이브러리 생태계로 웹 백엔드, 데이터 분석…

Q (2)

QUIC network
별칭: 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 ← 1
별칭: randomization, randomized algorithm, 무작위 알고리즘, Las Vegas, Monte Carlo, Fisher-Yates, random shuffle
정의 무작위화 (Randomization) 는 알고리즘 내부에 난수를 도입하여 평균 성능 향상 또는 결정론적 방법보다 단순한 해결책 을 얻는 기법. 크게 두 부류로 나뉜다: - …
Redis sql
별칭: 레디스, redis
정의 Redis (REmote DIctionary Server)는 인메모리 키-값 저장소이다. Salvatore Sanfilippo가 2009년 만들었고, 현재는 Redis Lt…
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 (또는 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 (23)

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
정의 Shell Script 는 shell (bash, zsh, sh) 커맨드를 파일로 저장하여 자동화하는 스크립트. DevOps, CI/CD, sysadmin 필수. 안전한 시…
SIMD algorithm ← 6
별칭: SIMD, AVX2, Vectorization, SSE
정의 SIMD (Single Instruction Multiple Data) 는 한 명령어로 여러 데이터 를 병렬 처리하는 CPU 기능. x86 의 SSE / AVX / AVX2…
SIMT ml ← 3
별칭: Single Instruction Multiple Threads, simt, warp, SIMT 모델
정의 SIMT (Single Instruction, Multiple Threads) 는 NVIDIA 가 정립한 GPU 의 실행 모델이다. 한 명령(instruction) 을 한 …
Skip List: 확률적 O(log N) 정렬 구조 algorithm ← 1
별칭: Skip List, 스킵 리스트
정의 Skip List 는 정렬된 연결 리스트를 여러 층으로 쌓아 확률적으로 O(log N) 탐색을 제공합니다. 각 노드는 확률 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 는 그래프의 모든 정점을 포함하는 부분 트리. MST (Minimum Spanning Tree) 는 간선 가중치 합이 최소인 spanning tre…
SPMD ml ← 2
별칭: 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 ← 6
별칭: stateful, 상태유지, Stateful 서버, stateful server
정의 Stateful (상태유지) 서버는 클라이언트와의 세션·연결 컨텍스트를 메모리에 유지한다. 후속 요청·이벤트는 이 컨텍스트를 활용해 처리된다. 같은 클라이언트의 요청은 같은…
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 ← 11
별칭: sticky session, session affinity, session persistence, 스티키 세션, 세션 어피니티
정의 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, ..., an} 에서 부분집합의 원소 합이 특정 값 T 가 되는 것이 존재하는가. NP-complete in general, but pseudo-polynom…
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
정의 Synchronous (동기) 는 호출자가 결과가 나올 때까지 기다리는 실행 모델. 함수를 호출한 코드는 그 함수가 반환할 때까지 다음 줄로 진행하지 않는다. 이 정의는 J…
Systolic Array ml ← 3
별칭: systolic array, 시스톨릭 어레이, MXU, Matrix Multiply Unit
정의 Systolic Array 는 격자 형태로 배치된 다수의 Processing Element (PE) 가, 입력 데이터가 박동(systolic)처럼 격자를 가로질러 흐르는 동…

T (10)

Tarjan SCC: 강한 연결 요소 O(V+E) algorithm ← 3
별칭: Tarjan SCC, Tarjan's SCC, 강한 연결 요소, SCC
정의 Strongly Connected Component (SCC) 는 유향 그래프에서 서로 도달 가능한 정점들의 극대 집합입니다. Tarjan's algorithm 은 단일 D…
Taylor Series: 함수 근사 algorithm ← 1
별칭: Taylor Series, 테일러 급수, 테일러 시리즈
정의 무한히 미분 가능한 함수 f 의 x = a 근방 급수: $$ f(x) = \sum{n=0}^{\infty} \frac{f^{(n)}(a)}{n!} (x - a)^n $$ M…
TCP network ← 14
별칭: Transmission Control Protocol, tcp
정의 TCP (Transmission Control Protocol)는 신뢰성 있는 연결 지향 전송 계층 프로토콜이다. RFC 9293 으로 정의되어 있다. HTTP/1.1·2,…
TLS / SSL network ← 13
별칭: TLS, SSL, Transport Layer Security, Secure Sockets Layer, tls, ssl
정의 TLS (Transport Layer Security)는 (또는 위 ) 위에서 동작하는 암호화·인증 프로토콜이다. SSL 은 TLS 의 전신 (Netscape 1995, 더…
Top K Selection: 상위 K개 원소 algorithm ← 3
별칭: Top K, Top-K, 상위 K, K th largest
정의 배열 또는 스트림에서 상위 K 개 원소를 뽑는 문제. 접근 방법 1. 정렬 후 자르기 O(N log N). K 가 작을 때 낭비 심함. 2. Min-Heap (크기 K) O…
TPU (Tensor Processing Unit): Google 의 ML ASIC ml ← 5
별칭: TPU, Tensor Processing Unit, Google TPU, TPU pod
정의 TPU (Tensor Processing Unit) 는 Google 이 딥러닝 워크로드용으로 만든 ASIC (application-specific IC). 2015 년 v1…
Transfer Learning: pre-training, fine-tuning, domain adaptation ml ← 5
별칭: 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 로 도달 가능한지 담은 부울 행렬입니다. Floyd-Warshall 변형 O(V³).…
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. Bitmask DP (N ≤ 20) 상태: = "방문 집합 = mask, 현재 …

U (2)

UDP network ← 12
별칭: User Datagram Protocol, udp
정의 UDP (User Datagram Protocol)는 비연결·비신뢰 전송 계층 프로토콜이다. RFC 768 (1980) 로 정의되었다. 와 대비된다. "보내고 잊는다(fir…
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 ← 4
별칭: 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 ← 3
별칭: 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
정의 Young Tableau 는 왼쪽/위쪽 원소가 항상 아래/오른쪽 원소보다 작은 정수 격자입니다. RSK correspondence (Robinson-Schensted-Knu…

Z (1)

Z 알고리즘 (Z Algorithm) algorithm ← 5
별칭: Z-algorithm, z algorithm, z function, z-function, Z 함수
정의 Z 알고리즘 (Z Algorithm) 은 문자열 의 각 위치 i 에 대해, 와 의 최장 공통 접두사 (LCP) 길이 를 O(N) 시간에 모두 계산하는 선형 알고리즘. 결과 …

# (587)

(오목 포함) 다각형 내부 점 판정 (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
별칭: convex-hull-trick, JPA vs Rails eager loading, EAGER 비교, fetch type Rails, Rails eager_load JPA
정의 JPA 와 Rails 는 둘 다 "eager" 라는 용어를 ORM 의 연관 로딩 전략에 사용한다. 이름은 비슷하지만 의미는 정반대. - JPA : 매핑 선언 시점에 영구 설…
[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 ← 2
별칭: 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
별칭: 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 ← 11
별칭: 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 ← 9
별칭: 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 ← 3
별칭: 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 ← 2
별칭: 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 ← 6
별칭: session cookie, HttpOnly, SameSite, Secure cookie, session ID, cookie attributes
정의 Session Cookie 는 서버가 발급한 임의 ID 를 쿠키에 보관. 매 요청 자동 첨부. 서버 측 세션 store (Redis, DB) 와 짝. [!IMPORTANT]…
[AWS SageMaker] Model Monitor: 모델 및 데이터 드리프트 감지 ml ← 2
별칭: 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 ← 7
별칭: 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] API Gateway: REST/HTTP API 관리 cloud ← 2
별칭: aws-api-gateway, API Gateway, AWS API Gateway
정의 AWS API Gateway 는 REST/HTTP/WebSocket API 를 관리하는 완전관리형 서비스. 백엔드 통합, 인증, 스로틀링, 캐싱, 로깅 제공. 두 종류 RE…
[AWS] Auto Scaling: EC2 ASG, target tracking, predictive cloud ← 2
별칭: 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] CloudFront: CDN, origin, behavior, signed URL cloud ← 2
별칭: CloudFront, CDN, edge location, origin, cache behavior, signed URL, OAC, Lambda@Edge, CloudFront Functions
정의 CloudFront = AWS 의 글로벌 CDN. 전세계 엣지 (600 PoP) 에서 사용자에게 가까이. 동작 Origin 종류 | Origin | 사용 | |---|---…
[AWS] CloudWatch: 메트릭, 로그, 알람 cloud ← 3
별칭: CloudWatch, CW Metrics, CW Logs, CW Alarm, Embedded Metric Format, CW Insights, Composite Alarm
정의 CloudWatch = AWS 의 모니터링 + 로그 + 알람 통합 서비스. 4가지 구성 Metrics | 종류 | 의미 | |---|---| | Standard resolu…
[AWS] EBS vs Instance Store: 영속 vs 임시 스토리지 cloud ← 2
별칭: EBS, Instance Store, gp3, io2, EBS volume, NVMe, ephemeral storage
정의 | | EBS | Instance Store | |---|---|---| | 영속성 | 영속 | 임시 (instance 종료 시 손실) | | 위치 | 네트워크 attach…
[AWS] EC2 Instance Types: family, generation, sizing cloud
별칭: 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 ← 6
별칭: EC2, AWS EC2, AMI, EBS, instance type, Spot Instance, Reserved Instance, Savings Plans
정의 EC2 (Elastic Compute Cloud) = AWS 의 VM 서비스. instance type (CPU / RAM / NW) 결정 + AMI (OS 이미지) + E…
[AWS] ECS + Fargate: 컨테이너 오케스트레이션 cloud ← 1
별칭: ECS, Amazon ECS, Fargate, Task Definition, Service, Cluster, ECS Anywhere
정의 ECS (Elastic Container Service) = AWS 의 컨테이너 오케스트레이션. K8s 보다 단순. Fargate = ECS / EKS 의 서버리스 실행 환…
[AWS] EKS: managed Kubernetes cloud ← 3
별칭: EKS, Amazon EKS, EKS Fargate, managed node group, Karpenter on EKS, EKS Anywhere
정의 EKS (Elastic Kubernetes Service) = AWS 의 managed K8s control plane. worker node 는 사용자 (또는 Fargat…
[AWS] EventBridge: 이벤트 버스, 스케줄러, partner sources cloud ← 6
별칭: EventBridge, CloudWatch Events, EventBridge Scheduler, Event Pattern, Schema Registry, Partner Source
정의 EventBridge = AWS 의 통합 event bus. 옛 CloudWatch Events 의 후계. AWS service 이벤트 + custom 이벤트 + SaaS …
[AWS] IAM: User, Role, Policy, STS cloud ← 10
별칭: 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 ← 4
별칭: 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 의 시간. 단계 | 단계 | 시간 (Node)…
[AWS] Lambda: 서버리스 함수, 트리거, 동시성 cloud ← 8
별칭: AWS Lambda, serverless function, Lambda invocation, concurrency, provisioned concurrency, Lambda layers
정의 AWS Lambda = 서버리스 함수 실행. 이벤트 트리거 → 함수 실행 → 결과 / 비동기 처리. 서버 관리 0. 트리거 종류 | 트리거 | 모델 | |---|---| |…
[AWS] RDS Multi-AZ + Read Replica cloud
별칭: 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: DNS, routing policies, health checks cloud ← 3
별칭: Route 53, Route53, DNS, weighted routing, latency routing, failover routing, geolocation
정의 Route 53 = AWS 의 글로벌 DNS + health check + 라우팅 정책. 단순 DNS 뿐 아니라 글로벌 트래픽 분산. Hosted Zone Alias Rec…
[AWS] S3: object storage, storage classes, lifecycle cloud ← 7
별칭: 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, 무한 확장. 2026 시점 인터넷의 핵심 스토리지…
[AWS] Secrets Manager + Parameter Store cloud ← 4
별칭: AWS Secrets Manager, Parameter Store, SSM Parameter, secret rotation
정의 | | Secrets Manager | Parameter Store (SSM) | |---|---|---| | 가격 | $0.40/secret/월 + $0.05/10k AP…
[AWS] Security Group vs NACL: stateful vs stateless 방화벽 cloud ← 1
별칭: Security Group, SG, NACL, Network ACL, stateful firewall, subnet ACL
정의 | | SG (Security Group) | NACL (Network ACL) | |---|---|---| | 상태 | Stateful | Stateless | | 적용 …
[AWS] SNS: pub-sub fan-out cloud ← 2
별칭: SNS, Simple Notification Service, SNS topic, fan-out, SMS notification, Mobile push
정의 SNS (Simple Notification Service) = pub-sub fan-out. 한 message → 여러 subscriber 에 동시 배포. 구조 Subsc…
[AWS] SQS: managed queue, FIFO, DLQ cloud ← 4
별칭: SQS, Simple Queue Service, FIFO Queue, Standard Queue, DLQ, visibility timeout, long polling
정의 SQS = AWS 의 완전 관리형 메시지 큐. infinite scale, no provisioning, pay-per-request. Standard vs FIFO | |…
[AWS] Step Functions: 워크플로 오케스트레이션 cloud ← 2
별칭: Step Functions, SFN, State Machine, ASL, Express Workflow, Standard Workflow
정의 Step Functions = 서버리스 워크플로 오케스트레이션. Amazon States Language (ASL, JSON) 으로 상태 기계 정의. ASL 예시 시각화 자…
[AWS] STS / AssumeRole: 임시 자격, cross-account cloud ← 2
별칭: STS, AssumeRole, AssumeRoleWithWebIdentity, AssumeRoleWithSAML, external ID, cross-account
정의 STS (Security Token Service) = 임시 자격 증명 발급. short-lived (15분-12시간) credentials. 5가지 API | API | …
[AWS] VPC: subnet, route, NAT, peering cloud ← 8
별칭: VPC, Virtual Private Cloud, subnet, route table, NAT Gateway, VPC Peering, Transit Gateway, VPC Endpoint
정의 VPC (Virtual Private Cloud) = AWS 안의 논리적 격리 네트워크. CIDR 정의 + subnet 분할 + 라우팅. 구조 Subnet 종류 | 종류 |…
[CI/CD] GitHub Actions: workflow, action, runner devops ← 5
별칭: 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 ← 5
별칭: Backpressure, flow control, reactive streams, rate shaping, buffer overflow, shedding
정의 Backpressure = 생산자가 소비자 속도에 맞춰 자기 속도 조절. 분산 시스템의 cascade failure 방지. [!IMPORTANT] Backpressure 의…
[Concurrency] Circuit Breaker: cascade failure 방어 concurrency ← 6
별칭: Circuit Breaker, Hystrix, Resilience4j, Polly, Sentinel, half-open, fail-fast
정의 Circuit Breaker = 전기 회로의 차단기처럼, 백엔드 다운 / 느림 시 호출 자체를 차단 → 빠른 실패 + 백엔드 회복 시간. 3가지 상태 | 상태 | 의미 | …
[Concurrency] Connection Pool: DB, HTTP, gRPC 의 공통 패턴 concurrency ← 2
별칭: 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 ← 3
별칭: 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 ← 5
별칭: 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
정의 컨테이너 = namespaces + cgroups + 파일시스템 (overlay). VM 이 아니라 host 의 프로세스 + 격리. Namespaces (격리) | Name…
[Container] Docker: image, layer, registry virtualization ← 10
별칭: Docker, Dockerfile, OCI image, image layer, registry, docker compose, BuildKit
정의 Docker = 컨테이너 빌드 + 실행 + 배포 의 표준 도구. 2013 출시 → 컨테이너 시대 의 시작. 현재는 OCI 표준 으로 진화 ( , , 등 호환). Layere…
[Container] Image Best Practices: 작게, 안전하게 virtualization ← 3
별칭: distroless, scratch, image scan, Trivy, SBOM, multi-stage build, non-root user, secret 처리
5가지 원칙 1. Base Image 선택 | Base | 크기 | 적합 | |---|---|---| | | 70 MB | 개발 / 디버깅 친화 | | | 40 MB | 일반 |…
[Container] OCI Image: spec, manifest, layer 표준 cloud ← 3
별칭: OCI, Open Container Initiative, OCI image spec, image manifest, image index, OCI distribution, containerd
정의 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
별칭: 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 ← 3
별칭: 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 ← 9
별칭: 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 ← 21
별칭: 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
별칭: 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
정의 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
정의 MySQL + InnoDB (기본 스토리지 엔진) 의 clustered index + redo log 기반 행 기반 RDBMS. 웹 / SaaS 의 가장 흔한 backbon…
[DB] PostgreSQL: 프로세스 모델, MVCC, WAL, 확장성 database-internals ← 28
별칭: PostgreSQL, Postgres, postmaster, VACUUM, TOAST, psql
정의 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
별칭: SQLite, WAL mode, embedded database, Litestream, Turso, single file DB
정의 SQLite 는 세계에서 가장 많이 배포된 DB (모든 스마트폰, 브라우저, OS). 서버 없이 라이브러리, 단일 파일, zero-config. embedded + edge…
[DB] Transaction Isolation Levels: 완벽 가이드 database-internals ← 4
별칭: 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 ← 7
별칭: WAL, Write-Ahead Log, redo log, binlog, journal, checkpoint, fsync, group commit
정의 Write-Ahead Log (WAL) = 데이터 변경 전 로그를 먼저 디스크에 기록. 모든 모던 RDB / KV / 분산 시스템의 내구성 기반. 핵심 약속: 로그가 디스크…
[DevOps] 무중단 배포: Blue-Green, Canary, Rolling, Expand-Contract devops ← 13
별칭: 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 ← 3
별칭: CAP theorem, PACELC, Brewer's theorem, consistency availability partition tolerance, CAP 정리
정의 CAP Theorem (Eric Brewer, 2000): 분산 시스템에서 3가지 중 2개만 동시에 보장 가능. - C (Consistency): 모든 노드가 같은 시점에 …
[Distributed Systems] Consensus: Raft, Paxos distributed-systems ← 5
별칭: Raft, Paxos, consensus algorithm, leader election, replicated log, 분산 합의, 합의 알고리즘
정의 Consensus (합의): 여러 노드가 같은 값에 동의 하는 분산 알고리즘. CAP 의 C 보장의 기반. 용도: - Leader election: 1개 leader 선출 …
[Distributed] Kafka Consumer Group: rebalancing, offset, lag distributed-systems ← 2
별칭: kafka-consumer-group, Kafka consumer group, Kafka rebalancing, cooperative rebalancing, consumer lag, static membership, partition assignment
정의 Consumer Group = 같은 를 가진 consumer 들이 함께 한 topic 을 분담 소비. partition 단위로 분배. Partition 할당 규칙: - pa…
[Distributed] Kafka: 분산 로그, partition, consumer group distributed-systems ← 13
별칭: 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 ← 3
별칭: message broker comparison, Kafka vs RabbitMQ, broker selection
결정 트리 6가지 broker 매트릭스 | 항목 | Kafka | RabbitMQ | NATS | SQS | Redis Streams | Google Pub/Sub | |---|…
[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 ← 2
별칭: 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 ← 2
별칭: django migrations, makemigrations, migrate, RunPython, schema migration, squashmigrations
정의 Django 마이그레이션은 모델 변경을 DB 스키마 변경으로 변환·기록하는 시스템. 는 모델과 현재 마이그레이션 상태를 비교해 새 마이그레이션 파일 생성. 는 DB에 적용.…
[Django] 배포: Gunicorn, Uvicorn, whitenoise, Docker django ← 2
별칭: 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 ← 4
별칭: 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 ← 3
별칭: django test, TestCase, django.test.Client, pytest-django, factory_boy, RequestFactory
정의 Django는 표준 라이브러리 기반 TestCase를 제공한다. 트랜잭션 격리, fixtures, test client, DB 셋업 자동화. 실무는 + 가 사실상 표준. 기…
[Django] Admin: 자동 생성 관리자 페이지 django ← 2
별칭: 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 ← 6
별칭: 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 ← 4
별칭: 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 ← 5
별칭: 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 ← 3
별칭: 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 ← 1
별칭: django-mvc-model-bindingresult, Django MVC, Django MTV, Django Model
정의 Django 는 MTV (Model, Template, View) 패턴 사용. 다른 프레임워크의 MVC 와 이름만 다르고 개념은 유사. | MVC | Django MTV |…
[Django] ORM 심화: N+1, prefetch, Subquery, Window django ← 5
별칭: 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 ← 5
별칭: 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 ← 2
별칭: 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 ← 2
별칭: 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 ← 2
별칭: django urls, URL routing, path converter, reverse, url namespace
정의 Django는 URL 패턴 리스트로 요청을 view에 라우팅한다. 1.01.x는 (regex만), 2.0+ (간결한 converter 문법)와 (regex) 두 방식. 기본…
[Django] View: 함수 기반 vs 클래스 기반 django ← 6
별칭: 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…
[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 ← 2
별칭: GitOps patterns, monorepo manifests, environment promotion, image updater, Renovate
GitOps 4가지 원칙 (OpenGitOps) 1. Declarative: 시스템 원하는 상태 가 선언적 (YAML). 2. Versioned and Immutable: Git…
[GitOps] ArgoCD: Kubernetes GitOps devops ← 3
별칭: ArgoCD, Argo CD, GitOps, Application, ApplicationSet, Argo Rollouts, Flux CD
정의 ArgoCD = Kubernetes 의 GitOps 컨트롤러. Git 리포지토리의 manifest 가 source of truth → cluster 가 자동 동기화. Git…
[IaC] AWS CDK: TypeScript 로 CloudFormation 생성 cloud ← 2
별칭: AWS CDK, Cloud Development Kit, CDK construct, CDK stack, L1 L2 L3 construct, CDK Toolkit, cdktf
정의 AWS CDK = TS/Python/Java/Go 로 AWS 인프라 정의 → CloudFormation 으로 컴파일 → 배포. AWS 전용. 흐름 예시 한 줄 = bucke…
[IaC] Pulumi: 코드로 인프라 (TS/Python/Go) cloud ← 2
별칭: Pulumi, IaC in code, Pulumi stack, Pulumi automation API
정의 Pulumi = 일반 프로그래밍 언어로 IaC. TypeScript, Python, Go, .NET, Java. Terraform 의 HCL DSL 대신 코드 자유도. TS…
[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 = 코드 ↔ 실제 인프라 매핑. JSON 파일. 모든 Terraform 작업의 핵심. State 가 하는 일 | 역할 | 의미 | |---|--…
[IaC] Terraform: HCL, provider, state cloud ← 4
별칭: Terraform, HCL, Terraform provider, terraform plan, terraform apply, tfstate, OpenTofu
정의 Terraform = 선언적 인프라 코드. HCL (HashiCorp Configuration Language) 로 리소스 정의 → AWS/GCP/Azure 등 provid…
[Java] ArrayBlockingQueue java ← 1
별칭: ArrayBlockingQueue, java.util.concurrent.ArrayBlockingQueue, ABQ, 고정 크기 블로킹 큐
정의 는 고정 크기 원형 배열 기반의 . 생성 시 capacity 를 지정해야 하고 그 이상 늘어나지 않는다. 내부에 단일 을 사용 (head/tail 공유). 동시 throug…
[Java] ArrayDeque java ← 3
별칭: ArrayDeque, java.util.ArrayDeque, Java ArrayDeque, 어레이덱, circular array deque
정의 는 원형 배열 (circular buffer) 기반의 구현. JDK 1.6 도입. 으로 쓰면 보다 빠르고, 로 쓰면 보다 빠르다. Stack / Queue / Deque 가…
[Java] ArrayList java ← 8
별칭: ArrayList, java.util.ArrayList, Java ArrayList, 어레이리스트, ArrayList class
정의 는 동적 배열 (dynamic array) 로 구현된 . 내부적으로 를 들고 다니며, 용량이 부족해지면 새 배열로 옮긴다. Java 의 가장 흔한 컬렉션 구현체. 인덱스 기…
[Java] AtomicInteger java ← 3
별칭: AtomicInteger, java.util.concurrent.atomic.AtomicInteger, 원자 정수, atomic int
정의 는 lock-free 로 원자성을 보장 하는 래퍼. 내부적으로 CAS (Compare-And-Swap) 를 사용해 락 없이 atomic 한 read-modify-write …
[Java] AtomicReference java ← 1
별칭: AtomicReference, java.util.concurrent.atomic.AtomicReference, 원자 참조
정의 는 객체 참조를 atomic 하게 갱신 하는 래퍼. 참조 + CAS 의 결합. 의 객체 버전. 불변 객체 패턴, 상태 머신, lock-free 자료구조의 빌딩 블록. 핵심 …
[Java] BlockingQueue java ← 8
별칭: BlockingQueue, java.util.concurrent.BlockingQueue, blocking queue, 블로킹 큐, BQ
정의 는 요소를 가져올 때 비어 있으면 대기, 넣을 때 가득 차 있으면 대기 하는 thread-safe 큐 인터페이스. 생산자-소비자 (producer-consumer) 패턴의 …
[Java] Collection java ← 26
별칭: Collection, java.util.Collection, Java Collection, Collection interface, 컬렉션, JCF, Java Collections Framework
정의 는 그룹으로 묶인 객체들을 표현하는 최상위 인터페이스. JCF (Java Collections Framework) 의 입구이자, / / / 모두 이를 확장한다. 자체는 직접…
[Java] ConcurrentHashMap java ← 15
별칭: ConcurrentHashMap, java.util.concurrent.ConcurrentHashMap, CHM, concurrent hash map, 동시성 해시맵
정의 는 고동시성 환경에서 사용 가능한 구현. JSR-166 (Java 5) 도입, Java 8 에서 내부 구조가 크게 재작성됐다. 과 같은 인터페이스를 제공하면서 thread-…
[Java] ConcurrentLinkedDeque java ← 4
별칭: ConcurrentLinkedDeque, java.util.concurrent.ConcurrentLinkedDeque, CLD, lock-free deque
정의 는 lock-free . 의 양방향 버전. JDK 1.7 추가. 양 끝 모두에서 add/remove 가능, 모든 연산이 CAS 기반. 내부 구조 이중 연결 리스트 ( , 모…
[Java] ConcurrentLinkedQueue java ← 3
별칭: ConcurrentLinkedQueue, java.util.concurrent.ConcurrentLinkedQueue, CLQ, lock-free queue
정의 는 lock-free 로 구현된 unbounded thread-safe . Michael & Scott 의 non-blocking queue 알고리즘 (1996) 기반. 가…
[Java] ConcurrentModificationException java ← 7
별칭: ConcurrentModificationException, CME, java.util.ConcurrentModificationException, ConcurrentModification, CMException
정의 (CME) 는 가 컬렉션의 구조 변경을 탐지했을 때 던지는 unchecked 예외 ( ). 이름과 달리 반드시 동시성 (멀티스레드) 문제일 때만 발생하는 것이 아니다. 단일…
[Java] ConcurrentSkipListMap java ← 2
별칭: ConcurrentSkipListMap, java.util.concurrent.ConcurrentSkipListMap, skip list map, 동시성 정렬 맵
정의 는 Skip List 기반의 thread-safe 정렬 . 의 동시성 버전. 과의 결정적 차이: 정렬 순서를 유지 + 인터페이스 구현 ( , , 등). Skip List 는…
[Java] ConcurrentSkipListSet java ← 2
별칭: ConcurrentSkipListSet, java.util.concurrent.ConcurrentSkipListSet, concurrent sorted set
정의 는 을 백킹으로 사용하는 정렬된 thread-safe . 의 동시성 버전. 인터페이스 구현. floor, ceiling, subSet 등 정렬 기반 연산 제공. 복잡도 의 …
[Java] CopyOnWriteArrayList java ← 14
별칭: 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 . 중복 검사를 위해 매 add 마다 (O(n)) 를 수행. 의 모든 특성 (snapshot iterator, 읽기 lock-…
[Java] CountDownLatch java ← 3
별칭: CountDownLatch, java.util.concurrent.CountDownLatch, 카운트다운 래치
정의 는 한 스레드 또는 여러 스레드가 다른 스레드들의 작업 완료를 기다리는 일회용 synchronizer. 으로 초기화하고, 각 worker 가 작업 후 호출. waiter 는…
[Java] CyclicBarrier java ← 3
별칭: CyclicBarrier, java.util.concurrent.CyclicBarrier, 사이클 배리어, 재사용 배리어
정의 는 N 개의 스레드가 모두 도착할 때까지 서로 기다리는 synchronizer. 모두 도착하면 동시에 출발, 다시 사용 가능 (cyclic). 시각화 핵심 메서드 가장 흔한…
[Java] DelayQueue java
별칭: DelayQueue, java.util.concurrent.DelayQueue, 지연 큐
정의 는 각 원소가 지정된 delay 가 만료된 후에만 꺼낼 수 있는 . 우선순위는 만료 시각이 빠른 것부터. 시각화 Delayed 인터페이스 원소는 인터페이스를 구현해야 한다.…
[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 ← 14
별칭: 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 ← 2
별칭: HashSet, java.util.HashSet, Java HashSet, 해시셋
정의 는 을 백킹으로 사용하는 구현. 내부적으로 모든 원소를 HashMap 의 key 로 저장하고, value 는 dummy 상수 . 평균 O(1) 의 add/remove/con…
[Java] Iterable java ← 26
별칭: 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 ← 2
별칭: LinkedBlockingQueue, java.util.concurrent.LinkedBlockingQueue, LBQ
정의 는 linked list 기반의 . 기본 unbounded ( ) 이지만 생성 시 capacity 지정 가능. Two-Lock Queue 알고리즘 으로 producer 와 …
[Java] LinkedHashMap java ← 5
별칭: LinkedHashMap, java.util.LinkedHashMap, Java LinkedHashMap, 링크드해시맵
정의 는 을 상속해 삽입 순서 (또는 접근 순서) 를 유지 하는 Map. 모든 의 평균 O(1) 성능을 유지하면서 추가로 순회 순서가 일관된다. 핵심: 이중 연결 리스트 (dou…
[Java] LinkedList java ← 9
별칭: 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 ← 1
별칭: LongAdder, java.util.concurrent.atomic.LongAdder, DoubleAdder, 스트라이프 카운터
정의 는 고경합 카운터 를 위한 자료구조. JDK 1.8 도입. 보다 동시 증가 throughput 이 압도적으로 높다. 원리는 striped counter (분산 누적). 여러…
[Java] Map java
별칭: Map, java.util.Map, Java Map, Map interface, 맵
정의 는 key 와 value 의 쌍으로 데이터를 저장 하는 자료구조의 인터페이스. 하나의 key 에는 하나의 value 만 매핑, 중복 key 는 허용하지 않는다. 은 을 ex…
[Java] Object java ← 25
별칭: Object, java.lang.Object, Java Object, Object class, 오브젝트, java Object
정의 는 Java 의 모든 클래스의 최상위 부모 (root) 클래스. 가 명시되지 않은 클래스는 컴파일러가 자동으로 를 붙인다. 인터페이스는 클래스가 아니라 를 직접 상속하지는 …
[Java] Phaser java ← 2
별칭: Phaser, java.util.concurrent.Phaser, 페이저, 동적 배리어
정의 는 의 확장. 참여자 수가 동적으로 변할 수 있는 단계별 동기화. JDK 1.7 도입. 시각화 핵심 메서드 동적 참여 예 worker 가 도중에 추가/종료될 수 있는 경우 …
[Java] PriorityBlockingQueue java ← 1
별칭: PriorityBlockingQueue, java.util.concurrent.PriorityBlockingQueue, PBQ, 동시성 우선순위 큐
정의 는 의 동시성 + blocking 버전. unbounded 힙 기반 . 특징 - unbounded, 따라서 이 절대 block 하지 않음 - 만 큐가 비어 있을 때 bloc…
[Java] PriorityQueue java ← 3
별칭: 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 ← 16
별칭: 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
정의 는 읽기 락과 쓰기 락을 분리 한 의 확장. 핵심 규칙: - 여러 reader 가 동시에 read lock 획득 가능 (병렬 읽기) - writer 는 배타적, write …
[Java] Reflection: Class, Method, Field, MethodHandle java ← 1
별칭: Java Reflection, java.lang.reflect, Class.forName, MethodHandle, VarHandle, 리플렉션, 자바 리플렉션
정의 Reflection 은 런타임에 클래스 메타데이터 (필드, 메서드, 어노테이션, 생성자) 를 조회하고, 컴파일 타임에 알 수 없는 객체를 생성/조작할 수 있게 해 주는 Ja…
[Java] Semaphore java ← 3
별칭: 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
별칭: SynchronousQueue, java.util.concurrent.SynchronousQueue, 직접 핸드오프 큐
정의 는 용량 0 의 . 저장 공간이 없다. 은 매칭되는 가 있어야 진행하고, 반대도 마찬가지. 직접 핸드오프 (direct handoff) 패턴, producer 와 consu…
[Java] ThreadLocal java ← 7
별칭: ThreadLocal, InheritableThreadLocal, ScopedValue, 스레드 로컬, java threadlocal
정의 는 각 스레드마다 독립된 변수 사본을 가지게 해 주는 컨테이너. 로 접근하며, 한 스레드의 값은 다른 스레드에서 볼 수 없다. 쓰임은 두 가지: (1) 같은 인스턴스를 여러…
[Java] TreeMap java ← 5
별칭: TreeMap, java.util.TreeMap, Java TreeMap, 트리맵, 정렬 맵
정의 는 Red-Black Tree 기반의 정렬된 . (확장 인터페이스) 을 구현해 범위 쿼리, floor/ceiling, sub-map 같은 정렬 기반 연산을 제공한다. key…
[Java] TreeSet java ← 3
별칭: TreeSet, java.util.TreeSet, Java TreeSet, 트리셋, 정렬 셋
정의 는 을 백킹으로 사용하는 정렬된 . 인터페이스를 구현해 정렬 기반 연산 ( , , 등) 을 제공. 원소는 (자연 순서) 또는 생성자에 전달한 로 정렬. 핵심 메서드 (Nav…
[Java] Vector java
별칭: 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 ← 4
별칭: JS 스코프 체인, JavaScript scope chain, JS scope
정의 스코프 체인 (Scope Chain) 은 변수 식별자를 해결할 때 따라가는 중첩된 의 연결 구조. 안쪽 스코프에서 찾지 못한 변수를 바깥 스코프로 차례로 검색. 시각화 변수…
[Javascript] 이벤트 루프 javascript ← 8
별칭: 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 ← 3
별칭: 콜백, callback, 콜백 함수, callback function, JavaScript callback, JS callback
- 콜백 (callback): 다른 함수의 인자로 넘겨져, 받은 쪽이 적절한 시점에 호출하는 함수. 일급 함수 () 가 있어야 가능한 패턴이라 JavaScript 에서는 자연스럽…
[Javascript] 콜백 지옥 javascript ← 3
별칭: 콜백 지옥, callback hell, 콜백지옥, pyramid of doom, JavaScript callback hell, JS callback hell
- 콜백 지옥 (callback hell) 또는 둠 피라미드 (pyramid of doom): 순차 의존이 있는 비동기 작업을 으로 연결할 때 들여쓰기가 오른쪽으로 깊어지는 현상…
[Javascript] 클로저 javascript ← 8
별칭: closure, 클로저, 클로져, 클로저(Closure), JavaScript closure, JS closure
정의 클로저 (Closure): 함수가 자신이 정의된 시점의 외부 변수들을 계속 참조할 수 있는 성질. 함수가 일급 객체 () 인 언어의 자연스러운 결과. 메커니즘은 + 함수 객…
[Javascript] 타입 변환 / 강제 변환 javascript ← 7
별칭: 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 ← 4
별칭: JS Hoisting, JS 호이스팅, JavaScript 호이스팅
정의 호이스팅 (Hoisting) 은 JavaScript 엔진이 코드 실행 전에 선언을 스코프의 최상단으로 끌어올리는 동작. 단, / 는 로 접근 제한. var 의 호이스팅 엔진…
[JavaScript] AbortController: 비동기 취소 javascript ← 2
별칭: AbortController, AbortSignal, abort controller, abort signal
정의 는 비동기 작업 (fetch, event listener 등) 을 취소 하기 위한 표준 인터페이스. 기본 사용 이벤트 리스너 취소 같은 signal 을 재사용해 여러 리스너…
[Javascript] Array javascript ← 6
별칭: JS Array, JavaScript 배열, Array methods
정의 JavaScript 의 는 순서 있는 객체. 정수 키 + . 풍부한 메서드 (map/filter/reduce/...) 가 함수형 스타일을 지원. 생성 핵심 메서드 (반복) …
[Javascript] Arrow Function javascript ← 5
별칭: arrow function, Arrow Function, JavaScript arrow function, JS arrow function, 화살표 함수, arrow-function, fat arrow
정의 화살표 함수 (arrow function) 는 ES2015 (ES6) 에서 도입된 함수 표현식. 모양. 더 짧은 문법뿐 아니라 가 lexical 로 바인딩 되는 본질적 차이…
[Javascript] async/await javascript ← 13
별칭: JS Async Await, async/await, async await, async-await, async function, 비동기 함수, JavaScript async/await, JS async/await
정의 / 는 기반 비동기 코드를 마치 동기 코드처럼 쓸 수 있게 해주는 ES2017 의 문법 설탕. 본질은 Promise 그 자체, 문법만 다르다. 전체 동작 메커니즘은 글 참조…
[Javascript] BigInt javascript ← 1
별칭: JS BigInt, JavaScript BigInt, 임의 정밀도 정수
정의 는 임의 정밀도 정수. 를 넘어가는 정수를 정확히 표현. ES2020 도입. 왜 필요한가 큰 ID, 암호화, 정밀 산술, 통화 (cent 기반 정수) 에 안전. 사용 함정:…
[Javascript] boolean / null / undefined javascript ← 3
별칭: JS boolean, JS null, JS undefined, JS boolean / null / undefined, JS falsy
정의 JavaScript 의 3 가지 primitive. - : , - : 의도적인 "없음" - : 자동으로 부여된 "없음" (초기화 안 됨) boolean falsy / tru…
[Javascript] Class javascript ← 5
별칭: JS Class, JavaScript class, ES6 class
정의 ES6 는 prototype chain 위의 문법 설탕. C++/Java 스타일 OOP 와 닮았지만 내부는 . 구조 상속 super 의 의미 - : 부모 constructo…
[Javascript] Date javascript
별칭: JS Date, JavaScript Date, Date 객체
정의 JS 의 객체. 시간을 ms 단위로 (1970-01-01T00:00:00Z 기준) 저장. 매우 오래된 API 라 함정이 많다. 생성 [!CAUTION] 월이 0-base (…
[Javascript] Destructuring javascript ← 4
별칭: JS Destructuring, 구조 분해 할당, JavaScript destructuring
정의 Destructuring 은 배열 또는 객체의 일부를 변수로 풀어내는 ES6 문법. 코드를 짧고 명시적으로. 객체 배열 함수 매개변수 자주 쓰는 idiom API 응답 분해…
[Javascript] Error / try-catch javascript ← 1
별칭: 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 ← 1
별칭: JS ES Modules, ESM, import export, ES6 module
정의 ES Modules (ESM) 은 표준 JS 모듈 시스템 (ES6). / 키워드. 브라우저와 Node.js 16+ 모두 지원. export named export defau…
[JavaScript] fetch API: 현대 HTTP 클라이언트 javascript ← 2
별칭: js-fetch, fetch API, fetch, Response, Request
정의 는 Promise 기반의 표준 HTTP 클라이언트. XMLHttpRequest (2000) 를 대체. 기본 사용 POST + JSON 함정 1: 4xx/5xx 는 rejec…
[Javascript] function javascript ← 7
별칭: function, JavaScript function, JS function, 함수 선언, function declaration, function expression, 일반 함수
정의 은 JavaScript 에서 함수를 만드는 가장 기본적인 키워드. 호이스팅, 동적 바인딩, 객체, 호출 등 과 구분되는 고유한 특성을 가진다. 함수가 값 으로 다뤄지는 의 …
[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
별칭: JS JSON, JSON.stringify, JSON.parse
정의 JSON (JavaScript Object Notation) 은 데이터 교환 형식. JS 의 객체 리터럴과 비슷하지만 엄격한 문법. - : JS 값 → JSON 문자열 - …
[Javascript] Lexical Environment javascript ← 11
별칭: 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 ← 1
별칭: JS Map, JS Set, JS WeakMap, JS WeakSet, JS Map / Set
정의 ES6 의 4 가지 컬렉션. 객체 / 배열보다 적합한 경우. | 컬렉션 | 키 | 값 | 강참조 | |:---|:---|:---|:---:| | | 모든 값 | 모든 값 |…
[Javascript] Microtask Queue javascript ← 4
별칭: Microtask Queue, microtask queue, 마이크로태스크 큐, microtask, 마이크로태스크, JavaScript Microtask Queue, JS microtask queue
정의 Microtask Queue (마이크로태스크 큐) 는 JavaScript 가 매 틱마다 완전히 비울 때까지 처리하는 우선순위 큐다. 매크로태스크 큐보다 항상 먼저 비워진다.…
[Javascript] NaN / Infinity javascript ← 1
별칭: JS NaN, JS Infinity, JS NaN / Infinity, JavaScript NaN, Not a Number
정의 - (Not a Number) : 의미 없는 수치 연산의 결과 - , : 너무 큰/작은 수, 0 으로 나누기 IEEE 754 표준에 따른 특수 값. 타입이지만 특이한 동작.…
[Javascript] Number javascript ← 6
별칭: JS Number, JavaScript 숫자, double precision
정의 JavaScript 의 는 IEEE 754 double-precision float (64-bit). 정수와 실수를 같은 타입으로 표현. 정수 안전 범위는 . 정수 안전 범…
[Javascript] Object javascript ← 9
별칭: JS Object, JavaScript object, 객체 리터럴
정의 JavaScript 의 는 key-value 쌍의 컬렉션. 거의 모든 non-primitive 값이 객체. 함수, 배열, 정규식도 객체. 생성 접근 수정 / 삭제 Objec…
[Javascript] Optional Chaining / Nullish Coalescing javascript ← 1
별칭: JS Optional Chaining, ?., ??, JS Nullish
정의 ES2020 도입의 두 가지 단축 문법. - (Optional Chaining) : 중간이 null/undefined 면 반환 - (Nullish Coalescing) : …
[Javascript] Promise javascript ← 11
별칭: Promise, promise, 프로미스, JavaScript Promise, JS Promise
정의 Promise 는 미래의 어떤 시점에 결정될 값을 나타내는 객체다. ECMAScript 2015 (ES6) 에 도입되어 기반 비동기의 가독성과 에러 처리 문제를 해결했다. …
[Javascript] Promise.all / race / any / allSettled javascript ← 1
별칭: settled, JS Promise.all, Promise.race, Promise.any, Promise.allSettled
정의 의 정적 메서드 4 형제. 여러 Promise 를 동시에 다루는 도구. | 메서드 | fulfilled 조건 | rejected 조건 | 결과 | |:---|:---|:--…
[Javascript] Prototype Chain javascript ← 3
별칭: JS Prototype, JS Prototype Chain, Prototype, 프로토타입, 프로토타입 체인, prototypal inheritance, prototype chain
정의 JavaScript 의 모든 객체는 (내부 슬롯) 을 가진다. 속성 lookup 시 자신에게 없으면 prototype chain 을 따라 올라가며 검색. 접근 함수의 pro…
[Javascript] Proxy / Reflect javascript
별칭: JS Proxy, JS Reflect, meta-programming
정의 - : 객체의 기본 동작 (get, set, delete 등) 을 가로채는 (intercept) 객체 - : Proxy 의 기본 동작을 호출하는 표준 API 메타 프로그래밍…
[Javascript] Regular Expression javascript ← 1
별칭: JS regex, JS RegExp, 정규식 JavaScript
정의 JavaScript 의 정규식. 객체 또는 리터럴 로 표현. ECMAScript 정규식 문법 (Perl 의 부분집합). 생성 리터럴이 가독성 좋음. 동적 패턴은 . flag…
[JavaScript] requestAnimationFrame: 브라우저 애니메이션 루프 javascript ← 2
별칭: requestAnimationFrame, rAF, 애니메이션 프레임, cancelAnimationFrame
정의 (rAF) 은 브라우저에게 다음 리페인트 직전에 콜백을 실행해달라고 요청합니다. 60Hz 모니터 기준 약 16.67ms 주기. 왜 setTimeout 이 아닌가 - 주사율에…
[Javascript] setInterval javascript ← 2
별칭: setInterval, setinterval, set interval, 주기 타이머, JavaScript setInterval, JS setInterval, window.setInterval
정의 은 호스트 환경이 제공하는 반복 타이머 API. 매 밀리초마다 을 매크로태스크 큐에 등록한다. 전체 메커니즘은 와 참고. 문법 | 인자 | 의미 | |:---|:---| |…
[Javascript] setTimeout javascript ← 2
별칭: 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
별칭: JS strict mode, use strict, 엄격 모드
정의 디렉티브로 활성화되는 엄격 실행 모드. ES5 도입. 위험한 문법을 에러로 만들어 코드 안전성 향상. ES module 과 본문은 자동으로 strict mode. 사용 st…
[Javascript] String javascript ← 2
별칭: JS String, JavaScript 문자열, template literal
정의 JavaScript 의 은 UTF-16 코드 유닛의 불변 시퀀스. 작은따옴표, 큰따옴표, 백틱 (template literal) 으로 작성. Template Literal …
[JavaScript] String: 메서드, 정규식, 템플릿 리터럴 javascript ← 1
별칭: JS String str pattern, JS String, String methods, template literal, 정규식
정의 JavaScript 문자열은 불변 (immutable) UTF-16 시퀀스. 메서드는 새 문자열을 반환. 자주 쓰는 메서드 정규식 템플릿 리터럴 참고 - 관련 Regex -…
[Javascript] Symbol javascript ← 1
별칭: JS Symbol, JavaScript Symbol, 심볼
정의 은 ES6 도입의 7번째 primitive 타입. 유일성 을 보장하는 식별자. 왜 필요한가 객체의 충돌 없는 키 로 사용. private property 흉내, well-k…
[Javascript] TDZ (Temporal Dead Zone) javascript ← 2
별칭: JS TDZ, Temporal Dead Zone, 일시적 사각지대
정의 TDZ (Temporal Dead Zone) 는 / / 선언이 호이스팅된 시점부터 선언문 (실행) 직전까지 의 접근 불가 구간. var 와의 비교 는 호이스팅 시 자동으로 …
[Javascript] this 바인딩 javascript ← 1
별칭: JS this 바인딩, JS this, JS this binding, call apply bind
정의 JavaScript 의 는 호출 방식에 따라 결정 되는 동적 바인딩. 4 가지 호출 방식 + arrow function (lexical) 규칙. 5 가지 규칙 | # | 규…
[Javascript] var / let / const javascript ← 4
별칭: JS var, JS let, JS const, JS var / let / const, JavaScript 변수 선언
정의 JavaScript 의 3 가지 변수 선언 키워드. | 키워드 | 스코프 | 재할당 | 재선언 | 호이스팅 | |:---|:---|:---:|:---:|:---| | | f…
[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 ← 2
별칭: ConfigMap, Secret, env from, volume mount config, Sealed Secret, External Secrets, SOPS
정의 | | ConfigMap | Secret | |---|---|---| | 데이터 | 평문 | base64 (암호화 아님) | | 크기 | 1MB | 1MB | | 용도 | …
[K8s] DaemonSet: 모든 노드에 한 pod kubernetes
별칭: DaemonSet, DS, node-level pod, log collector daemonset, node-exporter
정의 DaemonSet = 각 노드에 정확히 1 pod 보장. 노드 추가 시 자동 배치, 노드 제거 시 자동 정리. 흔한 사용 | 사용 | 예시 | |---|---| | 로그 수…
[K8s] Deployment: ReplicaSet, rolling update, rollback kubernetes ← 10
별칭: 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 ← 2
별칭: HPA, Horizontal Pod Autoscaler, VPA, Vertical Pod Autoscaler, KEDA, Cluster Autoscaler, Karpenter
3가지 스케일링 HPA (Horizontal Pod Autoscaler) CPU / Memory / custom metric 기반 pod 수 조정. HPA 알고리즘 예: 현재 4…
[K8s] Ingress: L7 라우팅, TLS termination, Gateway API kubernetes ← 2
별칭: Ingress, IngressController, nginx-ingress, Traefik Ingress, Gateway API, GatewayClass, HTTPRoute
정의 Ingress = 클러스터 외부 HTTP/HTTPS 트래픽 → 내부 Service 라우팅. L7 LB 역할. Service 의 LoadBalancer 다수 대안. [!IMP…
[K8s] Job / CronJob: 일회성 + 스케줄 작업 kubernetes
별칭: K8s Job, K8s CronJob, completions, parallelism, backoffLimit, TTLAfterFinished
정의 | 컨트롤러 | 의미 | |---|---| | Job | 완료까지 실행하는 일회성 작업 | | CronJob | 스케줄 (cron) 에 따라 Job 생성 | Job 흐름 병…
[K8s] NetworkPolicy: pod 간 네트워크 차단 kubernetes ← 1
별칭: NetworkPolicy, K8s firewall, Calico, Cilium, default deny, namespace isolation
정의 NetworkPolicy = pod 간 허용된 트래픽만 통과. 없으면 모든 pod ↔ pod 가 허용 (기본 open). [!IMPORTANT] NetworkPolicy 는…
[K8s] Pod: 컨테이너의 최소 단위, sidecar, lifecycle kubernetes ← 17
별칭: Pod, K8s Pod, sidecar container, init container, pause container, pod lifecycle
정의 Pod = K8s 의 가장 작은 배포 단위. 1개 이상의 컨테이너 + 공유 네트워크 + 공유 스토리지. [!IMPORTANT] Pod 는 컨테이너의 wrapping 이 아니…
[K8s] RBAC: Role, ClusterRole, ServiceAccount, RoleBinding kubernetes ← 2
별칭: Kubernetes RBAC, RBAC, K8s RBAC, ServiceAccount, Role, ClusterRole, RoleBinding, ClusterRoleBinding
정의 RBAC (Role-Based Access Control) = K8s 의 권한 부여 모델. 주체 + 권한 + 바인딩. 4 객체 | 객체 | 범위 | |---|---| | |…
[K8s] Service: ClusterIP / NodePort / LoadBalancer / ExternalName kubernetes ← 6
별칭: 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 ← 3
별칭: StatefulSet, STS, stable identity, ordered deployment, PV per pod, headless service
정의 StatefulSet = 상태 있는 워크로드를 위한 컨트롤러. Deployment 와의 차이: | 항목 | Deployment | StatefulSet | |---|---|…
[LLM Eval] HELM: Holistic Evaluation of Language Models ai ← 6
별칭: 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…
[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 ← 6
별칭: 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 ← 2
별칭: 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 ← 7
별칭: 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 ← 8
별칭: 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 ← 15
별칭: HTTP/3, h3, 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 (Internet Protocol) 주소 는 인터넷에서 노드를 식별하는 논리 주소. IPv4 (32bit) 와 IPv6 (128bit) 두 버전이 병존. IPv4 4 …
[Network] Load Balancer: L4 vs L7, 알고리즘, sticky session network ← 9
별칭: 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 ← 3
별칭: network-nat, NAT, Network Address Translation, 네트워크 주소 변환, SNAT, DNAT
정의 NAT (Network Address Translation) 는 IP 주소를 변환하는 기법. 주로 사설 IP 를 public IP 로, 또는 반대로 매핑. 왜 필요한가 - …
[Network] OSI 7 Layer: 각 계층의 의미와 실전 매핑 network
별칭: 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
별칭: 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 위에서 서버 ↔ 클라이언트 임의 시점 push 가…
[Observability] OpenTelemetry: 표준화된 trace/metric/log devops ← 7
별칭: 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 ← 9
별칭: Prometheus, PromQL, scrape, exporter, Alertmanager, Thanos, Mimir, recording rule
정의 Prometheus = pull 기반 시계열 metric 시스템. PromQL 로 쿼리. CNCF graduated. 2026 클라우드 네이티브 메트릭 표준. 아키텍처 Pu…
[Observability] SLI / SLO / SLA / Error Budget devops ← 4
별칭: SLI, SLO, SLA, Error Budget, SRE, Service Level Indicator, Service Level Objective, Service Level Agreement
정의 | | 의미 | |---|---| | 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 ← 6
별칭: Pandas loc, Pandas iloc, Pandas .loc, Pandas .iloc, Pandas .loc / .iloc, 라벨 기반 인덱싱
정의 - : 라벨 기반 인덱싱 (index/column 이름) - : 정수 위치 기반 인덱싱 (0-based) 이 두 indexer 가 pandas 선택의 표준. 만으로는 헷갈리…
[Pandas] .str accessor pandas ← 2
별칭: Pandas str, Pandas .str, Pandas str accessor, string accessor, 벡터 문자열
정의 는 Series 의 각 문자열 원소에 벡터화된 문자열 메서드 를 적용하는 accessor. Python str 의 거의 모든 메서드를 NaN-aware 로 제공. 기본 메서…
[Pandas] 개요 pandas ← 3
별칭: pandas, 판다스, pandas overview, Python pandas
정의 pandas 는 Python 의 데이터 분석/조작 라이브러리. 두 가지 핵심 자료형을 중심으로 동작한다. - : 1차원 레이블 배열 (NumPy array + index) …
[Pandas] 성능 / 메모리 최적화 pandas ← 3
별칭: Pandas 성능 / 메모리 최적화, Pandas performance, Pandas memory, pandas 최적화, pandas 빠르게
정의 pandas 의 흔한 성능 함정과 최적화 패턴. 벡터화 + dtype 선택 + 알고리즘 의 조합이 핵심. 1. 벡터 연산 우선 100배 이상 차이. 2. dtype 명시로 …
[Pandas] 컬럼 선택 pandas ← 2
별칭: Pandas 컬럼, Pandas 열 선택, Pandas 컬럼 선택, df column select
정의 DataFrame 에서 하나 또는 여러 컬럼을 선택 하는 방법들. 가장 기본이자 가장 자주 쓰는 동작. 4 가지 기본 방식 단일 vs 다중 (반환 타입 차이) <CodeWi…
[Pandas] agg / aggregate pandas ← 3
별칭: Pandas agg, Pandas aggregate, named aggregation
정의 는 여러 집계 함수를 한 번에 적용 한다. , , 모두에서 사용 가능. 는 같은 함수의 별칭. 다양한 형태 단일 함수 함수 리스트 <CodeWithOutput languag…
[Pandas] apply / map pandas ← 3
별칭: Pandas apply / map, Pandas Series apply, Pandas Series map, Series.apply, DataFrame.apply elementwise
정의 - : 각 원소 에 함수 적용 (또는 dict 매핑) - : 각 원소 에 함수 적용 (map 과 유사) - : 각 행/열 에 함수 적용 - (pandas 2.1+) : 각 …
[Pandas] between / 다중 조건 pandas
별칭: Pandas between, Pandas 다중 조건, pandas combining filters
정의 는 SQL 과 같이 두 값 사이 인지 검사하는 Series 메서드. 다중 조건 조합은 , , 비트연산자로. between 기본 <CodeWithOutput language=…
[Pandas] Boolean Indexing pandas ← 10
별칭: Pandas Boolean Indexing, pandas 마스킹, pandas 조건 필터
정의 Boolean Indexing 은 True/False 의 Series 를 인덱서로 전달 해 행을 선택하는 패턴. pandas 의 가장 흔한 필터링 방법. 기본 <CodeWi…
[Pandas] Categorical pandas ← 5
별칭: Pandas Categorical, pd.Categorical, category dtype
정의 Categorical 은 제한된 고유값 만 가질 수 있는 dtype. 내부적으로 정수 코드로 저장되어 메모리 절약 과 속도 향상. 사용 <CodeWithOutput lang…
[Pandas] clip / where / mask pandas
별칭: Pandas clip, Pandas where, Pandas mask, 조건부 갱신 pandas
정의 - : 범위 밖 값을 경계로 자르기 (outlier 처리) - : cond 가 True 면 유지, False 면 other 로 치환 - : where 의 반대 (cond T…
[Pandas] concat pandas ← 4
별칭: Pandas concat, pd.concat, pandas append
정의 는 여러 DataFrame/Series 를 세로 (axis=0) 또는 가로 (axis=1) 로 단순 연결. SQL 의 (axis=0) 또는 column-level conca…
[Pandas] crosstab pandas ← 1
별칭: Pandas crosstab, pd.crosstab, 교차표
정의 는 두 (또는 그 이상의) Series 로 교차 빈도표 (contingency table) 를 만든다. SQL 의 PIVOT 또는 Excel 의 피벗 테이블과 비슷. 기본 …
[Pandas] cumsum / cummax / cummin / cumprod pandas ← 2
별칭: Pandas cumsum, Pandas cumulative, 누적 pandas
정의 누적 (cumulative) 연산. 각 위치까지의 누적 결과를 반환, 결과 길이는 원본과 동일. | 함수 | 의미 | |:---|:---| | | 누적 합 | | | 누적 …
[Pandas] cut / qcut pandas ← 1
별칭: Pandas cut / qcut, Pandas cut, Pandas qcut, binning pandas
정의 - : 값 기반 binning (구간을 직접 지정) - : 빈도 기반 binning (분위수로 같은 크기) 연속형 변수를 범주형으로 변환. ML 의 feature engin…
[Pandas] DataFrame pandas ← 25
별칭: Pandas DataFrame, pandas.DataFrame, 데이터프레임
정의 은 2차원 레이블 테이블. 각 열이 , 모든 열이 같은 (행 라벨) 를 공유. SQL 테이블 / Excel 시트 / R data.frame 의 Python 대응체. 생성 <…
[Pandas] DataFrame.style pandas
별칭: Pandas style, Pandas Styler, DataFrame 서식
정의 는 HTML/CSS 기반 서식을 DataFrame 에 적용. Jupyter, 보고서, Excel 출력에 활용. 데이터 자체는 변하지 않고 표시 만 바뀐다. 자주 쓰는 메서드…
[Pandas] date_range / Timestamp pandas ← 3
별칭: Pandas date_range, pd.date_range, Pandas Timestamp, Pandas Timedelta
정의 - : 정해진 시작/끝/간격으로 datetime 시퀀스 생성 - : pandas 의 단일 datetime 객체 - : 시간 차이 daterange , , , 중 3 개 만 …
[Pandas] drop_duplicates / duplicated pandas ← 3
별칭: Pandas unique / nunique, Pandas drop_duplicates, Pandas duplicated, 중복 제거 pandas
정의 - : 각 행이 중복인지 boolean Series 반환 - : 중복 행 제거 후 DataFrame 반환 와는 다르다. 그건 Series 의 고유값 추출, 이건 행 단위 처…
[Pandas] dropna / fillna pandas ← 3
별칭: Pandas dropna, Pandas fillna, Pandas dropna / fillna, 결측치 처리, NaN 처리
정의 - : NaN 이 있는 행/열 제거 - : NaN 을 특정 값으로 대체 데이터 분석의 가장 기본적인 결측치 처리. dropna 기본 <CodeWithOutput langua…
[Pandas] expanding / ewm pandas ← 1
별칭: Pandas expanding, Pandas ewm, 지수가중이동평균
정의 외의 윈도우 연산. - : 시작부터 현재까지 누적 윈도우 - : exponentially weighted (지수 가중) expanding <CodeWithOutput lan…
[Pandas] explode pandas ← 1
별칭: Pandas explode, DataFrame.explode, list 컬럼 펼치기
정의 는 list / set / tuple 등의 시퀀스 값을 가진 컬럼을 각 원소가 별도 행 이 되도록 펼친다. JSON / 로그 / 다중 태그 데이터 처리의 핵심. 기본 <Co…
[Pandas] get_dummies / from_dummies pandas ← 1
별칭: Pandas get_dummies, 원-핫 인코딩, one-hot pandas
정의 는 범주형 컬럼을 원-핫 인코딩 (one-hot encoding). ML 전처리의 가장 흔한 단계. 기본 <CodeWithOutput language="python" out…
[Pandas] groupby pandas ← 19
별칭: Pandas groupby, groupby 집계, split-apply-combine
정의 는 데이터를 그룹으로 나누고 (split), 각 그룹에 함수를 적용 (apply), 결과를 합쳐 (combine) 새 DataFrame 으로 만드는 split-apply-c…
[Pandas] idxmax / idxmin pandas
별칭: Pandas idxmax, Pandas idxmin, argmax argmin pandas
정의 - : 최댓값의 index 라벨 반환 - : 최솟값의 index 라벨 , 이 값 을 반환한다면 이 함수들은 위치 를 반환. SQL 에서 "max 인 행의 다른 컬럼" 을 가…
[Pandas] Index pandas ← 4
별칭: Pandas Index, pandas.Index, 인덱스, RangeIndex, MultiIndex
정의 는 행 / 열 라벨을 보관하는 객체. / 의 모든 라벨은 Index. 정렬, 정합성, 빠른 lookup 의 기반. 기본은 RangeIndex (0, 1, 2, ...) 지만…
[Pandas] info / memory_usage / describe pandas
별칭: Pandas info, Pandas memory_usage, Pandas describe, pandas 탐색
정의 DataFrame 의 메타데이터 / 메모리 / 통계를 빠르게 조회하는 도구. | 메서드 | 목적 | |:---|:---| | | 컬럼별 dtype + non-null cou…
[Pandas] interpolate pandas ← 1
별칭: Pandas interpolate, 결측치 보간, Series interpolate
정의 는 NaN 을 주변 값을 사용해 보간 으로 채운다. 시계열, 측정 데이터의 작은 결측을 자연스럽게 채울 때 유용. 기본 linear 보간 예 <CodeWithOutput l…
[Pandas] isin / isna / notna pandas ← 3
별칭: Pandas isin, Pandas isna, Pandas notna, Pandas isin / isna, Pandas null check
정의 | 메서드 | 의미 | |:---|:---| | | 각 원소가 values 안에 있는지 (boolean Series) | | | NaN/NaT/None 여부 ( 별칭) | …
[Pandas] iterrows / itertuples pandas
별칭: Pandas iterrows, Pandas itertuples, pandas 행 순회
정의 - : (index, Series) 순회 - : NamedTuple 순회 (빠름, 권장) - : (columnname, Series) 순회 기본 성능 비교 (강한 권고: 가…
[Pandas] join pandas ← 3
별칭: Pandas join, DataFrame.join
정의 는 index 기반 결합 의 편의 API. 내부적으로는 와 동등하지만 더 짧다. 기본 merge 와의 비교 은 index 끼리 매칭이 기본 가정이라 코드가 짧다. 컬럼 기준…
[Pandas] melt pandas ← 5
별칭: Pandas melt, DataFrame.melt, pd.melt, wide-to-long
정의 는 의 역방향. wide-format → long-format 변환. 여러 컬럼을 두 컬럼 ( , ) 으로 합친다. 장기간 시계열 데이터나 시각화 (ggplot, seabo…
[Pandas] merge pandas ← 7
별칭: Pandas merge, DataFrame.merge, pandas join, SQL join in pandas
정의 는 두 DataFrame 을 SQL join 처럼 결합. 4 가지 join 타입 (inner / left / right / outer) 지원. 시각화 4 가지 join 타입…
[Pandas] merge_asof pandas
별칭: Pandas merge_asof, as-of join, 시간 매칭 merge
정의 는 가장 가까운 키 기준 join. 일반 가 정확히 일치하는 키만 매칭하는 반면, 는 이전 (또는 가장 가까운) 키를 찾는다. 시계열 데이터 (가격, 이벤트) 와 다른 시계…
[Pandas] mode / factorize pandas ← 2
별칭: Pandas mode / factorize, Pandas mode, Pandas factorize, 최빈값 pandas
정의 - : 가장 빈번한 값 (최빈값) 반환 - : 고유값을 정수 코드로 변환 (label encoding) mode <CodeWithOutput language="python"…
[Pandas] MultiIndex pandas ← 2
별칭: Pandas MultiIndex, 계층 인덱스, hierarchical index
정의 MultiIndex 는 여러 단계 (level) 의 라벨로 구성된 . SQL 의 composite key 와 비슷, 그룹화된 데이터를 자연스럽게 표현. 생성 인덱싱 <Cod…
[Pandas] nlargest / nsmallest / rank pandas ← 1
별칭: Pandas nlargest, Pandas nsmallest, Pandas rank, Pandas nlargest / rank, Top-N pandas
정의 - : 상위 N 개 행 ( 보다 빠름) - : 하위 N 개 행 - : 각 원소의 순위 (1, 2, 3, ...) nlargest / nsmallest <CodeWithOut…
[Pandas] Nullable Types (Int64, boolean, string[pyarrow]) pandas ← 2
별칭: Pandas Nullable Types, Pandas nullable, Pandas Int64, Pandas boolean, Pandas string
정의 Nullable dtypes 는 NaN/None 을 타입 그대로 표현할 수 있는 pandas 의 새 타입 시스템. NumPy 기반의 (NaN 미허용) 의 한계를 극복. - …
[Pandas] pipe / method chaining pandas
별칭: Pandas pipe, pandas method chain, Pandas 체이닝
정의 는 method chain 안에 사용자 함수를 끼워 넣기. 와 동등하지만 chain 의 흐름을 유지한다. 왜 pipe 인가 체이닝의 가독성을 위해. 기본 사용 func 가 …
[Pandas] pipe / method chaining pandas ← 1
별칭: Pandas pipe / method chaining, .pipe, method chaining, chainable pandas
정의 는 DataFrame 자체를 함수의 첫 인자로 넘겨 method chaining 을 확장. functional style Pandas. 문제: 중간 변수 남발 가독성 나쁘고…
[Pandas] pivot pandas ← 5
별칭: Pandas pivot, DataFrame.pivot, long-to-wide
정의 는 long-format → wide-format 변환. 한 열의 고유 값들이 새 컬럼이 되고, 원래 데이터는 그 자리에 배치된다. 집계가 없으므로 같은 (index, co…
[Pandas] pivot_table pandas ← 8
별칭: Pandas pivot_table, pd.pivot_table, Excel pivot
정의 는 의 확장. 집계 함수를 동반 해 중복 (index, columns) 도 처리. Excel 의 피벗 테이블과 가장 가까운 기능. 기본 <CodeWithOutput lang…
[Pandas] PyArrow Backend pandas ← 2
별칭: Pandas pyarrow backend, Pandas pyarrow, Pandas arrow, Pandas 2.0 arrow
정의 pandas 2.0 부터 Apache Arrow 를 백킹으로 사용 하는 새 dtype 시스템. NumPy 기반의 한계 (메모리, 문자열, 타입 다양성) 를 크게 개선. 적용…
[Pandas] query / eval pandas ← 6
별칭: Pandas query, Pandas eval, DataFrame.query, pandas 문자열 필터
정의 - : 문자열로 boolean 표현식 을 전달해 행 필터링 - : 문자열로 계산 표현식 을 평가 의 가독성 있는 대안. query 기본 긴 조건일수록 query 가 짧고 읽…
[Pandas] read_csv / to_csv pandas ← 9
별칭: Pandas read_csv, Pandas to_csv, CSV pandas
정의 는 CSV (Comma-Separated Values) 파일 또는 비슷한 텍스트 형식을 으로 읽는 함수. pandas 사용의 99% 가 여기서 시작. 대응 출력 함수는 . …
[Pandas] read_excel / to_excel pandas ← 5
별칭: Pandas read_excel, Pandas to_excel, Excel pandas, 엑셀 pandas
정의 는 Excel 파일 (.xlsx, .xls) 을 으로 읽는 함수. 한국 실무에서 매우 자주 쓰인다. 의존 라이브러리 | 형식 | 필요한 패키지 | |:---|:---| | …
[Pandas] read_json / to_json pandas ← 2
별칭: Pandas read_json, Pandas to_json, JSON pandas
정의 은 JSON 문자열 또는 파일을 으로 변환. orient 파라미터가 핵심, JSON 구조를 어떻게 해석할지 결정한다. orient 옵션 비교 | orient | 구조 | 적…
[Pandas] read_parquet / to_parquet pandas ← 2
별칭: Pandas read_parquet, Pandas to_parquet, Parquet pandas, Apache 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
정의 - : SQL 결과 → DataFrame - : DataFrame → DB 테이블 SQLAlchemy 의 connection / engine 객체를 사용. 직접 sqlite…
[Pandas] replace / astype pandas ← 3
별칭: Pandas replace / astype, Pandas replace, Pandas astype, 값 치환 pandas, dtype 변환
정의 - : 특정 값을 다른 값으로 치환 - : dtype 변환 replace 기본 <CodeWithOutput language="python" outputLanguage="te…
[Pandas] resample pandas ← 7
별칭: Pandas resample, DataFrame.resample, 시계열 집계
정의 는 시계열 데이터를 다른 빈도 (월별, 일별, 시간별 등) 로 재샘플링하면서 집계한다. 의 시계열 버전. DatetimeIndex (또는 으로 datetime 컬럼) 이 필…
[Pandas] rolling / expanding pandas ← 5
별칭: Pandas rolling, Pandas expanding, 이동 평균, windowed pandas
정의 - : 고정 크기 슬라이딩 윈도우 (이동 평균 등) - : 시작부터 누적 윈도우 (cumulative) - : 지수 가중 이동 평균 시각화 rolling 기본 <CodeWi…
[Pandas] sample pandas
별칭: Pandas sample, DataFrame.sample, random sampling
정의 는 행/열을 랜덤 샘플링. 빠른 탐색, train/test split, 데이터 검증에 자주 사용. 기본 주요 옵션 | 옵션 | 의미 | |:---|:---| | | 샘플 개…
[Pandas] Series pandas ← 8
별칭: Pandas Series, pandas.Series, 1차원 pandas
정의 는 1차원 레이블 배열. NumPy + 의 결합. 의 한 열이 곧 Series. 핵심 속성 | 속성 | 의미 | |:---|:---| | | numpy array | | |…
[Pandas] SettingWithCopyWarning pandas
별칭: SettingWithCopyWarning, Pandas copy view, Pandas chained indexing
정의 은 pandas 가 가장 자주 던지는 경고. chained indexing 으로 view 인지 copy 인지 모호한 상태에 값을 할당 할 때 발생. 왜 위험한가 - 가 co…
[Pandas] shift / diff / pct_change pandas ← 2
별칭: Pandas shift / diff, Pandas shift, Pandas diff, Pandas pct_change, 시차 pandas
정의 - : 값을 n 칸 밀기 (lag/lead) - : n 칸 차이 (= ) - : 변화율 (= ) 시계열 분석의 기본 도구. 전일 대비 / 전월 대비 / 누적 증가율 등. s…
[Pandas] sort_values / sort_index pandas ← 1
별칭: Pandas sort_values, Pandas sort_index, Pandas sort_values / sort_index, pandas 정렬
정의 - : 컬럼 값 기준 정렬 - : index (행 또는 열 라벨) 기준 정렬 기본은 오름차순, 로 내림차순. sortvalues 기본 <CodeWithOutput langu…
[Pandas] stack / unstack pandas ← 3
별칭: Pandas stack, Pandas unstack, Pandas stack-unstack, Pandas stack / unstack, MultiIndex 변환
정의 - : 가장 안쪽 컬럼 레벨 → 행 레벨 (DataFrame → Series 또는 더 좁은 DataFrame) - : 가장 안쪽 행 레벨 → 컬럼 레벨 / 의 MultiIn…
[Pandas] str regex (extract / split / replace) pandas ← 3
별칭: Pandas regex, Pandas str extract, Pandas str split, Pandas str regex, Pandas 정규식
정의 의 정규식 기반 메서드. 패턴 추출, 분리, 치환 의 핵심. str.extract 캡처 그룹으로 부분 문자열을 새 컬럼으로. <CodeWithOutput language="…
[Pandas] str.contains / startswith / endswith pandas ← 2
별칭: Pandas str pattern, Pandas str contains, 문자열 매칭 pandas
정의 문자열 Series 에서 패턴 매칭 으로 필터링/검색하는 메서드들. SQL 의 , 패턴. contains <CodeWithOutput language="python" out…
[Pandas] to_datetime pandas ← 7
별칭: Pandas to_datetime, pd.to_datetime, 날짜 변환
정의 는 문자열/숫자를 datetime 으로 변환. pandas 의 시계열 작업의 시작. 기본 <CodeWithOutput language="python" outputLangua…
[Pandas] transform / apply pandas ← 3
별칭: Pandas transform, Pandas apply, Pandas transform / apply, groupby transform
정의 | 메서드 | 입력 | 출력 | 용도 | |:---|:---|:---|:---| | | 그룹 | 같은 shape | 정규화, 보충 | | | 그룹 | 임의 shape | 가…
[Pandas] unique / nunique pandas
별칭: Pandas unique, Pandas nunique, 고유값 pandas
정의 - : 고유값을 등장 순서대로 numpy array 반환 - : 고유값의 개수 반환 (NaN 제외) - : 각 컬럼/행의 고유값 개수 SQL 의 / 와 동일. 사용 <Cod…
[Pandas] value_counts pandas ← 5
별칭: Pandas value_counts, Series value_counts, 빈도수 pandas
정의 는 각 고유값의 등장 빈도 를 내림차순 Series 로 반환. SQL 의 . pandas 1.1+ 부터는 도 가능 (여러 컬럼 조합). 기본 <CodeWithOutput l…
[Pattern] API Gateway: BFF, 라우팅, auth, rate limit distributed-systems ← 4
별칭: 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 ← 2
별칭: 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 ← 9
별칭: 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 ← 11
별칭: 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…
[PostgreSQL] JSONB: 장점과 단점, 인덱싱, 사용 패턴 database-internals ← 2
별칭: PostgreSQL JSONB, jsonb, json vs jsonb, GIN jsonb, jsonb_path_ops, JSONB indexing
정의 JSONB (Binary JSON, PG 9.4+) = PostgreSQL 의 binary 직렬화된 JSON. 인덱싱 가능 + 빠른 query 가 과의 핵심 차이. [!IM…
[Python] @property, getter, setter, deleter python
별칭: python property, @property, getter setter, computed property
정의 는 메서드를 속성처럼 접근할 수 있게 해주는 데코레이터다. 호출자는 처럼 보지만 내부적으로는 함수가 실행되어 계산되거나 검증된 값을 반환한다. Java의 getter/set…
[Python] 가비지 컬렉션: refcount + 순환 GC python
별칭: python gc, garbage collection, reference counting, cyclic gc, weakref, __del__
정의 CPython의 메모리 관리는 두 메커니즘의 조합이다. 1. Reference counting: 모든 객체에 참조 카운트( )가 있고, 카운트가 0이 되면 즉시 해제. 즉각…
[Python] 가상환경, pyproject.toml, packaging python
별칭: python venv, virtualenv, pip, pyproject.toml, python packaging, wheel, PEP 517, PEP 621, uv, poetry
정의 Python 프로젝트의 격리·의존성·배포는 세 축이 있다. - 가상환경 (venv, virtualenv, uv, conda): 프로젝트별 의존성 격리 - 패키지 매니저 (p…
[Python] 기본 문법: 들여쓰기, 주석, 변수 python
별칭: python 문법, python syntax, 들여쓰기, indentation, python 주석, python 변수
정의 Python은 들여쓰기(indentation)로 블록을 구분하는 언어다. C/Java의 중괄호 대신 일관된 들여쓰기 수준이 블록 스코프를 결정한다. PEP 8은 공백 4칸을…
[Python] 데코레이터: @decorator, functools.wraps, 클래스 데코레이터 python
별칭: python decorator, @decorator, functools.wraps, decorator with args, class decorator
정의 데코레이터(decorator)는 함수/클래스를 받아 다른 함수/클래스를 반환하는 callable이다. 문법은 단순한 호출 변환에 불과: 기본 데코레이터 는 원래 함수의 행동…
[Python] 문자열 포매팅: %, .format, f-string, Template python
별칭: python string formatting, %s formatting, str.format, f-string, string.Template, format spec
정의 Python에는 4가지 문자열 포매팅 방법이 있다. 새 코드는 f-string 우선. | 방법 | 도입 | 상태 | |------|------|------| | 포매팅 | …
[Python] 바이트코드와 dis 모듈 python
별칭: python bytecode, dis module, PYC, specializing adaptive interpreter, PEP 659
정의 CPython 인터프리터는 Python 소스를 바이트코드로 컴파일해 평가 루프( 의 메인 switch)에서 실행한다. 바이트코드는 스택 기반 가상 머신을 위한 작은 명령어 …
[Python] 상속, super, MRO, ABC python
별칭: python inheritance, super, MRO, method resolution order, ABC, abstract base class, 다중 상속
단일 상속 super() 부모 메서드를 호출하려면 . 다중 상속에서 MRO를 따라 다음 클래스로 디스패치. 인자 없이 호출하면 현재 클래스/인스턴스가 자동 주입된다(Python …
[Python] 스코프와 LEGB, global, nonlocal python
별칭: python scope, LEGB, python global, python nonlocal, namespace, 변수 스코프
LEGB 규칙 Python은 이름 해결 시 L → E → G → B 순서로 스코프를 탐색한다. | 단계 | 의미 | 예 | |------|------|---| | Local | …
[Python] 연산자: 비교, 산술, 비트, 멤버십 python
별칭: 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
별칭: 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
별칭: 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
별칭: python async generator, async for, async iterator, aiter anext, PEP 525, PEP 530
정의 Python의 비동기 모델은 코루틴 + iterator의 조합으로 확장된다. 동기 generator가 lazy 시퀀스를 만들듯, async generator는 각 값 사이에…
[Python] asyncio: 비동기 프로그래밍 python ← 1
별칭: py-async-await, python-asyncio, asyncio, 파이썬 비동기, async python
정의 asyncio 는 Python 의 표준 비동기 I/O 라이브러리 (3.4+). event loop 위에서 coroutine 을 스케줄링. 기본 병렬 실행 gather 세 요…
[Python] asyncio: 이벤트 루프, async/await python
별칭: 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
별칭: python class, 파이썬 클래스, __init__, self, 인스턴스 메서드
클래스 정의 self Python 메서드의 첫 번째 인수는 인스턴스 자신이다. 관례적으로 라 부른다(언어가 강제하진 않지만 PEP 8 권장). 호출 시 는 내부적으로 로 바인딩된…
[Python] collections: Counter, deque, defaultdict, OrderedDict, ChainMap python
별칭: python collections, Counter, deque, defaultdict, OrderedDict, ChainMap, namedtuple
정의 모듈은 dict/list/tuple/set의 특수화 컨테이너를 제공한다. 표준 라이브러리에 있는 데이터 구조 도구함의 핵심. | 클래스 | 용도 | |--------|---…
[Python] collections.abc: 추상 컬렉션 인터페이스 python
별칭: python collections.abc, Iterable, Sequence, Mapping, Set, MutableSequence, abc
정의 는 컬렉션의 추상 베이스 클래스를 제공한다. 사용자 정의 컬렉션이 빌트인과 같은 인터페이스를 구현했음을 명시하거나, isinstance 검사에 사용. PEP 3119. 타입…
[Python] Comprehension: list, dict, set, generator python
별칭: python comprehension, list comprehension, dict comprehension, set comprehension, generator expression
정의 Comprehension(컴프리헨션)은 iterable로부터 list/set/dict/generator를 선언적·간결하게 만드는 문법이다. 일반 + 보다 30-50% 빠르며…
[Python] concurrent.futures: ThreadPoolExecutor, ProcessPoolExecutor python
별칭: python concurrent.futures, ThreadPoolExecutor, ProcessPoolExecutor, Future, Executor
정의 는 과 위에 고수준 Executor 인터페이스를 제공한다. 워커 풀, Future 객체, map/submit API로 동기 코드처럼 병렬 작업을 작성할 수 있다. 두 Exe…
[Python] Context Manager: with, __enter__, contextlib python
별칭: python context manager, with statement, __enter__, __exit__, contextmanager, ExitStack
정의 Context manager는 와 메서드를 가진 객체로, 문을 통해 자원 획득/해제를 안전하게 묶는다. 파일·락·DB 트랜잭션·임시 설정처럼 "들어가면 반드시 나와야 하는"…
[Python] contextvars: 비동기 친화 컨텍스트 변수 python
별칭: 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
별칭: 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
별칭: python descriptor, data descriptor, non-data descriptor, __get__, __set__
정의 Descriptor는 , , 중 하나 이상을 구현한 클래스다. 다른 클래스의 클래스 속성으로 사용되면 그 속성 접근이 descriptor의 메서드를 통해 라우팅된다. , ,…
[Python] dict: 해시 맵과 삽입 순서 보장 python
별칭: python dict, 파이썬 딕셔너리, dictionary, hash map, ordered dict
정의 는 Python의 해시 맵 자료구조다. Python 3.7부터 삽입 순서를 언어 사양으로 보장한다(이전엔 CPython 3.6 구현 디테일이었음). 평균 O(1) 조회·삽입…
[Python] enum: Enum, IntEnum, Flag, StrEnum python
별칭: python enum, IntEnum, StrEnum, Flag, auto, Enum members
정의 은 고정된 이름-값 매핑을 정의하는 표준 모듈. 마법 숫자나 문자열 상수를 타입화된 멤버로 대체해 타입 안정성·가독성·IDE 지원을 얻는다. Enum 기본 멤버는 싱글톤. …
[Python] float, Decimal, Fraction python
별칭: python float, python decimal, python fraction, 부동소수점, 정밀 산술
정의 Python의 실수 산술은 세 가지 타입을 제공한다. - : IEEE 754 double precision (64비트). C 과 동일. 빠르지만 부정확. - : 임의 정밀도…
[Python] functools: cache, partial, reduce, singledispatch python
별칭: python functools, lru_cache, cache, partial, reduce, singledispatch, cached_property
정의 는 함수형 프로그래밍 도구와 함수 변환 데코레이터를 제공하는 표준 라이브러리. 메모이제이션, 부분 적용, 디스패치, 데코레이터 메타데이터 등을 다룬다. lrucache / …
[Python] GIL, multiprocessing 그리고 free-threaded (3.14) python
별칭: 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
별칭: 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
별칭: 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
별칭: python int, python integer, 임의 정밀도, arbitrary precision, bignum
정의 Python의 는 임의 정밀도 정수(arbitrary precision integer)다. C의 / 처럼 비트 폭이 고정되지 않으며, 메모리가 허용하는 한 무한히 큰 정수를…
[Python] Iterator, Generator, yield python
별칭: 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
별칭: 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
별칭: 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
별칭: python metaclass, type metaclass, __init_subclass__, metaclass conflict
정의 Metaclass는 "클래스의 클래스"다. 일반 클래스가 인스턴스의 행동을 결정하듯, metaclass는 클래스 자체의 행동(생성, 속성, 메서드 추가)을 결정한다. 모든 …
[Python] multiprocessing: Process, Pool, Queue, Manager python
별칭: python multiprocessing, Process, Pool, Manager, shared memory, fork, spawn
정의 은 별도 프로세스로 작업을 분산. GIL 우회 → 진정한 CPU 병렬. 각 프로세스는 독립된 메모리 공간이라 데이터 공유에 오버헤드(pickle, IPC). CPU 집약 작…
[Python] None, bool, Truthiness python
별칭: 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
별칭: python pydantic, BaseModel, validators, FastAPI, data validation
정의 은 타입 힌트 기반 런타임 검증 + 직렬화 라이브러리. FastAPI, LangChain, Hugging Face 등 수많은 라이브러리의 기반. v2부터 Rust 코어로 빠…
[Python] pytest: fixture, parametrize, mock python
별칭: python pytest, pytest fixture, parametrize, monkeypatch, conftest
정의 는 Python 표준 테스트 프레임워크의 사실상 표준(stdlib는 이지만 pytest가 더 강력). 단순한 함수 로 시작해서 fixture, parametrize, plu…
[Python] random, statistics, math python
별칭: python random, python statistics, python math, random seed, Mersenne Twister
random: 의사 난수 은 Mersenne Twister 기반 PRNG. 통계·시뮬레이션·게임용. 보안엔 사용. 기본 함수 seed: 재현 가능 seed 없으면 OS의 rand…
[Python] re: 정규 표현식 python
별칭: python regex, python re, regular expression, re.compile, re.match
정의 모듈은 PCRE 호환 정규 표현식(완전 호환은 아니나 거의 유사) 엔진을 제공한다. 백트래킹 NFA 기반으로 표현력은 강하나 catastrophic backtracking …
[Python] set, frozenset python
별칭: 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
별칭: 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
별칭: python textwrap, locale, unicodedata, string normalization, NFC, NFD
정의 텍스트 처리 표준 모듈 3개. - : 줄바꿈, 들여쓰기 정렬 - : 지역화 (숫자/통화/날짜 포맷) - : 유니코드 정규화·분류·검색 textwrap 긴 텍스트를 일정 폭으…
[Python] threading: Thread, Lock, Event python
별칭: python threading, Thread, Lock, RLock, Event, Condition, Barrier, GIL
정의 은 OS 스레드 기반 동시성 모듈. GIL 때문에 CPU 바운드 작업은 가속되지 않으나 I/O 바운드(네트워크, 디스크) 작업의 병렬화는 가능. 3.13+ free-thre…
[Python] tracemalloc, sys.getsizeof: 메모리 프로파일링 python
별칭: python tracemalloc, memory profiling, sys.getsizeof, memory leak, snapshot
정의 은 Python의 메모리 할당 추적기(PEP 454, 3.4+). 어디서 메모리가 할당되었는지 파일·줄 단위로 통계 수집. 메모리 누수 추적과 핫스팟 발견에 표준 도구. 기…
[Python] tuple: 불변 시퀀스와 NamedTuple python
별칭: python tuple, 파이썬 튜플, namedtuple, tuple unpacking
정의 은 불변(immutable) 시퀀스다. 와 거의 같은 API를 가지나 생성 후 변경 불가하며, 그 덕에 dict 키나 set 원소로 사용 가능하다(해시 가능). 함수의 다중…
[Python] TypedDict, Protocol, runtime_checkable python
별칭: 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
별칭: python typing, type hints, Optional, Union, Generic, TypeVar
정의 Python 타입 힌트(PEP 484)는 런타임에 강제되지 않는 정적 어노테이션이다. , , 같은 타입 체커가 정적 분석에 사용. 런타임은 어노테이션을 무시 (단, 일부 프…
[Python] unittest.mock: Mock, patch, MagicMock python
별칭: 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 ← 2
별칭: 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
별칭: 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
별칭: 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 ← 2
별칭: 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
별칭: 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
별칭: 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
별칭: 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
별칭: 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 ← 12
별칭: 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 ← 4
별칭: 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 ← 21
별칭: 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 ← 5
별칭: 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 ← 11
별칭: 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
별칭: 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 ← 9
별칭: 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 ← 4
별칭: 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 의 흐름. 단일 인덱싱 | 동작 | 결과 | …
[Search] ES Mapping: field type, dynamic, multi-field search ← 6
별칭: 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 ← 5
별칭: 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 ← 5
별칭: 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 ← 3
별칭: 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
정의 는 두 개의 Map 을 하나의 view 로 합쳐서 보여주는 read-mostly 자료구조. 첫 번째 Map 이 우선, 없으면 두 번째 Map 을 본다. 는 여러 Iterat…
[Spring] ConcurrentLruCache spring
별칭: ConcurrentLruCache, org.springframework.util.ConcurrentLruCache, Spring LRU Cache
정의 는 Spring 5.3+ 의 thread-safe LRU 캐시. 크기 제한이 있고 가장 오래 안 쓰인 entry 부터 제거. 내부적으로 + (또는 비슷한 자료구조) 조합으로…
[Spring] ConcurrentReferenceHashMap spring ← 1
별칭: 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
별칭: LinkedCaseInsensitiveMap, org.springframework.util.LinkedCaseInsensitiveMap, case insensitive map
정의 는 을 기반으로 key 비교를 대소문자 무시 로 하는 Map. 단, 원본 key (대소문자 보존) 도 유지. HTTP 헤더 같은 도메인에서 과 을 같은 key 로 다뤄야 할…
[Spring] MultiValueMap & LinkedMultiValueMap spring
별칭: 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 ← 4
별칭: 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 ← 20
별칭: 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 ← 1
별칭: 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 ← 11
별칭: 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 가지: , , , , . 같은 테…
[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 ← 2
별칭: 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 ← 6
별칭: 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 ← 2
별칭: 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 ← 4
별칭: 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
정의 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
정의 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 ← 1
별칭: 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 ← 4
별칭: 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 인 …

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기