SKILL 30 min

๐Ÿ›ก ์•ˆ์ „ํ•ด์š”? โ€” AI ๋น„์šฉยท๋ณด์•ˆยท๋ฐฑ์—…

์ด ๊ฐ•์˜ ์˜์ƒ์€ Pro ์ „์šฉ์ž…๋‹ˆ๋‹ค

Pro ์š”๊ธˆ์ œ์— ๊ฐ€์ž…ํ•˜๋ฉด ๋ชจ๋“  ๊ฐ•์˜ ์˜์ƒ์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

Pro๋กœ ๋ณด๊ธฐ โ†’

์ด ๋ ˆ์Šจ์ด ๋๋‚˜๋ฉด

  • Anthropic Console์—์„œ ์›” ์‚ฌ์šฉ ํ•œ๋„ + ์•Œ๋žŒ์„ ์ผœ์„œ AI ๋น„์šฉ ํญ์ฃผ๋ฅผ ๋ง‰์•˜๋‹ค
  • ์Šคํ‚ฌ์ด ๊ธฐ๋ณธ ๋ณด์•ˆ 10๊ฐ€์ง€๋ฅผ ์ž๋™ ์ ๊ฒ€ํ•˜๊ฒŒ ๋Œ๋ฆฌ๊ณ , โŒ(์œ„ํ—˜)๋กœ ๋‚˜์˜จ ๊ฑด ํ•œ ์ค„๋กœ ๋‹ค ๊ณ ์ณค๋‹ค
  • DB ์ž๋™ ๋ฐฑ์—…์ด ๋งค์ผ ๋Œ๊ณ  ์žˆ๊ณ , ๋ณต์› ์ ˆ์ฐจ๋ฅผ ํ•œ ๋ฒˆ ํ™•์ธํ–ˆ๋‹ค

์™œ ์ด ์˜์—ญ์ด ๊ฐ€์žฅ ๋ฌด์„œ์šด๊ฐ€

๋น„๊ฐœ๋ฐœ์ž๊ฐ€ SaaS๋ฅผ ์ถœ์‹œํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ์ž์ฃผ ๊ฒช๋Š” 3๊ฐ€์ง€ ์‚ฌ๊ณ ๊ฐ€ ๋ฐ”๋กœ ์ด ์˜์—ญ์ด์—์š”. ๋ชจ๋‘ "์ถœ์‹œ๋Š” ํ–ˆ๋Š”๋ฐ ์•Œ๋ฆผ ํ•œ ํ†ต ๋ฐ›๊ณ  ์‹์€๋•€ ํ˜๋ฆฌ๋Š”" ์‹œ๋‚˜๋ฆฌ์˜ค๋“ค์ด์—์š”.

์‚ฌ๊ณ  ์‹ค์ œ ์‚ฌ๋ก€ ์˜ˆ๋ฐฉ๋ฒ•(์ด๋ฒˆ lesson)
AI ๋น„์šฉ ํญ์ฃผ ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž๋™ํ™” ๋ฃจํ”„ ๋Œ๋ ค์„œ ํ•˜๋ฃจ์— $300 ์ฒญ๊ตฌ ์›” ํ•œ๋„ + ์•Œ๋žŒ (๋‹จ๊ณ„ 1~2)
API ํ‚ค ์œ ์ถœ .env๋ฅผ GitHub public์— ์˜ฌ๋ ค์„œ ํ‚ค ๋„์šฉ โ†’ 24์‹œ๊ฐ„ ๋งŒ์— $5,000 10ํ•ญ๋ชฉ ๋ณด์•ˆ ์ ๊ฒ€ (๋‹จ๊ณ„ 3)
๋ฐ์ดํ„ฐ ๋‚ ์•„๊ฐ DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž˜๋ชปํ•ด์„œ user ํ…Œ์ด๋ธ” ํ†ต์งธ๋กœ ์‚ญ์ œ ๋งค์ผ ์ž๋™ ๋ฐฑ์—… + ๋ณต์› ํ…Œ์ŠคํŠธ (๋‹จ๊ณ„ 4)

์ด ์˜์—ญ์€ "ํ•œ ๋ฒˆ ์ผœ๋‘๋ฉด ๊ณ„์† ๋ณดํ˜ธ๋˜๋Š”" ํ•ญ๋ชฉ์ด์—์š”. 30๋ถ„๋งŒ ํˆฌ์žํ•˜๋ฉด ๊ทธ ๋‹ค์Œ 6๊ฐœ์›”์€ ์•ˆ์‹ฌํ•ด๋„ ๋ผ์š”.

