Books and Materials¶
Books¶
The following is the primary reading list of books. Each chapter is organized as a single page; the included sections are noted with major concepts, along with personal doubts (with possible solutions figured out afterwards) and summary.
APUE¶
Advanced Programming in the UNIX Environment, 3rd Edition
by W. Richard Stevens and Stephen A. Rago
LKD¶
Linux Kernel Development (3rd Edition)
by Robert Love
UTLK¶
Understanding the Linux Kernel, Third Edition
by Daniel P. Bovet and Marco Cesati
UNP¶
Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition)
by W. Richard Stevens and Bill Fenner
TCPv1¶
TCP/IP Illustrated, Volume 1: The Protocols (2nd Edition)
by Kevin R. Fall and W. Richard Stevens
TCPIP¶
The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference
by Charles M. Kozierok
LSP¶
Linux System Programming: Talking Directly to the Kernel and C Library (Second Edition)
by Robert Love
TLPI¶
The Linux Programming Interface
by Michael Kerrisk
GOPL¶
The Go Programming Language
by Alan A. A. Donovan and Brian W. Kernighan
PER¶
Python Essential Reference, 4th Edition
by David M. Beazley
TWGR¶
The Well-Grounded Rubyist, Second Edition
by David A. Black
DevOps¶
DevOps: A Software Architect's Perspective
by Len Bass, Ingo Weber, Liming Zhu
ICND1¶
CCENT/CCNA ICND1 640-822 Official Cert Guide, Third Edition
ICND2¶
CCNA ICND2 Official Exam Certification Guide, Second Edition
SPEC¶
Systems Performance: Enterprise and the Cloud
by Brendan Gregg
CNAPP¶
Content Networking: Architecture, Protocols, and Practice
by Markus Hofmann
BD¶
Big Data: Principles and Best Practices of Scalable Realtime Data Systems
by Nathan Marz, James Warren
DDA¶
Designing Data-Intensive Applications
by Martin Kleppmann
CNSPP¶
Cryptography and Network Security: Principles and Practice (6th Edition)
by William Stallings
HTAE¶
Hacking: The Art of Exploitation, 2nd Edition
by Jon Erickson
PIC¶
Patterns in C: Patterns, Idioms and Design Principles
by Adam Tornhill
CSN¶
C Study Notes
by qyuhen
Materials¶
The following is the supplementary books and materials. Each topic, which may have one or more primary references listed, is included in a single page.
Bash¶
C¶
Go¶
- The Way To Go: A Thorough Introduction To The Go Programming Language
- The Go Documentation
- The Go Programming Language Specification
Python¶
- Hitchhiker's Guide to Python
- Python Cookbook (3rd Edition)
Ruby¶
- Programming Ruby 1.9 & 2.0: The Pragmatic Programmers' Guide (4th Edition)
Cryptography¶
- Introduction to Cryptography on Coursera
x86 Assembly¶
iptables¶
Nginx¶
Vim¶
- Learning the vi and Vim Editors, 7th Edition
- Learn Vimscript the Hard Way