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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ126

์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ ๋ชจ๋“  ๊ฒƒ(html, ์ด๋ฏธ์ง€, ์˜์ƒ, ํŒŒ์ผ, ์•ฑ๊ณผ ์„œ๋ฒ„์™€ ํ†ต์‹ , ์„œ๋ฒ„์™€ ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ )์ด HTTP ๊ธฐ๋ฐ˜ ์œ„์—์„œ ๋™์ž‘ ๊ฐœ๋ฐœ์ž๋Š” ํ‰์ƒ HTTP ๊ธฐ๋ฐ˜ ์œ„์—์„œ ๊ฐœ๋ฐœ ์ธํ„ฐ๋„ท ํ†ต์‹  ์ธํ„ฐ๋„ท์—์„œ ์ปดํ“จํ„ฐ๋“ค ๊ฐ„์˜ ํ†ต์‹  ๋ฐฉ๋ฒ• : ์ธํ„ฐ๋„ท ๋ง(์ˆ˜๋งŽ์€ ์ค‘๊ฐ„ ๋…ธ๋“œ๋ฅผ ๊ฑฐ์ณ์„œ ์ด๋™)์„ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์ „์†ก IP(์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ) 1. IP ์—ญํ•  ์ง€์ •ํ•œ IP์ฃผ์†Œ(IP Address)์— ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ํŒจํ‚ท(Packet)์ด๋ผ๋Š” ํ†ต์‹  ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ 2. IP ํŒจํ‚ท ์ •๋ณด IPํŒจํ‚ท: ์ถœ๋ฐœ์ง€ IP, ๋ชฉ์ ์ง€ IP, ๊ธฐํƒ€... + ์ „์†ก ๋ฐ์ดํ„ฐ 3. IPํ”„๋กœํ† ์ฝœ์˜ ํ•œ๊ณ„ ๋น„์—ฐ๊ฒฐ์„ฑ: ํŒจํ‚ท์„ ๋ฐ›์„ ๋Œ€์ƒ์ด ์—†๊ฑฐ๋‚˜ ์„œ๋น„์Šค ๋ถˆ๋Šฅ ์ƒํƒœ์—ฌ๋„ ํŒจํ‚ท ์ „์†ก → ๋Œ€์ƒ ์„œ๋ฒ„๊ฐ€ ํŒจํ‚ท์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์ธ์ง€ ๋ชจ๋ฆ„ ๋น„์‹ ๋ขฐ์„ฑ: ์ค‘๊ฐ„์— ํŒจํ‚ท์ด ์‹ค์ข… → ์ค‘๊ฐ„์— ๋…ธ๋“œ๊ฐ€ ๊บผ.. 2022. 11. 29.
์Šคํƒ๊ณผ ํ ์Šคํƒ ์Šคํƒ(stack)์€ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ ์—ฐ์‚ฐ์ด ํ›„์ž…์„ ์ถœ(LIFO)๋กœ ์ด๋ค„์ง€๋Š” ์ž๋ฃŒ๊ตฌ์กฐ → ํ›„์ž…์„ ์ถœ์€ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ํ•œ์ชฝ์—์„œ๋งŒ ์ผ์–ด๋‚จ ์ƒˆ ๊ฐ’์ด ์Šคํƒ์— ๋“ค์–ด๊ฐ€๋ฉด top์ด ์ƒˆ ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์Šคํƒ์—์„œ ๊ฐ’์„ ๋นผ๋‚ผ ๋•Œ pop๋Š” top์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’์„ ์Šคํƒ์—์„œ ๋นผ๊ฒŒ ๋˜์–ด ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋„ฃ์—ˆ๋˜ ๊ฐ’์ด ๋‚˜์˜จ๋‹ค. [ํŒŒ์ด์ฌ์˜ ์Šคํƒ] ์œ„์น˜ top: ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ์ผ์–ด๋‚˜๋Š” ์œ„์น˜ ์—ฐ์‚ฐ(๋ฆฌ์ŠคํŠธ ์ด๋ฆ„์ด s์ผ ๋•Œ) s.append(data): top ์œ„์น˜์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ์—ฐ์‚ฐ s.pop(): top ์œ„์น˜์— ํ˜„์žฌ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ s[-1]: top ์œ„์น˜์— ํ˜„์žฌ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ์ˆœ ํ™•์ธํ•˜๋Š” ์—ฐ์‚ฐ ํ ํ(queue)๋Š” ์‚ฝ์ž…๊ณผ ์‚ญ์ œ ์—ฐ์‚ฐ์ด ์„ ์ž…์„ ์ถœ(FIFO)๋กœ ์ด๋ค„์ง€๋Š” ์ž๋ฃŒ๊ตฌ์กฐ → ๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ.. 2022. 11. 27.
Immer ๋ฆฌ์•กํŠธ์—์„œ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ด์•ผ ํ•  ๋•Œ์—๋Š” ๋ถˆ๋ณ€์„ฑ์„ ์ง€์ผœ์•ผ ํ•จ immer ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๋ฉด ๊น”๋”ํ•˜๊ฒŒ ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€๋Šฅ immer๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ๋•Œ, ๋ถˆ๋ณ€์„ฑ์„ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์œผ๋ฉด์„œ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ฃผ๋ฉด Immer๊ฐ€ ๋ถˆ๋ณ€์„ฑ ๊ด€๋ฆฌ ๋Œ€์‹  ํ•ด์คŒ Immer ์‚ฌ์šฉ๋ฒ• Immer ์„ค์น˜ $ yarn add immer ์ฝ”๋“œ ์ƒ๋‹จ์— Immer ๋ถˆ๋Ÿฌ์˜ด → ๋ณดํ†ต produce์ด๋ฆ„์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ด import produce form ‘immer’; produce ํ•จ์ˆ˜ ์‚ฌ์šฉ ์ฒซ ๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ: ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์€ ์ƒํƒœ ๋‘ ๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ: ์–ด๋–ป๊ฒŒ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์‹ถ์„์ง€ ์ •์˜ํ•˜๋Š” ํ•จ์ˆ˜(๋ถˆ๋ณ€์„ฑ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ์•Œ์•„์„œ ํ•ด์คŒ) const state={ number:1, dontChangeMe: 2 }; const nextS.. 2022. 11. 24.
Context API https://ko.reactjs.org/docs/context.html Context – React A JavaScript library for building user interfaces ko.reactjs.org Context: ๋‹จ๊ณ„๋งˆ๋‹ค ์ผ์ผ์ด props๋ฅผ ๋„˜๊ฒจ์ฃผ์ง€ ์•Š๊ณ ๋„ ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ ์ „์ฒด์— ๋ฐ์ดํ„ฐ ์ œ๊ณต ๐Ÿ’ก React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ props ์ „๋‹ฌ ๋ฐฉ์‹: ์œ„์—์„œ ์•„๋ž˜๋กœ(๋ถ€๋ชจ์—์„œ ์ž์‹์œผ๋กœ) → ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•ˆ์˜ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋“ค์— ์ „๋‹ฌํ•ด์ค˜์•ผ ํ•˜๋Š” props์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ณผ์ • ๋ฒˆ๊ฑฐ๋กœ์›€ โญ๏ธ context ์ด์šฉํ•˜์—ฌ ํŠธ๋ฆฌ ๋‹จ๊ณ„๋งˆ๋‹ค ๋ช…์‹œ์ ์œผ๋กœ props๋ฅผ ๋„˜๊ฒจ์ฃผ์ง€ ์•Š์•„๋„ ๋งŽ์€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ•ด๋‹น ๊ฐ’ ๊ณต์œ  ๊ฐ€๋Šฅ โ—๏ธํŠน์ • ํ•จ์ˆ˜๋ฅผ ํŠน์ • ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฑฐ์ณ์„œ ์›ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์ž‘์—…์ด 3~4๊ฐœ ์ด์ƒ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ.. 2022. 11. 24.