2018λ…„ 회고둝

λ°˜μ‘ν˜•

μ•ˆλ…•ν•˜μ„Έμš”. 이제 2018년이 정말 λ§ˆμ§€λ§‰ 날이 λ‹€κ°€μ™”λ„€μš”. λ‹€λ“€ ν•œ ν•΄ 마무리 μž˜ν•˜μ‹œκ³ , 내년에도 더 쒋은 일만 κ°€λ“ν•˜κΈ°λ₯Ό κΈ°μ›ν•©λ‹ˆλ‹€.

μ˜€λŠ˜μ€ μ €μ˜ 2018년을 λ˜λŒμ•„λ³΄λŠ” νšŒκ³ λ‘μ„ 처음으둜 μž‘μ„±ν•΄λ³΄λ € ν•©λ‹ˆλ‹€. 회고둝이기 λ•Œλ¬Έμ— κ²©μ‹μ²΄λŠ” 거의 μ‚¬μš©ν•˜μ§€ μ•Šμ„ 것이며 처음 μ“°λŠ” 회고둝인 만큼 μ˜λ―ΈμžˆλŠ” μ‹œκ°„μ„ 닀져보기 μœ„ν•˜μ—¬ κΈ°λ‘ν•©λ‹ˆλ‹€.


회고둝의 μž‘μ„±

μž‘λ…„μ—λŠ” 2017λ…„ ν‹°μŠ€ν† λ¦¬ κ²°μ‚° κΈ°λŠ₯을 μ΄μš©ν•˜μ—¬ λΈ”λ‘œκ·Έλ₯Ό κ²°μ‚°ν•˜κ³  ν•œ ν•΄λ₯Ό λ˜λŒμ•„λ³΄λ©° μ–΄λ– ν•œ λΈ”λ‘œκ·Έμ˜ 글이 더 ꡬ독이 λ§Žμ•˜κ³  μ–΄λ– ν•œ 점이 λΆ€μ‘±ν–ˆλŠ”μ§€ 등을 μ•Œμ•„λ³΄λŠ” μ‹œκ°„μ„ κ°€μ‘Œλ‹€.

ν•˜μ§€λ§Œ μ˜¬ν•΄λŠ” λΈ”λ‘œκ·Έμ˜ κΈ€ μˆ˜κ°€ 많이 μ€„μ—ˆκ³ , (ν™•μΈν•΄λ³΄λ‹ˆ 정말 많이 μ€„μ–΄μžˆμ—ˆλ‹€.) 방문자 μˆ˜λ„ μ˜ˆμ „λ§ŒνΌ λͺ»ν•˜μ˜€λ‹€. λ¬Όλ‘  λ‚˜μ˜ κ²ŒμœΌλ¦„μ΄ κ°€μž₯ 큰 원인일 수 μžˆκ² λ‹€. 그리고 이번 ν‹°μŠ€ν† λ¦¬μ—μ„œλŠ” λΈ”λ‘œκ·Έ 결산을 ν•˜μ§€ μ•ŠλŠ”λ‹€κ³ ν•˜λ‹ˆ 마침 νšŒκ³ λ‘μ„ μž‘μ„±ν•˜κΈ° κ°€μž₯ 쒋은 μ‹œκΈ°λΌκ³  μƒκ°λ˜κΈ°λ„ ν•˜μ˜€λ‹€.


2019년에 λ‹¬λΌμ§€λŠ” ν‹°μŠ€ν† λ¦¬
μ•ˆλ…•ν•˜μ„Έμš”. ν‹°μŠ€ν† λ¦¬νŒ€μž…λ‹ˆλ‹€. ν‹°μŠ€ν† λ¦¬λŠ” 더 μ‰½κ²Œ 글을 μ“°κ³ , 잘 보여주고, 보닀 λ‚˜μ€ λ°©λ²•μœΌλ‘œ μœ ν†΅ν•˜λŠ” 방법을 κΎΈμ€€νžˆ κ³ λ―Όν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이 고민을 2019λ…„ ν•œ ν•΄ λ™μ•ˆ μ–΄λ–»κ²Œ ν’€μ–΄κ°ˆ κ³„νšμΈμ§€ μ•Œλ €λ“œλ¦¬λ €..
notice.tistory.com

κ·Έ 와쀑에도 λΈ”λ‘œκ·Έμ˜ 포슀트λ₯Ό κ²Œμ„λ¦¬ ν•˜λ©΄μ„œ μ—¬νƒœκΉŒμ§€ ν•΄μ™”λ˜ 일듀을 μ •λ¦¬ν•˜κ³  이λ₯Ό ν† λŒ€λ‘œ λ‚΄λ…„μ—λŠ” μ–΄λ– ν•œ 일듀을 해볼지 쑰금 μƒκ°ν•΄λ³΄λŠ” μ‹œκ°„μ„ κ°€μ Έλ³΄κΈ°λ‘œ ν–ˆλ‹€.


Algorithm Study

μ§€κΈˆ λ‚΄κ°€ 가지고 μžˆλŠ” μ—­λŸ‰ 쀑에 κ°€μž₯ λΆ€μ‘±ν•˜λ©΄μ„œλ„ μ‹œκΈ‰ν•œ 것은 λ°”λ‘œ μ•Œκ³ λ¦¬μ¦˜ 곡뢀이닀. 사싀 μ•Œκ³ λ¦¬μ¦˜ κ³΅λΆ€λŠ” μ—¬λŸ¬λͺ¨λ‘œ λ‚˜μ˜ 취약점 쀑에 ν•˜λ‚˜λΌκ³  μƒκ°ν•œλ‹€. μˆ˜ν•™μ μΈ 지식은 물둠이옡고 문제 ν‘ΈλŠ” 방식 등이 생각보닀 μ €κΈ‰(?)ν•˜μ—¬ λ§Žμ€ 곡뢀 μ‹œκ°„μ„ μš”κ΅¬ν•˜κ³  μžˆμ§€λ§Œ 사싀상 잘 μ§€μΌœμ§€μ§€ μ•Šκ³  μžˆλ‹€.


Hello Coding 그림으둜 κ°œλ…μ„ μ΄ν•΄ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜ - λΉ„μ „κ³΅μžλ„ λ³Ό 수 μžˆλŠ” ν—¬λ‘œ μ½”λ”©
ν”„λ‘œκ·Έλž˜λ° μ„Έκ³„λ‘œ μ΄ˆλŒ€ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜ μž…λ¬Έμ„œμ΄λ©° λΉ„μ „κ³΅μžλ₯Ό μœ„ν•œ ν—¬λ‘œ μ½”λ”©(Hello Coding) μ‹œλ¦¬μ¦ˆ λ„μ„œλ‹€. 쀑학생 μ΄μƒμ˜ μˆ˜ν•™ μ‹€λ ₯이라면 읽을 수 μžˆλŠ” μ‰¬μš΄ λ‚œμ΄λ„μ˜ μ•Œκ³ λ¦¬λ“¬ λ„μ„œλ‘œ μ „κ³΅μž, λΉ„μ „κ³΅μž λͺ¨λ‘λ₯Ό μœ„ν•œ 파이썬 μ½”λ“œλ‘œ μ ν˜€ μžˆλ‹€.
www.hanbit.co.kr

κ·Έλž˜μ„œ λ‚΄κ°€ μ„ νƒν•œ 것은 μ•Œκ³ λ¦¬μ¦˜μ„ μ’€ 더 재밌게 곡뢀해보기 μœ„ν•΄ 이해가 μ’€ 쉽닀고 μƒκ°ν•΄μ„œ 꼽은 μœ„μ˜ 책을 κ΅¬μž…ν•˜μ—¬ μ•Œκ³ λ¦¬μ¦˜ 곡뢀λ₯Ό μ‹œμž‘ν•˜κ²Œ λ˜μ—ˆλ‹€.

DFS, BFS λ“±λΆ€ν„° μ‹œμž‘ν•˜μ—¬ λ‹€μ΄λ‚˜λ―Ή ν”„λ‘œκ·Έλž˜λ°κΉŒμ§€ 정말 λ§Žμ€ μ•Œκ³ λ¦¬μ¦˜ ν•΄κ²° 방법듀이 μ‘΄μž¬ν•˜μ˜€κ³  이듀을 κ³΅λΆ€ν•˜λŠ” 데 μžˆμ–΄ 어렀움은 μ—†μ—ˆμ§€λ§Œ 아직도 μ‹€μ „μ—μ„œλŠ” λ§Žμ€ 뢀쑱함이 μžˆμ—ˆλ‹€. ν•œ λ¬Έμ œκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ ν•΄κ²° 방법은 μ—¬λŸ¬κ°€μ§€κ°€ μžˆκ² μ§€λ§Œ 이 λ¬Έμ œμ—μ„œ μ–΄λ–€ λ°©λ²•μœΌλ‘œ 풀이 방식을 μ ‘κ·Όν•˜λŠ” 게 Best solution일지, 아직 감을 μž‘κΈ°κ°€ μ–΄λ ΅λ‹€. 일단 무엇보닀도 μ‹€μ œ μ½”λ”©ν…ŒμŠ€νŠΈμ—μ„œλŠ” μ‹œκ°„ 싸움이 μΉ˜μ—΄ν•˜κ²Œ λ²Œμ–΄μ§€κΈ° λ•Œλ¬Έμ— 더 κΈ΄μž₯ν•  수 밖에 μ—†λ‹€.

그리고 λ‚˜λŠ” 이λ₯Ό λ°”νƒ•μœΌλ‘œ μ‹€μ „ μ½”λ”©ν…ŒμŠ€νŠΈμ— μ°Έμ—¬ν•˜κ²Œ λ˜μ—ˆλ‹€. μ‰¬μš΄ μ•Œκ³ λ¦¬μ¦˜ 문제, ν˜Ήμ€ μ•Œκ³ λ¦¬μ¦˜ 외에 μ‹€μ œ GUI ν”„λ‘œκ·Έλž¨μ„ μ½”λ”©ν•˜λŠ” λ“± μ—¬λŸ¬ λ¬Έμ œκ°€ μžˆμ—ˆμ§€λ§Œ λ‚˜μ—κ²Œ μžˆμ–΄ κ°€μž₯ 큰 λ¬Έμ œμ μ€ μ•Œκ³ λ¦¬μ¦˜μ„ ν’€λ©΄μ„œ μ‚¬μš©ν•˜λŠ” μ£Ό λ©”μ†Œλ“œλ“€μ˜ μ‹œκ°„ λ³΅μž‘λ„ 등을 κ³ λ €ν•˜μ§€ μ•Šκ³  ν‘ΈλŠ” 문제점이 μ‘΄μž¬ν–ˆμœΌλ©° 더 ν’ˆμ§ˆ 쒋은 ν”„λ‘œκ·Έλž¨μ„ λ‚΄κΈ° μœ„ν•΄μ„œλŠ” μ΄λŸ¬ν•œ λ©”μ†Œλ“œλ“€μ˜ νŠΉμ„±μ„ κ³ λ €ν•˜κ³  μ„€κ³„ν•˜λ©° ν”„λ‘œκ·Έλž˜λ°μ„ ν•΄μ•Όλ§Œμ„ μ•Œ 수 μžˆμ—ˆλ‹€.


Back-end Development

λ‚˜λŠ” 이전뢀터 λ¦¬λˆ…μŠ€ μ„œλ²„μ— λŒ€ν•΄ 관심이 λ§Žμ•˜μ—ˆκ³  이λ₯Ό λ°œνŒμ‚Όμ•„ κ΅°μƒν™œ λ™μ•ˆ μ „μ‚°μ‹€μ—μ„œ κ·Όλ¬΄ν–ˆλ˜ κ²½ν—˜μ„ 가지고 μ‹€μ œ μ„œλ²„ μš΄μ˜μ— 이바지λ₯Ό ν•œ 적도 μžˆμ—ˆλ‹€.

이λ₯Ό λ°”νƒ•μœΌλ‘œ 직접 μ„œλ²„λ₯Ό κ°œλ°œν•΄λ³΄μžλΌλŠ” λ§ˆμŒμ„ κ°€μ§€κ²Œ λ˜μ—ˆκ³ , μˆ˜λ§Žμ€ ν”„λ ˆμž„μ›Œν¬ 쀑 Spring boot와 Flaskλ₯Ό κ³΅λΆ€ν•˜κ²Œ λ˜μ—ˆλ‹€. λ¬Όλ‘  이듀 ν”„λ ˆμž„μ›Œν¬μ— λŒ€ν•΄ μ „μ²΄μ μœΌλ‘œ κ³΅λΆ€ν•œ 것이 μ•„λ‹Œ λ°±μ—”λ“œ μ„œλ²„ κΈ°λŠ₯ μ€‘μ—μ„œλ„ κ°€μž₯ κΈ°λ³Έ 골격인 Restful API에 λŒ€ν•΄μ„œλ§Œ 끄적여 λ΄€λ‹€.

REST APIλ₯Ό 처음 μ ‘ν–ˆμ„ λ•Œ 이 μΈν„°νŽ˜μ΄μŠ€λ‘œ ν•  수 μžˆλŠ” 것이 정말 λ§Žλ‹€λŠ” 것을 μ•Œμ•˜λ‹€. 기본적인 μ‡Όν•‘λͺ°λΆ€ν„° ν•˜μ—¬ λ‚˜μ˜ ν™ˆνŽ˜μ΄μ§€ 관리, 둜그 λ“± μ£Όμš” μ‹œμŠ€ν…œμ˜ κΈ°λŠ₯듀을 이둜 κ΅¬ν˜„ν•  수 μžˆλ‹€λŠ” 것에 ꡉμž₯히 놀라웠고 λ‚˜λŠ” 이λ₯Ό λ°”νƒ•μœΌλ‘œ 무언가λ₯Ό λ§Œλ“€μ–΄λ³΄κΈ°λ‘œ ν–ˆλ‹€.

ν•™κ΅λŠ” μ‘Έμ—…ν–ˆμ§€λ§Œ 이전에 λ‹€λ‹ˆκ³  μžˆμ—ˆλ˜ λ™μ•„λ¦¬μ˜ μ΄λ¦„μœΌλ‘œ 챗봇을 ν•˜λ‚˜ κ°œλ°œν•˜μ˜€λ‹€. 동아리λ₯Ό ν™λ³΄ν•˜λŠ” κ²Έ νšŒμ›λ“€μ˜ νŽΈμ˜μ‚¬ν•­μœΌλ‘œ 식단과 λ²„μŠ€ 정보λ₯Ό 확인할 수 μžˆλŠ” κ°„λ‹¨ν•œ μ±—λ΄‡μ΄μ—ˆλ‹€.

Restful APIλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°œλ°œν•˜μ˜€κ³  Python의 Flaskλ₯Ό μ‚¬μš©ν•˜μ˜€λ‹€. 무엇보닀도 λ‹¨μˆœ 챗봇이기 λ•Œλ¬Έμ— 가볍고 λΌμ΄νŠΈν•œ Flask ν”„λ ˆμž„μ›Œν¬κ°€ 제격이라고 νŒλ‹¨ν•˜μ˜€λ‹€. ν˜„μž¬ 이 μ„œλΉ„μŠ€λŠ” Amazon Web Servicesμ—μ„œ MSA(Micro-Service Architecture) ν˜•νƒœλ‘œ 운영 쀑에 μžˆλ‹€.

ν•˜μ§€λ§Œ κ³΅κ΅λ‘­κ²Œλ„ κΈ°μ‘΄ APIλ₯Ό μ‚¬μš©ν•œ 챗봇 μ„œλΉ„μŠ€κ°€ 2019λ…„ 12μ›” 31일을 λ§ˆμ§€λ§‰μœΌλ‘œ μ„œλΉ„μŠ€κ°€ μ’…λ£Œλœλ‹€κ³  ν•œλ‹€. μ‹œκ°„μ΄ λœλ‹€λ©΄ λ‹€λ₯Έ 챗봇을 κ°œλ°œν•˜μ—¬ μ„œλΉ„μŠ€ν•΄λ³Ό 생각도 ν–ˆμ—ˆμ§€λ§Œ μ•„μ‰½κ²Œλ„ μ΄λŠ” μ‹€ν–‰λ˜μ§€ λͺ»ν•  것 κ°™λ‹€.

Source Code


Challenge Hackathon

해컀톀을 ν•œ 번 도전 ν•΄λ³΄μžλΌλŠ” 생각은 κ½€ 많이 μžˆμ—ˆμ—ˆλ‹€. ν•˜μ§€λ§Œ μ‘Έμ—…ν•˜κΈ° μ „ μ‹œμ¦Œμ—λŠ” μ·¨μ—… 쀀비도 μžˆμ—ˆκ³  λ‚˜λŠ” κ·Έλž˜μ„œ 자유둜운 해컀톀인 GCPUG Hackathon 2018에 μ°Έμ—¬ν•΄λ³΄κΈ°λ‘œ ν–ˆμ—ˆλ‹€. 무엇보닀도 경쟁이 μ•„λ‹Œ 자유둭게 무언가에 λ„μ „ν•΄λ³΄μž λΌλŠ” 뢀담감이 λœν•œ ν•΄μ»€ν†€μ΄λΌλŠ” 점과 μ„œλ²„μ— 관심이 μžˆλŠ” ν•œ μ—”μ§€λ‹ˆμ–΄λ‘œμ¨ ν΄λΌμš°λ“œμ™€ 직접 μ„œλ²„λ₯Ό μš΄μ˜ν•˜λŠ” κ²ƒμ—λŠ” μ–΄λ– ν•œ λ°©μ‹μ˜ 차이가 μžˆλŠ”μ§€λ„ κ²½ν—˜ν•΄λ³΄κ³  μ‹Άμ—ˆκΈ° λ•Œλ¬Έμ΄λ‹€.

ν•˜μ§€λ§Œ μ‹œκ°„μ€ λ‚˜λ₯Ό ν—ˆλ½ν•΄μ£Όμ§€ μ•Šμ•˜λ‹€. 마침 당일에 κΈ‰νžˆ λ©΄μ ‘ 일정이 작히게 λ˜μ—ˆκ³ , λ‚˜λŠ” λΆ€λ“μ΄ν•˜κ²Œ 이 일정을 μ·¨μ†Œν•  수 밖에 μ—†μ–΄, ν•΄μ»€ν†€μ˜ μ°Έμ—¬κΈ°νšŒλŠ” κ·Έλ ‡κ²Œ λ¬΄μ‚°λ˜κ³  λ§μ•˜λ‹€. μ·¨μ—…μ˜ 길에 λ†“μ—¬μžˆλŠ” μ‚¬λžŒμœΌλ‘œμ¨ 면접보닀 해컀톀을 더 μ€‘μš”μ‹œν•  μˆ˜λŠ” μ—†μ—ˆκΈ° λ•Œλ¬Έμ΄λ‹€.

λͺ‡ μ£Ό λ’€, λ‚˜λŠ” λͺ¨ νšŒμ‚¬μ—μ„œ μ£Όμ΅œν•˜λŠ” 해컀톀 곡고문을 보게 λ˜μ—ˆλ‹€.


MIDAS Challenge 2018
MIDAS Challenge 2018은 μš°μˆ˜ν•œ 개발자λ₯Ό λ°œκ΅΄ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ 개발 κ²½μ§„λŒ€νšŒμž…λ‹ˆλ‹€.
challenge.midasit.com

μ§€κΈˆλ„ 이 νŽ˜μ΄μ§€κ°€ 아직 μ‚΄μ•„μžˆλŠ”λ°, μ•„λ§ˆ 차후년도에 변경될 λ“―ν•˜λ‹€. μ–΄μ¨Œλ“  λ‚˜λŠ” 이 해컀톀에 μ°Έμ—¬ν•˜κΈ° μœ„ν•΄ νŽ˜μ΄μ§€λ₯Ό λ°©λ¬Έν–ˆμ—ˆλ‹€.

그런데 이 해컀톀은 λ‹€λ₯Έ 해컀톀과 λ‹€λ₯΄κ²Œ μ°Έκ°€ μžκ²©μ— μ œν•œμ΄ μžˆμ—ˆλ‹€. μžμ„Ένžˆ λ³΄λ‹ˆ 이 해컀톀은 μ±„μš©κ³Ό κ΄€λ ¨λœ ν•΄μ»€ν†€μ΄μ—ˆκ³  κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μΌμ’…μ˜ μ„œλ₯˜μ „ν˜•κ³Ό μ½”λ”©ν…ŒμŠ€νŠΈκ°€ μ‘΄μž¬ν–ˆλ‹€. 해컀톀에 λ„μ „ν•΄λ³΄κ² λ‹€λŠ” 생각은 변함이 μ—†μ—ˆκΈ° λ•Œλ¬Έμ— 과감히 λ‚˜λŠ” 이 과정에 λͺ¨λ‘ μ°Έμ—¬ν•΄λ³΄κΈ°λ‘œ ν–ˆλ‹€.


그리고 λ‹Ήλ‹Ήνžˆ 해컀톀 μ˜ˆμ„ μ— ν•©κ²©ν•˜μ˜€κ³ , μ˜€λ¦¬μ—”ν…Œμ΄μ…˜μ— μ°Έκ°€ν•˜κ³ μž ν•˜μ˜€λ‹€. 그런데 해컀톀에 μ˜ˆμ„  ν•©κ²©ν•˜κ³ λ‚˜μ„œ μƒκ°λ‚œκ²Œ μžˆμ—ˆλ‹€. 'λ‚΄κ°€ μ–΄λŠ ν¬μ§€μ…˜μ— μ§€μ›ν–ˆλ”λΌ?'

μ–΄μ¨Œλ“  첫 ν•΄μ»€ν†€μ΄μ—ˆκ³  μ°Έμ—¬ν•˜κΈ° μ „λΆ€ν„° μ„€λ ˆμž„κ³Ό κΈ΄μž₯감이 κ°€λ“ν–ˆμ—ˆλ‹€. λͺ¨λ₯΄λŠ” μ‚¬λžŒλ“€κ³Ό 같이 κ°œλ°œν•œλ‹€λŠ” 것 κ³Όμ—° μ–΄λ–€ 즐거움이 있고 단점이 μžˆμ„κΉŒ λΌλŠ” 생각이 κ°€λ“ν–ˆμ—ˆλ‹€. μ–΄μ©Œλ©΄ 이 개발 κ²½ν—˜μ΄ μ•žμœΌλ‘œ μ°¨ν›„μ˜ λ‚˜μ˜ νšŒμ‚¬ μƒν™œκ³Όλ„ 연관이 μžˆμ„ 것이고 이에 λŒ€ν•œ 사전 μ—°μŠ΅μ΄λΌ μƒκ°ν•˜κ³  긍정적인 마음으둜 μ°Έμ—¬ν•˜μ˜€λ‹€.

해컀톀애 μ°Έμ—¬ν•œ μ§€λ§‰ν•œ ν›„κΈ°λŠ” μ„œλ‘œ λͺ¨λ₯΄λŠ” μ‚¬λžŒλΌλ¦¬ κ°œλ°œν•˜λ©΄μ„œ λ‚˜νƒ€λ‚˜λŠ” 즐거움과 μ„œλ‘œκ°€ 가지고 μžˆλŠ” 문제점과 κ³ λ―Ό 등을 자유둭게 이야기할 수 μžˆλŠ” μ‹œκ°„ 등을 κ°€μ§ˆ 수 μžˆμ—ˆλ‹€λŠ” 것에 ꡉμž₯히 λ§Žμ€ λ³΄λžŒμ„ λŠκΌˆλ‹€. 그리고 먹을 κ±° κ±±μ •μ•ˆν•˜κ³  κ°œλ°œν•  수 μžˆλ‹€λŠ” 것. (이거 정말 쒋은 것 κ°™λ‹€. 그런데 μ§„μ§œ μ‹œκ°„ 생각 없이 κ°œλ°œν•˜κ³  μžˆλŠ”λ°, 먹을 게 계속 λ‚˜μ˜¨λ‹€. ) 그런데 이게 또 μ•ˆμ’‹μ€ 점이 μžˆλ‹€. 개발 진척이 잘 μ•ˆλ˜κ³  μžˆλŠ”λ°, 벌써 λ°₯μ‹œκ°„. 음 μ΄κ±°λŠ” 정말 λ‹Ήν™©μŠ€λŸ½μ§€ μ•Šμ„ 수 μ—†μ—ˆλ‹€. λ”μš±μ΄ 이 해컀톀은 μ·¨μ—…κ³Ό μ—°κ³„λ˜μ–΄ μžˆλŠ” ν•΄μ»€ν†€μ΄κΈ°λ„ν•΄μ„œ λ‚΄κ°€ ν˜Ήμ‹œ 잘 ν•˜μ§€ λͺ»ν•΄ 이 λΆ„λ“€μ˜ μ·¨μ—…μ˜ 걸림돌이 λ˜μ§€ μ•Šμ„κΉŒ λΌλŠ” μš°λ €λ„ μ‘°κΈˆμ€ μžˆμ—ˆλ‹€. 그런 뢀담감이 μžˆμ–΄μ„œ κ·Έλž¬λŠ”μ§€λŠ” λͺ°λΌλ„ 생각보닀 λ°±μ—”λ“œ ν¬μ§€μ…˜μ—μ„œ λ‚˜μ˜ 역할은 μƒˆλ²½ 2μ‹œμ— λ¬΄μ‚¬νžˆ 마칠 수 μžˆμ—ˆλ‹€.

해컀톀 이후, μ’€ 무리가 μžˆμ—ˆλ˜ 것은 μž μ„ λͺ»μž” 탓에 λͺΈμ— ν”Όλ‘œκ°€ 많이 μŒ“μΈλ‹€λŠ” 점이닀. λ§Œμ•½ νšŒμ‚¬ μƒν™œμ„ ν•˜λ©΄μ„œ 해컀톀을 ν•˜λŠ” 것이라면? κ·Έ μ „ 날에 νœ΄κ°€ μ“°λŠ” 것을 맀우 μ‹¬κ°ν•˜κ²Œ κ³ λ €ν•˜λŠ” 것을 μΆ”μ²œ.

Source Code


Open Source Contribution

해컀톀이 마무리되고 λ‚œ ν›„, λ‚˜λŠ” 취직을 ν•˜κ²Œ λ˜μ—ˆλ‹€. κ·Έκ³³μ—μ„œ 데이터 μ—”μ§€λ‹ˆμ–΄ 업무λ₯Ό 맑게 λ˜μ—ˆκ³  μ—¬κΈ°μ„œ 맑은 첫 ν”„λ‘œμ νŠΈλŠ” μ˜μƒμ˜ν•™ μ΄λ―Έμ§€μ˜ 곡톡 데이터 λͺ¨λΈμ„ κ°œλ°œν•˜λŠ” κ²ƒμ΄μ—ˆλ‹€. 곡톡 데이터 λͺ¨λΈμ΄λž€, 흩어진 데이터λ₯Ό μΌμ •ν•œ 뢄석 μš©λ„λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ λͺ¨μΈ 곡톡 데이터 ν˜•νƒœλ‘œμ¨ CDM(Common Data Model)이라고도 ν•œλ‹€. μ‹€μ œλ‘œ μ˜ν•™ λ°μ΄ν„°μ—μ„œ 많이 μ“°λŠ” μš©μ–΄μΈ λ“―ν–ˆλ‹€.

μ—¬κΈ°μ—μ„œ μΌν•˜λ©΄μ„œ 이 곳이 μ˜€ν”ˆ μ†ŒμŠ€ 라이브러리, λͺ¨λ“ˆ, ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜κ³  μžˆμ—ˆλ‹€. 특히 ν•œ 그룹의 μ˜€ν”ˆ μ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό 많이 μ‚¬μš©ν•΄μ„œ μ—¬κΈ°μ„œ μ„œλ²„ 관리 업무도 λ™μ‹œμ— λ§‘λ‹€λ³΄λ‹ˆ 그에 κ΄€ν•œ λ¬Έμ œμ— λŒ€ν•΄ 고민을 많이 ν•˜κ²Œ λ˜μ—ˆλ‹€.

μ†Œν”„νŠΈμ›¨μ–΄μ— λŒ€ν•œ 문제λ₯Ό ν•΄κ²°ν•œλ‹€λŠ” 것은 개발자둜써의 κΈ°λ³Έ μ—­λŸ‰μ΄κΈ°λ„ ν–ˆλ‹€. ν•˜μ§€λ§Œ λ‚΄κ°€ λ§Œλ“  μ†Œν”„νŠΈμ›¨μ–΄κ°€ μ•„λ‹Œ λ‹€λ₯Έ 3자의 μ†Œν”„νŠΈμ›¨μ–΄μ— λ¬Έμ œκ°€ μžˆμ–΄ μ½”λ“œλ₯Ό μˆ˜μ •ν•΄μ•Ό ν•œλ‹€λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν• κΉŒ? κ·Έλƒ₯ λ‚΄κ°€ μˆ˜μ •ν•˜κ³  λ‚˜λ§Œ μ‚¬μš©ν•˜λŠ” 것이 λ§žλŠ” 걸까? μ•„λ‹ˆλ©΄ 버전 κ΄€λ¦¬λ‚˜ μœ μ§€λ₯Ό μœ„ν•΄μ„œ 이λ₯Ό issue에 λ“±λ‘ν•˜κ³  μ½”λ“œλ₯Ό κΈ°μ—¬ν•˜λŠ” 것이 λ§žλŠ” 걸까?

사싀 μ·¨μ§ν•˜κΈ° 전에도 많이 μƒκ°ν–ˆλ˜ λΆ€λΆ„ 쀑에 ν•˜λ‚˜μ˜€λ‹€. μ½”λ“œλ₯Ό κΈ°μ—¬ν•œλ‹€λŠ” 것. 그것은 무슨 μ˜λ―Έκ°€ μžˆλŠ” κ²ƒμΌκΉŒ? 이 생각을 ν•  λ•Œλ§ˆλ‹€ 가끔은 λ‚΄κ°€ 개발 μ—­λŸ‰μ΄ 아직도 λ©€μ—ˆκ΅¬λ‚˜ λΌλŠ” μ—‰λš±ν•œ 생각을 ν•œ 적도 μžˆμ—ˆκ³  μ–΄μ©Œλ©΄ 처음으둜 μ΄λŸ¬ν•œ ν™œλ™μ„ ν•˜κΈ° 전에 μ΄λŸ¬ν•œ 생각을 ν•œλ‹€λŠ” 것은 λ‹Ήμ—°ν•œ 것이닀. λΌλŠ” 생각을 가지기도 ν–ˆμ—ˆλ‹€. ν•˜μ§€λ§Œ λ‚΄ 닡은 μ΄κ±°μ˜€λ‹€. λ‚΄κ°€ 이 μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό 계속 μ“°λŠ” 이상 이것이 문제인 것을 μ•Œμ•˜κ³  이것이 μ°¨κΈ° 버전에도 영ν–₯을 λ―ΈμΉ˜λŠ” 것이라면 κ³΅μ‹μ μœΌλ‘œ issueλ₯Ό μ œκΈ°ν•˜κ³  λͺ…ν™•ν•˜κ²Œ 문제 해결을 μ œμ‹œν•˜κ±°λ‚˜ μ„œλ‘œ ν’€μ–΄λ‚˜κ°€λŠ” 것이 λ§žλ‹€κ³  λ΄€λ‹€.

처음으둜 λ°œκ²¬ν•œ μ΄μŠˆμ— λŒ€ν•΄μ„œλŠ” 큰 μ΄μŠˆκΉŒμ§€λŠ” μ•„λ‹ˆμ—ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜configuration 쀑 Microsoft SQL Server와 μ—°λ™ν–ˆμ„ λ•Œ λ°œκ²¬ν•œ λ¬Έμ œμ˜€λŠ”λ°, λ‹¨μˆœ μ½”λ“œ μ˜€νƒ€λ‘œ 생긴 였λ₯˜μ—¬μ„œ issue에 올렀 ν•΄κ²°ν•  λ¬Έμ œκΉŒμ§€λΌκ³ λŠ” μ•„λ‹ˆλΌ μƒκ°ν–ˆλ‹€. ν•˜μ§€λ§Œ μ§€κΈˆμ—μ™€μ„œ 생각해보면 μ΄λŸ¬ν•œ 문제 ν•΄κ²° 방법이 λ³„λ‘œ μ’‹λ‹€κ³  λŠλΌμ§€ λͺ»ν•  λ•Œκ°€ 많이 μžˆμ—ˆλ‹€.


곡톡 데이터 λͺ¨λΈμ„ κ°œλ°œν–ˆμ„ λ•Œ λ‚˜λŠ” DatabaseConnectorλΌλŠ” R의 νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν–ˆμ—ˆλ‹€. μ—¬κΈ°μ—μ„œλŠ” Data frame을 insert ν•΄μ£ΌλŠ” ν•¨μˆ˜λ„ μžˆμ—ˆλŠ”λ°, κ³΅κ΅λ‘­κ²Œλ„ 이 ν•¨μˆ˜κ°€ DATETIMEμ΄λ‚˜ BIGINT μžλ£Œν˜•μ— λŒ€ν•΄μ„œ μ•„λ¬΄λŸ° 지원을 ν•˜μ§€ μ•Šμ•˜λ‹€λŠ” 것이 아쉬웠닀. κ·Έλž˜μ„œ λ‚˜λŠ” 이 λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ DATETIME, BIGINT νƒ€μž…μ˜ μ‚½μž…μ„ μ§€μ›ν•˜λ„λ‘ μ½”λ“œλ₯Ό κΈ°μ—¬ν•˜μ˜€λ‹€.

BIGINT 지원이 R μ½”λ“œμ—μ„œ 잘 μˆ˜ν–‰λ˜μ§€ μ•Šμ€ μ΄μœ λŠ” Rμ—μ„œλŠ” C++λ‚˜ Java처럼 κΈ°λ³Έ μžλ£Œν˜•μœΌλ‘œ INT64λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ΄λ‹€. κ·Έλ ‡λ‹€λ©΄ 2^32 μ΄μƒλ˜λŠ” μˆ«μžλŠ” μ–΄λ–»κ²Œ ν‘œν˜„μ„ ν•˜λƒ? FLOAT둜 ν‘œν˜„ν•΄μ•Όν•œλ‹€. λ‚˜λŠ” 이 뢀뢄을 λ„ˆλ¬΄ 뢈편히 μ—¬κ²Όλ‹€. ν•˜μ§€λ§Œ μ΄λŸ¬ν•œ μžλ£Œν˜•μ΄ 없어도 BIGINTλ₯Ό μ‚½μž…ν•  수 μžˆλ„λ‘ κ΅¬ν˜„ν•˜λŠ” 것은 큰 λ¬Έμ œκ°€ λ˜μ§€ μ•Šμ•˜μŒμ„ μ•Œμ•˜κΈ°μ— 그리고 λ‚˜μ™€ 같은 생각을 ν•˜λ©΄μ„œ κ°œμ„ μ„ 바라고 μžˆλ‹€λŠ” μ‚¬λžŒμ΄ μžˆμ„ 수 μžˆλ‹€λŠ” 생각에 과감히 μ½”μ–΄ 뢀문에도 μ½”λ“œλ₯Ό κΈ°μ—¬ν•˜κ²Œ λ˜μ—ˆλ‹€.

