YUHAO 的博客

流光飞舞

[推广] GitChat: 用好 PyInstaller,你应该知道这些事情

这是我第一次尝试在 GitChat 上发布自己的 Chat,希望帮助 Python 开发者用好 PyInstaller 打包工具。主要内容来自博客内容《PyInstaller 系列》,同时对近几年自己的使用经验和其他朋友遇到的问题进行了提炼和总结。目前还有 10 个免费名额,先到先得,有兴趣的朋友不妨扫描下面二维码关注,感谢您的支持。

链接

阿里云、GitLab 与客户或许都有责任 - 阿里云代码泄露事件评论

过去几天,关于阿里云代码仓库权限设置问题,导致多个大型企业信息与数据外泄的消息,引起了开发者社区的不少关注与讨论。事情的原委已有很多新闻网站发表,如 InfoQ 新闻: 一个“Internal”牵扯出的代码泄露,阿里云独家回应,这里不再赘述。我想讨论的是该事件的技术细节以及我个人的看法。

我们是否应当克制对新技术的追求?

毋庸讳言,程序开发是一个快速发展的行业,尤其是最近几年,从Web/移动到云、容器、DevOps、大数据、大前端、VR、区块链、人工智能,我们似乎有永远学不完的新技术;同样明显的是,程序员这个开发群体也极其热衷于追求各种更新、更酷、更强大、更优雅的技术。很难全面地评价这究竟是好事还是坏事,似乎我们已经把这当成一种不言自明的事实。

但最近,我听到了一些特别的声音,虽然它们来自不同技术背景的开发者,立场和观点也不尽相同;但这些内容似乎指向同一个结论,即:一些被认为是“老旧”的技术实际上是被低估了;而另外一些为众多开发者所追捧的新技术,它们未必真正达到如预期的那种生产力提升,并且,使用“老旧”的技术实际上可以达到同样的效果。无论如何,这些确实来自真正的一线开发者的实际经验总结。我希望你能够听一听他们的声音。

2

Themes 子站点上线了

Themes 子站点上线了

Visual Studio Code (以下简称 VSCode) 现在也是我日常使用的编辑器之一(其他还包括 PyCharm 和 Sublime Text)。和 PyCharm 相比,VSCode 更轻便一些,比 Sublime 则有更多的代码级别辅助功能,这两年发展势头很猛,算是一个比较中庸的选择吧。当然,重度的项目开发我依然会用 PyCharm。

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 的价格就算买到了次品也不至于太过肉痛。

Windows Forms Invoke() 泄露句柄原因之调查

C#

有朋友问我关于 微软开源 WinForms, WPF 和 WinUI 的看法。说实话,我没什么看法。开源这个事,从来都是有兴趣的人才会 Awesome,对吃瓜群众只能是 So what。不过这则消息让我想起大概半年前维护产品客户端时遇到的一个问题,当时没有机会深入分析,现在既然 WinForm 已经开源,倒是值得深入分析一下了。

Flask 基于子域名的蓝图管理

Web

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

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

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

2

RSS 子域名上线了

RSS

2019 年 1 月的说明

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


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