banner
liuyuxin

liuyuxin

想成为独立开发者的在读医学生!
jike
twitter
github
telegram
email

每週#5:學習 Rust

嗨~這裡是 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,還是要比直接用其他現成的順手。

沒錯,還是 Material You 設計

(實際上我在 Ubuntu 上堅持了不到 10 天就換到 Kubuntu 了,實在是突然覺得 KDE 桌面系統的設計風格挺好看,自定義程度也更高。現在也不要考慮 Ubuntu 顯示協議的問題了,畢竟軟體主要還是寫給自己用的。)

Rust 學起來#


上週 JetBrains 推出了自家的 Rust IDE,Rust 最近幾年也是越來越火了,我也打算抽點零碎時間學一學(當然我還是繼續使用 VS Code)。

主要的學習資料是簡體中文版的 Rust 程序設計語言。開始前先是了解了一下 Rust 的主要特點:高性能和高安全性。

一門編程語言的性能主要體現在對計算機硬體資源的利用上,傳統的內存管理有兩種方法:手動內存管理(如 C 和 C++)和自動內存管理(如 Python 和 Java),這兩種都是性能和安全性不可兼得的管理方法,但 Rust 給出的「所有權機制」管理方法卻使得性能和安全性可以兼得。「所有權機制」的核心是:一個值始終只被一個變量擁有。這種分配機制的好處是:

  • 重新賦值的開銷非常小,沒有垃圾回收帶來的性能開銷;
  • 值的所有者非常明確,內存有明確的回收時機。

這就是 Rust 能編寫出高性能和高安全性程式的主要原因。

其他事項#

  • 女友嫌棄我的髮型很久了,主要是我髮際線有點高,頭髮還很容易塌。週末去燙了個頭,燙完她覺得更醜了⋯⋯
  • 阿里的語雀開啟了教育優惠,使用教育郵箱可以免費升級會員,我也弄了一個。不過我現在也不用語雀了。
  • 即刻上看到北京有霸王茶姬了!女友最喜歡的霸王茶姬!之前在貴陽,只要有霸王茶姬,女友從來不會買其他品牌的奶茶,現在北京也有啦(我記得上學期還沒有,不知道啥時候開業的),必須馬上安排(點單的時候發現前面排了 280 多杯)!
  • 微信讀書上的《埃隆・馬斯克傳》下架了,我才讀完第一章!看來得自己找電子書了。或者先放放,我也不是非讀這本書不可。準備第三遍讀《源泉》或者開始看看《那不勒斯四部曲》?
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。