소개2026년 7월 11일2분 읽기
블로그 지도: 어디부터 읽으면 좋은가
글이 열여덟 편이라 낱개로 읽으면 흐름이 안 잡힌다. 실무에서 겪은 문제와 학습으로 판 주제를 시리즈로 묶고, 시간이 없을 때 볼 대표 글 세 편을 추린 안내.
#소개#시리즈
블로그 지도: 어디부터 읽으면 좋은가
글이 쌓이다 보니 낱개로 읽으면 흐름이 안 잡혀서 지도를 하나 만들었다. 여기 글은 크게 두 종류다. 실무에서 실제로 겪고 고친 문제(QA 자동화, DB 성능, 비동기 전환)와, 원리를 이해하려고 직접 만들어보며 판 학습 기록(자작 Kafka·Redis, CS 기초)이다. 학습 글은 본문에도 학습 프로젝트라고 밝혀뒀다.
시간이 5분이라면 이 세 편
- 상관없는 기능까지 같이 느려질 때 — 로그인 코드엔 답이 없었고, 원인은 그 밑의 버퍼 풀이었다. 100억 건 테이블을 파티셔닝으로 잡은 기록.
- 9초 걸리던 PDF, 화면 캡처를 걷어냈다 — 최적화 대신 구조를 바꾼 판단. MQ는 속도 도구가 아니라 분리 도구라는 결론까지.
- 인덱스가 있는데도 쿼리가 느릴 때 — EXPLAIN으로 원인을 짚어 복합 인덱스 설계까지 내려간 과정. 문제를 어디서 찾는지에 대한 글.
시리즈별 목차
QA 자동화 (실무)
QA 담당자가 없는 2인 팀에서 테스트를 시스템으로 만든 기록.
- QA 없는 팀에서 QA 자동화 시스템을 만든 이야기
- 서버가 권한을 직접 확인해야 하는 이유 — 그 자동 테스트를 돌리다 발견한 권한 격상 취약점
DB 딥다이브 (실무 + 원리)
느린 조회를 잡는 과정에서 인덱스, 파티셔닝, 락, 격리 수준까지 내려간 기록. 1~2편이 거울쌍이다. 같은 EXPLAIN이 한 번은 "인덱스를 고쳐라", 한 번은 "SQL은 무죄다"라고 답했다.
- 인덱스가 있는데도 쿼리가 느릴 때
- SQL은 빠른데 API가 느릴 때
- 한 API에 너무 많은 걸 담았을 때
- 배치 작업에서 중복 데이터가 생겼다: Redis Lock으로 멱등성 잡은 과정
- 상관없는 기능까지 같이 느려질 때
- 격리 수준을 올려도 안 막히는 것 — 위 사건들을 관통하는 이론 정리
이벤트 드리븐 (실무 + 원리)
큐를 넣은 이야기와 뺀 이야기가 같이 있다. 도구가 아니라 워크로드가 결정한다는 게 공통 결론이다.
- 9초 걸리던 PDF, 화면 캡처를 걷어냈다 — SQS를 넣은 케이스
- 큐를 써야 할 때와 아닐 때 — SQS를 뺀 케이스
- 이벤트 드리븐 아키텍처 정리 — 개념 전체 지도
티켓팅 MSA (학습)
고동시성 도메인을 밑바닥부터 이해하려고 Kafka와 Redis를 직접 만들어보는 학습 프로젝트의 기록.
- 큐(Queue) 완벽 정리: 자료구조에서 Kafka까지
- MyKafka를 직접 만들며 배운 것들
- CQRS를 하는 이유
- 대기열을 heap으로 짰다가 느려진 이유
- 대기열 서버를 3대로 늘렸더니 입장 인원이 3배가 됐다 — 다중화가 깨뜨린 정합성을 SET NX 리더 선출로 잡은 기록
CS 기초 (학습)
바닥 레이어 정리. 길지만 한 번 잡아두면 위 글들이 편해지는 내용들.
시리즈 순서대로 안 읽어도 된다. 각 글이 독립적으로 서 있고, 이어지는 글엔 본문에 링크를 걸어뒀다.