Programmer-phper advanced confusions-php Tutorial

Source: Internet
Author: User
It feels good to come to SF after being recommended by a friend... return to the topic. as a phper, the development time does not include the self-study time .. but slowly finding itself in a bottleneck can't get out, improving slowly... you can also independently use various frameworks for project development, but this... it feels good to come to SF after being recommended by a friend...
Return to the topic. as a phper, the development time does not include the self-study time ..
But slowly finding itself in a bottleneck can't get out, improving slowly...
I can also use various frameworks for project development independently at present, but these seem to belong to the scope of PHP basic knowledge, right ?? (Self-defined ). other knowledge, such as the cli mode thread of PHP. there are also some other PHP knowledge that I want to know more about myself and a lot of information, but I still have no idea how to do it. I hope SF will be able to give me a great chance to solve this problem. thank you very much.
Ps I am not a computer professional PHP is a college student who is interested in learning by accident. please give me great suggestions and help.

Reply content:

It feels good to come to SF after being recommended by a friend...
Return to the topic. as a phper, the development time does not include the self-study time ..
But slowly finding itself in a bottleneck can't get out, improving slowly...
I can also use various frameworks for project development independently at present, but these seem to belong to the scope of PHP basic knowledge, right ?? (Self-defined ). other knowledge, such as the cli mode thread of PHP. there are also some other PHP knowledge that I want to know more about myself and a lot of information, but I still have no idea how to do it. I hope SF will be able to give me a great chance to solve this problem. thank you very much.
Ps I am not a computer professional PHP is a college student who is interested in learning by accident. please give me great suggestions and help.

I think this is a typical comfort zone ...... You can meet your work needs very well. more awesome cli, thread, zend and other work projects are not used (most projects are not used ), you don't have any need or boss to push you, so it's hard for you to improve.

I have three suggestions. I have used these methods to rush out of the comfort zone for reference only.

NightJob

I don't know if you have read Hacker and painter. here, you say that the "NightJob" is a project that you work on after work, off work, and on weekends. You don't need to consider making profits. you only need to do what you want most. you are the product manager responsible for planning, and you are the boss responsible for getting out of work, developers are responsible for finding the most cool technology to achieve this.

I have a lot of my personal jobs, and most of them are 0 users at the end. I can't write them myself, but every time I find inspiration, try to do it, and finally make a semi-finished product, I gradually encounter difficulties, the process of overcoming some difficulties is of great help to your own growth. Every reflection on "Ah, how can I end up with that project?" is also very rewarding.

OverJob

Let us give the second suggestion that we should name this one, that is, after work, think about the gadgets that can be made, mini projects, which can slightly improve work efficiency. For example, what I do is

I have a MySQL cache middleware in our company, which is responsible for caching between web machines and databases. I have never had a graphical interface. I spent some time (well, including working overtime on a Friday ), A graphic interface of the web version came out. during development, you don't need to run those commands and open the web page directly, just like PMA, you can control the content in it.

The boss said that he will not approve the time for you to do this, but in fact, it will indeed improve the development efficiency. Just like a maid job, because you did it on your own initiative, you can make full use of the technologies you want to familiarize yourself. Although the scope of the selection may be slightly narrower than that of the task, the matter itself is slightly less interesting, but it is good to shock it to your boss after it is done, this will make your colleagues look at you.

Become cement

Finally, this suggestion is entirely about serious work. Now that you are feeling embarrassed, you can better complete your work and turn your eyes around: what kind of work does your colleagues have, or is it not good enough? If you can do this well, take the opportunity to teach him and improve his skills. If you are not so good at this matter, you should study and become good at it. you can think about talking to him and then talk to your boss and tell them: I am more competent in this matter, let's do this by yourself and discard some of the "simple" tasks you are used to (to consolidate your learning results)

Cement is to fill the gaps first, and gradually harden the building so that the entire team can be very hard and adapt to any needs.

The latter has made obvious improvements to yourself: you have lost some boring things, learned new and challenging things, and learned new skills, but in fact, I prefer the former, that is, the opportunity to improve the level of my colleagues. This will not only reap his goodwill, but also his boss's goodwill, but also make your own foundation more solid (the questions raised during others' learning can often be right in the middle of your weakness, I don't tell the average person.

I am also self-taught. I feel that most people encounter problems to improve their technology. I don't know why you encounter a thread problem. The web request ends instantly. this language is designed for use here. it is a single-threaded language and does not even have the concept of a thread. it is called "Multithreading ", it's a little trick for enthusiasts. you need it to stay in the memory, process a lot of data, initiate a lot of requests, and use Python and other convenient features. I don't like the multi-threaded library. From the technical point of view, you can read the source code of the zend Engine.
The cli sapi manual is also very detailed. some configuration information is not required in command line mode, so you don't need to pay attention to it. echo can be output immediately, and the rest will be forgotten.
I have used the cli a few times. it is not a good idea to manually refresh the browser by using a registration machine or something like that. it is not a good idea to use PHP to replace other languages for a long time, there is a problem with the garbage collection mechanism during running in command line mode. if the memory runs for a long period of time, it cannot be used in a weak language.