์˜† ํƒญ์— checklist "์•ˆ์ „ํ•ด์š”?" ์˜์—ญ + Claude Code์—์„œ /v4-security

์ด๋ฒˆ lesson์€ ๋‘ ํ™˜๊ฒฝ์„ ๊ฐ™์ด ์จ์š”. vuild.kr checklist๋ฅผ ์˜† ํƒญ์— ๋„์šฐ๊ณ , Claude Code ํ„ฐ๋ฏธ๋„์— ๋‹ค์Œ ํ•œ ์ค„.

์ž…๋ ฅ (Claude Code ํ„ฐ๋ฏธ๋„)

/v4-security

์ด ์Šคํ‚ฌ์€ ๋ณธ์ธ ๋นŒ๋“œํ‚ท์˜ ์ฝ”๋“œ์™€ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ์Šค์บ”ํ•ด์„œ ๋ณด์•ˆ ์œ„ํ—˜ ํ•ญ๋ชฉ์„ ๋ฆฌํฌํŠธํ•ด์š”. API ํ‚ค ๋…ธ์ถœยทOAuth ์ฝœ๋ฐฑยทCSPยทHTTPS ๊ฐ•์ œยทSQL injection ๊ฐ€๋Šฅ์„ฑ ๋“ฑ 10๊ฐ€์ง€๋ฅผ ํ•œ ๋ฒˆ์— ์ ๊ฒ€ํ•ด ์ค˜์š”. ์Šคํ‚ฌ์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ vuild.kr checklist์˜ "์•ˆ์ „ํ•ด์š”?" ์˜์—ญ์„ ์˜†์—์„œ ๋ณด๋ฉด์„œ ๊ฐ™์ด ๋”ฐ๋ผ๊ฐ€์š”.

๐Ÿ“ท ์บก์ณ โ€” vuild.kr launch/checklist์˜ ๐Ÿ›ก "์•ˆ์ „ํ•ด์š”?" ์˜์—ญ ํด๋กœ์ฆˆ์—…. 3๊ฐœ ํ•ญ๋ชฉ(AI ๋น„์šฉ/๋ณด์•ˆ ์ ๊ฒ€/DB ๋ฐฑ์—…) + ํ† ๊ธ€ ๊ฐ•์กฐ.
checklist์˜ ๋‘ ๋ฒˆ์งธ ์˜์—ญ. ๋ชจ๋‘ ์ˆ˜๋™ ํ† ๊ธ€์ด์—์š”.

๋‹จ๊ณ„ 1 โ€” Anthropic Console์—์„œ ์›” ํ•œ๋„ ์„ค์ • (๊ฐ€์žฅ ๋จผ์ €)

Ch.4-13์—์„œ ๋ณธ์ธ ์„œ๋น„์Šค์— Claude API๋ฅผ ๋ถ™์˜€๋‹ค๋ฉด(ANTHROPIC_API_KEY) ๊ฐ€์žฅ ๋จผ์ € ํ•  ์ผ์€ ์›” ํ•œ๋„ ์„ค์ •์ด์—์š”. ํ•œ๋„ ์—†์ด ๋‘๋ฉด ๋ˆ„๊ตฐ๊ฐ€ ์ž๋™ํ™”๋กœ API๋ฅผ ๋ฌดํ•œ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ ๋ณธ์ธ ์‹ ์šฉ์นด๋“œ๊ฐ€ ๋น„๋ช…์„ ์งˆ๋Ÿฌ์š”.

  1. console.anthropic.com ์ ‘์† โ†’ ๋ณธ์ธ ๊ณ„์ • ๋กœ๊ทธ์ธ (LEARN์—์„œ ์“ฐ๋˜ ๊ทธ ๊ณ„์ •)
  2. ์ขŒ์ธก ์‚ฌ์ด๋“œ๋ฐ” "Settings โ†’ Limits" ํด๋ฆญ
  3. "Monthly spend limit" ์ž…๋ ฅ โ†’ ๋ณธ์ธ์ด ๊ฐ๋‹น ๊ฐ€๋Šฅํ•œ ๊ธˆ์•ก (๊ถŒ์žฅ: $20~50)
  4. "Email alerts" ์ฒดํฌ โ†’ 50% / 80% / 95% ๋„๋‹ฌ ์‹œ ์ด๋ฉ”์ผ ๋ฐ›๊ธฐ
  5. "Save" ํด๋ฆญ

