“Live up to the time, the creation of non-stop, this article is participating in 2021 year-end summary essay competition”

In the past

By my fingers, I’ve been working for almost two years.

I am a non-computer major student from a third major school in 2020, majoring in electrical engineering. For my major, I do not like, but also decline, the annual scholarship is still able to win. And in the professional courses in university, I can really be interested in those several programming courses, C language and PLC. At that time, I thought software was much more fun than hardware. When faced with various circuits and motors, my brain could not turn over.

And really let me touch the front end, is my graduation project. In my junior year, we began to work on a project with our teacher. At that time, our group chose the topic “Dormitory Electricity Management System”. This topic is quite big, from energy meter collection, to information communication, and then to c-terminal system management.

At the beginning, our plan was to find a ready-made c-terminal system to build one, after all, none of us had the foundation of this aspect. But after I feel that, anyway, time is abundant, not as good as all their own to do it. Naive and driven, we decided to implement it all ourselves, and I was assigned the C-side system to implement it.

I went to a friend of mine who was a computer student to learn how to build a website. He first told me some basic knowledge, and then recommended several courses to me, from the introduction of HTML+CSS+JS, and then Vue learning, and then to the learning of Node. From that day on, I stayed in the lab for more than a month, listening to all the courses, typing the DEMO, and then listening to some project courses.

Then, in 2020, I opened the front door for the first time.

That year, I spent most of my time in the lab, learning front-end knowledge while implementing the C-end system of the project. At that time, I used Vue2+ElementUI+Echart+Express+MySQL to realize user registration and login, data storage, chart realization, and communication with the upper computer. So step by step, to achieve my work.

Fortunately, our team basically completed the whole project by the end of 2020. At that time, no one expected the outbreak of the epidemic, so that we could not go back to school after the Spring Festival. That Spring Festival, I had to stay at home because of the outbreak of the epidemic. I didn’t have a job at that time, so I had such a free period to study hard.

During that period of more than a month, I bought several courses of projects in Tencent classroom and followed them. Found a lot of interview questions and eight-part essay, printed out back; Then I used Vue+Express+Mongodb to build a personal blog. I just bought a cloud server that year, just for fun. (Actually, AT that time, I wanted to have a work to show to the interviewer.)

I studied at home until the middle of February, and I began to send my resume. At that time, I was still worried that I could not find a job. On the one hand, I was not from my major, and I did not have a standard to measure the industry, so I did not know where my level was going. Secondly, because of the epidemic, many companies have not resumed recruitment, and I still apply for the internship position.

At that time, I invested in a lot of companies on several recruitment apps, but basically I got no news. I was quite anxious at that time, but I was still studying and reading the interview questions. Until one day, an HR asked me for an interview, I was quite excited, but also quite flustered. Before the interview, I hurried to find out more about the company and looked at its website and products. They are to do the sea shopping mall, only small program platform at that time, I made up for the knowledge point of small program.

There are two rounds of interview, one technical and one HR. Because I applied for the internship position, I didn’t ask too many deep questions about the technology, nor did I write questions by hand. Everything went well. I was also asked if I knew Uniapp, and they would use its framework to develop new product lines later. Because I bought a set of Uniapp project courses before, I also clicked on it, and I wrote down this technology stack on my resume. At that time, I thought I really knew it.

Everything went well. I received the Offer the next day. Since no other company replied to me at that time, I decided to work there and confirmed the arrival date with HR. Coincidentally, the day after I received the Offer, I received an interview invitation from the second company, but I didn’t go to the interview because I had accepted one before, after all, I was still not so confident about myself at that time.

After staying at home for a few more days, I left for Guangzhou. Then I asked my sister to accompany me to rent a small house in a village in the city and bought some daily necessities. Report to the company on the agreed date. Although the company is not large in scale, the office environment is quite good. At that time, I was provided with an iMac, and THEN I began to get familiar with the company’s projects.

Just like what was said in the interview, the main task at that time was to develop 2.0 products with Uniapp. One of my tasks was to implement a static product detail page. And I thought I would Uniapp, that moment just know how deep their own misunderstanding. I remember copying the course project to my company computer and writing it as I referred to it.

I won’t say much about the intermediate process, but I realized that page for more than a month. Maybe it’s the company’s loose system, or maybe it’s because I’m an intern, so my boss doesn’t pay close attention to me in terms of time. Besides, he will review the code to me every day and tell me some code problems. I learned about flex and GIRD layout, I learned about Vue lifecycle and computing properties, I learned that a page can be pulled out into multiple components…

And the time when I felt my growth more truly was the time when I wrote my graduation thesis. I looked back at the code I wrote six months ago, and I couldn’t look at it at all. Of course, our team finally got the excellent graduation project through the efforts of half a year.

now

Before I know it, I have been in this company for almost two years. And these two years time, I also grew up a lot.

At that time, the 2.0 product was made for three or four months and was successfully launched. I was basically responsible for 80% static page implementation and some subsequent interface docking. And after the online, we found that the home waterfall flow is often true or overlap. At that time, I chose a waterfall flow plug-in in the plug-in market. The implementation of the plug-in is based on absolute positioning, and it is easy to miss or overlap if the height calculation is wrong.

