To introduce myself
International practice introduces yourself first. My name is Lien. I graduated from Shuangfei University in 2017. I have been a video player for three years and a video player and activity operator for one year in netease Games.
In a coincidence, a programmer colleague gave me some websites to see endangered Animals, Minecraft booking, and so on, and deeply attracted, as if caught oneself engaged in video post can not get something ———— interaction with users. From then on, I want to take the postgraduate entrance examination to study the seedling of graphics (haha, however, it is not the front end at the beginning). After that, I thought about it a lot and quit my job to take the postgraduate entrance examination. However, things were not so good. As I only had half a year to prepare, I failed in the postgraduate entrance examination. Only in a hurry to learn some front-end and then find a job, had graduated at that time can only social recruitment, oneself is just learning, a lot of time did not have an interview opportunity, even if there is also by all kinds of ridicule
Even Vue has never heard of you.
Your this kind of level is not undergraduate course time is not everyday play game and so on.
At that time, I could not even find a 3K job. People around me also gave me a bad impression that I could not even find a job after my undergraduate study. I was really under great pressure. I thought that if I could not find it again, I would have to go to Shanghai or Hangzhou to do the post stage of the video, but I wanted to be the front end, so I struggled all the time. Finally, there was a family did not ask me how to front-end knowledge, I took an examination of some composition principles, data structure and some basic questions (these are the graduation entrance examination of postgraduate learning), and then gave me a 7-day opportunity to test the post, from April to set foot on the front-end industry. If you want to know more about me, check out my personal blog.
Why study is not enough one year time also dare to come out write experience, inside thing can somebody see. I’m sure it’s a lot of dry stuff, and a year of practice has proven that my methodology works. This is a set of methodology that I learned from excellent people around me when I was doing video postproduction and activity operation planning, and formed by combining my own practice.
-
To think about the problem
-
Deliberate practice to improve yourself
-
GTD manages life
The growth path of a programmer
The so-called dimension reduction strike to think about a problem is when you analyze a problem, not only from the problem, but from a higher dimension. If you want to learn about the front end, you can start with a program’s lifetime growth path and then answer the question in reverse. Take a look at this article.
The original is “a programmer’s growth road” – Zhang Yunlong, every time I see a new insight, I do here a simple summary. Zhang divides his career into three stages
- The first stage is skill. Is to do a good job in professional skills.
- The second stage is to do things independently. When the technology reaches a certain depth and you start to learn to take responsibility independently, you have to think about how do you do things independently
- The third stage is to own the business and lead the team to realize it.
And a skill can be divided into
- Industry knowledge (JS,CSS,HTML browser, etc.)
- Off-stack technology (Fully understand upstream and downstream)
- Engineering experience (architecture design, performance optimization)
- Lead people (learn to tie people together)
- The industry voice
So you can see that expertise is the most important front end and the first step. Here I will only analyze a small part of how to learn professional knowledge.
Map of skills
When we are students, what we need to learn is decided by the education bureau, schools and teachers. All of us learn the same and have clear goals. We are never confused about what we need to learn. Especially when I just contact the front end, this confusion is more intense, there is no one to take me, can only surf the Internet to see others share. Here are some personal experiences and opinions that I hope will be useful.
Skills a software engineer should possess
You have to be a software engineer before you can be a front-end. Basic computer knowledge is very important, if you have a professional training that is basically ok, but most people are from other majors and industries, lack of basic computer knowledge, even some people think that programming is not necessary, but basic knowledge is really important. A lot of big guys are saying that the basics determine your ceiling, and everyone is tired of hearing that, so today I’m going to put it another way. The basic knowledge of computer is not only about learning knowledge, but also about shaping the correct concept of computer, just like people’s three views.
That’s a little abstract, so let me give you an example. Most of us are educated to know that it rains when water evaporates and turns into clouds, which then accumulate and become heavy and turn into rain. But some of the older generation don’t think so. They think it rains because there is a rain god. It is this inability to understand things correctly that leads to the tragedy of praying for rain, dancing and even sacrificing human life to heaven. So let’s take another example of simple, practical programming.
Such as JS deep copy, closure these beginners headache. To solve these problems, go back to the basics of computer science. To solve deep copying, you need to know the difference between a basic type and a reference type. Understanding the difference requires understanding how computers store data, which goes to the foundation of how computers are built. Similarly, to understand closures, you also need scope. What is a scope is also related to computer fundamentals. It can be seen that computer foundation and learning are closely related.
When you don’t have a proper understanding of the computer, you can use apis like Object.assign, but you’ll be confused when things go wrong.
More advanced, data structures and algorithms. The essence of a computer is to process data, and the structure in which data is stored is the data structure, and the manipulation of this data is the algorithm. Let me give you a more vivid example. The books in the library are like the data in the computer, which are stored in certain types and form a certain structure, which is the data structure. When you’re looking for a book, whether you’re looking for a book by book or whether you’re looking for a book by category that’s the algorithm. So, in order to achieve a goal to find a book, it takes different time to find the book, as compared to the classification or other methods, as well as the performance of the system. Because most of today’s libraries and frameworks are packaged by others, and because the front end handles data less frequently than the back end, many people ignore the importance of data structures.
Then a software engineer needs to master the following knowledge
- Common data structures
- Network engineering
- Principle of computer composition
These I also study independently, study independently time is also relatively short, all can only give point small reference. I hope you can give better suggestions. To make sure I don’t get too focused, check out my little blog – Learning Paths for Software Engineers
Knowledge required by front-end engineers
I think the knowledge of front-end engineers can be divided into three categories
- Knowledge of tools
- Professional hard skills
- Abstract experience
Knowledge of tools
The essence of the tool is to solve some kind of problem, improve efficiency and birth, the essence decided his nature ———— to solve specific problems. And problems can die or change over time. For example, jQuery was created to solve the browser compatibility problem (although it’s not quite right to list jQuery as a tool, it should be a library). The reason why more and more projects are not using jQuery is not because of Vue, the React framework, or the fact that the code is like spaghetti to maintain. I personally think it’s because it’s done its job, and now browsing compatibility and providing native apis is good enough that you probably don’t need jQuery. It has fulfilled its historic mission and can retire from the stage of history.
And today’s tools are easily swallowed up by the tide of The Times. Yesterday everyone used gulp, today everyone uses webpack3.0, and tomorrow there is webpack4.0. This kind of iteration speed is too fast, may not learn before tomorrow. The attitude towards tools is definitely to learn, after all, they can be much more efficient, but more time should be spent on language features and framework principles. For beginners, it is not recommended to learn tools directly, such as a solid foundation to learn to learn faster. If you play CSS well, less, SCSS will quickly learn.
What are the tools
- Build tools Webpack, gulp, and Rollup
- CSS Preprocessing languages LESS and SCSS
- UI framework
Professional hard skills
HTML, CSS, JavaScript three musketeers, not only to learn, but also in-depth learning. This will be followed by a section on how to learn, as well as mastering a framework and some classic libraries.
Abstract experience
Mainly design patterns, design concepts, performance optimization, architecture design. These no one can teach, only their own grope. Even if someone teaches you how to design patterns, you may not be able to handle them when you actually use them. It takes a lot of time, but it’s also the most valuable thing a programmer has to own. According to the Ali P7 criteria. Having a methodology of your own, and being able to quickly provide solutions for several different industries according to scenarios, is an abstract experience that can only be possessed by your own continuous pattern summary.
All right, so much nonsense, let’s start from scratch on how to learn the front end.
How to Learn HTML
HTML itself is semantic, so it shouldn’t be difficult to learn. You can go online to find some videos, or click on the various sites below.
Moocs – An introduction to HTML and CSS
w3cschool
MDN – HTML tutorial
If you can’t watch it, buy a video tutorial. Although personally do not support piracy, but sometimes really too poor to help.
When netease bought micro professional, spent more than 1K, heartache. The staff didn’t get a discount…
But all jokes aside, this course has really saved me a lot of time, almost buying time with money, without which I probably wouldn’t have had my first job. If you have the ability to support the legitimate.
Especially for those who have just been exposed to the small white, it is recommended to watch the video to get started quickly. Because it is the guidance of professionals, it can also learn some learning skills while learning knowledge.
How to Learn CSS
You can follow the above website tutorials to knock, and then recommend a few books “CSS Manual” to check the gaps
The Authoritative GUIDE to CSS lays the foundation
CSS Revealed is rich in examples and tips
CSS World requires a solid foundation and experience to read, this book will make you roar
How to Learn JavaScript
Okay, here’s the point. After reading this, you can use it in combination with the later deliberate practice, for better results.
Previous versions of CSS and HTML are better for getting started, since they are both markup languages with a bit of semantics and weak logic, but JavaScript is different. JavaScript is extensive and profound, and requires a lot of time to learn and specialize. Before we recommend tutorials, let’s talk about learning JavaScript gradually.
So we take a wuxia novel hero as an example to brief
- Entering the river’s lake
- Introduction to word
- Practice skills
- War battlefield
- Trace the source
Entering the river’s lake
If you follow the tutorial at this point, you may not know anything about closure prototype chains. But it’s all fine. Just like in a game, you can’t fight the BOSS without going through the tutorial. It’s not realistic. At this time you tap a demo, understand what JavaScript is used, in the brain a little impression of good.
Write down advanced Programming (3rd edition) if you don’t understand it. And then you go back and as you type more code, you get some understanding.
Recommend the tutorial
JavaScript Advanced Program (3rd edition)
Moocs – Introduction to JavaScript
Moocs – Advanced JavaScript
w3cshool-JavaScript
MDN-JavScript
Introduction to word
I would also like to have a master to take me O (╥ : ╥) O, but there is no. At this point you have higher requirements for JavaScript, you can also do a simple demo. But that’s not enough. You need to climb three big mountains called scope, archetypal chain, and asynchrony, and these three mountains are hard to see even if you watch Elevation 3 over and over again. Here are some masters who can help you.
Books recommended
JavaScript You Don’t Know (part 1)
It’s a great book on scopes and closures.
JavaScript Ninja Tips
This book may be a little early for you now, and it will take some skill to understand, but that’s ok. Come back after a while and you’ll get something out of it.
Recommended Video Tutorials
This is really good. When I read the book, I was confused, but when I read the book, IT suddenly dawned on me. When I read the book, IT suddenly dawned on me. I only have 3 months probation, if I don’t learn it, I will be unemployed. All my salary is basically to buy books and video tutorials. I am poor and owe a lot of money. The paid tutorial recommended here is one of the many that I have found helpful. They didn’t charge a penny for advertising
Practice martial arts
You already have a foundation. But it’s not going to work with a foundation, and you need some tools and frameworks.
ES6 open
So called ES6 is just a new specification that needs to be compiled using Babel due to compatibility issues between current versions of browsers. Why bother using ES6. Because using ES6’s grammar is much more efficient, if you use the analogy of cutting a tree, ES5 is cutting with an axe, ES6 is cutting with a chainsaw. It’s really much more efficient.
Ruan Yifeng ES6 introduction is enough, no other.
vue? react
It depends on the person or the company. For newcomers, I recommend Vue, because he is gradual and easy to use, and the framework and ideas are the same. Learn Vue. If you come out to work, you need to use React quickly.
How to learn VUE? Although others say that reading the official document is the best way to learn, others are old drivers, so I was confused when I read the official document. Because of the lack of many basic concepts and practices, can not understand the author’s intention.
Especially at that time, in the trial period, I didn’t even learn ES6, so I had to start the project. I could only follow the video tutorial to make things, and then gradually understand.
My personal advice is to watch the video, tap the demo, and then look at the official document will be much easier.
recommended
Technology fat technology fat conscience of the industry, it does not cost a cent to see the tutorial.
This is to learn the basics of VUE, knock it out and see the official documents without obstacles.
There was a VUe1.0 for moOC-Vue-Ele. me, but it was reset. I haven’t seen it yet, but Teacher Huang’s lecture is not bad.
Mooc-vue-jd.com The main feature of this course is that you have a modular and engineering mindset.
webpack
It’s time to learn some tools and improve the efficiency of the project.
I am using Webpack, so recommend the following Webpack learning path.
Webpack official website – Chinese documents in fact, the official website is very perfect, learn webpack first to understand the basic concepts.
Technology fat webpack3.0 note version, is currently 4.x, but learning 3.x is mainly to learn the concept and write it, must write it yourself.
Webpack is easy to understand
This book had better have the above recommended to read and knock. This book is more systematic and can perfect the blind spots of knowledge.
jQuery?
Although jQuery is less and less used, many companies still need to maintain old projects. I also replaced the jQuery of the old project with vue. See need to learn, see novice tutorial, Chinese document is also enough.
JQuery is on its way out, but its design philosophy will never go out of style. Its source code contains rich design patterns and a lot of practical tool functions, jQuery source code more can see the source of Zepto. I also often see zepto source code, the inside of the tool functions out of the module and application in the project
War battlefield
You already have the foundation and ability to face the business logic at work. You’ve been able to work on some projects, you’ve been through this agonizing phase of kung fu, what do you do at this stage
There is only one answer ———— practice and repetition of martial arts.
Read and reread previous books to improve your knowledge base. Because you do more, you get a better understanding of the basics, and because you get a better understanding of the basics, you get better at it. It’s like a snowball effect. It just gets bigger and faster.
The following is recommended
Surface spectral
33 Concepts that javascript engineers must Know
Yuba’s blog
Uncle Tom’s blog
Trace the source
At this point your implementation of the business code is no longer a problem. A lot of people are happy with that, but it’s not enough. At this point, you are just a “coder”, not a real programmer, not creating something of your own. But creation is never easy. This can help you
Good artists imitate fur, great artists steal the soul
At this point you need to focus on some design patterns and principles and start looking at the source code. There’s no shame in copying someone else’s wheel and starting to make your own. All people are through imitation, and then accumulated into their own things.
JavaScript Design Patterns by Rongming Zhang
JavaScript design patterns and development practices – explored by Zeng
Either of these books will do. Pick either one. Kids make choices. I want them all
You can then begin your source code journey. How to look at the source code, of course, not from the first line to see, but to look for others to read the experience of writing. Of course, some people say that there is a first-hand data why still good second-hand or even third-hand data, this point of view and the right place is not right. It is true that primary data is more informative and correct, but it is wrong or inappropriate that everyone has different levels. Just look at the source code for people, directly look at the source code will be like reading the book, I do not know what to see, and a waste of time and uncomfortable. It’s a time for someone to sort you out. Just like a newborn bird can’t eat a worm directly, it needs the mother’s beak to be broken before it can eat. When you look at the source code to see more, after the formation of their own methodology and then directly look at the source code is not late.
Start with simple and practical underscore.js. The amount of code is small, and there are many useful utility functions. You don’t need to read it all at once. Read a little each day by module.
Introduction to the source code
This is enough, first take a look at this, and then go to his GitHub to see the source code of Chinese remarks, and then knock it out.
After watching Undersercore, try Lodash. Both are in the same vein.
If you have time, you can also look at Zepto, which is not a lot of code. Hefty
vue
For vUE such a large amount of source code more need predecessors guidance. I look at the source code in this order.
-
Analyze the internal operation mechanism of vue. js so cheap to buy not to lose. The principle of abstract into a small Demo, really very friendly to the novice. After reading this, check out the author’s GitHub for additional tinder
-
Line-by-line source analysis, which I’m still looking at, is very profitable.
-
Vue.js source full depth parsing this fast 500 yuan. That’s what I was looking at in the first place. It made my head spin. This is because at that time MY skill is not enough, the foundation did not play well also do not have too much experience to see the source code, all is not huang yi teacher is not good enough profound simple. Now I look back and I really find that it’s quite comprehensive.
Once you’ve seen how vue.js works internally, you can start to mimic the UI framework written by someone else.
I recommend that the source code in Mint UI is not hard to write, but since it is available in vue1.0, there are many things in it that do not take full advantage of the features of vue2.5. As a result, it may not look very clever, but it has the advantage of being easy to read.
This book only you have experienced writing components, every day to see other people’s source code, their own imitation, every day after the pain of scratching their head, you can deeply feel the value of his. All I could think of as I watched it was, there was this manipulation, this suffocating manipulation. After all, I often see iView before the source code, then a lot of did not understand the author’s intention. Mainly their own food
After reading the component simplification brochure, you can pick a UI framework you like to slowly look at and slowly imitate.
- iview
- vant
- vux
I probably take these references myself
Built a wheel to question life.
2019.01.20 update
GitHub: github.com/LienJack/al…
Online demo, please open in analog mobile phone mode.
Online text
There are still many components to write.
Deliberate practice
You think I’m just recommending links and tutorials? Of course not. What comes next may be the essence.
I recommend the book Deliberate Practice
Here I will combine my experience of learning front to talk about how to use deliberate practice in learning front. Deliberate practice goes something like this:
- Clear goals
- Concentration
- feedback
- Step out of your comfort zone
- Loop over and over again
In essence, deliberate practice is iteration. It makes you make a little progress every time, and when time accumulates for a long time, it will change from quantitative to qualitative change, just like a snowball. It rolls slowly at the beginning, but as time goes by, the snowball rolls faster and bigger, and finally no one can stop it.
Clear goals
This is the first and most important and difficult step. Why is it so hard? Because work doesn’t have a definite score like school. For example, if you get a perfect 80 on this test, then the goal is 90 on the next test. In real life, there is no one to grade you, and maybe even no feedback. So the way to have quantifiable goals is to introduce the concept of mental representation.
Mental representations may sound grandiose, but they’re used by everyone. For the simplest example, let’s say you play a video game. When we watch the professional players to play the game, can not help but start to judge, such as I think he is very diao, he fill the knife and strong consciousness, I think he is very vegetables, a little wild catch consciousness is not. These are the mental representations, the criteria and opinions that we have about things. Only when the mental representation is clear, can we know our level of playing games and where we need to practice. In order to have the following deliberate practice.
As for how to evaluate myself with my own mental representation in the front end of learning, I had no tutor, no guidance or reference around me, so it took me almost half a year to form my own fuzzy evaluation criteria for the front end. Because of the clear criteria, the latter half of the year has improved at a rate I could not have imagined in the past.
Must have above all to oneself of js basic knowledge which kind of level clear position. To do this, try reading a book or writing a blog. I read It several times before when I read Elevation 3, and I felt that I understood it, but in fact, when I went to see that you do not understand JS and ninja secrets, I found that I still stay on the surface understanding of closures and prototype chain, through reading different books, and then compare their views with the author’s views, I have a general position. When I wrote the knowledge base, I found that there were still many details not fully recognized, such as AO. They only know when they write out, reading is not aware of. When you are conscious of your inadequacy, it is a sign that your mental representation is iterating, and you are going to look up more and learn more. When you have a deeper understanding of the subject, you can be aware of your shortcomings, and when you realize your deficiencies, you can make progress.
About the blog
I didn’t want to write a blog at first, because one is that it takes too much time, and the other is why I want to write something that I think everyone else has written better than ME. Even though I don’t write a blog, I have the habit of building my own knowledge base by copying and pasting good articles from books and the Internet into my youdao Cloud notes, and then adding my own ideas to straighten out my thoughts. Later, I gradually found that this method was not conducive to my mental representation. It was one thing to read a lot of things, but another to write them by myself. There was also a lack of feedback, and I didn’t know whether my writing was correct. So I built a simple knowledge base with Vuepress during the New Year holiday. Lien’s knowledge base and hopes to keep writing it for 19 years.
How you build a mental representation of the code, that is, how you can judge whether the code is good or elegant. This really takes time to build up, but here’s how to start.
- Look at other people’s open source project code, there are a lot of them on GitHub.
- Learn small and beautiful source code like Undersercore or others to interpret the source code undersercore- source analysis – Xiaojun
- For some experience, you can check out Refactoring JavaScript, which I’m still reading with some difficulty. But the most important thing is to learn the industry’s prevailing views on how to judge code.
- Learn to build a wheel. When you build a wheel, you will know that your way of achieving and thinking is different from others.
- Accept feedback from the leader ~~(I didn’t…) ~ ~
Only when you have a clear mental representation of yourself can you know where I am, where I am going and how to get there. Most people leave work to be done, and although they want to improve, they don’t know where they’re going due to the lack of a clear mental representation, like a fly without eyes, and end up stuck in the same place. And the real performance is blind to learn, what new things to learn what, for basic knowledge without precipitation, all has not what progress, and finally learn not to move.
Concentration
Human attention is limited, so it is impossible to concentrate all day long, but it can be adjusted to achieve optimal.
Learn to take active breaks
A lot of people work from morning to noon, then take a mid-afternoon nap, and then work from noon to night. Of course, it’s tiring. Just like the cell phone battery, a use of 20%, and then charged to 60% and continue to use, in the long run, the body is not in full of energy, efficiency will be low, often write bugs, write bugs and DEBUG, waste a lot of time, and overtime at night, overtime sleep is not enough, a vicious circle. So try something like the Pomodoro technique, with a 10-minute break every 50 minutes. Of course, it’s not so good to take a break. It’s not a break. The right way to rest is to stare, walk, pretend to go to the bathroom, and then walk upstairs and downstairs, which is good for the mind and the body.
2. Do the most important things when you’re most focused
The most important thing here is not the most urgent thing. For me, the most important thing is study. So I usually get up at 6:30 a.m. to avoid rush hours and traffic. Get to work at 8 o ‘clock and study until 10 o ‘clock. This is the time of greatest concentration and no one bothers you because they are not at work (manual dog head). On weekends, I would go to the Chinese Library and study with my friends for the whole weekend. Always insist on 1 year, drawback is really good ghost tired. It can vary from person to person. It’s kind of like the idea of investing, where you invest a lot of your resources where you can get the most bang for your buck. And I just put my best energy and time into studying.
Good living habits
The most important things are going to bed early and taking exercise. Going to bed early is very important, but many people can’t do it, including myself. When I was in college, I would almost finish class at 9 o ‘clock, and then open AE and C4D at 10 o ‘clock in the evening to start making videos. Once I did it, I would go to 3 o ‘clock, even more egregious in netease. Sometimes, due to projects and other reasons, it was very common for me to leave work at 1 o ‘clock or directly sleep in the company. Weekend activities from the morning to the evening, the year is basically non-stop. Physical condition is not very good, and the good friend sudden death that makes late period had before, have a few times feel liver department very painful, be about to die, frighten me every day now 10:30 roll a bed, although the work did not finish get up early in the morning to continue to do.
And then work out, which is also hard, you don’t have much time to go to the gym. Instead of taking the bus to the subway station every day after work, I have to ride a 40-minute bike to the subway station. Go to the Pearl River running on weekends, about 6-8km, do keep at home. When you are healthy, you will be more energetic and more efficient, so that you can finish your work faster and have more time to learn and study the wheel. Then because of the research wheel more, have their own use of the library, and lead to higher efficiency. This is a positive feedback process.
4. Create your own workflow
People’s energy is limited, put the energy on the most important part. But how to do, but try to use GTD working method, here is not a detailed expansion of interest can search. His core is the to-do list. Make a list of all the things you need to do today or in the future, and then categorize them. From time to do today, tomorrow to do, to do in the future, maybe not to do. From the four quadrants of work, urgent important, not urgent important, urgent not important, not urgent not important. And then prioritize and get rid of what you don’t do. Then do it one by one in order of priority, and tick it off when you’re done. Don’t feel guilty if you haven’t finished your day. You can do it tomorrow. This is just a general overview, and I’ll write another article about how TO combine GTD with waterfall flow ideas and build your own workflow.
5. A burning desire
You can’t teach that. It’s personal. I went from the netease to guide the couple (internship and at), can be independent, to assume the small projects (activities) live broadcast of the games, one-stop services, his works such as 16 years live ding Onmyoji card project, not only in the column packing reduction game scenes, the art of a complete set of material to join their understanding and detail to re-do it, Get the recognition of professional artists. When I failed in the postgraduate entrance examination, I was despised and ridiculed by others everywhere. Even THE 3K job did not want me, and people around me hated me. And this horrible feeling has been plaguing me, both in my waking hours and in my dreams. In fact, these can be open, but I deliberately not to untie the knot. Because for me it’s all bearable, and the urge to do so keeps me motivated in a terrible way. Resist all temptations, king of glory, weekend salted fish and so on. I’m afraid of losing the power to resist temptation once I untie my heart. I am extremely easily addicted to all kinds of things. Playing Civilization 5 is often played from morning to morning and unconscious. Including writing code now, writing and writing until the end of the day do not know…
In short, this desire is what drives you to resist temptation and stick to it. You can’t teach it. You have to experience it.
feedback
It is best to have a feedback after each completion to judge whether you have done well. If there are good mentors around you, then congratulations, you are very lucky people, can not like me I so helpless pain, but most people do not, how to do.
1. Write daily, weekly and monthly reports.
Journal:
Daily paper. This should be written every day, but with a goal list, it’s easier to write. It is to record today when doing, not a lot of very detailed, roughly record, mainly for the purpose of writing weekly newspaper.
Review:
Instead of writing this at the end of the week, start writing it the week before. Basically, set goals for the week, break them down into a series of quantifiable goals, and assign them to each day. Then weekend time statistics every day to complete the progress, write this week new, why not complete (such as overtime, unexpected things, their task workload estimation error). And write down your tasks for the next week.
Monthly report: Monthly report and weekly report the same idea, but he does not need to be very detailed, need a general goal. For example, finish reading node, learn webpack and other big directions. And most of the time the goals set in the monthly report are adjusted from week to week. For example, I set a goal to look at the source code of VUE in September, but at that time, I was not basic enough. I had no experience in making wheels by myself, and I had no habit of reading the source code. Moreover, I did not know the core principle of vUE response. So after a week, I decided it wasn’t working and needed a strategic change, so I changed my goal. Until Now in January, I have more experience in component development, read a lot of other people’s interpretation of vUE source code, also read the undersercore and Zepto source code, and try to directly see the source code, can see some ideas, then set a new goal in January, the vUE instance process source code good analysis of the goal.
What does the example above tell you
- Goals need to be adjusted to fit your situation.
- Have a clear mental representation of how good you are at what kind of challenge you can do. Obviously, AT this time, I overestimated my ability, which led to the wrong decision.
- Because of the clear mental representation, they can judge themselves, give themselves feedback and adjust in time.
2. Share and communicate
There are also many ways to share, such as blogging and writing articles. Share your insights and comments to get plenty of feedback. There is also the occasional water group, of course, the water group is also a skill. According to the previous to do the late water group water to recognize a bunch of late big guy, later can enter netease work is also because of the water group to recognize the big guy of netease. Develop a simple set of techniques.
- The simplest group of people to see. If it’s 300-400 people, it’s a waste of time. It’s better to choose a group around 100 minus 200 plus
- Join groups with better quality and better technical atmosphere. For example, some bloggers have great skills and write great articles, and you admire them. When you see his group, don’t hesitate to join. Because these groups not only have great leaders, but also maintain the ethos of the group and have a better environment for technology sharing, rather than just blowing water.
- When entering a group, it is best to have a certain basis, which is not a clear standard. But can refer to the following. Has been out of the small white stage, can solve simple problems with Baidu. Group members are very busy and have no time or obligation to answer simple questions, so try to lay the groundwork, or check out what the executives are talking about and learn for yourself.
- Be willing to share and always help the group. Refused to be a keyboard man, less BB, more dry.
- As you stick to # 4, you’ll start to build a little image of yourself, and some people will think it’s a good idea and pull you into more core communication groups. Yes, this is how I was pulled into the B station animation zone xiaobian fan group (actually is a bunch of staff and Daniel happily blowing water group). At this time, the group is very high level of the industry group. Inside the technical atmosphere is stronger, can learn more knowledge. At this time can make friends, share and progress together.
Of course, the water group is not so utilitarian, is to make friends decompress, share together progress. When the main water group, work on less water group, improve work efficiency. Relax on your way home from work.
Step out of your comfort zone
Your comfort zone is one where you don’t have to work hard or challenge yourself. For example, at first you find it difficult to write business logic, but when you write too much, you find the routine, and then you basically copy and paste. That’s the comfort zone. Staying in your comfort zone may feel good at times, but it can also stop you from making progress, copying and pasting apis every day, getting things done, and leaving you in the same place even if you’re doing more. How to get out of your comfort zone is to do something more challenging that you can do yourself.
If you write business logic, you can try to write code that is “elegant”, concise and readable, and performs better. Then began to summarize, often used methods such as to repeat, array flat, deep copy and so on these functions themselves to imitate the implementation of a, and form their own tool function library.
And then began to try to imitate other people’s wheels, for building wheels. Know what you want to do with the wheel. And that goal is phased. In the beginning, the wheels were built for learning and better use of other people’s wheels. You’re still working on someone else’s wheel to make sure you’re delivering your work on time, but you’re working on the core principles of the wheel. Once you understand how it works, although the implementation details are still unclear, it’s much easier to use someone else’s wheel, and it’s much quicker to locate bugs when they occur. After a while, you can start to focus on implementation details. You can compare several wheels with the same function, and then work out your own way to implement it. In this case, you can use your own wheels in engineering (non-production), open a branch version, replace the simple wheels that work in it with your own, and then test them in a separate internal development environment. Finally, it was mulled over, modified and started to be used in real production environments. For a simple button component, I rewrote it four times. In the end, whether to put it in the production environment is decided by the department boss. On the surface, a lot of time and energy may be spent, but it is a waste of time not to use it in the end. After all, I spent my weekends building wheels. But you get more, not just knowledge and experience, but some abstract routines and things of your own.
During this period of time, I tried to refer to the component library mentioned before, wrote some components, and began to understand a lot of things that HAD not been thought of before. For example, when writing popup, how to manage between masks and pop-ups, this requires a mask manager. This mask manager needs to manage the instance and mount of the popover. Apis such as Extend and $mount are involved. To get a better understanding of what happens to the vUE instance, how the vUE instance is mounted to the EL, and so on, you need to look at the source code implementation. I never thought a simple popup would involve so many things. When looking at Mint and Vant, although they both use the mask manager, the core idea is the same, but the implementation details are quite different. And there’s a lot of code, a lot of stuff, like what happens to masks and pop-ups when the user presses the back button and the route changes. It’s not as simple as writing masks, and then putting up a queue and $mount the instance of the popover onto the DOM, as I imagined.
Expectations for 2019
- Accompany girlfriend well, this year study crazy for survival, learn from early to late, learn from Monday to Sunday, lead to did not accompany girlfriend how, really sorry her.
- Keep blogging to improve your knowledge base.
- Improve your UI framework and share your experience.
- It’s time to untie the knot.
Today is January 10, 2019, which is the 265th day of my study, and the last countdown day for the release of Fate Hf line film in Mainland (manual dog head).
Denver annual essay | 2018 technical way with me The campaign is under way…