일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- vm_area_struct
- Kernel
- devicedriver
- mm_struct
- 카프카
- Android
- kmalloc
- spinlock
- slab
- vmalloc
- allocator
- Linux
- page
- memory
- pmap
- proc
- Apache
- blk-mq
- buddy_system
- slowpath
- fastpath
- kafka
- lruvec
- BLOCK
- Network
- multiqueue
- strex
- slub
- commit
- NDK
- Today
- Total
Art of Pr0gr4m
프로그래밍 책 추천 본문
// 솔직히 지금보면 좀 그렇고 그러해서 삭제하고 다시쓰고싶지만 일단 내비둡니다.
pr0gr4m/Newbie-Guideline: 컴퓨터과학/공학 신입생 및 비전공자 신입을 위한 지침서 (github.com)
// 새 글을 참고해주세요.
'공부할 책 추천좀 해주세요'는 프로그래밍 커뮤니티의 단골 글들 중 하나가 아닐까 싶습니다.
좋은 책으로 공부하고 싶은 분들이 많기에 이러한 글들이 자주 올라온다고 생각하는데, 그런 분들에게 도움이 됬으면 하는 생각을 가지고 리스트를 작성해보았습니다.
컴퓨터 공학 책 추천으로 했다가 검색 키워드로 좋지 않은 것 같아서 프로그래밍 책 추천으로 변경하였습니다.
(개인적으로 필독서 같은 단어는 붙이고 싶지 않았습니다. 제 주제에 필독자를 붙이는건 조금 오만하다고 생각하기에..)
아, 그리고 리스트를 작성하면서 가장 고심한 부분은 무슨 기준으로 리스트를 정리할까 였습니다.
어떤 하나의 기준만으로 리스트를 만들면 꼭 들어가야 하는 책이 빠지게 될 수도 있고, 기준없이 추천하자니 리스트가 난잡해지는 문제가 있었습니다.
그래서 아예 다양한 기준으로 리스트를 추가하고 프로퍼티 값을 주기로 했습니다.
예를 들어 처음 공부하기 좋은 책에는 튜토리얼 프로퍼티를 설정하고, 검증된 바이블 서적들에는 바이블 프로퍼티를 설정하는 등으로요.
물론 제가 감히 어떤 책이 바이블이다 아니다를 판단할 주제는 되지 않지만, 애초에 리스트 자체가 제 개인적인 추천 리스트이기 때문에 너그러이 봐주시면 감사하겠습니다.
튜토리얼 : 해당 분야를 처음 공부할 때 보기 좋음
실용서 : 프로그래밍 하는데 있어 실용적인 내용을 많이 다룸
바이블 : 많은 분들이 필독서로 추천하는 검증된 교과서
레퍼런스 : 레퍼런스로 사용하기 좋음 (꼭 레퍼런스용 책인 것은 아닙니다)
난이도 없음 : 난이도를 정하기 애매함
필자강추 : 리스트 작성자가 개인적으로 꼭 봤으면 하는 책들
책 이름 | 튜토리얼 | 실용서 | 바이블 | 레퍼런스 | 필자강추 |
C Programming : A Modern Approach (K.N.King) | ✔ | ✔ | ✔ | ||
The C Programming Language (K&R) | ✔ | ✔ | |||
C 프로그래밍 파워 업그레이드 (윤성우) | ✔ | ✔ | |||
C : A Reference Manual (Harbison & Steele) | ✔ | ||||
C++ Primer (Stanley Lippman) | ✔ | ✔ | ✔ | ✔ | |
Programming : Principles and Practice Using C++ (stroustrup) | ✔ | ✔ | |||
The C++ Programming Language (stroustrup) | ✔ | ✔ | |||
Effective C++ (Scott Meyers) | ✔ | ✔ | ✔ | ||
Effective Modern C++ (Scott Meyers) | ✔ | ✔ | |||
More Effective C++ (Scott Meyers) | ✔ | ||||
C++ In Depth Series | ✔ | ||||
C++ 표준 라이브러리 (Nicolai Josuttis) | ✔ | ✔ | |||
Effective Java (Joshua Bloch) | ✔ | ✔ | |||
Java Performance (Charlie Hunt) | ✔ | ||||
점프 투 파이썬 (박응용) | ✔ | ||||
Python Essential Reference (David Beazly) | ✔ | ✔ | ✔ | ||
The Python Standard Library by Example (Doug Hellmann) | ✔ | ||||
인사이드 자바스크립트 (송형주, 고현준) | ✔ | ✔ | |||
책 이름 | 튜토리얼 | 실용서 | 바이블 | 레퍼런스 | 필자강추 |
자바스크립트 완벽 가이드 (David Flanagan) | ✔ | ✔ | |||
자바스크립트 핵심 가이드 (Douglas Crockford) | ✔ | ✔ | |||
어셈블리 언어 (Kip Irvine) | |||||
Foundations of Algorithms (Richard Neapolitan) | ✔ | ✔ | |||
introduction to algorithms (CLRS) | ✔ | ✔ | |||
The Art of Computer Programming (Donald Knuth) | ✔ | ✔ | |||
알고리즘 문제 해결 전략 세트 (구종만) | ✔ | ||||
안드로이드 프로그래밍 : 실무에 바로 적용하는 (Bill Phillips 등) | ✔ | ✔ | |||
인사이드 안드로이드 (송형주, 김태형 등) | ✔ | ||||
Windows API 정복 (김상형) | ✔ | ✔ | |||
윈도우 시스템 프로그램을 구현하는 기술 (이호동) | ✔ | ✔ | ✔ | ||
Programming Windows (Charles Petzold) | ✔ | ✔ | ✔ | ||
Windows Internals (Mark Russinovich) | ✔ | ✔ | ✔ | ||
Advanced Programming in the UNIX Environment (Richard Stevens) | ✔ | ✔ | ✔ | ||
책 이름 | 튜토리얼 | 실용서 | 바이블 | 레퍼런스 | 필자강추 |
The Linux Programming Interface (Michael Kerrisk) | ✔ | ✔ | ✔ | ✔ | |
Advanced! 리눅스 시스템 네트워크 프로그래밍 (김선영) | ✔ | ✔ | |||
TCP/IP 완벽 가이드 (Charles Kozierok) | ✔ | ✔ | ✔ | ||
TCP/IP Illustrated (Richard Stevens) | ✔ | ✔ | ✔ | ||
HTTP 완벽 가이드 (David Gourley 등) | |||||
TCP/IP 소켓 프로그래밍 C (Michael Donahoo) | ✔ | ✔ | |||
Unix Network Programming (Richard Stevens) | ✔ | ✔ | |||
The Art of UNIX Programming (Eric Raymond) | ✔ | ✔ | |||
Computer Organization and Design (Patternson & Hennessy) | ✔ | ||||
Computer Architecture (Patterson & Hennessy) | ✔ | ✔ | ✔ | ||
Computer Organization and Architecture (William Stallings) | ✔ | ||||
Inside the Machine (Jon Stokes) | ✔ | ||||
Operating System Concepts (Silberschatz) | ✔ | ✔ | ✔ | ||
64비트 멀티코어 OS 원리와 구조 (한승훈) | ✔ | ✔ | ✔ | ||
Linux Kernel Development (Robert Love) | ✔ | ✔ | |||
Understanding the Linux Kernel (Daniel Bovet) | ✔ | ||||
Head First Design Patterns (Eric Freeman) | ✔ | ✔ | |||
Design Patterns (GOF) | ✔ | ✔ | ✔ | ||
Code complete (Steve McConnell) | ✔ | ✔ | ✔ | ||
책 이름 | 튜토리얼 | 실용서 | 바이블 | 레퍼런스 | 필자강추 |
Refactoring (Martin Fowler) | ✔ | ✔ | ✔ | ✔ | |
조엘 온 소프트웨어 (Joel Spolsky) | ✔ | ✔ | ✔ | ||
The Pragmatic Programmer (Andrew & David) | ✔ | ✔ | |||
(TCP/IP Illustrated나 The Art of Computer Programming 처럼 여러 권으로 Volume이 나뉘어져 있는 책들은 그냥 나누지 않고 작성했습니다. 보통의 경우 Vol.1을 보고 필요가 느껴지면 다음 권을 보는 방식이 바람직하다고 봅니다.)
모양새가 우습지만 작성자가 리스트에 있는 책을 전부 보고 쓴 것은 아니고, 주변에 있는 분들의 추천을 듣고 추가한 책들도 있습니다.
물론 반 정도는 보고 추천할만 하다 (혹은 슬프지만 해당 분야에서 대체재가 없다) 라고 생각하는 책들을 정리하긴 했지만,
내공이 깊지 않아 다른 분들의 도움도 받아야 했습니다.
이런 경우엔 대충 훑어본 내용을 바탕으로 프로퍼티를 줬기 때문에 '이건 좀 아닌데?' 라는 의문이 드실 수 있습니다.
그런 생각이 드시면 언제든지 비판해주신다면 겸허히 받아들이고 검토하겠습니다.
히스토리
11/07/2016
- 튜토리얼 서적들 가감. 초기 리스트엔 검증된 내용 구성이 아니더라도 입문자들이 보기 쉬운 책들을 함께 다뤘는데, 이런 책들은 굳이 추천 리스트에 없더라도 인터넷 서점에 검색하면 가장 윗단에 보이므로 굳이 넣을 필요가 없다고 생각하여 삭제하였음.
- The Art of UNIX Programming, Inside the Machine 추가 (추천해주신 김선영님께 감사의 말씀을 드립니다.)
- 리스트가 길어짐에 따라 프로퍼티 확인이 힘든것을 감안하여 19권마다 프로퍼티 행 추가
- 쉬운 자료구조 책이 한권 빠지고 Foundations of Algorithms가 추가
11/08/2016
- 포스트 제목 프로그래밍 책 추천으로 변경
'Book > IT' 카테고리의 다른 글
리눅스 커널 책 리뷰 및 가이드 (4) | 2020.07.22 |
---|