undefined

'๐Ÿชด TIL'์— ํ•ด๋‹น๋˜๋Š” ๊ธ€ 3๊ฑด

  1. ๐Ÿชด TIL2023.06.29
    [Typescript] ์ž…๋ ฅ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ - ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ธฐ

    ๊ตฌํ˜„ ๋™๊ธฐ ํ•„์ˆ˜๊ฐ’, ๊ธ€์ž์ˆ˜ ์ œํ•œ, ์ด๋ฉ”์ผ ํ˜•์‹, ์ „ํ™”๋ฒˆํ˜ธ ํ˜•์‹ ๋“ฑ ๊ฐ„๋‹จํ•œ ๊ฒ€์‚ฌ๋งŒ ํ•„์š”ํ•˜๋‹ค. joi๋‚˜ yup ๊ฐ™์€ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—†์ด ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ๋‹ค. (๋ณต์žกํ•œ ๊ธฐ๋Šฅ์€ ํ•„์š” ์—†๋‹ค.) ๋ฉ”์„œ๋“œ ์ฒด์ด๋‹์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค ์ด๋Ÿฌํ•œ ๋™๊ธฐ๋กœ ์ž…๋ ฅ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ์š”๊ตฌ์‚ฌํ•ญ ๋ฉ”์„œ๋“œ ์ฒด์ด๋‹์œผ๋กœ ์ฒด์ด๋‹ ๋œ ์ˆœ์„œ๋Œ€๋กœ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•œ๋‹ค. ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด ์ง์ ‘ ์ •์˜ํ•œ ๋ฉ”์„œ๋“œ๋กœ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ž…๋ ฅ ํ•„๋“œ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž…๋ ฅ ์‹œ๋งˆ๋‹ค ์œ ํšจ์„ฑ์„ ์ž๋™์œผ๋กœ ๊ฒ€์ฆํ•œ๋‹ค. ๊ตฌํ˜„ํ•˜๊ธฐ Validator ํด๋ž˜์Šค ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•˜๋Š” Validator ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋กœ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง์„ ๊ตฌํ˜„ํ•œ๋‹ค. ๊ฐ ๋ฉ”์„œ๋“œ๋Š” ํ•ญ์ƒ this๋ฅผ ๋ฆฌํ„ดํ•ด์„œ ์ฒด์ด๋‹์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•œ๋‹ค. type ..

  2. ๐Ÿชด TIL2023.05.27
    Next.js 13์˜ App Directory์™€ 4๊ฐ€์ง€ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ

    Next.js 13 ๋ฒ„์ „์—์„œ ์ถ”๊ฐ€๋œ 4๊ฐ€์ง€ ๊ธฐ๋Šฅ Next.js 13 ๋ฒ„์ „์—์„œ๋Š” App Directory๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ pages ํด๋”์— ๋Œ€์‘๋˜๋Š” ๊ฒƒ์œผ๋กœ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค. Layouts: state๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋น„์šฉ์ด ๋งŽ์ด ๋“œ๋Š” ๋ฆฌ๋ Œ๋”๋ง์„ ํ”ผํ•˜๋ฉด์„œ ๋ผ์šฐํŠธ ์‚ฌ์ด์— UI๋ฅผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Œ. Server Components: ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋ง๋˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Œ. Streaming: ์œ ์ €๋Š” ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์ฆ‰์‹œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, UI๊ฐ€ ๋‹จ๊ณ„์ ์œผ๋กœ ๋ Œ๋”๋ง๋จ. ์›ํ•œ๋‹ค๋ฉด App Directory ๋‚ด์— ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ, ํ…Œ์ŠคํŠธ ํŒŒ์ผ, ์Šคํƒ€์ผ ํŒŒ์ผ ๋“ฑ ๋ผ์šฐํŠธ๊ฐ€ ์•„๋‹Œ ํŒŒ์ผ์ด ์กด์žฌํ•ด๋„ ๋œ๋‹ค. ์ด์ „ ๋ฒ„์ „์—์„œ pages ํด๋” ์•ˆ์—๋Š” ๋ฌด์กฐ๊ฑด NextPage Dynamic Rout..

  3. ๐Ÿชด TIL2023.05.12
    [๋ฆฌ์•กํŠธ] react-router-dom v5์™€ v6์˜ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๋น„๊ต

    2021๋…„์— React๋ฅผ ์ด์šฉํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์—ˆ๋‹ค. (๋‚ด ์ฒซ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ) ๊ทธ๋•Œ ์ดํ›„๋กœ ํšŒ์‚ฌ์— ์ž…์‚ฌํ•˜๋ฉด์„œ Next.js๋กœ๋งŒ ๊ฐœ๋ฐœํ•˜๋‹ค ๋ณด๋‹ˆ react-router-dom๋ฅผ ์‚ฌ์šฉํ•  ์ผ์ด ์—†์—ˆ๋‹ค. Next.js๋Š” pages ํด๋”๋ฅผ ์ด์šฉํ•ด ์ž๋™์œผ๋กœ ๋ผ์šฐํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฆฌ์•กํŠธ ๋ฉ˜ํ† ๋ง์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ 2๋…„๋งŒ์— ๊ธฐ์–ต ์ €ํŽธ์˜ react-router-dom์„ ๋‹ค์‹œ ์‚ฌ์šฉํ•ด ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. 2๋…„ ์ „์— ์‚ฌ์šฉํ–ˆ๋˜ ๋ฒ„์ „์€ 5.2.0์ด๊ณ  ์ด๋ฒˆ์— ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ ๋ฒ„์ „์€ 6.10.0์ด๋‹ค. v6๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉด์„œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์™„์ „ํžˆ ๋ฐ”๋€Œ์—ˆ๋‹ค. react-router-dom BroswerRouter๋กœ ๋ผ์šฐํ„ฐ ๊ตฌํ˜„ํ•˜๊ธฐ v5์—์„œ ๋ผ์šฐํŒ… ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ธฐ์กด v5์—์„œ๋Š” ๋ผ๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์กด์žฌํ–ˆ๋‹ค. path prop์— `/posts/:i..