Reading notes: 00 | The opening remarks master the first principles of software development technology

Geek Time-Detailed Explanation of the Back-end Technology Foundation-Li Wisdom-Reading Notes

Computer software development is an ever-changing field, with new technologies being produced almost every day, and major technological trends will change every few years. This forces us software developers to constantly learn new knowledge and new technologies in order not to be abandoned by the times.

However, most of these new technologies are born out of some original technical systems. If you establish a technical thinking system and master the principles behind this set of technologies, you can quickly grasp the essential characteristics and ideas of this new technology, and then derive how this new technology is. Achieved. At this time, you don't actually need to learn this new technology, but to verify this new technology.

First principles-the starting point for establishing a technical system

Grasping the most essential characteristic principle of a thing, a rule of the thing itself, to deduce, analyze, and deduce various changes of the way back, and then gain insight into the manifestation of things in various specific scenarios, rather than following the surface phenomenon of things, The so-called rules, experience and skills are so rigid that they have lost their way in various complicated conflicts and entanglements.

How to create our technical system

For software technology, we do not need to be proficient in various programming languages ​​and various tool frameworks from the beginning. We need to know the most critical technical principles in each basic technical direction and understand how these principles are related to our daily development work. of.

For example: How is our program scheduled to be executed by the operating system? Why does the system crash during high concurrency? What is the principle? When programming, when should a linked list be used, when should an array be used, and why? When we use the hash table, under what circumstances its performance will drop sharply, and what is the principle? When we use distributed cache like redis, what kind of problem should we solve? How does distributed caching work? What other technologies seem to have nothing to do with redis, in fact, the working principle is the same?

Software Knowledge Technology System

The software knowledge technology system is divided into three parts: the basic principles of software, the design principles of software, and the core principles of architecture .

  • The basic principles of software are mainly operating systems, data structures, database principles and so on.

  • In the design principle of the software, we must know how to design a powerful and flexible software that is easy to reuse and maintain. In this process, you should rely on which tools and methods, which principles and ideas to follow, and which models and means to use.

  • The core principles of the architecture are analyzed around the current main Internet distributed architecture and big data IoT architecture, and the principles behind these architectures are analyzed. What driving force and design ideas they all follow, and what seem to be different technologies are actually the principles are The same, and how to achieve high availability and high performance of the system through these technologies.

Software development is a very practical activity. If you are just learning technology, you are talking on paper. Only by applying knowledge and skills to work practice, can we truly understand the key points of technology, and we can distinguish which technologies are really useful and which methods are flower fist embroidering legs.

Published 2 original articles · liked 0 · visits 28

Guess you like

Origin blog.csdn.net/weixin_44737545/article/details/105471328