-
Notifications
You must be signed in to change notification settings - Fork 0
Retrospective Week1
๊ธฐ๊ฐ: 2026-05-25 ~ 2026-05-31
์ด๋ฒ ์ฃผ๋ ์ฝ๋๋ฅผ ์ ์งฐ๋ค. ๋ถํธ์บ ํ 1์ฃผ์ฐจ ์๊ตฌ๊ฐ "๊ธฐ๋ฅ์ ์๋๋ฅด์ง ๋ง๊ณ ๊ธฐํ๊ณผ ์ํฌํ๋ก์ฐ๋ฅผ ๋ง๋ค๋ผ"์๊ณ , ํ์๋๋ก๋ฉด pnpm create next-app ๋ถํฐ ์ณค์ ํ
๋ฐ ํ ์ฃผ๋ฅผ ํต์งธ๋ก ๊ฒฐ์ ์๋ง ์ด ๊ฒ ์ด๋ค ์ฐจ์ด๋ฅผ ๋ง๋๋์ง ๋ณด๋ ค๊ณ ํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก๋ โ ๊ฒฐ์ ์ ์ ๋ฐ ์ด์์ ํ ๋ฒ ๋ค์ง์๊ณ , ๊ทธ๊ฒ ์ฝ๋๋ฅผ ์ง๊ธฐ ์ ์ด๋ผ ๋คํ์ด์๋ค.
์ฒ์ wiki์ ์ ์ ์๋๋ฆฌ์ค๋ "์ด์์ง์ด ๋งค์ฃผ ์ด๋ ํ ๋ถ์๋ค์ ๊ธฐ๋ก์ ์ผ๊ด ์ ๋ ฅ" ์ด์๋ค. ๊ทธ๊ฒ ๊ฐ์ฅ ๋จ์ํด ๋ณด์๊ณ , ์ธ์ฆ๋ ์ด์์ง๋ง ์์ผ๋ฉด ๋๋๋ ๋ชจ์์ด์๋ค.
์ด ๋ชจ๋ธ์ ๋๊น์ง ๊ณ ์งํ์ผ๋ฉด ๋ค์ ๋ ๊ฐ์ง๊ฐ ๊นจ์ก์ ๊ฒ์ด๋ค.
- ๋ถ์ ๋ณธ์ธ์ ๊ธฐ๋ก์ด ๋๋ฝ๋๋ค. ์ด์์ง์ด ๋ฐ์ ์ ๋ ๋์ ๋๊ตฌ๋ ํ์ด์ค๋ฅผ ๊น๋จน๊ณ , ๋๊ตฌ๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ ํํ ๋ชจ๋ฅธ๋ค. "์ด์ฐจํผ ์ด์์ง์ด ๋ฐ์ ์ ์ ํ ๋ฐ" ๋ผ๋ ๋ง์ฐฐ์ด ๋งค์ฃผ ์์ธ๋ค.
- ๊ฐ์ธ ํต๊ณ๊ฐ ์ ํํ์ง ์๋ค. ๋ณธ์ธ์ด ์ ์ ๊ธฐ๋ก์ด ์๋๋ผ๋ฉด ๋์ ๊ฑฐ๋ฆฌยทํ์ด์ค ์ถ์ด๊ฐ ๋ณธ์ธ ๋ฐ์ดํฐ๋ก ์ ๋ขฐ๋๊ธฐ ์ด๋ ต๋ค.
GJC์ ์ธ์ฆ ์ต์ ์ ์ ๋ฆฌํ๋ค ๋ถ์์ด ๋ณธ์ธ ํ์ ์ง์ ์ ๋ ํ๋ฆ์ด ์์ฐ์ค๋ฝ์ง ์๋๋ ๊ฒฐ๋ก ์ ๋ค๋ค๋๊ณ , ์ฌ์ฉ์(๋) ์ ์ฅ์์ ๋ด๋ ๊ทธ ์ชฝ์ด ๊ฒ์๊ธ-๋๊ธ ๋ชจ๋ธ๋ก ๊นจ๋ํ๊ฒ ์ ๋ฆฌ๋๋ค. ํธ์คํธ๊ฐ ๊ทธ๋ ์ ํ์ด์ง๋ฅผ ๋ง๋ค๊ณ , ์ฐธ์ฌ์๋ ๊ทธ ํ์ด์ง์ ๋ณธ์ธ ํ๋ง ์ถ๊ฐ โ ๊ถํ ๋งคํธ๋ฆญ์ค๋, ๋ฐ์ดํฐ ๋ชจ๋ธ๋ ํ ๋ฒ์ ๋จ์ํด์ก๋ค. ์ด๊ฑธ ์ฒ์์ ๋ชป ๋ณด๊ณ "์ด์์ง ์ผ๊ด"๋ก ์ก์ ๊ฒ 1์ฃผ์ฐจ ๊ฐ์ฅ ํฐ ๊ฐ์ค ์ค๋ฅ์๋ค.
์ฐ๊ฒฐํด์ ์ธ์ฆ ๋ชจ๋ธ๋ ๋ฐ๋์๋ค.
- ๋งค์ง๋งํฌ(Resend ๋ฌด๋ฃ ํฐ์ด) โ ์ด๋ฉ์ผ ๋ฐ์ก SaaS๊ฐ ๋ผ๋ ๊ฒ ์์ฒด ์๋ฒ ๋ฐฉํฅ๊ณผ ์ ๋ง์๊ณ ,
- ๋จ์ผ ๋น๋ฐ๋ฒํธ(์ด์์ง๋ง) โ ์ฐธ์ฌ์๊ฐ ๋ณธ์ธ ํ์ ์ ๋ ๋ชจ๋ธ๊ณผ ์ ๋ง์๋ค.
- ์ต์ข : SNU ๊ตฌ๊ธ OAuth + @snu.ac.kr ๋๋ฉ์ธ ๊ฐ์ + ํ์ดํธ๋ฆฌ์คํธ(๊ด๋ฆฌ์ ์น์ธ). ๋ถ์์ด ์ด๋ฏธ ๊ฐ์ง ๊ณ์ ๊ทธ๋๋ก ์ฐ๊ณ , ์ด๋ฉ์ผ ๋ฐ์ก ์์กด์ด 0์ด ๋๋ค.
N100 ์๋ฒ๋ฅผ ๊ตฌ๋งคํ๋ฉด์ ํ ๋ฒ์ ํฐ ๊ฒฐ์ ์ด ๋๋ฏธ๋ ธ๋ก ๋๋จธ์ง ๊ฒฐ์ ์ ๋๊ณ ๊ฐ๋ค.
๋๋ฏธ๋ ธ 0 โ ์์ฒด ์๋ฒ. Vercel/Supabase ๋ฌด๋ฃ ํฐ์ด ํ๋ ์ ๊ฒฝ์ ์ ์จ๋ ๋๊ณ , ๋์๋ฆฌ ์ฌ์ง/ํ์ด์ค ๊ธฐ๋ก์ด ์ธ๋ถ ์ฌ์ ์์ ์ ๋๊ฐ๋ค. ๋ถํธ์บ ํ ์ข ๋ฃ ํ์๋ ์ด์ ๊ฐ๋ฅํ ํํ๋ผ๋ ์ ์ด ๊ฒฐ์ ์ ์ด์๋ค. ๋๊ฐ๋ SPOF, ๊ฐ์ ํ์ ์ ์ ๋ก๋ ์๋, ์ธ์ฆ์ยทํฌํธํฌ์๋ฉ ์ด์ ๋ถ๋ด. ๋ฐ์๋ค์ด๊ธฐ๋ก ํ๋ค.
๋๋ฏธ๋
ธ 1 โ DB. Postgres ์ปจํ
์ด๋๋ฅผ ์ฐ์๋ ๋์๋ฆฌ 30๋ช
๊ท๋ชจ์ ๋ช
๋ฐฑํ ๊ณผํ ๋๊ตฌ์๋ค. SQLite ํ์ผ 1๊ฐ๋ก ๊ฒฐ์ โ ๋ฐฑ์
์ด cp ํ ๋ฒ์ด๋ผ๋ ๊ฒ ์์ฒด๊ฐ ๋จ์ผ ์ด์์ํํ
ํฐ ๊ฐ์น์๋ค.
๋๋ฏธ๋ ธ 2 โ ์ธ์ฆ. ์์ฒด ํธ์คํ ์ด๋ผ Supabase Auth๋ ์์ฐ์ค๋ฝ๊ฒ ๋น ์ก๊ณ , Auth.js v5 + Google OAuth๋ก ์์ฐฉ. ์์ ์ ์๋ฏ ๋งค์ง๋งํฌ โ ๋จ์ผ ๋น๋ฒ โ OAuth๋ก ๋ ๋ฒ ๊ฐ์ํ๋ค.
๋๋ฏธ๋
ธ 3 โ ์ฌ์ง ์ ์ฅ. Supabase Storage ๋์ ๋ก์ปฌ ๋ณผ๋ฅจ. ํ์ฐธ ํด๋ผ์ด์ธํธ ๋ฆฌ์ฌ์ด์ฆ(1600px)๋ฅผ ๋ฃ์์ง ๊ณ ๋ฏผํ๋๋ฐ, N100 ๋์คํฌ ์ฌ์ ์ next/image์ ์๋ webp ์บ์ฑ์ ๋ฐ์ ธ๋ณด๋ ์๋ณธ์ ๊ทธ๋๋ก ๋ณด์กดํ๋ ๊ฒ ๋ง๋ค๋ ๊ฒฐ๋ก ์ด์๋ค. ์ฌ์ง ํ์ง์ ๋ํ ์ฑ
์์ ์ฝ๋์์ ๋นผ๊ณ ์ฌ์ฉ์ํํ
๋๋ ค์ฃผ๋ ๊ฒฐ์ ์ด๋ค.
๋๋ฏธ๋ ธ 4 โ ๋ฆฌ๋ฒ์ค ํ๋ก์. Caddy / Nginx / Traefik ๋น๊ต๋ ๊ธธ๊ฒ ํ๋๋ฐ ๊ฒฐ๊ตญ "Caddyfile 10์ค๋ก ์๋ HTTPS"๊ฐ ์๋ก ์ด์์ ์๋์ . Nginx๋ certbot + cron + reload ํ ์ ๋ฐ๋ก ์ด์ํด์ผ ํ๊ณ , Traefik์ ์ปจํ ์ด๋ ์๋ ๊ฐ์ง๋ ์๋น์ค 1~2๊ฐ์ ๊ณผํ๋ค.
๋๋ฏธ๋
ธ 5 โ ํ๋ ์์ํฌ. Vite + Hono ๊ฐ์ SPA ์กฐํฉ์ผ๋ก ๊ฐ์ง ๊ณ ๋ฏผํ๋๋ฐ, ์นดํก ๊ณต์ OG ์ด๋ฏธ์ง(opengraph-image.tsx)์ ๋จ์ฒด์ฌ์ง ๊ฐค๋ฌ๋ฆฌ(next/image)์ ํธ์คํธ ํผ(Server Action) โ ์ธ ๊ฐ์ง๊ฐ ๋ชจ๋ Next.js์ ๊ธฐ์ธ์ด ์๋ ๋๋ฉ์ธ์ด๋ผ Next ์ ์ง. ์์ฒด ํธ์คํ
์ output: 'standalone'์ผ๋ก ๋จ์ผ Node ํ๋ก์ธ์ค ๋ชจ๋๋ฉด Vercel ์์ด๋ ์ถฉ๋ถํ๋ค๋ ๊ฑธ ํ์ธํ๋ค.
๋๊ฐ๋ก ํ์ต ์ธก๋ฉด์์ "FE/BE ๊ฒฝ๊ณ๋ฅผ ์ง์ ์ค๊ณํด ๋ณด๋ ๊ฒฝํ"์ ๋ค์ ํ๋ก์ ํธ๋ก ๋ฏธ๋ค๋ค.
์ฒ์ 06-Checkpoints์ ์ ์๋ ํญ๋ชฉ๋ค โ "375px ๊ฐ๋ก ์คํฌ๋กค ์์", "label htmlFor ์ฐ๊ฒฐ๋จ", "next/image ์ฌ์ฉ" โ ์ด๋ฐ ๊ฑด CI์ lint๊ฐ ์ก์์ผ ํ ์ผ์ด์ง ์ฌ๋์ด ํ์์ฒ๋ผ ๋งค๋ฒ ์๋ฌธํ ์ผ์ด ์๋๋ผ๋ ๊ฑธ ๋์ค์ ์์๋ค. ์ฌ๋๋ง ์ก์ ์ ์๋ ๊ฑด ๋ค๋ฅธ ๊ฒฐ์ธ๋ฐ, "AI๊ฐ ๋ด ์ง์๋ฅผ ์๋ชป ํด์ํ ๋ถ๋ถ์ ์ก๋ ๊ฐ์ด๋๋ผ์ธ" ์ด ๋ ๋ง๋ค๋ ๋ฐฉํฅ์ผ๋ก 06์ ์ฌ์์ฑํ๋ค. 7๊ฐ๋ก ์ค์๋ค. ์ด๊ฒ 1์ฃผ์ฐจ์ ๊ฐ์ฅ ํฐ ์ํฌํ๋ก์ฐ ์ธก๋ฉด ํ์ต.
๋ค๋ฅธ ์ํฌํ๋ก์ฐ ์ ๋ฆฌ:
- Spec โ Plan โ Implement 3๋จ๊ณ๊ฐ ๋ชจ๋ ๋๋์ผ ์ฝ๋ ๋ณ๊ฒฝ์ด ์์๋๋ค. Plan ๋จ๊ณ์์ Agent์๊ฒ "ํ๋ง ๊ทธ๋ฆฌ๊ณ ์ฝ๋๋ ๋ง๋ค์ง ๋ง๋ผ"๊ณ ์ํค๋ ํจํด์ด ํ ๋ฒ๋ ์ํด๋ฅผ ๋ผ์น์ง ์์๋ค.
- Agent์๊ฒ ์์ ๊ธ์ง ํญ๋ชฉ์ ๋ช ์: migration ์ ์ฉ, main ๋จธ์ง, env ๋ณ๊ฒฝ, ์ธ๋ถ ์๋น์ค ์ฝ์. ์ ์ด๋์ง ์์ผ๋ฉด ์์์ ํ์ ์ผ๋ค์ด๋ค.
-
.gjc/skills/murun-feature/SKILL.md1๊ฐ๋ก ๋งค ํ๋กฌํํธ๋ง๋ค ๋์ผ ์ปจํ ์คํธ๋ฅผ ๋ค์ ๋ถ์ฌ๋ฃ์ง ์๊ฒ ๋๋ค.
์์ํ๊ฒ ๋ฐ๊ฒฌํ ๊ฒ๋ ์์๋ค. docs/wiki/Home.md์ ๋ค๋ฅธ wiki ํ์ด์ง๋ฅผ (./01-Project-Plan.md)๋ก ๋ฐ์๋๋ฐ, GitHub Wiki๋ URL์ด /wiki/01-Project-Plan (ํ์ฅ์ ์์)์ด๋ผ ์ ๋ถ 404๊ฐ ๋๋ค. ํ์ฅ์๋ฅผ ๋นผ๊ณ ์ ๋ URL์ ์์ด ์ฐ๋ ๋ฐฉ์์ผ๋ก ์ ๋ฆฌํ๊ณ , repo ๋ด README์ docs/wiki/*.md ๋งํฌ๋ ๊ทธ๋๋ก ๋ฌ๋ ๋๋ค โ ๋ surface๊ฐ ๋งํฌ ๊ท์น์ด ๋ค๋ฅด๋ค๋ ๊ฑธ ์ฒ์ ์์๋ค.
- ๊ธฐํ์ / ๊ธฐ์ ์คํ / ํ๋ฉด ํ๋ฆ / Agent ์ํฌํ๋ก์ฐ / ํ๋กฌํํธ ํจํด / Checkpoints / ํ๊ณ โ wiki 7๊ฐ
- GitHub issue 15๊ฑด (Week 1~3 task)
- README + ์ด์/PR ํ
ํ๋ฆฟ +
.gitattributes -
.gjc/skills/murun-feature/SKILL.mdagent skill ์ด์ -
dev๋ธ๋์น๋ก ๋ชจ๋ ๋ณ๊ฒฝ ํตํฉ
๊ธฐํยท์ํฌํ๋ก์ฐ๋ ์ฝ๋ ์์ด ์ ๋ฆฌํ๊ณ , ๋ค์ ์ฃผ๋ ๊ฒฐ์ ํ ๊ฒ์ ์ค์ ๋ก ๋ผ์ ๋ง์ถ๋ ์ฃผ์ฐจ๋ค.
- N100์ Docker + Caddy + Next.js standalone ์ปจํ ์ด๋ ์ ์
- Auth.js v5 + Google OAuth + ํ์ดํธ๋ฆฌ์คํธ ๊ฐ์ ํ๋ฆ
- ํธ์คํธ = ์ธ์ ์์ฑ, ์ฐธ์ฌ์ = ๋ณธ์ธ ํ ์ ๋ ฅ์ vertical slice 1๊ฐ๋ฅผ staging์ ๋์
- ๋งค feature ์์ ์
.gjc/specs/<feature>.md๋ถํฐ โ 1์ฃผ์ฐจ์ ์ ํ ๊ท์น์ ์งํค๋์ง๊ฐ 2์ฃผ์ฐจ์ ์ง์ง ์ํ - 06-Checkpoints 7๊ฐ๋ฅผ PR๋ง๋ค ์๋ฌธ โ ์ฒซ ๋ฒ์งธ PR์์ ์ด์ํ๋ฉด ๊ทธ ์๋ฆฌ์์ ์์
๊ธฐํ ๊ฒฐ์ ์ด ํ ๋ฒ ๋ ๋ค์งํ ๊ฐ๋ฅ์ฑ๋ ์ธ์ ํ๋ค. ๊ถํ ๋งคํธ๋ฆญ์ค๊ฐ ์ค์ ํธ์คํธ/์ฐธ์ฌ์ ํ๋ฆ์ ๋ง์๋ฒ๋ฆฌ๊ฑฐ๋, OAuth ์ฝ๋ฐฑ ๋๋ฉ์ธ ๋ฑ๋ก์ด ๋ฆ์ด์ ๋ก์ปฌ ์ธ์ฆ๋ง ๋์ํ๋ ์ฑ๋ก ํ ์ฃผ๊ฐ ๊ฐ๊ฑฐ๋. ๊ทธ๋๋ ์ด๋ฒ ์ฃผ์ ํ ๋ฒ ๋ค์ง์ด ๋ณธ ๊ฒฝํ์ผ๋ก, ๋ค์ ๋ฒ์ ๋ค์ง์ ๋ ๋ ๋นจ๋ฆฌ ๊ฒฐ์ ํ ์ ์์ ๊ฑฐ๋ผ ๋ณธ๋ค.
1์ฃผ์ฐจ์ ๊ฒฐ์ /์ต๊ด ์ค ๋ค์์ ์์์ ์ผ๋ก ๋ฐ๊ฟ๋ณธ๋ค.
- ๊ฒฐ์ ์ ์ฝ๋ ์ง๊ธฐ ์ ์ ํ ๋ฒ ๋ ์์ฌํ๊ธฐ. 1์ฃผ์ฐจ์ ์ธ์ฆ ๋ชจ๋ธ์ ๋งค์ง๋งํฌ โ ๋จ์ผ ๋น๋ฒ โ Google OAuth๋ก ๋ ๋ฒ ๊ฐ์ํ๋๋ฐ, ๊ทธ๊ฒ ์ฝ๋๊ฐ ์์ ๋๋ผ ๋น์ฉ์ด 0์ด์๋ค. 2์ฃผ์ฐจ์ spec ์์ฑ ์งํ "์ด ๊ฒฐ์ ํ ๋ฒ ๋ ๋ค์ง์ ์ฌ์ง๊ฐ ์๋"๋ฅผ ๋ช ์์ ์ผ๋ก 30์ด ์๊ฐํ๊ณ ๋ค์ด๊ฐ๋ค. ์ฝ๋ ์์ฑ ํ ๋ค์ง๋ ๋น์ฉ์ด ํจ์ฌ ํฌ๋ค.
-
spec/plan ๊ฐ์ ๋ฅผ ์ฒซ PR๋ถํฐ ์ ์ฉ. 1์ฃผ์ฐจ์ ๋ฃฐ๋ง ์ ์์ง ์ ์ฉ ๋์ ์ฝ๋๊ฐ ์์ด์ ๊ฒ์ฆ์ ๋ชป ํ๋ค. 2์ฃผ์ฐจ ์ฒซ feature์์
.gjc/specs/์์ด ์์ํ๋ฉด ๊ทธ ์๋ฆฌ์์ ๋ฉ์ถ๊ณ spec ๋จผ์ ์ด๋ค. ๋ฃฐ ์ด๊ธด ์ฑ ์งํํ๋ฉด ๋๋จธ์ง ์ฃผ์ฐจ๋ ๋ฌด๋์ง๋ค. -
๊ฒฐ์ ์์ ์ issue ์ฆ์ ๊ฐฑ์ . 1์ฃผ์ฐจ์ ๊ฒฐ์ ์ด ๋ฐ๋ ๋๋ง๋ค issue๊ฐ outdated ๋๊ณ , ๋์
update-issues.sh์ง๋ ๋น์ฉ์ด ๋ฐ์ํ๋ค. 2์ฃผ์ฐจ์ ๊ฒฐ์ ์งํ issue๋ ๊ฐ์ PR์ ์์ . -
Wiki โ repo sync ์๋ํ. ๋งค๋ฒ
docs/wiki/*๋ฅผ ์๋ ๋ณต์ฌํ๋ ๋์ ์ด ๋ฒ๊ฑฐ๋กญ๋ค. 2์ฃผ์ฐจ ์ธํ๋ผ ์์ ์ dev push โ wiki repo ์๋ sync ์ํฌํ๋ก์ฐ 1๊ฐ ์ถ๊ฐ. - PR ๋ณธ๋ฌธ์ 06-Checkpoints 7๊ฐ๋ฅผ ์ง์ง๋ก ์๋ฌธ. 1์ฃผ์ฐจ์ ๋ฐ์๋๊ธฐ๋ง ํ๋ค. ์ฒซ PR์์ ์ฒดํฌ๋ฆฌ์คํธ๊ฐ ์ด์ํ๋ฉด ๊ทธ ์๋ฆฌ์์ 06์ ๋ค์ ์ด๋ค โ ๋ฌธ์ ์ํด ๋ฃฐ์ ์งํค๋ ๊ฒ ์๋๋ผ ๋ฃฐ์ด PR์ ๋ ๋ซ๊ฒ ๋ง๋ค ๋๋ง ๊ฐ์น๊ฐ ์๋ค.