preface

Recently heavy learning front end in front end entertainment circle is quite hot, earlier accidentally through other wood yi Yang big man in contact with Winter god, this is the big man at that time to see the notes, the big man is also active in nuggets, this is the big man’s notes:

1. There is no need to spend too much time on the use of the framework. You should study the design ideas behind the three frameworks. 2. The end of a programmer's technical life comes when he is afraid of algorithms, language standards, low-level, native, and English documents. 3. The front-end architecture mainly solves the problem of high reusability, and the improvement direction of the architecture capability is mainly component library development and front-end framework implementation. 4. For front-end advancement, in fact, the role and significance of reading is not obvious. We need to find a good platform and appropriate project, constantly overcome problems and challenge ourselves in the project, and then go to the information summary when encountering problems. It's hard to become a master if you just read behind closed doors. The book is just the foundation, and the real application is in the project. Winter can do only to improve themselves, but by technology is not.Copy the code

Professional ability

The underlying

1. Compilation principle, this thing is far away from our front end, but now SASS, Babel and other, not all rely on AST, need to write Bable plug-ins, most of the time we need to have a certain understanding of AST, compilation principle is very helpful for this aspect, here is an article 2. Computer network, saying this thing when I was in class, feel boring, when work, found that well and clear, the book and now something different at first sight, TCP, UDP these, I am very fun, because I can send a request, also do not have what, to contact work, found that understand HTTP, HTTPS, is very helpful for our development

native

1. One of my ideas is that the original is the addition, subtraction, multiplication and division that we learn, and the subsequent advanced mathematics (framework) are all based on this. If a person is not familiar with addition, subtraction, multiplication and division, do you think he will be able to calculate many results of advanced mathematics?

Being able to understand the language from the perspective of a language designer, like a mother, you know your child’s strengths and weaknesses, and it’s easy to analyze the strengths and weaknesses and get him to do the right thing before asking him to do something. If you’re an outsider, you just want your child to do something.

algorithm

1. The essence of the algorithm is to solve the problem, but in general, we seldom meet the algorithm does not solve the problem, then the algorithm is the main highlight on the train of thought to solve the problem and efficiency, which can better solve the problem, this is a major reason, algorithm overlooked from before I see nguyen other bosses fast algorithm by batch, I realized the seriousness of the problem, Algorithm is serious, people are space for time, you are in order to achieve the sacrifice of space, the realization is realized, but the lack of understanding of the soul of fast row, as long as there is no bottleneck, then optimization is always empty words, now the first screen rendering optimization, is also highlighted after the attention.

2. The algorithm can bring the change of thinking mode, when a roommate in implementing a type WeChat friends find, have an input name and display a candidate, I was surprised by his mind, he used the longest common subsequence, then that the longest common subsequence algorithm to calculate the ratio of the sequence to match the string, according to the sorting, Aside from this method, I was surprised that his thinking on dealing with things was different from mine. There was also a nested array search element that I saw in the CNODE community at that time. Someone proposed a faster search algorithm, how thoughtful person.

3. The idea of algorithm can also be transferred to other scenarios. I found that this problem was solved by the idea of fast sorting when the problem of how many times to compare an array of n elements and the problem of the maximum value before the array was brushed.

Language standard

1. As the definition of mathematical language standard, is the ultimate solution of every problem, recently, ECMASCRIPT standard, has been a lot of people know it, and applied to themselves to learning, for me, there is a relevant example of specification as we study the derivative of, don’t know the principle, can go in, still use well, However, when we encounter some problems that cannot be solved, the teacher will explain how to solve the problem from the principle of derivative. Just like this example, the language standard is the ultimate means to solve the problem and the axiom of this language. Sometimes some problems are confused, we need it to solve the doubts.

The framework

1. What are the commonalities of the three frameworks, MVVM, componentization, state management, and routing? Of course, since I haven’t studied Augular and React carefully, I can only say that they are roughly the same. Because of the MVC mode like JQuery, MVVM emerged to realize the separation of concerns and let us focus on the data. The front-end is complicated, so we need componentalization to decouple the data flow. After the decoupling, the data flow becomes a network. The URL mapping of the corresponding view of the route is designed

Personal ability

English

1. Naming, now many people disorderly naming, write out the code can only give yourself to read, good naming can be explained, like pinyin initials naming, you may forget the next day, but the standard naming, even if people do not understand English, check to know what you write.

2. See XX error, backhand tips to others, in fact, now the framework is very good, English prompts basically tell you what is wrong, do not understand English, you have to go to the first translation, understand English can be directly translated into Chinese, according to their own understanding to solve the problem, this aspect of the time gap is very big.

3. Technology blogs, books, programming is brought in foreign countries, the somebody else like we use Chinese to write code freely, we started too late, foreign technology blog, technology books a lot of moment are very high quality, some would say, we can see the translation, translation distortion is on the other hand, the bigger problem is that, first, in general, It takes time to translate a book, and not all foreign materials can be translated. If you can learn it first, you will have a first-mover advantage. The first time I realized this was when I saw the Translation of Types and Programming Languages in the language type system, so I had to translate it myself.

Ability of expression and comprehension

1. The power of expression that important why say, because you’ll technology is taken for granted, but worry that maybe you think you will, just your knowledge limit your imagination, we need more communication with others, programmers pursuit is concise, simple, read the official document will be scratching their heads, But reading other people’s blogs is much better. Blogs represent one’s ability to organize knowledge and express oneself. 2. Understanding ability, party a’s father’s requirements, you must have a good understanding, halfway again change, both sides suffered, I think the end of the understanding, is to be able to infer according to the existing scene of each other’s intentions, generally speaking, the other party does not know what he wants, problems in where, we speculate based on the existing scene, understand, An example of this is the group saying why Vue data is not updated, you know it is due to reactive boundary or asynchronous problems, of course this example is not appropriate, I think it is more like a mind matching.

Abstract and concrete transformation ability

1. The father of Erlang advocates thinking before writing a program. Personally, I agree with him that instead of piling up code all at once, we should first abstract the whole thing, analyze the process and choose the plan

conclusion

I am just a senior unemployed single dog (crying), it is suddenly remembered that last night I need to summarize some programmers, recently because, after all, a variety of reasons, some ideas have changed, before the step to the next place, do a little summary, to warn her, by the way, if the bosses attendance, star encouragement can making in my warehouse