기술적으로 깊이 파고든 주제만 정리하는 공간. 가벼운 팁이나 표면 사용법은 여기 두지 않는다. 폴리시된 글은 velog에 따로 정리한다.
이 repo에 들어오는 노트는 다음 중 둘 이상을 충족해야 한다.
- 1차 출처(스펙·RFC·공식 docs·라이브러리 소스코드)를 직접 인용한다.
- 내부 동작(알고리즘, 상태 전이, 메모리 구조 등)을 설명한다.
- 코드 실험으로 검증한다 (
examples/동봉). - 잘못 알고 있던 것을 바로잡는다.
- "X 사용법 정리" 류 (공식 docs 한 번만 읽으면 끝나는 표면 사용법)
- 단순 명령어 모음 / 셸 팁
- 깊이 없는 라이브러리 소개
- 강의 / 영상 시청 후기
→ 이런 건 velog 임시 글이나 사적 노트에.
| 폴더 | 다루는 깊이 |
|---|---|
| java/ | JVM·JIT·GC 알고리즘, JLS 메모리 모델, 동시성 프리미티브 |
| spring/ | Bean lifecycle, AOP 프록시 내부, Transaction 전파 메커니즘 |
| jpa/ | Persistence Context, dirty checking, fetch 전략 내부, 영속성 전이 |
| database/ | 스토리지 엔진, B+Tree/LSM, MVCC, 트랜잭션 격리 구현 |
| network/ | TCP 상태 머신, HTTP/2·3 multiplexing, TLS handshake 단계 |
| system-design/ | 분산 패턴 (Outbox, Saga), CAP/PACELC, 합의 알고리즘 |
| messaging/ | 브로커 내부, exactly-once 보장, 파티셔닝·리밸런싱 |
| observability/ | W3C Trace Context, OpenTelemetry SDK 내부, 메트릭 카디널리티 |
| books/ | 책 챕터별 노트 (DDIA, Database Internals, Effective Java 등) |
- 새 노트는
NOTE_TEMPLATE.md를 그대로 복사해서 시작한다. - 파일명: 주제 기반 kebab-case (예:
persistence-context.md). 날짜 X. - 검증 코드는 같은 폴더의
examples/하위에:jpa/persistence-context.md↔jpa/examples/FirstLevelCacheTest.java
- 정리가 충분히 두꺼워지면 velog 글로 다듬어 발행하고, 노트 하단에 velog 링크를 남긴다.
- 단정 어투 금지. 출처가 있는 경우만 단정한다.
- 한 노트 = 한 주제. 두꺼워지면 쪼갠다.
- 다이어그램은 ASCII 또는 mermaid. 큰 그림이면 별도 SVG로 분리.
- 코드 스니펫은 60줄 이하, 핵심 라인에만 주석.
- 2026-06-09 — Outbox Pattern: Polling vs CDC (Debezium)
- 2026-06-08 — HTTP/3 (QUIC) 핵심 차이점
- 2026-06-07 — HTTP/2 multiplexing과 HOL blocking
- 2026-06-06 — TLS 1.3 handshake 단계 (0-RTT 포함)
- 2026-06-05 — TCP 연결 수립·종료 상태 머신 (3-way / 4-way)