Cloudflare Workers ๊ถŒํ•œ, ํด๋ผ์ด์–ธํŠธ๋ณ„ ๋ฐฐํฌ ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ ๋‹ค

Cloudflare Workers์˜ ๊ฐœ๋ณ„ Worker ๊ถŒํ•œ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ CI ๋ฐฐํฌ ๋ฒ”์œ„๋ฅผ ์ขํžˆ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Editor ์—ญํ• , ๊ณ„์ • ์†Œ์œ  API ํ† ํฐ, ๋ฐ”์ธ๋”ฉ๊ณผ Durable Objects์˜ ์ˆจ์€ ๊ถŒํ•œ๊นŒ์ง€ ์‹ค์ œ ์ธ๊ณ„ ์ ˆ์ฐจ์— ๋งž์ถฐ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ์‹œ์ผ

์ž‘์„ฑ์ž
Cloudflare Workers ๊ถŒํ•œ, ํด๋ผ์ด์–ธํŠธ๋ณ„ ๋ฐฐํฌ ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ ๋‹ค

Cloudflare Workers์˜ ๋„ค ๊ฐ€์ง€ ์—ญํ• ์„ ํ™œ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ ๊ณต์šฉ ๋ฐฐํฌ ์ž๊ฒฉ ์ฆ๋ช…์—๋„ ํด๋ผ์ด์–ธํŠธ๋ณ„ ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2026๋…„ 9์›” 15์ผ๋ถ€ํ„ฐ ์—์ด์ „์‹œ๋Š” ๋” ๋„“์€ ์ •์ฑ…์œผ๋กœ ๊ถŒํ•œ์ด ํ™•๋Œ€๋˜์ง€ ์•Š๋Š” ํ•œ, ํด๋ผ์ด์–ธํŠธ์˜ CI ์ž‘์—…์— ๊ธฐ์กด Worker ํ•˜๋‚˜๋ฅผ ๋ฐฐํฌํ•  ๊ถŒํ•œ๋งŒ ์ฃผ๊ณ  ์‚ญ์ œ ๊ถŒํ•œ์ด๋‚˜ ๊ณ„์ • ๋‚ด ๋‹ค๋ฅธ ๋ชจ๋“  Worker์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์€ ์ฃผ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloudflare Workers ๊ถŒํ•œ์˜ ํ•ต์‹ฌ ๋ณ€ํ™”๋Š” ๋ฒ”์œ„์ž…๋‹ˆ๋‹ค

๊ถŒํ•œ์€ ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ์—ญํ• ์€ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ๋ฒ”์œ„๋Š” ๊ทธ ์ž‘์—…์„ ์–ด๋””์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.

Cloudflare๋Š” ์ด์ œ ํŒ€์›, User Group, ์—์ด์ „ํŠธ ๋˜๋Š” API ํ† ํฐ์— Worker ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ฉด์„œ ๋ฒ”์œ„๋ฅผ ๊ฐœ๋ณ„ Worker๋กœ ํ•œ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ์—ญํ• ์„ ๋ชจ๋“  Worker์— ์ ์šฉํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋” ์ด์ƒ ๊ทธ๋ ‡๊ฒŒ ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์–ธ๋œป ๋ณด๋ฉด ์ž‘์€ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•˜๋‚˜์˜ Cloudflare ๊ณ„์ •์—์„œ ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋งก๋Š” ์ŠคํŠœ๋””์˜ค๋‚˜ ์—์ด์ „์‹œ์—๋Š” ์ธ๊ณ„ ๋ฐฉ์‹ ์ž์ฒด๊ฐ€ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ A์˜ ๋ฐฐํฌ ์ž๊ฒฉ ์ฆ๋ช…์€ ์ด์ œ ํด๋ผ์ด์–ธํŠธ A์˜ Worker๊นŒ์ง€๋งŒ ๋‹ฟ๋„๋ก ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

9์›” 15์ผ ๋ฆด๋ฆฌ์Šค๋Š” ๋ชจ๋“  ๊ณ ๊ฐ์—๊ฒŒ ์ œ๊ณต๋˜๋ฉฐ ๋Œ€์‹œ๋ณด๋“œ, API ๋˜๋Š” Terraform์—์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Workers ์—ญํ•  ์ฐธ์กฐ ๋ฌธ์„œ์— ๋‚˜์˜จ ์ „์ฒด ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์—ญํ• ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…ํ•  ์ˆ˜ ์—†๋Š” ์ž‘์—…
Metadata Read-Only์„ค์ •, ๋ฉ”ํŠธ๋ฆญ, ๋กœ๊ทธ, ํŠธ๋ ˆ์ด์Šค ๋ณด๊ธฐWorker ์ฝ”๋“œ ๋ณด๊ธฐ ๋˜๋Š” ๋ณ€๊ฒฝ
Content Read-OnlyWorker ์ฝ”๋“œ, ์„ค์ •, ๊ด€์ธก์„ฑ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐWorker ์ˆ˜์ • ๋˜๋Š” ๋ฐฐํฌ
Editor๊ธฐ์กด Worker ์ฝ๊ธฐ, ์—…๋ฐ์ดํŠธ, ๋ฐฐํฌ, ์ด๋ฆ„ ๋ณ€๊ฒฝWorker ์ƒ์„ฑ ๋˜๋Š” ์‚ญ์ œ
Admin์„ ํƒํ•œ Worker๋ฅผ ์™„์ „ํžˆ ๊ด€๋ฆฌ๊ฐœ๋ณ„ Worker ๋ฒ”์œ„์—์„œ ๋‹ค๋ฅธ Worker ์ƒ์„ฑ

