It's time to write a summary again at the end of the year. I keep reminding myself that the past year is 2021, not 2022 - yes, as someone who has used VS2022 for several months, it feels like it has been in 2022 for a long time. However, 2022 is just around the corner. Back in the past, what did I do?
Speaking of it, I just remember that I recently reviewed "Matrix I, II, III" in order to welcome the metaverse - well, to be honest, it was for "Matrix IV".
But in order to make this 2021 Siwhy community summary, I really worked hard-to pick up SF's personal data:
------------------------- Article Info -------------------------
count: 20
votes: 216
comments: 39
winner: [34] 安全地在前后端之间传输数据 - 「1」技术预研
--------------------- Top 5 Vote Articles ---------------------
1. [34] 安全地在前后端之间传输数据 - 「1」技术预研
2. [28] 安全地在前后端之间传输数据 - 「3」真的安全吗?
3. [22] 我与思否,七年之痒 | 思否 9 周年
4. [19] 处理可能超时的异步操作
5. [16] 尝试对 jsjiami 加密结果手工解密
------------------------- Replies Info -------------------------
total: 338
accepted: 113 (33.43%)
votes: 307
---------------------- Notifications Info ----------------------
total: 1901
invited: 210 (11.05%)
askMe: 3
askFee: 148.8
voteReply: 241
voteArticle: 227
--------------------- Top 10 Vote Articles ---------------------
1. [----] (115) 理解 JavaScript 的 async/await
2. [2021] (8) 安全地在前后端之间传输数据 - 「3」真的安全吗?
3. [----] (8) 在微信小程序中使用 async/await
4. [----] (8) Token 认证的来龙去脉
5. [2021] (7) 安全地在前后端之间传输数据 - 「2」注册和登录示例
6. [----] (7) 还搞不懂闭包算我输(JS 示例)
7. [2021] (6) 安全地在前后端之间传输数据 - 「1」技术预研
8. [2021] (6) 尝试对 jsjiami 加密结果手工解密
9. [2021] (6) 我与思否,七年之痒 | 思否 9 周年
10. [2021] (6) 把程序做成系统服务
11. [----] (5) JavaScript 的 this 指向问题深度解析
To talk about how to pick it up, of course, it is to use the legendary "crawler technology"... The entry technology: find the API, find the Token, write a piece of code to iteratively pull data until the end of this year. This is not the point, the point is—
In 2021, I wrote 20 blog posts and received 216 likes. Among them, the one that received the most praise was "Securely Transferring Data Between Front and Back End-"1" Technical Preliminary Research", with 34 of them. 338 questions were answered, of which 113 were accepted, accounting for 33.43%; 307 answers were praised, which is more than blog posts, but on average, blog posts are more valuable.
In addition to counting the articles and questions in 2021, I also want to know how the articles from previous years have been praised this year. After thinking about it, maybe this information needs to be pulled from the reminder message. As a result, more than 1,900 reminders were pulled out. Among them, 210 are invited to answer, accounting for 60% of all answers in 2021. Indeed, in retrospect, throughout 2021, there was no creative motivation for more than half a year, and I didn't want to answer questions very much. Basically, I answered only if I was invited, and I didn't get it down.
However, the validity of the crawled data is hard to say. You see, the articles extracted from the reminder data received a total of 227 likes. Excluding the 216 articles in 2021, only 16 likes were on the previous articles. However, only "Understanding JavaScript's async/await" (published in 2016) accounted for 115 likes, which is unreasonable. Then I thought, "Favorites" are considered likes, but there is no separate "Like" reminder, so I re-stated:
---------------------- Notifications Info ----------------------
total: 1901
invited: 210 (11.05%)
askMe: 3
askFee: 148.8
voteReply: 241
voteArticle: 475
--------------------- Top 10 Vote Articles ---------------------
1. [----] (241) 理解 JavaScript 的 async/await
2. [----] (17) Token 认证的来龙去脉
3. [----] (17) 在微信小程序中使用 async/await
4. [2021] (16) 安全地在前后端之间传输数据 - 「1」技术预研
5. [2021] (15) 安全地在前后端之间传输数据 - 「3」真的安全吗?
6. [----] (15) 还搞不懂闭包算我输(JS 示例)
7. [----] (13) JavaScript 的 this 指向问题深度解析
8. [2021] (11) 安全地在前后端之间传输数据 - 「2」注册和登录示例
9. [2021] (10) 尝试对 jsjiami 加密结果手工解密
10. [2021] (10) 把程序做成系统服务
11. [2021] (9) 过滤/筛选树节点
The result looks closer, but there are still differences. Maybe there is more than one "someone" mentioned here in "someone has bookmarked your article"-that's the only way to explain it! But in any case, this statistic is very telling. The blog post in 2021 is no better than the residual heat of the previous post😰!
I almost forgot, there is still a little real income in 2021, 3 payment questions, a total income of ¥148.8 😁.
In addition to the statistical results, I also want to talk about some details.
In general, the questions answered in 2021 are not difficult, but from my perception, students have more problems in data processing. How to say it-still have to strengthen the data structure and algorithm and in-depth study and understanding, as well as more use, more practice, more accumulation of experience. To summarize, the questions I answered have these categories:
The generation, expansion and query of tree data. I have related blog posts to read for reference:
Array/list data filtering, conversion, grouping, expansion, etc.
For the front-end (JS), it is important to read theArray
,Object
andSet
/Map
; for more complex data processing, it is recommended to read a whole Lodash document (you only need to understand it, no need to remember), and then use it flexibly. For C#, the main thing is to understand Linq extensions (extensions toEnumerable<T>
. Java, that is Collection and stream API. These questions will never go out of style. I wrote some in the early years:Issues related to asynchronous processes. The processing of asynchronous processes requires a certain degree of asynchronous thinking, after all, the order of the code is not necessarily the order of execution. For processing asynchronous programs, various languages have developed relatively mature technical frameworks and models after so many years of research and development. The simplest and most useful one is based on the Promise and await models. Of course, asynchronous processing is not limited to processing in computing programs. There are a large number of asynchronous calls in user interaction and program interaction (API calls). I also seem to have a lot of blog posts about asynchronous processing:
- Asynchronous programming requires "awareness" 〔2018〕
- Understand JavaScript's async/await 〔2016〕
- Processing asynchronous operations that may time out 〔2021〕
- Asynchronous operations that can be interrupted 〔2021〕
- Asynchronous behavior analysis of web page bullets 〔2021〕
- There are also some content written in previous years, you can find it in my thinking column " Border Town Inn "
TypeScript related issues. Angular brought the first wave of TypeScript climax, but that was a long time ago. Recently, the popular Vue3 has pushed TypeScript up again, so TypeScript-related problems have also increased. The key difficulty and value of TypeScript is its type. But in order to be compatible with the flexibility of JavaScript, TypeScript has designed its type declaration to be flexible like a language. I don't have many articles dedicated to TypeScript, and I basically use it as a sample language. But it's not without:
- Please do not misuse TypeScript overloaded function type 〔2021〕
- JavaScript and TypeScript encapsulation-private members (2020)
- And my TypeScript video tutorial- TypeScript from entry to practice [2021 version] -welcome to learn!
There are also some other categories, such as frameworks (Vue, etc.), work, regular expressions... Among them, I am most happy that there are many code optimization problems, which fully illustrates the increasing The more people begin to pay attention to the readability and maintainability of the code, instead of simply pursuing "run"-don't think too much, the code is really readable! Otherwise, humans will eventually lose to machines.
My 2021 was very plain, and it was over without knowing it. I thought there was nothing to write, but I didn't expect to write a big one.
In the year of the ox, I am as low-key as an old buffalo; in the year of the tiger, should I stand up and roar! ——Perhaps it is, but that is not my character. What will happen in 2022?
This article participated in the SegmentFault "2021 Summary" essay , and you are welcome to join as well.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。