The index of Advanced Reading Learning in pursuit of technology is part of the author’s Awesome Reference series, which is similar to a list of recommended books in machine learning, deep learning, and natural language processing. It’s an aid to cultivating higher-level, more abstract thinking.

Sight

  • How to be a Programmer: Difficult but noble. The hardest part about turning a collective software engineering vision into reality is working with your colleagues and customers. Programming is important, and it requires great intelligence and skill. But from a good programmer’s point of view, programming really is a kid’s game, compared to building a software system that satisfies customers and various colleagues. In this article, I’ve tried to summarize as succinctly as possible what I wish someone had told me when I was 21.

  • TeamStuQ SkillMap: StuQ Programmer Skill Map is an open source project of technical community initiated by StuQ (www.stuq.org/). IT aims to collect and build the learning skill map of pan-IT technology fields (cloud computing, big data, operation and maintenance, security, development language, intelligent hardware, etc.), Internet products, operation and other fields. It helps programmers sort out the knowledge framework, and tries to provide path guidance and essential resources for technical people to learn and grow.

  • At the end of last year, I published an article on my path to programming – Knowledge Management and Knowledge Systems, which is my understanding of technology systems at the time. In 2016, I got involved in more practices, especially in the field of Web front-end development. By analogy, each knowledge in the entire software programming system can be verified. Technology is divided into shu and Tao. Shu is the concrete way of doing things, while Tao is the logical and abstract principle of doing things. Blindly pursuit of art is often the people who want to take a shortcut, without understanding. The tao is also in line with the 10,000-hour principle, which requires a lot of effort and summary. But to be fair, many beginners must start from daoism. The author also took a lot of new people this year, and found that most of them forgot what they had learned, and lost the code they had written. The speed of moving forward was not equal to the passage of time. The purpose of this article is to draw the outline of the brilliant starry sky with the words of a family, and to build a boat in the ocean of knowledge for you.

Collection

  • Computer Science Video Courses【Collection】

  • Papers We Love [Collection] : Papers from the Computer Science community to Read and discuss.

  • 2017-Awesome Creative Coding【Collection】: Creative coding is a different discipline than programming systems in which the goal is to create something expressive instead of something functional. This is carefully curated list of awesome creative coding resources primarily for beginners/intermediates.

  • 2016- All kinds of excellent materials, artifacts and frameworks on your way to becoming a professional programmer

  • Over 2500 dev Blogs dataset, Awesome Dev Blogs, Software Engineering Blogs

  • One-click-to-be-pro [Collection] : a Collection of excellent learning resources of high quality

  • A Collection of free programming books from over 70,000 stars on Github

Book

  • [2004-SICP-Structure and Interpretation of Computer Programs [Book]](): Chinese is called the construction and interpretation of computer programs even after 30 years in the knowledge explosion of various new technologies emerge in endlessly, the contents of the book not only has not expired and still maintain a high value, because it is not art but a way, that is not one specific technology, but rather through the scheme this lisp dialect and relevant example, Explains the nature and characteristics of computer programs.

  • 2008-Clean Code: A Handbook of Agile Software Craftsmanship:

  • 2008- Programming Abet: This book is a classic in computer science. The book revolves around a series of practical problems faced by programmers. With insight and creativity, Jon Bentley guides readers to understand these problems and learn the solutions that are crucial to a programmer’s practical programming career.

  • 2010- The Art of Computer Programming: The Art of Computer Programming series is widely regarded as the definitive book in computer science, and American Scientist magazine has listed the books alongside Einstein’s Relativity as the 12 most important physics books of the 20th century. The Art of Computer Programming, an in-depth exposition of the theory of programming, has a profound impact on the development of the computer field.

  • CSAPP: An in-depth understanding of Computer Systems [Book] : an absolute good Book that introduces the basic principles of computer systems from the perspective of a programmer in a simple way. Here is the full edition of the author’s collection of 2011- In-depth Understanding of Computer Systems 2ED-Scan.

  • 2012- The Beauty of Mathematics: Called the Beauty of Mathematics, it is the beauty of mathematical principles (statistical language models) in information technology (natural language processing). It helps readers to have a deeper understanding of linear algebra, probability theory and mathematical statistics, and the application significance of random process, graph theory and machine learning that they should have learned but did not learn. The author was deeply impressed and saw the correlation between TF-IDF and information theory, which was very enlightening.

  • 2013- Yuhiro Matsumoto – The Future of Code: Another tour de force by Yuhiro Matsumoto, the father of Ruby. The author analyzed various programming languages and related technologies in the era of cloud computing and big data, and predicted the development trend of programming languages in the future. Talk about Go, VoltDB, Node.js, CoffeeScript, Dart, MongoDB, Moore’s Law, programming languages, multi-core, NoSQL and more. The content is relatively shallow and broad, inclined to the nature of technology popularization.

  • The Architecture of Open Source Applications【Book】: The book introduces the architecture of many open source software, In these two books, the authors of four dozen open source applications explain how their software is structured, and why. What are each program’s major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to these books provide unique insights into how they think.

  • 2013-The Little Schemer V4: This delightful book leads you through the basic elements of programming in Scheme (a Lisp dialect) via a series of dialogues with well-chosen questions and exercises. Other studies: 1989-The Little LISPer, 1995-The Finely Seasoned Schemer, 2005-The Reasoned Schemer, 2015-The Little Prover

  • 2015-The Art Of Programming-By-July【Book】: The Method Of Programming: Interviewing and Algorithm Insights

  • 2017-Mathematics for Computer Science【Book】:This text explains how to use mathematical models and methods to analyze problems that arise in computer science

  • 2017-Software Foundations [Book] : This electronic book is a course on Software Foundations, the mathematical underpinnings of reliable software. Topics include basic concepts of logic, computer-assisted theorem proving, the Coq proof assistant, functional programming, operational semantics, Hoare logic, and static type systems.

Course

  • Open Source Society University: This is a solid path for those of you who want to complete a Computer Science course on your own time, for free, with courses from the best universities in the World.

  • 52-technologies-in-2016

Site

  • HackerNews, Reddit, Google+, TechMeme, V2EX, DZone

  • Technical reading: Medium, Developer Headlines, Nuggets, CSDN

  • Tech Q&A: StackOverflow, SegmentFault

  • Open source community: Github, OSChina, Coding.net

  • Journal Subscriptions: MyBridge, InfoQ Architect, CSDN Programmer Magazine (), Code Weekly, High Availability Architecture Series, ThoughtWorks Technology Radar

  • Online learning: Coursera, edX, Udacity, MIT Open Courses, MOOC Institute, MOOC

  • Online programming: LeetCode, Project Euler, CodingGame, Kaggle, Topcoder, Niuke, HackerRank

  • Dachang style: MSDN, Google Developers, cloud community, IBM DeveloperWorks, Facebook AI Research, Facebook, Airbnb