λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Daily/Today I Learned

201222_TIL

by joooing 2020. 12. 23.
λ°˜μ‘ν˜•

🍎 μ˜€λŠ˜ 배운 것


βœ”οΈ 가독성 쒋은 μ½”λ“œ μž‘μ„±λ²•
μš”μƒˆ μ½”λ“œλ₯Ό λˆ„κ°€ 봐도 μ§κ΄€μ μœΌλ‘œ 이해할 수 있고, 읽기 νŽΈν•˜λ„λ‘ ν•˜λ €λ©΄ μ–΄λ–€ μ‹μœΌλ‘œ μž‘μ„±ν•΄μ•Ό ν•˜λŠ” 지에 λŒ€ν•΄ κ³ λ―Όν•˜κ³  μžˆμ—ˆλŠ”λ°, λ“œλ””μ–΄ 였늘 이 μ£Όμ œμ— λŒ€ν•΄ κ³΅λΆ€ν•˜κ²Œ λ˜μ—ˆλ‹€. λ¬Όλ‘  λ”± 정해진 방식이 μžˆλŠ”κ²Œ μ•„λ‹ˆλΌ μ‚¬λžŒλ§ˆλ‹€ μ·¨ν–₯이 λ°˜μ˜λ˜κΈ°λ„ ν•˜κ³ , μ’€ 달라도 λͺ¨λ‘ μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜κΈ° λ•Œλ¬Έμ— 지μž₯은 μ—†λ‹€. ν•˜μ§€λ§Œ ν˜‘μ—…μ΄ ν•„μˆ˜μ μΈ κ°œλ°œμžμ—κ²Œ μžˆμ–΄μ„œ, λΉ λ₯΄κ²Œ 읽을 수 μžˆλŠ” κΉ”λ”ν•œ μ½”λ“œλŠ” μ†Œν†΅ κ³Όμ •μ—μ„œ μƒκΈ°λŠ” λΉ„μš©μ„ 쀄여쀀닀. κ°€μ΄λ“œ 라인듀을 λ³΄λ‹ˆκΉŒ μ§€κΈˆκΉŒμ§€ μ¨μ™”λ˜ μŠ΅κ΄€λ“€ μ€‘μ—μ„œλ„ κ³ μΉ  것듀이 μžˆμ–΄μ„œ 였늘 μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•ŒλŠ” λ°˜μ˜ν•΄λ³΄λ €κ³  λ…Έλ ₯ν–ˆλ‹€. πŸ™ŒπŸ»

βœ”οΈ Coplit (Algorithm Basic) 20문제 ν’€κΈ°
μ•Œκ³ λ¦¬μ¦˜ 문제λ₯Ό μ­‰ ν’€μ–΄λ³΄λ©΄μ„œ μ§€κΈˆκΉŒμ§€ λ°°μ› λ˜ λͺ¨λ“  κ°œλ…λ“€μ„ λ³΅μŠ΅ν•  수 μžˆμ—ˆλ‹€. 정말 λ°°μ› λ˜ λͺ¨λ“  것듀을 μ‘°ν•©ν•΄μ„œ μ‚¬μš©ν•΄μ•Ό ν–ˆλŠ”λ°, ν™•μ‹€νžˆ μ–Έμ œ μ–΄λ–€ κ°œλ…μ„ μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 지 μ΅νžˆκΈ°μ— μ§€κΈˆμœΌλ‘œμ„œλŠ” 문제λ₯Ό ν’€μ–΄λ³΄λŠ” 게 κ°€μž₯ 쒋은 것 κ°™λ‹€. μ²˜μŒμ—λŠ” μˆ˜λ„μ½”λ“œλ₯Ό λ¨Όμ € μž‘μ„±ν•˜κ³  ν•œλ‹¨κ³„μ”© 풀어보렀고 ν–ˆμœΌλ‚˜ 갈수둝 ν‰μ†Œμ²˜λŸΌ μ˜μ‹μ˜ νλ¦„λŒ€λ‘œ ν’€μ–΄κ°”λ‹€.. λ­”κ°€ ν•œλ²ˆ 흐름을 λ†“μΉ˜λ©΄ 머리가 백지가 될 것 κ°™μ•„μ„œ ν•œλ²ˆμ— μ§‘μ€‘ν•΄μ„œ ν’€μ—ˆλ”λ‹ˆ 머리가 아프기도 ν•˜λ‹€ 😡 문제λ₯Ό ν’€κ³  Referenceλ₯Ό λ³΄λ‹ˆ λ‚˜μ™€λŠ” λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ 문제λ₯Ό ν•΄κ²°ν•œ 것듀도 많이 λ³΄μ—¬μ„œ 이 뢀뢄은 머리λ₯Ό μ‹νžˆκ³  내일 λ³΅μŠ΅ν•˜λ©΄μ„œ 비ꡐ해봐야겠닀.

