嗨~這裡是 liuyuxin,這是我的第 5 期週報。過去一週最開心的事就是女友成功保研並成為我的校友啦,雖然不在同一個校區,但以後見面還是會方便很多。
我的週報會在每週一早上通過微信公眾號和個人博客更新,微信公眾號請搜索「劉玉新」,博客地址:https://liuyu.xin。博客支持通過 RSS 訂閱:https://liuyu.xin/feed。
這期的週報晚了點。以下是正文。
重複造輪子#
從 Windows 換到 Ubuntu 後最大的不適應來自找不到一個代替 pot 的翻譯軟體。pot 雖然也支持 Linux 系統,但因為 Ubuntu 默認使用 Wayland 協議,無法在應用內註冊全局快捷鍵和設置置頂窗口,在系統設置裡註冊的快捷鍵反應又很遲鈍。於是打算幹脆用 Flutter 寫一個給自己用。半個晚上,寫出來一個能用的 demo,調用百度翻譯的 API 進行翻譯,已經能初步滿足我的需求。
結果打包完才發現,調試過程中一切正常的 App,打包安裝後發生了和 pot 一樣的問題:無法在應用內註冊全局快捷鍵和設置置頂窗口。一查文檔,得,還是 Wayland 協議的鍋,切換到 X11 協議後一切正常。那我這不是重複造輪子嗎?還不如切換到 X11 後繼續使用 pot。
不過我還是挺願意花一點時間把這個輪子繼續造下去的,因為寫這個軟體的初衷是給自己用,我知道自己的需求是什麼,按照自己的想法寫給自己用的 App,還是要比直接用其他現成的順手。
(實際上我在 Ubuntu 上堅持了不到 10 天就換到 Kubuntu 了,實在是突然覺得 KDE 桌面系統的設計風格挺好看,自定義程度也更高。現在也不要考慮 Ubuntu 顯示協議的問題了,畢竟軟體主要還是寫給自己用的。)
Rust 學起來#
上週 JetBrains 推出了自家的 Rust IDE,Rust 最近幾年也是越來越火了,我也打算抽點零碎時間學一學(當然我還是繼續使用 VS Code)。
主要的學習資料是簡體中文版的 Rust 程序設計語言。開始前先是了解了一下 Rust 的主要特點:高性能和高安全性。
一門編程語言的性能主要體現在對計算機硬體資源的利用上,傳統的內存管理有兩種方法:手動內存管理(如 C 和 C++)和自動內存管理(如 Python 和 Java),這兩種都是性能和安全性不可兼得的管理方法,但 Rust 給出的「所有權機制」管理方法卻使得性能和安全性可以兼得。「所有權機制」的核心是:一個值始終只被一個變量擁有。這種分配機制的好處是:
- 重新賦值的開銷非常小,沒有垃圾回收帶來的性能開銷;
- 值的所有者非常明確,內存有明確的回收時機。
這就是 Rust 能編寫出高性能和高安全性程式的主要原因。
其他事項#
- 女友嫌棄我的髮型很久了,主要是我髮際線有點高,頭髮還很容易塌。週末去燙了個頭,燙完她覺得更醜了⋯⋯
- 阿里的語雀開啟了教育優惠,使用教育郵箱可以免費升級會員,我也弄了一個。不過我現在也不用語雀了。
- 即刻上看到北京有霸王茶姬了!女友最喜歡的霸王茶姬!之前在貴陽,只要有霸王茶姬,女友從來不會買其他品牌的奶茶,現在北京也有啦(我記得上學期還沒有,不知道啥時候開業的),必須馬上安排(點單的時候發現前面排了 280 多杯)!
- 微信讀書上的《埃隆・馬斯克傳》下架了,我才讀完第一章!看來得自己找電子書了。或者先放放,我也不是非讀這本書不可。準備第三遍讀《源泉》或者開始看看《那不勒斯四部曲》?