2018년 3월 11일 일요일

2014~2016년 전공 공부들 / Computer and IT books read from 2014 to 2016

보다 나은 프로그래머가 되고 싶었기에 Haskell을, 개발 업무에 필요했기에 SSL을, 그리고 Front-end쪽으로 나아가고 싶었기에 Javascript를 공부한 3년이었다.

I've studied three area in year 2014~2016: Haskell for becoming better programmer, SSL for development at work, Javascript for becoming full-stack developer.

좋았던 책은 다음 책들과 CMU CS-251(Greath Theoretical Ideas in CS). Following Four books are especially good.

Implementing SSL / TLS Using Cryptography and PKI
Joshua Davies
SSL 제품 개발시에 가장 도움을 많이 받은, 해당 분야의 definitive reference. (201511)
이거 좋은 책이다. 4달동안에 걸쳐 두 챕터 빼고 (pretty printter & equational calculator) 읽음. (201602-05)

Haskell Programming from first principle
Chris Allen and Julie Moronuki


$29에 샀다. Chris Allen한테 깎아달라고 메일을 보냈는데 묵묵부답. 책 자체는 쉽고 좋다. 연습문제를 풀지 않으면 큰 소용은 없지만, TFWH보다 낫고, RWH보다 쉽고 자세한 설명이다. 연습문제 70-80%정도 풀었음. 맨 마지막 fingerd 연습문제는 패스했다. Haskell을 배우고자 하는 어느 누구에게라도 추천할만한 수작. (201606)
한번 더 복습 (201610)

Competitive Programming, 3rd Edition
Steven Halim

프로그래밍 대회에서 높은 성적을 받고 싶다! 좋았던 책 (201609-201612)



그리고 나머지는 시간순으로.

HTML5 Web Application Development by Example
J. M. Gustafson
백엔드만 이십년째. 이젠 Full stack developer가 되고 싶다 (201312-201402)

Learn You a Haskell for Great Good
Miran Lipovaca
제목만 보고 유치할것이라고 생각하였으나 많이 배웠다. Real World Haskell전에 읽었어야했다 (201405-201406)
두번째 본다. 두번째 보니 좀 더 잘 이해가 되는 듯하다. (201601) 

Typeclassopedia
Brent Yorgey
LYH이후 하스켈 공부  (201406)

Real World Haskell
Bryan O'Sullivan
다시보았다. 여전히 챕터10쯤되면 너무 어려워. (201405-201407)

읽다 맨 뒤 3챕터에서 폭발 (201408)

Jquery 저자가 쓴 책. Chapter 12까지 봤다. 13~16까지는 나중에 봐도 될 듯. (201508)

jQuery in Action
Bear Bibeault
UI 작업전에 마지막으로 볼 책. 나머지는 코딩하면서 보기로 한다. (201508)
라고 메모가 붙어 있는 것을 보면, 그 때 UI 개발팀이 모두 퇴사한다고 해서 내가 UI를 맡아보려고 발버둥치고 있었구나.

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript (Effective Software Development Series) by David Herman (2016-03-08)
뭐 그냥 그랬다 (201510)

그림 한 장으로 보는 최신 IT 트렌드 - 개정증보판
Saito Masanori 지음, 이영란 옮김
사이토 마사노리 외. 현재는 IT의 '캄브리아기의 대폭발'이 있었던 시대가 아닐까 할만큼 테크놀로지의 발전이 극적이다. 클라우드-모바일/웨어러블-가상화IT인프라-IoT/빅데이터-스마트머신 (20151224)
screen을 버리고 tmux로. (201601)

복습삼아 보다가 중간쯤에 놓았다. (201601)

CIS-194 Haskell Course (UPENN)
Brent Yorgey
Chapter 9 Testing부터 급격히 어려워진다.  - The arguments should be ordered from from “least to greatest variation" - Use foldr over foldl' over foldl (201601-02)

NICTA Haskell Course (GitHub)
Tony Morris
하스켈... 꾸역꾸역 하자. 3월초에 List-Anagram까지 완료. 너무 시간이 많이 걸려 Project는 천천히 할 예정이다. (201603)

알파고가 이세돌을 4:1로 이긴 이 시점에 읽어주었다. 시대는 변하는가(201603)
변했다. (@2018)

The GNU Make Book
John Graham-Cumming
Makefile은 내겐 항상 마법이었다. (201603)

21st Century C: C Tips from the New School
Ben Klemens
크게 배울 내용은 없었고, 어렵게 쓰여있어서 대충봤다.
  1. 변수 선언을 중간에 해서 localize하자.
  2. const를 꼭 쓰자.
  3. asprintf()가 있다.
이 세개로 정리. (201604)

competitive programming과 같이 조금씩 볼려고 한다) 뒤에 종합 case study인 15장은 지겨운 감이 없지 않아 거의 skip했다. 하지만 4일에 걸쳐 C++책 하나 보아냈다. 책으로 요리를 배울수는 없겠지만. (201609)


Image result for CMU carnegieGreat Theoretical Ideas in CS
CMU CS15-251
아주 좋은 강의 (201611-201701)
  1. Proof
  2. Game,Misere, Mirroring, Nim,Chomp, Nimber, MEX
  3. DFA, regular language, Turing Machine
  4. Cantor, Surjection, Bijection, Diagonal Argument, Cardinality, Countable
  5. Undecidability (이 챕터는 어려워서 이해못함. 대학때도 그랬는데.)
  6. P vs NP, NP complete 21 problem
  7. NP complete reduction (어려워서 이해못함)
  8. Approximation, 2-approx Vertex Cover, 63%-approx k-coverage, 2-approx TSP (MST heuristic), 1+e-approx TSP (euclidean TSP), semidefinite programming(이게 뭔가), unique games conjecture (!!!)
  9. Goedel, Axiom, Computable axioms, Consistency (syntactic), Soundness, Completeness(syntactic)
  10. Probability, Law of total probability, a posteriori probability (P(A|B) and A occurs first) , bayes rule, independence, Expectation, Linearity of Expectation, Indicator, Coupon Collector, probabilistic method, conditional expectation, law of total expectation
  11. Randomized algorithm, Monte Carlo (correctness is not guaranteed), Las Vegas (time is not guaranteed), 1+x<=e^x (world's most useful inequality)
  12. Markov Chain, Google PageRank
  13. Modular arithmetic, modular group Zn*, generator, Euler's theorem A'(N) ⌘ 1 mod N, Fermat's Little Theorem AP !1 ⌘ 1 mod P
  14. Group Theory, Closure, identity, associativity, inverse, abelian group, euler's totient function, Klein 4, cyclic, dihedral, order theorem, lagrange theorem, euler theorem (역시 어려움)
  15. cryptography, modular rule for power, PRG, DH, Elgamal public key, RSA, probabilistic, Goldwasser-Micali (어려움)
  16. Fields, Polynomial, Unique Factorization, Chinese Remaindering, Ring, polynomial root, polynomizl remainder, lagrange interpolation  
복습차 보았으나 특별히 얻은 것은 없다. (201612-201701)

댓글 없음: