Category
CS
자료구조, 알고리즘, 운영체제 등 컴퓨터 과학 기초 · 14개의 글
-
메모리 할당은 어떻게 빨라졌을까?
glibc, jemalloc, TCMalloc, mimalloc 이 작은 할당과 스레드 경합을 다루는 방식을 JVM TLAB 과 비교합니다.
-
코어를 늘렸는데 왜 빨라지지 않을까?
같은 코어와 메모리로도 성능이 달라지는 이유를 Cache Affinity, False Sharing, NUMA로 연결하고, Crossbeam의 CachePadded와 Seastar, 토스증권 Milvus 사례로 데이터 배치를 살펴봅니다.
-
Java 힙은 여유로운데 컨테이너는 왜 종료될까?
Picnic 의 장애 사례로, Java 힙에 여유가 있어도 네이티브 메모리 때문에 컨테이너가 종료되는 이유를 살펴봅니다.
-
OSTEP에서 JVM으로: 실행 주체와 상태를 구분하기
Java 실행에서 OS와 HotSpot의 역할을 구분하고, OS의 preemption만으로 GC를 수행할 수 없는 이유를 Safepoint와 OopMap으로 연결합니다.
-
CS 스터디: 트랜잭션, 격리 수준, 락
트랜잭션·격리 수준·락의 기본 개념을 정리하고, 트랜잭션 경계와 재시도, 중복 처리, 동시성 테스트까지 확장해 살펴봅니다.
-
커널은 CPU에 요청을 보내는 존재일까?
OSTEP 6장을 읽으며 커널과 CPU의 관계, 첫 실행의 트랩 복귀, 문맥 교환의 두 번의 상태 저장과 스택 전환을 이해한 과정을 정리합니다.
-
CPU는 무엇을 실행할까? 프로세스에서 가상 스레드와 cgroup까지
프로세스와 OS 스레드의 차이에서 출발해 Java VT의 carrier, syscall, cgroup CPU quota와 Linux 스케줄링 큐가 어떻게 이어지는지 살펴봅니다.
-
CS 스터디 7주차: 정규화, 조인, 인덱스
고객 이름의 중복에서 시작해 테이블과 키, 트랜잭션, 조인, 인덱스가 각각 해결하는 문제를 살펴봅니다.
-
6주차 웹, 네트워크
인터넷과 웹, IP 주소와 포트, 소켓, HTTP·HTTPS, 쿠키와 세션의 핵심 개념을 정리합니다.
-
네트워크 기초: OSI 7계층부터 TCP·UDP까지
OSI 7계층과 TCP/IP 모델의 관계부터 캡슐화, TCP 연결·신뢰성·흐름 제어, UDP의 특징과 선택 기준까지 네트워크 통신의 핵심을 정리합니다.
-
CS 스터디 4주차: 동기화, 교착 상태와 메모리 관리
Race Condition과 임계 구역부터 Mutex, Semaphore, Deadlock, Paging, 가상 메모리와 페이지 교체까지 정리합니다.
-
CS 스터디 3주차: 프로세스, 스레드와 컨텍스트 스위칭
프로그램·프로세스·스레드의 차이부터 상태 전이, 동시성과 병렬성, 컨텍스트 스위칭의 실제 비용까지 정리합니다.
-
CS 스터디 2주차: 핵심 알고리즘 지도
정렬과 탐색부터 그래프, DP, 그리디, 최단 경로, MST, 문자열 매칭까지 문제 유형별 핵심 알고리즘을 정리합니다.
-
CS 스터디 1주차: 자료구조를 선택하는 기준
배열, 연결 리스트, 해시 테이블, 트리와 힙의 구조·복잡도·실전 선택 기준을 한 번에 정리합니다.