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

โญ Personal_Study/Javascript9

์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - React ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - React ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - Springboot ์›น์†Œ์ผ“์„ ํ™œ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ตฌํ˜„ํ•˜๊ธฐ - React React ์ฝ”๋“œ ์‚ฌ์‹ค ์›น์†Œ์ผ“์—์„œ ๋ฐฑ์—”๋“œ๋Š” ์ค‘๊ฐœ์—ญํ• ๋งŒ ํ•˜๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์—… (์›น์†Œ์ผ“ ๊ฐ์ฒด ์ƒ์„ฑ, ์—ฐ๊ฒฐ, ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ )์€ ํ”„๋ก ํŠธ์—์„œ ์ด๋ฃจ์–ด์ง„๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” ์›น์†Œ์ผ“์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ„๋‹จํ•œ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์„ ๊ตฌํ˜„ํ•œ ํ”„๋ก ํŠธ ์ฝ”๋“œ์ด๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ๋Š” ๋ฉ”์„ธ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์ง€๋งŒ ๊ฒฐ๊ตญ ๋ฌด์—‡์ด ๋๋“  ์›น์†Œ์ผ“์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์›๋ฆฌ๋Š” ๋˜‘๊ฐ™์•„์„œ, ์ฝ”๋“œ๋ฅผ ๋ณ€ํ˜•ํ•˜๋ฉด ํ›จ์”ฌ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„์‰ฝ๊ฒŒ๋„ ๋‚ด๊ฐ€ ํ”„๋ก ํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ๋”ฐ๋กœ ๋””์ž์ธ์€ ๋„ฃ์ง€ ์•Š์•˜๋‹ค. ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ ๊ฑฐ๋ผ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•  ๊ฒฝ์šฐ ์ ์ ˆํžˆ ๋ณ€ํ˜•ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ ๋Œ€.. 2023. 5. 6.
AJAX AJAX AJAX ๊ฐœ์š” โœ” Asynchronous Javascript And XML (๋น„๋™๊ธฐ ํ†ต์‹  ์›น ๊ฐœ๋ฐœ ๊ธฐ์ˆ ) โœ” ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ์ด์šฉํ•ด ํ™”๋ฉด ์ „์ฒด๋ฅผ ์ƒˆ๋กœ๊ณ ์นจ ํ•˜์ง€ ์•Š๊ณ ๋„ ์„œ๋ฒ„ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ํ™”๋ฉด์˜ ์ผ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๊ธฐ๋Šฅ AJAX์˜ ํŠน์ง• ํŽ˜์ด์ง€ ์ƒˆ๋กœ ๊ณ ์นจ ์—†์ด ์„œ๋ฒ„์— ์š”์ฒญ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต(๋ฐ์ดํ„ฐ)๋ฅผ ๋ฐ›์•„ ์ž‘์—…์„ ์ˆ˜ํ–‰ AJAX๋ฅผ ์ด์šฉํ•ด Django follow ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ ์‚ฌ์ „์ค€๋น„ ํ…œํ”Œ๋ฆฟ์— script ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ block tag ์˜์—ญ ์ž‘์„ฑ ... {% block script %} {% endblock script %} axios CDN ์ž‘์„ฑ {% block script %} {% endblock script %} id ์†์„ฑ ์ง€์ • ๋ฐ ์„ ํƒ, ๋ถˆํ•„์š”ํ•œ action๊ณผ metho.. 2022. 11. 5.
Axios Axios Axios ๊ฐœ์š” โœ” JavaScript์˜ HTTP ์›น ํ†ต์‹ ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ โœ” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋น„๋™๊ธฐ ํ†ต์‹  ๊ธฐ๋Šฅ ์ œ๊ณต Axios ๊ธฐ๋ณธ๊ตฌ์กฐ Axios ์‚ฌ์šฉํ•ด๋ณด๊ธฐ โœ” get, post ๋“ฑ ์—ฌ๋Ÿฌ method ์‚ฌ์šฉ ๊ฐ€๋Šฅ โœ” then์„ ์ด์šฉํ•ด์„œ ์„ฑ๊ณตํ•˜๋ฉด ์ˆ˜ํ–‰ํ•  ๋กœ์ง ์ž‘์„ฑ โœ” catch์„ ์ด์šฉํ•ด์„œ ์‹คํŒจํ•˜๋ฉด ์ˆ˜ํ–‰ํ•  ๋กœ์ง ์ž‘์„ฑ ๊ณ ์–‘์ด ์‚ฌ์ง„ api ๊ฐ€์ ธ์˜ค๊ธฐ (Python) import requests print('๊ณ ์–‘์ด๋Š” ์•ผ์˜น') cat_image_search_url = 'https://api.thecatapi.com/v1/images/search' response = requests.get(cat_image_search_url) if response.status_code ==.. 2022. 11. 5.
๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ๋™๊ธฐ(Synchronous) โœ” ๋ชจ๋“  ์ผ์„ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ โœ” ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋™๊ธฐ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด? ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์ด ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋‹ค์Œ ๋กœ์ง์„ ์ฒ˜๋ฆฌ ๋น„๋™๊ธฐ(Asynchronous) โœ” ์ž‘์—…์„ ์‹œ์ž‘ํ•œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ž‘์—…์„ ์ฒ˜๋ฆฌ(๋ณ‘๋ ฌ์  ์ˆ˜ํ–‰) ๋น„๋™๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  โœ” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์•„์ฃผ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ ๋’ค ์‹คํ–‰๋˜๋Š” ์•ฑ์ด ์žˆ์„ ๋•Œ ๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ถˆ๋Ÿฌ์˜จ ๋’ค์—์•ผ ์•ฑ์˜ ์‹คํ–‰ ๋กœ์ง์ด ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋“ค์€ ๋งˆ์น˜ ์•ฑ์ด ๋ฉˆ์ถ˜ ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฒฝํ—˜์„ ๊ฒช๊ฒŒ๋œ๋‹ค. ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋จผ์ € ์ฒ˜๋ฆฌ๋˜๋Š” ๋ถ€๋ถ„๋ถ€ํ„ฐ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๊ธ์ •์ ์ธ ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ Single Thread ์–ธ์–ด, JavaScript โœ” JavaScript๋Š” ํ•œ๋ฒˆ์— .. 2022. 11. 4.
Callback & Promise Callback๊ณผ Promise ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์˜ ๋ฌธ์ œ์  โœ” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์˜ ํ•ต์‹ฌ์€ Web API๋กœ ๋“ค์–ด์˜ค๋Š” ์ˆœ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ๋œ๋‹ค๋Š” ๊ฒƒ โœ” ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ƒํ•˜๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์—†๋‹ค ์ฝœ๋ฐฑํ•จ์ˆ˜(Callback Function) โœ” ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋Š” ํ•จ์ˆ˜ โœ” ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ๋น„๋™๊ธฐ ์ž‘์—…์ด ์™ผ๋ฃŒ๋œ ํ›„ ์‹คํ–‰ํ•  ์ž‘์—…์„ ๋ช…์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๋น„๋™๊ธฐ ์ฝœ๋ฐฑ(asynchronous callback)์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  โœ” ๋ช…์‹œ์ ์ธ ํ˜ธ์ถœ์ด ์•„๋‹Œ ํŠน์ •ํ•œ ์กฐ๊ฑด ํ˜น์€ ํ–‰๋™์— ์˜ํ•ด ํ˜ธ์ถœ๋˜๋„๋ก ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ โœ” '์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด', '์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด', '๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋ฉด'๋“ฑ์˜ ์กฐ๊ฑด์œผ๋กœ ์ดํ›„ ๋กœ์ง์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Œ โœ” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ.. 2022. 11. 4.
JavaScript์—์„œ์˜ This This ๊ฐœ์š” โœ” ์–ด๋– ํ•œ object๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ‚ค์›Œ๋“œ โœ” JavaScript์˜ ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ๋  ๋•Œ this๋ฅผ ์•”๋ฌต์ ์œผ๋กœ ์ „๋‹ฌ ๋ฐ›์Œ โœ” JavaScript์—์„œ์˜ this๋Š” ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ โœ” JavaScript๋Š” ํ•ด๋‹น ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ ๋ฐฉ์‹์— ๋”ฐ๋ผ this์— ๋ฐ”์ธ๋”ฉ ๋˜๋Š” ๊ฐ์ฒด๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค. โœ” ์ฆ‰ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ๊ฒฐ์ •๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ํ˜ธ์ถœ๋˜์—ˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ๊ฒฐ์ • this INDEX ์ „์—ญ ๋ฌธ๋งฅ์—์„œ์˜ this ํ•จ์ˆ˜ ๋ฌธ๋งฅ์—์„œ์˜ this ๋‹จ์ˆœ ํ˜ธ์ถœ Method(๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋กœ์„œ) Nested ์ „์—ญ ๋ฌธ๋งฅ์—์„œ์˜ this โœ” ๋ธŒ๋ผ์šฐ์ €์˜ ์ „์—ญ ๊ฐ์ฒด์ธ window๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์ „์—ญ ๊ฐ์ฒด๋Š” ๋ชจ๋“  ๊ฐ์ฒด์˜ ์œ ์ผํ•œ ์ตœ์ƒ์œ„ ๊ฐ์ฒด๋ฅผ ์˜๋ฏธ console.log(this) // .. 2022. 11. 3.