-
Notifications
You must be signed in to change notification settings - Fork 3
CodeSandbox 1.5 Changelog
์ด๊ฒ์ CodeSandbox v1.5์ด๋ค. ๋ ์ด์ ๋ชจ๋ ์ ๋ฐ์ดํธ๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๋ฏ๋ก, ์์์ ์ซ์๋ก CodeSandbox์ ๋ฒ์ ์ ๊ฒฐ์ ํ๋ค.
์ด๊ฒ์ ํฐ ์ ๋ฐ์ดํธ์ด๋ฉฐ, ํธ์ง๊ธฐ, ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ๋ฉด ๋ฐ packager๋ฅผ ๋ค์ ์์ฑํ๋ค. ์ด๋ฌํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ธํด ๋ฐฐํฌ๊ฐ ๋งค์ฐ ํฅ๋ฏธ๋ก์์ก์ง๋ง, ์ง๊ธ ์จ๋ผ์ธ ์ํ์ด๋ค.
ํธ์ง๊ธฐ๋ monaco-editor
๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์์ฑ๋์๋ค. ์ด ํธ์ง๊ธฐ๋ ์ถ์ถ ๋ vscode ํธ์ง๊ธฐ ๋ฒ์ ์ด๋ฏ๋ก ์ค์ ๋ก ๊ฐ๋ ฅํ๋ค.
monaco-editor
์ ๊ฐ์ฅ ๋ฉ์ง ์ ์ vscode์ ํต์ฌ ํธ์ง๊ธฐ ๊ธฐ๋ฅ (Go to Definition, Peek Definition ๋ฑ)์ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ํด์ผ ํ ์ ์ผํ ๊ฒ์ ๋ชจ๋ ๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฐ๊ฒฐํ๋ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๋ CodeSandbox์์ ๋ ๋์ ํฌ๋ก์ค ํ์ผ ํตํฉ์ ์ํด Monaco ํธ์ง๊ธฐ์ ๋ณ๋ ๋น๋๋ฅผ ๋ง๋ค์๋ค.
ํ์์ด ์ฌ์ธ๋ฟ๋ง ์๋๋ผ, monaco-editor
์๋ IntelliSense๋ฅผ ์ํ JavaScript ๋ฐ TypeScript๊ฐ ๋ด์ฅ๋์ด ์๋ค. ์์กด์ฑ์ ์์ฑํ๋ฉด ํจ์ฌ ์ข๋ค. ๊ทธ๋์ 'Automatic Type Acquisition'์ ์ถ๊ฐํ๋ค. ๊ทธ๊ฒ์ ๋ชจ๋ '์ค์น๋' ์์กด์ฑ์ ๋ํด https://unpkg.com์์ ์ ํ์ ๊ฒ์ํ๊ณ ๋ค์ด๋ก๋ํ๋ค๋ ์๋ฏธ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ผ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ ์์ฑ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค.
๊ฑฐ์ ๋ชจ๋ ๊ธฐ์กด ํธ์ง๊ธฐ ๊ธฐ๋ฅ์ ํฌํ ํ๋ค. ์ฆ, ํธ์ง๊ธฐ์ ESLint, Prettier ๋ฐ Emmet.io๊ฐ ๋ด์ฅ๋์ด ์๋ค. ์ ๊ฐ์ค๋ฝ๊ฒ๋, Vim Mode๋ฅผ ์ญ์ ํด์ผ ํ์ง๋ง, Monaco๋ฅผ ๋นํ์ฑํํ๊ณ CodeMirror๋ฅผ ํ์ฑํํ๋ค๋ฉด Vim Mode๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์๋ก์ด ํธ์ง๊ธฐ์ ์ ๋ง ๋ง์กฑํ๊ณ ์์ผ๋ฉฐ, monaco-editor ์์ด๋ TypeScript, unpkg, Emmet.io, ESLint ๋ฐ Prettier ๋ค์ด ์๋ํ์ง ์์์ ๊ฒ์ด๋ค. ์ด๋ฌํ tool๋ค์ ํ์คํ๊ฒ ๊ฐ์ฌํ๋ค๊ณ ๋งํ๊ณ ์ถ์ผ๋ฉฐ, ๋ด๊ฐ ํด์ผ ํ ์ ์ผํ ๊ฒ์ ๋ชจ๋ ๊ฒ์ ์ฐ๊ฒฐํ๊ณ ์ผ๋ถ ํตํฉ์ ํจ์นํ๋ ๊ฒ์ด๋ค.
์ฐ๋ฆฌ๋ CodeSandbox๋ฅผ ํจ์ฌ ๋ ์ข๊ฒ ๋ง๋๋ ๋ ๋ค๋ฅธ ๋๊ตฌ, ์ฆ create-react-app์ ์ํ react-error-overlay๋ฅผ ๋ง๋ค์๋ค. CodeSandbox์ ์ค๋ฅ ์ฒ๋ฆฌ๊ฐ ๋ค์ ์ํ๋์์ผ๋ฉฐ. react-error-overlay ๋๋ถ์ ์ด์ ๋น๋๊ธฐ ์ค๋ฅ์ ๋ฅ ๋งํฌ ์ค๋ฅ๋ฅผ ์ง์ํ๊ณ ์๋ฆ๋ค์ด ์ค๋ฅ ์ค๋ฒ๋ ์ด๋ฅผ ๊ฐ๊ฒ๋์๋ค. ๋ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ๋ค์ ์์ฑํ์ฌ ์ค๋ฅ๊ฐ ์ฌ๋ฐ๋ฅธ ํ์ผ์ ํ์๋์๋ค.
CodeSandbox๋ ์ค๋ฅ๋ฅผ ํ์ ํ ๋ฟ๋ง ์๋๋ผ ์๋ ค์ง ์ค๋ฅ์ ๋ํด ์ ์๋ ์ ๊ณตํ๋ค. ์์ ์์์ DeepComponent.js
๋ RawComponent
๋ฅผ ๊ฐ์ ธ ์ค๋ ์ค์ด๋ฏ๋ก ํ์ฅ์๊ฐ ์๋ค. ๋ฐ๋ผ์ ์๋ชป๋ ํ๊ทธ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์ฝ๊ฒ ๊ฐ์งํ๊ณ , ํ์ผ ์ด๋ฆ์ ๋ฐ๊ฟ ๊ฒ์ ์ ์ ํ ์ ์๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ๋ฐ์๊ฐ ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ค๋ฅ์ ๋ํ ์ ์์ ์ถ๊ฐ ํ ์์๋ API๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋ค.
์ด์ ์ธ๋ถ URL์์ ํ๋ก์ ํธ๋ฅผ ์ด ์ ์์ต๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ ์ค์ ๋ณ๋์ ์ฐฝ์์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณด๊ฑฐ๋, ํ๋ก์ ํธ์ ์ ์ฒด ํ๋ฉด ๋ฒ์ ์ ์น๊ตฌ๋ค๊ณผ ๊ณต์ ํ ์ ์๋ค. ์ด ์ธ๋ถ ํ๋ ์์ ํ๋ก๋์ ๋ฒ์ ๊ณผ ๊ฑฐ์ ์ผ์นํ์ง ์์ผ๋ฏ๋ก ZEIT์ ํจ๊ป 'Deploy to Now'๋ฅผ ํตํฉํ์ฌ ํ๋ก๋์ ๋ฒ์ ์ ์๋์ผ๋ก ๋ฐฐํฌ ํ ์ ์๋ค.
์ธ๋ถ ํ๋ก์ ํธ๋ ์คํ๋ผ์ธ์์๋ ์๋ํ๋ค.
CodeSandbox๋ ์ด์ service workers
๊ฐ ์ง์ํ๋ค. ์ฆ, ์คํ๋ผ์ธ์์๋ ํธ์ง๊ธฐ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ด ์ ์์ผ๋ฉฐ, ์ด์ ๋ ๊ณต๋ฃก ๋์ ์ฝ๋ ์๋ ๋ฐ์ค๋ฅผ ๋ณผ ์ ์๋ค. ์คํ๋ผ์ธ ์ง์์ ํ์ฌ ์ ํ๋์ด ์์ผ๋ฏ๋ก, ์์ง ํ๋ก์ ํธ๋ฅผ ์คํ๋ผ์ธ์ผ๋ก ์ ์ฅํ ์ ์๋ค. ์ด ์์
์ ์ํํ๋ ค๋ฉด ์๋ฒ๋ฅผ ์ฝ๊ฐ ๋ณ๊ฒฝํด์ผํ๋ค. ๊ทธ๋๋ ํ๋ก์ ํธ๋ ํธ์ง ํ ์ ์๋ค. ์ด ๊ธฐ๋ฅ์ ์ค์ ๋ก ์๋๊ฐ ํฅ์๋์ด ์์กด์ฑ๊ณผ ๊ฐ์ ๋คํธ์ํฌ ์๋ณต ์๊ฐ์ ์ ์ฝํ๋ค.
์์กด์ฑ์ ํจํค์ง๊ฐ ๋ค์ ์์ฑ๋์๋ค. ์ด์ severless
์๋ฃจ์
์ผ๋ก ํธ์คํ
๋๋ฏ๋ก, ๋ฌดํ์ ํ์ฅ ํ ์ ์๋ค. ๋ํ ์๋๊ฐ ํฌ๊ฒ ํฅ์๋์์ผ๋ฉฐ, ์๋ต ์๊ฐ์ด 40%-700% ์ ๋ ๊ฐ์ ๋์๋ค.
์๋ก์ด ํจํค์ง์ ํจ๊ป ์ ๊ณต๋๋ ์๋ก์ด ๊ธฐ๋ฅ์ ์ ๋ ๋ฒ์ ๋ฟ ์๋๋ผ ์ด์ ์ ๋ฒ์ ์ ํฌํจํ ๋ฒ์ ๋ฒ์๋ฅผ ์ง์ํ๋ค๋ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด react@next
๋ฅผ ์ค์นํ ์ ์์ผ๋ฉฐ, ๊ทธ๊ฒ์ React ์
๋ฐ์ดํธ๋ก ์๋ ์
๋ฐ์ดํธ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ด๋ฒ ์ฃผ ์ด๋๊ฐ์ ๋ฐฐํฌ ๋ ์์ ์ด๋ฏ๋ก ๋จผ์ ์๋ฒ ๋ก์ง์ ๋ณ๊ฒฝํด์ผํ๋ค.
severless
๋ก ์์
ํ ํ, ์ค์ ์๋ํ๋ ๋ฐฉ์์ ๋ํด ๊น์ ์ธ์์ ๋ฐ์๋ค. ํธ์คํ
๋น์ฉ์ด ํ ๋ฌ์ $ 50์์ ์ $ 0.03๋ก ๊ฐ์ํ๋ค. ์ด์ ๋ ๋น ๋ฅด๊ณ , ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ, ๋ฐฐํฌ๊ฐ ๋งค์ฐ ์ฌ์์ก๋ค. ์๊ฐ์ด ๋๋ฉด ์ด๊ฒ์ ๊ดํ ๊ฒ์๋ฌผ์ ์ธ ๊ฒ์ด๋ค.
โ 2019. BoostCamp Membership Team 4 all rights reserved.