์ด๊ฑธ ์ผœ๋‘๋ฉด ํ•œ๋„์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์•Œ๋ฆผ์„ ๋ฐ›์•„์š”. 95%์— ๋„๋‹ฌํ•˜๋ฉด ๊ทธ ์ฆ‰์‹œ API ํ˜ธ์ถœ์ด ๋ฉˆ์ถฐ์š”. ๋ณธ์ธ ์„œ๋น„์Šค๋Š” ์ž ๊น ์•ˆ ๋Œ์ง€๋งŒ ์ฒญ๊ตฌ์„œ ํญํƒ„์€ ๋ง‰์„ ์ˆ˜ ์žˆ์–ด์š”. ์ „ํ˜•์ ์ธ "์ž ๊น ๋ฉˆ์ถค vs ๊ฑฐ์•ก ์†์‹ค" ํŠธ๋ ˆ์ด๋“œ์˜คํ”„์ธ๋ฐ, ๋ฌด์กฐ๊ฑด ์ž ๊น ๋ฉˆ์ถค ์ชฝ์ด ์˜ณ์•„์š”.

๐Ÿ“ท ์บก์ณ โ€” Anthropic Console โ†’ Settings โ†’ Limits ํ™”๋ฉด. Monthly spend limit $30 + Email alerts 50/80/95% ๊ฐ•์กฐ.
"์ž ๊น ๋ฉˆ์ถ”๋Š” ๊ฒŒ ๊ฑฐ์•ก ์†์‹ค๋ณด๋‹ค ํ•ญ์ƒ ๋‚ซ๋‹ค"์˜ ์•ˆ์ „์žฅ์น˜.

๋‹จ๊ณ„ 2 โ€” ๋‹ค๋ฅธ AI๋„ ๊ฐ™์€ ๋ฐฉ์‹ (OpenAI / Google)

Anthropic ์™ธ์— OpenAI๋‚˜ Google API๋ฅผ ๊ฐ™์ด ์“ฐ๋ฉด ๊ทธ์ชฝ๋„ ๋˜‘๊ฐ™์ด ํ•œ๋„๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ด์š”. ๊ฐ ์ฝ˜์†”์˜ ์œ„์น˜๋งŒ ๋ฉ”๋ชจํ•ด ๋‘ฌ์š”.

  • OpenAI: platform.openai.com/account/billing/limits โ†’ "Set monthly budget" + "Email notifications"
  • Google AI Studio (Gemini): aistudio.google.com โ†’ ๋ฌด๋ฃŒ ํ‹ฐ์–ด ์šฐ์„ , ๊ฒฐ์ œ ๋“ฑ๋ก ์‹œ GCP Billing alerts ํ•จ๊ป˜
  • OpenRouter: openrouter.ai/account โ†’ "Credits" ์ถฉ์ „์‹์ด๋ผ ์ž๋™ ํ•œ๋„. ์ถฉ์ „ํ•œ ๋งŒํผ๋งŒ ์“ฐ์ž„

OpenRouter์ฒ˜๋Ÿผ ์ถฉ์ „์‹ ๋ชจ๋ธ์€ ์‚ฌ์‹ค์ƒ ํ•œ๋„ ์ž์ฒด๊ฐ€ ์ถฉ์ „ ์ž”์•ก์ด๋ผ ๊ฐ€์žฅ ์•ˆ์ „ํ•ด์š”. ์‹ ์šฉ์นด๋“œ ์ž๋™ ๊ฒฐ์ œ๊ฐ€ ๋ฌด์„œ์šฐ๋ฉด OpenRouter๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด์—์š”.

๋‹จ๊ณ„ 3 โ€” ๋ณด์•ˆ ์ ๊ฒ€ 10ํ•ญ๋ชฉ (์Šคํ‚ฌ ์ž๋™ + ๋ณธ์ธ ํ™•์ธ)

์—ฌ๊ธฐ์„œ ์ข‹์€ ์†Œ์‹. ๋ณด์•ˆ 10๊ฐ€์ง€๋ฅผ ๋ณธ์ธ์ด ์™ธ์šฐ๊ฑฐ๋‚˜ ์ง์ ‘ ํ™•์ธํ•  ํ•„์š”๊ฐ€ ์—†์–ด์š”. /v4-security ์Šคํ‚ฌ์ด ๋ณธ์ธ ์ฝ”๋“œ๋ฅผ ์•Œ์•„์„œ ํ›‘์–ด์„œ 10๊ฐ€์ง€๋ฅผ ํ•œ ๋ฒˆ์— ์ ๊ฒ€ํ•˜๊ณ , ํ•ญ๋ชฉ๋งˆ๋‹ค โœ… ํ†ต๊ณผ / โš ๏ธ ์ฃผ์˜ / โŒ ์œ„ํ—˜์œผ๋กœ ์ค„ ์„ธ์›Œ ๋ณด์—ฌ์ค˜์š”. ๋ณธ์ธ์ด ํ•  ์ผ์€ ๋”ฑ ํ•˜๋‚˜ โ€” โŒ๊ฐ€ ๋ณด์ด๋ฉด ๊ทธ ๋ฒˆํ˜ธ๋ฅผ ์งš์–ด์„œ "N๋ฒˆ ๊ณ ์ณ์ค˜" ํ•œ ์ค„ ์ž…๋ ฅํ•˜๋Š” ๊ฑฐ์˜ˆ์š”.

โŒ๊ฐ€ ๋‚˜์™”์„ ๋•Œ โ€” ์ด๋ ‡๊ฒŒ ํ•œ ์ค„

2๋ฒˆ ํ•ญ๋ชฉ ๊ณ ์ณ์ค˜

์—ฌ๋Ÿฌ ๊ฐœ๋ฉด ์œ„์—์„œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ. ๋‹ค ๊ณ ์นœ ๋’ค /v4-security๋ฅผ ํ•œ ๋ฒˆ ๋” ๋Œ๋ ค์„œ โŒ๊ฐ€ 0๊ฐœ์ธ์ง€ ํ™•์ธ.

10๊ฐ€์ง€๊ฐ€ ๋Œ€๋žต ๋ญ˜ ๋ณด๋Š”์ง€๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ ์œ„ํ—˜๋„๋ณ„๋กœ๋งŒ ์•Œ์•„๋‘๋ฉด ์ถฉ๋ถ„ํ•ด์š”. (์˜์–ด ํ•ญ๋ชฉ ์ด๋ฆ„์€ ์™ธ์šธ ํ•„์š” ์—†์–ด์š”. ๋ฆฌํฌํŠธ์— ๊ทธ๋Œ€๋กœ ๋‚˜์˜ค๋‹ˆ, ๊ทธ๋•Œ โŒ ์˜† ๋ฒˆํ˜ธ๋งŒ ๋ณด๋ฉด ๋ผ์š”.)

์œ„ํ—˜๋„ ๋Œ€๋žต ์ด๋Ÿฐ ๊ฑธ ๋ด์š” (ํ‰๋ฌธ)
์น˜๋ช…์  ๋น„๋ฐ€ ํ‚ค๊ฐ€ GitHub์— ์ƒˆ์–ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์ธ์ง€ (๊ฐ€์žฅ ํ”ํ•œ ์‚ฌ๊ณ )
๋†’์Œ ์ž๋ฌผ์‡ (HTTPS)๊ฐ€ ๊ฐ•์ œ๋กœ ์ผœ์ ธ ์žˆ๋Š”์ง€, ์™ธ๋ถ€ ๊ณต๊ฒฉ ์ž…๋ ฅ์„ ๋ง‰๊ณ  ์žˆ๋Š”์ง€
์ค‘๊ฐ„ ๋กœ๊ทธ์ธ ์—ฐ๊ฒฐ์ด ์ƒˆ ์ฃผ์†Œ์™€ ๋งž๋Š”์ง€, ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๊ฐ€ ์ž ๊ฒจ ์žˆ๋Š”์ง€, ํ…Œ์ŠคํŠธ์šฉ ๊ณ„์ •์ด ๊บผ์ ธ ์žˆ๋Š”์ง€
๐Ÿ“ท ์บก์ณ โ€” Claude Code ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด. <code>/v4-security</code> ์‹คํ–‰ ํ›„ 10ํ•ญ๋ชฉ ๋ฆฌํฌํŠธ๊ฐ€ โœ…โš ๏ธโŒ ํ‘œ์‹œ๋กœ ์ถœ๋ ฅ๋œ ํ™”๋ฉด.
์Šคํ‚ฌ์ด ํ•œ ๋ฒˆ์— 10ํ•ญ๋ชฉ์„ ์Šค์บ”. โŒ๋งŒ ๊ทธ ์ž๋ฆฌ์—์„œ ๊ณ ์นจ.

โš ๏ธ GitHub์— .env๊ฐ€ ์ด๋ฏธ ์˜ฌ๋ผ๊ฐ€ ์žˆ๋‹ค๋ฉด (๊ฐ€์žฅ ํ”ํ•œ ์‚ฌ๊ณ )

๊ณผ๊ฑฐ ์ปค๋ฐ‹์— .env๋‚˜ ํ‚ค ํŒŒ์ผ์ด ํฌํ•จ๋œ ์ฑ„๋กœ GitHub์— ์˜ฌ๋ผ๊ฐ€ ์žˆ์œผ๋ฉด, .gitignore์— ์ถ”๊ฐ€๋งŒ ํ•ด์„œ๋Š” ๋ถ€์กฑํ•ด์š”. ๊ทธ ํ‚ค๋Š” ์ด๋ฏธ ๋…ธ์ถœ๋œ ๊ฑฐ์˜ˆ์š”. 3๊ฐ€์ง€๋ฅผ ์ฆ‰์‹œ ํ•ด์•ผ ํ•ด์š”.

  1. ๋…ธ์ถœ๋œ ํ‚ค ์ฆ‰์‹œ ํ๊ธฐ โ€” Anthropic/OpenAI ์ฝ˜์†”์—์„œ ๊ทธ ํ‚ค๋ฅผ "Revoke(ํ๊ธฐ)" ๋ˆ„๋ฅด๊ณ  ์ƒˆ ํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ. ํ๊ธฐํ•˜๋ฉด ์ƒˆ์–ด๋‚˜๊ฐ„ ์˜› ํ‚ค๋Š” ๊ทธ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ๋ชป ์จ์š”.
  2. ์ƒˆ ํ‚ค๋ฅผ Railway "Variables"์— ๋‹ค์‹œ ๋“ฑ๋กํ•˜๊ณ , ๋ณธ์ธ PC์˜ ๋น„๋ฐ€๊ฐ’ ํŒŒ์ผ(.env)๋„ ์ƒˆ ํ‚ค๋กœ ๋ฐ”๊พธ๊ธฐ.
  3. (์„ ํƒ) GitHub ๊ณผ๊ฑฐ ๊ธฐ๋ก์—์„œ ๊ทธ ํŒŒ์ผ์„ ์•„์˜ˆ ์ง€์šฐ๊ณ  ์‹ถ์œผ๋ฉด โ†’ ํ˜ผ์ž ํ•˜๊ธฐ์—” ์œ„ํ—˜ํ•œ ์ž‘์—…์ด๋ผ Claude Code์— "GitHub ๊ณผ๊ฑฐ ์ปค๋ฐ‹์—์„œ .env ์ง€์šฐ๊ณ  ์‹ถ์–ด. ์•ˆ์ „ํ•˜๊ฒŒ ๋„์™€์ค˜"๋ผ๊ณ  ๋งก๊ธฐ์„ธ์š”. ์‚ฌ์‹ค ์œ„ 1~2๋ฒˆ(ํ‚ค ํ๊ธฐ + ์ƒˆ ํ‚ค)๋งŒ ํ•ด๋„ ์•ˆ์ „์€ ํ™•๋ณด๋ผ์š”.

๋‹จ๊ณ„ 4 โ€” DB ์ž๋™ ๋ฐฑ์—… ํ™œ์„ฑํ™” + ๋ณต์› ํ•œ ๋ฒˆ ํ…Œ์ŠคํŠธ

๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ ์•„๊ฐ€๋Š” ๊ฐ€์žฅ ํ”ํ•œ ์›์ธ์€ ๋ณธ์ธ์ด ์ž˜๋ชป๋œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ production์— ์ ์šฉํ•œ ๊ฑฐ์˜ˆ์š”. ๋ฐฑ์—…์ด ์žˆ์œผ๋ฉด 5๋ถ„ ์•ˆ์— ๋ณต์› ๊ฐ€๋Šฅ. ์—†์œผ๋ฉด user ์ •๋ณด๊ฐ€ ํ†ต์งธ๋กœ ๋‚ ์•„๊ฐ€์š”. Railway/Render ๋‘˜ ๋‹ค ๋ฌด๋ฃŒ ํ”Œ๋žœ์—์„œ๋„ ์ž๋™ ๋ฐฑ์—… ๊ฐ€๋Šฅํ•ด์š”.

DB Railway Render
SQLite (๊ธฐ๋ณธ ๋ชจ๋“œ) Volume์— ์ €์žฅ โ†’ Volume Snapshot ๋งค์ผ Persistent Disk Snapshot ๋งค์ผ
PostgreSQL (์‹ฌํ™” ๋ชจ๋“œ) Postgres ํ”Œ๋Ÿฌ๊ทธ์ธ โ†’ "Backups" ์ž๋™ ๋งค์ผ Postgres ์„œ๋น„์Šค โ†’ ๋ฌด๋ฃŒ ํ”Œ๋žœ 7์ผ ๋ณด๊ด€

๊ธฐ๋ณธ ๋ชจ๋“œ(SQLite)์ธ ๊ฒฝ์šฐ Railway์—์„œ โ†’ ๋ณธ์ธ ์„œ๋น„์Šค โ†’ "Settings โ†’ Volumes" โ†’ ๋ณธ์ธ Volume ์„ ํƒ โ†’ "Backup Schedule"์„ "Daily"๋กœ. ์‹ฌํ™” ๋ชจ๋“œ(PostgreSQL)๋Š” Railway โ†’ ๋ณธ์ธ Postgres ํ”Œ๋Ÿฌ๊ทธ์ธ โ†’ "Backups" ํƒญ โ†’ "Enable Daily Backups".

๐Ÿ“ท ์บก์ณ โ€” Railway Postgres ํ”Œ๋Ÿฌ๊ทธ์ธ โ†’ "Backups" ํƒญ โ†’ "Daily" ํ™œ์„ฑํ™” ํ™”๋ฉด.
๋งค์ผ ์ž๋™ ๋ฐฑ์—…. 7์ผ์น˜ ๋ณด๊ด€์ด ๋ณดํ†ต์ด์—์š”.

๋ฐฑ์—…์ด ์ผœ์กŒ๋‹ค๊ณ  ๋์ด ์•„๋‹ˆ์—์š”. ๋ณต์›์ด ์ง„์งœ ๋˜๋Š”์ง€ ํ•œ ๋ฒˆ ํ™•์ธํ•ด์•ผ ํ•ด์š”. Railway์—์„œ "Backup โ†’ Restore"๋ฅผ ๋ˆ„๋ฅด๋ฉด ๊ทธ ๋ฐฑ์—…์ด ์ƒˆ ์ž„์‹œ ํ™˜๊ฒฝ์— ๋ณต์›๋ผ์š”. ๋ฐฑ์—… ๋ฐ์ดํ„ฐ์— ๋ณธ์ธ user/data๊ฐ€ ๋ณด์ด๋ฉด OK. ์ง„์งœ production์— ๋ฎ์–ด์“ฐ์ง€๋Š” ๋งˆ์„ธ์š”. ๋‹จ์ˆœ "๋ณต์›์ด ๋™์ž‘ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค"๋งŒ ํ™•์ธํ•˜๋Š” ๋‹จ๊ณ„์˜ˆ์š”.

๐ŸŽจ ์ƒ์„ฑ (Codex CLI) โ€” DB ๋ฐฑ์—…ยท๋ณต์› ์‚ฌ์ดํด ๋‹ค์ด์–ด๊ทธ๋žจ. (์šด์˜ DB โ†’ ๋งค์ผ ์ž๋™ ๋ฐฑ์—… โ†’ S3) + (์‚ฌ๊ณ  ๋ฐœ์ƒ โ†’ ๋ฐฑ์—… ์„ ํƒ โ†’ ๋ณต์› โ†’ ์šด์˜ DB ๋ณต๊ตฌ).
๋ฐฑ์—…์€ "์žˆ๋‹ค"๊ฐ€ ์•„๋‹ˆ๋ผ "๋ณต์›์ด ๋œ๋‹ค"๋กœ ๊ฒ€์ฆํ•ด์š”.

๋‹จ๊ณ„ 5 โ€” ๋ณด์•ˆ ์ž๊ฐ€์ง„๋‹จ 10ํ•ญ๋ชฉ ํ†ต๊ณผ ํ›„ ํ† ๊ธ€ โœ…

์œ„ ๋‹จ๊ณ„ 1~4๋ฅผ ๋‹ค ํ–ˆ์œผ๋ฉด vuild.kr checklist์˜ ๐Ÿ›ก "์•ˆ์ „ํ•ด์š”?" ์˜์—ญ์— ๊ฐ€์„œ 3๊ฐœ ํ•ญ๋ชฉ ํ† ๊ธ€์„ โœ…๋กœ ์ผœ์š”.

  • "AI ๋น„์šฉ ํญ์ฃผ ๋ฐฉ์ง€ ์ผœ์ ธ์š”" โ€” Anthropic + OpenAI ๋“ฑ ๋ชจ๋‘ ํ•œ๋„ + ์•Œ๋žŒ ์„ค์ • ์™„๋ฃŒ ์‹œ โœ…
  • "๋ณด์•ˆ ์ ๊ฒ€ ํ†ต๊ณผํ–ˆ์–ด์š”" โ€” /v4-security 10ํ•ญ๋ชฉ ์ค‘ โŒ๊ฐ€ 0๊ฐœ์ผ ๋•Œ โœ… (โš ๏ธ๋Š” ์žˆ์–ด๋„ OK)
  • "๋ฐ์ดํ„ฐ๊ฐ€ ๋งค์ผ ๋ฐฑ์—…๋ผ์š”" โ€” Railway/Render์—์„œ daily backup ํ™œ์„ฑํ™” + ๋ณต์› ํ•œ ๋ฒˆ ํ…Œ์ŠคํŠธ ์‹œ โœ…
๐Ÿ“ท ์บก์ณ โ€” vuild.kr checklist ๐Ÿ›ก ์˜์—ญ 3๊ฐœ ํ•ญ๋ชฉ ๋ชจ๋‘ โœ… ํ† ๊ธ€ ์ผœ์ง„ ์ƒํƒœ.
3๊ฐœ ๋ชจ๋‘ โœ…๋ฉด ๊ฐ€์žฅ ๋ฌด์„œ์šด 3๊ฐ€์ง€ ์‚ฌ๊ณ ๋ฅผ ๋ง‰์€ ๊ฑฐ์˜ˆ์š”.

๋ฒˆ์™ธ โ€” Rate Limiting (๋ฐ˜๋ณต ํ˜ธ์ถœ ์ฐจ๋‹จ)

AI ๋น„์šฉ ํญ์ฃผ ๋ฐฉ์ง€์˜ ๋‘ ๋ฒˆ์งธ ๋ณดํ˜ธ๋ง‰์€ ๋ณธ์ธ ์„œ๋น„์Šค ์•ˆ์—์„œ ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ถ„๋‹น NํšŒ ์ด์ƒ ํ˜ธ์ถœ ๋ชป ํ•˜๊ฒŒ ๋ง‰๋Š” ๊ฒƒ์ด์—์š”. Rails๋ผ๋ฉด rack-attack gem์ด ํ‘œ์ค€์ด์—์š”. ์ด ๋‹จ๊ณ„๋Š” ์ฒซ ์‚ฌ์šฉ์ž 5๋ช… ๋‹จ๊ณ„์—์„œ๋Š” ์„ ํƒ. ์‚ฌ์šฉ์ž 100๋ช… ๋„˜์–ด๊ฐ€๋ฉด ํ•„์ˆ˜.

Claude Code์— "rack-attack๋กœ Claude API ํ˜ธ์ถœ์„ ์‚ฌ์šฉ์ž๋‹น ๋ถ„๋‹น 5ํšŒ๋กœ ์ œํ•œํ•ด์ค˜" ํ•œ ์ค„. ์Šคํ‚ฌ์ด ์•Œ์•„์„œ Gemfile + ์„ค์ • ํŒŒ์ผ + ํ…Œ์ŠคํŠธ๊นŒ์ง€ ๋งŒ๋“ค์–ด ์ค˜์š”.

๋ง‰ํžˆ๋Š” ์ง€์  โ€” ๋ฏธ๋ฆฌ ๋‹ต

  • "Anthropic Console์— ๊ฒฐ์ œ ์ •๋ณด๊ฐ€ ์—†์–ด์„œ Limits ํŽ˜์ด์ง€๊ฐ€ ์•ˆ ๋– ์š”." โ†’ Free tier๋งŒ ์“ฐ๊ณ  ์žˆ๋‹ค๋Š” ๋œป. Free tier๋Š” ์ž๋™์œผ๋กœ ํ•œ๋„๊ฐ€ ์žˆ์–ด์„œ OK. ๊ฒฐ์ œ ๋“ฑ๋ก ์ „๊นŒ์ง€๋Š” ์ด ๋‹จ๊ณ„ ๊ฑด๋„ˆ๋›ฐ์–ด๋„ ๋จ.
  • "/v4-security๊ฐ€ โŒ 6๊ฐœ๋ฅผ ๋ณด๊ณ ํ–ˆ์–ด์š”." โ†’ ์ •์ƒ์ด์—์š”. ํ•œ ๋ฒˆ์— ๋‹ค ๊ณ ์น˜์ง€ ๋ง๊ณ  ์œ„์—์„œ๋ถ€ํ„ฐ 1๊ฐœ์”ฉ. Claude Code์— "1๋ฒˆ ํ•ญ๋ชฉ๋ถ€ํ„ฐ ๊ณ ์ณ์ค˜" ํ•œ ์ค„. ๋‹ค ๊ณ ์นœ ํ›„ ์Šคํ‚ฌ ์žฌ์‹คํ–‰.
  • "GitHub์— ์˜›๋‚ ์— .env ์˜ฌ๋ ธ๋Š”๋ฐ ์–ด๋–กํ•ด์š”?" โ†’ ํ‚ค ํ๊ธฐ + ์ƒˆ ํ‚ค ๋ฐœ๊ธ‰ + Railway ์žฌ๋“ฑ๋ก๋งŒ ํ•˜๋ฉด ์ผ๋‹จ ์•ˆ์ „. ๊ณผ๊ฑฐ ์ปค๋ฐ‹ ์ •๋ฆฌ๋Š” ์œ„ํ—˜ํ•˜๋‹ˆ ์•ˆ ํ•ด๋„ OK.
  • "Railway ๋ฐฑ์—… ์˜ต์…˜์ด ์•ˆ ๋ณด์—ฌ์š”." โ†’ Free ํ”Œ๋žœ์€ ์ผ๋ถ€ ๋ฐฑ์—… ๊ธฐ๋Šฅ์ด ์ œํ•œ๋จ. Hobby($5/์›”) ์ด์ƒ์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ฑฐ๋‚˜, Render์˜ Postgres Free ํ”Œ๋žœ์€ 7์ผ ๋ฐฑ์—… ๋ฌด๋ฃŒ.
  • "๋ฐฑ์—… ๋ณต์›ํ•ด๋ณด๋‹ˆ ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์–ด ์žˆ์–ด์š”." โ†’ ๋ฐฑ์—…์ด ๋„ˆ๋ฌด ์ผ์ฐ ์žกํ˜”๊ฑฐ๋‚˜ production์— ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฑฐ์˜ ์—†์–ด์„œ. ๋ฉฐ์น  ์šด์˜ ํ›„ ๋‹ค์‹œ ํ™•์ธ.

์™„๋ฃŒ ์ฒดํฌ๋ฆฌ์ŠคํŠธ (๋ชจ๋‘ โœ…์ด๋ฉด 5-4๋กœ)

  • โ˜ Anthropic Console ์›” ํ•œ๋„ + ์•Œ๋žŒ ์„ค์ • (๋‹ค๋ฅธ LLM๋„ ํ•จ๊ป˜)
  • โ˜ /v4-security ์‹คํ–‰ โ†’ โŒ ํ•ญ๋ชฉ ๋ชจ๋‘ ํ•ด๊ฒฐ
  • โ˜ Railway/Render์— DB ์ž๋™ ๋ฐฑ์—… ํ™œ์„ฑํ™”
  • โ˜ ๋ณต์› ์ ˆ์ฐจ 1ํšŒ ํ…Œ์ŠคํŠธ (์‹ค์ œ ์šด์˜ ๋ฎ์–ด์“ฐ๊ธฐ X)
  • โ˜ vuild.kr checklist ๐Ÿ›ก ์˜์—ญ 3๊ฐœ ํ•ญ๋ชฉ โœ…

๋‹ค์Œ ๋‹จ๊ณ„ โ†’ 5-4 โš–๏ธ ๋ฒ•์ ์œผ๋กœ ๊ดœ์ฐฎ์•„์š”? โ€” ๊ฐœ์ธ์ •๋ณดยท์•ฝ๊ด€

์•ˆ์ „์ด ์žกํ˜”์œผ๋‹ˆ ์ด์ œ ๋ฒ•์  ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด์š”. ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ๊ณผ ์ด์šฉ์•ฝ๊ด€์„ vuild.kr checklist์˜ "์ž๋™ ์ƒ์„ฑ" ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์œผ๋กœ ๋งŒ๋“ค๊ณ , ํ‘ธํ„ฐ์— ์‚ฌ์—…์ž ์ •๋ณด๋ฅผ ๋„ฃ์–ด์š”. ๋น„๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ€์žฅ ๋ง‰๋ง‰ํ•œ ๋ถ€๋ถ„์„ 5๋ถ„์— ๋๋‚ด์š”.

vuild.kr launch/checklist (์•ˆ์ „ํ•ด์š”? ์˜์—ญ)

๋กœ๊ทธ์ธ ํ›„ ๋ณธ์ธ ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ์ธ

์‹ค์Šตํ•˜๊ธฐ

๋กœ๊ทธ์ธํ•˜๋ฉด ์Šคํ‚ฌ์„ ์‹ค์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค