My adventure to know this world. A list of resources I have learned from.
- Inspired: How to Create Tech Products Customers Love
- Continuous Discovery Habits: Discover Products that Create Customer Value and Business Value
- nand2tetris part1, my repo: Challenging but rewarding journey to implement from NAND to ALU.
- nand2tetris part1, my repo Write a assebmler to translate machine language to assemble language.
- Understanding Computation, my repo Implement Turing Machine and understand basics of computation theory. Easy to follow.
- Google IT Support Certification Good starting point to learn basics of IT.
- Computer Networking: A Top-Down Approach, 6th Edition: Fantastic, easy to follow book which explains the nuts and bolts of network, recommend the new version, which also includes software defined network
- A overview of HTTP Well written overview of HTTP, also provide links to deep dive into related topics
- nand2tetris part2
- The LINUX Programming Interface Authorative toolbook, written by maintainer of MAN.
- Algorithms, Princeton University, Coursera, my repo: Brilliant course to learn algorithm and data structure from inventor of Red-black-tree.
- Algorithms, Standford University, Coursera: It's difficult to follow. I would prefer the course from Princeton over this one.
- Design and Analysis of Algorithms, MIT: In-Depth course in algorithms.
- Competitive Programmer’s Handbook: An amazing book about competitive programming must-knowns and popluar algorithms.
- The Clean Coder: It's a good read though quite verbose.
- Building a Career in Software: A must-read for people in software industry. It help me to properly set my career goal.
- A Philosophy of Software Design: A thin book packed with great thoughts about how to design good software.
- Domain Driven Design: Must read. Easy to congest.
- Designing Data Intensive Applications: Exceptional book. Covered a great amount of ideas behind system design.
- Streaming Systems: Great book. With its animation I am still confused about watermark though.
- Kubernetes in Action Great book, explain how K8s work under the hood.
- Terraform in Action: Great book, explain how TF work under the hood.
- Istio in Action: Great book, explain how istio work under the hood.
- Jenkins 2: Up and Running
- The Phoenix Project: Great book, as a novel quite easy to read to get a great picture of real life IT and how DevOps make the impact.
- Site Reliability Engineering This book summarizes SRE in Google.
- The Site Reliability Workbook A follow-up of the SRE book, focus more on how to practice it.
- Cloud Native
- Microservices Patterns
- Hands-On Microservices with Spring Boot and Spring Cloud: Good read about microservices with Spring. Covered a lot of microservice pattern and its implementation in Spring eco system.
- Grokking Simplicity: Brain-friendly way to explain real world (nonacademic) functional thinking.
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Great book to learn the theory and get hands-on in ML and DL.
- Deep Learning: Too great to understand...
- Machine Learning, Standford University, Coursera: Excellent course to get started with ML.
- Convolutional Neural Networks for Visual Recognition, Standford University: CNN zero to hero.
- Neural Networks for NLP, Carnegie Mellon University
- Learn Python the Hard Way: Just write the code and get the feel throughout the book. Great book for beginner. It can test whether programming is your thing or not.
- Introduction to Programming in Python
- Python Cookbook: It's really a cookbook. Recipes for problem-solving in python.
- Fluent Python
- Flask Web Development: Great Hand-on to Flask.
- CPython internals: A ten-hour codewalk through the Python interpreter source code: Fantastic course. Explain how CPython get implemented. Easy to follow.
- python-pattern
- Python Patterns
- Programming with Google Go Specialization, University of California Irvine, Coursera, my repo: Beginner friendly, easy to follow, I love the accent!
- The Go Programming Language: Great book for people who have experience in other programming language and want to learn go.
- Computer Science: Programming with a Purpose, Princeton University, Coursera, my repo: Excellent course. Beginner friendly as first course. Though the assignment is quite challenging.
- Algorithms PartI, Princeton University, Coursera, my repo Fantastic course. Though the assignment is quite challenging.
- Algorithms PartII, Princeton University, Coursera
- Effective Java: Must-read for everyone who want to use Java for non-trivial task.
- Java Performance, 2nd Edition
- Functional Programming in Scala Specialization, my repo: Fantastic course from the inventor. Just learn it if you interested in Scala.
- Programming in Scala: Authorative Book from the inventor.
- Kotlin for Java Developers, my repo: Well-structured course to get started with Kotlin, language design considerations are also included.
- Programm Design and Algorithm, Peiking University, Coursera: It's in Chinese. After this, I think I will prefer english courses over chinese.
- Programming: Principles and Practice Using C++: Written by Bjarne Stroustrup. If I could I would have read this to learning programming.
- Programming Paradigm, Standford University
- Object-Oriented Data Structures in C++, University of Illinois at Urbana-Champaign: Great cpp basics for people have prior experience in programming.
- Ordered Data Structures, University of Illinois at Urbana-Champaign, my repo: Great material for data structure in general and for implementaion in cpp. The code in assignment is well-written with tons of comments. The topics covered are Array, Linkedlist, Queue, Stack, BST, AVL-Tree, B-Tree Heap。
- Learn You a Haskell for Great Good!: Great book with funny pics.