tech.hwmoon.com을 정적 엔지니어링 블로그로 만드는 이유
HWMOON Tech Lab을 Astro, Azure Static Web Apps, Markdown 콘텐츠, 기술 기록에 맞춘 레이아웃으로 구성한 플랫폼 결정 기록입니다.
- Astro
- 6.3
- Node.js
- 24.15
- Hosting
- Azure Static Web Apps
이 글의 목차
tech.hwmoon.com은 개인 엔지니어링 블로그지만, 임시 사이드 페이지처럼 보이게 만들고 싶지는 않았다. 목표는 publishing stack을 단순하게 유지하면서도 cloud note, migration log, troubleshooting record, technical essay를 오래 보관할 수 있는 글쓰기 표면을 만드는 것이다.
결정은 news.hwmoon.com과 같은 큰 플랫폼 계열을 사용하는 것이다.
Astro
-> Markdown content
-> static route generation
-> Azure Static Web Apps
설계 원칙
이 블로그는 지루해야 하는 부분에서 지루해야 한다.
- static HTML 우선
- Markdown 기반 글 작성
- 일반 콘텐츠에는 database 사용하지 않음
- Git history를 editorial log로 사용
- Azure Static Web Apps로 hosting
- DNS와 cloud resource는 Terraform으로 관리
이 구조는 작고 재현 가능하다. 나중에 subscription이나 tenant를 옮겨야 해도 숨겨진 플랫폼 상태에 덜 의존한다.
왜 Astro인가
대부분의 기술 글은 문서 페이지다. DNS, CI/CD, infrastructure decision을 설명하기 위해 큰 client-side application이 필요하지 않다.
Astro를 선택한 이유는 다음과 같다.
| 기능 | 이유 |
|---|---|
| Content collections | frontmatter schema를 검증할 수 있음 |
| Static route generation | 글을 정적 HTML로 만들 수 있음 |
| Markdown rendering | 운영 기록을 Git으로 관리하기 좋음 |
| Component layout | header, post card, TOC를 재사용 가능 |
| 적은 JavaScript | 빠른 로딩과 검색 친화성 |
기술 블로그는 빨리 열리고, 모바일에서 읽기 좋고, 검색 엔진과 link preview가 이해하기 쉬워야 한다.
왜 별도 subdomain인가
HWMOON 도메인은 서로 다른 목적의 서비스를 담는다.
| Subdomain | 역할 |
|---|---|
news.hwmoon.com | IT briefing과 publisher-style content |
tech.hwmoon.com | 개인 기술 기록과 build log |
compass.hwmoon.com | 기존 NAS-hosted WordPress 서비스 |
tech를 분리하면 뉴스 제품과 개인 엔지니어링 기록이 섞이지 않는다. Search Console, sitemap, analytics, future AdSense 정책도 더 명확하게 나눌 수 있다.
글의 목적
여기에 쓰는 글은 보여주기 위한 예쁜 개요가 아니라, 나중에 다시 작업할 때 실제로 도움이 되는 운영 기록이어야 한다.
좋은 글은 다음 질문에 답한다.
- 어떤 문제가 있었는가
- 왜 중요했는가
- 어떤 선택지가 있었는가
- 어떤 결정을 했는가
- 어떻게 구현했는가
- 어떻게 검증했는가
- 다음에 무엇을 조심해야 하는가
이 기준은 해외 취업용 포트폴리오에도 중요하다. 단순히 기술 이름을 나열하는 것보다, 실제 운영 문제를 어떻게 판단하고 복구했는지를 보여주는 편이 훨씬 강하다.
운영 방향
앞으로 tech.hwmoon.com은 영어를 primary language로 삼고, 한국어 글은 /ko/ 아래에 보존한다. 일본어와 독일어는 충분히 검수된 번역이 준비된 뒤 확장한다.
이 사이트의 목표는 많아 보이는 콘텐츠가 아니다. 신뢰할 수 있는 기술 판단을 명확한 영어와 재사용 가능한 runbook으로 보여주는 것이다.