๊ฐ๋ฐ40 RSC vs SSR ์๋ก Next๋ฅผ ์ฌ์ฉํ๊ฒ ๋์์ ๋์ ๋ ๋๋ง ๊ณผ์ ์ ๊ณต๋ถํ๋ ์ค ์ข์ ๊ธ์ ๋ฐ๊ฒฌํด์ ๊ทธ ๊ธ์ ๋ณด๋ฉฐ ์ ๋ฆฌํ๊ฒ ๋์๋ค=> ์๋ณธ ๊ธ์ ๊ฑฐ์ ๊ทธ๋๋ก ์ ๋ฆฌํ๋ ๊ฒ์์ ๋ฏธ๋ฆฌ ๋ฐํ๋๋ค(์ ๊ฐ ์ฐธ๊ณ ํ๋ ๊ธ์ ๋ํด์๋ ๊ฒ์๋ฌผ ํ๋จ์ ๋งํฌ๋ฅผ ๋ฌ์๋์์ต๋๋ค)์ฐ๋ฆฌ๊ฐ ํํ React์ Next์ ๊ฐ์ฅ ํฐ ์ฐจ์ด๋ผ๊ณ ํ๋ฉด,CSR(Client Side Render)๊ณผ SSR(Server Side Render) ๋ผ๊ณ ๋ตํ ๊ฒ์ด๋ค.SSR์ ์๋ฒ์ธก์์ ์์ฑ๋ HTML์ ๋ณด๋ด์ฃผ๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ๋ ๊ทธ๊ฑธ ๋ฐ์์ ๊ณง๋ฐ๋ก ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๊ธฐ์ ์ฌ์ฉ์๊ฐ ๋น ํ๋ฉด์ ๋ณด๋ ์๊ฐ์ ์ค์ฌ์ค ์ ์๋ค.์ด์ ๋์ ๊ฐ๋ ์ ๊ฐ์ง๊ณ ์์์ง๋ง, ์กฐ๊ธ ๋ ์์ธํ๊ฒ ์ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํ๋ค. Server ComponentNext์๋ Server Componen.. 2024. 5. 4. Cache์ ์ฌ์ฉ ์ ์บ์๋ ์ด๋ค ๊ฒฝ์ฐ์ ์ฌ์ฉํ ์ ์์๊น?์บ์๋ ๋๋ฆฐ ๊ฒ์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด ์ ์ฌ์ฉํ๋ค๋๋ฆฐ ์ ์ฅ์ฅ์น์ ๋ฐ์ดํฐ ์ค ์ผ๋ถ๋ฅผ ๋น ๋ฅธ ์ ์ฅ์ฅ์น์ ์ฌ๋ ค๋๊ณ ์ฌ์ฉํ๋ ๊ฒ์ด ์บ์ Cache Aside (Look Aside)์บ์์ ๋จผ์ ์ ๊ทผํ๊ณ ์์ผ๋ฉด DB์ ์ง์ ์ ๊ทผ ํ ์บ์ ์ ๋ฐ์ดํธ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํํ ์ ์บ์ ์ฌ์ฉ์ด๋ค ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข์๊น?์บ์ Hit๊ฐ ๋ง์ด ๋ฐ์ํ ๋์ด๋ค ๊ฒฝ์ฐ์ ์ฑ๋ฅ์ด ๊ฐ์ฅ ๋จ์ด์ง๊น?DB์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ํด์ ์ ๊ทผํ๊ฒ ๋ ๋DB์ ์๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ์๋ Miss๊ฐ ๋ฐ์ํด๋ ๋ฐ์ดํฐ๋ฅผ ์บ์์ ์ฌ๋ ค๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋งค๋ฒ DB์ ๋ฐฉ๋ฌธํ๊ฒ ๋๋ค์ด๋ฌํ ๊ฒฝ์ฐ์๋ ์ด ๋ฐ์ดํฐ๋ ์กด์ฌํ์ง ์๋๋ค๋ ๊ฒ์ ์บ์์ ์ ์ฅ ํ๋ฉด, DB์ ๊ฐ์ง ์์๋ ๋ฐ์ดํฐ๊ฐ ์์์ ์ ์ ์๋ค์ด๋ฌํ ๊ตฌ์กฐ์์ ๋ ๊ณ ๋ คํด์ผ ํ .. 2024. 4. 30. ๋ ๋์ค ? Redis์ผ๋ฐ์ ์ผ๋ก ๋ ๋์ค๋ผ ํ์ ๋ ๋ ์ค๋ฅด๋ ์ด๋ฏธ์ง๋,DB์ ์ ๊ทผํ๋ ๊ฒ์ด ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ DB ๋ฐ์ดํฐ์ ์ผ๋ถ๋ฅผ ์ ์ฅํ๋ ์บ์ ์ญํ ์ Key-Value Store๋ผ๊ณ ์๊ณ ์๋ค.๋๋ต์ ์ผ๋ก ์ด์ ๋๋ ์์ง๋ง, ์ ํํ๋ ์ ๋ชฐ๋๊ธฐ ๋๋ฌธ์ ์ด๋ฒ์ ์ ๋ฆฌ๋ฅผ ํ๋ฒ ํด๋ณด๊ณ ์ ํ๋ค ์ต๊ทผ ์ด์Redis๋ ์๋๋ ์คํ์์ค์์ผ๋, ์ต๊ทผ์ ๋ผ์ด์ผ์ค๊ฐ ๋ณ๊ฒฝ๋์ด ๋์ด์ ์คํ์์ค๊ฐ ์๋๊ฒ ๋์๋ค๋คํ(?)์ธ ์ ์ ๊ธฐ์กด ๊ฐ๋ฐ์ ์ค ๋ช๋ช ์ด Fork๋ฅผ ๋ ์ ๊ฐ์ง๊ณ ๋์์ ValKey๋ผ๋ ์คํ ์์ค๋ฅผ ๋ง๋ค๊ฒ ๋์๋คValKey๋ ํ์ฌ Linux์ ์ฌ๋จ์์ ๊ด๋ฆฌ๋ฅผ ํ๊ณ ์๊ณ , ์ด๋ฏธ ๋ง์ ์ฌ์ฉ์๋ค์ด ValKey๋ฅผ ์ฌ์ฉํ๊ณ ์๋คFork๋ฅผ ๋ ์จ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ํ์ฌ๊น์ง๋ ์ฌ์ฉ๋ฒ์ ํฐ ์ฐจ์ด๊ฐ ์๋ค Redis?๋ ๋์ค๋ ๋ฌด์์ธ๊ฐIn-Memory Cache.. 2024. 4. 13. [๊ณต์๋ฌธ์ ๋ฒ์ญ] Composition Pattern ์ปดํฌ์งํธ ํจํด? ์ปดํฌ์งํธ ํจํด์ ๊ฐ์ฒด๋ค์ ๊ด๊ณ๋ฅผ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑํ์ฌ ๋ถ๋ถ-์ ์ฒด ๊ณ์ธต์ ํํํ๋ ํจํด์ผ๋ก, ์ฌ์ฉ์๊ฐ ๋จ์ผ ๊ฐ์ฒด์ ๋ณตํฉ ๊ฐ์ฒด ๋ชจ๋ ๋์ผํ๊ฒ ๋ค๋ฃจ๋๋ก ํ๋ค ์๋๋ ๊ฐ์ฒด์งํฅ์์ ์ฌ์ฉ๋๋ ํจํด์ธ๋ฏํ๋ค ์ด๊ฑธ ์ด๋ป๊ฒ NextJS์์ ์ฌ์ฉํ๊ฒ ๋ ์ง, ๊ณต์๋ฌธ์๋ฅผ ์ ๋ฆฌํด๋ณด์๋ค Server and Client Composition Patterns ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ปดํฌ์งํธ ํจํด ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ๋, ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ค ๋ถ๋ถ์ด ์๋ฒ์์ ๋ ๋๋์ด์ผ ํ๋์ง ๋๋ ํด๋ผ์ด์ธํธ์์ ๋ ๋๋์ด์ผ ํ๋์ง๋ฅผ ๊ณ ๋ คํ ํ์๊ฐ ์๋ค. ์ด ํ์ด์ง๋ ์๋ฒ ์ปดํฌ๋ํธ์ ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ ๋ ์ถ์ฒ๋๋ ์ปดํฌ์ง์ ํจํด์ ๋ค๋ฃฌ๋ค. When to use Server and Client Components? ์ธ์ ์๋ฒ ์ปด.. 2024. 3. 22. [๊ณต์๋ฌธ์ ๋ฒ์ญ] NextJS ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ Client Componentsํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ๋ ์๋ฒ์์ ๋ฏธ๋ฆฌ ๋ ๋๋ง๋ ์ํธ์์ฉ์ด ๊ฐ๋ฅํ UI๋ฅผ ์์ฑํ ์ ์๊ฒ ํ๊ณ , ๋ธ๋ผ์ฐ์ ์์ ๋์ํ๋ JavaScript๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค.์ด ํ์ด์ง๋ ์ด๋ป๊ฒ ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ๊ฐ ๋์ํ๋์ง, ์ด๋ป๊ฒ ๊ทธ๋ค์ด ๋ ๋๋๋์ง, ๊ทธ๋ฆฌ๊ณ ์ธ์ ๊ทธ๊ฒ์ ์ฌ์ฉํด์ผ ํ๋์ง์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. Benefits of Client Renderingํด๋ผ์ด์ธํธ ๋ ๋๋ง์ ์ด์ ํด๋ผ์ด์ธํธ์ธก์์ ๋ ๋๋ง ์์ ์ ํ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ 2๊ฐ์ง ์ด์ ์ ๊ฐ์ง๋ค.Interactivity (์ํธ์์ฉ): ํด๋ผ์ด์ธํธ ์ปดํฌ๋ํธ๋ ์ํ(state), ํจ๊ณผ(effects), ์ด๋ฒคํธ ๋ฆฌ์ค๋(event listeners)๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค. ๊ทธ๊ฒ์ ์ ์ ์๊ฒ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ณ .. 2024. 3. 21. [๊ณต์๋ฌธ์ ๋ฒ์ญ] NextJS ์๋ฒ ์ปดํฌ๋ํธ Server Components Next13์ด ๋ฑ์ฅํ๋ฉด์ ๊ฐ์ฅ ์ค์ํ ๋ณํ๋ ์๋ฒ ์ปดํฌ๋ํธ๋ผ๊ณ ์๊ฐ๋๋ค ๋ฆฌ์กํธ ์๋ฒ ์ปดํฌ๋ํธ(RSC)๋ ์๋ฒ์์ ๋ ๋๋ง๋๊ณ ์ ํ์ ์ผ๋ก ์บ์๋ ์ ์๋ UI๋ฅผ ์์ฑํ ์ ์๋๋ก ํด์ค๋ค. NextJS์์ ๋ ๋๋ง ์์ ์ Route Segment ๋ณ๋ก ๋ถํ ๋๊ธฐ ๋๋ฌธ์ ์คํธ๋ฆฌ๋ฐ(Streaming)๊ณผ ๋ถ๋ถ ๋ ๋๋ง์ด ๊ฐ๋ฅํ๋ค. ์๋ฒ ๋ ๋๋ง ๋ฐฉ์์๋ 3๊ฐ์ง๊ฐ ์๋ค. Static Rendering (์ ์ ๋ ๋๋ง) Dynamic Rendering (๋์ ๋ ๋๋ง) Streaming (์คํธ๋ฆฌ๋ฐ) Benefits of Server Rendering ์๋ฒ์์ ๋ ๋๋ง์ ํ์ ๋์ ์ด์ Data Fetching (๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ) ์๋ฒ ์ปดํฌ๋ํธ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ก์ง์ ๋ฐ์ดํฐ ์์ค์ ๊ฐ๊น์ด์ ์๋ .. 2024. 3. 20. autoprefixer ์ฌ๋ฌ ๊ฐ๋ฐ ์๋ฒ๋ค์์ ๊ฐ๋ฐ์ ๋๊ตฌ(F12)๋ฅผ ์ฌ์ฉํด์ ์ ์ฉ๋ css๋ฅผ ๋ณด๋ฉด ์ค์ด ๊ทธ์ด์ ธ ์๋ ์์ฑ๋ค์ ํ์ธํ ์ ์๋ค. ์ฆ, ํ์ฌ ๋ด๊ฐ ๋ณด๊ณ ์๋ ํ๋ฉด์ ํด๋น ์์ฑ์ด ์ ์ฉ์ด ๋์ง ์๊ณ ์๋ค๋ ๋ป์ธ๋ฐ, ๊ทธ๋ผ ์ ์์ฑ์ ํด๋์์๊น?? ๊ฐ์ด -webkit-box์ -ms-flexbox ํด๋น ์์ฑ๋ค์ ์ผ์ข ์ ์คํ์ผ ๋ณดํ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์คํ์ผ์ด ๊ตฌํ ๋ธ๋ผ์ฐ์ ์์๋ ์ ๋๋ก ๋์ํ์ง ์์ ์๊ฐ ์๋๋ฐ ์ด๋๋ฅผ ๋๋นํด์ ๋ฏธ๋ฆฌ ๋ณดํ์ ๋ค์ด๋๋ ๊ฒ์ด๋ค. ๋ง์ฝ ํน์ ๋ธ๋ผ์ฐ์ ์์ ๋์ํ ์ ์๋ค๋ฉด autoprefixer๊ฐ ์๋์ผ๋ก ๋์ํ ์ ์๊ฒ๋ ๋ณํ์ ํด์ค๋ค. ์ด๋ป๊ฒ ์ ์ฉํ ๊น?? ์ผ๋จ npm i -D postcss autoprefixer ๋ช ๋ น์ ํตํด postcss, autoprefixer ํจํค์ง๋ฅผ ๊ฐ๋ฐ .. 2023. 2. 14. ์ ์ ํ์ผ ์ฐ๊ฒฐ ์ง๋ ์คํ๋ฒ ์ค ์์ ์์ ๋ฃจํธ ํด๋์ favicon.ico ๋ผ๋ icon ํ์ผ์ด ์กด์ฌํ๋ฉด ๋ฐ๋ก link ํ๊ทธ๋ฅผ ํตํด ์ฐ๊ฒฐํด์ฃผ์ง ์์๋ ์๋์ ์ผ๋ก favicon์ผ๋ก ์ธ์์ ํ๋ค๊ณ ๋ฐฐ์ ๋ค. ํ์ง๋ง ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด npm run dev๋ฅผ ํตํด ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์ด์ด์ ํ์ธํด๋ณธ ๊ฒฐ๊ณผ ๋ฃจํธ ํด๋์ favicon.ico ํ์ผ์ด ์กด์ฌํจ์๋ favicon์ผ๋ก ์ธ์๋์ง๊ฐ ์์๋ค. vs code์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ธ open with live server๋ฅผ ํตํด ์๋ฒ๋ฅผ ์ด์ด์ ํ์ธํ์ ๋๋ ์ ์ธ์์ด ๋์๋๋ฐ num run dev๋ฅผ ํตํด ํ์ธ ํ ๊ฒฐ๊ณผ๋ ์ ๋ค๋ฅผ๊น?? parcel bundler๋ฅผ ํตํด ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์ด๊ฑฐ๋ ์ ํํ๋ฅผ ์ํค๊ฒ ๋๋ฉด ์ฐ๋ฆฌ๊ฐ ์์ฑํ html, css, sass, js ํ์ผ ๋ฑ์ ๊ธฐ๋ณธ์ผ๋ก dist๋ผ๋.. 2023. 2. 13. ๋ฒ๋ค๋ฌ ๊ฐ์ Bundler๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์น์์๋ HTML, CSS, JS 3๊ฐ์ง ์ธ์ด๊ฐ ๋์์ ํ๋๋ฐ, ์ด 3๊ฐ์ง ์ธ์ด๋ง์ ๊ฐ์ง๊ณ ์์ ํ๊ธฐ์๋ ๋นํจ์จ์ ์ธ ๋ฉด์ด ์๋ค. TS, SASS, REACT ๋ฑ์ ํจํค์ง๋ฅผ ๊ณ ๋ํ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์ ์๊ณ , ์ด๋ ๊ฒ ์์ฑ๋ ํ๋ก์ ํธ๋ฅผ ์น์์ ๋์์ํค๊ธฐ ์ํด ๋ค์ํ ๋ฒ๋ค๋ฌ๋ฅผ ์ฌ์ฉํ๋ค. parcel bundler VS webpack bundler parcel bundler ๊ตฌ์ฑ์ด ์๋ ๋จ์ํ ์๋ ๋ฒ๋ค๋ง ๋๋ถ๋ถ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ค๋ค๋ ์ฅ์ ๊ทธ๋ฌ๋ ๋นํจ์จ์ ๋ฐ๋ผ์ ์/์คํ ํ๋ก์ ํธ์ ์ ํฉ _______________________________________________ webpack bundler ๋งค์ฐ ๊ผผ๊ผผํ ๊ตฌ์ฑ ๋๋ฌด ๋ํ ์ผํ ๊ตฌ์ฑ์ผ๋ก ์ธํด ๋ฒ๊ฑฐ๋ฌ์์ด ์์. .. 2023. 2. 13. ์ด์ 1 2 3 4 5 ๋ค์