2025.07.05F·156CPU 스케줄링: 운영체제는 어떻게 공평함을 연기하는가? (FCFS부터 Linux CFS까지)
CPU는 하나인데 프로그램은 수십 개 실행됩니다. 운영체제가 0.01초 단위로 프로세스를 교체하며 '동시 실행'의 환상을 만드는 마술. 선점형 vs 비선점형, 기아 현상(Starvation), 그리고 현대적 해법인 MLFQ를 파헤칩니다.
CSOSScheduling
→2025.07.01F·03Bloom Filter: '없다는 건 확실해, 있다는 건... 글쎄?' (확률적 자료구조)
엄청난 데이터를 아주 적은 메모리로 검사하는 방법. 100% 정확도를 포기하고 99.9%의 효율을 얻는 확률적 자료구조의 세계. 비트코인 지갑과 스팸 필터는 왜 이것을 쓸까요?
Data StructureAlgorithmBig Data
→2025.06.28F·02Trie(트라이): 검색어 자동완성은 어떻게 0.01초 만에 나올까?
문자열 검색에 특화된 트리 자료구조. 접두사 트리(Prefix Tree)라고도 불리는 Trie의 구조와 삽입/검색 과정, 그리고 메모리 효율을 극대화한 Radix Tree까지 다뤄봤습니다.
Data StructureAlgorithmSearch
→2025.06.25F·01Red-Black Tree: 리눅스 커널과 Java HashMap의 심장 (자가 균형 트리 완벽 해부)
이진 탐색 트리(BST)가 편향되는 것을 막는 마법. 5가지 불변 규칙(5 Rules)부터 회전(Rotation), 그리고 AVL 트리와의 비교까지. 왜 OS 스케줄러는 이 트리를 선택했을까요?
Data StructureAlgorithmCS
→2025.05.26M·01CNN(합성곱 신경망): 컴퓨터는 어떻게 고양이를 알아볼까? (비전공자도 이해하는 딥러닝)
인공지능이 이미지를 인식하는 마법의 열쇠, CNN의 모든 것을 파헤칩니다. 픽셀 덩어리에서 의미를 찾아내는 컨볼루션(Convolution)과 풀링(Pooling)의 수학적 원리부터, LeNet, AlexNet, ResNet으로 이어지는 딥러닝의 진화 과정, 그리고 자율주행과 의료 영상 분석 등 실제 활용 사례까지 쉽고 깊이 있게 설명합니다.
AIDeep LearningComputer Vision
→2025.05.26F·116해시 함수: 갈아버린 고기는 다시 소가 될 수 없다
비밀번호를 안전하게 저장하는 유일한 방법. 단방향 암호화(One-way Encryption)와 눈사태 효과(Avalanche Effect) 이해하기.
CSSecurityHash
→2025.04.27F·88백트래킹: 막다른 길에서 되돌아가기
무식하게 다 해보기(Brute Force)는 너무 느립니다. 가다가 '이 길은 아닌가 봐' 싶으면 과감하게 돌아오는 용기. N-Queen 문제가 대표적입니다.
CSAlgorithmBacktracking
→2025.04.26F·87그리디 알고리즘: 당장 최선을 선택
마시멜로 실험 실패? 미래를 생각하지 않고 당장 눈앞의 이익만 쫓는 알고리즘. 하지만 때로는 그게 정답일 때가 있습니다.
CSAlgorithmGreedy
→2025.04.25F·86다이나믹 프로그래밍(DP): 중복 계산 제거
이름이 멋있어서 쫄았나요? 사실은 '기억하기(Memoization)'일 뿐입니다. 피보나치 수열을 예제로 DP의 마법을 체험해봅니다.
CSAlgorithmDP
→2025.04.24F·85BFS와 DFS: 그래프 탐색의 두 축
미로를 탈출하는 두 가지 방법. 넓게 퍼져나갈 것인가(BFS), 한 우물만 팔 것인가(DFS). 최단 경로는 누가 찾을까?
CSAlgorithmGraph
→2025.04.22F·83병합 정렬: 반갈죽의 미학
일단 무조건 반으로 쪼개고 본다. 쪼개고 합치면서 정렬하는 '분할 정복'의 정석. 퀵 소트보다 느리지만 변수를 주지 않는 모범생.
CSAlgorithmSorting
→2025.04.21F·82퀵 정렬(Quick Sort): 분할 정복의 대표
이름부터 빠릅니다. 피벗(Pivot)을 기준으로 나누고 또 나누는 분할 정복 알고리즘. 왜 최악엔 느린데도 가장 많이 쓰일까요?
CSAlgorithmSorting
→2025.04.20F·81정렬 알고리즘 비교: 버블, 선택, 삽입
가장 기본이 되는 O(N²) 정렬 알고리즘 3대장. 왜 버블 정렬은 실제로 안 쓸까? 삽입 정렬이 퀵 정렬보다 빠를 때는 언제일까?
CSAlgorithmSorting
→2025.04.19F·80그래프(Graph): 지하철 노선도와 우리 사이
트리(Tree)가 족보라면, 그래프(Graph)는 거미줄입니다. 내비게이션 길 찾기와 페이스북 친구 추천의 알고리즘.
CSDataStructureGraph
→2025.04.12F·75큐(Queue): 공평함의 미학 (완전정복)
맛집 줄 서기부터 롤(LoL) 매칭, 그리고 백엔드의 핵심인 메시지 큐(Kafka)까지. 선형 큐의 문제점, 원형 큐(Ring Buffer) 구현, 그리고 스레드 안전한 Blocking Queue까지 파헤칩니다.
CSDataStructureQueue
→2025.04.11F·74스택(Stack): 프링글스 통의 마법 (완전정복)
가장 늦게 들어간 게 가장 먼저 나온다(LIFO). 뒤로 가기 버튼, 계산기의 원리(RPN), 깊이 우선 탐색(DFS), 그리고 컴파일러의 괄호 검사까지.
CSDataStructureStack
→2025.04.08F·71Big O 표기법: 알고리즘의 효율성을 증명하는 언어 (완전정복)
O(1)과 O(N^2)의 차이는 실제로 서버 운명을 가릅니다. 상환 분석, P vs NP, 튜링 머신, 그리고 공간 복잡도까지 Big O의 모든 것을 파헤칩니다.
CSAlgorithmBigO
→2025.04.03F·67재귀함수가 스택 안 터지고 10만 번 도는 법 (Tail Call Optimization)
재귀의 치명적 단점인 '스택 폭발'을 막는 기술. 바통 터치만 하고 퇴근하는 똑똑한 함수들 이야기.
CSAlgorithmRecursion
→2025.04.02F·66재귀: 자기 자신을 호출하는 마법
마트료시카 인형 열기. 종료 조건(Base Case)이 없으면 영원히 끝나지 않는 무한 루프의 늪에 빠집니다.
CSAlgorithmRecursion
→2025.03.14F·52페이지 교체 알고리즘: FIFO, LRU, LFU
책상(RAM)이 꽉 찼을 때 어떤 책을 버려야 할까? 가장 오래된 것? 가장 안 본 것? OS의 선택장애 해결법.
CSOSMemory
→2025.03.08F·46세마포어 vs 뮤텍스 (Semaphore vs Mutex): 동기화의 모든 것
화장실 키(Mutex)와 레스토랑 대기표(Semaphore)로 이해하는 동기화. 이진 세마포어와 뮤텍스의 결정적 차이(소유권), 스핀락, 모니터, 그리고 우선순위 역전 문제까지.
CSOSConcurrency
→2025.03.07F·45교착 상태(Deadlock): 멈춰버린 컴퓨터와 철학자들의 침묵 (완전정복)
스레드가 서로를 영원히 기다리는 현상, 데드락. 식사하는 철학자 문제부터 은행원 알고리즘, 리소스 할당 그래프, 분산 시스템에서의 데드락 탐지(Chandy-Misra-Haas)까지 심층 분석합니다.
CSOSDeadlock
→2025.01.25F·07비트 조작(Bit Manipulation): 0과 1로 마법을 부리는 기술
비트 연산이 왜 필요할까? 홀짝 판별부터 XOR 스왑, 블룸 필터의 원리, 엔디안(Endianness), 그리고 리액트의 우선순위 관리까지. 로우 레벨 최적화의 핵심을 깊이 있게 다룹니다.
CSAlgorithmBitwise
→