My university study path

Source: Internet
Author: User

I studied C and C ++ in freshman year. I wrote black-white-text programs, asking for the numbers of daffodils and factorial. I don't know what the program actually does. Confused to the second half of the semester, I felt that I could not continue this way. By chance, the school network center recruited Asp.net programmers. I tried it and went in. I trained. NET and C # there and watched my brother use Asp.net as a website. I started to think that the program could be used in this way.

Since then, I began to write programs. When I followed my fellow students and thought that I had not made much progress, I had to read my own books. During this period, I helped the college develop specialized websites. For the first time, I was a little nervous, but it will soon be done. I have made several websites in the studio, and I am getting more and more familiar with JavaScript. At that time, the JS level was very weak, that is, I found some special effects on the Internet, and then I made changes myself.

In my junior year, I read a few good books and read other people's technical articles in the blog Park. I felt that I started to understand the program and began to pay attention to the concise code and performance, I know how to use the code written by others for improvement. During this period, I will read it. net books and JavaScript books, while helping the teacher to do a few external websites, I think it is very progressive. For example, I began to pay attention to the bottom layer of. Net and the implementation of the class library. At this time, I found that. NET is not open source. Fortunately, there is a reflector decompilation tool, which can basically see the source code.

However, at that time, I felt that. NET may not be wise, although I like C # very much, such as generics, lambda expressions, anonymous methods, extension methods, delegation and events. But I think we should learn an open-source, more widely used language (PHP ). At this time, I am also looking at the Javascript authoritative guide. Compared with C # During the learning process, I found that this weak type of language is very flexible and concise. It is not as large as a strong type language like C # or Java, this greatly increased my interest in Javascript. At that time, I read the authoritative guide several times and paid special attention to understanding JavaScript closures, scope chains, prototype chains, and so on.

In the second half of my junior year, I designed a database course. I bought a foreign-written Asp.net MVC book. The first time I came into contact with MVC, it was much simpler and clearer than the previous Asp.net. I liked Asp.net a little more. It was easier to use JavaScript when using MVC for a website. It was also really like doing Web development. I began to know how to view HTTP requests and responses, if you know the meaning of the request and Response Headers (accept-encoding, cache-control, last-modified, server), the website is determined to be faulty (200,304,404,500) based on the HTTP status code ). Since then, we have paid more attention to website performance.

The course is designed as an e-government column with message Publishing, activity application, Fund approval, etc. At that time, I still did not know the OA process, however, I also obtained an application-approval-feedback process. At that time, I mainly used a program to implement redirection and checked whether some logic was satisfied before the jump, transfer Data during redirection. In addition, for the first time, jquery was widely used for page effects and client verification. The website operated like Gmail.

In the first half of my senior year, I continued to help my teacher build a website and set up a Shaoguan pharmacist network. At that time, I used all the new things I learned on the website, such as jquery Ajax, jquery UI, MVC, and LINQ, at that time, I was very interested in the implementation of Ajax without refreshing the new loading effect, so almost all websites were using Ajax loading and submission.

After two months of study, I went to Beijing for an internship. I posted my resume on the internet, and I was a Beijing startup company (www.modem.com) working as an Asp.net programmer, at that time, their website already had the first version, which gave it a package with several years of experience. net programmers. However, we still think that his code is not very good. For example, he did not consider the large traffic volume of the website, nor did he consider browser compatibility. At that time, some features were unavailable in IE. So at the beginning, I was only modifying the bugs left by him. Later I found that some things were difficult to change and I had to discuss with my team and redo them. The result of the discussion was made using Asp.net MVC, so I was responsible for a big website with my classmates. Everyone was the first social networking website (image Q & A website, similar to Quora, where he was, ).

After writing the C # code for several months, the two of them gradually found that the code was out of control and it took time to maintain the code. Although we both had code cleanliness, we were not very familiar with the design patterns at the time, so our code was not very concise and abstract. Fortunately, we did it using the MVC Architecture, the code is not out of control, but it is just a maintenance time point. The other is that there were a lot of JS and jquery used at the front end of the website at that time, and many functions of the whole website were implemented without refreshing, and the user experience was good. Later, JavaScript was written too much and a little confusing. It encapsulated some common functions and controls, such as Ajax request functions, content scrolling plug-ins, and hovercaerd plug-ins. After the other cats are online, because the common VPs is used, websites with more than one category are easy to mount. Therefore, we use a large number of cache and cache pages on the website, the local cache and data cache optimize the loading of static Resources in the front end. For example, the JS loading method is used asynchronously to accelerate the loading of webpages, lazyload is used to accelerate web page rendering. js and CSS files are merged to reduce the number of front-end requests. image servers are used to store images to reduce the pressure on website servers.

Large concurrency is also considered in the database design. For example, redundant fields are used to reduce join operations between tables. Like operations are used with top operations to avoid full table search, select to query only required columns. After doing this, Baidu also learned how to optimize the server configuration and so on (the IIS server was used. At that time, the goal was to use nginx for unified forwarding and database, A server is configured for each website and static resource ). My 6-month internship in Beijing is the fastest-improving job. I work on the first line and often stay up late to solve technical problems. I have gained a serious and steadfast working attitude. In addition, the Javascript level has been greatly improved. Many JavaScript codes have been written in a few months, and some unique JavaScript language features have been fully understood. The prototype of javascirpt is oriented, the prototype chain is better than previously understood.

Finally, due to the reasons why I learned PHP, I also liked open-source things more deeply and liked PHP a lot more. php open-source products (dedecms, discuz, thinksns, ucenter) many, and PHP and JS are also weak-type languages, and many functions are used in the same way (array_push, array_slice, and so on). So I started to learn PHP when I came back from Beijing. The perception of the future is to study more open-source products. In fact, many open-source products have been used in the past year ,. net, such as json.net, log4net, nuget, e.net, and dedecms and thinksns. In the future, we will focus more on researching other good open-source products. In terms of technology selection, we will also give priority to open-source PHP and JavaScript.

My university study path

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.