이 블로그에 글 쓰는 법
글은 MDX 파일 하나로 쓴다. 마크다운으로 빠르게 쓰되 필요한 곳에는 HTML과 컴포넌트를 그대로 섞을 수 있다.
이 블로그의 글은 MDX 파일 하나다. 평범한 문단·목록·코드블록은 마크다운으로 빠르게 쓰고,
표나 특수한 레이아웃이 필요한 곳에서만 HTML을 섞으면 된다. 스타일은 src/styles/article.css가
태그 단위로 잡아주므로 본문에서 클래스를 붙일 일은 거의 없다.
글 하나 = 파일 하나
src/content/posts/ 에 .mdx 파일을 만들면 파일 이름이 그대로 URL의 slug가 된다.
src/content/posts/
how-to-write-posts.mdx → /posts/how-to-write-posts/
rds-cpu-incident.mdx → /posts/rds-cpu-incident/
파일 맨 위에 프론트매터로 메타데이터를 적는다.
---
title: "제목"
description: "목록과 검색 결과에 노출되는 한두 문장 요약"
date: 2026-08-14
tags:
- mysql
- trouble-shooting
draft: false
---
형식은 src/content.config.ts의 스키마가 검사한다. 필드가 빠지거나 타입이 어긋나면
어느 글의 어느 필드가 문제인지 알려주며 빌드가 실패한다. draft: true인 글은
개발 중에만 보이고 빌드 결과에서는 빠진다.
마크다운으로 쓰는 것들
이 문단처럼 링크를 넣거나, 굵은 글씨로 강조하거나,
inline code를 섞는 건 전부 마크다운 문법 그대로다.
- 순서가 없는 항목
- 중첩도 된다
- 한 단계 안쪽
- 원인을 특정한다
- 가장 싼 복구 수단을 찾는다
- 적용 전에 락 동작을 확인한다
발송 이틀 전 점검에서 해당 스캔을 인지했으나, 3배 큰 트래픽에도 CPU 54%였던 과거 기록을 근거로 영향도를 낮게 판단했다.
ALTER TABLE member
ADD INDEX idx_member_login_id (login_id),
ALGORITHM=INPLACE, LOCK=NONE;
표도 마크다운으로 쓸 수 있다.
| 지표 | 적용 전 | 적용 후 |
|---|---|---|
| RDS CPU | 99.7% | 14% |
| 진입 API p95 | 20.8초 | 0.61초 |
마크다운으로 안 되는 것들
여기가 MDX를 고른 이유다. 마크다운이 부족한 자리에 HTML을 그냥 쓰면 된다.
강조 박스가 필요하면 div에 callout 클래스를 준다. 마크다운에는 이런 문법이 없지만
MDX 안에서는 HTML이 그대로 동작한다. 태그 안쪽은 앞뒤로 빈 줄을 넣어야 마크다운으로 파싱된다.
표가 넓어서 가로 스크롤이 필요하면 table-scroll로 감싼다. 본문 폭이 밀리는 대신 표만
스크롤된다.
| 단계 | 조치 | 소요 |
|---|---|---|
| 1 | Performance Insights로 상위 쿼리 확인 | 3분 |
| 2 | 온라인 DDL로 복합 인덱스 적용 | 8분 |
한 걸음 더 나가면 컴포넌트도 본문에 꽂을 수 있다. .astro나 React 컴포넌트를
import해서 쓰면 되고, 그 컴포넌트가 JS를 필요로 하지 않는 한 페이지에 실리는 JS는 없다.
정리하면, 새 글은 .mdx 파일 하나 만들고 맨 위에 프론트매터를 적으면 끝이다.
목록·상세 페이지·메타태그·OG 이미지는 자동으로 붙는다.