2023年度技術總結

2021-09-13 02:26:05 字數 3622 閱讀 3232

轉眼間2023年只剩下最後的幾天了,趕緊趁熱寫篇年度總結,畢竟據說元旦會變冷。

參加工作的第五個年頭,終於買了一台自己的macbook pro。其實我從高中時起,就對mac有一種憧憬。那時候每到週末,就常常往蘋果的實體店跑,就為了去看看那些精緻的筆記本,試著在觸控板上滑動一下手指,點開幾個自己只在蘋果官網上看過icon的陌生應用。

依稀記得下決心買這台電腦的那天晚上,回到家掏出之前的聯○筆記本,發現轉動顯示屏蓋子的地方壞掉了,導致筆記本的蓋子翻不起來。在家裡要接乙個外接的顯示器來用實在是太麻煩了,立即就萌生了買一台新的來應急的想法。再三思索後,決定嘗試一下mac,便立即在官網下單了。令人哭笑不得的是,明明是要應急用的,結果還是過了三天才到手。慶幸的是,在公司是用外接顯示器來辦公的。

再後來,遇到了堪稱神器的contexts,現在在macos中切換視窗就像是牛奶巧克力那般的絲滑。最近買的,則是bartender,是在**上的數碼荔枝那裡買的,趁著雙十一的時候有折扣趕緊入了手。它們都很實用,使用頻率也非常地高。當然了,像[default folder x]()雖然也非常好用,但因為它可以無限期地免費使用(只是會偶爾彈個窗提醒購買),所以我就沒有急著花錢了。一些比較有意思的應用,比如little snitch,雖然很酷炫(看著世界地圖上的各種連線),但對我而言用處不大,最後也就解除安裝了。

越是寫部落格就越發現,部落格的力量是有限的,除非超越部落格。我不做程式設計師啦jojo比起寫給自己查閱的筆記,寫公開發表的文章是大不同的。筆記可以寫得像銅牆鐵壁那麼規整,可以一層一層地嵌進去。但是發表在部落格上的文章就像**,是寫給自己之外的人看的,要講究閱讀體驗。偶爾要用段子活躍一下氣氛給讀者提提神,字裡行間也要注意正確地使用行話。尤其是寫一些教程一般的文章時,要循序漸進地講述自己的操作過程,還要戰戰兢兢地擔心別人無法復現自己的結果(人類的本質是復讀機)。

除了github pages之外,我也把文章發表到了segmentfault的專欄上。感謝segmentfault極其不友好的插入的方式,迫使我寫了乙個alfred的workflow,用來快速地把截圖的上傳到github的乙個倉庫裡(拿github的倉庫當圖床)。現在的寫作流程,是在電腦上用typora先寫好,然後hexo new一下生成原始檔,把寫好的內容貼上進去,再發布,最後把文章內容再到segmentfault上建立篇新文章再貼一次,發表出去。

以前用(壞掉現在又修好了的)聯○筆記本的時候,我用windows 10自帶的alarm設定了很多提醒——叫外賣的、喝水的,以及起來走走的(久坐是不好的喲),大量的定時提醒讓我有一種生活井井有條的感覺——寫作感覺讀作錯覺。mac在這方面可以做得更好,因為它自帶crontab。於是我便用crontab和alerter(剛開始的時候用的是terminal-notifier)給自己設定了不少定時提醒。等到crontab -l的輸出開始氾濫後,便萌生了自己寫乙個管理工具的想法。

一開始還在boostnote上煞有介事地寫了一篇需求文件和設計文件(已經都是廢稿了),想著用common lisp來開發。但同樣因為cl-mysql安裝不成功,我又不希望把時間都花在了折騰環境上,便改用了node.js來編寫這個管理工具。框架選擇了egg-js,在操作mysql和redis方面都有相應的外掛程式,此外還內建支援定時任務,上手很方便——真要是用common lisp的話,也許還在糾結某個功能是用某個半殘的第三方庫還是自己費勁從零寫起。

用redis的zadd、zrangebyscore、zrem,以及zscore指令做了乙個簡陋但夠用的訊息佇列——用z*系列的指令是為了可以模擬出延時訊息的效果(beanstalkd和阿里雲mns都支援這種特性)。配合egg-js的定時任務功能,就可以實現定時提醒了——彈出提醒仍然是用alerter。目前這套系統運作得還不錯,大部分原本錄入在crontab中的定時提醒已經交由它來處理了。儘管還有不少的小問題,不過相信都是可以解決的。

對了,這玩意兒的名字叫做cuckoo,即布穀鳥。

mac跟「效率」這個詞似乎特別有緣,常常被人換做生產力工具,彷彿一拿起mac,便自動遮蔽了外界的干擾。開始用mac的幾天後,我便開始把玩macos上各款大名鼎鼎的todo list應用了。關於這個話題之前也寫了一篇吐槽文,有興趣的可以移步這裡閱讀。世間的todo list應用是真的多,不過可能是我的口味實在是太刁鑽了,我竟然沒有一款是特別滿意的。在把玩的期間最讓我產生好感的,要屬my life organized,然而這貨沒有mac版,不然我真的很可能會喜加一。

