빌드 로그 Koal & KoalStudio

블로그에 Astro를 선택한 이유

Next.js, Gatsby, Hugo 대비 Astro가 기술 블로그에 적합한 이유를 정리합니다.

후보 비교

기술 블로그 프레임워크를 고를 때 고려한 요소:

항목AstroNext.jsHugoGatsby
빌드 속도빠름보통매우 빠름느림
JS 번들0KB (기본)0KB
콘텐츠 타입 안전성Zod 스키마직접 구현없음GraphQL
마크다운 DXContent CollectionsMDX 직접 설정기본 내장플러그인
학습 곡선낮음보통보통 (Go 템플릿)높음

Astro를 선택한 결정적 이유

1. Zero JS by Default

블로그는 읽기 중심입니다. 인터랙션이 거의 없는 페이지에 React 런타임을 로드할 이유가 없습니다. Astro는 기본적으로 JavaScript를 전혀 보내지 않습니다.

2. Content Collections + Zod

const posts = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string(),
    category: z.enum(['빌드 로그', '운영 시스템', 'AI 에이전트', '데이터/측정', '회고/인사이트']),
    tags: z.array(z.string()).default([]),
    draft: z.boolean().default(false),
  }),
});

프론트매터 오타나 누락을 빌드 시점에 잡아줍니다. 런타임 에러 대신 빌드 에러로 전환.

3. Island Architecture

필요한 곳에만 선택적으로 인터랙티브 컴포넌트를 넣을 수 있습니다. 검색 기능이나 댓글 위젯 같은 것을 나중에 추가할 때 유용합니다.

다음 글

프로젝트 구조와 Content Collections 설정 과정을 다룹니다.

← 목록으로