๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ/NextJS4

RSC vs SSR ์„œ๋ก Next๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์„ ๋•Œ์˜ ๋ Œ๋”๋ง ๊ณผ์ •์„ ๊ณต๋ถ€ํ•˜๋˜ ์ค‘ ์ข‹์€ ๊ธ€์„ ๋ฐœ๊ฒฌํ•ด์„œ ๊ทธ ๊ธ€์„ ๋ณด๋ฉฐ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค=> ์›๋ณธ ๊ธ€์„ ๊ฑฐ์˜ ๊ทธ๋Œ€๋กœ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ž„์„ ๋ฏธ๋ฆฌ ๋ฐํž™๋‹ˆ๋‹ค(์ œ๊ฐ€ ์ฐธ๊ณ ํ–ˆ๋˜ ๊ธ€์— ๋Œ€ํ•ด์„œ๋Š” ๊ฒŒ์‹œ๋ฌผ ํ•˜๋‹จ์— ๋งํฌ๋ฅผ ๋‹ฌ์•„๋‘์—ˆ์Šต๋‹ˆ๋‹ค)์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ React์™€ Next์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋ผ๊ณ  ํ•˜๋ฉด,CSR(Client Side Render)๊ณผ SSR(Server Side Render) ๋ผ๊ณ  ๋‹ตํ•  ๊ฒƒ์ด๋‹ค.SSR์€ ์„œ๋ฒ„์ธก์—์„œ ์™„์„ฑ๋œ HTML์„ ๋ณด๋‚ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ๋Š” ๊ทธ๊ฑธ ๋ฐ›์•„์„œ ๊ณง๋ฐ”๋กœ ํ™”๋ฉด์— ๋ณด์—ฌ์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๊ธฐ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋นˆ ํ™”๋ฉด์„ ๋ณด๋Š” ์‹œ๊ฐ„์„ ์ค„์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.์ด์ •๋„์˜ ๊ฐœ๋…์€ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ง€๋งŒ, ์กฐ๊ธˆ ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. Server ComponentNext์—๋Š” Server Componen.. 2024. 5. 4.
[๊ณต์‹๋ฌธ์„œ ๋ฒˆ์—ญ] 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.