[Flask] Port 5000 is already in use
๐Ÿ“” Studying/๐Ÿšง Errors 2022. 10. 25. 11:35

์–ด๋–ค ์—๋Ÿฌ? Flask ์„œ๋ฒ„ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๋‹ˆ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋“ฑ์žฅ~ ๐Ÿ˜‡ Address already in use Port 5000 is in use by another program. Either identify and stop that program, or start the server with a different port. On macOS, try disabling the 'AirPlay Receiver' service from System Preferences -> Sharing. ์ฝ์–ด๋ณด๋ฉด ๋Œ€๋žต ํฌํŠธ 5000๋ฒˆ์ด ์ด๋ฏธ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์–ด์„œ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์—†๋‹ค๋Š” ๋‚ด์šฉ์ด๋‹ค. ๋‚˜๋Š” ๋งฅ๋ถ ์œ ์ €์ธ๋ฐ OS๊ฐ€ ๋ชฌํ…Œ๋ ˆ์ด๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋œ ์ดํ›„ ํฌํŠธ 5000๋ฒˆ์ด ์“ฐ์ด๊ณ  ์žˆ๋Š” ๋ชจ์–‘์ด๋‹ค. ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์—์„œ ..

[React] ๋ฆฌ๋•์Šค.. ์™œ ์“ฐ์ฃ ? ํ•„์š”์„ฑ๊ณผ ๊ทธ ๊ตฌ์กฐ์— ๋Œ€ํ•ด
๐Ÿ“” Studying/React 2022. 9. 29. 15:14

๋ฆฌ์•กํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ์–ด๋Š ์ˆœ๊ฐ„ ๋ฆฌ๋•์Šค์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•„์•ผ ํ•˜๋Š” ์‹œ๊ธฐ๊ฐ€ ์˜จ๋‹ค. ๋‚˜์—๊ฒŒ๋„ ๋“œ๋””์–ด ๊ทธ ์‹œ๊ธฐ๊ฐ€ ์™”๋‹ค!... ๐Ÿง ๋ฆฌ๋•์Šค์— ๋Œ€ํ•ด ๊นŠ๊ณ  ์ข‹์€ ๊ธ€๋“ค์€ ์ด๋ฏธ ์ถฉ๋ถ„ํžˆ ๋งŽ์œผ๋‹ˆ... ์•„์ง์€ ์ดˆ์‹ฌ์ž์ธ ๋‚˜์˜ ๊ด€์ ์—์„œ ๊ฐœ๋…์„ ๊ฐ€๋ณ๊ฒŒ ์‚ดํŽด๋ณด๊ธฐ๋กœ~ (๊ณ ๋กœ ์ด ๊ธ€์€ ์ดˆ์‹ฌ์ž๋“ค์—๊ฒŒ ์ ํ•ฉ) Redux and Context API ๋ฆฌ๋•์Šค๋Š” ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค. ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ ์—…๋ฐ์ดํŠธ ๋กœ์ง์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ณ , ์ƒํƒœ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ํ›จ์”ฌ ํŽธํ•˜๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋งˆ ๋ฆฌ๋•์Šค๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด๋ผ๋ฉด ์ง€๊ธˆ๊นŒ์ง€ Context API๋ฅผ ์จ์™”์„ ๊ฒƒ์ด๋‹ค. (๋‚˜ ๋˜ํ•œ...) React.createContext ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ์ปจํ…์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ œ๊ณต๋˜๋Š” Provider๋ฅผ ํ†ตํ•ด์„œ ๊ฐ’์„ ๊ณต์œ ํ•˜๋Š”..

[React] ๋ฆฌ์•กํŠธ์˜ ๋ผ์ดํ”„ ์‚ฌ์ดํด ๐Ÿค”
๐Ÿ“” Studying/React 2022. 9. 28. 20:23