๋””๋ฒ„๊น…, ์ฝ”๋“œ ๊ฒ€ํ† , ์ฝ”๋“œ ๋ฐฐํฌ, ์„œ๋น„์Šค ์‚ญ์ œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์—…๋ฌด์ž…๋‹ˆ๋‹ค. ์ด ์—ญํ•  ๊ตฌ๋ถ„์ด ์œ ์šฉํ•œ ์ด์œ ๋Š” ๋„ค ์—…๋ฌด๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ์ž๊ฒฉ ์ฆ๋ช…์˜ ๊ถŒํ•œ์„ ๋ฌผ๋ ค๋ฐ›์„ ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ธฐ์กด Cloudflare Workers ๊ถŒํ•œ์€ ๊ณ„์ • ๋‹จ์œ„์˜€์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ชจ๋ธ์€ Developer Platform ์ „์ฒด, ๋ชจ๋“  Worker ๋˜๋Š” ๊ธฐ์กด Worker ํ•˜๋‚˜์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œํ’ˆ ์ˆ˜์ค€์˜ Workers ์ •์ฑ…์€ ํ˜„์žฌ์™€ ๋ฏธ๋ž˜์˜ ๋ชจ๋“  Worker๋ฅผ ํฌ๊ด„ํ•˜๊ณ , Worker๋ณ„ ์ •์ฑ…์€ ์„ ํƒํ•œ Worker์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ตฌ์กฐ์ ์ธ ํ•œ๊ณ„๊ฐ€ ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ์กด์žฌํ•˜์ง€ ์•Š๋Š” Worker์—๋Š” ์ ‘๊ทผ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ƒˆ Worker๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ์—ฌ์ „ํžˆ ์ œํ’ˆ ์ˆ˜์ค€์˜ Admin์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ธ๊ณ„์—์„œ ๋‹ฌ๋ผ์ง€๋Š” ์ 

ํด๋ผ์ด์–ธํŠธ๋งˆ๋‹ค Worker ํ•˜๋‚˜์”ฉ์„ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์†Œ๊ทœ๋ชจ ์—์ด์ „์‹œ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ์—์ด์ „์‹œ์˜ ๋ฐฐํฌ ์›Œํฌํ”Œ๋กœ์—๋Š” client-a-api์˜ ์ƒˆ ๋ฒ„์ „์„ ๊ฒŒ์‹œํ•  ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Worker๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ ํ•ด๋‹น Worker๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ client-b-checkout์„ ๊ฑด๋“œ๋ฆด ๊ถŒํ•œ์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค ์ด์ „์—๋Š” Cloudflare๊ฐ€ ํ˜„์žฌ ๋ ˆ๊ฑฐ์‹œ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ Workers CI ๊ถŒํ•œ์ด ๊ณ„์ • ๋‹จ์œ„์˜€์Šต๋‹ˆ๋‹ค. ์„ ํƒ์ง€๋Š” ๋ช…ํ™•ํ•˜๊ฒŒ ๋‘ ๊ฐ€์ง€๋ฟ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด‘๋ฒ”์œ„ํ•œ ์ž๊ฒฉ ์ฆ๋ช…์„ ๊ฐ์ˆ˜ํ•˜๊ฑฐ๋‚˜, ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ณ„๋„ ๊ณ„์ •์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ Worker ๋ฒ”์œ„๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด์„œ ์„ธ ๋ฒˆ์งธ ์„ ํƒ์ง€๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ณ„์ • ๊ตฌ์„ฑ์€ ์œ ์ง€ํ•˜๋˜ ๋ฐฐํฌ ํ† ํฐ์—๋Š” client-a-api ํ•˜๋‚˜์— ๋Œ€ํ•œ Editor๋งŒ ๋ถ€์—ฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Worker ์ˆ˜์ค€์˜ ์ œ์–ด ๊ธฐ๋Šฅ์€ ๋ชจ๋“  ๊ณ ๊ฐ์—๊ฒŒ ์ œ๊ณต๋˜๋ฏ€๋กœ ๊ตฌ๋… ๋น„์šฉ ๊ณ„์‚ฐ์€ ๋‹ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์šด์˜ ๋น„์šฉ์˜ ๊ณ„์‚ฐ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๋‹ค๋งŒ ์ด ๊ณ„์‚ฐ์—๋Š” ์ค‘์š”ํ•œ ์ƒ์ถฉ ๊ด€๊ณ„๊ฐ€ ๋น ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋ณ„ ์ž๊ฒฉ ์ฆ๋ช… 12๊ฐœ๋Š” ๊ณต์šฉ ํ† ํฐ ํ•˜๋‚˜๋ณด๋‹ค ๋ฐœ๊ธ‰ํ•˜๊ณ  ์ €์žฅํ•˜๊ณ  ๊ต์ฒดํ•ด์•ผ ํ•  ์‹œํฌ๋ฆฟ์ด ๋” ๋งŽ์Šต๋‹ˆ๋‹ค. ์žฅ์ ์€ ์ž๊ฒฉ ์ฆ๋ช… ์ˆ˜๊ฐ€ ์ค„์–ด๋“œ๋Š” ๋ฐ ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช… ํ•˜๋‚˜๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์œ ์ถœ๋์„ ๋•Œ ์กฐ์‚ฌํ•ด์•ผ ํ•  ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„๊ฐ€ ์ž‘์•„์ง„๋‹ค๋Š” ๋ฐ ์žˆ์Šต๋‹ˆ๋‹ค.

Worker ํ•˜๋‚˜๋ฅผ ํ˜ผ์ž ์šด์˜ํ•˜๊ณ  ๋ฐฐํฌ ๊ถŒํ•œ์„ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š” ์ฐฝ์—…์ž๋ผ๋ฉด ๋ณ€ํ™”๋ฅผ ํฌ๊ฒŒ ์ฒด๊ฐํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ ๊ทธ๋ฃน์— ๋ชจ๋“  Worker์˜ ์ œ์–ด ๊ถŒํ•œ์„ ์˜๋„์ ์œผ๋กœ ๋ถ€์—ฌํ•œ ํŒ€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ, ํด๋ผ์ด์–ธํŠธ ๋˜๋Š” ์ž๋™ํ™” ์ž‘์—…์ด Cloudflare ๊ณ„์ • ํ•˜๋‚˜๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ๋„ ๋™์ผํ•œ ์‚ฌ๊ณ  ์˜ํ–ฅ ๋ฒ”์œ„๋ฅผ ๊ณต์œ ํ•ด์„œ๋Š” ์•ˆ ๋  ๋•Œ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ๋ฐฐํฌ ์ž‘์—…์—๋Š” ํ•„์š”ํ•œ ๋งŒํผ๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค

๊ฐ€์žฅ ๊น”๋”ํ•œ ์ฒซ ์ธ๊ณ„ ๋Œ€์ƒ์€ ์•ˆ์ •์ ์ธ Route ๋˜๋Š” Custom Domain์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์กด Worker์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฐฐํฌ ์ž‘์—…์—์„œ Worker ์ƒ์„ฑ๊ณผ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์—ญํ• ์„ ๊ณ ๋ฅด๊ธฐ ์ „์— ์ž‘์—…๋ถ€ํ„ฐ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค

    ๋จผ์ € ๋‹ค์Œ์ฒ˜๋Ÿผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ ์Šต๋‹ˆ๋‹ค. โ€œ์ด ์›Œํฌํ”Œ๋กœ๋Š” ๊ธฐ์กด client-a-api Worker์˜ ์ƒˆ ๋ฒ„์ „์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.โ€

    ์ด ๋ฌธ์žฅ์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ์กฐํ•ฉ์€ ๊ฐœ๋ณ„ Worker ๋ฒ”์œ„์˜ Editor์ž…๋‹ˆ๋‹ค. ์ƒˆ Worker๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋ฉด ์ œํ’ˆ ์ˆ˜์ค€์˜ Admin์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Route ๋˜๋Š” Custom Domain์„ ์ถ”๊ฐ€, ๋ณ€๊ฒฝ, ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ฐ zone์— ๋Œ€ํ•ด Workers Routes Write๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ณ„์ • ์†Œ์œ  API ํ† ํฐ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค

    Cloudflare์—์„œ Manage Account > Account API Tokens๋กœ ์ด๋™ํ•ด ๊ณ„์ • ์†Œ์œ  ํ† ํฐ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ฒ”์œ„๋ฅผ Specified Workers๋กœ ์„ค์ •ํ•˜๊ณ  client-a-api๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ Editor๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    ์›Œํฌํ”Œ๋กœ์—๋Š” ๊ฐœ์ธ์˜ ์‚ฌ์šฉ์ž ํ† ํฐ์ด ์•„๋‹Œ ๊ณ„์ • ์†Œ์œ  ํ† ํฐ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Cloudflare๋Š” ๊ณ„์ • ์†Œ์œ  ํ† ํฐ์„ ์ง€์†์ ์ธ ํ†ตํ•ฉ์„ ์œ„ํ•œ ์„œ๋น„์Šค ์ฃผ์ฒด๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ† ํฐ์„ ๋งŒ๋“  ์‚ฌ๋žŒ์ด ํ‡ด์‚ฌํ•ด๋„ ๋ฐฐํฌ๊ฐ€ ์ค‘๋‹จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ† ํฐ์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด Super Administrator ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  3. ํ•ด๋‹น ํ† ํฐ์œผ๋กœ Wrangler๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค

    ๋ฐฐํฌ ์‹œ์Šคํ…œ์˜ ์‹œํฌ๋ฆฟ ์ €์žฅ์†Œ์— ํ† ํฐ์„ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. Cloudflare ๋ฌธ์„œ์— ๋‚˜์˜จ Wrangler์šฉ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    Bash
    export CLOUDFLARE_API_TOKEN="<YOUR_API_TOKEN>"
    export CLOUDFLARE_ACCOUNT_ID="<YOUR_ACCOUNT_ID>"
    npx wrangler deploy

    ๊ธฐ์กด Worker์šฉ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœ์ ํŠธ์—์„œ ์ด ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. wrangler login์€ ๋Œ€์•ˆ์ด ์•„๋‹™๋‹ˆ๋‹ค. ํ˜„์žฌ ์ด OAuth ํ๋ฆ„์€ ์„ธ๋ถ„ํ™”๋œ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  4. ์ „ํ™˜์„ ํ™•์ธํ•œ ๋’ค ๋„“์€ ๊ถŒํ•œ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค

    ์ƒˆ ํ† ํฐ์œผ๋กœ ์˜ํ–ฅ์ด ์—†๋Š” ๋ฒ„์ „์„ ๋ฐฐํฌํ•ด ์˜๋„ํ•œ Worker๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ํ† ํฐ์— ์ œํ’ˆ ์ˆ˜์ค€์˜ Workers ์—ญํ• ์ด๋‚˜ ๊ด€๋ จ ์—†๋Š” ๋ฆฌ์†Œ์Šค ๋ฒ”์œ„๊ฐ€ ์—†๋Š”์ง€๋„ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค.

    ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•ด๋‹น ์›Œํฌํ”Œ๋กœ์—์„œ ๊ธฐ์กด์˜ ๊ด‘๋ฒ”์œ„ํ•œ ๋ฐฐํฌ ์‹œํฌ๋ฆฟ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ค‘ ๋‘ ์ž๊ฒฉ ์ฆ๋ช…์„ ํ•จ๊ป˜ ๋‘๋Š” ๊ฒƒ์€ ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ๋๋‚œ ๋’ค์—๋„ ๋‘˜ ๋‹ค ๋‚จ๊ฒจ๋‘๋ฉด ์ƒˆ ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“  ์˜๋ฏธ๊ฐ€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

์ด๊ฒƒ์œผ๋กœ ์ผ๋ฐ˜์ ์ธ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์ธ๊ณ„๊ฐ€ ๋๋‚ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์ž‘์—…์€ Editor์— ํฌํ•จ๋œ ๊ถŒํ•œ์œผ๋กœ ํ•ด๋‹น Worker๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์—…๋กœ๋“œํ•˜๊ณ  ๋ฐฐํฌํ•˜๊ณ  ๋กค๋ฐฑํ•˜๊ณ  ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ์‹œํฌ๋ฆฟ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Worker๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์—†๊ณ , Worker๋ณ„ ์ •์ฑ…๋งŒ์œผ๋กœ๋Š” ๋‹ค๋ฅธ Worker์— ์ ‘๊ทผํ•  ์ˆ˜๋„ ์—†์Šต๋‹ˆ๋‹ค.

์—…๋ฌด๋ณ„๋กœ ๋งž๋Š” ๋„ค ๊ฐ€์ง€ ์ •์ฑ…

์ฆ๊ฑฐ ์ˆ˜์ง‘๋งŒ ํ•„์š”ํ•œ ์ง€์› ์—์ด์ „ํŠธ

๋””๋ฒ„๊น… ์—์ด์ „ํŠธ์—๋Š” ์˜ํ–ฅ์„ ๋ฐ›์€ Worker์˜ Metadata Read-Only๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์„œ๋น„์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ ๋„ ์„ค์ •, ๋ฉ”ํŠธ๋ฆญ, ๋กœ๊ทธ, ํŠธ๋ ˆ์ด์Šค๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์› ์›Œํฌํ”Œ๋กœ๊ฐ€ ์–ด๋А์ƒˆ ์ฝ”๋“œ ๊ฒ€ํ† ๋‚˜ ๋ฐฐํฌ ์›Œํฌํ”Œ๋กœ๋กœ ํ™•๋Œ€๋˜์ง€ ์•Š์€ ์ฑ„ ํ•„์š”ํ•œ ์ฆ๊ฑฐ๋งŒ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ์—ญํ• ๋กœ ํ•ด๋‹น Worker์— wrangler tail๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ๋นŒ๋“œ๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” ์™ธ๋ถ€ ๊ฐœ๋ฐœ์ž

์™ธ๋ถ€ ๊ณ„์•ฝ์ž์—๊ฒŒ๋Š” ํด๋ผ์ด์–ธํŠธ Worker์˜ Content Read-Only๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ๋œ ์†Œ์Šค์™€ ์„ค์ •์€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋ฐฐํฌํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฒ€ํ†  ๊ถŒํ•œ์˜ ๊ฒฝ๊ณ„๊ฐ€ ๋” ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค. ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ๋‚ด์šฉ์„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ ๊ฒ€ํ† ์ž์—๊ฒŒ Editor๋ฅผ ์ค„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ „์šฉ CI ํŒŒ์ดํ”„๋ผ์ธ

๊ณ„์ • ์†Œ์œ  ํ† ํฐ์— ๊ธฐ์กด Worker ํ•˜๋‚˜์˜ Editor๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. Worker๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ Worker์— ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ ๋„ ๋ฒ„์ „์„ ๊ฒŒ์‹œํ•˜๊ณ  ๋กค๋ฐฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๊ฒฉ ์ฆ๋ช…์ด ์ง์› ๊ฐœ์ธ์ด ์•„๋‹ˆ๋ผ ์›Œํฌํ”Œ๋กœ์— ๊ท€์†๋˜๋ฏ€๋กœ ์—์ด์ „์‹œ์˜ ํด๋ผ์ด์–ธํŠธ ์ธ๊ณ„์— ๊ฐ€์žฅ ์ž˜ ๋งž๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์—…๋ฌด์— ๋ธŒ๋ผ์šฐ์ € ์—์ด์ „ํŠธ๋„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด Cloudflare์˜ ์Šน์ธ ํ˜ธ์ŠคํŠธ ์ œ์–ด ๊ธฐ๋Šฅ์ด ๊ฒฝ๊ณ„์˜ ๋‹ค๋ฅธ ์ ˆ๋ฐ˜, ์ฆ‰ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์–ด๋””๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ํ†ต์ œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๊ฐ€ ํ†ต์ œํ•˜๋Š” ๊ฒƒ์€ ๋ฐฐํฌ ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ์–ด๋А Worker๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”์ง€์ž…๋‹ˆ๋‹ค.

์ˆ˜๋ช… ์ฃผ๊ธฐ ๋ณ€๊ฒฝ์„ ๋งก๋Š” ํ”Œ๋žซํผ ์†Œ์œ ์ž

์‚ญ์ œ ๊ถŒํ•œ์ด ๊ผญ ํ•„์š”ํ•œ ํŒ€์›์ด๋‚˜ ์ž๋™ํ™”์—๋งŒ Admin์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. Worker๋ฅผ ๋งŒ๋“œ๋Š” ์†Œ์œ ์ž์—๊ฒŒ ์ œํ’ˆ ์ˆ˜์ค€์˜ Admin์„ ์œ ์ง€ํ•˜๊ณ , ์™„์„ฑ๋œ Worker๋Š” ๋ฒ”์œ„๊ฐ€ ๋” ์ข์€ ์ผ์ƒ ์šด์˜ ์ •์ฑ…์œผ๋กœ ๋„˜๊น๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ˆ˜๋ช… ์ฃผ๊ธฐ ๊ด€๋ฆฌ์™€ ์ผ์ƒ์ ์ธ ๋ฐฐํฌ๊ฐ€ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ ์ž‘์—…์— ํด๋ผ์ด์–ธํŠธ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ข…๋ฃŒํ•˜๋Š” ๋‹ด๋‹น์ž์™€ ๊ฐ™์€ ๊ถŒํ•œ์€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ„๋Š” ์ข์•„์กŒ์ง€๋งŒ ์™„์ „ํ•œ ๊ฒฉ๋ฆฌ๋Š” ์•„๋‹™๋‹ˆ๋‹ค

ํ•ต์‹ฌ ์ด์ ์€ ๋ถ„๋ช…ํ•˜์ง€๋งŒ, โ€œWorker ํ•˜๋‚˜๋งŒโ€์ด๋ผ๋Š” ํ‘œํ˜„์„ ์ง€๋‚˜์น˜๊ฒŒ ๋‹จ์ˆœํ•˜๊ฒŒ ๋ฐ›์•„๋“ค์ด๋ฉด ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค.

Durable Objects๋„ ๊ฐ™์€ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋…๋ฆฝ์ ์ธ ์—ญํ• ์ด๋‚˜ ๋ฒ”์œ„๊ฐ€ ์—†์œผ๋ฉฐ, ์ด๋ฅผ ๊ตฌํ˜„ํ•œ Worker์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ทธ๋Œ€๋กœ ๋ฌผ๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค. Metadata Read-Only์—๋Š” ์ €์žฅ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์—†์ด Durable Object ๋ฉ”ํŠธ๋ฆญ, ๋กœ๊ทธ, ํŠธ๋ ˆ์ด์Šค๋ฅผ ๋ณด๋Š” ๊ถŒํ•œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Editor๋Š” SQLite ๊ธฐ๋ฐ˜ Durable Object์˜ ๋ฐ์ดํ„ฐ๋ฅผ Data Studio์—์„œ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์„œ์— ๋ช…์‹œ๋œ ๊ถŒํ•œ ๊ธฐ์ค€๋„ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.

Routes๋Š” ๋˜ ๋‹ค๋ฅธ ๋ณ„๋„ ๊ฒฝ๊ณ„์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด Route ๋˜๋Š” Custom Domain์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ์ƒˆ ๋ฒ„์ „๋งŒ ๋ฐฐํฌํ•  ๋•Œ๋Š” Editor๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์ด ์—ฐ๊ฒฐ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ชจ๋“  zone์— Workers Routes Write๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Cloudflare์— ๋”ฐ๋ฅด๋ฉด ํ˜„์žฌ Custom Domains์—๋Š” Worker๋ณ„ ์—ญํ• ์„ ์ ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ Cloudflare ๊ถŒํ•œ์€ ์„œ๋กœ ํ•ฉ์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๋ฒ”์œ„๊ฐ€ ์ข์€ ์ง์ ‘ ์ •์ฑ…์„ ์ถ”๊ฐ€ํ•ด๋„ User Group์„ ํ†ตํ•ด ์ƒ์†๋œ ๊ด‘๋ฒ”์œ„ํ•œ ์ •์ฑ…์€ ์ทจ์†Œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Members ํ™”๋ฉด์—๋Š” ์ง์ ‘ ๊ถŒํ•œ์ด ํ‘œ์‹œ๋˜๋ฉฐ, ์ƒ์†๋œ ๊ทธ๋ฃน ์ •์ฑ…์€ Groups ํƒญ์—์„œ ๋”ฐ๋กœ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ๊ฒ€์„ ๊ฑด๋„ˆ๋›ฐ๋ฉด ํ™”๋ฉด์—๋Š” ์˜๋„ํ•œ ์ข์€ ์ •์ฑ…์ด ๋ณด์—ฌ๋„ ์‹ค์ œ ๊ถŒํ•œ ์ง‘ํ•ฉ์€ ์—ฌ์ „ํžˆ ๋„“์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ ์กฐ์น˜ํ•ด์•ผ ํ•˜๋Š” ํŒ€์€ ๋ˆ„๊ตฌ์ธ๊ฐ€์š”?

๊ณ„์ • ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ Worker๊ฐ€ ์žˆ๊ณ , Worker ํ•˜๋‚˜๋งŒ ๋‹ค๋ฃจ๋Š” ์‚ฌ๋žŒยท์—์ด์ „ํŠธยทCI ์ž‘์—… ์ค‘ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์—ฌ์ „ํžˆ ๋ชจ๋“  Worker ๊ถŒํ•œ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๋ฉด ์ด๋ฒˆ ์ฃผ์— ์กฐ์น˜ํ•˜๋Š” ํŽธ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Worker๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๊ณ  ์ผ์ƒ์ ์ธ ๋ฐฐํฌ์—์„œ ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ์„ ๋ฐ”๊พธ์ง€ ์•Š์„ ๋•Œ ํšจ๊ณผ๊ฐ€ ๊ฐ€์žฅ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์›Œํฌํ”Œ๋กœ๊ฐ€ Worker๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ Route ๋˜๋Š” Custom Domain์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๋ฐ”์ธ๋”ฉ๋œ ๋ฐ์ดํ„ฐ ์ œํ’ˆ์— ์ง์ ‘ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค๋ฉด ํ† ํฐ์„ ๊ณง๋ฐ”๋กœ ์ถ•์†Œํ•˜์ง€ ๋ง์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ํ•ด๋‹น ์ž‘์—…์„ ๋ชจ๋‘ ํŒŒ์•…ํ•˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์Œ ๋ฐฐํฌ๊ฐ€ ์ค‘๊ฐ„์— ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Worker ์ ‘๊ทผ์„ ๊ณต์œ ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ Worker ํ•˜๋‚˜๋งŒ ์šด์˜ํ•˜๊ฑฐ๋‚˜, ๊ณ„์ • ์ „์ฒด๋ฅผ ์ฑ…์ž„์ง€๋Š” ํ”Œ๋žซํผ ํŒ€์ด ๋ฐฐํฌ๋ฅผ ์˜๋„์ ์œผ๋กœ ์ „๋‹ดํ•œ๋‹ค๋ฉด ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์›”์š”์ผ์— ๊ฐ€์žฅ ๋จผ์ € ํ•  ์ผ

๋จผ์ € ๊ธฐ์กด ํด๋ผ์ด์–ธํŠธ ํ•œ ๊ณณ์˜ CI ๋ฐฐํฌ์— ์“ฐ๋Š” ๊ถŒํ•œ ์ •์ฑ…๋ถ€ํ„ฐ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ๊ณ„์ • ์†Œ์œ  ํ† ํฐ์„ Editor๋กœ ์„ค์ •ํ•ด ํ•ด๋‹น Worker ํ•˜๋‚˜๋กœ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๊ณ , ํ† ํฐ์ด ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐ”์ธ๋”ฉ๊ณผ ์ƒ์†๋œ Durable Object๋ฅผ ๋ชฉ๋ก์œผ๋กœ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ์ •์ฑ…๊ณผ ๊ทธ๋ฃน ์ •์ฑ…์„ ํ™•์ธํ•œ ๋‹ค์Œ Route๋‚˜ Custom Domain์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐํฌ๊ฐ€ ํ†ต๊ณผํ•˜๋ฉด ๊ธฐ์กด์˜ ๋ชจ๋“  Worker์šฉ ์‹œํฌ๋ฆฟ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•œ ๋ฒˆ์˜ ์ „ํ™˜๋งŒ์œผ๋กœ ์‹ค์ œ ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ค๊ณ  ๋‹ค์Œ ํด๋ผ์ด์–ธํŠธ์—๋„ ๋ฐ˜๋ณต ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋žซํผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‰ฌ์šด ๋ง๋กœ ํ’€์–ด๋‚ธ ์šด์˜ ๋…ธํŠธ๋ฅผ ๋” ๋ฐ›์•„๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ๋‰ด์Šค๋ ˆํ„ฐ๋ฅผ ๊ตฌ๋…ํ•˜์„ธ์š”.

๊ฒŒ์‹œ์ผ
์นดํ…Œ๊ณ ๋ฆฌ
Explained
AI ์—์ด์ „ํŠธ ๋น„์šฉ, ๊ตฌ๋…๋ถ€ํ„ฐ ์ง์ ‘ ๊ฐœ๋ฐœ๊นŒ์ง€ ์›” ์˜ˆ์‚ฐ ๋น„๊ต

AI ์—์ด์ „ํŠธ ๋น„์šฉ, ๊ตฌ๋…๋ถ€ํ„ฐ ์ง์ ‘ ๊ฐœ๋ฐœ๊นŒ์ง€ ์›” ์˜ˆ์‚ฐ ๋น„๊ต

AI ์—์ด์ „ํŠธ ๋น„์šฉ์„ ๊ตฌ๋…ํ˜• ์„œ๋น„์Šค, ๋…ธ์ฝ”๋“œ ๋นŒ๋”, ์ง์ ‘ ๊ตฌ์ถ•ํ•œ API๋กœ ๋‚˜๋ˆ  ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ์›” 1,000๊ฑด์˜ ๊ณ ๊ฐ ์ง€์› ์ด๋ฉ”์ผ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ๋ฐฉ์‹์˜ ์˜ˆ์‚ฐ์„ ๊ณ„์‚ฐํ•˜๊ณ , ํ† ํฐ๊ณผ ํˆด ํ˜ธ์ถœ, ์—ฐ๊ฐ„ ๊ฒฐ์ œ์˜ ์ฒซ ์ฒญ๊ตฌ์•ก, ์‚ฌ๋žŒ์˜ ๊ฒ€ํ†  ์‹œ๊ฐ„๊นŒ์ง€ ์‹ค์ œ ์šด์˜์— ๋“œ๋Š” ๋น„์šฉ์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.2026๋…„ 10์›” 7์ผExplained
Grok Voice Transcribe 2.0 ์ „ํ™˜: ์Œ์„ฑ ํ…์ŠคํŠธ ๋ณ€ํ™˜ ๋น„์šฉ๊ณผ ๊ธฐ๋ณธ ๋ชจ๋ธ ์ ๊ฒ€๋ฒ•

Grok Voice Transcribe 2.0 ์ „ํ™˜: ์Œ์„ฑ ํ…์ŠคํŠธ ๋ณ€ํ™˜ ๋น„์šฉ๊ณผ ๊ธฐ๋ณธ ๋ชจ๋ธ ์ ๊ฒ€๋ฒ•

Grok Voice Transcribe 2.0์€ ๋ฐฐ์น˜ ์‹œ๊ฐ„๋‹น $0.10, ์ŠคํŠธ๋ฆฌ๋ฐ ์‹œ๊ฐ„๋‹น $0.20์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ชจ๋ธ ๋ณ€๊ฒฝ์€ ๊ฐ™์€ API ํ˜ธ์ถœ์˜ ์Œ์„ฑ ํ…์ŠคํŠธ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ์™€ ํ›„์† ์—…๋ฌด๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ๊ณ ์ •๊ณผ ์‹ค์ œ ์˜ค๋””์˜ค ๊ฒ€์ฆ ์ ˆ์ฐจ๋ฅผ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.2026๋…„ 9์›” 20์ผExplained
Cloudflare Browser Run ์‹คํŒจ, HAR ํŒŒ์ผ๋กœ ์žฌ์‹คํ–‰ ์ „์— ์ง„๋‹จํ•˜๊ธฐ

Cloudflare Browser Run ์‹คํŒจ, HAR ํŒŒ์ผ๋กœ ์žฌ์‹คํ–‰ ์ „์— ์ง„๋‹จํ•˜๊ธฐ

Cloudflare Browser Run์˜ ์ƒˆ Inspect ํŒจ๋„์—์„œ HAR ํŒŒ์ผ, ์ฝ˜์†” ๋กœ๊ทธ, ๋„คํŠธ์›Œํฌ ์š”์ฒญ, ์ตœ์ข… DOM์„ ํ™•์ธํ•ด ์‹คํŒจ ์›์ธ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ก์„ ์–ธ์ œ ์ผœ์•ผ ํ•˜๋Š”์ง€, ์žฌ์‹คํ–‰ ์ „์— ๋ฌด์—‡์„ ์ ๊ฒ€ํ•ด์•ผ ํ•˜๋Š”์ง€, ๋น„์šฉ๊ณผ ๊ธฐ๋ก์˜ ํ•œ๊ณ„๊นŒ์ง€ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.2026๋…„ 9์›” 19์ผExplained
v0์—์„œ ์‚ฌ๋‚ด ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ทธ๋Œ€๋กœ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•

v0์—์„œ ์‚ฌ๋‚ด ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ๊ทธ๋Œ€๋กœ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•

๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ๋น„๊ณต๊ฐœ npm ํŒจํ‚ค์ง€๋ฅผ Vercel v0์— ์•ˆ์ „ํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. NPM_TOKEN๊ณผ NPM_RC์˜ ์ฐจ์ด, ์ตœ์†Œ ๊ถŒํ•œ ์„ค์ •, ์š”๊ธˆ, ํ•œ๊ณ„, ํ”„๋กœํ† ํƒ€์ž…์„ ์‹ค์ œ ์ €์žฅ์†Œ๋กœ ๋„˜๊ธธ ๋•Œ ํ™•์ธํ•  ํ•ญ๋ชฉ๊นŒ์ง€ ์‹ค๋ฌด ๊ธฐ์ค€์œผ๋กœ ํ•จ๊ป˜ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.2026๋…„ 9์›” 19์ผExplained
Claude Code ๋น„์šฉ, ์ž๋™ ๋ชจ๋“œ ๋ถ„๋ฅ˜๊ธฐ ๊ณผ๊ธˆ์ด ์‚ฌ๋ผ์ง€๋Š” ์กฐ๊ฑด

Claude Code ๋น„์šฉ, ์ž๋™ ๋ชจ๋“œ ๋ถ„๋ฅ˜๊ธฐ ๊ณผ๊ธˆ์ด ์‚ฌ๋ผ์ง€๋Š” ์กฐ๊ฑด

