Community

๐Ÿž Bun v1.3 ์ถœ์‹œ ์†Œ์‹! ์˜ฌ์ธ์› ๋Ÿฐํƒ€์ž„์„ ๋„˜์–ด ํ’€์Šคํƒ ํ”Œ๋žซํผ์œผ๋กœ

์•ˆ๋…•ํ•˜์„ธ์š”. ํ•œ๊ตญ์˜ Bun ์ „๋„์‚ฌ(?) ๋‹ฌ๋ ˆ์ž…๋‹ˆ๋‹ค ใ…Žใ…Ž Bun v1.3์ด ๋“œ๋””์–ด ๊ณต๊ฐœ๋์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋Š” ๋‹จ์ˆœํžˆ ๋น ๋ฅธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„์„ ๋„˜์–ด์„œ, ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ์•„์šฐ๋ฅด๋Š” ํ’€์Šคํƒ ํ”Œ๋žซํผ์œผ๋กœ ํ•œ ๊ฑธ์Œ ๋” ๋‚˜์•„๊ฐ”๋‹ค๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ํฝ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์ด ์›ํ•˜๋Š” ๊ฑด ๊ฒฐ๊ตญ "๋นจ๋ฆฌ ๋งŒ๋“ค์–ด๋ณด๊ณ , ๋นจ๋ฆฌ ๊ณ ์น˜๊ณ , ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ"์ด์ž–์•„์š”. Bun์€ ๊ทธ ์—ฌ์ •์—์„œ ํ•„์š”ํ•œ ๋„๊ตฌ๋“ค์„ ์ ์  ํ•œ ์ž๋ฆฌ์— ๋ถ™์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง„ ๋ถ€๋ถ„ ์ค‘ ํ•˜๋‚˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ํ๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ณ„๋„ ํˆด ์—†์ด๋„ HTML ํŒŒ์ผ์„ ๋ฐ”๋กœ ์‹คํ–‰ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ ์„œ๋ฒ„๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณต๋˜๊ณ , ๋ฆฌ์•กํŠธ์˜ Fast Refresh๋ฅผ ์ง€์›ํ•˜๋Š” HMR๋„ ํฌํ•จ๋ผ ์žˆ์–ด ์ˆ˜์ • ๋‚ด์šฉ์„ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ˜์†” ๋กœ๊ทธ๋„ ๋ธŒ๋ผ์šฐ์ €์™€ ํ„ฐ๋ฏธ๋„์„ ์˜ค๊ฐ€๋ฉฐ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด์–ด์ง€๊ณ , ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ๋Š” bun build ํ•œ ์ค„๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์šฉ ํˆด๊ณผ ๋นŒ๋“œ ํˆด์„ ๋”ฐ๋กœ ์“ฐ๋˜ ๊ธฐ์กด ํ๋ฆ„๋ณด๋‹ค ํ›จ์”ฌ ๋‹จ์ˆœํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์™€ ๋ฐ์ดํ„ฐ ์ชฝ๋„ ํฌ๊ฒŒ ์ข‹์•„์กŒ์Šต๋‹ˆ๋‹ค. Bun.SQL ํ•˜๋‚˜๋กœ MySQL, MariaDB, SQLite๋ฅผ ๋ชจ๋‘ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋๊ณ , Redis ํด๋ผ์ด์–ธํŠธ๋„ ๋Ÿฐํƒ€์ž„์— ๊ธฐ๋ณธ ๋‚ด์žฅ๋์Šต๋‹ˆ๋‹ค. ์บ์‹œ, ํ, Pub/Sub ๊ฐ™์€ ํ”ํ•œ ์›น ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋ณ„๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ์—†์ด ๋ฐ”๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น์†Œ์ผ“, ๋ผ์šฐํŒ…, ์ฟ ํ‚ค ์ฒ˜๋ฆฌ ๊ฐ™์€ HTTP ๊ธฐ๋Šฅ๋“ค๋„ ์กฐ๊ธˆ์”ฉ ๋‹ค๋“ฌ์–ด์ง€๊ณ  ์žˆ์–ด์„œ ํ›จ์”ฌ ์‹ค์šฉ์ ์œผ๋กœ ๋‹ค๊ฐ€์˜ต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์™€ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ธฐ๋Šฅ์€ ํŒ€ ๋‹จ์œ„ ์‹ค์‚ฌ์šฉ์„ ๋ช…ํ™•ํžˆ ์—ผ๋‘์— ๋‘๊ณ  ์„ค๊ณ„๋œ ํ‹ฐ๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค. ์›Œํฌ์ŠคํŽ˜์ด์Šค์—์„œ ๊ธฐ๋ณธ๊ฐ’์ด isolated install์ด๋ผ ๊ฐ ํŒจํ‚ค์ง€๊ฐ€ ์„ ์–ธํ•œ ์˜์กด์„ฑ๋งŒ ๋ณด์ด๋„๋ก ๊ฐ•์ œ๋˜๊ณ , ๋ชจ๋…ธ๋ ˆํฌ์—์„œ ๋ฒ„์ „ ๋™๊ธฐํ™”๋ฅผ ๋•๋Š” ์นดํƒˆ๋กœ๊ทธ ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€๋์Šต๋‹ˆ๋‹ค. yarn์ด๋‚˜ pnpm์˜ ์ž ๊ธˆํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ๋„ ๊ฝค ํ˜„์‹ค์ ์œผ๋กœ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ๋ ˆ๊ฑฐ์‹œ ๋ ˆํฌ์— ์Šฌ์ฉ ๋„์ž…ํ•ด๋ณด๊ธฐ์— ์ข‹์•„์กŒ์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ๊ณผ ์šด์˜ ๊ด€๋ จ ๊ธฐ๋Šฅ๋„ ํ™•์‹คํžˆ ๊ฐ•ํ™”๋์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ๋‹จ๊ณ„์—์„œ ์•Œ๋ ค์ง„ ์ทจ์•ฝ์ ์ด๋‚˜ ์•…์„ฑ ํŒจํ‚ค์ง€๋ฅผ ์ž๋™์œผ๋กœ ๊ฒ€์ถœํ•ด์ฃผ๋Š” ๋ณด์•ˆ ์Šค์บ๋„ˆ API๊ฐ€ ์ƒˆ๋กœ ๋“ค์–ด์™”๊ณ , OS ์ž๊ฒฉ์ฆ๋ช… ์ €์žฅ์†Œ๋ฅผ ํ™œ์šฉํ•˜๋Š” Bun.secrets, CSRF ํ† ํฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ, ๊ฐœ์„ ๋œ ์•”ํ˜ธํ™” ์„ฑ๋Šฅ ๋“ฑ๋„ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ, ์„ธ์…˜, ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ๋‹ค๋ฃจ๋Š” ์„œ๋น„์Šค์—์„œ ์ฒด๊ฐ์ด ์žˆ์„ ๋งŒํ•œ ๋ณ€ํ™”์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜ ์ธก๋ฉด์—์„œ๋Š” Node.js ํ˜ธํ™˜์„ฑ์ด ๊ณ„์† ์ข‹์•„์ง€๊ณ  ์žˆ๊ณ , ํ…Œ์ŠคํŠธ๋‚˜ ๋””๋ฒ„๊น…์„ ํ•  ๋•Œ ๋น„๋™๊ธฐ ์ŠคํƒํŠธ๋ ˆ์ด์Šค๊ฐ€ ํ›จ์”ฌ ์ฝ๊ธฐ ์‰ฌ์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ „์—๋Š” ์ƒˆ ๋Ÿฐํƒ€์ž„์ด๋ผ ์ƒ๊ฒผ๋˜ โ€˜์„ฑ์žฅํ†ตโ€™ ๊ฐ™์€ ๋ถ€๋ถ„๋“ค์ด ํ•˜๋‚˜์”ฉ ์ •๋ฆฌ๋˜๊ณ  ์žˆ๋Š” ๋А๋‚Œ์ด์—์š”. ๊ฐœ์ธ์ ์œผ๋กœ Bun v1.3์€ ๋‹จ์ˆœํžˆ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ทธ ์ด์ƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—” ๋น ๋ฅธ ์‹คํ–‰ ์†๋„์—์„œ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ, ์ด์ œ๋Š” ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์ž์ฒด๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ ์  ๋‹ค๊ฐ€๊ฐ€๊ณ  ์žˆ์–ด์š”. ์ž‘๊ฒŒ ๋„์ž…ํ•ด๋ณด๋ ค๋ฉด ๋จผ์ € ๊ฐœ๋ฐœ ์„œ๋ฒ„์™€ Bun.SQL, Redis ๊ฐ™์€ ๋ถ€๋ถ„๋ถ€ํ„ฐ ์ ์šฉํ•ด๋ณด๋Š” ๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ข‹์€ ๊ฒฝํ—˜์„ ์–ป์œผ๋ฉด, ์ดํ›„์— ํŒจํ‚ค์ง€ ์นดํƒˆ๋กœ๊ทธ๋‚˜ isolated ์„ค์น˜ ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค๋„ ์ ์  ํ™•์žฅํ•ด์„œ ์จ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. ๋ณด์•ˆ ์Šค์บ๋„ˆ๋‚˜ secrets ์œ ํ‹ธ๋ฆฌํ‹ฐ๋„ ์ดˆ๊ธฐ์— ์„ธํŒ…ํ•ด๋‘๋ฉด ๋‚˜์ค‘์— ํ›จ์”ฌ ์ˆ˜์›”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ํ†ตํ•ด ์‹ค์ „ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐ”๋กœ ์จ๋ณผ ์ˆ˜ ์žˆ์„ ๋งŒํผ Bun์ด ์„ฑ์ˆ™ํ•ด์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. Bun์œผ๋กœ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์Šคํƒ์„ ์–ผ๋งˆ๋‚˜ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์„์ง€ ์ด๋ฒˆ ๊ธฐํšŒ์— ํ•œ ๋ฒˆ ์ ๊ฒ€ํ•ด๋ณด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ณต์‹ ๋ธ”๋กœ๊ทธ์— ์ž์„ธํ•œ ๋ณ€ํ™”์™€ ์˜ˆ์ œ๊ฐ€ ์ž˜ ์ •๋ฆฌ๋ผ ์žˆ๊ณ , ์˜์ƒ์œผ๋กœ๋„ ํ•ต์‹ฌ์„ ๋น ๋ฅด๊ฒŒ ํ›‘์–ด๋ณผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๐Ÿ“ ํฌ์ŠคํŒ…: https://bun.com/blog/bun-v1.3 ๐Ÿ“บ ๋™์˜์ƒ: https://youtu.be/tk7qTNW5g0c ์ „๊ตญ ์˜จ์˜คํ”„๋ผ์ธ ์„œ์ ์— "ํ—ฌ๋กœ Bun" ์ ˆ์ฐฐ๋ฆฌ ํŒ๋งค์ค‘! ๐Ÿ˜ https://careerly.co.kr/comments/111998

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค