//
Next.js 15 기반 개인 아카이브 사이트 — 기술 블로그, 포트폴리오, 독서 리뷰를 하나의 공간에
"나를 기록하고 보여주는 공간"을 목표로 만든 종합 개인 아카이브 사이트입니다.
기술 블로그, 프로젝트 포트폴리오, 독서 리뷰를 흩어지지 않게 한곳에 모아 관리하고 싶다는 필요에서 출발했습니다. 단순한 블로그가 아니라 내가 배우고, 만들고, 읽은 것을 체계적으로 기록하는 아카이브를 지향합니다.
next-themes 기반 시스템 설정 연동 및 수동 전환| 영역 | 기술 |
|---|---|
| Framework | Next.js 15+ (App Router, React Server Components) |
| Language | TypeScript (strict mode) |
| Styling | Tailwind CSS v4 + @tailwindcss/typography |
| Content Engine | Velite (Zod 스키마 기반 타입 안전 빌드) |
| Syntax Highlighting | Shiki via rehype-pretty-code |
| Search | Kbar (커맨드 팔레트) |
| Comments | Giscus (GitHub Discussions) |
| Analytics | GA4 + Umami |
| Font | Pretendard (본문) + JetBrains Mono (코드) |
| Deploy | Vercel |
| Package Manager | pnpm |
content/ ← MDX 콘텐츠 (Git 관리)
tech/ ← 기술 블로그 포스트
projects/ ← 프로젝트 포트폴리오
books/ ← 독서 리뷰 (시리즈 구조)
↓ Velite (빌드 타임 변환)
↓ Zod 스키마 검증 → 타입 안전 데이터
↓
app/ ← Next.js App Router
tech/ ← SSG 기반 블로그 페이지
projects/ ← 프로젝트 상세 페이지
books/ ← 독서 리뷰 페이지
↓
components/ ← 재사용 UI 레이어
mdx/ ← Callout, CodeBlock 등 커스텀 컴포넌트
ui/ ← 범용 UI 프리미티브
Contentlayer가 유지보수 중단된 상황에서, Velite는 Zod 스키마 기반의 타입 안전성과 빠른 빌드 속도를 제공합니다. frontmatter 오류를 빌드 타임에 잡아주기 때문에 콘텐츠가 많아져도 안정적으로 관리할 수 있습니다.
v4의 CSS-first 설정 방식과 개선된 성능을 활용하여, globals.css에서 CSS 변수 기반의 테마 시스템을 구성했습니다. 다크/라이트 모드 전환 시 색상 체계가 일관되게 유지됩니다.
모든 콘텐츠 페이지를 SSG로 생성하여 빠른 로딩 속도를 확보하면서, 댓글이나 Analytics 같은 동적 기능은 클라이언트 사이드에서 처리하는 하이브리드 접근을 채택했습니다.
Link Shortener 앱을 구축하며 Next.js App Router의 모든 기능을 실전에 적용합니다. 프로젝트 구조 설계부터 배포까지 전 과정을 다룹니다.
React 19의 핵심 기능을 모두 활용한 풀스택 북마크 앱을 구축합니다. Server Components, Server Actions, 새로운 훅, Suspense 패턴을 실전에 적용합니다.
Next.js의 프로덕션 배포를 다룹니다. instrumentation.ts, OpenTelemetry, 보안 헤더, Docker 배포, Build Adapters, 셀프 호스팅 전략을 살펴봅니다.