PHP is too simple to get started very quickly. it is similar to other languages. after you have mastered the basic syntax, let's look at the Design Mode. now that the framework is mentioned, let's look at the practices of other frameworks, imitating the writing style, you can write a lot worse than what you only use. look at some of the surrounding things, such as composer, git, pecl, and pear, if PHP uses a lot of databases, will MySQL be optimized? will redis master and slave? What about mongo sharding and too many collections? what should I do if there are too many locks? these are all problems that PHPer will encounter.

You can also test your own code (PHPunit and the testing framework that simulates the browser), and some good tools to generate a document for the code (PHPdoc ), code Style Check (PHP_CodeSniffer), code repetition (phpcpd), Complexity (PHP_Depend), bug check (PHPMD or good ide can also be replaced), statistics (phploc) and a good IDE is really very important. some notebooks around the editor, don't be fooled by them, even a static method can't trace any tool, it requires development, testing, prompt, debugging, git, todo, and other fully-functional IDE with complete engineering tools (I recommend PHPstorm or netbeans ),

The key point is to write more and write more to know where to perfect, because it says, when you find yourself encountering the same problem repeatedly and doing the same thing repeatedly, the programmer's nature will come out, we need to pursue efficiency, decoupling, and even beauty. When I was just learning php for two years (my webmaster), I went to work for a job. I took my own website written by someone else's framework and claimed to be an engineer, but I got a job, I did not dare to call myself like this again when I wrote it for 5th years. When I try to hear from the vast majority of others, I suddenly see that the great gods are discussing the engine with the C language, and it is not a level at once, I feel that I can never learn PHP.

If you ask such a question, the job may not be written in PHP or html. Therefore, the front-end is ignored. However, it is interesting to look at javascript in my spare time,

Thank you ...... Is this a disease? You have to change it!

But I don't know how to answer this question, because I don't understand PHP... But I can understand how you feel, because I did not graduate from a computer like you. what's worse than you is that I have never been to a university (TV university or graduate school, but I don't know if there is a TV University now ?), Like you, my first contact with programming turned out to be PHP! At that time, I only play games. I heard that script writing can be done in the game ...... Things, you know ~ So I plunged into the bookstore and bought the first book with the word "script" on its cover. I didn't recognize the word "PHP.

Now you know that you have encountered a bottleneck. after reading a few pages, I felt like reading Tianshu. The so-called bottleneck does not exist for me. After that, I gave up because I thought I was not that expected.

Ten years later, I entered a project team. at that time, my job was completely different from programming, just because I had done advertisement planning and had a little understanding of graphic design and printing, so the boss pulled me in to provide an artist guide for a project, and called it "user experience design ". During those days, I found that the suggestions I could give often made developers feel very embarrassed. some people often look at me like idiots ...... Gradually, I understand that I don't understand whether or not my ideas can be implemented in their hands. I said to myself: if you want your ideas to be realized, you have to learn their skills.

So, HTML-> CSS-> JS-> Ruby... and so on, this is the path I 've been through over the past three years. Every day, I encounter problems, such as Google/book/document/SO, solving it, taking notes, and then putting it into practice. Today, I can also occasionally pretend to be a great God on SF-but I really don't! I have never encountered any bottlenecks until now. it's not because I am so awesome, but because I know that I have not learned and solved the problems that I have long queues to wait, where can I find time to consider what bottlenecks! Every time I see some articles or answers from many people, such as @ Yiyun, which I admire very much, I still have a admiration like reading Tianshu more than a decade ago. The only difference is that I was depressed at the beginning, today, we are all excited.

I still don't understand PHP, so I can't answer your specific things. The only advice I can give is: broaden your horizons and discover your ignorance, then try again! Specifically, you need to give yourself two goals: one is a long-term fixed goal, for example, "I want to be a new social networking website that breaks down Facebook/Twitter" (the premise is that you really like to do this, not brag, or else it is a joke ); the other is a short-term goal, that is, the one closest to you in every step to achieve that long-term goal. you only need to make a little effort to achieve it.

Maybe you need to draw a roadmap for that long-term goal, describe every short-term goal you want to accomplish, and link them together, then, based on these short-term goals, we will develop the learning and research directions and specific plans. In a short time, you will find that this road map is a guide for you to break through various obstacles, bottlenecks, and difficulties. in a short time, you will realize that your bottleneck is nothing. Everyone has a blueprint in their hearts. PHP, or even programming, is just one of them. we need to get out of this box and we should understand that the bottleneck does not actually exist, the only obstacle is "satisfaction ".

I hope to help you and break through the "bottleneck" as soon as possible ".

Like you, I am a non-computer professional. I started my php training four years later.

Simply put: to grow up, you cannot do without these things.
Data structure + algorithm + design mode (you can start with the big data structure and design mode Books)
Let's look at some framework designs in combination with the design patterns,
Use data structures and algorithms to view cache application scenarios and optimize database design.
Operating system principle (the essence of the operating system and the design principle can be viewed in this book. In addition, the open classes of Tsinghua University have computers. we recommend that you read them online)
In addition, you can register for a software designer at your leisure. the design knowledge is extensive and can be connected with the above knowledge.
Finally, if you want to develop in the long run, you can take an undergraduate degree in computer science. Will be more competitive. At least one interview opportunity.
You may find that...
The TMD bottleneck is even greater ......

Haha, bro, look at this php path.
Link description

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.