한입 CS
수학에서 막히면 곁책 『개발 수학』에서 그 부분만 찾아 읽고 돌아오세요.
- 0장. 숫자는 비트다: 0.1 + 0.2는 왜 0.3이 아닐까2진 소수, IEEE 754, 안전한 정수(safe integer), 돈 계산
- 1장. 문자는 바이트다: 이모지 하나의 length는 왜 2일까코드 포인트, UTF-8, UTF-16, 사람이 보는 글자
- 2장. 메모리는 언제 해제될까: 스택, 힙, 가비지 컬렉션도달 가능성, 마크 앤 스윕, 참조 카운팅, 누수 패턴
- 3장. 프로세스와 스레드: 메인 스레드가 막히면이벤트 루프, 태스크와 마이크로태스크, 긴 작업, 워커, GIL
- 4장. 동시성: 검색 결과가 뒤죽박죽 나오는 이유경쟁 조건, 순번 가드, 잃어버린 갱신, 락과 버전
- 5장. 메모리 계층: 배열이 연결 리스트보다 빠른 이유캐시, 캐시 라인, 공간·시간 지역성, LRU
- 6장. 네트워크: 주소창에서 첫 바이트까지DNS, TCP, TLS, 연결 재사용(connection reuse), preconnect를 왕복 횟수로 세기
- 7장. HTTP/1.1에서 HTTP/3까지: 무엇을 고쳤나연결 하나에 요청 하나, 스트림 멀티플렉싱, TCP 손실과 QUIC
- 8장. 데이터베이스: 인덱스와 트랜잭션전체 스캔과 B-트리, 복합 인덱스 순서, 격리 수준, 재고 차감 경쟁
- 9장. 코드는 어떻게 실행될까: 토큰, AST, 바이트코드토크나이저, 재귀 하향 파서, 스택 기계, V8과 CPython
- 10장. 해시, 암호화, 인코딩은 무엇이 다를까Base64, SHA-256, 비밀번호 해시, AES·RSA, HMAC과 상수 시간 비교