๐ 21๊ธฐ ์ ์์ฑ ์ถํ
โ๏ธ ์ด๋ฏธ ์๋ ์๋ ๋ฐํด๋ฅผ ๋ค์ ๋ฐ๋ช ํ์ง ๋ง๋ผ~!
Rose
ํ๋ ค๋ ๊ฒ ๐
AI ํ์ฉ ํ๋ฌ๊ทธ์ธ์ผ๋ก ์ฑ ์ด์์ ์์ฑํ ์ฌ๋ก
์์ ๋ฒ ์คํธ์ ๋ฌ ํฌ๋กค๋ง ๋ฐ ๋ถ์ ์ฌ์ดํธ ๊ฐ๋ฐ์ ํ๋ ค๋ ์ค AI ํ๋ฌ๊ทธ์ธ์ ๋ฐ๊ฒฌํ์ฌ ํ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํจ
ํธ๋ ๋ ๋ฐ ๊ฐญ ๋ถ์์ ํตํด ๊ธฐ์กด ๋ชฉ์ฐจ๋ฅผ ๊ฐ์ ํ๊ณ , ์ค์ ์ฌ๋ก๋ฅผ ๋ฐํ์ผ๋ก ์ฑ ์ด์์ ์์ฑํ๋ ๋ฐ ๋๋ ์๊ฐ์ ๋จ์ถํ๊ณ ์ ํจ
์ฒ์๋ถํฐ ์ง์ ๊ฐ๋ฐํ๋ ๋์ , ์ด๋ฏธ ์กด์ฌํ๋ ํจ์จ์ ์ธ AI ์๋ฃจ์ ์ ํ์ฉํ์ฌ ์ฝํ ์ธ ์ ์ ์๋๋ฅผ ๋์ด๊ณ ์ ํจ
ํ์ฉํ ํด โ๏ธ
last30days-skill (ํ๋ฌ๊ทธ์ธ): X(๊ตฌ Twitter) ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ฒ ์คํธ์ ๋ฌ ํธ๋ ๋ ๋ถ์ ๋ฐ ๊ฐญ ๋ถ์, ๊ฐ์ ์ ์์ฑ, ์ค์ ์ฌ๋ก ์์ง
Claude Code: `last30days-skill` ํ๋ฌ๊ทธ์ธ์ ์คํํ๊ณ , ๋ถ์ ๋ฐ ์์ฑ ์์ ์ ์ง์ํจ
์งํ ์ธ๋ถ ๋ด์ฉ ๐
1๏ธโฃ ํ๋ฌ๊ทธ์ธ ์ค์น ๋ฐ ์ค์ ํจ
X(๊ตฌ Twitter)์ ๊ด๋ จ๋ ํ๋ฌ๊ทธ์ธ์ ์ค์นํ ํ, ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํ์ฌ `Application` ํญ์ `Cookies`์์ `ct0`์ `auth_token` ๊ฐ์ ์ฐพ์๋์
์ด ๊ฐ๋ค์ ๋ฐํ์ผ๋ก ํ๊ฒฝ๋ณ์ ํ์ผ(`last30days.env`)์ ์์ฑํ๊ณ `.claude` ๋๋ ํ ๋ฆฌ ์๋์ ์ ์ฅํ์ฌ ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ ํ๊ฒฝ์ ๊ตฌ์ฑํจ
์ด ๊ณผ์ ์ ๋ค์ ๋ณต์กํ๊ฒ ๋๊ปด์ก์ผ๋, ํ์์ ์ธ ์ค์ ์ด์์
2๏ธโฃ ๋ฒ ์คํธ์ ๋ฌ ํธ๋ ๋ ๋ถ์์ ์ํํจ
Claude Code๋ฅผ ์ผ๊ณ `/last30days last30 ํ๊ตญ AI/์ปดํจํฐ/IT ์์ ๋ฒ ์คํธ์ ๋ฌ ์ ๋ณด` ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ง๋ 30์ผ๊ฐ์ AI/์ปดํจํฐ/IT ์์ ๋ฒ ์คํธ์ ๋ฌ ์ ๋ณด๋ฅผ ์กฐ์ฌํ๋๋ก ์ง์ํจ
์์ ๋ฐ์ดํฐ๊ฐ ์๋ SNS ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ์ผ๋ฐ ์์ ์์ฃผ์ ๋ฒ ์คํธ์ ๋ฌ ์ ๋ณด๋ฅผ ์ป์์ผ๋ฉฐ, ์ํ์ ์ ๋ณด๊ฐ ์๋์ผ๋ก ์ ์ธ๋๋ ์ด์ ์ ํ์ธํ์
์กฐ์ฌ ๊ฒฐ๊ณผ๋ ๋ณด๊ณ ์ ํํ๋ก ์ ๊ณต๋์ด ๋ด์ฉ์ ์ฝ๊ฒ ํ์ ํ ์ ์์์
3๏ธโฃ ๊ณตํต์ ๋ฐ ๊ฐญ ๋ถ์์ ์๋ฃํจ
์์ฑ๋ ๋ฒ ์คํธ์ ๋ฌ ๋ณด๊ณ ์(`2026-03-28-ํ๊ตญ-AI-IT-์์ -๋ฒ ์คํธ์ ๋ฌ.md`) ํ์ผ์ ํ ๋๋ก, `@report/2026-03-28-ํ๊ตญ-AI-IT-์์ -๋ฒ ์คํธ์ ๋ฌ.md ๋ฅผ ํ ๋๋ก, ๋ฒ ์คํธ์ ๋ฌ์ ๊ณตํต์ ์ ๋ถ์ํ๊ณ , ๊ฐญ ๋ถ์์ ํด ์ค.` ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ ์คํธ์ ๋ฌ ์์ ๋ค์ ๊ณตํต์ ๊ณผ ์์ฅ์ ๊ฐญ์ ๋ถ์ํ๋๋ก ์์ฒญํจ
๋ถ์์ ์ ์ํ๊ฒ ์งํ๋์์ผ๋ฉฐ, ๊ฐ๋จ๋ช ๋ฃํ ๊ณตํต์ ๊ณผ ๊ฐญ ๋ถ์ ๊ฒฐ๊ณผ๊ฐ ๋์ถ๋จ
4๏ธโฃ ๋ชฉ์ฐจ ๊ฐ์ ์์ ์์ฑํจ
๊ธฐ์กด ๋ชฉ์ฐจ ํ์ผ(`table-of-contents\\\\๋ชฉ์ฐจ.md`)๊ณผ ๊ฐญ ๋ถ์ ๊ฒฐ๊ณผ(`2026-03-28-gap-analysis.md`)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ชฉ์ฐจ ๊ฐ์ ๋ฐฉ์ 5๊ฐ์ง๋ฅผ ์์ฑํ๋๋ก ์ง์ํจ
ํ๋กฌํํธ๋ `@table-of-contents\\\\๋ชฉ์ฐจ.md ๋ฅผ @report/2026-03-28-gap-analysis.md๋ฅผ ํ ๋๋ก ๊ฐ์ ๋ฐฉ์์ 5๊ฐ ๋ง๋ค์ด์ @enhanced ํด๋์\\\\n๊ฐ๊ฐ ์ ์ฅํด ์ค. ์ฃผ์ ๋ฅผ ๋ฐ๊พธ์ง๋ ๋ง๊ณ , ๋ชฉ์ฐจ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ปจ์ ์ ๋ฐ๊พธ๋ ๋ฑ์ ์์ ์ ํด ์ค. ๋ ์ข์ ์์ด๋์ด๊ฐ ์์ผ๋ฉด ๋๊ฐ\\\\n ์์์ ํด ์ค.`์ ๊ฐ์ด ๊ตฌ์ฒด์ ์ธ ์ง์์ ํจ๊ป AI์ ์์จ์ฑ์ ๋ถ์ฌํ์
์์ฑ๋ 5๊ฐ์ง ๊ฐ์ ์ ์ค 'ํธ๋ฌ๋ธ์ํ ์ค์ฌ ์ฌ๊ตฌ์ฑ'์ ์ ํํ์ฌ ์ฑ ์ ๋ฐฉํฅ์ ์ ํจ
5๏ธโฃ ์ค์ ์ฌ๋ก๋ฅผ ์์งํจ
์ ํํ 'ํธ๋ฌ๋ธ์ํ ์ค์ฌ ์ฌ๊ตฌ์ฑ' ๋ชฉ์ฐจ์ ํ์ํ ์๋ฌ ๋ด์ฉ์ ๋ฐํ์ผ๋ก `/last30days:last30days-skill \\\'C:\\\\dev\\\\research-30-days\\\\enhanced\\\\v2-ํธ๋ฌ๋ธ์ํ -์ค์ฌ-์ฌ๊ตฌ์ฑ.md\\\'์ ์๋ ์๋ฌ ๋ด์ฉ์\\\\n๋ํด์ ์ค์ ๋ฐ์ด๋ธ์ฝ๋์ ์ฌ๋ก๋ฅผ ๋ชจ์ ์ค.` ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ๋ฐ์ด๋ธ์ฝ๋์ ์ฌ๋ก๋ฅผ ์์งํ๋๋ก ์์ฒญํจ
SNS ๋ฑ์์ ์ฌ๋๋ค์ด ๋งํ๋ค๊ณ ์ฌ๋ฆฐ ์ค์ ์๋ฌ ์ํฉ๊ณผ ๊ด๋ จ๋ ๋ด์ฉ๋ค์ด ์กฐ์ฌ๋์์ผ๋ฉฐ, ์ด๋ ์ฑ ์ ๋ด์ฉ์ ์ด๋ก ์๊ฐ ์๋ ์ค์ ์ฌ๋ก ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑํ๋ ๋ฐ ํฌ๊ฒ ๊ธฐ์ฌํจ
6๏ธโฃ ์์ง๋ ์ฌ๋ก๋ฅผ ์ฑ ์๊ณ ํํ๋ก ๊ฐ๊ณตํจ
์์ง๋ ๊ฐ ์ฌ๋ก๋ฅผ ์ฑ ์๊ณ ์ ์ธ ์ ์๋ ํํ๋ก ๊ฐ๊ณตํ๋๋ก ์ง์ํ์ผ๋ฉฐ, `๊ฐ ์ฌ๋ก๋ฅผ ์ฑ ์๊ณ ์ ์ธ ์ ์๋ ํํ๋ก ๊ฐ๊ณต (์๋ฌ โ ์์ธ โ ํด๊ฒฐ์ 3๋จ ๊ตฌ์กฐ)ํด์ ๋ @generated-contents\\\\ ์๋ค๊ฐ ์ ๋นํ\\\\n์ ๋ชฉ์ผ๋ก ์ ์ฅํด ์ค.` ํ๋กฌํํธ๋ฅผ ํ์ฉํ์ฌ '์๋ฌ โ ์์ธ โ ํด๊ฒฐ'์ 3๋จ ๊ตฌ์กฐ๋ก ์คํ ๋ฆฌํํ์
์ด ๊ณผ์ ์ ํตํด ๋ชฉ์ฐจ, ์ฌ๋ก ์กฐ์ฌ, ์ฌ๋ก ๊ธฐ๋ฐ ์คํ ๋ฆฌ ๊ตฌ์ฑ์ ์ด์์ด ์์ฑ๋์ด ์ฑ ์งํ์ ๊ธฐ๋ฐ์ด ๋ง๋ จ๋จ
๐ 21๊ธฐ ์ต์๋์ธ
โ๏ธ Claude Code ร Obsidian ร ๊ตฌ๊ธ ์บ๋ฆฐ๋ โ ์ง์ ์์ง๋ถํฐ ์ผ์ ์คํ๊น์ง ์๋ํ
์ก์ธํ
ํ๋ ค๋ ๊ฒ ๐
๊ฐ์ธ ์ง์๊ณผ ์๊ฐ ๊ด๋ฆฌ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ์คํ๋ ฅ์ ๋์ด๋ ์์คํ ๊ตฌ์ถ ์ฌ๋ก
Obsidian์ ์ ๋ฆฌ๋ ์ง์์ด ๊ตฌ๊ธ ์บ๋ฆฐ๋์ ์คํ์ผ๋ก ์ด์ด์ง์ง ์๊ฑฐ๋, ์บ๋ฆฐ๋์ ์ผ์ ์ด ๋งฅ๋ฝ ์์ด ์ฒ๋ฆฌ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ํจ.
์ง์ ๊ด๋ฆฌ์ ์๊ฐ ๊ด๋ฆฌ๊ฐ ๋ถ๋ฆฌ๋์ด ๋ฐ์ํ๋ ๋ ธํธ๋ ์์ง๋ง ์ถ์ด ๋ฐ๋์ง ์๊ณ , ์ ๋ฆฌ๋ ๋์ง๋ง ์คํ์ด ์ ๋๋ ๋นํจ์จ์ฑ์ ํด์ํ๊ณ ์ ํจ.
๋ ์์คํ ์ ํ๋๋ก ์ฐ๊ฒฐํ์ฌ ์ง์์ ์ถ์ , ๊ด๋ฆฌ, ์คํ, ํ๊ณ ์ ์ ๊ณผ์ ์ ์๋ํํ๊ณ ์ ํจ.
ํ์ฉํ ํด โ๏ธ
Claude Code ์คํฌ: Obsidian๊ณผ Google Calendar๋ฅผ ์ฐ๊ฒฐํ๊ณ , ์ธ๋ถ ์ฝํ ์ธ ์์ง, ์ธ๋ฐ์ค ๊ด๋ฆฌ, ์ง์ ์ฒด๊ณํ, ์บ๋ฆฐ๋ ๊ธฐ๋ฐ ์๊ฐ ๊ด๋ฆฌ ๋ฑ 20๊ฐ์ง ์ํฌํ๋ก์ฐ๋ฅผ ์๋ํํ๋ ๋ฐ ํ์ฉํจ.
์งํ ์ธ๋ถ ๋ด์ฉ ๐
1๏ธโฃ ์ง์-์คํ ํตํฉ ์์คํ ๊ตฌ์กฐ ์ค๊ณ ๋ฐ ์คํฌ ๊ฐ๋ฐ ์์
๋ฐฉ๋ฒ: Obsidian์ ์ง์ ๊ด๋ฆฌ์ Google Calendar์ ์๊ฐ ๊ด๋ฆฌ๊ฐ ๋ถ๋ฆฌ๋์ด ๋ฐ์ํ๋ ๋นํจ์จ์ฑ์ ํด๊ฒฐํ๊ณ ์, ๋ ์์คํ ์ ์ฐ๊ฒฐํ๋ 3๋จ ๋ ์ด์ด ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ํจ. Obsidian์ ์ง์ ๋ฐ ํ ์ผ ์ ์ฅ์๋ก, Google Calendar๋ฅผ ์คํ ์ ์ฅ์๋ก, Claude Code ์คํฌ์ ์ด ๋์ ์๋ ๋ค๋ฆฌ ์ญํ ๋ก ์ ์ํจ.
๊ฒฐ๊ณผ: `clip-`, `box-`, `know-`, `cal-`์ 4๊ฐ ๊ทธ๋ฃน์ผ๋ก ๋ถ๋ฅ๋ 20๊ฐ์ Claude Code ์คํฌ์ ๊ฐ๋ฐํ์์ผ๋ฉฐ, ์คํฌ์ด ๋ง์์ง๋ ๊ฒ์ ๋๋นํ์ฌ prefix ์ฒด๊ณ๋ฅผ ๊ตฌ์ถํ์ฌ ์คํฌ ์ ์ถ ๋ฐ ํ์ฉ ํธ์์ฑ์ ๋์.
ํผ๋๋ฐฑ: `.claude/commands/` ํ์ผ์ ๋งํฌ๋ค์ด ํ์์ผ๋ก ์ ์ฐจ๋ฅผ ์์ฐ์ด๋ก ์์ฑํ๋ ๊ฒ๋ง์ผ๋ก ๋ณต์กํ ์ฌ๋์ ์ปค๋งจ๋๋ฅผ ๋ง๋ค ์ ์์์ ํ์ธํจ.
2๏ธโฃ ์ธ๋ถ ์ฝํ ์ธ ์์ง ๋ฐ ์ธ๋ฐ์ค ๊ด๋ฆฌ ์คํฌ ๊ตฌํ
๋ฐฉ๋ฒ: ์น ์ํฐํด, ์ ํ๋ธ ์์, ์๊ธ์จ/์ฌ์ง ๋ฑ ๋ค์ํ ์ธ๋ถ ์ ๋ณด๋ฅผ Obsidian์ผ๋ก ํจ์จ์ ์ผ๋ก ์์งํ๊ณ , ์ธ๋ฐ์ค์ ์์ธ ํ ์ผ๊ณผ ์์ด๋์ด๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ ์คํฌ๋ค์ ๊ตฌํํจ.
์ฌ์ฉํ ํ๋กฌํํธ/์ฝ๋: `/clip-web [URL]`์ ์น ์ํฐํด์ ํต์ฌ ๊ธฐ์ ์ถ์ถ ๋ฐ frontmatter ์๋ ์์ฑ์, `/clip-yt [URL]`์ ์ ํ๋ธ ์๋ง ๋ค์ด๋ก๋ ๋ฐ ์์ฝ, ์ธ์ฌ์ดํธ ์ถ์ถ์, `/clip-img [๊ฒฝ๋ก]`๋ ์๊ธ์จ/์ฌ์ง OCR ์ฒ๋ฆฌ ํ ๋ ธํธ ์ ํ ์๋ ํ๋จ ๋ฐ ์ ์ฅ์ ์ํํจ.
์ฌ์ฉํ ํ๋กฌํํธ/์ฝ๋: `/box-action [์ ๋ชฉ]`์ผ๋ก ํ ์ผ ๋ ธํธ๋ฅผ, `/box-idea [์์ด๋์ด]`๋ก ์์ด๋์ด ๋ ธํธ๋ฅผ ์ฆ์ ์์ฑํ๊ณ , `/box-q [ํ์ผ๋ช ]`์ผ๋ก ๊ธฐ์กด ๋ ธํธ์ ๊ณ ๋ํ ์ง๋ฌธ์ง๋ฅผ ์ถ๊ฐํ๋ฉฐ, `/box-up [ํ์ผ๋ช ]`์ผ๋ก ์ง๋ฌธ์ง ๋ต๋ณ์ ๋ฐํ์ผ๋ก ๋ ธํธ ๋ด์ฉ ์ฌํ๋ฅผ ์ง์ํจ.
๊ฒฐ๊ณผ: ์ ๋ณด ์์ง ์ ํต์ฌ ๊ธฐ์ ์ถ์ถ, ์์ฝ, frontmatter ์๋ ์์ฑ์ ํตํด ์๋ ์์ ์๊ฐ์ ๋จ์ถํ๊ณ , ์์ด๋์ด ํฌ์ฐฉ๊ณผ ๋์์ ๊ตฌ์ฒดํ ์ง๋ฌธ์ ์ธํ ํ์ฌ ์งง์ ๋ฐ๊ฐ๊ธฐ์ ์์ด๋์ด๋ฅผ ๋์น์ง ์๊ณ ๋น ๋ฅด๊ฒ ์ฌ๊ณ ๋ฅผ ๊ตฌ์ฒดํํ ์ ์๋๋ก ์ง์ํจ. `/box-up`์ ๋ต๋ณ ์์ด๋ ์คํ์ ๊ฑฐ๋ถํ๋๋ก ์ค๊ณํ์ฌ AI๊ฐ ์๊ฐ์ ๋์ ์ฑ์ฐ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ์ฌ์ฉ์์ ์ฐธ์ฌ๋ฅผ ์ ๋ํจ.
3๏ธโฃ ์ง์ ์ฒด๊ณํ ๋ฐ ์๊ฐ ๊ด๋ฆฌ ํตํฉ ์คํฌ ๊ตฌํ
๋ฐฉ๋ฒ: ์ธ๋ฐ์ค์์ ์ฒ๋ฆฌ๋ ๋ ธํธ๋ฅผ vault์ ์๊ตฌ ์ง์ ์ฒด๊ณ๋ก ํธ์ ํ๊ณ , Obsidian์ ์ง์๊ณผ ํ ์ผ์ ๊ตฌ๊ธ ์บ๋ฆฐ๋์ ์ค์ ์๊ฐ์ผ๋ก ๋ฐฐ์นํ๋ฉฐ, ํ๊ณ ๋ฐ ์ด์ํ๋ ์คํฌ๋ค์ ๊ตฌํํจ. 'TimeSlot' ๊ฐ๋ ์ ๋์ ํ์ฌ ์ง์ค ์๊ฐ ๋ธ๋ก์ ์ค์ ํจ.
์ฌ์ฉํ ํ๋กฌํํธ/์ฝ๋: `/know-save [ํ์ผ๋ช ]`, `/know-merge [ํ์ผ๋ค]`, `/know-find [ํค์๋]`, `/know-review` ๋ฑ์ ํ์ฉํ์ฌ vault ์ ์ฒด ์ฐ๊ฒฐ ๋ถ์, ๊ด๋ จ ๋ ธํธ ํตํฉ(์ถฉ๋ํ๋ ๊ด์ ๋ณด์กด), ์ง์ ํ์, ์ค๋๋ ๋ ธํธ ์ฌํด์ ๋ฑ์ ์ํํ์ฌ ์ง์์ ์ฒด๊ณํํ๊ณ ์ ๊ธฐ์ ์ผ๋ก ๊ด๋ฆฌํจ.
์ฌ์ฉํ ํ๋กฌํํธ/์ฝ๋: `/cal-daily [๋ ์ง]`, `/cal-week`, `/cal-plan`, `/cal-slot [N] [ํ์ผ]`, `/cal-fix`, `/cal-stat`, `/cal-next`, `/cal-daily --review` ๋ฑ์ ํ์ฉํ์ฌ ๋ฐ์ผ๋ฆฌ ๋ ธํธ ์์ฑ, ์ธ๋ฐ์ค ์ด๋ฒคํธ ์ถ์ถ ๋ฐ ๊ตฌ๊ธ ์บ๋ฆฐ๋ ๋ฑ๋ก, ์ฃผ๊ฐ ๊ฐ์ฉ ํํฉ ์กฐํ, ํ ์ผ ์๋ ๋ฐฐ์น, ๋ฏธ์๋ฃ ์ด๋ฒคํธ ์ฌ๋ฐฐ์น, ์ฃผ๊ฐ ํ์ฉ๋ ๋ฆฌํฌํธ ์์ฑ, ๋ค์ ์ฃผ ์ด์ ๋ฑ์ ์๋ํํจ.
๊ฒฐ๊ณผ: TimeSlot ๊ฐ๋ ์ ๋์ ํ๊ณ ๊ตฌ๊ธ ์บ๋ฆฐ๋์ ๊ฐ์ฉ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ ์ผ์ ๋ฐฐ์นํจ์ผ๋ก์จ ์ค๋ฒ์ค์ผ์ค์ ๋ฐฉ์งํ๊ณ , `[์๋ฃ]` ๋งํน ์ปจ๋ฒค์ ์ ์ฌ์ฉํ์ฌ ๋ณ๋ ์ํ ๊ด๋ฆฌ ์์คํ ์์ด๋ ํ์คํฌ ์๋ฃ ์ฌ๋ถ๋ฅผ ์๋ ์ธ์ํ๊ฒ ํ์ฌ ํจ์จ์ ์ธ ์๊ฐ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํจ.
4๏ธโฃ ์์คํ ํ์ฉ ์ํฌํ๋ก์ฐ ๊ตฌ์ถ ๋ฐ ์ฑ๊ณผ ํ์ธ
๋ฐฉ๋ฒ: ์์์ผ ์์นจ ๋ฃจํด, ์ด๋ ์ค ์ ํ๋ธ ์์ ๋ฐ๊ฒฌ, ์์ด๋์ด๊ฐ ๊ฐ์๊ธฐ ๋ ์ฌ๋์ ๋, ์ ๋ ํ๊ณ , ๊ธ์์ผ ์ฃผ๊ฐ ๋ง๋ฌด๋ฆฌ ๋ฑ 5๊ฐ์ง ๋ํ์ ์ธ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ํตํด ๊ตฌ์ถ๋ ์์คํ ์ ์ค์ ํ์ฉ ์ํฌํ๋ก์ฐ์ ๊ทธ ํจ๊ณผ๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์์ฐํจ.
๊ฒฐ๊ณผ: 10๋ถ ๋ง์ ์ฃผ๊ฐ ์คํ ๊ณํ ์์ฑ ๋ฐ ์บ๋ฆฐ๋ ๋ฑ๋ก, ์์ ๋ฐ๊ฒฌ๋ถํฐ ํด๋ฆฌํ, ์ง๋ฌธ์ง ์ถ๊ฐ, ์คํฐ๋ ์๊ฐ ๋ฐฐ์น๊น์ง ์๊ฒฐ, ์์ด๋์ด ํฌ์ฐฉ๊ณผ ๋์์ ๊ตฌ์ฒดํ ์ง๋ฌธ ์ธํ ์๋ฃ, ์ค๋ ๋ชป ํ ์ผ์ด ๋ด์ผ ์บ๋ฆฐ๋์ ์๋์ผ๋ก ์ฌ๋ผ๊ฐ ๋์น๋ ํ์คํฌ๊ฐ ์์ด์ง, ์ฃผ๊ฐ ์ฑ๊ณผ๋ฅผ ์ซ์๋ก ํ์ ํ๊ณ ๋ค์ ์ฃผ ์์ ์ ์ ์ด๋ฏธ ๋ฐฐ์น ์๋ฃ ๋ฑ์ ๊ตฌ์ฒด์ ์ธ ์ฑ๊ณผ๋ฅผ ์ป์.
ํผ๋๋ฐฑ: `/cal-stat` ์คํฌ์ ํตํด ์ฃผ๊ฐ TimeSlot ํ์ฉ๋ ๋ฆฌํฌํธ(์๋ฃ 40%, ๋ฏธ์๋ฃ 20%, ๋ฏธํ์ฉ 40%)์ ์ค์ SLOT-1 ํ์ฉ๋ฅ 15%์ ๊ฐ์ ํจํด์ ๋ถ์ํ์ฌ ํจ์จ์ฑ ๊ฐ์ ์ ๊ธฐ์ฌํจ์ ํ์ธํจ.
๐ 21๊ธฐ ๊ต์ก์ฑ๋ง๋ค๊ธฐ
โ๏ธ Gemini + Claude ๋ก ์๋์ด๋ฅผ ์ํ '๋ง๋ง ํ์ธ์' ์ฑ ๋ง๋ค๊ธฐ
minseo
ํ๋ ค๋ ๊ฒ ๐
์๋์ด ๋์ ์์ฑ ์ ๋ ฅ ๊ต์ก ๋์ฐ๋ฏธ ์ฑ ๊ฐ๋ฐ ์ฌ๋ก
๋ฐ์ด๋ธ์ฝ๋ฉ์ ์์ฑ ์ ๋ ฅ ๋ฐฉ์๊ณผ ์๋์ด ๋์งํธ ๋ฆฌํฐ๋ฌ์ ๊ต์ก ์ ์์ฑ ์ ๋ ฅ์ ์ด๋ ค์์ ๊ฒช๋ ์ํฉ์ ์ธ์งํ์ฌ ์ฑ ๊ฐ๋ฐ์ ์์ํจ.
์๋์ด๋ค์ด ์์ฑ ์ ๋ ฅ์ ๋ํ ๋ถ๋ด๊ฐ์ ์ค์ด๊ณ ์ฝ๊ฒ ์ฐ์ตํ ์ ์๋ ์ฌ์ ์ฐ์ต ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ณ ์ ํจ.
์๋์ด๋ค์ด ์์ฑ ์ ๋ ฅ ๊ธฐ๋ฅ์ ์ต์ํด์ง ์ ์๋๋ก ๋๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ํจ.
ํ์ฉํ ํด โ๏ธ
Gemini: ์ฑ ๊ธฐํ, ์ฝ๋ ์์ฑ ๋ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
Cuslor: ์ฑ ๋์์ธ
Github: ๊ฐ๋ฐ๋ ์ฑ ๋ฐฐํฌ
์งํ ์ธ๋ถ ๋ด์ฉ ๐
1๏ธโฃ AI ํ์ฉํ ์ฑ ๊ธฐํ ๋ฐ ์ฝ๋ ์์ฑ์๋์ด์ ์์ฑ ์ ๋ ฅ ํ์ต์ ๋๊ธฐ ์ํ '๋งํด๋ณด์ธ์' ์ฑ ๊ฐ๋ฐ์ ์ฐฉ์ํจ.
Gemini๋ฅผ ํ์ฉํ์ฌ ์ฑ์ ๊ธฐํ๊ณผ ์ฝ๋ ์์ฑ, ๊ทธ๋ฆฌ๊ณ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ณผ์ ์ ์งํํจ.
AI ๋๊ตฌ์ ๋์์ผ๋ก ์์ฑ ์ ๋ ฅ ๊ธฐ๋ฅ์ ์๊ฐ๋ณด๋ค ๊ฐ๋จํ๊ฒ ์ฑ์ ๊ตฌํํ ์ ์์์.
๋ด์ฉ์ด ๋ถ์กฑํ์ฌ ์๋ํ ๋ฐฉ๋ฒ๊ณผ ์ ๊ทผ ๋ฐฉ์, ์ฌ์ฉํ ํ๋กฌํํธ๋ ์ฝ๋, ๋ฐ์ํ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์์ฝํ์ง ๋ชปํ์ต๋๋ค.
Cuslor๋ฅผ ํ์ฉํ์ฌ ์ฑ์ ๋์์ธ ์์ ์ ์งํํจ.
Github๋ฅผ ํตํด ๊ฐ๋ฐ๋ ์ฑ์ ๋ฐฐํฌํ์ฌ ์ ๊ทผ์ฑ์ ํ๋ณดํจ.
๋ฐฐํฌ๋ ์ฑ์ URL์ https://sugione4569-sudo.github.io/senior1/ ์.
๋ด์ฉ์ด ๋ถ์กฑํ์ฌ ์๋ํ ๋ฐฉ๋ฒ๊ณผ ์ ๊ทผ ๋ฐฉ์, ์ฌ์ฉํ ํ๋กฌํํธ๋ ์ฝ๋, ๋ฐ์ํ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ, ์ป์ ๊ฒฐ๊ณผ๋ ํผ๋๋ฐฑ์ ์์ฝํ์ง ๋ชปํ์ต๋๋ค.
๐ 21๊ธฐ ๋๋ฆผ์์
โ๏ธ Remotion + AI๋ก ์ด์ธ ์ ๋ณด ์ํผ ์์ ์๋ ์์ฑ ๋์ ๊ธฐ
hope
ํ๋ ค๋ ๊ฒ ๐
๋ ๋ณ ์ด์ธ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํผ ์์ ์๋ ์์ฑ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ์ฌ๋ก
๋ชฉ์ : ๋ฐ๋ณต๋๋ ์ฝํ ์ธ ์ ์ ๊ณผ์ ์ ์๋ํํ๊ณ ์ ํจ.
๋ฐฐ๊ฒฝ: fal.ai ๊ฐ์ ์์ ์์ฑ ๋๊ตฌ ํ ์คํธ ์ค ๋น์ฉ ๋ถ๋ด๊ณผ ๊ฒฝํ ๋ถ์กฑ์ ๋๊ปด, Remotion ๊ธฐ๋ฐ ์์ ์ ์์ ์ต์ํด์ง ํ์์ฑ์ ๋๋.
ํด๊ฒฐํ๊ณ ์ ํ ๋ด์ฉ: ๊ธฐ์กด ๋ฐ์ด๋ธ ์ฝ๋ฉ์ผ๋ก ๋ง๋ค์๋ ๋ ๋ณ ์ด์ธ ์ฝํ ์ธ ๋ฅผ Remotion AI์ Claude Code๋ฅผ ํ์ฉํ์ฌ ์ํผ ์์์ผ๋ก ์๋ ์์ฑํ๊ณ ์ ํจ.
ํ์ฉํ ํด โ๏ธ
Remotion: React ๊ธฐ๋ฐ ์์ ์์ฑ์ ํ์ฉํจ.
Claude Code: ์ฝ๋ ์์ฑ ๋ฐ ๊ตฌ์กฐ ์ค๊ณ, ๋ฐ์ด๋ธ ์ฝ๋ฉ ๋ฐฉ์ ๊ตฌํ์ ํ์ฉํจ.
Cursor: ๊ฐ๋ฐ ํ๊ฒฝ์ผ๋ก ์ฌ์ฉํจ.
์งํ ์ธ๋ถ ๋ด์ฉ ๐
1๏ธโฃ ์ ๊ทผ ๋ฐฉ์ ๋ฐ ๊ตฌ์กฐ ์ค๊ณ
์ด์ธ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์์ด ์์ฑ๋๋๋ก ๊ตฌ์กฐ๋ฅผ ์ค๊ณํจ.
Claude Code๋ฅผ ํ์ฉํ ๋ฐ์ด๋ธ ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก ๋น ๋ฅด๊ฒ ๊ตฌํ์ ์๋ํจ.
๋ฐ๋ณต์ ์ธ ์์ ๊ณผ ์ฆ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ๊ตฌ์กฐ ๊ฐ์ ์ฌ์ดํด์ ๋ฐ๋ณตํ์ฌ ์์ฑ๋๋ฅผ ๋์.
2๏ธโฃ ์ ์ฒด ํ๋ฆ ๊ตฌํ
๋ฐ์ดํฐ ์์ง ๋จ๊ณ์์ `fetch-fortune-db.mjs` ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ์ด์ธ DB ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ , `map-fortune.mjs` ์คํฌ๋ฆฝํธ๋ก FortuneData ํ์์ ๋งคํ ๋ฐ์ดํฐ๋ฅผ ์์ฑํจ.
์์ ์์ฑ ๋จ๊ณ์์ ๋ ์ง์ ํ ๋ง๋ฅผ ์ง์ ํ์ฌ Remotion ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ผ๋ก ๋ ๋๋งํ๋๋ก ๊ตฌํํจ.
`render-all.mjs` ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฒ์ ์์์ ์ผ๊ด ๋ ๋๋งํจ.
3๏ธโฃ ํ๋ก์ ํธ ๊ตฌ์กฐ ์ค๊ณ
`src/`, `compositions/`, `scripts/`, `public/`, `out/` ๋ฑ์ ๋๋ ํ ๋ฆฌ๋ก ํ๋ก์ ํธ ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ๋ถ๋ฆฌํ์ฌ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํจ.
`src/compositions/zodiac-fortune/` ๋ด๋ถ์ `guide/`, `data/`, `theme/`, `scenes/`, `components/` ๋ฑ์ผ๋ก ์ธ๋ถ ๊ตฌ์กฐ๋ฅผ ์ ์ํ์ฌ ๋ชจ๋ํ๋ฅผ ์งํํจ.
ํนํ, `scenes/` ๋๋ ํ ๋ฆฌ์๋ Intro, ZodiacInfo, MainFortune, DetailFortune, YearFortune, Outro ๋ฑ ์ฌ ๋จ์๋ก ์์ ๊ตฌ์กฐ๋ฅผ ๋ถ๋ฆฌํ๊ณ ๊ฐ ์ฌ๋ณ ์ญํ ์ ๋ช ํํ ์ ์ํจ.
4๏ธโฃ ํต์ฌ ๊ตฌํ ํฌ์ธํธ ์ ์ฉ
์ฌ๋ฌ ํ ๋ง(dark, amber, navy, purple)๋ฅผ ์ง์ ํ์ฌ ์์ ๋ถ์๊ธฐ๋ฅผ ๋ค์ํ๊ฒ ๊ตฌ๋ถํจ.
ํ ์คํธ ์ ๋๋ฉ์ด์ ์ ์ค์ฌ์ผ๋ก ์์ ๋ด์ฉ์ ๊ตฌ์ฑํจ.
์ ๋๋ฉ์ด์ ํ์ด๋ฐ ์ฑํฌ๋ฅผ ๋ง์ถ๊ธฐ ์ํด ํ๋ ์ ๋จ์๋ก ์ธ๋ฐํ๊ฒ ์ ์ดํจ.
ํญ์ ํ์ฑํ๋๋ ๋ณ ํํฐํด ๋ฐฐ๊ฒฝ (`Background.tsx`), ๋ณ์ ์์ ฏ (`StarRating.tsx`), ์ธ๋ถ ์ด์ธ ์นด๋ (`FortuneCard.tsx`), ์ถ์๋ ๋ ๋ฑ์ง ๋ชฉ๋ก (`YearBadges.tsx`) ๋ฑ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์ปดํฌ๋ํธ๋ฅผ ๊ตฌํํจ.
๐ 21๊ธฐ AI์ํผ๋๋ผ๋ง
โ๏ธ ํด์ฝ๋ก ์ด๋ฆฐ์ด์ฉ ์ ํฌ๋ธ ์ ์์ค! ์์ํธ์ง์คํฌ FFMPEG > ๋ฆฌ๋ชจ์ ์ผ๋ก ๋ณ๊ฒฝ. ๋ฆฌ๋ชจ์ ์ดํํธํจ๊ณผ ๋ฐ๋ชจํ์ด์ง ์ ์.
๋ฐฑ๊ตฌ์ฐ
ํ๋ ค๋ ๊ฒ ๐
ํด๋ก๋์ฝ๋ ํ์ฉ ์ํผ ์ ๋๋ฉ์ด์ ์ ์ ๋ฐฉ์ ๊ฐ์ ๋ฐ ํํฉ ๊ด๋ฆฌ ์ฌ๋ก
๊ธฐ์กด FFMPEG ๊ธฐ๋ฐ์ ์์ ํธ์ง์ Remotion์ผ๋ก ์ ํํ์ฌ ์์ ํ๋ฆฌํฐ๋ฅผ ๋์ด๊ณ ์ ํจ.
Remotion ์คํฌ์ ๋ค์ํ ์๊ฐ ํจ๊ณผ๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ํ์ฉํ ์ ์๋ ๋ฐ๋ชจ ํ์ด์ง๋ฅผ ์ ์ํ๊ณ ์ ํจ.
๊ทธ๋์ ์ ์ํ ์ํผ ์ ๋๋ฉ์ด์ ์ ์ ์ ๋น์ฉ, ์กฐํ์, ๊ณผ์ ๋ฑ์ ํ๋์ ํ์ ํ ์ ์๋ ๋์๋ณด๋๋ฅผ ๊ตฌ์ถํ์ฌ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ ํจ.
ํ์ฉํ ํด โ๏ธ
ํด๋ก๋์ฝ๋ (VS Code ์ต์คํ ์ ): ์ํผ ์ ๋๋ฉ์ด์ ์คํฌ ํ์ผ ์์ฑ, ๋ ํผ๋ฐ์ค ํ์ผ ์์ฑ, Remotion ์ดํํธ ๋ฐ๋ชจ ์นํ์ด์ง ์ฝ๋ ์์ฑ, ์ํผ ์ ์ ํํฉ ๋์๋ณด๋ ์ฝ๋ ์์ฑ์ ํ์ฉํจ.
Remotion: ์๋ก์ด ์์ ํธ์ง ์คํฌ๋ก, ์๋ง, ํ๋ฉด ๋ถํ , ์ค์ธ/์์, ํ ์คํธ ํ์ดํ ํจ๊ณผ ๋ฑ ๋ค์ํ ๋น์ฃผ์ผ ์ดํํธ ๊ตฌํ์ ์ฌ์ฉํจ.
FFMPEG: ๊ธฐ์กด์ ์ฌ์ฉํ๋ ์์ ํธ์ง ์คํฌ๋ก, Remotion๊ณผ ๋น๊ตํ์ฌ ํ๋ฆฌํฐ ์ฐจ์ด๋ฅผ ํ์ธํ๋ ๋ฐ ์ฌ์ฉํจ.
์งํ ์ธ๋ถ ๋ด์ฉ ๐
1๏ธโฃ Remotion ์คํฌ ๋์ ๋ฐ ๋น๊ต์๋ํ ๋ฐฉ๋ฒ๊ณผ ์ ๊ทผ ๋ฐฉ์: ์ํผ์คํฐ๋ ๋จํก๋ฐฉ ๋ฐ ๋ค๋ฅธ ์๊ฐ์์ ์ถ์ฒ์ผ๋ก Remotion ์คํฌ์ ๋ํด ์๊ฒ ๋์ด, ํด๋ก๋์ฝ๋์๊ฒ FFMPEG์ Remotion์ ์ฐจ์ด๋ฅผ ๋ฌธ์ํ๊ณ Remotion ์คํฌ ํ์ผ ์์ฑ์ ์์ฒญํจ.
์ฌ์ฉํ ํ๋กฌํํธ๋ ์ฝ๋:
์ป์ ๊ฒฐ๊ณผ๋ ํผ๋๋ฐฑ: ํด๋ก๋์ฝ๋๊ฐ Remotion ์คํฌ ํ์ผ๊ณผ ๋ ํผ๋ฐ์ค ํ์ผ์ ์๋์ผ๋ก ์์ฑํจ. Remotion์ผ๋ก ์ ์๋ ์์์ ์๋ง์ด FFMPEG๋ก ๋ง๋ ์์๋ณด๋ค ํจ์ฌ ์์๊ณ , ์๋ง ์์ ์บ๋ฆญํฐ ์ด๋ฆ๋ ์ถ๊ฐ๋๋ ๋ฑ ํ๋ฆฌํฐ๊ฐ ํฅ์๋ ๊ฒ์ ํ์ธํจ.
2๏ธโฃ Remotion ์ดํํธ ๋ฐ๋ชจ ํ์ด์ง ์ ์
์๋ํ ๋ฐฉ๋ฒ๊ณผ ์ ๊ทผ ๋ฐฉ์: Remotion ์คํฌ ํ์ผ์ ์๋ ์ดํํธ ์ค๋ช ์ด mdํ์ผ์ ํ ์คํธ๋ก๋ง ๋์ด ์์ด ์ค์ ํจ๊ณผ๋ฅผ ํ์ ํ๊ธฐ ์ด๋ ค์ ์. ์ด์ ํด๋ก๋์ฝ๋์๊ฒ ๊ฐ ์ปดํฌ๋ํธ์ ์์ ์ด๋ฏธ์ง๋ ๋์์์ ๋ชจ์๋ ์นํ์ด์ง ์ ์์ ์์ฒญํจ.
์ฌ์ฉํ ํ๋กฌํํธ๋ ์ฝ๋: '์์ํธ์ง ์คํฌ๋ก remotion์ ์ถ๊ฐํ์์. ๊ทผ๋ฐ ์ปดํฌ๋ํธ๋ฅผ mdํ์ผ์ ํ ์คํธ๋ก๋ง ๋ณด๋, ํด๋น ์ปดํฌ๋ํธ๋ค์ด ์ด๋ค ํจ๊ณผ๋ค์ธ์ง ์ง์ํ๊ธฐ๊ฐ ์ด๋ ค์. ์คํฌํ์ผ์ ์๋ remotion์ ๋ค์ํ ๋น์ฃผ์ผ์ดํํธ, ์๋งํจ๊ณผ ๋ฑ์ ์ค์ ๋ก ๋์ผ๋ก ๋ณด๊ณ ์ถ์ด. ์ปดํฌ๋ํธ๋ณ๋ก ์์์ด๋ฏธ์ง ๋๋ ์์๋์์์ ๋ง๋ค์ด์ ๋ชจ์๋ ์นํ์ด์ง๋ฅผ ๋ง๋ค ์ ์๋?' ๋ผ๊ณ ์์ฒญํจ.
์ป์ ๊ฒฐ๊ณผ๋ ํผ๋๋ฐฑ: ํด๋ก๋์ฝ๋๊ฐ Remotion ์คํฌ ํ์ผ์ ํ์ ํ ํ, ์์ HTML/CSS/JS๋ก ๊ฐ ํจ๊ณผ๋ฅผ ์๊ฐ์ ์ผ๋ก ์ฌํํ๋ ๋ฐ๋ชจ ํ์ด์ง๋ฅผ ์์ฑํจ. ์ด ํ์ด์ง๋ฅผ ํตํด ์ธ์คํ๊ทธ๋จ ๋ฑ์์ ์ ํ๋ ์ํผ ์์์ ๋ฉ์ง ์ดํํธ๋ค์ด Remotion์ ํ์ฉํ ๊ฒ์์ ์๊ฒ ๋์๊ณ , ์์์ ๋์ฑ ํจ๊ณผ์ ์ผ๋ก ๋ง๋ค ์ ์๊ฒ ๋ค๋ ๊ธฐ๋๊ฐ์ ์ป์.
3๏ธโฃ ์ํผ ์ ๋๋ฉ์ด์ ์ ์ ํํฉ ๋์๋ณด๋ ๊ตฌ์ถ
์๋ํ ๋ฐฉ๋ฒ๊ณผ ์ ๊ทผ ๋ฐฉ์: ์ด 6ํธ์ ์ํผ ์ ๋๋ฉ์ด์ ์ ์ ์ํ ํ, ์ ์ ๋น์ฉ, ์กฐํ์, ์ํ์ฐฉ์ค ๊ฐ์ ์ฌ๋ถ ๋ฑ ์ ๋ฐ์ ์ธ ์ ์ ํํฉ์ ํ๋์ ๋ณด๊ณ ์ถ๋ค๋ ํ์์ฑ์ ๋๋. ํด๋ก๋์ฝ๋์๊ฒ ์ํผ ์ ์ ํํฉ์ ๋ณด์ฌ์ฃผ๋ ๋์๋ณด๋ ์ ์์ ์์ฒญํจ.
๋ฐ์ํ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ: ๋์๋ณด๋์์ ์ ์ ๋จ๊ฐ๋ฅผ ๊ณ์ฐํ๋ ๋ฐฉ์์ ๋ํ ๋ช ํํ ๊ธฐ์ค์ด ์์์. ํด๋ก๋์ฝ๋๊ฐ API ์ฑ๊ณต ๊ฑด์์ ์ ์ ๋จ๊ฐ๋ฅผ ๊ณฑํ์ฌ ๊ณ์ฐํ๋ ๋ฐฉ์์ ์ ์ํ๊ณ , ์ด๋ฅผ ์์ฉํ์ฌ ๋์๋ณด๋์ ์ ์ฉํจ.
์ป์ ๊ฒฐ๊ณผ๋ ํผ๋๋ฐฑ: ์ ์ ๋น์ฉ๊ณผ ์กฐํ์(ํ์ฌ๋ ๋ฎ์ ์์น)๋ฅผ ํฌํจํ์ฌ ์ ์ ํํฉ์ ์๊ฐ์ ์ผ๋ก ํ์ ํ ์ ์๋ ๋์๋ณด๋ ํ์ด์ง๋ฅผ ์ป์. ์ด๋ฅผ ๋ฐํ์ผ๋ก ํฅํ ์์์ด ๋ง์์ง๊ณ ์ฃผ์ ๊ฐ ๋ค์ํด์ง์ ๋ฐ๋ผ ๋์๋ณด๋๋ฅผ ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธํ ๊ณํ์ ์ธ์.
๐ 21๊ธฐ SNS์๋ํ
โ๏ธ SNS ๋์๋ณด๋์์ X์ ์๋๋ฐํ ์ฑ๊ณต
์์ํดํผ
ํ๋ ค๋ ๊ฒ ๐
AI ๊ธฐ๋ฐ SNS ํต ํฉ ๋์๋ณด๋ ๊ตฌ์ถ ๋ฐ X ์๋ ๋ฐํ ์ฐ๋ ์ฌ๋ก
React ๋ฐ Supabase๋ฅผ ํ์ฉํ์ฌ SNS ํตํฉ ๋์๋ณด๋๋ฅผ ์ง์ ์ค์ตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํจ.
X(Twitter) ์๋ ๋ฐํ ๊ธฐ๋ฅ๊น์ง ์ฐ๋ํ๋ ์ํฌํ๋ก์ฐ๋ฅผ ๊ตฌํํ๊ณ ์ ํจ.
์ฌ๋ฌ SNS ํ๋ซํผ์ ํ๋์ ํ๋ฉด์์ ๊ด๋ฆฌํ๊ณ AI๋ก ์ฝํ ์ธ ์ด์์ ์๋ ์์ฑํ ๋ค X์ ๋ฐ๋ก ๋ฐํํ๋ ์์คํ ์ ๊ตฌ์ถํ๊ณ ์ ํจ.
ํ์ฉํ ํด โ๏ธ
Claude Code: SNS ๋์๋ณด๋ ์ฐ๋ ๊ด๋ฆฌ ๋ฉ๋ด ์์ฑ์ ์ํ ์ฝ๋ ์์ฑ ๋ฐ ์์ ์ ํ์ฉํจ.
React + Vite: ํ๋ก ํธ์๋ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๊ตฌํ์ ํ์ฉํจ.
Supabase: ๋ฐฑ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ, ์ธ์ฆ ๊ด๋ฆฌ, ๊ทธ๋ฆฌ๊ณ Edge Functions ๋ฐฐํฌ์ ํ์ฉํจ.
Supabase Edge Functions: X(Twitter) ์๋ ๋ฐํ ๋ก์ง ๊ตฌํ ๋ฐ ๋ฐฐํฌ์ ํ์ฉํจ.
์งํ ์ธ๋ถ ๋ด์ฉ ๐
1๏ธโฃ GitHub ์ ์ฅ์ ํด๋ก ๋ฐ ๋ก์ปฌ ์คํ
์๋ํ ๋ฐฉ๋ฒ: ๊ธฐ์กด์ ์ค๋น๋ GitHub ์ ์ฅ์๋ฅผ ๋ก์ปฌ ํ๊ฒฝ์ ํด๋ก ํ๊ณ ์ด๊ธฐ ๊ฐ๋ฐ ํ๊ฒฝ์ ์คํํ์ฌ ์ค์ ์ ์์ํจ.
2๏ธโฃ Supabase ํ๋ก์ ํธ ์์ฑ ๋ฐ `.env` ํ์ผ ์ค์
์๋ํ ๋ฐฉ๋ฒ: Supabase ํด๋ผ์ฐ๋์ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ , ํ๋ก์ ํธ ํค์ URL ๋ฑ์ ํฌํจํ๋ `.env` ํ์ผ์ ๋ก์ปฌ ํ๊ฒฝ์ ์ค์ ํ์ฌ ์ฐ๋์ ์ค๋นํจ.
3๏ธโฃ Supabase ํ ์ด๋ธ 5๊ฐ ์์ฑ
์๋ํ ๋ฐฉ๋ฒ: Supabase SQL Editor๋ฅผ ์ฌ์ฉํ์ฌ `contents`, `sns_credentials`, `service_credentials`, `settings`, `members` ์ด 5๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ์์ฑํจ.
4๏ธโฃ ์ฐ๋ ๊ด๋ฆฌ์์ X API ํค ์ ๋ ฅ ๋ฐ ์ ์ฅ
์๋ํ ๋ฐฉ๋ฒ: ๋์๋ณด๋์ ์ฐ๋ ๊ด๋ฆฌ ๋ฉ๋ด์์ X(Twitter) API ํค๋ฅผ ์ ๋ ฅํ๊ณ , ์ด ์ ๋ณด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ ํ๊ฒ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํจ.
5๏ธโฃ Supabase CLI๋ก `post-x` Edge Function ๋ฐฐํฌ
์๋ํ ๋ฐฉ๋ฒ: Supabase CLI๋ฅผ ํ์ฉํ์ฌ X(Twitter)๋ก ์ฝํ ์ธ ๋ฅผ ๋ฐํํ๋ ์ญํ ์ ํ๋ `post-x`๋ผ๋ ์ด๋ฆ์ Edge Function์ ๋ฐฐํฌํจ.
6๏ธโฃ ์ฝํ ์ธ ์์ฑ, ์ด์ ์๋ ์์ฑ ๋ฐ X ๋ฐํ ์ฑ๊ณต
์๋ํ ๋ฐฉ๋ฒ: ๋์๋ณด๋์์ ์ฝํ ์ธ ๋ฅผ ์์ฑํ๊ณ AI ๊ธฐ๋ฅ์ ํตํด ์ด์์ ์๋ ์์ฑํ ๋ค, X(Twitter)์ ์ค์ ๋ก ๋ฐํํ๋ ์ ์ฒด ์ํฌํ๋ก์ฐ๋ฅผ ์คํํจ.
์ป์ ๊ฒฐ๊ณผ: ์์ฑ๋ ์ฝํ ์ธ ๊ฐ X(Twitter)์ ์ฑ๊ณต์ ์ผ๋ก ๋ฐํ๋๋ ๊ฒ์ ํ์ธํ์ฌ ์ต์ข ๋ชฉํ๋ฅผ ๋ฌ์ฑํจ.