๐๏ธ ์ฃผ๊ฐ ๋ด์ค๋ ํฐ - ํด์ธ ํ๋ก ํธ์๋ ๊ธฐ์ ํธ๋ ๋ - 8์ 1์ฃผ์ฐจ
๋งค์ฃผ ์์์ผ, ํด์ธ ํ๋ก ํธ์๋ ๊ธฐ์ ํธ๋ ๋ ์ค ์ฃผ๋ชฉํ ๋งํ ๋ด์ฉ๋ค์ ์ ๋ณํด ๊ณต์ ๋๋ฆฝ๋๋ค. ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ ๊ณ ํธ๋ ๋๋ฅผ ํจ๊ป ์ดํด๋ณด์์. --- 1. React Server Components๋ก ์ฝ๋ 50,000์ค ์ด๋ํ๊ธฐ ์ ์ ์์์ผ๋ฉด ์ข์๋ ๋ชจ๋ ๊ฒ ๋งํฌ: https://www.mux.com/blog/what-are-react-server-components#what-are-react-server-components-what-are-they-good-for ๋ฆฌ์กํธ ์๋ฒ ์ปดํฌ๋ํธ React Server Components(RSC)๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์ด์ ํ๋ ๊ณผ์ ๊ณผ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. RSC๋ ์๋ฒ์์ ๋ ๋๋ง๋์ด ํด๋ผ์ด์ธํธ๋ก ์ ์ก๋๋ ์ปดํฌ๋ํธ๋ก, ์ด๊ธฐ ๋ก๋ฉ ์๋๋ฅผ ํฅ์์ํค๋ ๋ฐ ๋์์ ์ค๋๋ค. ๊ธฐ์ฌ์์๋ ์ค์ RSC์ ๋์ ๊ณผ์ ๊ณผ ์ด๋ฅผ ํตํด ์ป์ ์ด์ ๊ณผ ํจ๊ป, ํ๋ก์ ํธ ์งํ ์ค ๋ง์ฃผํ ๋ฌธ์ ์ ํด๊ฒฐ์ฑ ์ ์์งํ๊ฒ ๊ณต์ ํ๊ณ ์์ต๋๋ค. 2. Type vs Interface: ์ด๋ค ๊ฒ์ ์ฌ์ฉํด์ผ ํ ๊น? ๋งํฌ: https://www.totaltypescript.com/type-vs-interface-which-should-you-use ํ์ ์คํฌ๋ฆฝํธ์์ Type๊ณผ Interface์ ์ฐจ์ด์ ์ ์์ธํ ์ค๋ช ํ๊ณ ์๋ ๊ธ์ ๋๋ค. ํ์ ์คํฌ๋ฆฝํธ ์ฌ์ฉ์๋ค์๊ฒ ์์ด์ Type๊ณผ Interface๋ ํ์ ์ ์ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ ์ค์ํ ๊ฒฐ์ ์ฌํญ์ ๋๋ค. ์ด ๊ธฐ์ฌ์์๋ ๋ ๋ฐฉ์์ ์ฐจ์ด์ ๊ฐ๊ฐ์ ํน์ง์ ์ค๋ช ํ๋ฉฐ, ์ด๋ค ๊ฒฝ์ฐ์ ์ด๋ค ๋ฐฉ์์ ์ฌ์ฉํด์ผ ํ๋์ง๋ฅผ ์๋ ค์ค๋๋ค. TypeScript ํ์ ๊ธฐ๋ณธ์ ์ผ๋ก๋ interface๋ฅผ ์ฌ์ฉํ๊ณ , type์ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋๋ก ๊ถ์ฅํฉ๋๋ค. ํ์ง๋ง ๋ง์ ๊ฐ๋ฐ์ ๋ค์ ์ด๋ฅผ ๋ฐ๋ํ๋ฉฐ, ์ธํฐํ์ด์ค์ ์ ์ธ ๋ณํฉ์ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก type์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ ์ ํธํฉ๋๋ค. ์ธํฐํ์ด์ค๋ ์ฌ์ ํ ๊ฐ์ฒด ์์์ ๊ถ์ฅ๋์ง๋ง, ์กฐ๊ธ ๋ ์ ์ฐํ๊ณ ์์์น ๋ชปํ ๊ฒฐ๊ณผ๋ฅผ ํผํ๊ธฐ ์ํด type์ ์ฌ์ฉํ๋ ๊ฒ๋ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ฐ์ ์ด์ ๋ก ์ ์ญ์ type์ ์ ํธ ํฉ๋๋ค. 3. Google Maps JavaScript API ์ต์ ํ ๋ฐฉ๋ฒ ๋งํฌ: https://cloud.google.com/blog/products/maps-platform/more-control-loading-maps-javascript-api ์ด ๊ธฐ์ฌ์์๋ Google Maps JavaScript API์ ์ต์ ํ์ ๊ดํ ๋ด์ฉ์ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. Google Maps ํ์ API ๋ก๋ฉ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํ ์ต์ ๊ธฐ๋ฒ๋ค์ ์๊ฐํ๊ณ ์์ผ๋ฉฐ, ์ API๋ฅผ ํ๊ทธ๋ก ์ ๊ณตํ๋์ง์ ๋ํ ์ด์ ๋ฅผ ์ค๋ช ํฉ๋๋ค. Maps JavaScript API๊ฐ npm ์ด ์๋ ๋ก๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ์น์ฌ์ดํธ์ ์์ ์ฑ๊ณผ ์ ์ง๋ณด์ ์ฉ์ด์ฑ์ ์ฆ๊ฐ์ํค๊ธฐ ์ํจ์ ์ด๋ผ๊ณ ๋งํ๊ณ ์์ต๋๋ค. 4. ์น ์ปดํฌ๋ํธ(webcomponents)์ ์ฅ์ ์ ํฐ๋ฐ, ์ ์ฌ์ฉํ์ง ์์๊น์?. ๋งํฌ: https://daverupert.com/2023/07/why-not-webcomponents/ ์น ์ปดํฌ๋ํธ์ ๋ํ ์ ์์ ๊ณ ๋ฏผ๊ณผ ์๊ฐ์ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. ์น ์ปดํฌ๋ํธ๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์์๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ์ง๋ง, ์ต๊ทผ์๋ ์ด์ ๋ํ ์ด์ผ๊ธฐ๊ฐ ์ค์ด๋ค์์ต๋๋ค. ์ ์๋ ์น ์ปดํฌ๋ํธ์ ์ฅ์ ๊ณผ ํจ๊ป ์ ๊ทธ๋ ๊ฒ ํ๋ฐํ ์ฌ์ฉ๋์ง ์๋์ง์ ๋ํ ์ด์ ๋ฅผ ๊ณ ์ฐฐํ๊ณ ์์ต๋๋ค. 5. Chalk ๋งํฌ: https://chalk.ist/ ์ฌ๋ผ์ด๋, ๋ธ๋ก๊ทธ ๊ธ ๋ฑ์ ํ์ํ ์ฝ๋๊ฐ ํ์ํ ๋ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ์ ๋๋ค. ์ฝ๋๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐํ๋ฉด ์ด๋ฏธ์ง๋ฅผ ์์ฑํด์ค๋๋ค. 6. MDN ํ๋ ์ด๊ทธ๋ผ์ด๋ ์ถ์ ๋งํฌ: https://developer.mozilla.org/en-US/blog/introducing-the-mdn-playground/ MDN์์ HTML, CSS ๋ฐ JavaScript๋ฅผ ํธ์คํ ํ๋ ์์ฒด ํ๋ ์ด๊ทธ๋ผ์ด๋๋ฅผ ์ถ์ํ์ต๋๋ค. CodeMirror์ ๋ง์ดํฌ๋ก์ํํธ์ฌ์ monaco ์๋ํฐ ์คํ์์ค๋ฅผ ์ฌ์ฉํด ๊ฐ๋ฐ๋์ต๋๋ค. ๋ง์ ์ ์ฌํ ํ๋ ์ด๊ทธ๋ผ์ด๋๊ฐ ์์ง๋ง, MDN ๋ฌธ์ ๋ด ์์ ๋ค๊ณผ ์ฐ๋๋์ด ๋ฐ๋ก ์ค์ตํด ๋ณผ ์ ์๊ณ , MDN ๋ฌธ์๋ค์ ๋ฐ๋ก ํ์ธํด๋ณผ ์ ์๋ค๋ ์ ์ด ์ฅ์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.