Claude Code 2.1.278์€ ์„œ๋ฒ„๊ฐ€ ์ž๋™ ๋ชจ๋“œ ๊ฒ€์‚ฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ณ„๋„ ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ ๋น„์šฉ์„ ์—†์•ฑ๋‹ˆ๋‹ค. APIยทEnterpriseยท๊ฒŒ์ดํŠธ์›จ์ด ํ™˜๊ฒฝ์—์„œ /status๋กœ ์‹ค์ œ ๊ณผ๊ธˆ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•˜๊ณ , ๋น„์šฉ ์˜ˆ์ธก ์ „์— ์ ๊ฒ€ํ•ด์•ผ ํ•  ํ˜ธํ™˜ ์กฐ๊ฑด๊ณผ ํด๋ฐฑ ์‹ ํ˜ธ๋ฅผ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.2026๋…„ 9์›” 19์ผExplained
Vercel ๋ฐฐํฌ ํ•œ ๋ฒˆ์—๋งŒ Turbo๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋น„์šฉ

Vercel ๋ฐฐํฌ ํ•œ ๋ฒˆ์—๋งŒ Turbo๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋น„์šฉ

Vercel ๋ฐฐํฌ๋งˆ๋‹ค ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ ๋จธ์‹  ์„ค์ •์„ ๋ฐ”๊ฟ€ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Pro์™€ Enterprise์—์„œ ๊ธด๊ธ‰ํ•œ ๋ฐฐํฌ ํ•œ ๋ฒˆ์—๋งŒ Turbo๋ฅผ ์ ์šฉํ•˜๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•๊ณผ ๋ถ„๋‹น ๋น„์šฉ์„ ์‚ดํŽด๋ณด๊ณ , Basic๊ณผ ๋น„๊ตํ•ด ์‹ค์ œ๋กœ ์•„๋‚€ ์‹œ๊ฐ„๊ณผ ์ถ”๊ฐ€ ๋น„์šฉ์„ ๊ฒ€์ฆํ•˜๋Š” ์ ˆ์ฐจ๊นŒ์ง€ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.2026๋…„ 9์›” 18์ผExplained
์›Œ๋“œ AI ์‹ค์ „ ๊ฐ€์ด๋“œ: ChatGPT๋กœ Word ๋ฌธ์„œ ์ž‘์„ฑ๋ถ€ํ„ฐ ์ˆ˜์ •๊นŒ์ง€

์›Œ๋“œ AI ์‹ค์ „ ๊ฐ€์ด๋“œ: ChatGPT๋กœ Word ๋ฌธ์„œ ์ž‘์„ฑ๋ถ€ํ„ฐ ์ˆ˜์ •๊นŒ์ง€

Word ์•ˆ์—์„œ ChatGPT๋กœ ์ดˆ์•ˆ์„ ๋งŒ๋“ค๊ณ  ์—ด๋ฆฐ ๋ฌธ์„œ๋ฅผ ์š”์•ฝยท์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์• ๋“œ์ธ ์„ค์น˜ ์กฐ๊ฑด, ๊ณต์œ  ์‚ฌ์šฉ๋Ÿ‰๊ณผ ํ† ํฐ ์š”์œจ, ๋ฐ์ดํ„ฐ ๊ฒฝ๊ณ„, ๊ฒ€ํ†  ์ ˆ์ฐจ๋ฅผ ํ™•์ธํ•˜๊ณ  ์•ฑ ์‚ฌ์ด ๋ณต์‚ฌยท๋ถ™์—ฌ๋„ฃ๊ธฐ๋ฅผ ์ค„์ด๋Š” ์›Œ๋“œ AI ์—…๋ฌด ํ๋ฆ„์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‹œ์ž‘ํ•ด ๋ณด์„ธ์š”.2026๋…„ 9์›” 18์ผExplained
AI ์—์ด์ „ํŠธ ์šด์˜์ž๋ฅผ ์œ„ํ•œ Google Antigravity ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ

AI ์—์ด์ „ํŠธ ์šด์˜์ž๋ฅผ ์œ„ํ•œ Google Antigravity ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€์ด๋“œ

Google Antigravity์˜ 5์›” ์—์ด์ „ํŠธ๊ฐ€ 2026๋…„ 10์›” 5์ผ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. AI ์—์ด์ „ํŠธ ์ž‘์—…์˜ ์ถœ๋ ฅ ์ „์šฉยท๋กœ์ปฌ ํˆด ๊ฒฝ๋กœ๋ณ„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฒ”์œ„์™€ ์ƒˆ ํŒŒ์ผ ํˆด ๊ณ„์•ฝ, ์•ˆ์ „ํ•œ ์–ด๋Œ‘ํ„ฐ ํ…Œ์ŠคํŠธ, ์˜ˆ์•ฝ ์ž‘์—… ์ ๊ฒ€ ์ˆœ์„œ๋ฅผ ์‹ค๋ฌด ๊ธฐ์ค€์œผ๋กœ ํ•œ๋ˆˆ์— ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.2026๋…„ 9์›” 18์ผExplained
๋‰ด์Šค๋ ˆํ„ฐ

๋งค์ฃผ ์ผ์š”์ผ, ํ•œ ํ†ต์˜ ํŽธ์ง€.๋œจ๊ฑฐ์šด ์˜๊ฒฌ์ด ์•„๋‹Œ, ๋Œ์•„๊ฐ€๋Š” ์‹œ์Šคํ…œ.

์ฃผ๊ฐ„ ๋ฐœํ–‰. ์ŠคํŒธ ์—†์Œ. ์–ธ์ œ๋“  ํ•ด์ง€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.