book-notes icon indicating copy to clipboard operation
book-notes copied to clipboard

Book notes about programming: C/C++, CS, Linux, Architecture, Distributed Systems, MicroService...

Linux Kernel

  • Process Management
  • Memory Management
  • Network System
  • File & IO System
  • Interrupt ARM 64 :heavy_minus_sign: x86
  • Core
  • IPC
  • Time

Architecture & Design

  • Clean Architecture :soon:
  • Domain Driven Design :soon:
  • Designing Distributed Systems
  • Distributed Systems for Practitioners
  • Grokking the System Design
  • Grokking Advanced System Design
  • Grokking the System Design DoorDash
  • Grokking the Object Oriented Design
  • Distributed System Principle and Algorithm (GeekTime)
  • Microservice and Architecure Design (GeekTime)
  • Web-application Software Architecture :soon:
  • Pattern-Oriented Software Architecture :soon:
    • Volume 1: A System of Patterns
    • Volume 2: Patterns for Concurrent and Networked Objects
    • Volume 3: Patterns for Resource Management
    • Volume 4: A Pattern Language for Distributed Computing
    • Volume 5: On Patterns and Pattern Languages

Computer Science

  • Operating System

    • Computer System: A Programmer's Perspective
    • Operating Systems: Three Easy Pieces :soon:
    • Operating System Concepts
    • Modern Operating System
    • Operating Systems Design and Implementation :soon:
  • Computer Architecture

    • Computer Organization and Design: The Hardware/Sofeware Interface
    • Computer Architecture: A Quantitative Approach :soon:
    • Structure and Interpretation of Computer Programs :soon:
  • Compilation

    • Compilers: Principles, Techniques, and Tools :soon:
    • Programmer Self-Cultivation: Linking, Loading and Libraries (:cn: CN)
  • Network

    • TCP/IP Illustrated, Volume 1: The Protocols
    • Computer Networking: A Top-Down Approach :soon:
    • UNIX Network Programming, Volume 1: The Sockets Networking API
    • Data Plane Development KIT (DPDK)
  • System Programming

    • Advanced Programming in Unix Environment
    • The Art of Unix Programing :soon:
  • Distributed System

Software Engineering

  • Design Patterns :soon:
  • Clean Code
  • Refactor V2
  • Refactoring to Patterns :soon:
  • Working Effectively with Legacy Code :soon:

C

  • The C Programming Language :soon:
  • Expert C Programming: Deep C Secrets :soon:
  • C Traps and Pitfalls :soon:

C++

  • C++ Core Guildlines
  • C++ Primer
  • Inside the C++ Object Model
  • Effective STL
  • Effective C++
  • More Effective C++
  • Effective Modern C++
  • C++ Templates the Complete Guid :soon:
  • Modern C++ Design :soon:
  • Professional C++ 2021 :soon:
  • Software Architecture with C++ :soon:
  • C++ 17
  • MySQL
  • STL
  • GCC: new allocator malloc

Linux

  • Linux Programming
  • Understanding Linux Kernel
  • Linux Kernel Development
  • Professional Linux Kernel Architecture :soon:
  • Linux System Programming :soon:
  • Linux Device Drives :soon:
  • Understanding Linux Network Internals :soon:
  • Understanding The Linux Virtual Memory Manager
  • Linux Programming
  • Linux Performance Tuning

Others

  • Make linux kernel :cn:
  • Debug kernel with VS Code

English

英语语法新思维: 初级教程+中级教程+高级教程