Hong's Notes

High Performance, High Availability and Scalable Architecture, ML, AI and Big Data

Book Collection

This page collects highly-rated books in computer science and technology.


Computer Languages

Title Author Description
The Go Programming Language Alan A. A. Donovan, Brian W. Kernighan A comprehensive guide to Go, covering its syntax, concurrency, and practical applications.
Effective Java Joshua Bloch A must-read for Java developers, offering best practices and design patterns.
The C++ Programming Language Bjarne Stroustrup The definitive guide to C++ by its creator, covering modern C++ features.
Fluent Python Luciano Ramalho A deep dive into Python’s features, focusing on idiomatic and efficient code.
Programming in Scala Martin Odersky, Lex Spoon, Bill Venners A comprehensive introduction to Scala, written by its creator.
JavaScript: The Good Parts Douglas Crockford A concise guide to the best parts of JavaScript, focusing on good practices.
The Rust Programming Language Steve Klabnik, Carol Nichols A beginner-friendly guide to Rust, covering its memory safety and concurrency features.
Programming Ruby Dave Thomas, Chad Fowler, Andy Hunt A comprehensive guide to Ruby, covering its syntax and advanced features.
Eloquent JavaScript Marijn Haverbeke A modern introduction to JavaScript, focusing on programming fundamentals.
Python Crash Course Eric Matthes A beginner-friendly guide to Python, with hands-on projects and exercises.

Computer Fundamentals and Architecture

Title Author Description
Computer Systems: A Programmer’s Perspective Randal E. Bryant, David R. O’Hallaron A deep dive into computer systems, focusing on how programs interact with hardware.
Operating System Concepts Abraham Silberschatz, Peter B. Galvin, Greg Gagne A comprehensive textbook on operating systems, covering theory and practice.
Computer Organization and Design David A. Patterson, John L. Hennessy A classic textbook on computer architecture, focusing on MIPS and RISC-V.
The Elements of Computing Systems Noam Nisan, Shimon Schocken A hands-on guide to building a computer from scratch, starting with NAND gates.
Modern Operating Systems Andrew S. Tanenbaum A detailed exploration of modern operating systems, including Linux and Windows.
Computer Networks Andrew S. Tanenbaum, David J. Wetherall A comprehensive textbook on computer networks, covering protocols and architectures.
Structure and Interpretation of Computer Programs Harold Abelson, Gerald Jay Sussman, Julie Sussman A classic textbook on programming and computer science fundamentals.
Computer Architecture: A Quantitative Approach John L. Hennessy, David A. Patterson A detailed exploration of computer architecture, focusing on performance and design.
Introduction to the Theory of Computation Michael Sipser A comprehensive introduction to computational theory, including automata and complexity.
Computer Networking: A Top-Down Approach James F. Kurose, Keith W. Ross A top-down approach to understanding computer networks, focusing on applications and protocols.

Big Data Technologies and Applications

Title Author Description
Hadoop: The Definitive Guide Tom White A comprehensive guide to Hadoop, covering its architecture and applications.
Designing Data-Intensive Applications Martin Kleppmann A deep dive into the principles of designing scalable and reliable data systems.
Spark: The Definitive Guide Bill Chambers, Matei Zaharia A comprehensive guide to Apache Spark, covering its architecture and applications.
Big Data: Principles and Best Practices Nathan Marz, James Warren A practical guide to building big data systems, focusing on Lambda Architecture.
Data Science from Scratch Joel Grus A hands-on introduction to data science, covering Python and machine learning.
Data-Intensive Text Processing with MapReduce Jimmy Lin, Chris Dyer A detailed exploration of text processing using MapReduce.
Big Data Analytics Venkat Ankam A practical guide to big data analytics, covering tools and techniques for data processing.
Data Mining: Concepts and Techniques Jiawei Han, Micheline Kamber, Jian Pei A comprehensive textbook on data mining, covering algorithms and applications.
Streaming Systems Tyler Akidau, Slava Chernyak, Reuven Lax A detailed exploration of streaming data systems, focusing on real-time processing.
Big Data: A Revolution That Will Transform How We Live, Work, and Think Viktor Mayer-Schönberger, Kenneth Cukier A non-technical exploration of the impact of big data on society and business.

Machine Learning and Artificial Intelligence

Title Author Description
Deep Learning Ian Goodfellow, Yoshua Bengio, Aaron Courville The definitive textbook on deep learning, covering theory and applications.
Pattern Recognition and Machine Learning Christopher M. Bishop A comprehensive textbook on machine learning, focusing on probabilistic models.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow Aurélien Géron A practical guide to machine learning, with hands-on examples using Python.
Artificial Intelligence: A Modern Approach Stuart Russell, Peter Norvig The most widely used textbook on AI, covering a broad range of topics.
Reinforcement Learning: An Introduction Richard S. Sutton, Andrew G. Barto A comprehensive introduction to reinforcement learning, covering theory and algorithms.
Machine Learning Yearning Andrew Ng A practical guide to structuring machine learning projects, focusing on best practices.
The Hundred-Page Machine Learning Book Andriy Burkov A concise yet comprehensive introduction to machine learning, covering key concepts.
Deep Learning with Python François Chollet A practical guide to deep learning using Keras and TensorFlow.
Machine Learning: A Probabilistic Perspective Kevin P. Murphy A detailed textbook on machine learning, focusing on probabilistic methods.
Python Machine Learning Sebastian Raschka, Vahid Mirjalili A practical guide to machine learning using Python, covering libraries and techniques.

High-Performance, High-Availability, and Scalable Distributed Systems Design

Title Author Description
Designing Distributed Systems Brendan Burns A practical guide to designing scalable and reliable distributed systems.
Distributed Systems: Principles and Paradigms Andrew S. Tanenbaum, Maarten Van Steen A comprehensive textbook on distributed systems, covering principles and paradigms.
Building Microservices Sam Newman A practical guide to designing and building microservices architectures.
Site Reliability Engineering Google SRE Team A detailed exploration of Google’s approach to building reliable and scalable systems.
Scalability Rules: 50 Principles for Scaling Web Sites Martin L. Abbott, Michael T. Fisher A practical guide to scaling web applications, with 50 key principles.
High Performance Browser Networking Ilya Grigorik A detailed exploration of networking performance in web applications.
Designing Data-Intensive Applications Martin Kleppmann A deep dive into the principles of designing scalable and reliable data systems.
Cloud Native Patterns Cornelia Davis A practical guide to building cloud-native applications, focusing on patterns and best practices.
Kubernetes: Up and Running Kelsey Hightower, Brendan Burns, Joe Beda A practical guide to Kubernetes, covering its architecture and applications.
The Art of Scalability Martin L. Abbott, Michael T. Fisher A comprehensive guide to scaling systems, focusing on architecture and organizational strategies.

0%