๐ 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