How to be a qualified architect in PHP direction

Source: Internet
Author: User
Tags php and mysql

Suddenly see this article, worth introspection, enjoy, in the next development not to be eliminated to see,

How to become an architect
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 will have such a delay:

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. So how do you improve yourself? How can you challenge a more demanding 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 select a Web server? Do you want to 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 separations?

How is data stored? What is the write speed and readout speed? How does data increase access speed read change?

How do I use caching? How to consider failure? How is data consistency guaranteed?

Where are the challenges of high complexity systems?

Can you identify the areas that your business corresponds to? 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.

Transferred from: http://blog.csdn.net/fangaoxin/article/details/6713756

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.