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

์ „์ฒด ๊ธ€84

[React] LifeCycle (๋ผ์ดํ”„์‚ฌ์ดํด, ์ƒ๋ช…์ฃผ๊ธฐ) ์›น์„ ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด ๋น ์งˆ ์ˆ˜ ์—†๋Š”๊ฒŒ ๋˜ ๋ฐ”๋กœ ๋ผ์ดํ”„์‚ฌ์ดํด์ด๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๋‚˜๋Š” ๋ผ์ดํ”„ ์‚ฌ์ดํด ๊ฐœ๋…๋งŒ ๊ณต๋ถ€๋ฅผ ํ•ด์„œ ์ •ํ™•ํ•˜๊ฒŒ ์–ด๋””์— ์“ฐ์ด๊ณ  ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ ์ด๊ฒŒ ๋ผ์ดํ”„์‚ฌ์ดํด์ด ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€์กฐ์ฐจ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ์ง€ ๋ชปํ•˜๊ณ  ๋„˜์–ด๊ฐ”์—ˆ๋Š”๋ฐ ์ด๋ฒˆ ๊ธฐํšŒ๋ฅผ ํ†ตํ•ด ์ •ํ™•ํžˆ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค. ์ผ๋‹จ, ๊ตฌ๊ธ€์— react lifecycle์ด๋ผ๊ณ  ์น˜๋ฉด ํ•ญ์ƒ ๋‚˜์˜ค๋Š” ๊ทธ๋ฆผ์ด ์žˆ๋‹ค. mount๋ถ€ํ„ฐ unmount๊นŒ์ง€ ์ขŒ๋ฅด๋ฅต ์žˆ๋Š” ์‚ฌ์ง„์ด๋‹ค. ๋‚˜๋Š” ๊ทธ๋ƒฅ ์ด๊ฒƒ๋งŒ ๊ณต๋ถ€ํ•˜๊ณ  ์•Œ๊ณ ์žˆ์—ˆ๋‹ค. ๊ทผ๋ฐ ์™œ ๋ผ์ดํ”„์‚ฌ์ดํด์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผํ•˜๋Š”์ง€ ๊ทผ๋ณธ์ ์ธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋ถ€์กฑํ•˜๋‹ค๊ณ  ๋Š๊ปด์„œ ์ด๋ฒˆ์—” ๊ทธ ๋ถ€๋ถ„์„ ์ข€ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค! ๋ผ์ดํ”„์‚ฌ์ดํด์ด๋ž€? ๋ผ์ดํ”„ ์‚ฌ์ดํด์€ ๊ฐ„๋‹จํžˆ ์›Œ๋”ฉ๋งŒ ๋ณด๋”๋ผ๋„ 'ํ•œ ํ™”๋ฉด์ด ์ƒ์„ฑ๋˜๊ณ  ์‚ฌ๋ผ์ง€๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •'์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์™œ ๋ผ์ด.. 2021. 7. 5.
[Git] ๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ ๋Š” ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ ํŒ ์š”์ฆ˜ ์–ด๋– ํ•œ ๊ณ„๊ธฐ๋กœ ์ธํ•ด ์œ ์˜๋ฏธํ•œ ๊ณต๋ถ€๋Š” ๋ฌด์—‡์ผ๊นŒ์— ๋Œ€ํ•ด์„œ ๋งŽ์ด ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ข€ ๋” ์ผ์ฐ์ด ๊ทผ๋ณธ์ ์ธ ๊ณต๋ถ€๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹์ง€ ์•Š์•˜์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์„ ํ•˜์ง€๋งŒ, ์ง€๊ธˆ๋„ ๋Šฆ์ง€ ์•Š์•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค!! ๋ฐฉํ–ฅ์„ ๋‹ค์‹œ ์ œ๋Œ€๋กœ ์žก์•„์„œ ํƒ„ํƒ„ํ•˜๊ฒŒ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ์Œ“์„ ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค. ๊ทธ ์ค‘์— ํ•˜๋‚˜๊ฐ€ ๊นƒํ—™์— ์ปค๋ฐ‹์„ ์˜ฌ๋ฆฌ๋ฉด์„œ ๋’ค์ฃฝ๋ฐ•์ฃฝ ์ปค๋ฐ‹์„ ํ•˜๋˜ ๊ฒƒ์„ ๊ธฐ์ค€์„ ์„ธ์šฐ๊ณ  ์งˆ์„œ์žˆ๋Š” ์ปค๋ฐ‹์„ ํ•˜๊ณ  ์‹ถ์–ด์กŒ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฌด์ž‘์ • ๊ตฌ๊ธ€๋ง์œผ๋กœ ์ปค๋ฐ‹๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ์ฒ˜์Œ์—๋Š” feat๋งŒ ์ฃผ๊ตฌ์žฅ์ฐฝ ์“ฐ๋‹ค๊ฐ€ ์ข€ ๋” ์„ธ๋ถ€์ ์œผ๋กœ ์ปค๋ฐ‹๋ฉ”์‹œ์ง€๋ฅผ ์“ฐ๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์— ๋‚ด๊ฐ€ ๊นŒ๋จน์ง€ ์•Š๊ฒŒ ๊ณ„์† ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ด๋ ‡๊ฒŒ ๋ธ”๋กœ๊ทธ์— ์ ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ฐพ์•„๋ณด๋‹ˆ ์ปค๋ฐ‹๋ฉ”์‹œ์ง€์— 7๊ฐ€์ง€ ๊ทœ์น™์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ๋นˆ ํ–‰์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค ์ œ๋ชฉ์„ 50๊ธ€์ž ๋‚ด๋กœ ์ œ.. 2021. 7. 5.
[React] Rerendering(๋ฆฌ๋ Œ๋”๋ง) ๋ฆฌ์•กํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด, ํšจ์œจ์„ฑ์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋นผ๋†“์„ ์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ €๋ฒˆ์— ์ •๋ฆฌํ–ˆ๋˜ DOM์—์„œ์˜ ๊ฐ€์ƒ ๋”๋„ ๊ทธ๋ ‡๊ณ , ์–ด๋–ค ํ•œ ๊ฐœ๋…์„ ๊ณต๋ถ€ํ•  ๋•Œ๋งˆ๋‹ค ๊ทธ ๊ฐœ๋…์ด ํšจ์œจ์ ์ด๊ฒŒ ๋„์™€์ค€๋‹ค๊ณ  ํ•˜๋Š” ๊ฒƒ์ด ๋งŽ๋‹ค๋Š”๊ฒƒ์ด๋‹ค. ๋‚˜๋Š” ์ „์— ์ด๋Ÿฐ ์งˆ๋ฌธ์„ ๋ฐ›์€ ์ ์ด ์žˆ๋‹ค. '๋ฆฌ๋ Œ๋”๋ง์ด ๋ญ”์ง€ ์•„์‹œ๋‚˜์š”?' ์ด ๊ธ€์„ ๋ณด๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ๋ฌด์Šจ ๋Œ€๋‹ต์„ ํ•˜๊ฒ ๋Š”๊ฐ€? ๋‚˜๋Š” ๊ทธ๋•Œ๋Š” ๋ถ€๋„๋Ÿฝ์ง€๋งŒ ๋ฆฌ๋ Œ๋”๋ง์ด ๊ทธ๋ƒฅ ๋ Œ๋”๋ง์„ ๋‹ค์‹œํ•œ๋‹ค๋Š” ๊ฑฐ ์•„๋‹Œ๊ฐ€? ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ–ˆ์—ˆ๋‹ค. ์‚ฌ์‹ค ๋ง ๋œป์€ ๊ทธ๋ ‡๋‹ค. ํ•˜์ง€๋งŒ, ์งˆ๋ฌธ์˜ ์˜๋„๊ฐ€ ๊ณผ์—ฐ ์ง„์งœ ๋œป์„ ๋ฌผ์–ด๋ณด๋Š” ๊ฒƒ์ด์—ˆ์„๊นŒ? ์ด๋•Œ ๋ชจ๋“  ์งˆ๋ฌธ์— ๋‹ต์„ ๊ฐœ๋–ก๊ฐ™์ด ํ•œ ๋‚˜๋Š” ์ง‘์— ์™€์„œ ์ฐจ๋ถ„ํžˆ ๋‹ค ์ ์–ด๋†จ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ฑ„์›Œ๋‚˜๊ฐ€๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๋ฆฌ๋ Œ๋”๋ง์€ ๋ฌด์—‡์ธ์ง€ ๊ทผ๋ณธ๋ถ€ํ„ฐ ์•Œ์•„์•ผํ•˜๋ฉฐ, ์™œ ์ด๊ฑธ ์•Œ์•„์•ผํ•˜๋Š”์ง€, ์–ด๋””์—์„œ ์ด ๊ฐœ๋…์ด ์“ฐ์ด๋Š”.. 2021. 6. 24.
ํŒŒ์ด์–ด๋ฒ ์ด์Šค(Firebase) - NoSQL,Collection,Document ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ •๋ฆฌํ•˜๋ฉด์„œ ํŒŒ์ด์–ด๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ์‚ฌ์šฉํ•ด๋ดค์ง€๋งŒ ์ •ํ™•ํžˆ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ๋„˜์–ด๊ฐ€์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ๋‹ค์‹œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ดค๋‹ค. ํŒŒ์ด์–ด๋ฒ ์ด์Šค์—์„œ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ–ˆ๋˜ ๊ธฐ๋Šฅ์€ Firebase Database(DB)์™€ Firebase Authentication(Auth)์ด๋‹ค. Firebase Auth๋Š” ์ด๋ฉ”์ผ, ๊ตฌ๊ธ€ ๋“ฑ ๋‹ค์–‘ํ•œ sns๋ฅผ ์ด์šฉํ•œ ๋กœ๊ทธ์ธ ์ธ์ฆ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์ž์‹ ์ด ๊ตฌํ˜„ํ•˜๋ ค๊ณ ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์— ๋”ฐ๋ผ ํ—ˆ์šฉํ•ด์ฃผ์–ด ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ด ์ ์€ ๊ทธ๋‹ค์ง€ ์–ด๋ ต์ง€ ์•Š์•˜๋‹ค. ํ•˜์ง€๋งŒ, Firebase DB์— ์ ‘๊ทผํ•ด์„œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ๊บผ๋‚ด์„œ ์“ฐ๋Š” ๋ถ€๋ถ„์— ์žˆ์–ด ์ฒ˜์Œ์— ์–ด๋ ค์›€์„ ๋Š๊ผˆ์—ˆ๋‹ค. ๋‚˜์—๊ฒ Collection๊ณผ Document์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋’ค์ฃฝ๋ฐ•์ฃฝ ๋‹ค๊ฐ€์™€์„œ ์–ด๋ ค์› ์—ˆ๋Š”๋ฐ .. 2021. 6. 24.
๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ ๋Š” Visual Studio Code ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ (์ƒ์‹œ ์—…๋Žƒ) ๋น„์ฅฌ์–ผ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํŽธ๋ฆฌํ•œ ๋‹จ์ถ•ํ‚ค๋“ค์„ ๋‚ด๊ฐ€ ์•ˆ์“ฐ๊ณ  ํž˜๋“ค๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„ ์ฐพ์•„์„œ ์ •๋ฆฌํ•˜๊ฒŒ ๋œ ๋น„์ฅฌ์–ผ ์ŠคํŠœ๋””์˜ค ์ฝ”๋“œ ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ!โŒจ ์ƒ์‹œ ์—…๋Žƒ๋  ์˜ˆ์ •์ด๋‹ˆ ํ˜น์‹œ ๋‚˜๋งŒ ์•Œ๊ณ ์žˆ๊ธฐ ์•„๊น๋‹ค๋Š” ๋‹จ์ถ•ํ‚ค๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ์ผ๋‹จ, ๋‹จ์ถ•ํ‚ค๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ์•Œ๋ ค๋“œ๋ฆด๊ฒŒ์š”! File -> Preferences -> Keyboard Shortcuts -> ๋‹จ์ถ•ํ‚ค ์ˆ˜์ • ctrl(command) + D : ๊ฐ™์€ ๋‹จ์–ด ๋™์‹œ ์ˆ˜์ • alt(option)+click : ์ค‘๋ณต ์ปค์„œ ์ƒ์„ฑ alt(option) + ↑/↓ : ํ•ด๋‹น ์ค„ ์ฝ”๋“œ์˜ ์ด๋™ alt(option) + shift + ↑/↓ : ํ•ด๋‹น ์ค„ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์ด๋™ (ํ•ด๋‹น๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ๋ณต๋ถ™ํ• ๋•Œ) ctrl(command) + / : ์ฃผ์„์ฒ˜.. 2021. 2. 10.
[React] ContextAPI๋ฅผ ์‚ฌ์šฉํ•ด์„œ TodoList๋งŒ๋“ค๊ธฐ(2) : contextAPI contextAPI์— ๋Œ€ํ•ด์„œ๋Š” ์ฑ… ๐Ÿ“–๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ๐Ÿ“–์—์„œ๋„ ๋‹ค๋ค˜์ง€๋งŒ ๊ฒ‰์œผ๋กœ๋Š” ์ดํ•ดํ–ˆ์ง€๋งŒ, ๋ชธ๊ณผ ๋งˆ์Œ ์ „์ฒด์ ์œผ๋กœ ์•„์ง ์ดํ•ด๋ฅผ ๋ชปํ•˜๊ณ  ๊นจ๋‹ซ์ง€ ๋ชปํ–ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด์„œ contextAPI๋ฅผ ์‚ฌ์šฉํ•œ ์˜ˆ์ œ์ธ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ์ฐพ์•„์„œ ๋‹ค์‹œํ•ด๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŠธ๋ฅผ ์“ฐ๋ฉด์„œ ์ •ํ•œ ๋‚ด ๋ชฉํ‘œ๋Š” ์ด ํฌ์ŠคํŠธ๋ฅผ ์“ฐ๋ฉด์„œ ๋‹ค ์“ฐ๊ณ  ๋‚˜์„œ๋Š” ๋‚ด๊ฐ€ contextAPI๊ฐ€ ๋ญ”์ง€ ์ œ๋Œ€๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๊ณ  ์•Œ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ์ด์ „ ํฌ์ŠคํŠธ๋Š” ์ด ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ์‚ฌ์šฉํ•œ styled-components์— ๋Œ€ํ•œ ์š”์†Œ๋“ค์„ ๊ณต๋ถ€ํ•ด๋ณธ ํฌ์ŠคํŠธ์ด๋‹ค. minjoo-space.tistory.com/56 [React] ContextAPI๋ฅผ ์‚ฌ์šฉํ•ด์„œ TodoList๋งŒ๋“ค๊ธฐ(1) : styled-components ๋ฆฌ์•กํŠธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ ์—์„œ๋Š” ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ.. 2021. 2. 9.
๋ฐ˜์‘ํ˜•