βœ”οΈMapReduce Model
큰 λ¬Έμ œλ“€μ„ 'μž‘μ€ 문제 μ—¬λŸ¬κ°œλ‘œ μͺΌκ°œ 보닀 λΉ λ₯΄κ²Œ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ„λ‘' ν•˜λŠ” λ§΅λ¦¬λ“€μŠ€ λͺ¨λΈμ— λŒ€ν•΄ κ³΅λΆ€ν–ˆλ‹€. λ§΅λ¦¬λ“€μŠ€λŠ” 크게 Map(맡), Reduce(λ¦¬λ“€μŠ€) 두 λ‹¨κ³„μ˜ μž‘μ—…μœΌλ‘œ κ΅¬μ„±λœλ‹€. Map은 μž‘κ²Œ μͺΌκ°  데이터λ₯Ό κ΄€λ ¨μžˆλŠ” 데이터끼리 Key, Value쌍으둜 λ¬ΆλŠ” μž‘μ—…μ΄κ³ , ReduceλŠ” Mapμž‘μ—…μ„ 거친 λ°μ΄ν„°μ—μ„œ 쀑볡을 μ œκ±°ν•˜κ³  μ›ν•˜λŠ” 데이터λ₯Ό μΆ”μΆœν•΄λ‚΄λŠ” μž‘μ—…μ΄λ‹€. 쉽지 μ•Šμ€ κ°œλ…μ΄λΌ 더 μžμ„Έν•œ 과정에 λŒ€ν•΄μ„œλŠ” μ’€ 더 ν™•μ‹€ν•˜κ²Œ κ³΅λΆ€ν•˜κ³  λ‹€μ‹œ μ •λ¦¬ν•΄μ„œ λΈ”λ‘œκΉ…ν•΄λ‘¬μ•Όκ² λ‹€. 

MapReduce Model

 

 

🍎 κΈ°μ–΅ν•  것


βœ”οΈ μ½”λ“œ μŠ€νƒ€μΌλ§ TIP
  naming : λ³€μˆ˜λͺ…(κ°’μ˜ 본질적 의미 λ‹΄κΈ°), λ°°μ—΄/객체λͺ…(볡수λͺ…사), boolean typeλ³€μˆ˜(is,are 뢙이기), ν•¨μˆ˜λͺ…(λ™μ‚¬λ‘œ μ‹œμž‘),
     Class type λ³€μˆ˜(μ²«κΈ€μžλ₯Ό λŒ€λ¬Έμžλ‘œ), μƒμˆ˜(λͺ¨λ‘ λŒ€λ¬Έμž, snake_case)
  punctuation : {}μƒλž΅X, λ¬Έμžμ—΄ ν‘œμ‹œλŠ” ' '(μž‘μ€λ”°μ˜΄ν‘œ), μ€„λ°”κΏˆμžˆλŠ” λ¬Έμžμ—΄μ€ ``(backtick),
     if/for/whileλ¬Έ λμ—λŠ” ;(μ„Έλ―Έμ½œλ‘ )X, ν•¨μˆ˜ν‘œν˜„μ‹ λμ—λŠ” ;(μ„Έλ―Έμ½œλ‘ )O

