과학
Python과 수학 증명을 한 줄기로 익힙니다
완성된 글부터 하나씩 공개합니다.
입구
첫 번째 바퀴
- 딕셔너리와 집합 — 해시 테이블을 직접 만든다
- 리스트와 시퀀스 — 파이썬 데이터 모델
- 다차원 배열과 선형변환 — 2차원 배열은 함수다
- 부동소수점 — 실수는 완비가 아니다
- 정렬 — 비교만으로는 n log n이 한계
- 이분 탐색 — 단조면 log n
- 스택·큐·덱·힙 — 순서를 들고 있는 방법들
- 세기와 확률의 공리 — 생일 문제
- 기댓값의 선형성과 지시 변수 — 독립은 필요 없다
- 재귀와 분할 정복 — 마스터 정리
- DP 입문 — 상태·전이·기저, 메모이제이션은 데코레이터다
- 그래프와 탐색 — 큐 안의 거리는 두 값뿐
- 실수의 완비성 — 상한과 √2
- 수열의 수렴 — ε–N에서 코시까지
두 번째 바퀴
- 읽히는 코드 — 세 질문과 다시 쓰기
- 그리디 — 교환 논증
- 백트래킹·두 포인터·슬라이딩 윈도우
- 위상 정렬과 DAG DP·트리 DP
- 최단 경로 — Dijkstra와 Bellman-Ford
- 분리 집합과 MST
- 관계형 모델과 SQL — 테이블은 집합이다
- 표 데이터 — pandas와 레이블 정렬
- 연립방정식과 가우스 소거 — np.linalg.solve의 정체
- 벡터공간과 네 기본 부분공간 — 열공간·영공간
- 급수 — 합의 점근과 루프 비용
- 조건부 확률과 베이즈 — 검사 역설
- HTTP 요청의 일생 — 프로토콜에서 ASGI까지
- 4계층 책임 — 이 코드는 어디에 속하나
- 클래스와 프로토콜 — 자료구조를 만드는 법
- 소수와 체·유클리드 — 정수론 1
세 번째 바퀴
- 프로그래밍 패러다임과 디자인 패턴 입문 — 문제의식 먼저, 언어의 역사
- Python의 한계 — 제한을 뚫기 어려운 문제 유형
- C 입문 — 포인터·메모리·컴파일
- C++ 입문 — STL과 경쟁 프로그래밍의 도구
- Java 입문 — 객체지향·JVM·동시성·엔터프라이즈 백엔드
- JavaScript·TypeScript 입문 — 이벤트 루프·브라우저·타입
- 극한과 연속 — ε–δ, IVT·EVT
- 미분 — 연쇄법칙은 역전파다
- MVT와 뉴턴 — 2차 수렴과 발산 조건
- 테일러와 볼록성 — 오차항이 학습률을 정한다
- 세그먼트 트리와 펜윅 — 구간은 log개로 쪼개진다
- 역추적·LCS·배낭·비트필드 DP
- 트리 — 지름·LCA·희소 배열·트라이·리루팅
- 모듈러 산술 — 역원·페르마·CRT
- 스레드·프로세스·코루틴 — 기다리는 일인가 계산하는 일인가
- 경쟁 조건과 임계 구역 — 모든 레이스의 원형
- 이벤트 루프 — async 라우터 하나가 왜 모두를 느리게 하나
- DB 설계 — E-R과 정규화
- 고급 SQL — 집계·순위는 SQL로
- 스키마는 계약이다 — pydantic·타입·디스크립터
- 표 데이터 2 — Polars·표현식·쿼리 엔진
- 패킷 교환과 지연 — 타임아웃 값의 근거
- 이산수학 묶음 — 관계·귀납·비둘기집·그래프 기초
- 기하 입문 — 외적·CCW·스위핑
네 번째 바퀴
- 메모리 계층과 캐시 — 2차원 배열 속도의 진짜 이유
- 행렬식과 기저변환 — 부피, 그리고 ‘det로 가역성 판단 금지’
- 고유값과 대각화 — 반복의 안정성과 마르코프
- 결합분포와 조건부 기댓값 — E[Y|X]는 최적 예측기
- 리만 적분과 FTC — 수치 적분의 차수
- 연속 확률변수 — 밀도·MGF·감마/베타
- 문자열 — KMP·Z·해싱
- 그래프의 연결성 — SCC·2-SAT·단절점·오일러
- 기하 1 — 볼록 껍질과 회전 캘리퍼스
- 프로세스·시그널·시스템 IO — graceful shutdown을 C로 본다
- CPU 스케줄링 — 워커 수의 근거
- 트랜잭션 경계 — 세션·UoW·Identity Map
- 예외 경계 — HTTP 관심사는 아래로 내려가지 않는다
- 테스트가 안 보는 것 — probe와 속성 기반 테스트
- 위임 규율 — decision은 사람, execution만 LLM
- N+1 — 로딩 전략과 플래너의 선택권
- 저장·버퍼·인덱싱 — B+트리와 인덱스가 안 타는 쿼리
- 트랜잭션과 직렬 가능성 — 그리고 교착
- MVCC — 격리 수준과 인덱스 컬럼 UPDATE
- 소켓 — 바이트 스트림 위의 프로토콜
- 신뢰적 전송과 TCP — 멱등성·재시도의 원형
- DNS와 브라우저 신뢰 경계 — CORS는 요청을 막지 않는다
- 학습 문제의 형식화 — E_in/E_out·퍼셉트론·지표
다섯 번째 바퀴
- 최대 유량·최소 컷·이분 매칭
- 내적·직교·사영 — 선형 회귀는 사영이다
- 그람-슈미트·QR — 정규방정식의 κ² 문제
- 다변수 미분 — 기울기·야코비안·경사하강
- 선형 회귀와 경사하강 — 모든 학습 루프
- 거리공간과 콤팩트 — 최소점은 왜 존재하나
- 집중 부등식과 극한정리 — 마르코프에서 CLT까지
- MLE와 피셔 정보 — 손실함수는 음의 로그우도다
- 가상 메모리 — 네이티브 할당이 힙에 안 보이는 이유
- 저장 장치와 IO — 페이지 캐시·fsync·블로킹
- 질의 최적화 — 플래너는 왜 그 조인을 골랐나
- 마이그레이션 거버넌스 — Alembic
- WAL과 복구 — 이 stage는 어느 시점 데이터인가
- PG 운영과 벤치마킹 — restore·VACUUM·pgbench
- 큐와 워커 — Celery↔︎RabbitMQ와 HOL blocking
- 멱등 파이프라인 — retry를 태스크 밖으로
- Redis 프리미티브와 분산 락 — TOCTOU
- Lazy Propagation·PST·머지 소트 트리
- DP 최적화 1 — 단조큐·자릿수·SOS·CHT·D&C
- 프로파일링과 코드 최적화 — 측정이 먼저다
- 데이터 엔지니어링 — 덤프에서 Parquet까지
- IP·NAT·라우팅 — 프라이빗 서비스가 밖에서 안 닿는 이유
- 보안 원리와 TLS — 요청 하나에 왕복 몇 번
- 인터프리터 1 — lis.py와 식 트리 DSL
- ODE 1 — 일계 방정식과 피카르 존재·유일성
여섯 번째 바퀴
- 임베딩과 벡터 검색 — MinHash·LSH·HNSW
- 스펙트럼 정리와 양정부호 — 공분산·헤시안
- SVD — 저랭크·의사역·조건수
- 헤시안·라그랑주 — 제약 최적화와 KKT의 전신
- 정규화와 검증 — 편향-분산·누수
- 트리와 앙상블 — 정형 데이터 1순위
- 베이지안 추론 — MAP = 정규화, MCMC
- 정보이론 — 엔트로피·KL·크로스엔트로피
- 마르코프 체인 — 정상분포·에르고딕·상세 균형
- 포아송 과정 — 요청 도착 모델
- 신뢰구간과 검정 — A/B 테스트와 부트스트랩
- 신경망 — MLP·역전파·보편 근사
- 벡터 인덱스 정합성 — 두 저장소가 어긋났을 때 진실은 누구
- 결정적 분류 파이프라인과 골든셋
- CPython 내부 1 — 바이트코드와 평가 루프
- CPython 내부 2 — 객체·GC·GIL·Timsort
- 최적화 사다리 — 벡터화·컴파일·병렬
- FFT·NTT·생성함수 — 그리고 번사이드·SG
- 정수론 2 — 오일러 피·확장 유클리드·뫼비우스·밀러-라빈
- 트리 분할 — ETT·HLD·센트로이드
- 오프라인·sqrt 분할·Mo’s
- ODE 2 — 이계 선형방정식과 해공간
- ODE 3 — 급수해와 특이점
- ODE 4·5 — 라플라스 변환과 연립 e^{tA}
- 계약 파이프라인과 CI 게이트
- 관측과 사고 — 안 보이면 없는 것
- 시크릿과 권한 경계
- 멀티 스테이지 격리와 복제
- 프론트엔드 원리 묶음 — React·FSD·토큰·계측·품질 게이트
일곱 번째 바퀴
- 확률적 자료구조 — Bloom·Count-Min·HyperLogLog
- 균등수렴 — 세 교환 정리
- 멱급수·아르첼라-아스콜리·스톤-바이어슈트라스 — 보편 근사의 조상
- 다중적분·푸비니·변수변환·몬테카를로
- 다변수해석 — 전미분·역함수·음함수 정리·미분형식
- 곡선·곡면·적분 정리 — 그린·스토크스·발산
- 볼록 최적화 — 실 2의 종착지
- 학습이론 — VC·호에프딩·PAC·Rademacher
- 최적화기와 정규화 기법 — 모멘텀·Adam·BN·드롭아웃·초기화
- 어텐션 — Q/K/V·√d_k·멀티헤드·O(n²)
- 트랜스포머 — 인코더/디코더·위치 인코딩·스케일링 법칙·전이 학습
- CNN과 시퀀스 모델 — 귀납 편향
- 표집과 외부 정렬 — 저수지·alias·K-way·LSM
- A-star와 양방향 Dijkstra
- 계산 복잡도 — NP-완전성과 환원
- 근사 알고리즘 — LP 완화·라운딩·쌍대성
- 무작위 알고리즘 — 실패 확률을 원하는 만큼
- 온라인 알고리즘과 경쟁비
- 차분 프라이버시
- 분산 시스템 1 — 복제와 일관성 모델
- 분산 시스템 2 — 합의·리스·리더 선출
- 분산 시스템 3 — 스트림 처리와 정확히 한 번
- 시스템 설계와 용량 산정
- 클라우드 인프라 — 네트워크·IAM·IaC
- 컨테이너·VM과 OS 심화 인터페이스
- 파일 시스템 구현 — inode·저널링·tmpfs
- 프로그램의 기계 표현 — 어셈블리·링킹
- 네이티브 확장 — C·Rust로 핫 루프 내보내기
- 인터프리터 2 — 파서·트리 워킹·바이트코드 VM
- ODE 6 — 위상평면과 안정성
- ODE 7 — 경계값 문제와 푸리에 급수·분리변수법
- 수치 ODE — 룽게-쿠타·강성·경계값 수치해
- 반복법과 희소 행렬 — CG·크릴로프
- 라우팅 프로토콜 — OSPF·BGP·SDN
- 링크 계층·무선·응용 계층 나머지
- 심화 아키텍처 — ILP·SIMD·캐시 일관성
- Kaggle 1 — 정형 데이터 대회로 검증 설계 익히기
여덟 번째 바퀴
- LLM — 사전 훈련·SFT·RLHF·LoRA·양자화·추론 비용
- 군 — 대칭을 세는 구조
- 준동형·몫군·동형정리
- 환과 체 — 다항식환·유한체·NTT 원시근
- 위상 1 — 위상공간·연속·기저
- 위상 2 — 콤팩트·연결·분리공리
- 복소해석 1 — 정칙함수·코시-리만·멱급수
- 복소해석 2 — 코시 적분정리·유수·급수해의 특이점
- 스튀름-리우빌 — 스펙트럼 정리의 무한차원판
- ODE 심화 — 존재·유일성 일반론·분기·해밀턴 계
- PDE 입문과 제어·신호
- 조르당·유리 표준형·텐서곱
- 생성 모델 — VAE·ELBO·GAN·확산·최적 수송
- 해석가능성 — 잔차 스트림·회로·로짓 렌즈·활성화 패치
- 강화학습 — MDP·벨만·Q-Learning·PPO
- 확률 그래프 모델·GP·베이즈 최적화·변분 추론
- 시계열·인과 추론·비모수
- 베이지안 딥러닝과 정보 기하
- 고급 그래프 — Hall·헝가리안·Blossom·평면 그래프
- DP 최적화 2 — Aliens·slope trick·Knuth·Hirschberg
- MITM·병렬 이분 탐색·CDQ
- 기하 2 — 반평면 교집합·오일러 지표·Voronoi
- 평형 BST·LCT·Li-Chao·세그트리 비츠
- Kaggle 2 — 이미지·텍스트 대회와 파인튜닝