Browsed by
카테고리: Python 웹크롤링

2017. 올 해의 공부계획.

2017. 올 해의 공부계획.

2017년이 밝았다. 라고 하기엔 사실 너무 늦은 시간이다. 벌써 6 분의 1이 지나고 있으니 말이다. 연 초부터 이런저런 일이 있었다. 일본 여행도 다녀왔고, 머신 러닝 스터디도 진행했다. 사실 다 정리를 해야하는데, 게을러서 하지는 못하고있다.

 

최근에 “구글 인터뷰 대학(링크 : https://github.com/jwasham/google-interview-university)”이라는 깃헙을 발견했다. 이 깃헙의 주인은 프로그래밍을 취미로 배우다가 본격적으로 개발자의 길을 걷기 위해 매일 8시간 씩 구글(그가 생각하는 개발자의 최고의 직장인) 인터뷰를 준비하고 그것을 정리해 둔 곳이다. 다 읽어보진 못하고 있지만, 읽으면서 감명도 많이 받고 느낀 점도 많았다.
(그와 관련된 기사는 다음 링크에서 읽어볼 수 있다 : 내가 구글 인터뷰를 8개월 동안 풀 타임으로 공부한 이유)

느낀 점들은 다음과 같다 :

  1. 자신이 원하는 기업과 분야에 대해서 더 많이 조사하자.
  2. 그리고 기업 또는 그 분야가 나에게 원하는 기술을 습득하자.
  3. 배운 것들을 문서화하자.

 

1번에 관하여 :

올 해에는 졸업을 할 생각이고,  또 최대한 빨리 취직하는 것이 현재의 가장 큰 목표이다. 당장 나의 베스트 케이스는 판교에 있는 IT 대기업들이다. 그래서 내가 원하는 기업들이 어떤 언어를 쓰고, 어떤 기술을 요구하는지를 조사하고 있다. 당장 내가 어느 분야의 스페셜리스트면 좋겠지만, 그럴 능력도 없고 기업에서 신입에게 그 정도를 바랄 것 같지도 않다. 그래서 지금 내가 생각하는 것은 일단 그들이 원하는 기술들을 최소한 “건드려보는 것”이다.

 

2번에 관하여 :

내 주력언어는 당연히 Python이다. 이 언어로 프로그래밍에 입문했고 지금 당장 무언갈 만들라고 시키면 손이 제일 먼저 가는 언어이다. 하지만 한국 대기업들은 아직  c++이나 java를 많이 쓴다. 그 중에서도 나는 java를 일단 건드릴 생각이다. 이번 스터디 계획에 android 프로그래밍이 들어갈 것이기 때문이다. 개인적으로는 스크립트언어(파이썬) / 객체지향언어(java) 에 더불어 함수형 언어도 좀 배우고 싶다. 만약 배우게 된다면 리스프나 스칼라 정도가 되겠지만, 시간이 날 지는 의문스럽다.

또한 데이터처리 관련 기술을 배울 것이다. 당장 생각하는건 hadoop이다. 이제 슬슬 뒤떨어지는 기술이라곤 하지만, 이전 기술에 대한 이해 없이 새 기술만 배우는 것도 좋은 방법은 아닌 듯하다.

세 번째로, 컴퓨터과학 및 코딩에 관련된 스킬들을 복습할 생각이다. 컴퓨터과학 지식의 경우 예전에 학교에서 배웠던 수업들의 ppt를 복습해볼 생각이고, 코딩스킬들은 온라인저지나 책을 통해 틈틈히 독학할 생각이다.

마지막으로, 머신러닝 분야는 스터디를 계속 하면서 정리할 생각이다.

 

앞으로 공부할 책 및 링크들:

  • 알고리즘 문제 해결 전략 (http://book.algospot.com/) : 코드 테스트를 위해. 예전엔 핵심부분만 읽었는데 이번 기회에 정독할 생각.
  • 클린 코드(http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=34083680) : 요즘 읽는 책. 코드를 간결하고 또 협업자들이 읽기 쉽도록
  • 나는 프로그래머다(1,2권)  (http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=68663622) : 역시 요즘 읽는 책. 일단 재밌어서. 그리고 주변에 프로그래머 인맥이 부족한 나에게 프로그래머로써의 이야기를 들려주는 소중한 책.
  • 하둡 완벽 가이드(http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=103031150) : 데이터처리에 대한 기본 지식을 쌓기 위해
  • Do it! 안드로이드 프로그래밍(http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=102457302) : 안드로이드는 내 취향이 아니야! 라고 덮어두고 있었는데 이번 기회에 끝내야 할 것 같다. 안드로이드를 배운다는 생각보다는 event – driven한 객체지향 프로그래밍을 배운다는 생각으로 해야겠다
  • 자바의 정석 (http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=76083001) : 아마 부록만 읽고 넘어갈 것 같다. 그래도 가비지 컬렉션 같은 개념을 좀 정리해야겠다.
  • Coursera : Machine Learning (https://www.coursera.org/learn/machine-learning/home/week/1) : Andrew Ng의 전설적인 머신러닝 기초강의. 복습하고 문서화할 예정.
  • CS231n Stanford University – convolution newral networks for visual recognition (http://cs231n.stanford.edu/index.html : 최근에 스터디하고 있는 내용. 역시 강의별로 정리좀 할 예정.
  • Python Cookbook(http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=35468006) : 자바를 공부하느라 우선순위에서 밀리겠지만 파이썬 공부는 여기까지는 해 두는 것이 목표.
  • HackerRank (https://www.hackerrank.com/domains?h_r=logo) : 온라인 저지 사이트.

 

3번에 관하여 :

문서화를 꾸준히 할 생각이다. 내가 가지고 있는 저장소는 크게 2가지이다. 이 블로그와 내 깃헙이다. 따라서 코드는 깃헙에 저장하고, 정리는 여기에 따로 올려서 분류할 생각이다.