平平淡淡又一年-邊城在思否的 2021 年總結(jié)| 思否年度征文
# 思否年度征文
一起來總結(jié)你的?2021 #
一路從后端走來,終于走在了前端!
又到了年末寫總結(jié)的時(shí)候。我不斷地提醒自己過去這一年是 2021,不是 2022 —— 是的,作為一個(gè)使用了 VS2022 好幾個(gè)月的人來說,感覺已經(jīng)在 2022 好久了。然而, 2022 只是即將來臨。回往昔,我都干了啥?
說起來,只記得最近為了迎接元宇宙,我去復(fù)習(xí)了《Matrix I、II、III》 —— 好吧,說實(shí)話,是為了《Matrix IV》。
不過為了做這個(gè) 2021 的思否社區(qū)總結(jié),我是真的下了功夫 —— 去扒了下 SF 的個(gè)人數(shù)據(jù):
-------------------------?Article?Info?-------------------------
??count:??????????20
??votes:??????????216
??comments:???????39
??winner:?????????[34]?安全地在前后端之間傳輸數(shù)據(jù)?-?「1」技術(shù)預(yù)研
---------------------?Top?5?Vote?Articles??---------------------
?1.?[34]?安全地在前后端之間傳輸數(shù)據(jù)?-?「1」技術(shù)預(yù)研
?2.?[28]?安全地在前后端之間傳輸數(shù)據(jù)?-?「3」真的安全嗎?
?3.?[22]?我與思否,七年之癢?|?思否?9?周年
?4.?[19]?處理可能超時(shí)的異步操作
?5.?[16]?嘗試對?jsjiami?加密結(jié)果手工解密
-------------------------?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)?安全地在前后端之間傳輸數(shù)據(jù)?-?「3」真的安全嗎?
?3.?[----]?(8)?在微信小程序中使用?async/await
?4.?[----]?(8)?Token?認(rèn)證的來龍去脈
?5.?[2021]?(7)?安全地在前后端之間傳輸數(shù)據(jù)?-?「2」注冊和登錄示例
?6.?[----]?(7)?還搞不懂閉包算我輸(JS?示例)
?7.?[2021]?(6)?安全地在前后端之間傳輸數(shù)據(jù)?-?「1」技術(shù)預(yù)研
?8.?[2021]?(6)?嘗試對?jsjiami?加密結(jié)果手工解密
?9.?[2021]?(6)?我與思否,七年之癢?|?思否?9?周年
10.?[2021]?(6)?把程序做成系統(tǒng)服務(wù)
11.?[----]?(5)?JavaScript?的?this?指向問題深度解析
要說怎么扒的,當(dāng)然是使用傳說中的“爬蟲技術(shù)”…… 的入門技術(shù):找到 API,找到 Token,寫段代碼迭代拉取數(shù)據(jù),直到把今年的拉完。這不是重點(diǎn),重點(diǎn)是?2021 年間我寫了 20 篇博文,收獲 216 個(gè)贊。其中獲贊最多的是《安全地在前后端之間傳輸數(shù)據(jù) - 「1」技術(shù)預(yù)研》,有 34 個(gè)。回答問題 338 個(gè),其中 113 個(gè)答案被接受,占比 33.43%;回答獲贊 307 個(gè),比博文多,但平均下來看還是博文更值錢。
除了統(tǒng)計(jì) 2021 年的文章和問題之外,我也想知道往年的文章在今年獲贊的情況。想了一下,可能這個(gè)信息要從提醒消息里去拉。結(jié)果拉出來 1900 多條提醒。其中邀請回答 210 條,占 2021 年所有回答的 60%。確實(shí),回想起來,整個(gè) 2021 年間,有超過半年的時(shí)間沒有什么創(chuàng)作動(dòng)力,也不怎么想回答問題,基本上是有邀請才答,沒邀請拉倒。
不過爬出來的數(shù)據(jù)有效性不好說。你看,從提醒數(shù)據(jù)中提取出來文章共獲得 227 個(gè)贊,除去前面統(tǒng)計(jì)的 2021 年文章的 216 個(gè),只有 16 個(gè)贊在以前的文章上。然而,僅《理解 JavaScript 的 async/await》(發(fā)于 2016 年)一篇就占了 115 個(gè)贊,這不合理。然后我想,是不是“收藏”的也算了贊,但是沒有單獨(dú)出現(xiàn)“贊”的提醒呢,所以重新統(tǒng)計(jì)了一下:
----------------------?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?認(rèn)證的來龍去脈
?3.?[----]?(17)?在微信小程序中使用?async/await
?4.?[2021]?(16)?安全地在前后端之間傳輸數(shù)據(jù)?-?「1」技術(shù)預(yù)研
?5.?[2021]?(15)?安全地在前后端之間傳輸數(shù)據(jù)?-?「3」真的安全嗎?
?6.?[----]?(15)?還搞不懂閉包算我輸(JS?示例)
?7.?[----]?(13)?JavaScript?的?this?指向問題深度解析
?8.?[2021]?(11)?安全地在前后端之間傳輸數(shù)據(jù)?-?「2」注冊和登錄示例
?9.?[2021]?(10)?嘗試對?jsjiami?加密結(jié)果手工解密
10.?[2021]?(10)?把程序做成系統(tǒng)服務(wù)
11.?[2021]?(9)?過濾/篩選樹節(jié)點(diǎn)
結(jié)果看起來更接近一些,但是仍然存在差異。可能“有人收藏了你的文章”這里提到的“有人”有時(shí)候不止一個(gè)吧 —— 也只能這么解釋了!但不管怎么說,這個(gè)統(tǒng)計(jì)數(shù)據(jù)已經(jīng)很說明問題了,2021 一年的博文,比不過曾經(jīng)一篇的余熱 !
差點(diǎn)忘了,2021 年還有一點(diǎn)現(xiàn)實(shí)的收入,3 個(gè)付費(fèi)問題共計(jì)收入 ¥148.8 。
除了統(tǒng)計(jì)結(jié)果,我還想聊點(diǎn)細(xì)節(jié)。
總的來說,2021 年回答的問題都不是很難,但從我的感覺來看,同學(xué)們在數(shù)據(jù)處理上的問題比較多。怎么說呢 —— 還是得加強(qiáng)數(shù)據(jù)結(jié)構(gòu)和算法和深入學(xué)習(xí)和理解,以及多運(yùn)用,多實(shí)踐,多積累經(jīng)驗(yàn)。大概總結(jié)了一下,我回答過的問題有這么一些分類:
樹型數(shù)據(jù)的生成、展開和查詢。
我有相關(guān)的博文可閱讀參考:
使用遞歸遍歷并轉(zhuǎn)換樹形數(shù)據(jù)(以 TypeScript 為例)?〔2017 年〕
https://segmentfault.com/a/1190000011819279
從列表生成樹 (JavaScript/TypeScript)?〔2021 年〕
https://segmentfault.com/a/1190000040336164
過濾/篩選樹節(jié)點(diǎn)〔2021〕
https://segmentfault.com/a/1190000040741437
數(shù)組/列表數(shù)據(jù)的過濾、轉(zhuǎn)換、分組、展開等。
對于前端 (JS) 來說,重點(diǎn)需要閱讀?Array、Object?和?Set/Map?的文檔;復(fù)雜一點(diǎn)的數(shù)據(jù)處理,建議把 Lodash 的文檔通讀一篇(了解即可,不需要記住),然后靈活運(yùn)用。對于 C# 來說主要是了解 Linq 擴(kuò)展(對?Enumerable
集合數(shù)據(jù)處理(C#、JavaScript 和 Java)〔2016 年〕
https://segmentfault.com/a/1190000006884402
JavaScript 中對大量數(shù)據(jù)的多重過濾〔2016 年〕
https://segmentfault.com/a/1190000007371890
JavaScript 數(shù)組分組的實(shí)現(xiàn)〔2016 年〕
https://segmentfault.com/a/1190000007464770
數(shù)組去重(JavaScript 為例)〔2020 年〕
https://segmentfault.com/a/1190000024457700
異步過程相關(guān)的問題。
異步過程的處理需要具有一定的異步思維,畢竟代碼的順序不一定是執(zhí)行的順序。而處理異步程序,各種語言經(jīng)過這么多年的研究和發(fā)展,都已經(jīng)有了相對成熟的技術(shù)框架和模式,最為簡約好用的一種就是基于 Promise 和 await 模式。當(dāng)然,異步處理不僅限于計(jì)算程序中的處理,用戶交互、程序交互(API 調(diào)用)等都存在大量的異步調(diào)用。我關(guān)于異步處理的博文似乎也比較多:
異步編程需要“意識”〔2018〕
https://segmentfault.com/a/1190000013337421
理解 JavaScript 的 async/await〔2016〕
https://segmentfault.com/a/1190000007535316
處理可能超時(shí)的異步操作〔2021〕
https://segmentfault.com/a/1190000040963849
可以中斷的異步操作〔2021〕
https://segmentfault.com/a/1190000040972018
網(wǎng)頁彈框的異步行為分析〔2021〕
https://segmentfault.com/a/1190000040978125
還有一些往年寫的內(nèi)容,可以在我的思否專欄「邊城客棧」中去找
https://segmentfault.com/blog/jamesfancy
TypeScript 相關(guān)的問題。
Angular 帶來了 TypeScript 的第一波高潮,但那已經(jīng)是很久以前的事情了。最近大火的 Vue3 再次將 TypeScript 推了上去,所以 TypeScript 相關(guān)的問題也多了起來。TypeScript 的重點(diǎn)難點(diǎn)也是價(jià)值點(diǎn),就是它的類型。但是為了兼容 JavaScript 的靈活性,TypeScript 已經(jīng)將其類型聲明設(shè)計(jì)來靈活得像一門語言了。我專門寫 TypeScript 的文章不多,基本上都是把它作為示例語言使用。但也并不是沒有:
請別誤用 TypeScript 重載函數(shù)類型〔2021〕
https://segmentfault.com/a/1190000040902173
JavaScript 和 TypeScript 的封裝性 —— 私有成員〔2020〕
https://segmentfault.com/a/1190000022863522
還有我的 TypeScript 視頻教程 ——?TypeScript從入門到實(shí)踐 【2021 版】?—— 歡迎來學(xué)!
https://ke.segmentfault.com/course/1650000023477528
還有一些其他的分類,比如框架類(Vue 等)的,工作類的,正則表達(dá)式類的 …… 其中最讓我感到高興的是有不少代碼優(yōu)化類的問題,這充分說明了越來越多的人開始關(guān)注代碼的可讀性和可維護(hù)性,而不再只是簡單地追求“能跑”了 —— 別想多了,代碼真的是給人讀的!要不然人類終將會輸給機(jī)器。
我的 2021 過得很平淡,平淡得不知不覺就過完了。本以為也沒什么好寫的,沒想到還是寫了一大篇。
牛年,我就像老水牛一般低調(diào);虎年,我是不是該站出來咆哮!—— 也許是吧,但那不是我的性格。2022 年又會怎么過呢?
2021,也注定是個(gè)不平凡的一年!鮮花與荊棘,凜寒和熱盼;仔細(xì)想來,大家在這一年一定經(jīng)歷和成長了很多,人生的進(jìn)度條又向前了一格。
2022 已經(jīng)開始啦,又到了要復(fù)盤的時(shí)候,回望這一年,年初的計(jì)劃是否已經(jīng)實(shí)現(xiàn)?又get了哪些新技能?完成了多少個(gè)項(xiàng)目?踩了多少坑?
這里思否小姐姐邀請你一起,用文字記錄下 2021 一個(gè)又一個(gè)難忘的瞬間,復(fù)盤一下你的 2021......
*?點(diǎn)擊下方海報(bào),了解【思否年度征文】更多詳情

