2019 首个网站版本上线

2019 年 1 月 22 日,站点在本年度的第一个大的更新版本上线,我也终于可以松口气了。

过去的一年无论对中国还是我来说都称得上是不平凡的一年。大的气候且不去说它,我自己在上一年也因为各种原因两度辞职,心情一直不算太好,对网站的维护也未免有点松懈,甚感惭愧。好在最近有些空余时间,终于可以把去年落下的债补上一些,也算是对自己有个交待。

Linux Mint 19.1 (Tessa) 发布了

Linux Mint 19.1 (Tessa) 发布了

Linux Mint 19.1 (Tessa) 正式发布了。

我在虚拟机里尝试安装了该版本。马上能发现的是任务栏现在默认使用大图标,外观也有所调整,色调更深了。同时,安装后显示的 Welcome Screen 也介绍了该特性,我就直接引用官方的介绍图了:

2018 年底折扣活动:Packtpub 和 Vultr

眼看就是 8012 年底了,各大厂家不出意外的也在搞各种优惠促销活动。我最近个人比较关注的出版社 Packtpub 前一阵子搞了个 $10 Ebooks and Videos,应该是很受欢迎,所以该社趁着年底又来了一波猛的,这回是 $5 一本,就算折成人民币也平过国内大多数 IT 书籍的价格了,而且数量相当多(参加活动的书籍大概有近 5000 本),有兴趣的朋友不妨去淘一淘(打开 Packt 首页 即可看到)。仍然要多嘴唠叨一句,Packet 社出版的书籍虽然多且新,但质量参差不齐,部分书籍水平不高,购买时请注意鉴别,如果书籍页面下方有差评的就要留心了。当然了,$5 的价格就算买到了次品也不至于太过肉痛。

Flask 基于子域名的蓝图管理

在 Flask 中,蓝图(Blueprint)通常是基于路径进行分派的,因此我们看到典型的注册代码一般类似这样:

app.register_blueprint(home_bp, url_prefix='...')

相对少见的另一种用法是,Blueprint 也可以通过子域名来分派,这涉及到程序结构上会有一些改变,同时也会带来一些新的问题(当然都是可以解决的)。使用子域名是大型网站的常规做法,同时也使得 URL 路径更有针对性,比如提供一个 https://api.mydomain.com/... 比起所有页面都堆到 https://mydomain.com/ 下面,看上去也显得更专业一些。我自己也在尝试通过这种方式重构自己的网站,最开始尝试的是每个域名使用一个单独的 app 去管理,但很快发现如果一些比较小的功能也做成独立的网站,会带来比较多额外的管理负担。因此,把这些功能合并到一个app,对外又能通过子域名公开,是不错的做法。因此,我对这种实现做了一些尝试,并对遇到的问题和解决办法做一个记录,以供自己和其他朋友参考。

RSS 子域名上线了

2019 年 1 月的说明

抱歉,由于网站重新规划的关系,rss 子域名暂时不可用,后续再上线的话我会另行通知。如果影响到部分同学的话,深表道歉。


虽然 RSS 技术近些年已经有式微的倾向,但我个人仍然是其重度用户。这主要是因为,大量网络阅读是我的“刚需”,在这一方面,目前没有什么技术比 RSS 更加有效。所以在看到像 RSSHub 这样的项目出现时,我的内心是欣喜的,这说明该技术仍然有像我一样的用户支持和生存空间。

在站点上启用 Let's Encrypt 通配符证书

今年早些时候,我曾在本站上尝试使用 Let's Encrypt 推出的新通配符证书,但出现了一些问题。由于网站原有的证书还在正常使用,所以这个事情的优先级并不高,加上当时还有不少别的事情,就没有再继续下去。昨天,我再次进行了测试,这次终于成功生成证书,但过程中仍然走了一些弯路。本文对此作一个记录总结,以便自己今后、以及其他朋友参考。

Qt 在 Windows 下默认字体比较丑,但是我们有办法修改它

Qt 在 Windows 下默认字体比较丑,但是我们有办法修改它

一直觉得 Qt 在 Windows 系统上的默认字体不太好看,不过自己写程序时自己去指定字体也很方便,就没怎么在意。这几个月专门用 Qt 写了一些程序,发现这还真的是个问题,因为包括官方的 Qt Creator 在内,都没有开放给用户自定义默认字体的设置,天天看着实在不怎么舒服。本来 Windows 系统是允许用户自定义桌面字体的,Win10 不知是出于去桌面化还是什么考虑,把这个功能又拿掉了。

Solid Project:重新定义 Web?

介绍

Solid Logo

Tim Berners-Lee, Web 的奠基人,由于不满互联网日益被少数大公司所垄断的现实,目前致力于开发一个名为 Solid 的新项目,希望能把管理数据和应用的权力重新归还到用户手中。这个消息估计不少人已经听说过了。基于 Web 的开放思想,Solid 项目也一直是在公开与开源的指导原则下进行的,但直到最近,该项目才逐渐从构想转到实现,我们也终于有具体的细节信息可以一探该项目的究竟。

QT 5.11.1 nativeEvent 实现有 bug, 好在 5.11.2 已经修正了

昨天碰上一个挺郁闷的问题。我们需要在 Qt 程序里处理某些原生 Windows 消息,本来这应该是个挺简单的事情。Qt 早期版本有一个专门的 winEvent 事件,但是用新版时发现这个函数已经换成了 nativeEvent,如果不需要关注跨平台的话,这个方法也没多大差别。重写该函数后,运行时方法倒是触发了,但从参数获得的却是一些匪夷所思的消息标志,简直百思不得其解。仔细看代码也发现不了什么问题,尝试了多种不同写法,无果。通过网络搜索,发现还有另一种方法是通过消息过滤器,即从 QAbstractNativeEventFilter 继承子类。按照这个路子走倒是正常了。因为时间紧,也没来得及深入思考,把程序直接提交了事。