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

์ „์ฒด ๊ธ€48

๊ทธ๋ฆผํŒ๋งŒ๋“ค๊ธฐ 21.12.16 canvasํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ๋งˆ์šฐ์Šค๋กœ ๊ทธ๋ฆผ๊ทธ๋ฆด ๋ถ€๋ถ„์„ ๋งŒ๋“ค๊ณ  range๋กœ ๋ถ“์˜ ๋‘๊ป˜๋ฅผ ์กฐ์ ˆํ•˜๊ธฐ์œ„ํ•œ ๋ถ€๋ถ„ Fill,Save ๊ธฐ๋Šฅ๊ตฌํ˜„์„ ์œ„ํ•œ ๋ฒ„ํŠผ ๋‘๊ฐ€์ง€ 10๊ฐ€์ง€์˜ ์ปฌ๋Ÿฌ๋ฅผ ๊ณ ๋ฅผ์ˆ˜์žˆ๋„๋ก ์ค€๋น„ํ•ด๋‘์—ˆ๋‹ค. ๋ชฉ์—…์ค‘ ๊นƒํ—™์— ์ž”๋””์‹ฌ์œผ๋ฉด ์ข‹์„๊ฑฐ ๊ฐ™์•„์„œ ๊ธ‰ init > add > commit ํ–ˆ์ง€๋งŒ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์—†์–ด์„œ push๊ฐ€ ์•ˆ๋˜์—ˆ๊ณ , ์ด๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 1์‹œ๊ฐ„๊ฐ€๋Ÿ‰ ๊ฒ€์ƒ‰ํ•ด ํ•ด๊ฒฐํ–ˆ๋‹คใ…Žใ…Ž ์˜ค๋ฅ˜์‚ฌํ•ญ์€ ์˜ค๋ฅ˜ํ•ด๊ฒฐ์— ๋”ฐ๋กœ ์ž‘์„ฑํ• ๊ฒƒ! ์ด๊ณผ์ •์„ ํ†ตํ•ด ์–ป๊ณ  ์‹ถ์€๊ฒƒ.. 1. ๊ทธ๋ฆผํŒ์„ ๋งŒ๋“ค๋ฉฐ ๊ฐ€์žฅ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์€๋ถ€๋ถ„์€ ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ๋ฒ•๊ณผ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ์ˆ™์ง€ ๋ ˆํผ๋Ÿฐ์Šค ์—†์ด ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋งž์ถฐ์•ผ ๊ฒ ์ง€๋งŒ... ์กฐ๊ธˆ์€ ์ฐธ๊ณ ํ• ์˜ˆ์ •(์บ”๋ฒ„์Šค์— ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ง€๋Š” ๊ณผ์ •์ด ์ดํ•ด๊ฐ€ ์ž˜์•ˆ๊ฐ€์„œ...) 2. HTML์˜ ์—ฌ๋Ÿฌ attribute๋ฅผ ์‚ฌ์šฉ.. 2021. 12. 17.
๋ฐ”๋‹๋ผJS๋กœ ๊ทธ๋ฆผํŒ๋งŒ๋“ค๊ธฐ(feat.๋‹ˆ๊ผฌ์Œค) ์ด๋ฒˆ ์ฃผ๋ง์— ๋‹ˆ๊ผฌ์Œค ๊ฐ•์˜ ๋ณด๊ณ  ๋”ฐ๋ผ๋งŒ๋“  ๊ทธ๋ฆผํŒ ์ปฌ๋Ÿฌ์นฉ์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น์ปฌ๋Ÿฌ๋กœ ํŽœ์ด ๋ณ€ํ•˜๊ณ , Range๋กœ ํŽœ์˜ ๋‘๊ป˜๋ฅผ ์กฐ์ ˆํ• ์ˆ˜์žˆ๊ณ , Fill/Paint๋กœ ์บ”๋ฒ„์Šค์— ๋„๋ฐฐํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆด์ˆ˜์žˆ๊ฒŒ ํ–ˆ๋‹ค. ํŽœ์„ ์บ”๋ฒ„์Šค๋‚ด์—์„œ ์›€์ง์ผ๋•Œ X,Y์˜ ์ขŒํ‘œ๋ฅผ ๋”ฐ๋ผ ํ”ฝ์…€์— ์ปฌ๋Ÿฌ๊ฐ€ ์ด์–ด์ง€๊ฒŒ ํ•˜๋Š”๊ฒŒ ์–ด๋ ค์› ๋‹ค. Save ๊ธฐ๋Šฅ์€ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ๋ฒ„ํŠผ์˜ ๊ธฐ๋Šฅ์„ ์ˆจ๊ธด๋’ค ๋ฒ„ํŠผ์—์„œ ์ €์žฅํ•˜๋Š”๋ฐฉ๋ฒ•์œผ๋กœ ์ œ์ž‘ํ–ˆ๋‹ค. HTML์˜ Canvas ๋กœ ์ œ์ž‘ํ•จ. ๋‚ด ๊ธฐ์—ฌ๋„ 1% ... ์ด์ œ ์•ˆ๋ณด๊ณ  ๋”ฐ๋ผ ํ•ด์•ผ์ง€ 2021. 12. 15.
์ฝ”๋“œ ์Šคํ…Œ์ด์ธ 36๊ธฐ Section 1 ํšŒ๊ณ ๋ก [๊ฒฝ์พŒํ•œ ์‹คํŒจ] ๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€ ์ž…๋‹ˆ๋‹ค. 2021. 12. 9.
4W_JS_React Route ์‹œ๊ฐ„์ด ์ง„์งœ ์™œ์ด๋ ‡๊ฒŒ ๋นจ๋ฆฌ๊ฐ€๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋ฉ”์„œ๋“œ ๊ณต๋ถ€ํ•˜๋‹ค ๊ฐ‘์ž๊ธฐ ๋ฆฌ์•กํŠธ๋กœ ๋Œ์•„์˜จ ๋ธ”๋กœ๊ทธ.. ๊ทธ์‚ฌ์ด์— ๊ต‰์žฅํžˆ ๋งŽ์€ ํ•™์Šต์ด ์ด๋ฃจ์–ด์กŒ์ง€๋งŒ, ์–ด์ œ ์˜ค๋Š˜ ๋ฆฌ์•กํŠธ ์ˆ˜์—…๋“ฃ๊ณ  ๊นจ๋‹ฌ์•˜๋‹ค. "..์•„! ์—ฌ๊ธฐ๊นŒ์ง€ ์˜จ๊ฒƒ์€ ๋‹ค ๋ฆฌ์•กํŠธ ๋ฐฐ์šฐ๋ ค๊ณ  ์˜จ๊ฑฐ๊ตฌ๋‚˜!! " ๊ทธ๋ž˜์„œ ๋งˆ์Œ์ด ํŽธํ•ด์กŒ๋‹ค. ๋’ค๋กœ ๊ตฌ๋ฅด๋“  ์˜†์œผ๋กœ ๊ตฌ๋ฅด๋“  ์–ด์จ‹๋“  ํ”„๋ก ํŠธ์—”๋“œ์˜ ๊ฝƒ, ๋ฆฌ์•กํŠธ๋งŒ ์ž˜ํ•ด๋„ ๋ฐ˜์€๊ฐ€๊ฒ ๊ตฌ๋‚˜..! (๋ฌผ๋ก  ๋ฆฌ์•กํŠธ ์ž˜ํ•˜๋ ค๋ฉด ์•ž์— ๋ฐฐ์šด๊ฑฐ ๋‹ค์ž˜ํ•ด์•ผํ•จ) ์—ฌํ•˜ํŠผ ์–ด์ œ์˜ ๊ธฐ๋ณธ๋ฌธ๋ฒ•์— ์ด์–ด ์˜ค๋Š˜์€ ๋ผ์šฐํ„ฐ๋ฅผ ๊ณต๋ถ€ํ–ˆ๊ณ , ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ์˜ ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฐฐ์šด๊ฒƒ ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•ด๋ณด๋ คํ•œ๋‹ค. ๋จผ์ € ๋ผ์šฐํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ผ์šฐํ„ฐ ๋ชจ๋“ˆ์ด ๋“ค์–ด์žˆ๋Š” ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ ๋”์„ ์„ค์น˜ํ•˜์—ฌ์•ผํ•œ๋‹ค. npm install react-router-dom@5.3.0 ์šฐ๋ฆฌ๋Š” ๋ฒ„์ „ 5.3.0์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ์ตœ์‹ ๋ฒ„์ „ ๋ฐ›.. 2021. 12. 3.
3W_JS_Method expect() - ๋ฆฌํ„ด๊ฐ’์ด ๊ธฐ๋Œ€๊ฐ’๊ณผ ๊ฐ™์€์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜ expect(ํ…Œ์ŠคํŠธํ•˜๋Š”๊ฐ’).๊ธฐ๋Œ€ํ•˜๋Š”์กฐ๊ฑด expect(isEven(3)).to.be.true => 'isEven(3)'์˜ ๊ฒฐ๊ณผ๊ฐ’์€ ์ฐธ(true)์ด์–ด์•ผ ํ•œ๋‹ค' expect(1 + 2).to.equal(3) => 'sum(1, 2)์˜ ๊ฒฐ๊ณผ๊ฐ’์€ 3๊ณผ ๊ฐ™์•„์•ผ(equal) ํ•œ๋‹ค' ๊ธฐ๋Œ€ํ•˜๋Š” ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ matcher ๋ผ๊ณ  ํ•จ. ํ”„๋ ˆ์ž„์›Œํฌ๋„ ์žˆ์Œ (mocha,chai.๋“ฑ) ํ…Œ์ŠคํŠธ๋ฅผ ์‹œํ–‰ํ• ๋•Œ ๊ธฐ๋Œ€ํ•˜๋Š”๊ฐ’์€ ํ‘œํ˜„์‹์ด๊ฑฐ๋‚˜ ํ•จ์ˆ˜์˜ ์‹ค์ œ ์‹คํ–‰ ๊ฒฐ๊ณผ 1) ํ‘œํ˜„์‹: true || false, 1 + 1, 10 * 3 2) ํ•จ์ˆ˜์˜ ์‹คํ–‰: isEven(3), sum(1, 2) ํ•˜์ง€๋งŒ ์—„๊ฒฉํ•˜๊ฒŒ ๋น„๊ตํ•˜์ง€ ๋ชปํ• ๊ฒฝ์šฐ์—” expect('ํ…Œ์ŠคํŠธํ•˜๋Š”๊ฐ’').to.equal('๊ธฐ๋Œ€ํ•˜๋Š”.. 2021. 11. 25.
3W_JS_์Šค์ฝ”ํ”„์™€ ํด๋กœ์ € -๋ณ€์ˆ˜ ์ ‘๊ทผ ๊ทœ์น™์— ๋”ฐ๋ฅธ ์œ ํšจ๋ฒ”์œ„. ์Šค์ฝ”ํ”„์˜ ์˜๋ฏธ์™€ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค ์Šค์ฝ”ํ”„์˜ ์ฃผ์š” ๊ทœ์น™์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค ์ค‘์ฒฉ ๊ทœ์น™ block scope์™€ function scope ์ „์—ญ ์Šค์ฝ”ํ”„์™€ ์ง€์—ญ ์Šค์ฝ”ํ”„ ์ „์—ญ ๋ณ€์ˆ˜์™€ ์ง€์—ญ ๋ณ€์ˆ˜๊ฐ„์˜ ์šฐ์„  ์ˆœ์œ„ let, const, var ์˜ ์ฐจ์ด ์ „์—ญ ๊ฐ์ฒด(window)์˜ ์ดํ•ด let vscope = 'global'; //์—ฌ๊ธฐ๋ถ€ํ„ฐ function fscope() { let vscope = 'local'; let lv = local variables'; alert(lv); } //์—ฌ๊ธฐ๊นŒ์ง€ local scope fscope(); alert(lv); ์Šค์ฝ”ํ”„ ํŠน์ง• 1. ๋ฐ”๊นฅ ์Šค์ฝ”ํ”„(์ „์—ญ = Global Scope)์˜ ๋ณ€์ˆ˜๋Š” ์•ˆ์ชฝ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. 2. ์•ˆ์ชฝ ์Šค์ฝ”ํ”„(์ง€์—ญ = L.. 2021. 11. 25.