Practice makes perfect.
Your best teacher is your last mistake.
Quality not quantity.
- Web Development
- Database Systems and Data Storage
- Cryptography
- Information Security
- Graphics and Visualization
- Multimedia
- Information Retrieval
- Data Mining
- Artificial Intelligence
- Embedded System
- Distributed System
- Cloud Computing
- Blockchain
Must Read
- Oauth 2 in Action by Justin Richer
- Bulletproof SSL and TLS: The Complete Guide to Deploying Secure Servers and Web Applications by Ivan Ristic
Reference Web Frontend Resources
- High Performance Browser Networking: What Every Web Developer Should Know about Networking and Web Performance by Ilya Grigorik
- High Performance Web Sites by Steve Souders
- Web Performance in Action by Jeremy Wagner
- Every Computer Performance Book: How to Avoid and Solve Performance Problems on The Computers You Work With by Bob Wescott, Anna Macijeski
- Designing for Performance: Weighing Aesthetics and Speed by Lara Hogan
- High Performance Responsive Design by Tom Barker
- Web Performance Tuning by Patrick Killelea
- Web Animation Using JavaScript: Develop & Design by Julian Shapiro
- The Web Testing Handbook by Steven Splaine, Stefan P. Jaskiel
Must Read
- Database System Concepts (6th, 2010) by Sudarshan, Korth
- Fundamentals of Database System (7th, 2017) by Ramez Elmasri, Shamkant B. Navathe
- Database System Implementation by Hector Garcia-Molina, Jeffrey D.Ullman and Jennifer Widom
For SQL
- Sams teach yourself SQL in 10 minutes,4th edition by Ben Forta / SQL 必知必会
- SQL Cookbook by Anthony Molinaro
- Learning SQL by Alan Beaulieu
- T-SQL Fundamentals by Itzik Ben-Gan
- T-SQL Querying by Itzik Ben-Gan
- SQL Queries for Mere Mortals: A Hands-on Guide to Data Manipulation in SQL by John Viescas
- SQL pocket guide by Jonathan Gennick
- The art of SQL by Stéphane Faroult
For NoSQL
- NoSQL for Mere Mortals by Dan Sullivan
- Professional NoSQL by Shashank Tiwari
- Seven Databases in Seven Weeks by Luc Perkins, Eric Redmond
Some More
- SQL Antipatterns: Avoiding the Pitfalls of Database Programming (2010) by Bill Karwin
- Database Management System by Raghu Ramakrishnan, Johannes Gehrke
- Fundamentals of Relational Database Management Systems by S. Sumathi, S. Esakkirajan
- Database Systems concepts, languages & architectures by Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone
- Database Systems: A Practical Approach to Design, Implementation, and Management by Carolyn E. Begg and Thomas M. Connolly
- Database Modeling and Design by Toby J. Teorey
- Beginning database design by Clare Churcher
Courses
Prime
- MySQL 5.7 Reference Manual - doc
- MySQL 5.7 Release Notes - doc
- MySQL 8.0 Release Notes - doc
- Murach's MySQL by Joel Murach
- Learning MySQL by Seyed M.M. Tahaghoghi, Hugh E. Williams
- MySQL Crash Course by Ben Forta
- MySQL in a Nutshell by Russell J.T. Dyer
- MySQL Cookbook by Paul DuBois
- MySQL Administrator's Bible by Sheeri K. Cabral, Keith Murphy
- MySQL Stored Procedure Programming: Building High-Performance Web Applications in MySQL by Guy Harrison, Steven Feuerstein
Optimization
- High Performance MySQL by Baron Schwartz
- Effective MySQL Optimizing SQL Statements
- MySQL性能调优与架构设计 by 简朝阳
- Relational Database Index Design and the Optimizers by Tapio Lahdenmaki
- MySQL Troubleshooting: What To Do When Queries Don't Work by Sevta Smirnova
High Availability, Cluster, Backup and Replication
- MySQL NDB Cluster Internals Manual - doc
- MySQL High Availability: Tools for Building Robust Data Centers by Charles Bell
- Introducing Innodb Cluster: Learning the MySQL High Availability Stack by Charles Bell
- Pro MySQL NDB Cluster by Jesper Wisborg Krogh and Mikiya Okuno
- Effective MySQL Backup and Recovery
- Effective MySQL Replication Techniques in Depth
MySQL Internal and Programming
- MySQL Internals Manual - doc
- MySQL 8.0.18 Source Code Documentation
- MySQL Connector/J 5.1 Developer Guide - doc
- Expert MySQL by Charles A Bell
- Understanding MySQL Internals by Sasha Pachev
- MySQL 技术内幕:InnoDB存储引擎 by 姜承尧
- MySQL 内核:InnoDB存储引擎 by 姜承尧
- MariaDB 原理与实现 by 张金鹏
Prime
- Beginning Oracle SQL for Oracle Database 18c: From Novice to Professional by Ben Brumm
- Oracle Database 12c Release 2 - doc
- Oracle Essentials: Oracle Database 12c by Jonathan P. Stern, Rick Greenwald, and Robert Stackowiak
- OCA Oracle Database SQL Exam Guide (Exam 1Z0-071) by Steve O'Hearn
- OCA Oracle Database 12c SQL Fundamentals I Exam Guide by Roopesh Ramklass
- Oracle Database 12c: The Complete Reference by Bob Bryla and Kevin Loney
PL/SQL
- Oracle PL/SQL Programming by Steven Feuerstein, Bill Pribyl
- Oracle Database 12c Pl/SQL Advanced Programming Techniques by Michael McLaughlin, John M. Harper
- Mastering Oracle SQL by Alan Beaulieu and Mishra Sanjay
- Murach's Oracle SQL and PL/SQL for Developers by Joel Murach
- Oracle Database 12c Pl/SQL Programming by Michael McLaughlin
- Oracle PL/SQL Best Practices by Steven Feuerstein
Administer
- Beginning Oracle Database 12c Administration: From Novice to Professional by Ignatius Fernandez
- Oracle DBA Mentor: Succeeding as an Oracle Database Administrator by Brian Peasland
- Database 2 Day DBA
Advanced
- OCA/OCP Oracle Database 12c All‑in‑One Exam Guide by Bob Bryla, John Watson, and Roopesh Ramklass
- Effective Oracle by design by Thomas Kyte
- Expert one-on-one Oracle by Thomas Kyte
- Troubleshooting Oracle Performance by Christian Antognini
- Expert Oracle Database Architecture by Thomas Kyte
- Oracle Database 11g Release 2 Performance Tuning Tips & Techniques by Richard Niemiec
- Optimizing Oracle Performance: A Practitioner's Guide to Optimizing Response Time (2003) by Cary Millsap, Jeff Holt
- Oracle High Availability, Disaster Recovery, and Cloud Services: Explore RAC, Data Guard, and Cloud Technology by Ravi Kumar
Tutorials
- Oracle Live SQL - It allows you to run Oracle code and queries in an actual database, via a web interface. It's hooked up to our documentation libraries
- Ask Tom
- PL/SQL Challenge - A website offering new quizzes each week on SQL, PL/SQL, Database Design, Application Express and Logic. Test your knowledge against others, and also access a library of over 1400 past quizzes on which to practice.
- Redis in Action (2013) by Josiah L. Carlson
- Learning Redis by Vinoo Das
- Redis Essentials by Maxwell Dayvson Da Silva, Hugo Lopes Tavares
- Redis 4.x Cookbook: Over 80 hand-picked recipes for effective Redis development and administration (2018) by Pengcheng Huang and Zuofei Wang
- Mastering Redis (2016) by Jeremy Nelson
- Instant Redis Optimization How-to (2013) by Arun Chinnachamy
- Instant Redis Persistence (2013) by Matt Palmer
- The Little Redis Book (Free Book, 2012) by Karl Seguin
- Redis Cookbook (2011) by Tiago Macedo and Fred Oliveira
- Redis设计与实现 by 黄健宏
Documentations
- Programming with Redis - doc
- Redis modules API - doc
- Administration - doc
- Redis Cluster tutorial
- Redis Cluster specification
- Redis Internals documentation - doc
Reference Information Security Resources - Cryptography
Reference Information Security Resources
Must Read
- Interactive Computer Graphics: A Top-Down Approach with WebGL (7th, 2014) by Edward Angel and Dave Shreiner
- Mathematics for Computer Graphics by John Vince
- Mathematics for 3D Game Programming and Computer Graphics (3rd, 2011) by Eric Lengyel
- 3D math primer for graphics and game development by Fletcher Dunn
- Computer Graphics: Principles and Practice (3rd, 2013) by John F. Hughes, van Dam, Andries
- Computer Graphics Principles and Practice in C: Principles & Practice in C by James D. Foley, Andries van Dam, Steven K. Feiner, F. Hughes John
- Fundamentals of Computer Graphics by Peter Shirley
- Foundations of 3D Computer Graphics by Steven J. Gortler
- Physically Based Rendering: From Theory to Implementation by Greg Humphreys and Matt Pharr
- Real-Time Rendering by Tomas Akenine-Möller, Eric Haines
OpenGL
- Computer Graphics with OpenGL by Donald Hearn, M. Pauline Baker
- OpenGL SuperBible: Comprehensive Tutorial and Reference by Graham Sellers, Nicholas Haemel, Richard S. Wright Jr.
- OpenGL(R) Reference Manual: The Official Reference Document to OpenGL, Version 1.2 by OpenGL Architecture Review Board
- OpenGL 4 Shading Language Cookbook by David Wolff
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 by Dave Shreiner, Graham Sellers, John Kessenich
- Multimedia Learning by Richard E. Mayer
- Fundamentals of multimedia by Ze-Nian Li
- Multimedia: Making it Work by Tay Vaughan
- EPublishing with InDesign CS6: Design and Produce Digital Publications for Tablets, Ereaders, Smartphones, and More by Pariah S. Burke
- Introduction to information retrieval by Christopher D. Manning, Hinrich Schütze, and Prabhakar Raghavan
- Information Retrieval: Implementing and Evaluating Search Engines by Charles L. A. Clarke, Gordon Cormack, and Stefan Büttcher
- Managing gigabytes by Ian H. Witten
- Search Engines: Information Retrieval in Practice by Donald Metzler, Trevor Strohman, and W. Bruce Croft
- Lucene in Action by Erik Hatcher and Otis Gospodnetić
- Information Retrieval: Data Structures and Algorithms by William B. Frakes, Ricardo Baeza-Yates
- Google's Pagerank and Beyond: The Science of Search Engine Rankings by Amy N. Langville, Carl D. Meyer
- Modern Information Retrieval by Berthier Ribeiro-Neto
- The Elements of Statistical Learning by Jerome H. Friedman, Robert Tibshirani, and Trevor Hastie
- Data Mining: Concepts and Techniques by Jiawei Han
- Mining of Massive Datasets by Anand Rajaraman and Jeffrey Ullman
- Data Mining and Analysis: Fundamental Concepts and Algorithms by Mohammed J. Zaki and Wagner Meira
- Introduction to Data Mining by Vipin Kumar, Michael Steinbach
- An Introduction to Statistical Learning: With Applications in R by Gareth James, Trevor Hastie, Robert Tibshirani, Daniela Witten
- Data Science from Scratch by Joel Grus
- Data Smart: Using Data Science to Transform Information into Insight by John W. Foreman
- Data Mining with Rattle and R: The Art of Excavating Data for Knowledge Discovery by Graham J. Williams
- Bayesian Methods for Hackers: Probabilistic Programming and Bayesian Inference by Cameron Davidson-Pilon
- Doing Data Science: Straight Talk from the Frontline by Cathy O'Neil and Rachel Schutt
- Data Mining with R: Learning with Case Studies by Luis Torgo
- R for Everyone: Advanced Analytics and Graphics by Jared P. Lander
- Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management by Michael J. A. Berry, Gordon S. Linoff
- Mining the Social Web: Data Mining Facebook, Twitter, LinkedIn, Instagram, GitHub, and More by Matthew A. Russell and Mikhail Klassen
Hadoop
- Hadoop: The Definitive Guide by Tom White, Doug Cutting
- Hadoop in Action by Chuck Lam
- Hadoop Operations by Eric Sammer
- Hadoop in Practice by Alex Holmes
- Professional Hadoop Solutions by Alexey Yakubovich, Boris Lublinsky, and Kevin T. Smith
- MapReduce Design Patterns: Building Effective Algorithms and Analytics for Hadoop and Other Systems by Adam Shook and Donald Miner
- Programming Pig by Alan Gates
- Data Analytics with Hadoop: An Introduction for Data Scientists by Benjamin Bengfort and Jenny Kim
- Expert Hadoop Administration: Managing, Tuning, and Securing Spark, YARN, and HDFS by Sam R. Alapati
- Hadoop Application Architectures: Designing Real-World Big Data Applications by Gwen Shapira, Ted Malaska Jonathan S Mark Grover
- HBase: The Definitive Guide by Lars George
- Hadoop Security: Protecting Your Big Data Platform by Ben Spivey and Joey Echeverria
- Architecting Modern Data Platforms: A Guide to Enterprise Hadoop at Scale by Jan Kunigk, Ian Buss, Paul Wilkinson, Lars George
Others
- Programming Hive by Dean Wampler, Edward Capriolo, and Jason Rutherglen
- MapReduce Design Patterns: Building Effective Algorithms and Analytics for Hadoop and Other Systems by Adam Shook and Donald Miner
- HBase: The Definitive Guide by Lars George
- Learning Spark: Lightning-Fast Big Data Analysis by Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia
- Spark: The Definitive Guide: Big Data Processing Made Simple by Bill Chambers. Matei Zaharia
Must Read
- Introduction to Artificial Intelligence by Philip C. Jackson
- Artificial Intelligence: A Modern Approach by Stuart Russell, Peter Norvig
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction by Trevor Hastie, Robert Tibshirani, Jerome Friedman
- An Introduction to Statistical Learning: With Applications in R by Gareth James, Trevor Hastie, Robert Tibshirani, Daniela Witten
- Machine Learning by Tom M. Mitchell
- Machine Learning in Action by Peter Harrington
- The Hundred-Page Machine Learning Book by Andriy Burkov
- Pattern Recognition and Machine Learning by Christopher M. Bishop
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems by Aurélien Géron
- Machine Learning: A Probabilistic Perspective Kevin P. Murphy
- Understanding Machine Learning: From Theory to Algorithms by Shai Shalev-Shwartz, Shai Ben-David
- Machine Learning For Absolute Beginners: A Plain English Introduction by Oliver Theobald
- Introduction to Machine Learning with Python: A Guide for Data Scientists by Andreas C. Müller, Sarah Guido
- Deep Learning by Aaron Courville, Ian Goodfellow, and Yoshua Bengio
- Deep Learning with Python by Francois Chollet
- Deep Learning: A Practitioner's Approach by Adam Gibson and Josh Patterson
- Grokking Deep Learning by Andrew W. Trask
- Fundamentals of Deep Learning: Designing Next-Generation Machine Intelligence Algorithms by Nicholas Locascio and Nikhil Buduma
- The Deep Learning Revolution by Terry Sejnowski
- Deep Learning Cookbook: Practical Recipes to Get Started Quickly by Douwe Osinga
- Reinforcement Learning: An Introduction by Richard S. Sutton, Andrew G. Barto
- Deep Reinforcement Learning Hands-On: Apply modern RL methods, with deep Q-networks, value iteration, policy gradients, TRPO, AlphaGo Zero and more by Maxim Lapan
- Algorithms for Reinforcement Learning by Csaba Szepesvari
- Hands-On Reinforcement Learning with Python: Master reinforcement and deep reinforcement learning using OpenAI Gym and TensorFlow by Sudharsan Ravichandiran
- Life 3.0: Being Human in the Age of Artificial Intelligence by Max Tegmark
- The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World by Pedro Domingos
- Artificial Intelligence for Robotics: Build Intelligent Robots that Perform Human Tasks Using AI Techniques by Francis X. Govers
- The Singularity Is Near: When Humans Transcend Biology by Ray Kurzweil
- Human Compatible: Artificial Intelligence and the Problem of Control by Stuart J. Russell
- The Fourth Age: Smart Robots, Conscious Computers, and the Future of Humanity by Byron Reese
- AI Superpowers by Kai-Fu Lee
- An Introduction to AI Robotics by Robin R. Murphy
- I, Robot by Isaac Asimov
- Computer Vision: Algorithms and Applications by Richard Szeliski
- Computer Vision: Models, Learning, and Inference by Simon J. D. Prince
- Programming Computer Vision with Python: Tools and Algorithms for Analyzing Images by Jan Erik Solem
- Multiple View Geometry in Computer Vision by Richard Hartley, Andrew Zisserman
- Learning OpenCV: Computer Vision with the OpenCV Library by Gary Bradski, Adrian Kaehler
- Computer Vision: A Modern Approach by David Forsyth and Jean Ponce
- Practical Computer Vision with SimpleCV by Demaagd
- Natural Language Processing with Python by Edward Loper, Ewan Klein, and Steven Bird
- Speech and Language Processing by Daniel Jurafsky and James H. Martin
- Foundations of Statistical Natural Language Processing by Christopher D. Manning and Hinrich Schütze
- Natural Language Processing in Action by Hobson Lane, Cole Howard, Hannes Hapke
- Neural Network Methods for Natural Language Processing by Yoav Goldberg, Graeme Hirst
- Applied Text Analysis with Python: Enabling Language-Aware Data Products with Machine Learning by Benjamin Bengfort, Rebecca Bilbro, and Tony Ojeda
- Recommender Systems: The Textbook by Charu C. Aggarwal
- Recommender Systems Handbook by Francesco Ricci, Lior Rokach, Bracha Shapira
- Practical Recommender Systems by Kim Falk
- Statistical Methods for Recommender Systems by Bee-Chung Chen and Deepak K. Agarwal
- Recommender Systems: An Introduction by Dietmar Jannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich
- Hands-On Recommendation Systems with Python: Start Building Powerful and Personalized, Recommendation Engines with Python by Rounak Banik
- Programming Collective Intelligence by Toby Segaran
Papers
Must Read
- Designing Data-Intensive Applications by Martin Kleppmann
- Distributed Systems For Fun and Profit by Mikito Takada
- Principles of Transaction Processing by Philip A. Bernstein
- Distributed Systems: Concepts and Design by George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair
- Introduction to Distributed Algorithms by Gerard Tel
- Programming Distributed Computing Systems: A Foundational Approach by Carlos A. Varela
- Distributed Computing: Principles, Algorithms, and Systems by Ajay D. Kshemkalyani
- Design and Analysis of Distributed Algorithms by Nicola Santoro
- Introduction to Reliable Distributed Programming by Rachid Guerraoui
- Elements of Distributed Computing by Vijay K. Garg
- Distributed Algorithms by Nancy A. Lynch
- Distributed Systems: Principles and Paradigms by Andrew S. Tanenbaum, Maarten van Steen
- Fault-Tolerant Message-Passing Distributed Systems: An Algorithmic Approach by Michel Raynal
- Distributed Algorithms for Message-Passing Systems by Michel Raynal
- Introduction to Reliable and Secure Distributed Programming by Christian Cachin
- Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services by Brendan Burns
Some More
- Replication: Theory and Practice by Bernadette Charron-Bost
- Distributed Operating Systems: Concepts and Design by Pradeep K. Sinha
- 大型网站技术架构:核心原理与案例分析 by 李智慧
- 大型网站系统与Java中间件实践 by 曾宪杰
- 分布式Java应用:基础与实践 by 林昊
Papers
More Resources
- 从PAXOS到ZOOKEEPER分布式一致性原理与实践 by 倪超
- Java Message Service by Mark Richards, Richard Monson-Haefel and David A. Chappell
Must Read
- The Internet of Money by Andreas M. Antonopoulos
- Mastering Ethereum: Building Smart Contracts and Dapps by Andreas M Antonopoulos
- Blockchain Basics: A Non-Technical Introduction in 25 Steps by Daniel Drescher
- Blockchain Bubble or Revolution: The Present and Future of Blockchain and Cryptocurrencies by Neel Mehta
- Blockchain: Blueprint for a New Economy by Melanie Swan
- Ethereum: Blockchains, Digital Assets, Smart Contracts, Decentralized Autonomous Organizations by Henning Diedrich
- The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology by William Mougayar
Bitcoin
- Mastering Bitcoin: Unlocking Digital Cryptocurrencies by Andreas Antonopoulos
- Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction by Arvind Narayanan
- Programming Bitcoin: Learn How to Program Bitcoin from Scratch by Jimmy Song
- Decentralized Applications: Harnessing Bitcoin's Blockchain Technology by Siraj Raval
- Blockchain Revolution: How the Technology Behind Bitcoin Is Changing Money, Business, and the World by Don Tapscott
- Attack of the 50 Foot Blockchain: Bitcoin, Blockchain, Ethereum & Smart Contracts by David Gerard
- Cryptoassets: The Innovative Investor's Guide to Bitcoin and Beyond by Chris Burniske
- The Book of Satoshi: The Collected Writings of Bitcoin Creator Satoshi Nakamoto by Phil Champagne
- Digital Gold: Bitcoin and the Inside Story of the Misfits and Millionaires Trying to Reinvent Money by Nathaniel Popper
- The End of Money: The story of bitcoin, cryptocurrencies and the blockchain revolution by New Scientist
- The Age of Cryptocurrency: How Bitcoin and Digital Money Are Challenging the Global Economic Order by Paul Vigna
[1] Distributed Systems - GoodReads
[2] What is the best book on building distributed systems? - Quora