Feel the technology to improve very slowly, how to appease impetuous mood?

Source: Internet
Author: User
Tags learn php ticket zend framework
Add the background, the main university graduate one year. In a small network company to get a stable, but the technology is not high-level errand. Learning PHP because of work needs to be contacted (before the university barely touched the point C language). When I first started learning, I felt a sense of accomplishment, and learning improved quickly. But when you finish the object-oriented, and then find that learning PHP also need to learn JS, JQuery, Ajax. Smarty,think PHP. Html. Css. MySQL. Wait a minute .... Recently, I feel the progress is super slow, the confidence is frustrated.

Reply content:

Thanks for inviting!


Real name against high ticket answer!


is not to negate the correctness of Elvic Liang's answer. I also know that programming is the algorithm + data structure. It is as if my pursuit of lofty Communist belief will be able to achieve peace and joy, but still have to eat full of every meal.


The technical stacks and framework libraries mentioned by the main topic are just like the one I learned in college. I also learned all the way from php/javascript/jquery/mysql/smarty/thinkphp and so on.


TL;DR: learn the shortest path to a frame/tool/library
    1. First, English is better.
    2. Go to the Crossing Web document
    3. To see other people using the framework/tool/Library Development Program code
    4. Try to use it to write some small demo
    5. Use it in real work
    6. Write some of your own experience of learning it, or even teach others to use the tutorial
    7. Participate in this framework/tool/library discussion, open source project contribution, etc.

P.S.Tl;dr means that if you think this answer is too long to read here, and the following is the main role of soothing the main mood, tell him that the world has a similar experience with him.

I was originally a literary youth, only a little bit of C + + knowledge before class. Sophomore a chance, on everyone online to see the school web Lab's senior release held seminar state. The same bedroom has a high school began to participate in NOI classmate pull on I went together.


Seminar on the Ubuntu, said Html/css/js, how to log in the background of the college website to modify content, there are some open-source spirit, such as nonsense. At the end of the time, the elder brother also showed us a he wrote with JS Tower Defense mini-game. Can write their own game has been my dream since childhood, so it was seduced on this road of no return.


After the second week of the seminar, Brother called us to the laboratory, pointing to a computer host on the ground said:


This is the server I just bought.


The server is empty and does not have a preinstalled operating system. Until then, I was able to install only a few versions of the Windows operating system, to help female classmates repair computer.


In the case of only spelling ubontu, my classmates and I started a trip to abuse the server. Finally in a shy name of the search engine with the help of find a hands-on text tutorial. When you're ready, you'll see the command line flashing and flashing.


Later, it was natural to put on the lamp, directly with the Tasksel set up MySQL password is done. In fact, in this step I can not say that programming, at best, will only use the command line software.


Then began to follow W3school tutorial php, five years ago there is not so many MOOC, there are not so many training courses. Soon I'll be able to use Echo to hello,world! the page.


I can see the Web page I wrote in my browser! This has made me more determined to go on this road of no return. Later, the school opened a database of lessons, learned a little bit of SQL, tried to study how joins, how many tables query, how to do the view. Later, when writing small applications, it was found that 90% of the time can be select * out and then pick the need to use it.


And then opened a class called Web programming, I thought it was just for me to tailor. Results The teacher lectures with C # development site, in VS inside drag components, data query with LINQ, make me whole people are not good. Although I don't have any meaning in black C #, I did not learn anything for the whole semester.


The final exam is a big job, make a Web site of your own design and development. As a result, I and our classmates in the morning before the exam took WordPress and crawler to build a news site, and then the exam to get a full score. This also gives me a deep understanding of why PHP is the best language in the world.


This experience also let me deeply fall in love with WordPress, slowly also began to write to WordPress theme or plug-in or something. But the things that do not always come out of the atmosphere, not in line with the college leadership and the aesthetic of the school department, but they are actually looking for me to do things all day.


Then began to study some of the domestic construction station system, used Dedecms/discuz and so on. However, some of the requirements of gradual contact have not been realized through the ready-made station system.


Later, the lab received a project to develop a file management system, the earliest selection to a Zend framework developed by the CMS, the CMS is also crooked nuts developed, there are many places where the Earth gas. The ZF framework is bloated, painful to use, and incredibly elegant than the laravel of the future. But through the use of ZF I learned that the world has a framework of this kind of things, the original function of many basic functions are not required to write their own, there is a design called MVC pattern.


Because ZF used to be too painful, I began to look for other suitable framework, soon found the thinkphp, really did not think that there is such a good framework at home. It is very simple to use, the document will be able to get started directly, and most importantly, I finally see the framework of Chinese documents!