λ¬Όλ‘  μ˜€ν”ˆ μ†ŒμŠ€μ˜ κΈ°μ—¬κ°€ 항상 Accept λ˜λŠ” 것은 μ•„λ‹ˆμ—ˆλ‹€. λͺ‡ κ°œμ›” μ „ νšŒμ‚¬μ—μ„œ μ‚¬μš©ν•˜κ³  μžˆλŠ” μ›Ή ν”„λ ˆμž„μ›Œν¬ 쀑 ν•˜λ‚˜μ— XSS 취약점 λ¬Έμ œκ°€ μžˆμ–΄ 문제점 μ½”λ“œλ₯Ό μˆ˜μ •ν•˜κ³  PR을 μ˜¬λ Έμ§€λ§Œ ν•΄λ‹Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λ””μžμΈ νŒ¨ν„΄κ³Ό μ ν•©ν•˜μ§€ μ•Šλ‹€λŠ” 이유둜 Reject λ˜κ±°λ‚˜ 보λ₯˜λ˜κΈ°λ„ ν•˜μ˜€λ‹€. ν•œ λ•Œ λ°±μ—”λ“œ κ°œλ°œμ„ κ³΅λΆ€ν–ˆλ˜ μ‚¬λžŒμœΌλ‘œμ¨ 이 뢀뢄은 λ‚˜ μžμ‹ μ—κ²Œ 싀망을 감좔지 μ•Šμ„ 수 μ—†μ—ˆλ‹€.

GithubλΌλŠ” 것을 μ‚¬μš©ν•œ 것은 μ˜¬ν•΄λ‘œ 3년이 λ˜μ–΄κ°„λ‹€. λ¬Όλ‘  μ•ˆ 것은 2012λ…„ λ•ŒλΆ€ν„°μ˜€μ§€λ§Œ κ΅° μƒν™œ 등을 이유둜 μ‚¬μš©ν•˜μ§€ μ•Šμ•˜λ‹€. μ—¬νƒœκΉŒμ§€λŠ” μ†ŒμŠ€ μ½”λ“œ λ³΄κ΄€μš©μ΄λ‚˜ μ•„λŠ” μ‚¬λžŒκ³Ό 같이 ν•˜λŠ” ν”„λ‘œμ νŠΈλ₯Ό ν•  λ•Œ μ‚¬μš©ν•˜λŠ” 정도가 μ „λΆ€μ˜€κ³  λ‹€λ₯Έ μ†Œν”„νŠΈμ›¨μ–΄ μ½”λ“œμ— 직접적인 μ½”λ“œλ₯Ό κΈ°μ—¬ν•˜μ—¬ μ°Έμ—¬ν•œ 것은 이번이 μ²˜μŒμ΄μ—ˆλ‹€. λ‘λ €μ› λ˜ 것은 μ˜μ–΄λΌλŠ” 높은 μž₯벽이 μžˆμ—ˆκΈ° λ•Œλ¬Έμ΄λ‹€. λ¬Όλ‘  μ½”λ“œ λ¦¬λ”©ν•˜λŠ” 것도 λ¦¬λ·°ν•˜λŠ” 것도 많이 λΆ€μ‘±ν–ˆλ˜ 것이 사싀이닀. ν•˜μ§€λ§Œ 기본적인 μ˜μ‚¬μ†Œν†΅μ΄ μ–΄λ ΅λ‹€λ©΄ μ–΄λ–»κ²Œ μ½”λ“œλ₯Ό κΈ°μ—¬ν•  수 μžˆκ² λŠ”κ°€, ν•˜μ§€λ§Œ 이번 μ½”λ“œ κΈ°μ—¬λ₯Ό 톡해 μ•Œκ²Œ 된 것은 Tryν•˜λŠ” 것을 λ‘λ €μ›Œν•˜μ§€ λ§μžλΌλŠ” 것이닀. μ§€κΈˆλ„ μ˜μ–΄λΌλŠ” μž₯벽이 λ„ˆλ¬΄ λ†’μ•„ μ†Œν†΅μ΄ 잘 μ•ˆλ˜μ§€λ§Œ μ΄λ ‡κ²Œ μ½”λ“œλ₯Ό κΈ°μ—¬ν•˜λŠ” μŠ΅κ΄€μ„ 듀이닀보면 μ–Έμ  κ°„ λ‚΄ μ˜μ–΄ μ‹€λ ₯도 ν–₯상이 λ˜μ§€ μ•Šμ„κΉŒ? γ… ...


μ•žμœΌλ‘œμ˜ κ³„νš...

2018λ…„μ—λŠ” 정말 λ§Žμ€ 일이 μžˆμ—ˆλ‹€. μ•„λ§ˆ λ‚΄κ°€ λΈ”λ‘œκ·Έ ν™œλ™μ„ λͺ‡ κ°œμ›” μ•ˆν•œ λ™μ•ˆ λ‚˜μ˜ Github Contribution λ„νŠΈκ°€ μŒ“μ—¬μžˆλ‹€. 음 결둠적으둜 λ§ν•˜μžλ©΄ 여기에 벌써 재미 뢙인 것 κ°™λ‹€;; μ•žμœΌλ‘œλ„ λ‚΄κ°€ 이 ν™œλ™μ„ κ³„μ†ν•˜λŠ” λ™μ•ˆ μ§€κΈˆν•˜κ³  μžˆλŠ” κ·Έλ£Ή 뿐만이 μ•„λ‹ˆλΌ λ‹€λ₯Έ μ–΄λ”˜κ°€μ—μ„œλ„ μ½”λ“œ κΈ°μ—¬λ₯Ό ν•˜κ³  μžˆμ„ 것이닀.

2019λ…„μ—λŠ” Deep Learning을 쑰금 μ΅ν˜€λ³΄κ³ μž ν•œλ‹€. μ§€κΈˆ λ‚΄κ°€ λ‹€λ‹ˆκ³  μžˆλŠ” νšŒμ‚¬μ—μ„œλŠ” 데이터λ₯Ό 주둜 닀루고 있고 μ§€κΈˆμ€ ETL λͺ¨λ“ˆ 초기 버전을 μ™„μ„±ν•œ 것이 μ „λΆ€λ‹€. λ¬Όλ‘  κ·Έ 데이터 λͺ¨λΈμ„ κΈ°λ°˜μœΌλ‘œν•˜μ—¬ κ°„λ‹¨ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•˜κΈ°λ„ ν–ˆμ§€λ§Œ 사싀상 κ°„λ‹¨ν•˜κ³  λ‹¨μˆœν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄κΈ° λ•Œλ¬Έμ— R μ–Έμ–΄λ₯Ό μ—°μŠ΅ν•˜λŠ” μš©λ„μ— κ·ΈμΉ˜λŠ” 정도닀. 깊게 κ³΅λΆ€ν•˜μ§€ μ•Šμ•„λ„ λ˜μ„œ λˆ„κ΅¬λ‚˜ μ‰½κ²Œ κ°œλ°œν•  μˆ˜λ„ μžˆλ‹€.

μ˜¬ν•΄ νšŒμ‚¬μ— μž…μ‚¬ν•΄μ„œ Deep Learning에 λŒ€ν•΄ μ•„μ˜ˆ 곡뢀λ₯Ό ν•˜μ§€ μ•Šμ•˜λ˜ 것은 μ•„λ‹ˆμ—ˆλ‹€. ν•˜μ§€λ§Œ 생각보닀 이 λ…€μ„ν•œν…Œ ν₯λ―Έλ₯Ό κ°€μ§„λ‹€λŠ” 것이 쉽지 μ•Šμ•˜λ‹€. ν•™νšŒλ„ λͺ‡ 번 κ°”μ—ˆκ³  κ·Έλ₯Ό ν†΅ν•΄μ„œ λ‹€λ₯Έ μ‚¬λžŒλ“€μ˜ ν”„λ‘œμ νŠΈλ„ μ‚΄νŽ΄λ³΄κ³  μ–΄λ–»κ²Œ μ‚¬μš©ν–ˆλŠ”μ§€, λ¬Έμ œμ μ€ 무엇이 μžˆμ—ˆλŠ”μ§€ λ“± λ‹€λ°©λ©΄μœΌλ‘œ 보고 λ‚˜λ¦„λŒ€λ‘œ κ³΅λΆ€ν•΄λ΄€μ§€λ§Œ μ—¬μ „νžˆ ν₯λ―Έλ₯Ό 느끼고 μžˆμ§€ λͺ»ν–ˆλ‹€. ν•˜μ§€λ§Œ μˆ˜ν™•μ΄ μ—†μ—ˆλ˜ 것은 μ•„λ‹ˆλ‹€. ν•™μŠ΅μ΄ μ–΄λ–»κ²Œ μ΄λ£¨μ–΄μ§€λŠ”μ§€, μ–΄λ–€ μ‹μœΌλ‘œ μ ‘κ·Όν•΄μ•Όν•˜λŠ”μ§€ μ •λ„λŠ” 이해할 수 μžˆμ—ˆκ³  μ‹€μ œλ‘œ λ¨Έμ‹ λŸ¬λ‹ μ—”μ§€λ‹ˆμ–΄λ“€μ΄ ν•˜λŠ” 일이 μ–΄λ–€ 일이고 이것이 λ‚˜μ€‘μ— μ–΄λ–»κ²Œ μ‚¬μš©λ μ§€ μ •λ„λŠ” λŒ€μΆ© 감은 μž‘μ„ 수 μžˆμ—ˆλ‹€.

νšŒμ‚¬μ— λ“€μ–΄κ°€κΈ° μ „ κ²½ν—˜ν•œ 첫 해컀톀 μ°Έμ—¬ 그리고 μ±—λ΄‡μ˜ 개발 λ“± μ˜¬ν•΄λŠ” λ‚˜μ—κ²Œ μžˆμ–΄ ν”„λ‘œμ νŠΈμ— λŒ€ν•œ 이야기가 많이 μ‘΄μž¬ν–ˆλ‹€. λ¬Όλ‘  μ½”μ•žμ˜ 취업도 μžˆμ—ˆκ³  무엇보닀 학ꡐλ₯Ό μ‘Έμ—…ν–ˆκΈ° λ•Œλ¬Έμ— 그만큼 곡백의 μ‹œκ°„λ„ 많이 μžˆμ—ˆκΈ° λ•Œλ¬Έμ΄λΌκ³  μƒκ°ν•œλ‹€.

비둝 짧은 6κ°œμ›” λ™μ•ˆμ˜ νšŒμ‚¬ μƒν™œμ΄μ—ˆκ³  Deep Learning을 κ³΅λΆ€ν•˜λŠ” 것도 λ‚¨λŠ” μ‹œκ°„μ— 짬짬이 ν•˜λŠ” μ•„μ£Ό κΉ¨μ•Œκ°™μ€ μ‹œκ°„μ΄μ—ˆμ§€λ§Œ 이 μ‹œκ°„λ™μ•ˆ μ˜€ν”ˆ μ†ŒμŠ€ κΈ°μ—¬, ETLκ³Ό 데이터 처리의 곡뢀 λͺ¨λ“ˆμ˜ 개발 등을 ν•  수 μžˆμ–΄ λ‚˜λ¦„ λœ»κΉŠμ€ μ‹œκ°„μ„ λ³΄λƒˆλ‹€κ³  μƒκ°ν•œλ‹€. κ·Έλž˜μ„œ μ•žμœΌλ‘œ 더 μ˜€ν”ˆ ν”„λ‘œμ νŠΈ 기여에 μ§‘μ€‘ν•˜κ³  κ΅¬κΈ€μ—μ„œ μ œκ³΅ν•˜λŠ” λ¨Έμ‹  λŸ¬λ‹ 단기 집쀑 과정을 ν†΅ν•΄μ„œ 본격적인 곡뢀λ₯Ό μ‹œμž‘ν•΄λ³΄κ³  μ˜¬ν•΄ κ°œλ°œν•΄ λ³Έ 데이터 λͺ¨λΈμ— μ–΄λ–»κ²Œ μ‚¬μš©ν•  수 μžˆμ„μ§€ 고민을 ν•΄ λ³Ό ν•„μš”κ°€ μžˆκ² λ‹€.

μ˜¬ν•΄ κ³΅λΆ€ν•œ μ•Œκ³ λ¦¬μ¦˜ κ³΅λΆ€λŠ” λ‚˜μ˜ 개발 μ—­λŸ‰μ„ λ†’μ΄λŠ” 데 쀑좔적인 역할을 ν•˜μ˜€λ‹€. ν•˜μ§€λ§Œ μ§€κΈˆλ„ 가끔 μ•Œκ³ λ¦¬μ¦˜ 문제λ₯Ό ν’€κ³  있고 ν’€ λ•Œλ§ˆλ‹€ λŠλΌλŠ” 것은 "κ³Όμ—° 이게 μ΅œμ„ μΈκ°€"이닀. 더 쒋은 μ½”λ“œ, κΉ”λ”ν•œ μ½”λ“œλ₯Ό λ§Œλ“€ 수 μžˆμ„ 것 같은데 λΌλŠ” 생각은 가지고 μžˆμ§€λ§Œ λ§ˆμ§€λ§‰μ— 닡을 λ³΄κ±°λ‚˜ λˆ„κ΅°κ°€κ°€ 리뷰λ₯Ό ν†΅ν•΄μ„œμ•Ό μ•Œκ²Œ λœλ‹€. κ·Έλž˜μ„œ λ‚˜λŠ” μ§€κΈˆλ„ μ½”λ“œ 리뷰λ₯Ό ꡉμž₯히 μ€‘μš”ν•˜κ²Œ μ—¬κΈ°κ³  있고 그것을 λˆ„κ΅°κ°€κ°€ ν•΄μ€€λ‹€κ³  ν•œλ‹€λ©΄ 기꺼이 ν™˜μ˜ν•œλ‹€. ν•˜μ§€λ§Œ μ§€κΈˆ λ‚΄κ°€ 가지고 μžˆλŠ” λ¬Έμ œλŠ” μ΄λŸ¬ν•œ λ¬Έμ œκ°€ μ•„λ‹ˆλ‹€. μ•„μ§κΉŒμ§€ λ‚΄κ°€ μ•Œκ³ λ¦¬μ¦˜μ„ μž‘μ„±ν•œλ‹€κ³  ν•œλ‹€λ©΄ 기본적인 자료ꡬ쑰λ₯Ό μ‚¬μš©ν•΄μ„œ μ£Όλ¨Ήκ΅¬κ΅¬μ‹μœΌλ‘œ ν‘ΈλŠ” 방법이닀. μ΄λ ‡κ²Œ ν•΄κ²°ν•˜λŠ” 방법이 κ²°μ½” 잘λͺ»λœ 것은 μ•„λ‹ˆλ‹€. κ·Έλ ‡λ‹€κ³  μž˜ν•œ 일도 μ•„λ‹ˆλ‹€. μ μ ˆν•œ μ•Œκ³ λ¦¬μ¦˜ ν•΄κ²° 방법을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μ˜¬ν•΄ 배운 DFS와 BFS에 λŒ€ν•΄ λ‹€μ‹œ ν•œ 번 λ˜μ§šμ–΄λ³΄κ³  이λ₯Ό 싀무에 μ μš©ν•΄ λ‚΄ κ²ƒμœΌλ‘œ λ§Œλ“€ ν•„μš”κ°€ λ°˜λ“œμ‹œ μ‘΄μž¬ν•œλ‹€. λ¬Όλ‘  두 가지 λ‹€ ν•˜κΈ° νž˜λ“€λ‹€λ©΄ ν•˜λ‚˜λΌλ„ κΌ­ μ‹œλ„ν•΄λ³΄μž.

데이터 μ—”μ§€λ‹ˆμ–΄ 업무λ₯Ό ν•˜λ©΄μ„œ κ°€μž₯ 걱정인 것은 λ°”λ‘œ μ—¬νƒœκΉŒμ§€ λ‚΄κ°€ μ†Œν”„νŠΈμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄ 곡뢀λ₯Ό ν•˜λ©΄μ„œ 배운 μ•„ν‚€ν…μ²˜λ‚˜ λ””μžμΈ νŒ¨ν„΄μ΄λ‹€. μš”μ¦˜ 점점 데이터 μ²˜λ¦¬μ— 이λͺ©μ΄ μ§‘μ€‘λ˜λ©΄μ„œ ν”„λ‘œκ·Έλž¨μ˜ λ””μžμΈ νŒ¨ν„΄μ΄λ‚˜ μ•„ν‚€ν…μ²˜ 곡뢀에 ꡉμž₯히 μ†Œν™€ν•΄μ§€κ³  μžˆλ‹€. μ΄λ ‡κ²Œ 되면 차후에 큰 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•  λ•Œ λ‹€μ‹œ λ°°μ›Œμ•Όν•˜λŠ” λ¬Έμ œμ μ„ μ§€λ‹ˆκ³  μžˆλ‹€. ν˜„μž¬ λ‹€λ‹ˆκ³  μžˆλŠ” κ³³μ—μ„œ μ‚¬μš©ν•˜κ³  μžˆλŠ” Back-end의 μ½”λ“œλ₯Ό 리딩해보고 기여해보도둝 ν•˜μž. 이 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ‚¬μš©ν•˜λŠ” μ•„ν‚€ν…μ²˜μ™€ λ””μžμΈ νŒ¨ν„΄μ€ λ‚΄κ°€ μ½”λ“œλ₯Ό λ¦¬λ·°ν•˜κ±°λ‚˜ κΈ°μ—¬ν•΄λ³Ό μ •λ„λ‘œ κ²¬μ€„λ§Œν•œ μŠ€νŽ™μ„ μ§€λ‹ˆκ³  μžˆλ‹€.


마치며...

μ—¬κΈ°κΉŒμ§€ 2018λ…„ μ €μ˜ νšŒκ³ λ‘μ„ μž‘μ„±ν•΄λ΄€μŠ΅λ‹ˆλ‹€. 정말 1λ…„μ΄λΌλŠ” μ‹œκ°„μ€ μ§§μœΌλ©΄μ„œλ„ κΈ°λ„€μš”. νšŒκ³ λ‘μ„ μ“°λ©΄μ„œ 이 글을 μ–΄λ–»κ²Œ 마무리 짓지? μ–΄λ””κΉŒμ§€ μ“ΈκΉŒ?λ₯Ό 정말 많이 κ³ λ―Όν–ˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜λ„ ν™•μ‹€ν•œ 건 μ˜¬ν•΄ 정말 μ œκ°€ ν”„λ‘œμ νŠΈμ— μ°Έμ—¬ν•˜κΈ° μœ„ν•΄ λ§Žμ€ λ…Έλ ₯을 κΈ°μšΈμ˜€μŒκ³Ό λ™μ‹œμ— λœ»κΉŠμ€ 일듀이 λ§Žμ•˜λ‹€λŠ” μ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

내년에도 더 재밌고 λœ»κΉŠμ€ μ‹œκ°„κ³Ό 개발이 λ§Žμ•˜μœΌλ©΄ μ’‹κ² λ„€μš”. ^^;

μ•„ 그리고 μ•žμœΌλ‘œμ˜ λΈ”λ‘œκ·Έ ν™œλ™μ€ 계속 μ΄μ–΄κ°ˆ κ²ƒμ΄μ§€λ§Œ μ§€κΈˆμ˜ κΈ€ λ°œν–‰ 횟수λ₯Ό λ΄μ„œ μ’€ 더 λ…Έλ ₯ν•΄μ•Όκ² μ£ ...γ… γ…  
더 μ’‹κ³  μœ μ΅ν•œ κΈ€λ‘œ λ§Œλ‚˜λ΅ 수 μžˆλ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. μ˜ˆλ…„μ²˜λŸΌ 1κ°œμ›”μ— ν•œ 개의 ν¬μŠ€νŠΈλŠ” μž‘μ„±ν•  수 μžˆλ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€.

μ—¬κΈ°κΉŒμ§€ μ½μ–΄μ£Όμ…”μ„œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.


λ°˜μ‘ν˜•
TAGS.

Tistory Comments