Mathematical beauty book review && customary code specifications

Mathematical beauty book review:

Read from beginning to end insists is not easy, but the result did get a lot. Not only have some book knowledge, more importantly, bring their own thinking

First, let's sort out what it gained knowledge

We introduce these mathematical methods: statistical methods, statistical language model, Chinese information processing, hidden Markov model, Boolean algebra, graph theory, Page Rank technology, information theory, dynamic programming, the law of cosines, matrix operations, information fingerprint, password science, search technology, mathematical models, maximum entropy models, Pinyin input method, Bayesian networks, syntactic analysis, the Viterbi algorithm, all broken algorithm.

1, based on the natural process of statistical methods, statistical language model is the basis of natural language processing. 
2, natural language processing related to content: ① word (Chinese word segmentation, POS tagging, TF-IDF (term weight measure)) ② feature extraction (knowledge matrix, eigenvectors and the law of cosines) ③ models (hidden Markov model horse (horse Markov chains, Bayesian network (graph theory), condition (parsing random field)), logistic regression) ④ algorithm (Viterbi, maximum entropy, expectation maximization) 
3, the search engine involves content: ① information (entropy, Boolean algebra and index) ② graph theory (web crawler, traversal algorithm, finite state machines and dynamic programming (maps, Pinyin input method)) ③ algorithm (pagerank page sort, divide and conquer algorithm -MapReduce,) ④ Search engine (anti-cheating, advertising)

4, ① fingerprint information (cryptography (public key)) ② mathematical model (Maximum Entropy) ③ parsing (syntax tree) ④ communication (CDMA, FDMA, TDMA) 

Wu teacher mentioned in the "mathematical beauty": "The purpose of this book is to preach instead of talking about surgery many specific search technology will soon be detached from stunt to popularize, to fall behind, the pursuit of art work is his whole life. hard. only with the nature and essence of the search for talent is always at ease. " Back to our daily development work, as IT engineers, programmers, big trend to keep up with technology, the need to learn the technology too much, if only to blindly chase the pace of technology, then we will be very tired tired, and may be spent 80 percent of the time received only 20% of the effect, let alone expectation maximization, perhaps never even got 60% less than your expectations. On the contrary, such cnblogs (blog Park) in the recruitment of engineers have been mentioned in the "three major principles, two agreements, one kind of structure" (computer principles, principles of operating systems, compiler theory, TCP / IP protocol, HTTP protocol, data structures) but it is not how change (even for a short time will not change), but these things happen to be in this fickle society, we have these so-called computer science graduates, so-called Coban graduates are lacking (because most people do not have these things really learn in college, but only a few credits to go to the library so-called fight one or two weekends only). Standing height looking down, maybe we have not see in the end, but it is standing on end at the bottom can be seen, which is why I have to go back to ponder the principles and operating system data structures after graduation in subjects such reasons .

Therefore, we should realize road technologies, so that their skills upgrading, rather than just meet the status quo.

Students can expect a lot of understanding and truthfully do!

 

 

 

Code specification:

In fact, not a quick fix to code standards habit, is through a multi-knocking to practice their own way out, and it is a personal habit.

I used to code specifications were the following:

1. The first is a blank line.

Blank lines can make your code more clear, reasonable, to other people to see when you can also understand it, and in their own time to find a bug, can all be very clear that their mistakes and correct them .

Rule number one: After you define the variable to be a blank line. As defined in the variable initialization of variables at the same time, that is to follow the principle of proximity. If the variable references and definitions relatively far apart, then initialize variables can easily be forgotten. If uninitialized variable is referenced, it will cause an error.

Rule number two: after the end of each function definition must add a blank line.

General Rules: two independent blocks, must be added after the empty row variable declaration. Few lines of code such as the above is a complete functional, the following lines of code completion is another function, then you should add a blank line between them. So it looks more clear.

2. Followed by correspondence and symbols appear in pairs.

Their habits are aligned braces up and down, start a new line. Do not finish the opening parenthesis and then write the contents of the last fix right parenthesis, it is easy to miss right parenthesis, especially when writing nested procedures.

3. Then a space.

(1) assignment operators, relational operators, arithmetic operators, logic operators, bitwise operators, such as =, ==,! =, + =, - =, * =, / =,% =, >> =, << =, & =, ^ =, | =,>, <=,>,> =, +, -, *, /,%, &, | front, &&, ||, <<, >>, ^ and other binary operator should spaces.

(2) to leave a space after the keyword. After at least as const, case and other keywords you want to leave a space, or can not discriminate keywords. After like if, for, while keywords such talk should leave a space left parenthesis (, to highlight keywords.

4. Then there indent.

Proper indentation will make your code looks taller on, ha ha ha ha ha, and more clarity, more layered.

5. Finally a comment.

I have no comment until the habit, too troublesome, but later found that this is wrong, annotations can help you look after your own code to understand what is written, and the functions are clear and easy to read.

summary:

To write the code specifications will not happen overnight, this should be a habit, you need to keep knocking, keep accumulating. At the beginning of more than imitate, according to specifications written on the line, after the time to write the code, it will not help by writing a standardized way.

 

Guess you like

Origin www.cnblogs.com/XJWQ/p/11481950.html