Programmer-Phper Advanced Puzzles

Source: Internet
Author: User
The staff was very friendly and helpful.
Back to the point, as a phper for a year, this means that the development time does not include self-study time.
But slowly found themselves in a bottleneck can not get out, improve very slow ...
You can also use a variety of frameworks for the development of projects, but these seem to fall within the scope of PHP primary knowledge it?? (self-dividing). For other knowledge such as PHP's CLI mode threading issues. There are some other PHP knowledge to go deep into the understanding of their own GG too much information, but also do not know how to feel, I hope that SF can be greatly appreciated to give doubts
PS I am non-computer professional PHP is the university after casual contact with interest to start learning. We ask you to give advice and help greatly.

Reply content:

The staff was very friendly and helpful.
Back to the point, as a phper for a year, this means that the development time does not include self-study time.
But slowly found themselves in a bottleneck can not get out, improve very slow ...
You can also use a variety of frameworks for the development of projects, but these seem to fall within the scope of PHP primary knowledge it?? (self-dividing). For other knowledge such as PHP's CLI mode threading issues. There are some other PHP knowledge to go deep into the understanding of their own GG too much information, but also do not know how to feel, I hope that SF can be greatly appreciated to give doubts
PS I am non-computer professional PHP is the university after casual contact with interest to start learning. We ask you to give advice and help greatly.

I think this is a typical comfort zone problem ... You can be very good to meet the needs of the job, more awesome CLI, threading, Zend and other work on the project is not used (most projects do not use), no need/boss and other outside to push you, so you feel difficult to improve

There are three of my suggestions, and I have used these methods to flush out the comfort zone for reference only.

Nightjob

I do not know if you have read the "hacker and painter", here is the nightjob is you in the outside of work, work, the weekend to do the project. No need to consider the profit, only need to do the things you want to do, you are the product manager responsible for planning, the boss is responsible for the time out of work, he is responsible for the development of the most cool technology to achieve.

I have a lot of personal nightjob, the vast majority of the end is 0 users, their own can not write down, but every time from the discovery of inspiration, try to do, and finally do a semi-finished, and gradually encountered difficulties, overcome some difficult process of their own growth has a great help. Every time you reflect on "Ah that project how can not be done in the end" is also very rewarding.

Overjob

Homeopathic to the second proposal has a name, that is, after work, think of what can be done in addition to small tools, mini projects, to make a little increase in productivity. For example, what I do is

Division I has a MySQL cache middleware, responsible for the web machine and between the DB to do the cache, has no graphical interface, I spent some time (well, including a Friday extra overtime overnight), the day a web version of the graphical interface out, the development of the time do not need to engage in those commands, directly open the page, Just like PMA, you can control what's inside.

This kind of thing and the boss said, he certainly will not give time to you to do, but actually did after the development efficiency has certainly improved. As with Nightjob, you can do it spontaneously, so you will be able to play with the various techniques you want to be familiar with. Although the subject matter may be slightly narrower than nightjob, the fun of the thing itself is somewhat less, but it is good to shock to your boss after making it, so that your colleagues can be impressed with you.

Become cement

Finally, the proposal is entirely about serious work. Now that you feel the power, you can better finish your job, you can put your eyes around: What is your colleague's job is uneven, or do not good enough? If you can do a good job, take the time to teach him and improve his level. If you're not so good at it, learn to be good at it, think about talking to him and talk to your boss, tell them: I'm more capable of doing this, I'm going to do it myself, throw away some of my "simple" tasks (to tamp down the results of your studies)

Cement means that the first can be filled into the gap, but also slowly harden, so that the whole team to make the building hard, but also to adapt to any needs.

The latter is obvious to me: you've lost some of the fun things you've done, got new challenges, learned new skills, but actually I prefer the former, which is the opportunity to improve my colleagues ' level. This not only can harvest his goodwill, the boss's goodwill, but also to make your own foundation more solid (others learn the problem raised in the course of many times can be in the middle of their own weakness), stone, General people I do not tell him.

Also self-taught, feel that most of the technical improvements are encountered problems to solve the problem. Do not know why you encounter threading problem, Web request instantaneous end, this language is designed for this, is a single-threaded language, and even without the concept of threading, so-called "multi-threaded" is a lover's trick, you need it to reside in memory, processing large amounts of data, initiating a lot of requests, you can use Python Something convenient. I don't like to do it with a multi-threaded library. The technical point of view is to read the Zend Engine source code.
CLI SAPI Manual is also described in very detailed, some configuration information in the command line mode is not required, so do not pay attention to, Echo can immediately output and so on, the rest of the forgotten.
CLI I used a few times, are to do a registration machine and so on instead of a long time to manually refresh the browser, with PHP to replace the other language for a long time is not a good idea, command-line mode when the garbage collection mechanism is a problem, long time to run memory eat not sell, should not use weak language.

PHP is too simple to get started quite fast, and similar to other languages, basic grammar is mastered, look at the design pattern, since the reference frame to see the practice of other frameworks what, imitate write Bai, you can write more than will only use perhaps salary is much worse, look at some of the surrounding things, composer, git, pecl, pear, PHP with more database MySQL will be optimized, Redis will master and slave, MONGO I shard Ah, set too many locks to do ah, these are phper will encounter problems.

