์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

์ด๋ฏธ์ง€๋ฅผ ๋‹ค๋ฃจ๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ๊ธฐ์กด์— ํ•ด์˜ค๋˜ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ์ด๋ฒˆ์—๋Š” ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๋ฅผ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ณด๋‚ด์„œ url๋ฅผ ๋ฐ›์•„์™€์„œ ๋‹ค์‹œ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ create ํ˜น์€ update๋ฅผ ํ•ด์ค˜์•ผํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ๋งŒ์•ฝ์— ๊ธฐ์กด์— url์ด ์žˆ๋Š” ์ƒํƒœ๋ฉด pass๋ฅผ ํ•˜๊ณ  ์ƒˆ๋กœ ๋„ฃ์€ ์ด๋ฏธ์ง€๋งŒ url์„ ๋‹ค์‹œ ๋ฐ›์•„์™€์„œ update๋ฅผ ํ•ด์ค˜์•ผํ•˜๋Š” ๊ฒƒ์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. api๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— console.log๋กœ body๋ฅผ ์ฐ์œผ๋ฉด ๋ถ„๋ช…ํžˆ ์—…๋ฐ์ดํŠธ ๋œ ์ด๋ฏธ์ง€ url์ด ์ฐํžˆ๋Š”๋ฐ, ๋ง‰์ƒ api๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด payload์— ์—…๋ฐ์ดํŠธ๋œ ๊ฐ’์ด ์•ˆ ์ฐํžˆ๋Š” ๊ฒƒ์ด๋‹ค!!!!!!!! ๋ฐ˜๋‚˜์ ˆ์„ ๋ถ™์žก๊ณ  ๋Š˜์–ด์ ธ์žˆ๋Š”๋ฐ ๋ฏธ์น ์ง€๊ฒฝ... async - await๋ฅผ ์จ์„œ ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์คฌ๋Š”๋ฐ ๋ญ๊ฐ€ ๋ถˆ๋งŒ์ด๋‹ˆ?! ๋ญ๊ฐ€ ์ž˜ ๋ชป ๋œ๊ฑด๋ฐ?! .... ๋ฌธ์ œ..
๐Ÿ’ก localStorage vs Cookie ๋งŒ๋ฃŒ์‹œ๊ฐ„ ์„ค์ •ํ•˜๊ธฐ ๋กœ๊ทธ์ธํ•  ๋•Œ jwt web token์„ ๋ฐ›์•„์„œ ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•ด ๋‘๊ณ  api ํ˜ธ์ถœ์„ ํ•  ๋•Œ๋งˆ๋‹ค ๊บผ๋‚ด ์“ธ ๋•Œ๊ฐ€ ๋งŽ๋‹ค. ๋”ฐ๋กœ ๋งŒ๋ฃŒ์‹œ๊ฐ„์„ ์ •ํ•ด๋†“๊ณ  ์“ฐ์ง€๋Š” ์•Š์•˜๋Š”๋ฐ, ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋กœ์ง์ด ์ˆ˜์ •๋˜๊ณ  ํ•˜๋ฉด์„œ ํ† ํฐ ์ž์ฒด๋ฅผ ์ง€์›Œ๋‚ด์„œ ์ž๋™๋กœ๊ทธ์•„์›ƒ์„ ์‹œ์ผœ๋ฒ„๋ ค์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚œ ๊ณ ๋ฏผ์— ๋น ์กŒ๋‹ค. ์›๋ž˜ localStorage์— ํ† ํฐ์„ ์ €์žฅํ•ด๋‘๊ณ  ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, localStorage์— ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ์ฟ ํ‚ค๋‚˜ sessionStorage์— ์ €์žฅํ•ด์„œ ๋งŒ๋ฃŒ ์‹œ๊ฐ„์„ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฑธ๊นŒ? ๋ผ๋ฉฐ ์ด๋ฆฌ์ €๋ฆฌ ๊ฒ€์ƒ‰์„ ํ•ด๋ณด์•˜๋‹ค. ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ๋งŒ๋ฃŒ์‹œ๊ฐ„์„ ์ €์žฅํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋˜ ๋‹ค๋ฅธ ๊ณ ๋ฏผ์— ๋น ์กŒ๋‹ค. ์–ด๋–ค ๊ฒŒ ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ผ๊นŒ? ..
์›น ๊ฐœ๋ฐœ์‹œ์— API๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ œ์ผ ๋จผ์ € ๋– ์˜ค๋ฅด๋Š” ๊ฒƒ์ด request, axios, jQuery ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ fetch() ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค(bundle)ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๋‚ญ๋น„๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๋ฌผ๋ก  ๋‚˜๋Š” ์ฃผ๋กœ reactJs, nextJs ๋กœ ์ž‘์—…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— axios๋ฅผ ์จ์„œ ํ˜ธ์ถœํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์ด๋ฒˆ์— ์ด๋ฏธ์ง€ url์—์„œ ํŒŒ์ผ์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ fetch ํ•จ์ˆ˜๋ฅผ ์จ์„œ response๋ฅผ ๋ฐ›์•„์˜ฌ ์ผ์ด ์žˆ์—ˆ๋‹ค. ๋ฐฉ๋ฒ•์„ ์ฐพ์•„์„œ ์•Œ์•„๋ณด๋‹ค๊ฐ€ fetchํ•จ์ˆ˜๋ฅผ ์ด๋ ‡๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ๋„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฒธ์‚ฌ๊ฒธ์‚ฌ- fetch์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๐Ÿ“ข Fetch ๋ฅผ ์•Œ์ž! fetch() ํ•จ์ˆ˜๋Š” ๋„คํŠธ์›Œํฌ ์š”์ฒญํ•˜๊ณ  ์‘๋‹ต์„..
1์ฐจ์› ๋ฐฐ์—ด์—์„œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜๋‹ค! set, filter, reduce ๋“ฑ ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ๋‹ค์–‘ํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๊ฐ€ ๋ฐฐ์—ด ์ค‘๋ณต ์ œ๊ฑฐ ํ•  ์ผ์ด ์žˆ์—ˆ๋Š”๋ฐ, ์•„๋ฌด๋ฆฌ ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ํ•ด๊ฒฐ์ด ์•ˆ๋˜๋Š”๊ฒƒ์ด๋‹ค!! ใ… ใ…  1์ฐจ์› ๋ฐฐ์—ดํ•˜๋“ฏ์ด ํ•˜๋ฉด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์›ฌ๊ฑธ?!? ์•„๋‹ˆ set, filter, indexOf ๋“ฑ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ง€ 1์ฐจ์› ๋ฐฐ์—ด๋ณด๋‹ค ์‚ด์ง ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์งˆ ๋ฟ์ด๋‹ค. ๊ณ„์† set์œผ๋กœ ์‹œ๋„ํ–ˆ์—ˆ๋Š”๋ฐ....ใ… ใ… ....๋‚ด ์‹œ๊ฐ„ ... ใ…Ž..... ์šฐ์„ , 2์ฐจ์› ๋ฐฐ์—ด์„ 1์ฐจ์› ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์ค˜์•ผํ•œ๋‹ค. let a = [ [1, 2], [3, 4], [5, 6], [3, 4], ]; function arr(_arr) { return [...new Set(_..
โœ…๋ฌธ์ œ 124 ๋‚˜๋ผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 124 ๋‚˜๋ผ์—์„œ๋Š” 10์ง„๋ฒ•์ด ์•„๋‹Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž์‹ ๋“ค๋งŒ์˜ ๊ทœ์น™์œผ๋กœ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. 124 ๋‚˜๋ผ์—๋Š” ์ž์—ฐ์ˆ˜๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. 124 ๋‚˜๋ผ์—๋Š” ๋ชจ๋“  ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ 1, 2, 4๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 124 ๋‚˜๋ผ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. 10์ง„๋ฒ•124 ๋‚˜๋ผ10์ง„๋ฒ•124 ๋‚˜๋ผ 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 ์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n์„ 124 ๋‚˜๋ผ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž๋กœ ๋ฐ”๊พผ ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ n์€ 500,000,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค. โœ…์ž…์ถœ๋ ฅ ์˜ˆ 1 1 2 2 3 4 4 11 โœ…์˜์‹์˜ ํ๋ฆ„ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด 1,2,4๊ฐ€ ๋ฐ˜๋ณต์ด ๋œ๋‹ค. ๊ทธ..
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ํฌ๊ฐœ 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆ ๋ณด์ž๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด์• ์„œ ์ ์–ด์„œ ๋ฐ”๋กœ ๋ฐ›์•„์˜จ ๊ฒƒ UI์—์„œ ๋„ฃ์–ด์˜จ ์†Œ์Šค (from DOM) WEB Api๊ฐ™์€ ์™ธ๋ถ€์—์„œ fetchํ•œ ์†Œ์Šค ์ด๋ ‡๊ฒŒ ์ด 3๊ฐœ์ง€์˜ ์†Œ์Šค์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์—๋Š” ์ด 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ค€์ด ์žˆ๋Š”๋ฐ, ๋‹จ์ˆœํ•œ ๋ฆฌ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ๊ฑด์ง€, ์•„๋‹ˆ๋ฉด key, value ๊ฐ’์ด ํ•„์š”ํ•œ๊ฑด์ง€ ์ƒ๊ฐ์„ ํ•ด์„œ ๊ธฐ์ค€์— ๋งž์ถ”์–ด์„œ ์“ฐ๋ฉด ๋œ๋‹ค. ์ €์žฅ๋ฐฉ์‹์€ Array, Set, Object, Map ์ด 4๊ฐ€์ง€์ด๋‹ค. ์‹ฌํ”Œํ•œ ๋ฆฌ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด array์™€ set์„ ์ด์šฉํ•ด์„œ ์ €์žฅํ•˜๋ฉด ๋œ๋‹ค. Array color = [‘red’, ‘gold’, ‘red’]; //{ ‘red’, ‘gold’, ‘red’} ๐Ÿ‘‰ ๋ฐ˜๋ณต๋˜๋Š” ๊ฐ’์ด ๋ฆฌ์ŠคํŠธ์— ํฌํ•จ์ด ๋  ์ˆ˜๋„ ์žˆ..
๋ฐ(Ming) ๐Ÿฐ
'์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก