The growth rate of software development tools is much faster than that of developers, which is a reality.
Every month, even every day, we can see new class libraries, frameworks, tools, languages. They either significantly reduce the cost of development or greatly increase the efficiency of development.
The question that comes up is how do you get developers to make good use of these tools?
There were several colleagues who did development and said to me: "Who doesn't write software?" From the Internet to find some open-source classes and projects to change is "." At present, it is also full of this "change is" work thinking. Describes how to install and invoke article abound for a class library and project.
But what are the pros and cons of each tool? What is the right thing to solve? How do you need to solve the problem? So what tradeoffs do we need to make? Such questions are largely not considered, but they are important.
It's a bit like martial Arts. Axe Hook Fork, brandish, manufacturing skills increasingly sophisticated, but the martial arts people in the heart no sense of propriety, the split when the gun, the Thorn when the axe ... Play a few flowers bashi is enough, really fight to win?
The question I often ask in new interviews is: What types of NoSQL are there? What are the typical representations and scenarios for each type? You know, people who have used MongoDB and redis abound, but there are not many answers to these questions. Such a candidate, I did not want to make up my mind. With a little attention, they may use Redis to save documents, do complex operations with MongoDB, and even "boldly" use Redis to replace the database to address performance bottlenecks-oh, you speak of "business", Redis also has "business" ah.
For such people, you really let them study mongodb or redis, and let them read through a monograph, it seems a little scratched, they do not have so much patience. So I often wonder if there is a "thin and wide" book that focuses on opening up your horizons and teaching you to use the tools that you already have in the right way. Today, although we have a large number of frameworks and class libraries, there are rapid cloud services, but as long as there is no grasp of the "correct application", there is no guarantee that "do things right", can only develop some aspects of the obvious inferior lattice products.
So when I saw Zeng Jiansen's "app backend development operation and architecture practice", I couldn't help but have a light. This is a "thin and wide" book, it is not like "hit the Dog Stick Law" or "evil sword", not responsible for teaching you to a particular martial arts to the extreme, and more like the "18 Weapons Primer", tell you brandish each suitable for what scene, when using what precautions. A typical example of the Redis section is not how Redis is installed, how it is invoked, but how redis is used in typical scenarios such as sending SMS, social relationship computing, and how the various clusters on the market are available before Redis provides built-in clusters. While this is only a chapter, the value for the average developer is definitely greater than the two or three Redis monograph and is more efficient to read.
Ancient martial arts people, not everyone must do martial art master, many people just put 18 like weapons are cooked, it is enough to prevent thieves, security, benefited. The same truth, for today's app background developers, the basic points are stepping on, stepping, the system to carry over the line above, to avoid obvious flaws, for most of the scene, has been a significant.
Yu Yu – Software development veteran, public number "Yu Yu thought"
"App backend development operations and architecture practice" recommended sequence