TP I used for a very long time, to do homework, development of personal projects, and later to practice the company is also using TP, although my development is the front-end, but in fact, in addition to the database without my tube, the background of business logic, front-end interaction, UI design, and even the product to add what new features are basically I am a person Entrepreneurial small companies are like this, even if not the whole stack will have to push you to the stack (now the word full stack like curse).


The internship was just a good time. Angular1 released, data two-way binding, front-end routing, interaction can be done in real-time view content updates. Before we learned that there was a framework for an MVVM structure. I am concerned about NG when the classmates are not understand, because there is no Chinese language at that time, not to mention the Chinese documents, the only learning materials on the official website to write anti-human documents, fortunately, there are some on GitHub with NG written open source program can be consulted.


Then I tried to use Angular1 to write a single-page blog that does not need to be refreshed, and later to solve specific business needs in the work.


I have also written a lot of blogs, not before programming or a literary youth in the space to write poems and write songs, and then write some simple tutorials, or amway some of the more useful computer software and mobile applications. In general, after I have learned to use something myself, I will also write a tutorial to teach others how to use it. After all, the highest level of study is the professor.



images from the Web

But now I don't dare to say that I can program. At best, it just uses some code-manipulation software. But I think this is the only way to really learn programming.


Above.

@Elvic Liang
I want to say that your answer is very pull, as a full stack, a language can be written without three days, not a day, take the API, look at the grammar, it can be directly written, but the essence of a language three days, one months, a year, are completely unable to fully grasp, you say the framework, language, database, Every learning will never be finished.
And I don't believe you. You have never walked a similar road, from birth to three days a language, rather than standing on the basis of your ability to say these words.
I think you're just showing off (Zhuang bi).
The framework is not useless, the language is not useless, the database is not useless, they are an era of human thought accumulation and technical precipitation.
But for a beginner, the algorithm, data structure, architecture is not so necessary, especially in the beginning did not grasp the knowledge of the people, see these are more easily misunderstood its internal principles, but also with the actual project is not connected, resulting in a indefinitely awkward situation.
-------The following is a suggestion for the main title-------
1, for the title, you are working while learning, if the work allows, you have to do is constantly to your work to use the new technology you want to know, if the time or the project does not allow, you give the company to do a set of their own needs to learn the technology to do a set, which is to say, learning needs to be inseparable from the real need to be able to learn faster and understand deeper.
2, the old programmer is regardless of the front and back end, because the technology is too jumbled, so want $ The front and back end, you are now basically a PHP back end of such a state, and you want to learn is just the front-end technology, subdivision of the technology than you say a lot more, but they are common, are called front-end technology, You split them up and you tell them that what you're thinking is complicated, not getting started, and it's going to be your first full-stack project.
3. find an open source project and participate in the development, to your current posture level is difficult to find a can develop a project, really can not be developed in fact, it is still possible to see, your code norms and international standards, and participate in cooperative development can let you understand a lot of what a programmer should understand.
At the end of the day, when you start to be able to (whatever needs can be done in a variety of awkward ways), the language will not be your bottleneck, and the thought algorithms and architectures will manifest, and these will be the things you want to think about. After a year of unity, the improvement was also slow, and felt that the previous writing was slag.
Although have 10几 years of C + + experience, graphics engine experience and n small game experience, probably familiar with seven or eight languages, but really do a medium-sized independent game, only to find how big the Pit
A lot of people like to talk about technology, and they want to say that technology is the Huangshigang of his secret skill.
What is the technology actually? But on the shoulders of predecessors to climb a ladder you want to go to the peak, never for technology and technology, and ask yourself where you want to go, what you want to do, and then learn the corresponding knowledge, while doing learning is always the most meaningful
My interest is to do games, we take the game for example, China's development of the game, Daniel, a catch are fast a lot of, why do the game most still "Fan Wei Conquer"? Why aren't there a few games that make your eyes shine? Even 1 on the island of adventure on FC? (Speaking of Super Mary that belongs to the bully)
Is it their lack of basic knowledge?
Because the so-called "technology" is just a cost to them.
And not the tools they create a really funny thing
All the technology will eventually be outdated, all Daniel will eventually die, so don't ask yourself progress fast unpleasant, because the speed does not have any meaning
There is no splendor in front of you, what are you anxious about?
The essence of technology is: one way to solve problems
Not enough time, trial and error opportunities and their own thinking, you are just back down some of the experience of predecessors, encountered a new problem, you do not even know how to find the answer
Do what you like, and do it well, long enough, always.
Take your present situation as an example, do not ask yourself how many kinds of knowledge, now build a website you think, on the way you will naturally know what you are missing the question of the Lord is
feel the technology to improve very slowly, how to appease impetuous mood?

So the problem is not essentially a Technical Issues, but a Psychological Problems

After returning from 11 holidays, I began to exercise, and I went to work every day to measure my weight, but the effect was not obvious. I asked a friend whether running is really able to lose weight, he said yes, you run for two weeks and then call it.

Learning is also a Progressiveand Not easy to detectThe process to daysOr WeekIt's hard to see the change for the unit. You might as well look at yourself. a two months agoThe code, believe to be able to see their progress.

Although all said front-end complex, but in fact, the front end of the water is not very deep, it may take less than two years to master the basic knowledge and theory. This is a The smell of the Tao has successivelyProblem, no matter which one to learn first, after which, the amount of knowledge must be equal to time multiplied by unit time efficiency.

and about " Term Anxiety"The question is also mentioned in another answer. When you master the KnowledgeThe more, the more you can see UnknownThe more it is, the problem is that everyone inevitableWill face. When we get from " I don't know, I don't know."Transition to" know you don't Know "State, there will be such anxiety, along with the confusion of continuous learning, through the " I don't know, I know."At this stage, we can finally reach." know that you know", and thus no longer anxious for this.

The attitude towards new technologies to DemandInstead of Technical PointsTo look at them. Drive yourself by finding inconveniences in your job or trying to make a new fun thing. For example, I recently want to make a single page application on a mobile phone, just want to use vue2.0 to play, new technology is not a burden, but on the existing knowledge system icing on the cake.

Not to grasp much knowledge, but to be able to use existing knowledge within a limited timeIt is easier to see the path to development as a cognitive standard for yourself. Xie invited, the title of the Lord did not add more questions background information, here I can only general answer: please give yourself a specific, in the near future can be achieved, will bring the satisfaction of their own ... Small goals.

Know why playing games so cool, after a close also think about the second level, play the process so focused?

By the I have recently opened a column "Node Flash" https:// Zhuanlan.zhihu.com/node Flash , specifically introduced some easy to get started practical practice, each not more than 15 minutes, but also provide all the source code, impetuous time can try one. Why do you have to learn so much?
And not to say that SQL should be a college course, which you pulled down your own pot
Css,html This kind of thing, it is not used when the manual development, with a 3-month nature will it?
What did you do to learn him? Learn to use, not three months to forget the light?
jquery is not a tool, it is for the convenience of use, why will need to learn
As for Ajax is just an API, this thing should be finished in the afternoon, right?
As for smarty,think PHP what the hell are you using these things at this stage? Why do you have to eat a big fat one mouthful?
Finally give you a word, practice the truth, any technology, essentially the ultimate purpose is to apply. The reason you feel slow is that you are learning a lot of things that you don't need, that you can't combine with practice, and of course it's slow to progress. Stay in the PHP project, just concentrate on learning PHP, this is the technology of lapping, when you find the problem arises demand, and then find a new technology that is helpful to you to solve the problem, naturally will not feel tired, and soon can learn


Said, just turned up to have a answer to the Lord ... Said......
"This is at this time, I probably met my first bottleneck, I am in the HTML structure confusion, naming is not standard, CSS also need to constantly guess whether a place is the use of padding or margin of such a stage."

I started thinking that I needed to continue practicing and copying the pages. But the result continues to be a messy piece of code. ”

It's important to learn how to do it.
Why should we guess, imitate, rather than understand the definition of padding and margin?
is that hard to understand? Is that hard to understand? Look at the main column of these nothing: language, framework, database.

As a 14-year-old man who wrote the program, he can tell you responsibly: Don't be useless.

Any great programmer, mastering any language, any framework, any kind of database system should not be more than three days in time.

Because of computer science, original aim, the core of the only: algorithm, data structure, architecture.

With an in-depth understanding of the core principles, ideas, and common systems, you should be able to catch the essence, absorb understanding and be at ease.

If you want to be a player or top expert in the industry, you can pay more attention to: hardware architecture, operating system principle, compiling principle, distributed system.

These will give you a real insight into the core of computer science. And everything else, the knowledge, is derived from these. And that, to be honest, is infinitely more interesting than anything else.

In addition, one of the most outstanding programmers, or engineers, is not because of the best technology, but because of leadership and deep insight into your industry.

For example, if you are in the mobile Internet domain, then the excellent programmer is this:

-be able to act as a half product manager and stand on the product level to think about problems and design procedures. Be able to communicate well with the product and quality department.