I revisited many other waterfall plugins at the time, but they were mostly the same. Later I make a decision, I refer to the Web client waterfalls flow implementation, in the page set up about two containers, and then continuously through calculating the height of the container, place the next component, that there was a mistake, even in obtaining highly also won’t appear to overlap, at most is to place the wrong container, and the next will swallow back.

After implementation, I also uploaded to the plugin market, so far more than 2,000 downloads. This is the first wheel I ever built.

Uniapp Plugin market: ext.dcloud.net.cn/plugin?id=2…

Github:github.com/OUDUIDUI/un… (a Star ~)

Because our company uses Google Analytics as a buried point, GA access is basically code insertion or SDK access, and Uniapp is still very weak.

Later, I saw on Github that someone used the API reporting scheme to encapsulate the GA plug-in of wechat small program. In order to be compatible with Uniapp, I referred to that plug-in, realized it by TS, and applied it to our products.

Ga – tracker: github.com/OUDUIDUI/ga… (a Star ~)

In my spare time, I will also look for courses to learn. At the beginning of the word, has been in the Tencent classroom to buy some project courses, their own knock. But later I found that this way is too low efficiency, it is easy to type and forget, just like I learned Uniapp before.

Later, I found my own foundation was too weak, so I started to learn JavaScript again. At that time, the company had a little red book, so I borrowed it to learn. Sometimes work task is not much when, also touch fish study study. At that time, it took more than a month to gnaw once, a little skipping, over the base, but also followed the example, really harvest a lot.

At the same time, I also slowly develop the habit of visiting nuggets. Start each day at work by browsing the Nuggets and reading technical articles of interest. Earlier this year, I was intrigued to see someone sharing a read of the source code for Vue. Later I followed footsteps and began my path of reading source code.

Reading the source code of Vue2 has been intermittent, almost took me two or three months, I just finished reading the core part, and also wrote a mini-vue2, also organized a brain map.

Github:github.com/OUDUIDUI/mi… (a Star ~)

I built a mini warehouse just for hand-writing mini versions of frames. Now we have implemented mini-Webpack, Mini-Vite, mini-KOa, etc., and then we will return to the side of the warm, fill up the brain map and notes, otherwise we will forget too much. At present, I am learning the source code of VUe3, and also knocking mini-vue3 in hand. The progress is just beginning.

In learning source code this period of time, I also learned a lot of things. Some use of syntax, some use of packaging tools, some use of dirty operations… Most important, but once you understand the implementation behind a framework, you can make a lot of subtle changes when you use the framework.

For example, when I use Vue2, I almost always write variables in data. After reading the source code, we know that the variables in data need to be recursively traversed for responsive processing, and sometimes some variables do not need to respond at all, and when you write some logical variables in data, it will waste performance to a certain extent. Therefore, IN the future, I will extract some non-responsive variables and put them outside as a normal variable.

At the same time, from last year began to visit nuggets, also slowly will be more technical articles. At the beginning of the basic study notes and then take over the hair, the words will begin to write their own. After you write, you will realize how difficult it is to write an article. When you write, you will find that you are not really good at it. When you write something, you will find that you are not sure about it, and then you have to go back to study and practice it. Finally plan half a day to finish writing the article, wrote me several days.

For example, in my article “Make some GIFs and Learn EventLoop” this year, IT took me a lot of time to understand and write the article. After a few days, I got a lot of likes. Although I was a little happy, I was a little worried about whether I would make a mistake and mislead others.

In the comments section, there are a lot of bigwigs who ask me some mistakes and questions, and I take the time to verify them, and if they are my own mistakes, I immediately change the content of the article. I edited the article no less than ten times. And it happens to be this process that keeps us moving forward.

These months, I did not write more, because on the one hand, I was busy with my work, and on the other hand, I had higher requirements for the content of the article. I did not want to write for the sake of hydrology, so I did not write for a period of time. However, I will pick up the habit of writing and take it as a post-learning test to check whether I really learned it.

In addition to the habit of writing, RECENTLY I also slowly develop the habit of brush algorithm. Although I brushed the zili buckle for a while before, it broke in a short period of time. Some time ago, I set up a new repository on Github and wrote a simple CLI to get back to the habit of swiping questions with TDD in mind. I think the habit of TDD can be cultivated. For each algorithm problem, I first write a test according to the example, and then implement and debug one by one, so that I will not just write on the buckle so boring ha ha ha.

Github:github.com/OUDUIDUI/le…

Now I have just brushed more than 40 questions, basically one question a day (sometimes I am lazy and do not write), and gradually cultivate it into a habit. Later, I will systematically learn the algorithm and make up notes in the warehouse, which will also be classified with the topic.

In the future

In fact, GRADUALLY, I found that I like programming, from the beginning of the accident, to the current job, I think I went smoothly. Of course, IN this industry, I am still a rookie, but also need to continue to move forward, continue to climb higher.

Flags for 2022

  • To consolidateJavaScriptThe foundation. Read JavaScript you Don’t Know, Ninja Secrets, and the Little Red Book
  • On the premise of quality assurance, keep the output of technical articles, and strive to reach gold digging Lv4 by 2022
  • Hoping for a promotion (or a better move) in 2022
  • Keep active, go to bed early and get up early to develop healthy living habits.

I hope you guys have a great time in 2022, keep learning and finally make a lot of money!