๋ฆฌ์•กํŠธ๋ฅผ ์ข€ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋‹ˆ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ๋ช…์ฃผ๊ธฐ์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์•„์„œ ์ •๋ฆฌํ•ด๋ณธ๋‹ค. ์šฐ์„  ์ด ์ƒ๋ช…์ฃผ๊ธฐ๋ผ๋Š”๊ฒŒ, ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜์„œ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์‚ฌ๋ผ์งˆ ๋•Œ๊นŒ์ง€์˜ ์ฃผ๊ธฐ๋ฅผ ๋งํ•œ๋‹ค. ์ด ์ฃผ๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์„œ๋“œ๋“ค ์„ธ ๊ฐ€์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋“ค์„ useEffect ํ›…๊ณผ ๋น„๊ตํ•ด์„œ ์‚ดํŽด๋ณด๋ ค ํ•œ๋‹ค. componentDidMount() componentDidUpdate() componentWillUnmount() mount ?? ๋จผ์ € ๋งˆ์šดํŠธ(mount)๋ผ๋Š” ์šฉ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์•Œ์•„์•ผ๊ฒ ๋‹ค. ๋งˆ์šดํŠธ์™€ ์–ธ๋งˆ์šดํŠธ๊ฐ€ ์žˆ๋Š”๋ฐ, ๋งˆ์šดํŠธ๋Š” ์‚ฌ์ „์ ์ธ ์˜๋ฏธ๋กœ๋Š” '์‹œ์ž‘ํ•˜๋‹ค'๋ผ๋Š” ๋œป์ด์ง€๋งŒ- ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ์˜ ๋งˆ์šดํŠธ๋Š” DOM ํŠธ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์›น๋ธŒ๋ผ์šฐ์ €์— ๋‚˜ํƒ€๋‚  ๋•Œ๋ฅผ ๋งํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์ด๋ ‡๊ฒŒ ๋งํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ๋งˆ์šดํŠธ(moun..

์›นํŒฉ ๋นŒ๋“œ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ํ—˜๋‚œํ•œ ์‚ฝ์งˆ ๊ณผ์ •
๐Ÿ“” Studying/Web 2022. 9. 14. 16:21

์ด๋ฒˆ์—๋Š” netlify ๊ฐ™์€ ์„œ๋น„์Šค์˜ ๋„์›€์„ ๋ฐ›์ง€ ์•Š๊ณ , ์›นํŒฉ์œผ๋กœ ๋นŒ๋“œํ•ด๋ณด๊ณ  Github Pages์—์„œ ๋ฐฐํฌํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ผ๋‹จ ๋นŒ๋“œํ•˜๋Š” ๋ฐ๋„ ์‚ฝ์งˆ์„ ๋งŽ์ด ํ–ˆ์ง€๋งŒ, ๋ฐฐํฌํ•˜๊ณ  ๋‚˜๋‹ˆ ๋กœ์ปฌํ™˜๊ฒฝ์—์„  ์ž˜ ๋™์ž‘ํ–ˆ๋˜ ๊ฒŒ ๋จนํ†ต์ด ๋˜์–ด์„œ (...) ๋˜ ํ•œ๋ฐ”ํƒ• ์‚ฝ์งˆ์„ ํ–ˆ๋‹ค. ์•„์ง ์˜จ์ „ํžˆ ์›นํŒฉ์„ ์ดํ•ดํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ํ˜„์žฌ ๋ฐฐํฌ๊นŒ์ง€๋Š” ํ•ด๊ฒฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ์—” ์ด ๋งŒํผ์˜ ์‚ฝ์งˆ์„ ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•œ๋‹ค... ๐Ÿ˜‡ ๊ทธ๋ž˜์„œ ์›นํŒฉ์ด ๋ญ”์ง€?... ์›นํŒฉ.. ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ํ•œ๋ฒˆ์ฏค์€ ๋“ค์–ด๋ดค์„ ๋ฒ•ํ•œ ์ด๋ฆ„. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ชจ๋‘ ์ˆ˜๋งŽ์€ ์ž์›๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. HTML, CSS, JavaScript ํŒŒ์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ด๋ฏธ์ง€, ํฐํŠธ ๋“ฑ๋“ฑ.. ๋งŒ๋“ค ๋•Œ์•ผ ๊ฐ๊ฐ์˜ ์ž์›๋“ค์„ ํ•„์š”์— ๋”ฐ๋ผ์„œ ๊ตฌ..

[JavaScript] ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด ๋„์šฐ๊ธฐ
๐Ÿ“” Studying/JavaScript 2022. 8. 11. 16:45

๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๋‹ค ๋ณด๋‹ˆ.. ์ด๋ ‡๊ฒŒ ๊ตฌ๊ธ€์—์„œ ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด๋ฅผ ๋„์›Œ์ฃผ๋Š” ๊ฑธ ๋งŒ๋“ค๋ฉด ์ข‹๊ฒ ๋‹ค ์‹ถ์—ˆ๋‹ค. ์™„๋ฒฝํ•œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ์ˆœ ์—†๊ฒ ์ง€๋งŒ!.. ์ผ๋‹จ ์ฒซ ๊ธ€์ž๋ผ๋„ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ๋ณด๊ธฐ๋กœ. filter ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ๊ฑธ๋Ÿฌ์˜ค๋ฉด ๋˜๋Š”๋ฐ, ํ•œ๊ธ€์€ ์˜๋ฌธ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— toLowerCase ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ํ•„ํ„ฐ๋ง๋œ ํ•ด์ˆ˜์š•์žฅ๋“ค์„ li ํƒœ๊ทธ ์•ˆ์— ๋„ฃ๋Š” ์ž‘์—…์„ ๊ฑฐ์นœ๋‹ค. ๊ทธ๋ฆฌ๊ณ  DOM ์ž‘์—…์„ ์ข€ ๊ฑฐ์น˜๋ฉด ์ด๋ ‡๊ฒŒ ์ฒซ ๊ธ€์ž๊ฐ€ ์ผ์น˜ํ•˜๋Š” ํ•ด์ˆ˜์š•์žฅ๋“ค์ด ๋œฌ๋‹ค! +++ ์™„์„ฑ ํ›„ ๊ฒ€์ƒ‰์–ด๊ฐ€ ๊ฐ€๋‚˜๋‹ค์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์ด ์žˆ์—ˆ์–ด์„œ ์ถ”๊ฐ€ ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ์•„๋ž˜์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. https://i-ten.tistory.com/187 ์—๋Ÿฌ ์ˆ˜์ • ์‚ฝ์งˆ ๊ธฐ๋ก (3) ์ง€๋‚œ ๊ธ€ (https://i-ten.ti..

[JavaScript] Obejct.entries ๋ฅผ ์ด์šฉํ•ด ๊ฐ์ฒด ๊ฐ€๊ณตํ•˜๊ธฐ
๐Ÿ“” Studying/JavaScript 2022. 7. 28. 22:11

๋จผ์ € JSON ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ํ•„์š”ํ•œ ํ˜•ํƒœ๋กœ ๊ฐ€๊ณตํ•ด์•ผ ํ•˜๋Š”๋ฐ... ๋ฐฐ์—ด ์•ˆ์˜ ๊ฐ์ฒด ํ˜•ํƒœ์˜€๊ณ , ๋‹น์‹œ ์ด๋Ÿฐ ํ˜•ํƒœ๋ฅผ ๋ณ„๋กœ ๋‹ค๋ค„๋ณธ ์ ์ด ์—†์—ˆ๋‹ค. ๋‚ด๊ฐ€ ํ•„์š”ํ•œ ํ˜•ํƒœ๋Š” beach-num๊ณผ name์„ ๋งค์น˜์‹œ์ผœ์„œ ๋ฐฐ์—ด์— name๋งŒ ์ญ‰ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ์ฐธ ๋™์•ˆ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ๋กœ๋งŒ ์‚ฝ์งˆ์„ ํ•˜๋Š”๋ฐ ( . . .) ๊ทธ๋Ÿฌ๋‹ค mdn ๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ๊นจ๋‹ฌ์•˜๋‹ค. ์•„.. ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ตฌ๋‚˜.. ๐Ÿฅน Object.entries์— ๋Œ€ํ•œ ํŽ˜์ด์ง€๋ฅผ ์ญ‰ ๋ณด๋‹ค ๋ณด๋ฉด, entires ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌ์กฐ ๋ถ„ํ•ด ํ• ๋‹น์„ ์ด์šฉํ•ด์„œ key, value ๊ฐ’์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ข‹์•„ ๊ทธ๋Ÿผ ๋‚˜๋„ ์ด์ œ ์จ๋ณด์ž..๐Ÿฅน ํŒŒ์ผ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ jsonํ™” ํ•ด์„œ ๊ฐ’๋งŒ ๊ฐ€์ ธ์˜จ ๋’ค, entires ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ beachN..

[JavaScript] This์— ๋Œ€ํ•œ ์–•์€ ํƒ๊ตฌ
๐Ÿ“” Studying/JavaScript 2022. 7. 15. 18:06

๋“ค์–ด๊ฐ€๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์ง€์‹์ด 1mm ๋‚ด๋ฆฐ ๋น„์ฒ˜๋Ÿผ ์žˆ์„๋ž‘ ๋ง๋ž‘ ํ–ˆ๋˜ ์‹œ์ ˆ.. this์— ๋Œ€ํ•œ ์„ค๋ช…๊ธ€๋“ค์„ ๋ด๋„ ๋„๋ฌด์ง€ ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค. ์ด๊ฒŒ ๋ญ”๊ฐ€์— ๋”ฐ๋ผ์„œ ๋‹ฌ๋ผ์ง€๋Š”๊ฑด ์•Œ๊ฒ ๋Š”๋ฐ ๊ทธ๋ž˜์„œ... ์–ด๋–ป๊ฒŒ ๋œ๋‹ค๋Š” ? ?.. ์งง๊ฒŒ ์–˜๊ธฐํ•˜์ž๋ฉด this๋Š” ๋ˆ„๊ฐ€ ํ˜ธ์ถœํ–ˆ๋Š๋ƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค. ์–ด๋ ต๊ฒŒ๋งŒ ๋Š๊ปด์กŒ๋˜ this์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด์ž. ๊ทธ๋ž˜์„œ this๋ž€?? ์ผ๋‹จ this์˜ ์‚ฌ์ „์  ์˜๋ฏธ๋Š” '์ด๊ฒƒ'์ด๊ธด ํ•œ๋ฐ.. ๋ญ˜ ๊ฐ€๋ฆฌํ‚ค๋Š๋ƒ. ๋ฐ”๋กœ ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด๋‚˜ ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ณ€์ˆ˜๋‹ค. C++์ด๋‚˜ JAVA์™€ ๊ฐ™์€ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์˜ ์–ธ์–ด์—์„œ์˜ this๋Š” ํด๋ž˜์Šค๊ฐ€ ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค๋‹ค. ์ด๋ฏธ this๋ฅผ ์„ ์–ธํ•˜๋ฉด์„œ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค๊ณ  ๊ฒฐ์ •๋œ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ this๋Š” ์ข€ ํŠน์ดํ•˜๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ์˜ th..