Turn: PHP Senior engineer faced with the growth bottleneck
Source: Internet
Author: User
Turn: PHP engineers face a growing bottleneck
As one of the most widely used languages in the development, PHP has a large number of fans, so are you a good programmer? Do you want to face all kinds of problems while doing self-cultivation, how can I break through my own bottleneck so as to develop better?
PHP Engineers face growing bottlenecks
First of all, the PHP engineer referred to here refers to the development of web systems primarily in PHP, and does not work in its language. Work experience in about 3-4 years, ordinary Web system (millions access, level 1000 data or business logic is not particularly complex) development of basic handy, no problem. But they're going to do something like this:
In addition to PHP's non-use of other languages, a shell script may be ordered.
The mastery of PHP is not fine (many PHP manuals are not read, except the library).
Knowledge is narrower (in the face of demand, except the use of PHP and MySQL, do not know other solutions).
The PHP code takes the process as the main idea, the object-oriented implementation is too round, can not understand.
These phper are a lack of thought when it comes to the complexity of projects or business logic that requires high performance, high concurrency, and large amounts of data (systems need to address multi-domain business issues). Can not analyze the nature of the problem, technical judgment is poor, the problem can find a temporary solution, but often in the temporary solution, the system and their own step by step toward collapse. How do you improve yourself? How can you challenge a more difficult system?
Where is the higher challenge?
In combination with my own experience, I have listed some specific challenges so that we can first have a perceptual understanding.
Where are the challenges of high-performance systems?
How do I choose a Web server? Do not use fast-cgi mode;
Do you want to use the Reverse proxy service? Select Full memory cache or hard disk cache?
Do you need load balancing? Is it based on the application layer or the network layer? How to guarantee high reliability?
How is your PHP code performing, and what happens after you use the optimizer tool? Where are the performance bottlenecks? Do you need to write a C extension?
What are the characteristics of user access, read more or write more? Do you need read/write separation?
How does the data be stored? Write speed and readout speed? How does data increase access speed read change?
How do I use caching? How to consider failure? How does data consistency guarantee?
Where are the challenges of high complexity systems?
Can you identify the areas of your business? Is it one or more?
Can the business be reasonably abstracted, and the changes in business rules can be achieved at a very small cost?
Data consistency, security can be guaranteed?
Does it hold the method of object-oriented analysis and design?
You can definitely answer the questions listed here, stating that technically you may have become an architect. How you can not yet answer, you need to strengthen in the following several directions.
How to improve and break through the bottleneck
How you can not yet answer, you need to strengthen in the following several directions:
Analyze the principle of the technology you use and the mechanism behind it, so that you can improve your technical judgment and improve the correctness of your technical options.
Learn important knowledge during college, operating system principles, data structures and algorithms. Know that you used to study for the exam, but now you need to learn for yourself, let yourself know why;
Start learning C again, although you've already learned it in college. This is not only because you may need to write PHP extensions, but also because, in the application of C, there is a moment of concern for performance, memory control, variable life cycle, data structure and algorithm environment;
Learning object-oriented analysis and design, it is an effective way to solve complex problems. Learning abstraction is the only way to solve complex problems.
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