As a qualified PHP programmer, what technical reserves should be carried out?

Source: Internet
Author: User
Php Chinese network (www.php.cn) provides the most comprehensive basic tutorial on programming technology, introducing HTML, CSS, Javascript, Python, Java, Ruby, C, PHP, basic knowledge of MySQL and other programming languages. At the same time, this site also provides a large number of online instances, through which you can better learn programming... Reply: I am not interested in all kinds of frameworks.
My understanding
1: secure SQL injection, cross-site scripting, XSS worms, typical Upload vulnerabilities and other risks, as well as the principle and prevention of CC attacks. development engineers who do not know security are not qualified.
2: Databases
A correct understanding of the principles of data indexes should include at least hash indexes and B-tree indexes, and an understanding of the principles of index optimization and query efficiency analysis methods. This is simple. according to our interview, less than 10 engineers without training can meet this requirement. Of course, there may be more companies in the north, which may be better.
Knowing the advantages and disadvantages of relational databases and key-value databases, as well as the memory databases, and applicable scenarios, you can select an appropriate data storage mode based on your business needs.
Some people may say that this is not a DBA job? I have always thought that development engineers and DBAs should not be differentiated at all. maybe I am a bit paranoid, but our company basically requires development engineers to serve as part of this job.
3: debugging and testing capabilities
This virtual point is just a few scenarios.
When you encounter a dominant bug in the output of various types of errors, you can find and solve the problem by searching for help information.
When encountering an invisible bug with inconsistent results and expectations, such as a data logic error or a problem of determining a branch error, you must know the design breakpoint and output intermediate data to gradually locate the problem.
When you complete a large task, you know that each step requires independent testing, instead of thinking about the need for testing in general sense.
When the business needs to meet the needs of a high access scale or public exposure to the Internet may cause CC attacks, know to do stress testing in advance and provide performance indicators.
4: code comments
Comments rather than documents, because it is difficult for other programmers to read documents and view programs, the comments in the code are actually very critical, the release code can be uncommented based on some considerations; however, you need to keep a copy of the original code with detailed comments.
5: business requirement understanding
I have always believed that php is not a purely technical type and is more directly oriented to requirements. Therefore, the better understanding of business needs, the smoother communication with relevant product personnel and business personnel, the work will be better. believe me, every product person is a development engineer who understands the requirements and is easy to communicate.
6: If possible, you have the best understanding of O & M, because sometimes, when there are some strange bugs, you need to make a correct judgment, and you may need to have a certain understanding of the O & M environment. By priority
1. PHP language features, security technologies, and well-evaluated frameworks, such as CakePHP and Symfony. of course, there are also some good frameworks in China such as ThinkPHP. As a PHP programmer, I need to have a deep understanding of the advantages and disadvantages of PHP and various implementation details. You can read some popular open-source programs, such as various CMS. There is no perfect language in the world, but as a programmer, you must be good at making up for the language itself, or even the defects of the team itself, so that the system developed by yourself tends to be perfect. At the same time, you also need to understand various network attack techniques, such as various injection technologies and common hacker attack techniques, so as to promptly fill in various vulnerabilities in the development phase.
2. Mysql database technology. Mysql can be said to be very closely integrated with PHP. it can be said that without Mysql, PHP may not be popular at all, so we generally talk about LAMP development. In addition, the bottleneck of the program you write will be in the DB (especially when the load is not very high), so you must understand the database creation and optimization techniques.
3. HTML, CSS, JS, and other front-end technologies. you can even learn about some Flex programming. No matter what architecture or framework you use in PHP, there is no doubt that what you eventually deal with users is to generate browser-resolved front-end code. Your familiarity with these technologies will undoubtedly speed up your work efficiency and your ability to solve problems.
4. knowledge about Apache website servers and Linux systems. This is the PHP program running container. Understanding about the quality and structural advantages and disadvantages of a fish tank will undoubtedly benefit fish farming. Php mainly involves web development. Then you will understand the performance of html, css, and js front-end. The database is mainly mysql. you can write and optimize SQL statements in combination with projects. In addition, linux and the server also need to know that qualified PHP programmers are first qualified programmers. If you are sure to join the programmer line, Php should be just your start.. My suggestions are as follows:
I. junior programmers, Follow the project. Junior programmers are mainly familiar with essential language knowledge points.
2. Intermediate programmers,You can access complex applications, such as applications with millions of traffic and tens of millions of traffic. after going through this project, you will naturally be able to use the required knowledge freely.
3. expert programmersTo reflect on the project, learn, and communicate with the experts, gradually form their own programming style, and have unique insights on technical issues, overall analysis of business, technology, and team...
In short: programmers need to improve themselves through continuous learning, and programmers are only a member of the business team. In the end, technology must be transformed into commercial productivity and business productivity improvement. Do not learn technology to learn technology. Technology will always serve people. To learn c/c ++ well, php can be expanded by default. PHP programmer, Lei Xuesong's personal blog is an excellent IT technology blog. Http://www.leixuesong.cn Database, debugging and testing capabilities, code comments, business requirement understanding, and O & m I want to know how much of these things need. Qualified php programmers:Meet the business and projects of your company.
Excellent php programmers: Optimize and improve the company's business and projects after meeting the company's business and projects
Daniel's PHP program: After satisfying the company's business and project requirements, we can optimize and upgrade the company's business and project. this solution is not limited to the php level and has a certain influence in some aspects!

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.