2018 has come to an end. To sum up my past year is the transformation of three roles: I have changed from a student to a social person, from a reader to a we-media person, and from a student to a lifelong learner.

The change of each kind of role means the change of responsibility, each more kind of role, will assume a responsibility. As the role grows, so does the responsibility and rewards.

Technology growth

For the growth of technology, I feel that I somehow walk in the forefront of the front, just saw a post on Zhihu 2019 front-end technology planning should include what? A lot of big guys talk about Rxjs, Typescript, functional programming, Flutter, PWA, Node in their planning, but the truth is that I’ve already seen a lot of them in 2018. Examples include Rxjs, TS, functional programming, Node, etc.

Chat Typescript (TS)

Especially for TS, I have said in the public account and the wechat group I maintain that TS will be popular recently. If you don’t learn it, learn it quickly. I don’t know how many people have listened to me and read the plans of so many leaders, and I am more convinced that TS will become a necessary skill for future front-end engineers.

Then for TS learning, I have seen these things, I recommend, but I am still a beginner, I can not say how proficient, I only used in my own small project, not in the company’s project.

  • TS Official Documentation
  • Technical fat TS tutorial
  • A guide to TypeScript extreme speed complete progression
  • Understand TypeScript in depth

If you ask me what it is like to use TS, I can only say that it is late to meet, like vim, after using it, it always seems to be used.

Chat Rxjs

In terms of learning Rxjs, I would say that Rxjs is one of the most difficult libraries I have ever learned, so far. In retrospect, I wish I had learned functional programming earlier. If I had studied functional programming first and then studied Rxjs, I believe it would have been 40% easier. However, SO far, I haven’t got a real production environment to use, only wrote some simple demo, then read some materials and books, and also made relevant popularization in the team.

Rxjs is difficult because of the way of thinking and API, and then because of some concepts do not know why the design (many ideas I believe that learning functional programming will understand).

For RXJS learning read a lot of articles, I here or recommend three I feel more complete learning materials.

  • Rxjs website
  • Master Rxjs in 30 days
  • Teacher Cheng Mo’s simple Rxjs

Talk about functional programming

The biggest feeling I got from learning functional programming was that it broadened my horizon and suddenly made up for the lack of knowledge in my previous system. For example, for composing and curry, there are some important concepts that are always mentioned in JS, but I always remember them again and again. Even if I have realized them by hand, I still forget them several months later because I have not used them. However, when I learned functional programming, I found that compose, Curritization, and partial applications were all composed and composed, just like map and reduce using arrays. Now I can write them with my eyes closed, just a few lines of code.

Functional programming in the basic tool function implementation, ES6 simple implementation of the core principles of these concepts, really just a few lines of code.

As I mentioned earlier, it would have been nice to learn functional programming first, because Rxjs is functional programming, and so are the operators, and then for example, Rxjs chain calls were very nice at the time, and jQuery also has this, but I didn’t know exactly what the mechanism was, However, once we know Functor of functional programming, we are no longer confused. Implementing a Promise, for example, I believe is still difficult for most front-end developers. After learning Monad, it may not be so difficult to write a Promise. Because Promise is a Monad, and Monad is a very, very difficult concept in functional programming, and I think it’s one of the hardest concepts.

In addition, some friends may ask, since functional programming is so good, do you usually use it? To be honest, I dare not use Monad in the company’s projects. If I do, I can only use combination, corrification and partial application, and I dare not use monad-related things, because there are few people in the team who use functional formula, and it will bring great maintenance cost to the team if one person uses functional formula. And the current feeling of these advanced concepts in JS is not quite suitable, may be because I am still a beginner, have not learned the essence of it.

But for the inside of the functional combination, I am very approve of, through the abstraction, the smaller the particle size, function and then satisfy the task function of this I feel is one of the essence of functional programming, want to use a good combination, curry and part of the application of flexible use of it is very important, may not know what is the difference between first, or when to use which, When you actually meet them, you’ll tell them apart.

Functional programming bring me too much, later will have summed up my learning summary, would have wanted to write, but before an article published in the functional programming, delicious I have snack tired, this article is functional programming soon I started learning to write an article, when looking at the javascript functional programming guide when written, This is basically a summary of the first chapter of that, because I think it’s the best overview of functional programming that I’ve ever seen, so I wrote it up for you to share, and it said, “Fun to copy, right? And so on, but also some friends said, thank you for my share, the book sometimes large paragraphs of text, is not as good as others a summary of the article. Anyway, this article is the most uncomfortable after I wrote an article, in this article, a few days after I am afraid I have a notification message nuggets accounts, afraid to be scolded again, at that time already planning to oneself can summarize the essence of the book, then write a series of articles, but in order to maintain my glass heart, will continue to buy a book, see the information, a more profound understanding, Make it your own thing to write.

Some of my collection of functional programming materials and books, if you can’t find good information can click in to see.

Although I have read so many materials and books, I am still a novice in the field of functional writing, so if you write badly, you are welcome to slap (save face).

Serialcoder is back in the game after his article “How I went from zero to a confident front end” was removed from the nuggets by some of his friends. I hope we can communicate more and talk more quietly. We are all in the same circle.

My official account

Do the public number is the most correct decision I made this year, but also make me harvest pretty big. Mainly, I wrote a lot of articles, expanded my social circle, made a lot of friends, also got in touch with a lot of bigwigs, and got a little concept of operation.

My public account is “Front-end Taoyuan”, which is not doing very well. Recently, I did not insist on updating, because I am writing my own small projects, and I can see that there are many unfinished projects planned by myself. I hope that some friends will join me and let these projects online as soon as possible.

My project

There are actually quite a few projects planned for this year. But so far one of them have no hands, ashamed to say it.

1. Github Issue blog

The project address

I wanted to blog on Github Issue, but I thought the issue was ugly, so I wrote a static blog. At that time, just when a parcel was published, I used vue + parcel to practice and get the content of the issue and display it on the website. So I made a very simple blog system, but once I wrote it, I didn’t use it very much, and now it seems that the pictures are invalid.

2. Random applets (to decide that thing)

Write the reason of this project is, at the beginning when we were in the company, always don’t know which one, go out to eat at noon so the tangle of comparison, I think if there is a thing can help me to make the decision, random, and then also can give the answer enactment right, such as prefer eating liang zhang malatang is set higher weight, then the random probability is bigger. Then I realized that there are many situations where there are too many options and it is difficult to make a decision. For example, if you want to see several movies, you can make a decision randomly. In fact, this small program already exists, but they do not set the weight function, so I decided to make one, now the code is finished, but because the small program is to use HTTPS domain name, so it is not online at present.

3. Chinese medium

The origin of this project because I often watch the articles on the medium, but English is not very good, so a lot of time is translation and then see, then I will translate the articles on this often went to the public, but even if the translation takes time as well, and some are machine translation, so more blunt. Therefore, I thought to climb down the articles on Medium and get a Chinese article after translation through the translation API. Then, each paragraph of the Chinese article has the original text, and users can revise the translated Chinese. In this way, I believe the article will be better and better translated, just like doing open source projects.

In this project I use puppeteer crawler, and then the translation is using the delimiter translation interface. At present, we can only crawl and translate articles (this is not so simple, we need to translate each paragraph of English, and then make the translation of each paragraph into an article). For users to modify Chinese, this is not done well, this is more complicated, and the administrator needs to review what. If you are interested, you can do it with me.

4. Aggregate the Github Issue blog

Project Background: After my observation, many programmers like to write articles in Github issue, and the blogs written by such people are often of high quality. However, Github is still weak in searching for issue, and the search engines are not full, so I thought to build an aggregation website and fill in a warehouse address on the website. To obtain the information of the issue and the author, and then label, classification and other operations, mainly is convenient to find, and the UI can also be customized to look better, but also can do subscription functions.

Now the first version is almost finished, try to online before the Spring Festival.

Other areas of growth

Although we are programmers, but life is not only technology, but also should learn some other knowledge.

Finance and investment

The importance of money I won’t, say next my experience, most begin to contact finance books I read is an “index funds investment guide”, said the index fund is the buffett only recommend the small white in public investment, mindless cast surely will earn a few years, then I will follow the author’s public recommended some index, little investment for each month, Invested big half year, still be deficient at present, I believe just because this year market is bad, China did not arrive bull market, be to give oneself psychological comfort.

In addition, I read “Rich Dad and Poor Dad”, this book is a best seller, or very recommended reading, which puts forward the concept of money of the rich, as well as some thinking I think is helpful to our behavior, as well as money.

Also bought two financial courses on get, at that time, in order to learn to fry, so they bought want to learn, a door is XiangShuai Peking University financial class, now I haven’t fill out, just looked at more than one hundred section, the other is Lu Rong “behavioral finance” course, this is every day after, I bought it just came out, still be harvested, expanded my financial view, As well as some investment skills, although the stock has not earned, while there is no money now, more tinkering, fumbling experience, lost also did not have much money, until later rich, lost on the loss of big.

Before Christmas girlfriend see me always want to buy “poor Richard treasure dian”, she help me to buy for Christmas, I believe that this book will help in my mind, it is Mr Buffett’s partner Charlie munger some ways of thinking, buffett spoke very highly of Charlie munger, he felt Charlie munger smarter than his own.

product

At that time, I also wanted to get in touch with the product aspect, so I bought qiu Yue’s Product Actual Combat. I felt so guilty because the update was finished for a long time, and I have only read half of it now. I set a flag that I must finish it within one month after the Spring Festival.

writing

Make public, or from the media is to actually writing, be content, you also need to publicity, marketing, but now I want to do is put the content, so they bought porridge left “new media writing about 30”, this is already watched it twice, but there are many haven’t practice, porridge recently have a new lesson, the teacher was almost cut hand again.

In addition, writing is really a very important skill. I sincerely hope you can write more and build your own IP.

conclusion

At the beginning of this article, I have said that I have changed three roles this year. As a student, I have become a social person. I graduated in June this year and came to work in Mogujie. From a reader to a we-media person, he began to do the public account, began to write often; From a reader to a “we media” person, I began to buy all kinds of courses on the Internet, constantly energize myself and learn new knowledge in this changing world.

Do not know to have like my project may have similar competing goods, why do you do, my answer is because I am still not satisfied, I just want to be a my own satisfaction, like particularly big, the original writing vue just want to write a useful framework, didn’t think you also feel good, so fire, although my project didn’t embrace will fire point of view, But it’s nice to make myself comfortable.

Learn the technology as far as possible to try to practice, do not practice, always just on paper, and get the end of sleep shallow paper. Take myself as an example, I have done several small projects of my own, which all require the server side, so this is a good time to learn node, KOA, TS use, front-end write, so if you want to learn vue, front-end write in Vue, want to learn Angular, The front-end is written in Angular, and you’d better learn a technology and have some project experience before you can say you know it.

As for the editor, VSCode is very popular now, most of our front-end developers use it, and I agree that it is a very good editor, but there are still some aspects of VSCode that I am not satisfied with, so I will continue to use Emacs.

Oh, my damn, nowhere to put the xx!

Denver annual essay | 2018 technical way with me The campaign is under way…