๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง์€ ์–ด๋–ค ๊ณผ์ •์„ ๊ฑฐ์น ๊นŒ?
๐Ÿ“” Studying/Web 2022. 7. 8. 18:05

๋“ค์–ด๊ฐ€๋ฉฐ ๋ญ”๊ฐ€ ๋’ค๋ฐ”๋€ ์ˆœ์„œ์ง€๋งŒ ์ง€๋‚œ๋ฒˆ CSR๊ณผ SSR์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ฉฐ, ์šฐ๋ฆฌ๊ฐ€ ์›นํŽ˜์ด์ง€์— ์ ‘์†ํ•˜๋ฉด '๋ Œ๋”๋ง'์ด๋ผ๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ž์—ฐ์Šค๋ ˆ ์ด ๋ Œ๋”๋ง์ด ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€ ๊ถ๊ธˆํ•ด์ ธ์„œ, ์–ผํ• ๋“ค์–ด๋ณธ ๋‹จ์–ด๋“ค์„ ๋“œ๋””์–ด ์ •๋ฆฌํ•  ์‹œ๊ธฐ๊ฐ€ ์™”๋‹ค..! ๋จธ๋ฆฌ ํ•œํŽธ์— ํฉ์–ด์ ธ์žˆ๋Š” ๋‹จ์–ด๋“ค์„ ํ•œ๋ฒˆ ๋งž์ถฐ๊ฐ€๋ฉฐ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณธ๋‹ค. ์ผ๋‹จ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ญ”๊ฐ€์š”? ๋ Œ๋”๋ง์ด ์ผ์–ด๋‚˜๋Š” ์ฃผ์ฒด, ์šฐ๋ฆฌ๊ฐ€ ๋งค์ผ๊ฐ™์ด ํ”ํ•˜๊ฒŒ, ์ธํ„ฐ๋„ท ์ ‘์†์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์˜ˆ์ „์—๋Š” ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ, ์š”์ฆ˜์—” ํฌ๋กฌ, ํŒŒ์ด์–ดํญ์Šค, ๋„ค์ด๋ฒ„ ์›จ์ผ, ๋งฅ ์œ ์ €๋ผ๋ฉด ์‚ฌํŒŒ๋ฆฌ. ๊ทธ ์™ธ์—๋„ ๋ธŒ๋ ˆ์ด๋ธŒ, ๋น„๋ฐœ๋”” ๋“ฑ๋“ฑ ๋‹ค์–‘ํ•œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋Ÿผ ๋ Œ๋”๋ง์€ ๋ญ”๋ฐ์š”? render๋ผ๋Š” ๋‹จ์–ด๋Š” ์‚ฌ์ „์ ์œผ๋กœ make์™€..

MPA,SPA ๋ถ€ํ„ฐ CSR, SSR ๊นŒ์ง€
๐Ÿ“” Studying/Web 2022. 7. 5. 21:07

๋“ค์–ด๊ฐ€๋ฉฐ ์ƒํƒœ ๊ด€๋ฆฌ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ๋ฅผ ๊ฒฐ์‹ฌ!.. ์–ด๋””์„œ๋ถ€ํ„ฐ ์ด๋ฏธ ๋จผ์ € ์ž‘์„ฑ๋œ ๋งŽ์€ ๊ธ€๋“ค์„ ๋‘˜๋Ÿฌ๋ณด๋‹ค ๋ณด๋‹ˆ ์Œ.. ๐Ÿคจ ๋จผ์ € ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ์ด๋ก ์ด..... ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์ง€์‹์ด ์•„์ฃผ ์–•์€ ์ƒํƒœ์ธ ๊ฑธ ๊นจ๋‹ฌ์•˜๋‹ค. ์ง€๊ธˆ์˜ ๋‚˜.. ์–ด๋ ดํ’‹์ด ๋“ค์–ด๋ณธ CSR๊ณผ SSR์˜ ์ด๋ฆ„๋งŒ ์•Œ๊ณ  ์žˆ์„ ๋ฟ.. ๐Ÿ˜“ ๋ชจ๋ฅด๋ฉด ์ฐพ์•„๋ณด๋ฉด ๋˜์ง€!! ์ข‹์•„ ๊ทธ๋Ÿผ ์–ด๋””๋ถ€ํ„ฐ ์•Œ์•„๋ณผ๊นŒ~ ํ•˜๊ณ  ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€๋‹ค ๋ณด๋‹ˆ ๋จผ์ € ์—ด์‹ฌํžˆ ์ฐพ๊ณ  ์ฝ๊ณ  ๋ณด๊ฒŒ ๋œ ์ง€์ ์ด SPA๋ถ€ํ„ฐ CSR, SSR์ด๋ผ์„œ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค. SPA๋Š” MPA์™€ ๋น„๊ต๋˜๋Š” ๋ฐฉ์‹์ด๋ผ ํ•จ๊ป˜ ์ž‘์„ฑ! ๐ŸฅŠ MPA vs SPA MPA (Multi Page Application) ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜. ์ „ํ†ต์ ์ธ ์›น ํŽ˜์ด์ง€ ๊ตฌ์„ฑ ๋ฐฉ์‹์ด๋‹ค. MPA์˜ ๋ Œ๋”๋ง ๋ฐฉ์‹ ์ธํ„ฐ๋ž™์…˜์ด ๋ฐœ์ƒํ•œ๋‹ค. (ํด๋ฆญ ๊ฐ™์€)..

[JavaScript] ๋‹ค๋ฅธ ์š”์†Œ ํด๋ž˜์Šค ๋ชจ๋‘ ์ง€์šฐ๊ธฐ
๐Ÿ“” Studying/JavaScript 2022. 6. 22. 11:11

์„ ํƒ ์š”์†Œ ์™ธ์˜ ํ˜•์ œ์š”์†Œ ํด๋ž˜์Šค ๋ชจ๋‘ ์ง€์šฐ๊ธฐ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‹ค๊ฐ€ ํ˜•์ œ์š”์†Œ๊ฐ€ ๋งŽ์€ ์ƒํƒœ์—์„œ ํŠน์ • ์š”์†Œ๋ฅผ ์„ ํƒํ–ˆ์„ ๋•Œ๋งŒ is-active ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ๋‚˜๋จธ์ง€ ์š”์†Œ๋“ค์€ is-active ํด๋ž˜์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์ง€์šธ ๊ฒƒ์ธ๊ฐ€...๋ฅผ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์—์„œ ๋ณด๊ณ  ์ฐธ๊ณ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์˜ˆ์ „์— ์ œ์ด์ฟผ๋ฆฌ๋กœ๋Š” ํ•œ์ค„๋กœ ์‰ฝ๊ฒŒ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ๋ฐ”๋‹๋ผ JS๋กœ๋งŒ ํ•˜๋ ค๋‹ˆ๊นŒ ์•„์ง ์˜ ์‰ฝ์ง€ ์•Š์€ ๊ฒƒ!!... ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ํ˜„์žฌ play-button ์ด๋ผ๋Š” ๋™์ผํ•œ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง„ ๋ฒ„ํŠผ์ด 3๊ฐœ ์žˆ๊ณ , ํด๋ฆญํ•œ ์š”์†Œ์—๋งŒ is-active๋ฅผ ์ถ”๊ฐ€, ๋‚˜๋จธ์ง€๋Š” ์žˆ์—ˆ๋”๋ผ๋„ ์—†์• ์ฃผ๋Š” ๊ฒƒ์„ ์›ํ–ˆ๋‹ค. ํ•ด๊ฒฐ function handlePlayerImage(e) { e.preventDefault(); const buttonGroup = this.pa..

JavaScript 30 Challeneges - Console Tricks
๐Ÿ“” Studying/JavaScript 2022. 6. 10. 21:37

console. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ, ์ฝ˜์†”์„ ํ†ตํ•ด์„œ ๊ฐ’์„ ํ™•์ธํ•˜๋Š” ์ผ์ด ๋งŽ๋‹ค. ์•„๋งˆ ์ฝ˜์†”์—์„œ ์ œ์ผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๋Š” console.log ์ผ ๊ฒƒ์ด๋‹ค! ๊ทธ ์™ธ ํ˜„์žฌ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฐ€๋” ๊ฐ์ฒด ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” console.dir ์™€ ๋กœ๊ทธ๋ฅผ ๋‹ค ์ง€์›Œ๋ฒ„๋ฆฌ๋Š” console.clear() ์ •๋„?.. ๋‚ด๊ฐ€ ์–•๊ฒŒ ์•Œ๊ณ  ์žˆ์—ˆ๋˜ console ๊ฐ์ฒด์˜ ๋ช‡๋ช‡ ๋ฉ”์„œ๋“œ๋“ค ์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋“ค์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ด๋ฒˆ ์ฑŒ๋ฆฐ์ง€๋ฅผ ํ†ตํ•ด ์•Œ๊ฒŒ๋˜์–ด ํ•œ๋ฒˆ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. console.log ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”, ๋กœ๊ทธ๋ฅผ ์ฐ๋Š” ๋ฉ”์„œ๋“œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜๋„ ์žˆ๊ณ , C์–ธ์–ด์˜ printf์ฒ˜๋Ÿผ ์ž…๋ ฅํ•œ ๋ฌธ์ž๋ฅผ ์น˜ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค! ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ์—๊ฒ ๋” ์ต์ˆ™ํ•œ ํ…œํ”Œ๋ฆฟ ์ŠคํŠธ๋ง ${..

[JavaScript] classList ํ”„๋กœํผํ‹ฐ
๐Ÿ“” Studying/JavaScript 2022. 6. 6. 17:47

classList DOM์„ ์กฐ์ž‘ํ•˜์—ฌ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๋•Œ, class ๋ช…์„ ๋ฐ”๊ฟ€ ๋•Œ ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” classList ํ”„๋กœํผํ‹ฐ. ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค classList ํ”„๋กœํผํ‹ฐ ์ค‘ ๊ทนํžˆ ์ผ๋ถ€์˜ ๋ฉ”์„œ๋“œ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ๋” ๊น”๋”ํ•˜๊ฒŒ ์งค ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋„ ์žˆ๊ณ  ํ•ด์„œ, ์ „์ฒด์ ์œผ๋กœ ์–ด๋–ค ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ํ•œ๋ฒˆ ํ›‘์–ด๋ณด๋ ค ํ•œ๋‹ค. add, remove ํ‰์†Œ ์‚ฌ์šฉํ–ˆ๋˜ ์ผ๋ถ€์˜ ๋ฉ”์„œ๋“œ.. ๊ฐ€์žฅ ๊ฐ„ํŽธํ•ด์„œ ๊ทธ๋Ÿฐ์ง€ ๊ธฐ์–ต์— ์˜ค๋ž˜ ๋‚จ์•„์žˆ๋Š” ๊ฒƒ์ธ๊ฐ€ ์‹ถ๊ธฐ๋„ ํ•˜๋‹ค. ๐Ÿค” ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”์†Œ๋“œ ์ด๋ฆ„๋Œ€๋กœ, ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๋ฉ”์„œ๋“œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋‚˜์—ดํ•  ์ˆ˜๋„ ์žˆ๋‹ค. let li = document.createElement('li'); li.class..

JavaScript 30 Days Challenge - Clock
๐Ÿ“” Studying/JavaScript 2022. 5. 26. 22:42

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋งŒ์œผ๋กœ ์•„๋‚ ๋กœ๊ทธ ์‹œ๊ณ„ ๋งŒ๋“ค์–ด๋ณด๊ธฐ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ๋จผ์ € ์•„๋‚ ๋กœ๊ทธ ์‹œ๊ณ„๋ฅผ ๋งŒ๋“  ๋’ค ๋”ฐ๋กœ ๋””์ง€ํ„ธ ์‹œ๊ณ„๋„ ์ถ”๊ฐ€ํ•ด์คฌ๋‹ค. ์•Œ๊ฒŒ ๋œ ์  CSS์˜ ์†์„ฑ ์ค‘ transform-origin ์œผ๋กœ transform์˜ ๊ธฐ์ค€์ ์„ ์žก์„ ์ˆ˜ ์žˆ๋‹ค. ์นจ์„ ์กฐ์ ˆํ•˜๋Š” ๊ฐ๋„๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€. ์ฒซ ๋ฒˆ์งธ ์ด์Šˆ ์ฒ˜์Œ์— 12์‹œ ๋ฐฉํ–ฅ์œผ๋กœ ๋ชจ๋“  ์นจ์„ ๊ณ ์ •์‹œํ‚ค๊ธฐ ์œ„ํ•ด rotate๋ฅผ 90๋„๋กœ ์„ค์ •ํ•ด์ฃผ์—ˆ๋”๋‹ˆ, 12์‹œ ๋ฐฉํ–ฅ์— ๋„์ฐฉํ•  ๋•Œ ๋งˆ๋‹ค transform์ด ์š”๋ž€ํ•˜๊ฒŒ ์›€์ง์˜€๋‹ค๊ฐ€ ๋‹ค์‹œ ๋Œ์•„์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. (๋„ˆ๋ฌด ๋นจ๋ผ์„œ ์บก์ณ ๋ถˆ๊ฐ€๋Šฅ..) ์ด๊ฑด ์•„๋งˆ 444๋„ ๊นŒ์ง€ ๋Š˜์–ด๋‚ฌ๋‹ค๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ 90๋„๋กœ ๋ณ€๊ฒฝ๋˜๋ฉฐ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋“  ์นจ์ด 12์‹œ ๋ฐฉํ–ฅ์— ๋„๋‹ฌํ–ˆ์„ ๋•Œ transition ์†๋„๋ฅผ ์ž ์‹œ ์กฐ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ..

[git] git rebase ์ด์ „์˜ ํŠน์ • ์ปค๋ฐ‹ ์ˆ˜์ •ํ•˜๊ธฐ
๐Ÿ“” Studying/Git 2022. 5. 18. 18:00

์ด์ „ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•˜๋ ค๋‹ค๊ฐ€ ์ƒํ™ฉ์ด ์ข€ ๊ผฌ์˜€๋‹ค๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‹ค์‹œ ๋ณต๊ตฌ... (๋ฒŒ์จ ๋‘ ๋ฒˆ์งธ ๐Ÿ˜‡) ํ•˜์˜€์œผ๋‚˜ ๊ฒฐ๋ก ์ ์œผ๋กœ ์ˆ˜์ •์€ ์‹คํŒจํ•ด์„œ !.... git rebase๋ฅผ ์ด์šฉํ•ด ํŠน์ • ์‹œ์ ์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ˜„์žฌ์˜ ๊ฒฝ์šฐ๋Š” ์ด๋ฏธ ์˜คํƒ€ ์ˆ˜์ • ์ปค๋ฐ‹....์„ ํ•ด๋ฒ„๋ ธ๋Š”๋ฐ ๋˜ ์˜คํƒ€๊ฐ€ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ•ด๋ฒ„๋ ธ๊ณ !... ๋” ์ด์ƒ์˜ ์˜คํƒ€ ์ปค๋ฐ‹์„ ํ•˜๊ณ ์‹ถ์ง„ ์•Š์•„์„œ rebase๋ฅผ ์จ๋ณด๋ ค ํ•œ๋‹ค. ์ด์ „์—๋„ rebase๋ฅผ ์ผ์Œ ์ข‹์•˜์„ ๊ฒƒ์„.. git rebase ํ•ด๋ณด๊ธฐ ํ„ฐ๋ฏธ๋„์˜ git log์—์„œ ๋ฐ”๊ฟ€ ์ปค๋ฐ‹์˜ ํ•ด์‹œ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค git rebase -i ํ•ด์‹œ ๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ฒ ์ด์Šค ํ•˜๋Ÿฌ ๋“ค์–ด๊ฐ„๋‹ค. ๊ทธ๋Ÿผ ํ˜„์žฌ ์ปค๋ฐ‹๋œ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๋ถ€๋ถ„์ด ๋‚˜์˜ค๋Š”๋ฐ, pick ์ปค๋ฐ‹๋ฒˆํ˜ธ ์ปค๋ฐ‹๋ฉ”์„ธ์ง€ ๋ถ€๋ถ„์˜ pick์„ edit์œผ๋กœ ์ˆ˜์ • ํ›„ ์ €์žฅํ•˜๊ณ  ๋‚˜์™€์ค€๋‹ค. (์ฐธ๊ณ ๋กœ..

[JavaScript] ์ด๋ฒคํŠธ ์ „ํŒŒ bubbling, capturing
๐Ÿ“” Studying/JavaScript 2022. 4. 28. 23:36

์ด๋ฒคํŠธ ๊ฐ์ฒด ์šฐ๋ฆฌ๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋™์ ์ธ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๊ณ ์ž ํ•  ๋•Œ๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ, ํ”ํžˆ๋“ค addEventListener()๊ณผ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณค ํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๊ฒฐ๊ณผ์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ์ด๋ฒคํŠธ ๊ฐ์ฒด event object๋ฅผ ๋งŒ๋“ ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฒคํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐ์ง€ํ•ด์„œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ผ๊นŒ? ์ด๋Ÿฐ ๊ถ๊ธˆ์ฆ์„ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ ํ•˜๋Š” ํŠน์„ฑ์ด ์žˆ๋‹ค. ๋ฐ”๋กœ ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง๊ณผ ์ด๋ฒคํŠธ ์บก์ณ๋ง, ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด๋‹ค. ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง Event Bubbling ์ด๋ฒคํŠธ ๋ฒ„๋ธ”๋ง์€ ๋น„๋ˆ„๋ฐฉ์šธ์ด ์•„๋ž˜์—์„œ ์˜ฌ๋ผ์˜ค๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์ข€ ๋” ์ˆ˜์›”ํ•œ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์ด๋ฒคํŠธ๊ฐ€ ๋” ์ƒ์œ„์˜ ์š”์†Œ๋“ค๋กœ ์ „๋‹ฌ๋˜๋Š” ํŠน์„ฑ์„ ๋งํ•œ๋‹ค. Article๋ถ€ํ„ฐ Butt..

[JavaScript] ํ”„๋กœ๋ฏธ์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž Promise
๐Ÿ“” Studying/JavaScript 2022. 4. 27. 22:24

๋“ค์–ด๊ฐ€๋ฉฐ ์ฝœ๋ฐฑ์ง€์˜ฅ์ด๋ผ๋Š” ๊ฒƒ์„ ๋“ค์–ด๋ณธ ์ ์ด ์žˆ๋Š”์ง€? ES6์ด ๋„์ž…๋˜๊ธฐ ์ด์ „์— ๋น„๋™๊ธฐ ์ž‘์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฝœ๋ฐฑํ•จ์ˆ˜๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋น„๋™๊ธฐ ์ž‘์—…์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ์ผ์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ํ•จ์ˆ˜๊ฐ€ ์ ์  ๋” ๊นŠ์–ด์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋ฅผ ํ”ํžˆ๋“ค ์ฝœ๋ฐฑ์ง€์˜ฅ, ์ฝœ๋ฐฑ ํ—ฌ callback hell ์ด๋ผ๊ณ ๋“ค ๋ถ€๋ฅธ๋‹ค. ์œ„์˜ ์งค๋งŒ ๋ณด์•„๋„ ์–ผ๋งˆ๋‚˜ ๊ฐ€๋…์„ฑ์ด ์ข‹์ง€ ์•Š์€์ง€...๐Ÿ˜‡ ์—ฐ๊ฒฐ์„ ํŒŒ์•…ํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์ฝœ๋ฐฑ ์ง€์˜ฅ์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ช‡๊ฐ€์ง€ ์žˆ๋Š”๋ฐ, ์ด ๊ธ€์—์„œ๋Š” ํ”„๋กœ๋ฏธ์Šค Promise์— ๋Œ€ํ•ด ์จ๋ณด๊ณ ์ž ํ•œ๋‹ค. ํ”„๋กœ๋ฏธ์Šค ํ”„๋กœ๋ฏธ์Šค๋Š” ES6์—์„œ ๋„์ž…๋œ ๊ฐ์ฒด๋กœ, ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์ƒํƒœ์™€ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ์ฒด์ด๋‹ค. ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ–ˆ์„ ๋•Œ ์ž‘์—…์ด ์„ฑ๊ณต์ด๋“ , ์‹คํŒจ์ด๋“  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด..

[JavaScript] Fetch API ์‚ฌ์šฉํ•ด๋ณด๊ธฐ (JSONplaceholder)
๐Ÿ“” Studying/JavaScript 2022. 4. 26. 21:28

Fetch API๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ์—ฐ์Šต! JSONPlaceholder ์˜ˆ์‹œ๋กœ jsonplaceholder ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋ ค ํ•œ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์—†์„ ๋•Œ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ์— ์œ ์šฉํ•œ ์‚ฌ์ดํŠธ๋‹ค. https://jsonplaceholder.typicode.com/ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์†Œ์Šค๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ด ์ค‘์—์„œ users๋ฅผ ์ด์šฉํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ HTTP ๋ฉ”์„œ๋“œ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. REST API๋ฅผ ์—ฐ์Šตํ•ด๋ณผ ๋•Œ๋„ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. Fetch API๋กœ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๊ธฐ Fetch API Fetch API๋Š” XMLHttpRequest ๊ฐ์ฒด์—์„œ ์ข€ ๋” ๋ณด์™„๋œ API๋กœ, ๋ชจ๋˜ ๋ธŒ๋ผ์šฐ์ €๋ผ๋ฉด ๋Œ€๋ถ€๋ถ„ ๋‚ด์žฅ๋˜์–ด์žˆ๋‹ค. ๋น„๋™๊ธฐ ํ†ต์‹ ์— ๋งŽ์ด ์‚ฌ์šฉ๋˜๋˜ ajax๋ฅผ ๋Œ€์ฒดํ•˜์—ฌ ํŽ˜์ด์ง€์˜ ์ƒˆ..