There are also tests of your own code (PHPUNIT and the test framework of that simulation browser), as well as some good tools for code generation documentation (PHPDOC), Code style unification Check (php_codesniffer), code duplication (PHPCPD), complexity (PHP _depend), bug Check (PHPMD or good IDE can also be replaced), statistics (PHPLOC), and a good IDE is really important, some of the editors are popular in the editor of the composer, do not be fooled by them, even a static method can not track what tools, is to develop , testing, prompting, debugging, Git, Todo, and much more, a full-featured IDE (I recommend phpstorm or NetBeans),

The focus is to write more to know where to improve, because write write, when found themselves repeatedly encountered the same problem, repeatedly do the same thing, the programmer's nature came out, to pursue efficiency, decoupling, even beautiful. I just learned PHP two years (is a personal webmaster) to find a job, with someone else's frame to write their own station, a self-proclaimed engineer, but work, probably written to the 5th year when no longer dare to call themselves so. When I told the overwhelming majority of others for advice, I caught a glimpse that the gods had been talking to you about the engine in C, and that it wasn't a level at all, and now I feel like I'm never going to learn PHP.

Because the people who ask such questions, the nature of the job may not be the kind of PHP, HTML written. So the front-end part is all ignored, but small tip is free time to look at JavaScript, very interesting,

Thank you for your invitation. Is this a disease of knowledge? Have to change!

But I do not know how to answer this question, because I do not understand PHP ... But I can understand your feelings, because I like you are not computer graduation, worse than you are I did not go to college (TVU or incomplete, do not know that there is no TV university now?) ), the same as you are my first contact with programming is php! At that time I can only play games, I heard that scripting can be done in the game ... Things, you know ~ so I plunged into the bookstore, bought the first book on the cover with the word "script" the book back to Chew, as for the "PHP" the words, I do not recognize it at all.

So bleak, you now know that you have a bottleneck, I then Baba read a few pages after the feeling is completely reading the heavenly book, the so-called bottleneck, in my case does not exist. I gave up since then, because I thought I was not the material at all.

Ten years later, I quirks into a project team, then my job completely and programming, just because I did advertising planning, a little understanding of graphic design and printing knowledge, so the boss pulled me in to a project to do art guidance, and the beauty of its name "User experience design." In those days, I found that the advice I was able to give would often make developers feel embarrassed, and often someone would look at me like an idiot ... Gradually I understand that I do not understand my ideas in their hands can not be achieved, or good or bad to achieve, or how to achieve. I said to myself: if you want your ideas to be fulfilled, you have to learn their skills.

So, HTML------JS-----Ruby ... Wait, wait, this is the way I've been for the past three years. Every day, I have a problem, google/book/check document/SO, solve it, take notes, and then put into practice, the cycle. To this day, I can also occasionally pretend to be a big God on SF-but I really am not! So far I have not encountered any bottlenecks, not because of their own more awesome, but I know that they have not learned and solve the problem lined with the old team in the back waiting, where there is time to consider what bottlenecks Ah! Every time I see some big articles or answers, such as I admire the @ according to the cloud, I will still have more than 10 years ago, like a heavenly book like the admiration of the mood, the only difference is that only depressed, and now is full of excitement.

Because I still do not understand PHP, so I can't answer your specific things, I can give the only advice is: open up your horizons, find your ignorance, and then bravely go and it desperately! To be specific, you need to give yourself two goals: one is a fixed goal in the long run, such as "I want to be a new social networking site that takes down Facebook/twitter" (if you really like doing this, not blowing it, or a joke); the other is a short-term goal, That is, the one that is closest to you in every step of the journey to achieve that long-term goal, which only requires a little effort to achieve.

Perhaps you need to draw a roadmap for that long-term goal, describe each of the short-term goals you want to accomplish, string them up, and then set the direction and specific plans for learning and research based on these short-term goals. It won't be long before you find out that this roadmap is a guide to breaking through obstacles, bottlenecks, and difficulties, and it won't be long before you realize that your bottleneck is nothing at all. Everyone has a blueprint, PHP, or even programming, is only a piece of it, we need to get out of this box, we should understand that the "bottleneck" actually does not exist, the only existence of the obstacle is called "satisfaction."

Hope to help you, but also hope that you soon break through the current "bottleneck."

I am the same as you, non-computer professional, to do sales 4 years from the beginning of the PHP training.

Simply put: you want to grow without these things
Data structure + algorithm + design pattern (can start from the two books of the big talk data structure and design pattern)
Look at the frame design with the design pattern,
Combine data structure and algorithm to see some cache scene application, database optimization design.
Operating system principles (operating system essence and design principles this book can be seen, in addition to Tsinghua University's public classes have computers, recommend the Academy online can see)
In addition, have leisure can register a software designer, the knowledge of design is more extensive, can and above knowledge do in series.
Finally, if want to long-term development, self-examination a computer professional undergraduate. will be more competitive. Minimum number of interview opportunities.
Slowly you may find ...
The TMD bottleneck is even bigger ...

Haha, brother, look at this way of PHP.
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.