๐Ÿ“ ํ”„๋กœ์ ํŠธ

    ํ† ์ดํ”„๋กœ์ ํŠธ | [React] TodoAPP

    ํ† ์ดํ”„๋กœ์ ํŠธ | [React] TodoAPP

    ๐Ÿ“… ๋ณธ ๊ธ€์€ 2022๋…„ 3์›” 9์ผ ๊ฐœ์ธ github ์— ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๐Ÿ—“ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ์™„๋ฃŒ: (2022.03.06 - 2022.03.07) ๋‹ค๋“ค ํ•œ๋ฒˆ์”ฉ์€ ๋งŒ๋“ค์–ด๋ณธ๋‹ค๋Š” TodoApp์ด ๋‚˜์˜ ์ฒซ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋˜์—ˆ๋‹ค. ๋ฐฑ๋ฌธ๋ถˆ์—ฌ์ผ๊ฒฌ์ด๋ผ๋Š” ๋ง์ฒ˜๋Ÿผ, ๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ state, props ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ฒŒ ๋˜๊ณ  state Hook, Effet HooK ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์™œ ํ•„์š”ํ•œ์ง€, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ์ง€ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค, ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์ด ์ข‹๋‹ค๋Š” ๋ฆฌ์•กํŠธ์˜ ์žฅ์ ์„ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๋‹ค์‹œํ•œ๋ฒˆ ์ฒด๊ฐํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.๐Ÿ‘ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜์—ฌ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด localStorage ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๊ณ , firebase๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ๊นŒ์ง€ ๊ฒฝํ—˜ํ•ด๋ณธ ๊ฐ’์ง„ ๊ฒฝํ—˜์ด์—ˆ๋‹ค. ๐ŸŽฏ ๊ตฌํ˜„๊ธฐ๋Šฅ

    ํ† ์ดํ”„๋กœ์ ํŠธ | [JavaScript] ์นด๋“œ ์ง ๋งž์ถ”๊ธฐ

    ํ† ์ดํ”„๋กœ์ ํŠธ | [JavaScript] ์นด๋“œ ์ง ๋งž์ถ”๊ธฐ

    ๐ŸŽฏ ์นด๋“œ ์ง ๋งž์ถ”๊ธฐ๐Ÿƒ 2022.2.13 (1์ฐจ ์™„์„ฑ) ๊ฒŒ์ž„ ๊ทœ์น™ (๊ธฐ๋ณธ ๊ธฐ๋Šฅ) 2์Œ์ด ๊ฐ™์€ ๋žœ๋คํ•œ ์นด๋“œ N์žฅ์˜ ๋’ท๋ฉด์„ ๋ณด์—ฌ์ค€๋‹ค. 1์žฅ์„ ์„ ํƒํ•˜๋ฉด ํ•ด๋‹น์นด๋“œ์˜ ์•ž๋ฉด์„ ๋ณด์—ฌ์ค€๋‹ค. ๋‚˜๋จธ์ง€ ๋‹ค๋ฅธ 1์žฅ์„ ์„ ํƒํ–ˆ์„๋•Œ ๊ฐ™๋‹ค๋ฉด ๋ณด์—ฌ์ฃผ๊ณ  ์•„๋‹ˆ๋ผ๋ฉด ๋‹ค์‹œ ๋‘˜๋‹ค ๋’ค์ง‘์–ด ๋‘”๋‹ค. ๋‹ค ๋งž์œผ๋ฉด ์„ฑ๊ณต ๊ตฌํ˜„ ๊ธฐ๋Šฅ Object, Array๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. 1์žฅ์„ ์„ ํƒํ•˜๋ฉด ํ•ด๋‹น์นด๋“œ์˜ ์•ž๋ฉด์„ ๋ณด์—ฌ์ค€๋‹ค. 2์žฅ์˜ ์นด๋“œ๋ฅผ ์„ ํƒํ•˜๋ฉด, ์นด๋“œ์˜ ์•ž๋ฉด ๊ทธ๋ฆผ์ด ๋งž๋Š”์ง€ ๋น„๊ตํ•œ๋‹ค. ์•„์‰ฌ์šด ์  ์ด๋ฒˆ ํ† ์ดํ”„๋กœ์ ํŠธ๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ ์•„์‰ฌ์›€์ด ๋งŽ๋‹ค. Object์˜ ๊ฐœ๋…์„ ๋ณด๊ธฐ๋งŒ ํ–ˆ์ง€, ์ง์ ‘ ๊ตฌํ˜„์„ ํ•˜๋‹ˆ ๊ฐ„๋‹จํ•œ ๊ฒƒ์—๋„ ํ—ท๊ฐˆ๋ ค์„œ ์—ฌ๋Ÿฌ๋ฒˆ ์ฝ˜์†”๋กœ ํ™•์ธํ•ด๊ฐ€๋ฉด์„œ, ๊ตฌํ˜„์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ๊ตฌํ˜„ํ•  ๋‹น์‹œ์— ๋™๊ธฐ๋น„๋™๊ธฐ, promise, Json ์„ ๋ฐฐ์› ์–ด์„œ,..

    ํ† ์ดํ”„๋กœ์ ํŠธ | [JavaScript] ๊ณ„์‚ฐ๊ธฐ

    ํ† ์ดํ”„๋กœ์ ํŠธ | [JavaScript] ๊ณ„์‚ฐ๊ธฐ

    ๐Ÿ“… ๋ณธ ๊ธ€์€ 2022๋…„ 2์›” 20์ผ ๊ฐœ์ธ velog์— ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฒŒ์จ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ์ž…๋ฌธํ•œ์ง€ ํ•œ๋‹ฌ์ด๋ผ๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚ฌ๋‹ค..์ด๋ฒˆ์ฃผ๋Š” ์ˆ˜์—…๋„ ๋”ฐ๋ผ๊ฐ€๊ธฐ ํž˜๋“ค์–ด์„œ ๊ฐ„๋‹จํ•œ ํ† ์ดํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜์ž๋Š” ์ƒ๊ฐ์— ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ๋ฅผ ํ–ˆ๋Š”๋ฐ, ์˜ˆ์ƒ๊ณผ ๋‹ฌ๋ฆฌ ๋‚˜์˜ ์‹ค์ˆ˜๋“ค๋กœ ์ธํ•ด ๊ฝค ๊ธด ์‹œ๊ฐ„ ์ƒ๊ฐํ•˜๊ฒŒ ๋งŒ๋“  ํ† ์ดํ”„๋กœ์ ํŠธ๋‹ค. ๐Ÿ“Œ ์‚ฌ๊ฑด์˜ ๋ฐœ๋‹จ: ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ „์ฒด์ ์œผ๋กœ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ•จ. ์ด์ „์— ๋งŒ๋“  ํ† ์ดํ”„๋กœ์ ํŠธ๋“ค์€ ๋Œ€๋žต์ ์œผ๋กœ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ์ ์–ด๋†“๊ณ  ์‹œ์ž‘ํ•˜์˜€๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” '๊ณ„์‚ฐ๊ธฐ๋Š” ๋ญ ๊ณ„์‚ฐ๋ฐ–์— ๋” ์žˆ๋‚˜~' ํ•˜๋Š” ์ƒ๊ฐ์— ๊ทธ๋ƒฅ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ฆ‰ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ „์ฒด์ ์œผ๋กœ ํŒŒ์•…ํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๊ตฌํ˜„๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ๊ณ  , ์‹ค์ˆ˜์˜ ์‹œ์ž‘์ด์˜€๋‹ค. ์ž˜๋ชป๋œ ์‹œ์ž‘ btnAll.forEach(button => { button.addEv..

    ํ† ์ดํ”„๋กœ์ ํŠธ | [JavaScript] ๋‹ค๋ฅธ ๊ธ€์ž ์ฐพ๊ธฐ ๊ฒŒ์ž„

    ํ† ์ดํ”„๋กœ์ ํŠธ | [JavaScript] ๋‹ค๋ฅธ ๊ธ€์ž ์ฐพ๊ธฐ ๊ฒŒ์ž„

    ๐Ÿ“… ๋ณธ ๊ธ€์€ 2022๋…„ 2์›” 7์ผ ๊ฐœ์ธ github์— ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค. โœ… ์ฒซ๋ฒˆ์งธ ํ† ์ดํ”„๋กœ์ ํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ธ”๋กœ๊ทธ ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋‘๋ฒˆ์งธ ๊ฒŒ์ž„์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ฒŒ์ž„ ๊ธฐ๋ณธ ์š”๊ตฌ ์‚ฌํ•ญ 1. N x M ์˜ ํ™”๋ฉด์— ํ•˜๋‚˜๋งŒ ๋‹ค๋ฅธ ๊ธ€์ž๋กœ ์ฑ„์›Œ์„œ ๋ณด์—ฌ์ค€๋‹ค. 2. ํ•ด๋‹น ๊ฒŒ์ž„์˜ ์ •๋‹ต ๊ธ€์ž ์œ„์น˜๋Š” ๋งค๋ฒˆ ๋‹ฌ๋ผ์ ธ์•ผ ํ•œ๋‹ค 3. ์ •๋‹ต ๊ธ€์ž๋ฅผ ์„ ํƒํ•˜๋ฉด ๋‹ค์Œ stage๋กœ ๋„˜์–ด๊ฐ„๋‹ค. 4. ์•„๋‹ˆ๋ฉด ์‹คํŒจ ๋ฉ”์‹œ์ง€๋ฅผ ๋„์šฐ๊ณ  ์ข…๋ฃŒํ•œ๋‹ค. โœ… ๊ตฌํ˜„ ๊ธฐ๋Šฅ 1. ๊ธฐ๋ณธ ๋™์ž‘ 2. ์‹œ๊ฐ„ ์ดˆ๊ณผ โœ… ๋žœ๋ค์œผ๋กœ ์œ„์น˜ ์„ค์ •. // ์ฒ˜์Œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ function shuffle() { for(let i = 0; i < array.length; i ++) { const randomNum = Math.floor(Math.random() * (i)); const tempor..

    ํ† ์ดํ”„๋กœ์ ํŠธ | [JavaScript] ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„

    ํ† ์ดํ”„๋กœ์ ํŠธ | [JavaScript] ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„

    ๐Ÿ“… ๋ณธ ๊ธ€์€ 2022๋…„ 1์›” 31์ผ ๊ฐœ์ธ velog์— ์ž‘์„ฑ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์Šคํ„ฐ๋””๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๋งŒ๋“  ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„์ด๋‹ค! ๋„ˆ๋ฌด ์œ ๋ช…ํ•œ ํ† ์ดํ”„๋กœ์ ํŠธ์ด๊ธฐ๋„ ํ•˜๊ณ , ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•œ ๊ตฌํ˜„์ผ ๊ฒƒ ๊ฐ™์•„์„œ.. ์ž ์‹œ ๊ณ ๋ฏผํ–ˆ์ง€๋งŒ, ๊ทธ๋ž˜๋„ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด ์Šค์Šค๋กœ์—๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ์˜ฌ๋ ค๋ณธ๋‹ค.๐Ÿ˜Š ๊ฒŒ์ž„ ๊ทœ์น™ (๊ธฐ๋ณธ ๊ธฐ๋Šฅ) ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์œ„๋ฐ”์œ„๋ณด ์ค‘ ํ•œ๊ฐ€์ง€ ๊ฐ’์„ ์„ ํƒํ•œ๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ๋žœ๋ค์œผ๋กœ ๊ฐ€์œ„๋ฐ”์œ„๋ณด ์ค‘ ํ•˜๋‚˜์˜ ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค. ๋‘๊ฐœ์˜ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ ์ˆ˜๊ฐ€ ์—…๋ฐ์ดํŠธ ๋œ๋‹ค. ๊ตฌํ˜„ ๊ธฐ๋Šฅ ์ปดํ“จํ„ฐ์—์„œ ๋žœ๋ค์œผ๋กœ ๊ฐ€์œ„๋ฐ”์œ„๋ณด ์ค‘ ํ•˜๋‚˜์˜ ๊ฐ’์ด ์ถœ๋ ฅ๋œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ๊ฐ’๊ณผ ์ปดํ“จํ„ฐ๊ฐ€ ์„ ํƒํ•œ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ ์ˆ˜๊ฐ€ ์—…๋ฐ์ดํŠธ ๋œ๋‹ค. ์ด๊ธด ์ชฝ์˜ backgroundColor ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค. r..