์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๋ฌธ์ œํ’€์ด/์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํšŒ๊ณ (3Ls)

Learned eval() ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ๊ฒŒ๋๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š”์ง€ ์ˆ™์ง€ํ–ˆ๋‹ค. ํŒฉํ† ๋ฆฌ์–ผ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ์— ๋Œ€ํ•ด ๋‹ค์‹œ ํ•œ๋ฒˆ ์•Œ์•˜๊ณ  ์™œ ์ง€์–‘ํ•ด์•ผํ•˜๋Š”์ง€ ์ˆ™์ง€ํ–ˆ๋‹ค. ๋ฌด์กฐ๊ฑด ํ•œ์ค„๋กœ ํ’€์–ด๋‚ด๋Š”๊ฒŒ ๊ฐ€๋…์„ฑ์— ์ข‹์ง€ ์•Š์Œ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋Š๊ผˆ๋‹ค. Liked ์กฐ๊ฑด์‹ ์‚ฌ์šฉ๋ฒ•์ด ์ ์  ๋‹ค์–‘ํ•ด์ง€๊ณ  ์žˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ณต์‹์„ ์•Œ๊ฒŒ๋œ๊ฒŒ ๋งŽ์€ ํ•œ ์ฃผ ์˜€๋‹ค. Lacked ๋ฐ˜๋ณต๋˜๋Š” ๊ตฌ๋ฌธ์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์„ ์กฐ๊ธˆ ๋” ์ฐฝ์˜์ ์œผ๋กœ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์ˆ˜ํ•™๊ณต์‹์— ๋งŽ์ด ์•ฝํ•˜๋‹ค๋Š” ๊ฑธ ๋Š๊ผˆ๋‹ค.. ํ•˜๋ฃจ ์ข…์ผ ๊ณ ๋ฏผํ–ˆ๋Š”๋ฐ ํ’€์ง€ ๋ชปํ•œ ๋ฌธ์ œ๋„ ์žˆ์—ˆ๋‹ค. (๊ตฌ์Šฌ์„ ๋‚˜๋ˆ„๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜)
Learned flat๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด๋ดค๋‹ค! ์ค‘์ฒฉ if๋ฌธ์ด ํ•„์š”ํ•˜๋‹ค ์ƒ๊ฐํ•œ ๋ถ€๋ถ„์„ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ• Liked ๋น„๋ก ๋‚ด๊ฐ€ ์ง์ ‘ ์ƒ๊ฐํ•ด์„œ ๋งŒ๋“  ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ์•„๋‹ˆ์˜€์ง€๋งŒ ๊ทธ๋ž˜๋„ ์กฐํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ณ  ์‚ฌ์šฉํ–ˆ๋‹ค. ์ค„์–ด๋“  ๋ฉ”์„œ๋“œ ๊ตฌ๊ธ€๋ง Lacked const์™€ let ์œ„์น˜ ์ปจ๋ฒค์…˜ ์‹ค์ˆ˜ (const์šฐ์„  ๊ทธ๋ฆฌ๊ณ  let) ์ •๋ฆฌํ•  ๋•Œ ์‚ผํ•ญ์—ฐ์‚ฐ์ž ์ƒ๊ฐ ์•ˆ๋‚˜๋ฉด ์ค‘์ฒฉif๋ฌธ ์“ฐ๋Š” ๋ฒ„๋ฆ‡ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ๋ฐ˜๋ณต
Learned Array.from์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ์ดํ•ดํ–ˆ๋‹ค. ์žฌ๊ท€ํ•จ์ˆ˜์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ ์Šคํƒ / ํ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. Liked ๊ตฌ๊ธ€๋ง์ด ์•„๋‹Œ ๋‚ด ๋จธ๋ฆฌ๋กœ ํ•œ์ฃผ ๋ฌธ์ œ๋ฅผ ๋‹ค ํ’€์—ˆ๋‹ค. ์Šคํƒ/ํ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๋ฉฐ ์ดํ•ด๋„๊ฐ€ ์˜ฌ๋ž๋‹ค. Lacked ๋ณ€์ˆ˜ ํ‚ค์›Œ๋“œ ์‹ค์ˆ˜. ๋ฌธ์ œํ’€์ด์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๊ธธ๋‹ค. ํ• ๊ฒŒ ๋งŽ์•„์„œ ์ •๋ฆฌ๋ฅผ ๋ฏธ๋ฃจ๊ฒŒ ๋œ๋‹ค.
Learned map์ด๋‚˜ filter ๋“ฑ ๋ฐ˜๋ณต๋ฌธ๊ณผ ๋น„์Šทํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ• ๋•Œ ๋ณ€์ˆ˜๋„ค์ž„์„ for๋ฌธ๊ณผ ๋™์ผํ•˜๊ฒŒ i, j ๋กœ ๊ฐ€์ ธ๊ฐ€๊ธฐ. while๋ฌธ์„ ์ข€ ๋” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฉด์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋๋‹ค. reduce์™€ Array์ƒ์„ฑ์ž๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋๋‹ค. Liked ํ”ผ๋“œ๋ฐฑ์ด ๋”ฐ๋กœ ์—†๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜๋‹ค๐Ÿ‘ ๊ฐ€๋…์„ฑ๋ฉด์—์„œ๋Š” ๋–จ์–ด์กŒ์–ด๋„ ๊ตฌ๊ธ€๋ง ์ „ํ˜€ ์—†์ด ํ’€์–ด๋‚ธ ๋ฌธ์ œ๋„ ์žˆ์—ˆ๋‹ค. Lacked ๋ช…ํ™•ํ•œ ๋ณ€์ˆ˜๋ช… ์ง“๊ธฐ๊ฐ€ ์•„์ง๋„ ๋ถ€์กฑํ•˜๋‹ค. ๋ฌธ์ œ ํ’€์ด์— ๊ธ‰๊ธ‰ํ•ด์„œ ์‚ผํ•ญ์—ฐ์‚ฐ์ž ๋“ฑ ๊ฐ€๋…์„ฑ ์ข‹์€ ๋ฐฉ๋ฒ•์„ ๋งŽ์ด ๋†“์ณค๋‹ค.
Learned ** ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ๋‹ค์‹œ ํ•œ๋ฒˆ ์•Œ๊ฒŒ๋๋‹ค. map ํ•จ์ˆ˜๋ฅผ ๋Œ๋ฆด ๋•Œ ์ฝœ๋ฐฑํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋งŒ ๋„˜๊ฒจ์ค˜๋„ ์š”์†Œ๊ฐ€ ํ˜•๋ณ€ํ™˜์ด ๋œ๋‹ค๐Ÿ‘ Array.from๊ณผ reduce๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ์–ด๋Š์ •๋„ ์ œ๋Œ€๋กœ ์ตํ˜”๋‹ค. ์ธ์ž์— _๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋ฅผ ๋ฐฐ์› ๋‹ค ( ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ธ์ž์ž„์„ ํ‘œ์‹œ lodash๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถฉ๋Œ ๋ฐ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ฌธ์ œ ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Œ ) Liked ๋ฉ”์„œ๋“œ๋ฅผ ๋” ๋งŽ์ด ์•Œ๊ฒŒ๋๊ณ  ๊ทธ ์ค‘ ์ •ํ™•ํžˆ ์‚ฌ์šฉํ•  ์ค„ ์•„๋Š” ์„ ํƒ์ง€๊ฐ€ ๋งŽ์•„์ง€๋‹ˆ ๊ตฌํ˜„๋ฐฉ๋ฒ•์˜ ํญ์ด ๋„“์–ด์ง€๊ณ  ์žˆ๋‹ค. ํŒ€์›๋“ค ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ๊นจ๋‹ฌ์€ ๋ฐฉ๋ฒ•์ด ๋งŽ์•˜๋‹ค. Lacked ์ด๋ฒˆ์ฃผ๋Š” ์ง‘์ค‘์„ ์ œ๋Œ€๋กœ ๋ชปํ–ˆ๋‹คใ…Žใ…Ž.. var๋ณ€์ˆ˜ ์‚ฌ์šฉ๊ฐ™์€ ์‹ค์ˆ˜ํ•˜๊ณ  ๊ฒ€ํ† ์—์„œ ์ฐพ์•„๋‚ด์ง€ ๋ชปํ–ˆ๋‹ค. ๋ฌธ๋‹จ๋ณ„ ๋ถ„๋ฆฌ๋ฅผ ํ•˜๊ณ  ๊ฐ€๋…์„ฑ๊ณผ ํšจ์œจ์„ฑ์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ์‹œ๊ฐ„์„ ๋‚ด์„œ ๊ณ ๋ฏผํ•˜์ž.
Learned SOLID ์›์น™์— ๋Œ€ํ•ด ์•Œ๊ฒŒ๋˜์—ˆ๊ณ  ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋‹ค์‹œ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ map์„ ์ด์šฉํ•˜๊ธฐ๋ณด๋‹ค reduce๋ฉ”์„œ๋“œ๋กœ ํ•œ๋ฒˆ์— ๋๋‚ด๋Š” ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. getDay ๋ฉ”์„œ๋“œ ์ด์šฉ์‹œ ๋ฐ˜ํ™˜๊ฐ’์ด ์ˆซ์ž์ธ์ ์„ ์ด์šฉํ•ด ๋ฐฐ์—ด์˜ index๊ฐ’์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. Liked reduce๊ฐ€ ์ข€ ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€์„œ ์‚ฌ์šฉ์„ ํ”ผํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์— ๊ฐ์„ ์žก์•˜๋‹ค. ์ ์  ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋ฐฉ๋ฒ•๋“ค์„ ๋ฐฐ์›Œ๊ฐ€๊ณ  ์žˆ๋‹ค (๋‹จ์ผ์›์น™, ๋Ž์Šค๋Š” 3์ดํ•˜, ํ•จ์ˆ˜๋Š” 15์ค„ ์ดํ•˜ ๋“ฑ) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋ฐฉ๋ฒ•์€ ์•„์ง๊นŒ์ง€๋Š” ๋ณด๋ฉด ๋ฐ”๋กœ ๋– ์˜ค๋ฅธ๋‹ค๐Ÿ‘ ์‹œ๊ฐ„์„ ๋‚˜๋ฆ„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ๋…ธ๋ ฅ์ค‘์ด๋‹ค Lacked ๋งŽ์€ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฐฐ์šด๋งŒํผ ์ •ํ™•ํ•œ ์‚ฌ์šฉ๋ฒ•์ด ํ—ท๊ฐˆ๋ฆฐ๋‹ค.. ์‚ฌ์šฉํ•  ๋•Œ ๋ฌด์Šจ์—ญํ• ์ด๊ณ  ์ด๊ฑธ ์จ์•ผํ•œ๋‹ค๋Š”๊ฑด ์•Œ์ง€๋งŒ ..
Learned ์•Œ๊ณ ๋ฆฌ์ฆ˜(์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด, ๊ทธ๋ฆฌ๋”” ๋“ฑ) ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฅธ๋ฐฉ์‹์œผ๋กœ ํ‘ธ๋Š” ๊ฐœ๋…์„ ๋ฐฐ์› ๋‹ค. (Array.from ๋“ฑ) reduce๊ฐ€ ์ฒ˜๋ฆฌ ๋˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. Liked ์ฐธ๊ณ ๊ฐ€ ๋ ๋งŒํ•œ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค๐Ÿ‘ ๋ถ€ํŠธ์บ ํ”„ ๋ณ‘ํ–‰ํ•˜๋ฉด์„œ ๋ฐ€๋ฆฌ์ง€ ์•Š๊ณ  ์ž˜ ํ•ด๋‚ด๊ณ  ์žˆ๋‹ค. ์กฐ๊ธˆ์ด๋‚˜๋งˆ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์•Œ๊ฒŒ๋๋‹ค. ์‹œ๊ฐ„๋ถ„๋ฐฐ๊ฐ€ ์–ด๋Š์ •๋„ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋‹ค. Lacked ๋ถ€ํŠธ์บ ํ”„ ํ•‘๊ณ„๋กœ ์กฐ๊ธˆ ํšจ์œจ์„ฑ๊ณผ ํด๋ฆฐํ•œ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๋Š” ์‹œ๊ฐ„์ด ์ ์–ด์กŒ๋‹ค..๐Ÿฅฒ (์šด๋™๋„ ๋ฏธ๋ฃจ์ง€๋ง์ž) ์ˆ˜ํ•™์  ๊ฐœ๋…์ด ํ•„์š”ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์ดํ•ดํ•˜๋”๋ผ๋„ ๊ทธ๊ฑธ ์ฝ”๋“œ์— ๋…น์—ฌ๋‚ด๊ธฐ๊ฐ€ ์‰ฝ์ง€์•Š๋‹ค. Array.from์„ ๊ณ ๋ฏผํ•ด๋ดค์ง€๋งŒ ์˜ต์…˜์ด ์–ด๋ ต๊ณ  ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผํ• ์ง€ ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค..
Learned sort๋ฉ”์†Œ๋“œ์˜ ๋Œ€ํ•ด ์–ด๋Š์ •๋„ ๋ฌธ์ œ์— ๋”ฐ๋ฅธ ์‚ฌ์šฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. for๋ฌธ์—์„œ letํ‚ค์›Œ๋“œ๋ฅผ ๋‹ฌ์•„์ค˜์•ผ ํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. 2์ค‘for๋ฌธ ์‚ฌ์šฉ ์‹œ ๊ณ ๋ คํ•ด์•ผํ•  ๋ฌธ์ œ๋“ค์„ ์•Œ์•˜๋‹ค. ํ˜•๋ณ€ํ™˜ ๋ฉ”์†Œ๋“œ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•˜๋‹ค. Liked ์˜ˆ์ „์—” ๊ตฌ๊ธ€๋ง์„ ํ•œ๋“ค ๋ชปํ’€์—ˆ์„ ๋ฌธ์ œ๋“ค๋„ ๊ตฌ๊ธ€๋ง์„ ํ•œ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ œํ•ด๊ฒฐ ๋Šฅ๋ ฅ๊ณผ ํ’€์–ด๊ฐ€๋Š” ์†๋„๊ฐ€ ์ ์  ๋นจ๋ผ์ง€๋Š”๊ฑฐ ๊ฐ™๋‹ค. ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•˜๋Š” ๊ธฐ๋ถ„์ด ๋“ค์–ด์„œ ๊ธฐ๋ถ„์ด ์ข‹๋‹ค. ๐Ÿ‘ ์ดˆ๋ฐ˜ ๋ณด๋‹ค๋Š” ์‹œ๊ฐ„๋ถ„๋ฐฐ๋ฅผ ์ž˜ ํ•˜๊ณ  ์žˆ๋Š”๊ฑฐ ๊ฐ™๋‹ค. ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๋– ์˜ฌ๋ž๋˜ ๋ฐฉ๋ฒ•์ด 1๊ฐœ์˜€๋‹ค๋ฉด ์ด์ œ๋Š” 2~3๊ฐœ ์ •๋„์˜ ์‹œ๋„ํ• ๋งŒํ•œ ๋ฐฉ๋ฒ•๋“ค์ด ๋– ์˜ค๋ฅธ๋‹ค. Lacked ๋ณ€์ˆ˜๋ช… ์ง“๋Š”๊ฒŒ ์•„์ง ์„œํˆด๋‹ค. ์‹œ๊ฐ„๋ถ„๋ฐฐ๋Š” ์–ด๋Š์ •๋„ ํ•˜๊ณ  ์žˆ์œผ๋‚˜ ํด๋กœ์ €, ์Šค์ฝ”ํ”„ ๋“ฑ์˜ ๊ฐœ๋…๋“ค์ด ์ดํ•ดํ–ˆ๋‹ค ํ•œ๋“ค ๋จธ๋ฆฟ์†์— ๋‚จ์ง€์•Š๋Š”๋‹ค. ๋‚ด์žฅ๋ฉ”์„œ๋“œ ์‚ฌ..
YunCow
'์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๋ฌธ์ œํ’€์ด/์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํšŒ๊ณ (3Ls)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก