๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[D+13] ๊ฐœ์ธ ๊ณต๋ถ€ D+13 - ๊ฐœ์ธ ๊ณต๋ถ€ - (๊ฐœ์ธ ๊ณต๋ถ€) Object.keys( ) •์ฃผ์–ด์ง„ ๊ฐ์ฒด์˜ ํ‚ค๊ฐ’์„ ๋ฐฐ์—ด์˜ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ด ์ค€๋‹ค. • Object.keys( ) ์˜†์— '.length'๋ฅผ ๋ถ™์—ฌ์ฃผ๋ฉด ์†์„ฑ๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ ์•Œ๋ ค์ค€๋‹ค. let obj = {a: 1, b: 2, c: 3}; // obj์— ์žˆ๋Š” ๊ฐ์ฒด์˜ ํ‚ค๊ฐ’์„ ์•Œ๋ ค์ค„๋ž˜? Object.keys(obj); // ["a", "b", "c"] // obj์— ์žˆ๋Š” ๊ฐ์ฒด์˜ ์†์„ฑ๋“ค์˜ ๊ฐœ์ˆ˜๋ฅผ ์•Œ๋ ค์ค„๋ž˜? Object.keys(obj); // 3 Object.assign( ) •์—ด๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ถœ์ฒ˜ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ๋Œ€์ƒ ๊ฐ์ฒด๋กœ ์†์„ฑ์„ ๋ณต์‚ฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. let obj1 = {a: 1, b: 2, c: 3}; let obj2 = {d: 4, e: 5, f: 6}; Object... 2020. 9. 19.
[D+12] ๋์—†๋Š” ์‚ฝ์งˆ... ๊ทธ๋ฆฌ๊ณ  ์„ฑ๊ณต! D+12 - ๋์—†๋Š” ์‚ฝ์งˆ... ๊ทธ๋ฆฌ๊ณ  ์„ฑ๊ณต - (feat. ์„ธ ๋ฒˆ์งธ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ) ๋ฒŒ์จ ์„ธ ๋ฒˆ์งธ ํŽ˜์–ด๋ถ„๊ณผ ํ•˜๋Š” ๋งˆ์ง€๋ง‰ ํŽ˜์–ด ๋‚ ์ด์—ˆ๊ณ  ์ด์ œ๊นŒ์ง€ ํŽ˜์–ด๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋Š๋‚€์ ์€ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์€ ์ •๋ง ๋‹ค๋ฅธ ์Šคํƒ€์ผ์„ ๊ฐ€์กŒ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋งˆ ๋‚˜์™€ํ•จ๊ป˜ํ–ˆ๋˜ ํŽ˜์–ด๋ถ„๋“ค๋„ ๋ชจ๋‘ ๋Š๊ผˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์„œ ์ง„ํ–‰ํ•˜๋Š” ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ๊ฐ„์ด ๋‚˜์—๊ฒŒ๋Š” ์‚ด์ง ๊ธด์žฅ๋˜๋ฉด์„œ๋„ ์„ค๋ ˆ๋Š” ์‹œ๊ฐ„์œผ๋กœ ์ธ์‹๋˜์–ด ์žˆ๋‹ค. ์ด๋ฒˆ์— ํ•จ๊ป˜ํ•˜์‹  ํŽ˜์–ด๋ถ„์€ ๋‚˜์—๊ฒŒ ๋‹ค์–‘ํ•œ ์ฝ”๋“œ๋“ค๋กœ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜์˜ค๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ฒŒ ํ•ด์ค€ ๋ถ„ ์ด์—ˆ๋‹ค. ๋‚ด๊ฐ€ ๋„ค๋น„๊ฒŒ์ดํ„ฐ ์—ญํ• ์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋Œ€ ํŽ˜์–ด๋ถ„์ด ๋‚ด๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์„ ์ ์œผ์‹œ๋Š” ์—ญํ•  ์ด์…จ๋Š”๋ฐ ์ฝ”๋“œ ์™„์„ฑํ›„ ๋ณธ์ธ์ด ์ƒ๊ฐํ•œ ์ฝ”๋“œ ์ž‘์„ฑ๋ฒ•์„ ์•Œ๋ ค์ฃผ์‹œ๋ฉด์„œ '์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค!'๋ผ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋ณด๋ฉด์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ƒ.. 2020. 9. 18.
[D+11] ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ์ง์ ‘ ํ•ด๋ณด๋ฉด์„œ ๋Š๋‚€ ์  D+11 - ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๋ฉด์„œ ๋Š๋‚€ ์  - (TDD) ์ด์ „์— ๋‚ด๊ฐ€ ์ ์—ˆ์—ˆ๋˜ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด์•˜๋Š”๋ฐ ์•„๋ฌด๋ž˜๋„ ๋‚ด๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ํ•ด๋ณด๊ธฐ ์ „์ด๋ผ์„œ ๊ทธ๋Ÿฐ๊ฐ€ ๊ธฐ์ˆ ์ ์ธ ๋‚ด์šฉ์ด ๋‹ด๊ฒจ์žˆ์„ ๋ฟ ์ •์ž‘ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋ถ€์กฑํ•œ ๋Š๋‚Œ์ด ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜ ๋‚˜๋Š” ํŽ˜์–ด ๋ถ„๊ณผ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ์ง์ ‘ ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด์•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ ์ด ๊ณผ์ •์ด ๊ฝค๋‚˜ ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋Š๋ผ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ์ง์ ‘ ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์„ ํ•ด๋ณด๋ฉด์„œ ๋Š๊ผˆ๋˜ ๊ฒƒ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ๊ธฐ๋ก์„ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. " Test Driven Development " TDD๋Š” ๋ฒˆ์—ญ ๊ทธ๋Œ€๋กœ ํ…Œ์ŠคํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์ด๋ผ๋Š” ๋œป์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ๋งŒ๋“  ํ›„์— ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋ณดํ†ต ์šฐ๋ฆฌ๋Š” ์ฝ”๋“œ๋ฅผ ์™„์„ฑ.. 2020. 9. 17.
[D+10] ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ ์˜ค๋Š˜์€ ๋‚ด๊ฐ€ ์Šค์Šค๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ์Šค์Šค๋กœ ํ•™์Šตํ•ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๊ฐœ๋…์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋งŒํผ๋งŒ ๊ฐ„๋žตํžˆ ์ ์–ด๋ณผ๊นŒ ํ•œ๋‹ค. D+10 - Java Script ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ - (Java Script Test Code) expect( ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฐ’ ).๊ธฐ๋Œ€ํ•˜๋Š” ์กฐ๊ฑด ๊ธฐ์กด์—๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‚ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋‹ต์„ ๋„์ถœํ•ด ๋‚ด๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์™”๋‹ค๋ฉด ์ด๋ฒˆ์—๋Š” ๋‚ด๊ฐ€ ์ง์ ‘ ๋ฌธ์ œ๋ฅผ ๋‚ด๋Š” ์ž…์žฅ์ด ๋˜์–ด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด์•˜๋‹ค. ํ•ด๋‹น ์ฃผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‚ด๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์•Œ์•„์•ผ ํ–ˆ๋˜๊ฒƒ์€ ๋ฐ”๋กœ expect ํ•จ์ˆ˜์˜€๋‹ค. expect๋Š” ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ๊ทธ ๊ฐ’์— ๋งž๋Š” ์กฐ๊ฑด์„ ๋‚ด๊ฐ€ ์ž…๋ ฅํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค. expect('์•ˆ๋…•ํ•˜์„ธ์š”').toBe('๋ฐ˜.. 2020. 9. 16.
[D+09] Command Line ๊ณผ Git D+09 - Command Line๊ณผ Git - (Command Line, Git) Command Line GUI • Graphical user interface๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ๋ž˜ํ”ฝ์„ ํ†ตํ•ด์„œ ์ปดํ“จํ„ฐ์™€ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—… ํ™˜๊ฒฝ • ๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” Windows์™€ MacOS๊ฐ€ ์žˆ๋‹ค. CLI •Command line interface๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๋ช…๋ น์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๊ฒŒ ํ•˜๋Š” ๊ฒƒ • ๋Œ€ํ‘œ์ ์œผ๋กœ Git๊ณผ ํ„ฐ๋ฏธ๋„์ด ์žˆ๋‹ค. • CLI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•œ๊บผ๋ฒˆ์— ๋™์‹œ์— ์ž‘๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅด๊ณ  ๊ฐ•ํ•˜๋‹ค. ์›๊ฒฉ์˜ ์„œ๋ฒ„๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ๋งˆ์น˜ ๋‚ด๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ‘๊ทผ์„ฑ์ด ์ข‹๋‹ค. ls • list๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. • ํŒŒ์ผ ํด๋”๋ฅผ ํ™•์ธํ• .. 2020. 9. 16.
[D+09] Java Script ๊ฐœ๋… D+09 - Java Script ๊ฐœ๋…๊ณผ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์‚ฌ์šฉ ์ค€๋น„ - (Scope, Closure, ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ) Scope •๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํšจ ๋ฒ”์œ„๋กœ ์–ด๋””์„œ๋ถ€ํ„ฐ ์–ด๋””๊นŒ์ง€ ์œ ํšจํ•œ ์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฒ”์œ„๋ผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. Global Scope ์™€ Local Scope •Global Scope ์ „์—ญ์— ์„ ์–ธ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋Š ๊ณณ์ด๋“  ํ•ด๋‹น ๋ณ€์ˆ˜์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. • Local Scope ํ•ด๋‹น ์ง€์—ญ์—์„œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ํ•ด๋‹น ์ง€์—ญ ๋ฐ–์„ ๋ฒ—์–ด๋‚  ์ˆ˜ ์—†๋‹ค. ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ „์—ญ ๋ณ€์ˆ˜๋ณด๋‹ค ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค. Function Scope ์™€ Block Scope •Function Scope ํ•จ์ˆ˜์ฝ”๋“œ์˜ ๋ธ”๋ก ๋‚ด์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํ•ด๋‹น ํ•จ์ˆ˜ ์ฝ”๋“œ ๋ธ”๋ก ์ฝ”๋“œ์—์„œ๋งŒ ์œ ํšจํ•˜๊ณ  ์™ธ๋ถ€์—์„œ๋Š” ์œ ํšจํ•˜.. 2020. 9. 15.