홈시리즈멘토링

© 2026 정기창. All rights reserved.

본 블로그의 콘텐츠는 CC BY-NC-SA 4.0 라이선스를 따릅니다.

☕후원하기소개JSON Formatter러닝 대기질개인정보처리방침이용약관

© 2026 정기창. All rights reserved.

콘텐츠: CC BY-NC-SA 4.0

☕후원하기
소개|JSON Formatter|러닝 대기질|개인정보처리방침|이용약관

기창의 블로그7페이지

트랜잭션과 MVCC — 동시에 읽고 쓸 수 있는 이유 (3편)

READ COMMITTED와 REPEATABLE READ의 차이를 코드 없이 설명할 수 있는가? InnoDB의 MVCC가 Undo Log 체인과 Read View로 어떻게 동작하는지, 격리 수준별로 어떤 이상 현상이 허용되는지 추적합니다.

2026. 3. 30.

인덱스는 왜 빠른가 — B+Tree부터 커버링 인덱스까지 (2편)

인덱스를 걸면 빨라진다는 건 알지만, 왜 빠른지 설명할 수 있는가? B+Tree의 구조, 클러스터드 인덱스와 세컨더리 인덱스의 차이, 커버링 인덱스가 디스크 접근을 줄이는 원리, 복합 인덱스의 최좌선 규칙까지 정리합니다.

2026. 3. 29.

데이터는 디스크에 어떻게 저장되는가 — InnoDB 스토리지 엔진의 내부 구조 (1편)

MySQL에서 INSERT를 실행하면 데이터는 어디에, 어떤 형태로 저장되는가? InnoDB의 페이지 구조, Buffer Pool, 그리고 WAL(Redo/Undo Log)까지 — 디스크 I/O를 최소화하면서 데이터 무결성을 보장하는 구조를 추적합니다.

2026. 3. 28.

AI 응답을 90초 동안 기다리게 할 수는 없으니까 — SSE로 전환한 이야기

90초 동안 로딩만 보여주던 AI 분석 플로우를 SSE로 전환하여 단계별 진행 피드백을 제공한 과정. HTTP 타임아웃 체인과 heartbeat 패턴을 정리했습니다.

2026. 3. 27.

개인 사업자 등록증 없이 결제 모듈을 달고 싶어서, Polar를 연결해봤습니다.

개인 사업자 등록 없이 웹서비스에 결제를 붙이고 싶었습니다. 사업자 주소지, PG 심사, 비상주 사무실 비용 등 고민하던 중 Polar를 알게 되어 블로그에 후원 버튼을 연결한 과정을 정리합니다.

2026. 3. 26.

오랜만에 글의 시작을 AI의 도움없이 진행해봅니다.

AI에게 글쓰기를 맡긴 3개월, 편했지만 독자의 문제를 해결해주는 글은 아니었다. 블로그의 정체성을 돌아보고, 개발자로서 앞으로의 방향을 정리합니다.

2026. 3. 25.

MySQL 커넥션 풀, 설정했다가 뺀 이유 — TCP Keep-Alive와 네트워크 토폴로지

MySQL 커넥션 풀에 TCP Keep-Alive를 설정했다가 제거한 과정을 통해, 네트워크 토폴로지에 따라 설정이 달라져야 하는 이유를 정리했습니다.

2026. 3. 24.

NestJS는 Express 위에서 어떻게 동작하는가 — 플랫폼 추상화의 설계 (7편)

NestJS는 Express 위에서 동작한다고 하지만, 정확히 어떻게 감싸고 있는 걸까요? AbstractHttpAdapter 소스코드를 추적하며 Express와 Fastify를 교체 가능하게 만드는 어댑터 패턴의 실체를 확인합니다. NestJS Deep Dive 시리즈 마지막 편.

2026. 3. 23.

Custom Decorator 만들기 — createParamDecorator의 내부 (6편)

NestJS에서 @CurrentUser(), @Roles() 같은 커스텀 데코레이터가 내부에서 어떻게 동작하는지 소스코드로 추적합니다. createParamDecorator가 메타데이터를 저장하고, Pipe가 값을 추출하고, SetMetadata + Reflector + Guard가 연결되는 전체 흐름을 확인합니다.

2026. 3. 22.
<이전1...56789...18>다음