OBS 오버레이를 React로 만드는 법
OBS 브라우저 소스를 활용해서 React로 커스텀 오버레이를 만드는 방법을 단계별로 설명합니다. Vite + React + WebSocket 실시간 연동까지 다룹니다.
Astro로 만든 정적 사이트를 Cloudflare Pages에 GitHub 연동으로 자동 배포하는 방법을 단계별로 설명합니다.
광고 영역
가시 영역 진입 시 로드
Astro 블로그를 배포할 때 선택지가 많습니다. Vercel, Netlify, GitHub Pages 등이 있지만, 저는 Cloudflare Pages를 선택했습니다.
| 서비스 | 무료 빌드 | CDN | 커스텀 도메인 | 엣지 기능 |
|---|---|---|---|---|
| Cloudflare Pages | 500회/월 | 전 세계 | 무료 | Workers 연동 |
| Vercel | 100GB/월 | 전 세계 | 무료 | Edge Functions |
| Netlify | 300분/월 | 전 세계 | 무료 | Edge Functions |
| GitHub Pages | 무제한 | 제한적 | 무료 | 없음 |
Cloudflare Pages는 특히 한국 사용자에게 빠른 응답 속도를 제공합니다. Cloudflare의 엣지 서버가 한국에도 있기 때문입니다.
pnpm create astro@latest my-blog
cd my-blog
pnpm install
정적 사이트라면 어댑터 없이도 배포 가능하지만, SSR이나 API 라우트가 필요하다면 어댑터를 설치합니다.
pnpm add @astrojs/cloudflare
// astro.config.mjs
import { defineConfig } from 'astro/config';
import cloudflare from '@astrojs/cloudflare';
export default defineConfig({
output: 'static', // 정적 사이트
// SSR 사용 시: output: 'server', adapter: cloudflare()
});
pnpm build
# dist/ 폴더에 빌드 결과물 생성 확인
git init
git add .
git commit -m "Initial commit: Astro blog"
git branch -M main
git remote add origin https://github.com/username/my-blog.git
git push -u origin main
| 설정 항목 | 값 |
|---|---|
| 프레임워크 프리셋 | Astro |
| 빌드 명령어 | pnpm build |
| 빌드 출력 디렉터리 | dist |
| 루트 디렉터리 | (비워두기) |
빌드 명령어: pnpm build
빌드 출력 디렉터리: dist
필요한 경우 환경 변수 탭에서 추가합니다.
NODE_VERSION = 20
설정 완료 후 저장 및 배포 클릭하면 자동으로 빌드가 시작됩니다.
빌드 로그를 실시간으로 확인할 수 있으며, 성공하면 *.pages.dev 도메인으로 접근 가능합니다.
Cloudflare에서 도메인을 관리하고 있다면 자동으로 설정됩니다.
blog.example.com)Cloudflare Pages는 커스텀 도메인에 대해 SSL/TLS 인증서를 자동으로 발급하고 갱신합니다. 별도 설정 불필요!
GitHub에 push할 때마다 자동으로 배포됩니다.
# 새 포스트 작성 후
git add .
git commit -m "Add new blog post"
git push origin main
# → Cloudflare Pages가 자동으로 빌드 & 배포
PR을 생성하면 자동으로 Preview URL이 생성됩니다.
PR #5 → https://5.my-blog.pages.dev
// astro.config.mjs
export default defineConfig({
build: {
assets: '_astro', // 정적 에셋 폴더
},
});
Cloudflare Pages는 _astro/ 폴더의 파일에 자동으로 긴 캐시를 설정합니다.
Cloudflare Web Analytics를 무료로 사용할 수 있습니다.
<!-- BaseLayout.astro -->
<script defer src='https://static.cloudflareinsights.com/beacon.min.js'
data-cf-beacon='{"token": "YOUR_TOKEN"}'></script>
Cloudflare Pages는 설정이 간단하고 성능이 뛰어납니다. 특히 한국 사용자를 대상으로 하는 블로그라면 강력히 추천합니다.
이 블로그(koreastreamer.com)도 Cloudflare Pages로 배포되어 있습니다.
광고 영역
가시 영역 진입 시 로드