每過一段時間,我就會想要把自己對todo list類應用的一些想法付諸實踐,自己動手開發乙個給自己用。不過到目前為止,這些想法仍然處於被封存的狀態,被遺忘在了磁碟上哪個角落裡的檔案中。目前emacs的org-mode還算夠用,它兼顧了我使用上的凌亂與規整,尤其是當我需要在某個任務下寫一些包含**的筆記或者想法的時候,org-mode幾乎就是所有todo list類應用中的唯一選擇了。但工具只是用來管理任務,當夜深人靜坐下來,想要自己第二天給安排得明明白白的時候,就會發現,即便有最好的工具(我並不是說org-mode),也仍然需要方**來指導這個安排的過程。尤其是,這個過程應當是「object-oriented」的——不是物件導向,而是「目標導向」。如果不事先制定一些目標——不管是像人生規劃這般空泛的目標,還是像租一輛共享汽車開車上路這樣具體的短期目標,如果缺乏目標,那麼很快就會陷入了「隨便找一些任務來填充第二天的空閒時間」這樣的狀態,久而久之gtd也就實踐不起來了。

規劃不等於目標。

最近我覺得,與記筆記同樣重要的,是能夠方便並且準確地查詢自己的筆記。筆記如果只是記而沒有翻閱出來利用,那還不如每次都開啟搜尋引擎當場查詢算了。我打算把筆記的匯入到elasticsearch中去,然後依託它的全文搜尋功能來查詢。感謝org-mode,是純文字的儲存格式。要寫乙個工具,把.org檔案中的每個問題和對應的答案組裝成乙個json餵給elasticsearch真是太簡單了。現在缺的是乙個方便的入口,以及乙個美觀大方的結果顯示方式。

不過這個新想法的專案名還沒想好

年初開始漸漸負責起了面試的工作。為了可以比較系統地面試,便整理了乙份web後端工程師需要掌握的知識的清單。目前這份清單還在絕讚完善中——想必這個完善的過程是不會停止下來的,而且目前積累的面試題也不足。

原本還有另乙份清單,是自我提公升用的指引。但漸漸地我發現要求面試者所具備的知識,和充電用的技能樹指引,其實是應當合二為一的,於是乎便誕生了乙個叫做charging的專案。在其中的乙個叫做knowledge.org的檔案中(又是org-mode),我以自己的理解自上而下地給web後端的軟體工程師所需要的知識做了一下劃分,並逐級細分,到了合適的粒度的headline,便新增這個分類下的相關面試題。除了在這些葉子節點上掛上面試題之外,我還依照這些合適粒度的headline給自己安排學習的內容,一般是相關主題的電子書或者pdf。經過最近一次的梳理後,接下來可能會學習一下erlang(都不記得是第幾次了),讀一下《重構》,以及《redis實戰》。當然了,這些只是最近一次整理增加的內容,僅僅是完整學習內容的冰山一角xd

儘管有年月日的劃分,但日子畢竟是連在一起過的,所以今年未完成的學習安排並不會在2023年到來的那一刻戛然而止。org agenda中還有很多標記為todo的條目,pocket中還有很多未讀的文章,還有很多沒看完的pdf,leetcode和project euler上也還有很多的題目沒做。2023年,想必會是忙碌的一年。

全文完

2023年度總結

用一百分總結這一年,可以給自己打90分。各種奔波,各種曲折,終成大事。上半年,忙個不停,專案開發如火如荼,經常加班,有好多次打車11點之後到家。開發能力突飛猛進,實戰經驗得到積累。9月,換了個窩。新環境,新東西,不斷適應,不斷學習,過程雖然痛苦,過來了也就熟悉了。挪窩的過程中,找窩真的很不容易。公司...

2023年度總結

工作概述 入職第二天,我去了快遞培訓。在快遞學了70天,也是非常感謝快遞的哥哥姐姐們的指導。使我這個小白有壓力和有目標的去學習,學習到了很多的android技術就不一一枚舉了。在快遞學習的過程中給我印象最深刻的是大家的分享會。我從中了解到了很多新的技能和知識反編譯熱修復opencv快遞運營雲列印rx...

2023年度總結

光陰似箭,日月如梭。先來一句聽的非常膩歪的至理名言來鎮鎮場子。這一晃2018年馬上就要過完了,想想年初的時候我還是140斤,到了這年根底下我已經在150 160之間來來回回的徘徊了,我身上的肉確確實實的證明了我這一年也沒有白過,當然除了身上的這一身肉這一年還是有點其他的收穫的。剛才開啟今目標數了數今...