βœ”οΈforEach(), map()의 차이
λ‘˜ λ‹€ 주어진 ν•¨μˆ˜(callbackν•¨μˆ˜)λ₯Ό λ°°μ—΄μ˜ 각 μš”μ†Œμ— λŒ€ν•΄ μ‹€ν–‰ν•˜λŠ” λ©”μ„œλ“œμ΄λ‹€. λ‘˜μ˜ 차이점은 map은 ν•¨μˆ˜λ₯Ό 각 μš”μ†Œμ— μ μš©ν•œ 배열을, forEachλŠ” undefinedλ₯Ό λ°˜ν™˜ν•œλ‹€λŠ” 것이닀. κ·Έ μ΄μœ λŠ” forEach()λŠ” 각 μš”μ†Œλ§ˆλ‹€ ν•œ λ²ˆμ”© ν•¨μˆ˜(callback)λ₯Ό 'μ‹€ν–‰'λ§Œν•˜λŠ” 것과 달리, map()은 각 μš”μ†Œμ— ν•¨μˆ˜(callback)λ₯Ό '호좜'ν•œ κ²°κ³Όλ₯Ό λͺ¨μ•„ μƒˆλ‘œμš΄ 'λ°°μ—΄λ‘œ λ°˜ν™˜'ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€!
→ forEachλŠ” ν•¨μˆ˜ μ‹€ν–‰λ§Œ, map은 λ°°μ—΄ μ„ μ–Έ, ν• λ‹ΉκΉŒμ§€!

βœ”οΈObject.assign()
객체듀을 λ³‘ν•©ν•˜λŠ” λ©”μ„œλ“œλ‘œ, κΈ°λ³Έκ΅¬μ‘°λŠ” Object.assign(target, ...sources) μ΄λ ‡κ²Œ μ“΄λ‹€. μ—¬κΈ°μ„œ μ†ŒμŠ€(source) 객체듀은 νƒ€κ²Ÿ(target) 객체에 합쳐지며, μ΅œμ’…μ μœΌλ‘œ 이 νƒ€κ²Ÿ 객체가 return λœλ‹€!

 

🍎 λ” 곡뢀할 것


βœ”οΈ Coplit (Algorithm Basic) λ‹€λ₯Έ λ°©λ²•μœΌλ‘œ 풀어보기
Referenceκ³Ό λ‚΄κ°€ ν‘Ό 방법을 비ꡐ해보고 μ ‘κ·Ό 방법이 많이 λ‹€λ₯Έ λ¬Έμ œλ“€μ€, Reference λ°©λ²•λŒ€λ‘œ λ‹€μ‹œ 풀어봐야겠닀. 그리고 μ½”λ“œλ₯Ό λΉ„κ΅ν•΄μ„œ 각각 λ°©λ²•μ˜ μž₯단점에 λŒ€ν•΄ μƒκ°ν•΄λ³΄λ €ν•œλ‹€.

βœ”οΈ NHN μ½”λ“œ μŠ€νƒ€μΌ κ°€μ΄λ“œ μ°Έκ³ ν•˜κΈ°
였늘 λ°°μ› λ˜ 기본적인 μŠ€νƒ€μΌ κ°€μ΄λ“œ 외에도 μ–΄λ–€ 것듀이 μžˆλŠ”μ§€ κΆκΈˆν•˜κΈ°λ„ ν•˜κ³ , μ°Έκ³ ν•΄μ„œ 미리미리 μŠ΅κ΄€μ„ 듀이기 μœ„ν•΄..! NHN μ½”λ“œ μŠ€νƒ€μΌ κ°€μ΄λ“œλ„ μ‹œκ°„λ‚  λ•Œ 읽어보고 κ°„λ‹¨νžˆ 정리해두렀고 ν•œλ‹€.

 

 

✏️ μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” μ•Œλ‹€κ°€λ„ λͺ¨λ₯΄κ² λ‹€.. 였λ₯˜κ°€ λ‚  것 κ°™λ‹€ μ‹ΆμœΌλ©΄ μ•ˆλ‚˜κ³ , 였λ₯˜κ°€ μ•ˆλ‚˜κΈΈλž˜ λ‹€μŒλ²ˆμ— μ‘μš©ν•΄λ³΄λ©΄ 였λ₯˜κ°€ λ‚œλ‹€ πŸ€”

✏️ λ‹€μŒ λ‚  κ³„νšμ€ κ·Έ μ „λ‚  밀에 μ„Έμ›Œλ‘κΈ°! 

λ°˜μ‘ν˜•

'Daily > Today I Learned' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

201224_TIL  (0) 2020.12.25
201223_TIL  (2) 2020.12.24
201221_TIL  (0) 2020.12.22
201218_TIL  (2) 2020.12.19
201217_TIL  (0) 2020.12.18

λŒ“κΈ€