Hi ~ 这里是 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 多杯)!
- 微信读书上的《埃隆・马斯克传》下架了,我才读完第一章!看来得自己找电子书了。或者先放放,我也不是非读这本书不可。准备第三遍读《源泉》或者开始看看《那不勒斯四部曲》?