2018 年底折扣活动:Packtpub 和 Vultr
眼看就是 8012 年底了,各大厂家不出意外的也在搞各种优惠促销活动。我最近个人比较关注的出版社 Packtpub 前一阵子搞了个 $10 Ebooks and Videos,应该是很受欢迎,所以该社趁着年底又来了一波猛的,这回是 $5 一本,就算折成人民币也平过国内大多数 IT 书籍的价格了,而且数量相当多(参加活动的书籍大概有近 5000 本),有兴趣的朋友不妨去淘一淘(打开 Packt 首页 即可看到)。仍然要多嘴唠叨一句,Packet 社出版的书籍虽然多且新,但质量参差不齐,部分书籍水平不高,购买时请注意鉴别,如果书籍页面下方有差评的就要留心了。当然了,$5 的价格就算买到了次品也不至于太过肉痛。
Windows Forms Invoke() 泄露句柄原因之调查
Flask 基于子域名的蓝图管理
在 Flask 中,蓝图(Blueprint)通常是基于路径进行分派的,因此我们看到典型的注册代码一般类似这样:
app.register_blueprint(home_bp, url_prefix='...')
相对少见的另一种用法是,Blueprint 也可以通过子域名来分派,这涉及到程序结构上会有一些改变,同时也会带来一些新的问题(当然都是可以解决的)。使用子域名是大型网站的常规做法,同时也使得 URL 路径更有针对性,比如提供一个 https://api.mydomain.com/... 比起所有页面都堆到 https://mydomain.com/ 下面,看上去也显得更专业一些。我自己也在尝试通过这种方式重构自己的网站,最开始尝试的是每个域名使用一个单独的 app 去管理,但很快发现如果一些比较小的功能也做成独立的网站,会带来比较多额外的管理负担。因此,把这些功能合并到一个app,对外又能通过子域名公开,是不错的做法。因此,我对这种实现做了一些尝试,并对遇到的问题和解决办法做一个记录,以供自己和其他朋友参考。
RSS 子域名上线了
在站点上启用 Let's Encrypt 通配符证书
今年早些时候,我曾在本站上尝试使用 Let's Encrypt 推出的新通配符证书,但出现了一些问题。由于网站原有的证书还在正常使用,所以这个事情的优先级并不高,加上当时还有不少别的事情,就没有再继续下去。昨天,我再次进行了测试,这次终于成功生成证书,但过程中仍然走了一些弯路。本文对此作一个记录总结,以便自己今后、以及其他朋友参考。
Qt 在 Windows 下默认字体比较丑,但是我们有办法修改它
Solid Project:重新定义 Web?
QT 5.11.1 nativeEvent 实现有 bug, 好在 5.11.2 已经修正了
昨天碰上一个挺郁闷的问题。我们需要在 Qt 程序里处理某些原生 Windows 消息,本来这应该是个挺简单的事情。Qt 早期版本有一个专门的 winEvent
事件,但是用新版时发现这个函数已经换成了 nativeEvent
,如果不需要关注跨平台的话,这个方法也没多大差别。重写该函数后,运行时方法倒是触发了,但从参数获得的却是一些匪夷所思的消息标志,简直百思不得其解。仔细看代码也发现不了什么问题,尝试了多种不同写法,无果。通过网络搜索,发现还有另一种方法是通过消息过滤器,即从 QAbstractNativeEventFilter
继承子类。按照这个路子走倒是正常了。因为时间紧,也没来得及深入思考,把程序直接提交了事。