-Excellent leadership skills. Be able to condense the team strength, obtain the team affirmation and support, determine the technical direction. Leadership is not to say you must be a manager or a boss, but in the team, everyone recognizes your technical strength and people, naturally willing to listen to you.

-A deep understanding of the characteristics and trends of the mobile internet industry. Know the strengths and weaknesses of your competitors, and understand the value and business flow of your own products.

Industry experience this thing, too important. Computer is simply a tool, can not be separated from specific industry applications. So familiar with the specific industry and computer-savvy people, is the most or lack of composite talent.

----------------------------

All of these are likely to have been known to the Lord already, so let me be a nonsense.

Let's talk about the feeling of progress is slow.

In my career, there are countless times that I feel progress is slow and I have encountered a rising bottleneck. What's going on here?

In fact, learning anything is the same as the practice of running, run to a certain number of kilometers, you will be exhausted feel no longer run down. This is precisely when your body limit is about to be broken. At this time, persist, and then slow and difficult to persist.

Soon you will find that the pace is beginning to light up and the pace of progress is getting faster. So congratulations on breaking the current bottleneck and heading for the next limit.

-------------------------------

Add the following answer:

See the comments inside some friends are still tangled in the frame for a few days to master the problem, please don't be too serious. Each person's application to the framework is different, in my own degree of application and experience, three days is enough.

And I said three days, different people learning efficiency, free time, start speed, foundation and experience, application requirements are not the same, there really is no way to compare.

Some people can concentrate, eat and sleep, eliminate all interference, three days to learn a new thing is not a strange thing. Some people can not squeeze out the time, their original busy on the hands, attention has no way to concentrate, learning efficiency imaginable.

So please understand my focus is not to spend too much time on the pursuit of new language, new framework. These are superficial things, and now the new framework is endless, Zooey on a new trend, new technology stack, almost has been reduced to some groups of personal preferences, personal worship of toys, I think for the people who want to grasp the essence of computer science, it is not worth spending too much time chasing.

As an excellent programmer, it is enough to look at the directions first, to figure out the difference between skill, skill, and thought, and then to stick to it a little bit and not require much special technical guidance. The answer to a high ticket is too unreliable.

Algorithms, data structures, no one says it doesn't matter. But you have to preach the basic theory of omnipotence, it must be fraught. Foundation is the foundation, no no no, only the foundation is not. Your employer is not paying for your foundation, your employer needs your upper-level application skills, not these irrelevant, so-called basic abilities.

Give a suggestion to the main question. Technical learning must be learned in use.

Technology do not learn, it is easy to get into the semi-understanding of the situation, and there is no positive feedback, so you can hardly have confidence in depth. It's better to be clear about what I want to be (a small application that can use the technology you want to learn, such as the To Do list, which is often used by practiced hand). Think about what this thing might be used for, learn a little bit and do it straight, and then check it out.

Do not worry about how you do, while learning to do it must be very bad, but when you finish, probably learn what is going on, you can continue to study further. The landlord mentioned the first time to learn PHP, Ascension quickly, but now feel otherwise the dilemma.
I have encountered this situation more or less, but it is strange to think it over, but why does the improvement of experience bring about irritability?

Originally I have so many not yet, what technical learning route compared "promising", learning those basic skills is necessary ... All sorts of similar problems.

Just enter an industry will always have precipitation period, how can the precious time wasted on irritability?

Since there is no thing, it is a list of what will not, one of the efforts to break through.
This repo is very famous in the previous period. Jwasham/google-interview-university

This man set himself a future to do a googler goal, he neither irritable himself once not to force, also did not complain about the high threshold of Google interview, but lists all the knowledge he needs to prepare (by the way also listed non-interview required CS general knowledge points), And in an effort to prepare for a few months after the interview.

If, we think the CSS does not, that, is the selector not, or the pre-compiler (less, SASS) will not, or transition/animation do not understand? Don't know it's okay, we practice.
If, we think Ajax will not, that, is cross-domain does not understand, or do not know which means to tune Ajax, or not clear how to implement the implementation of Lazy-loading with Ajax? Do not understand, we have a specific solution.
If, we feel that a certain framework/library will not, that is, how the specific API call will not, or do not understand the framework/library implementation principle does not understand ....

We are very good at overestimating what we can do in the day, but we always underestimate the landscape that we can see after a long period of persistence. You need to make a clear and reasonable goal in your study.

Don't go to a book that is too thick for every technology, it's a waste of time.
As long as you can meet the needs of the line.

Life is not to put oneself in the computer, but to realize their own ideas.
  • Related Article

    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.