读史书:兔死狗烹

2019-11-26

范蠡遂去,自齐遗大夫种书曰:“蜚鸟尽,良弓藏;狡兔死,走狗烹。越王为人长颈鸟喙,可与共患难,不可与共乐。子何不去?”种见书,称病不朝。人或谗种且作乱,越王乃赐种剑曰:“子教寡人伐吴七术,寡人用其三而败吴,其四在子,子为我从先王试之。”种遂自杀。
《史记 越王勾践世家》

上令武士缚信,载后车。信曰:“果若人言,‘狡兔死,良狗亨;高鸟尽,良弓藏;敌国破,谋臣亡。’天下已定,我固当亨!”上曰:“人告公反。”遂械系信。至雒阳,赦信罪,以为淮阴侯。
《史记 淮阴侯列传》

中国哲学书电子化计划

转载:2020年普及的乙醇汽油,价格会不会更便宜?

2019-11-25

看到关于乙醇汽油使用推广的消息,就查了以下相关资料,这是看到的一篇老资讯了。


MySQL 字段类型 varchartext 的差异

2019-11-25

一次数据库表结构调整,引起了我对 MySQL 字段类型 TEXTVARCHAR 的思考。


容错、高可用、灾备

2019-11-19

阮一峰的博文(容错,高可用和灾备)中说:

  • 容错:发生故障时,如何让系统继续运行。
    飞机的四个引擎坏了一个还能继续飞行,汽车的四个轮子坏了一个也能将就驾驶。
  • 高可用:系统中断时,如何尽快恢复。
    汽车的备胎,用于快速恢复正常驾驶(允许短暂的业务中断)。
  • 灾备:系统毁灭时,如何抢救数据。
    飞机的弹射装置,保证最核心的“资产” —— 驾驶员能够存活。

尝试 K8S(Kubernetes)

2019-10-15

Tornado Remote IP

2019-09-20

由于 Tornado 部署在 Nginx 后面,通过 self.request.remote_ip 总是只能拿到 Nginx 地址。


Django 3.0 发布,开始支持异步功能

2019-09-16

Django 项目组试图在保持向后兼容的基础之上,对阻塞部分进行改造,使之支持异步(通过装饰器的方式)。
包括 Session、Auth、ORM 与 Handlers 等。

ASGI 模式将 Django 作为原生异步应用程序运行,原有的 WSGI 模式将围绕每个 Django 调用运行单个事件循环,以使异步处理层与同步服务器兼容。

在这个改造的过程中,每个特性都会经历以下三个实现阶段:

  • Sync-only,只支持同步,也就是当前的情况
  • Sync-native,原生同步,同时带有异步封装器
  • Async-native,原生异步,同时带同步封装器

Django 3.0 开始提供运行 ASGI 应用支持,让 Django 逐渐具备异步功能。做了这一改动后,Django 现在会感知到异步事件循环,并将阻止从异步上下文调用标记为“异步不安全”的代码(例如 ORM 操作),如果开发者之前使用的是异步代码,则可能会触发。如果看到 SynchronousOnlyOperation 错误,可以仔细检查代码并将数据库操作移到同步子线程中。

其它方面,Django 现在支持 MariaDB 10.1 及更高版本;新的 ExclusionConstraint 类可以在 PostgreSQL 上添加排除约束;输出 BooleanField 的表达式现在可以直接在 QuerySet 过滤器中使用,而无需先注解然后对注解进行过滤;自定义枚举类型 TextChoices、IntegerChoices 和 Choices 现在可用作定义 Field.choices 的方法。

需要特别注意的是:自从 2.2 之后,Django 将不再支持 Python 3.5。

更新说明:https://docs.djangoproject.com/en/dev/releases/3.0


PowerShell 在 Ubuntu 下的安装和试用

2019-08-22

PowerShell 的最近的一次更新修复了其作为 SSH 的登录 Shell 的一些问题。
Win 10 对 NFS,SSH 的支持推进也是有目共睹。
随着 MS 对 Windows 的策略调整,估计以后 Windows 服务器也会变多。

# Download the Microsoft repository GPG keys
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb

# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb

# Update the list of products
sudo apt-get update

# Enable the "universe" repositories
sudo add-apt-repository universe

# Install PowerShell
sudo apt-get install -y powershell

# Start PowerShell
pwsh

Facebook 数字货币项目 Libra 的国会听证会

2019-07-16

背景:美国国会叫停 Facebook 数字货币项目

今天的听证会上,小扎声明:

  1. 在获批之前,不会继续推动项目;
  2. 上线之后一定会配合监管,确保不被用于洗钱和恐怖主义融资。

有意思的是,他特意提到中国,表示如果一再受阻,中国央行会抢在他们前面有所动作(可能是说推出数字货币)。

值得注意的是,Libra 项目的几个重要合作者,包括 eBay、PayPal、Stripe、Visa、MasterCard,已经退出了。


Gitlab 从 12.1 版本开始将不再支持 MySQL

2019-07-03

看到新闻,Gitlab 从 12.1 版本开始将不再支持 MySQL,理由是:

Gitlab 支持的另一个数据库是 PostgreSQL,意思是 PostgreSQL 不存在上面的问题。
这也可以看作是二者的部分区别吧!

值得研究研究。


美国国会叫停 Facebook 数字货币项目

2019-07-03

目前 Facebook 已经联合了万事达、Visa、PayPal、Uber、Lyft、Spotify 等在内的共 28 家公司,组建总部位于瑞士 Libra 合作组织(数字货币 Libra / 数字钱包 Calibra)。

  1. 通过去中心化的、可编程的数据库来支持小波动的加密货币(稳定币)
  2. Libra 核心代码托管在 GitHub,采用 Apache-2.0 开源许可证

美国众议院财政服务委员担忧此项目会导致新全球金融体系的建立,对美国货币政策产生干扰,甚至影响美元地位,故而向扎克伯格等 Facebook 高管致函,要求其立即停止该项目所有工作。

关联事件:2019/07/16 参议院就 Libra 项目举行听证会


ImageMagick 与中文渲染问题

2019-06-22

为什么 convert 和 montage 命令中使用的汉字都没能正确渲染在图片中去呢?
或许,可以将本文中的中文替换成 non-ascii 字符,或者 Unicode 字符。
或许,也可将 ImageMagick 替换成其他不支持中文的库。

参考了实在是太多文档,都没来得及记下来,只是从 Shell 的历史纪录中翻出来这些命令,做一个记录。

结论

字体问题,必须选择包含中文字形的字体,使用完整的字体名称,比如:Noto-Sans-Mono-CJK-SC-Regular


关于终端(未完成)

2019-06-22

整理一下关于终端的种种概念。


字体研究

2019-06-21

利用 Python 的 fonttools 包解析字体。


聊一聊众 Webdrivers

2019-06-20

WebDriver 是浏览器自动化工具。

主要的用途:

  1. 自动化测试
  2. 爬虫
  3. 网页截图

知名的:

  • Selenium
  • Puppeteer