๐ devchan64.github.io
Jekyll + GitHub Pages ๊ธฐ๋ฐ์ ๊ฐ์ธ ๊ธฐ์ ๋ธ๋ก๊ทธ
๐จโ๐ป ๊ฒ์ผ๋ฅธ ๊ฐ๋ฐ์์ ๋ธ๋ก๊ทธ
์ด ๋ธ๋ก๊ทธ๋ ํ๋ คํ ๊ธฐ์ ์ ์๋ํ๊ธฐ ์ํ ๊ณต๊ฐ์ด ์๋๋๋ค.
์คํ๋ ค, ์ต์ํ์ ๊ธฐ์ ๋ก ์ต๋ํ์ ์๊ฐ์ ํํํ๊ธฐ ์ํ ๋๊ตฌ์
๋๋ค.
- GitHub Pages + Jekyll + Markdown
- ๊ธฐ์ ์ ๋ณต์กํจ ๋์ , ๋ช
๋ฃํ ์ฌ๊ณ ๋ฅผ ๋ด๋ ๊ณต๊ฐ
- ์ค๊ณ์์ ๊ด์ ์์ ๊ธฐ์ ์ ๋ฐ๋ผ๋ณด๋ ์ฒ ํ
๊ธฐ์ ์ ์๊ฐ์ ์ค๊ณํ๋ ์๋จ์
๋๋ค.
๐ ๋ธ๋ก๊ทธ ๋ฐ๋ก๊ฐ๊ธฐ
๐ ํ๋ก์ ํธ ๊ฐ์
์ด ๋ธ๋ก๊ทธ๋ ์ ์ ์ฌ์ดํธ (Site Generator)์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง(CSR)์ ์กฐํฉ์ ํตํด ๊ฒ์ ๊ธฐ๋ฅ, ๋ฒ์ญ ์๋ํ, ๋ฐ์ดํฐ ์๊ฐํ๊น์ง ๊ฐ๋ฅํ ๊ฒฝ๋ ๊ตฌ์กฐ๋ก ์ค๊ณ๋์์ต๋๋ค.
โ๊ฒ์ ๊ฐ๋ฅํ ๊ธฐ๋ก ์์คํ
โ์ ๋ชฉํ๋ก, ์ต์ํ์ ์๋ฒ ์ด์์ผ๋ก ํ์ฅ์ฑ๊ณผ ์ ์ง๋น์ฉ์ ๊ท ํ์ ์คํํฉ๋๋ค.
๐ ๊ธฐ์ ์คํ
๐ฏ ์ ํ ๋ฐฐ๊ฒฝ ๋ฐ ์ ๋ต
โ
ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง (CSR)
- Pagefind ๊ธฐ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ์ ์ํด CSR ๋ฐฉ์ ๋์
- ์ ์ ์ฝํ
์ธ ํ๊ฒฝ์์๋ ์ธํฐ๋ํฐ๋ธ ๊ธฐ๋ฅ(๊ฒ์, ์กฐํ์, ๋ฒ์ญ ๋ฑ) ์ ๊ณต
โ
์ต์ํ์ ์๋ฒ ์ด์
- GitHub Pages๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธํ๋ผ ์ด์ ๋ถ๋ด ์ต์ํ
- ์๋ฒ๋ฆฌ์ค ๊ตฌ์ฑ (Supabase, OpenAI API)์ผ๋ก ์ ์ง๋ณด์ ์ต์ํ
- ์๋ฒ ์ง์ ์ด์ ์์ด๋ ๋ฐ์ดํฐ ๊ธฐ๋ก ๋ฐ API ํธ์ถ ๊ธฐ๋ฅ ํ์ฅ
โจ ์ฃผ์ ๊ธฐ๋ฅ
โ
Markdown ๊ธฐ๋ฐ ์ฝํ
์ธ ๊ด๋ฆฌ
_posts/ ํด๋์์ ํฌ์คํธ ์์ฑ ๋ฐ ๊ด๋ฆฌ
- YAML Frontmatter๋ก ๋ฉํ ์ ๋ณด ๊ตฌ์ฑ (
title, tags, date, lang ๋ฑ)
๐ OpenAI ๊ธฐ๋ฐ ์๋ ๋ฒ์ญ
- ํฌ์คํธ ๋ณ๊ฒฝ์ฌํญ๋ง ๊ฐ์งํ์ฌ ์์ด ๋ฒ์ญ
_posts/en/ ํด๋์ ๋ฒ์ญ๊ธ ์ ์ฅ
- GitHub Actions๋ก ์๋ PR ์์ฑ ๋ฐ ๋ฆฌ๋ทฐ ์์ฒญ
๐ Supabase ๊ธฐ๋ฐ ํ์ด์ง ์กฐํ์ ์ถ์
- ์ฌ๋ฌ๊ทธ(URL) ๊ธฐ์ค์ผ๋ก ํ์ด์ง๋ณ ์กฐํ์ ์ ์ฅ
- RLS ์ ์ฑ
์ ์ฉ โ ํด๋ผ์ด์ธํธ์์ ์ง์ ์กฐํ ๊ฐ๋ฅ
โ๏ธ GitHub Actions ์๋ํ
- PR ์์ฑ, ๋ฒ์ญ ์ฒ๋ฆฌ, ๋ฐฐํฌ๊น์ง ์๋ํ๋ CI/CD ๊ตฌ์ฑ
- ์๋ ๊ฐ์
์ต์ํ๋ฅผ ํตํ ์ง์ ๊ฐ๋ฅ์ฑ ํ๋ณด
๐ Marp ๊ธฐ๋ฐ ์ฌ๋ผ์ด๋ ์๋ ์์ฑ
_slides/ ๊ฒฝ๋ก์ .md ํ์ผ๋ง ์์ฑํ๋ฉด GitHub Actions๊ฐ HTML ์ฌ๋ผ์ด๋ ์๋ ์์ฑ
- ์ปค์คํ
ํ
๋ง๋ฅผ ์ ์ฉํด ๋ฐํ์๋ฃ์ ๋ธ๋๋ ์ ์ฒด์ฑ ์ ์ง
- ๋งํฌ๋ค์ด์ผ๋ก ๋ฐํ ์๋ฃ๋ฅผ ๊ด๋ฆฌ โ ๋ธ๋ก๊ทธ์ ์ฌ๋ผ์ด๋๋ฅผ ํตํฉ๋ ๋ฌธ์ ์์คํ
์ผ๋ก ์ด์
๐ D2 ๋ฐ Mermaid ๊ธฐ๋ฐ ๋ค์ด์ด๊ทธ๋จ ์๊ฐํ
- Jekyll + Client-Side Rendering(CSR) ๊ตฌ์กฐ ๋๋ถ์ Mermaid, D2 ์ฌ์ฉ ๊ฐ๋ฅ
- ์ฝ๋ ๋ธ๋ก์ ๋ค์ด์ด๊ทธ๋จ์ ์ง์ ์์ฑ โ ์ ์ง๋ณด์ ๋ฐ ์์ ์ฉ์ด
- ์ค๊ณ ๋ฌธ์, ์์คํ
์ํคํ
์ฒ, ํ๋ก์ธ์ค ํ๋ฆ ๋ฑ์ ์๊ฐ์ ์ผ๋ก ํํ ๊ฐ๋ฅ
๐ ๋ธ๋ก๊ทธ ์ฃผ์
๐ง ์ค๊ณ ์ฒ ํ๊ณผ ์กฐ์ง ๋ฌธํ
๊ตฌ์กฐ์ ์ฌ๊ณ , ๊ธฐ์ ์ฒ ํ, ํ์
๊ตฌ์กฐ ์ค๊ณ ๋ฑ ์ํํธ์จ์ด ์ธ๋ถ์ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ฏผํฉ๋๋ค.
๐ฅ ์ ์์ผ ๋ฆฌ๋์ญ๊ณผ ๊ณ ๊ฐ ์ค์ฌ ๊ฐ๋ฐ
๊ณ ๊ฐ ๊ด์ ์์ ์ถ๋ฐํ๋ ๋ฌธ์ ์ ์, ํ๋ฅด์๋ ๊ธฐ๋ฐ ์ค๊ณ, ์คํ๋ ฅ ์ค์ฌ ์ ์์ผ ์ด์.
๐ง DX + DevOps ์ ๋ต
์์ ํ์ ์ํ ์ค์ฉ์ DevOps์ ์๋ํ, ์ง์๊ด๋ฆฌ์ ํ์
๊ธฐ๋ฐ ๊ฐ๋ฐ ๋ฌธํ ์ค๊ณ.
๐ก ๋ฉ์์ง ์์คํ
๋ฐ ๋ถ์ฐ ์ค๊ณ ๋
ธํธ
ROS, IoT, ๋ฉ์์ง ๋ธ๋ก์ปค, FSM ๊ธฐ๋ฐ ์์ด์ ํธ ์ค๊ณ ๋ฑ ์ด์ ์ค์ฌ ๋ถ์ฐ ๊ตฌ์กฐ ๊ธฐ๋ก.
๐งน ์ญ์ ์ค๋น(Expiry-Ready)๋ ๊ตฌ์กฐ ์ค๊ณ
๋ฆฌํฉํ ๋ง์ด ์ ์ ๋ ์์คํ
๊ตฌ์ฑ, ๋ชจ๋
ธ๋ ํฌ์ AWS ์ธํ๋ผ ์ค๊ณ ์ฒ ํ.
๐ ์ฐธ๊ณ ๋งํฌ
- ๐ ๋ธ๋ก๊ทธ: https://devchan64.github.io
- ๐ Supabase ์ค์ ํ์ผ:
supabase/
- ๐ค ๋ฒ์ญ ์๋ํ ์คํฌ๋ฆฝํธ:
.github/workflows/translate.yml
๐ ๋ธ๋ก๊ทธ์ ๋ชฉ์
์ด ๋ธ๋ก๊ทธ๋ โ๊ธฐ๋ก์ ์์ฐ์ด๋คโ๋ผ๋ ์ฒ ํ ์๋,
๊ฐ๋ฐ์์ ๊ด์ ์ผ๋ก ๊ตฌ์กฐํ๋ ์ฌ๊ณ ์ ์ค๊ณ ๋
ธํ์ฐ๋ฅผ ๊ณต์ ํ๊ณ ์ ๋ง๋ ๊ณต๊ฐ์
๋๋ค.
๐ก โ๊ธฐ๋ก์ ์์ฐ์ด๋ค. ๊ตฌ์กฐํ๋ ๊ธฐ๋ก์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ, ์์คํ
์ ์งํ์ํจ๋ค.โ
๐ GitHub ์ ์ฅ์
GitHub์์ ์ด ํ๋ก์ ํธ๋ฅผ ํ์ธํ์ธ์:
https://github.com/devchan64/devchan64.github.io