One thing I like most about web development is that it includes many different skills. As a good developer, you must study hard and learn every day, because we have many important skills to learn and they are constantly changing.
I listed the 10 most important skills here. They tend to be frontend, but they are generally suitable for all developers:
Regular Expression
Basic SEO
Good Javascript Library
Cross-browser debugging
Image processing and Optimization
La s with valid HTML/CSS (not applicable to tables)
Copyright/basic network regulations
Apache rewrite
Debug software
Version Control
1. Regular Expression
Regular Expressions are often used for string parsing. The most basic application is character search and replacement in text. This does not seem to be anything. The diversity of regular expressions is the reason for its real strength. You can optimize your regular expressions in many ways, which also greatly improves the performance of your applications. Regular Expressions are applicable to any programming language, such as JavaScript replace (), PHP preg_replace (), Apache rewrites, and so on. It's strange that only a few web developers think regular expressions are quite useful. If you haven't learned them yet, be prepared to start learn regular expressions.
2. Basic Search Engine Optimization
For Network developers, it is necessary to understand the basic information of search engine optimization. Although you can reserve keywords that direct to your client, developers should use a more reasonable policy to arrange these keywords on the page. This means that the front-end labels should be sorted out to make good use of the "TITLE", "META", "h1" and "h2" labels, and to organize more stable links and directory structures at the backend. The best resources I have found for learning SEO are Beginner's Guide to Search Engine Optimization and Search Engine Ranking Factors v2, both of which are from SEOmoz.
3. An excellent Javascript Library
Even if you are not very familiar with Javascript code, mastering an excellent Javascript library will be of great help. Whether it's jQuery (my favorite), Mootools, or other libraries, it can make your Javascript development work get twice the result with half the effort. First, these libraries provide cross-browser functions so that you can get started directly without having to worry about this. Moreover, they all provide a large number of simple animations, making it easier to select nodes in the DOM. More bold Javascript programmers may want to access the Javascript UI Language. The libraries mentioned above have related plug-ins, but I personally recommend Dojo with Dijit.
4. cross-browser debugging
To make the website visible to more people, it should obviously support all mainstream browsers (IE6, IE7, IE8, FF2, FF3, Safari 4, and Opera 9 ). Everyone hates cross-browser debugging, but the best way is to prevent it, starting with effective HTML and good reset style sheets. For me, use * {magin: 0; padding: 0 }. However, you can also use other more robust methods. In addition, you should be aware of the quirks of Some browsers. The most famous is of course the IE family, especially IE6 (yes, it has always been, it is still it ). Although most problems can be attributed to the notorious haslayout bug, you cannot rely on some clumsy methods to solve it, such as * {zoom: 1 }.
5. Image Processing and Optimization
Although most programmers design pictures by professional designers, it is also important for programmers to understand Photoshop. After you have mastered some image processing technologies, you don't need to kick back some minor changes to the designer. You just need to change them by yourself. In addition, you will immediately know whether the modifications are feasible. Image optimization is one of the most important aspects of Photoshop skills for web programmers. The image size is often the biggest threat to bandwidth. Image optimization is directly related to the loading time of the website. The Save for Web option in Photoshop and Illustrator greatly simplifies image optimization, you only need to press Ctrl-Alt-Shift-S on the PC or Command-Alt-Shift-S on the Mac to enter this wizard.
6. Use valid HTML/CSS for page layout (rather than tables)
We need to pay attention to the fact that it is no longer 1996, and the real-time backend developers should also know how to write the front-end code-use valid HTML and CSS-instead of a heap of tables. The tag should be neat, CSS and other types of documents should be separated from HTML, so that no inline style exists, especially the font tag. Beginners should learn CSS labels and CSS box models. Then I learned W3C rules to learn how to write reasonable code. The HTML you write should comply with xHTML rules. There should be reasonable nesting, closed, and image tags containing alt attribute information. Then you can understand the nodes that can be nested in other nodes and have other complex contents. Finally, you will find that the w3c HTML Tag validator does not report any errors, which is really nice.
7. Foundation of copyright/network regulations
Although you do not need a law degree, it is best for developers to have a basic understanding of copyright and network regulations. Because web pages are essentially publications, and copyright is the most common legal issue for websites. From the user-generated content to the reference of the content section in the New York Times, if you do not want to be sued or receive a complaint letter, you 'd better understand this. Of course, you 'd better understand this if you want to file a lawsuit or send a complaint letter. In addition to the Copyright Law, when signing agreements for registration/use of host hosting or software, you 'd better take a look at the privacy agreement and COPPA (U.S. Children's Network Privacy Protection Law.
8. Apache rewrite
The rewrite function of Apache makes the original messy URL more neat (as long as you know the regular expression ). You can put the ugly address: index. php? Section = about & page = bioand rewrite bit: about/bio. It is not limited to regular URLs. Using mod_rewrite of Apache can easily turn a simple page into a complete application containing a path. You only need to rewrite the queried variable to a path.
Similarly, you should note that Apache rewrite is not well-known for debugging. Rewrite Rules cannot contain any debugging information and often ignore the information of other methods you reference. Therefore, rewriting may also lead to some untraceable errors.
9. debugging tools
A good debugger allows you to program web pages faster. When performing front-end debugging, I like to use Firebug. You can click the elements on the page to calculate the effective settings in the style sheet. You can add or delete styles or modify pages. Firebug can also be used to debug Javascript. As the Javascript running console, it can better organize error messages and display output content of fromconsole. log. Finally, it provides network information, displays page element loading events, and content that cannot be loaded or obtained. I don't know how to perform backend debugging, but I heard that PHP has something called xDebug.
10. Version Control
Last but most importantly, a good programmer should learn to control your version. Version Control is not only a way to back up your work, but also an important way for you to work with other developers. I personally prefer distributed as opposed to centralized (distributed and relatively centralized) version control because it has two different levels of Version Control: you can submit some of your modifications to the local storage center, and then push all the changes to the server-side storage. This allows you to make a small, unstable modification locally, and then submit updates from the team in a centralized manner. If distributed version control is adopted, I prefer Mercurial, and if it is centralized, Subversion is good.