读史书:兔死狗烹
谈天说地 历史 2019-11-26范蠡遂去,自齐遗大夫种书曰:“蜚鸟尽,良弓藏;狡兔死,走狗烹。越王为人长颈鸟喙,可与共患难,不可与共乐。子何不去?”种见书,称病不朝。人或谗种且作乱,越王乃赐种剑曰:“子教寡人伐吴七术,寡人用其三而败吴,其四在子,子为我从先王试之。”种遂自杀。
《史记 越王勾践世家》
上令武士缚信,载后车。信曰:“果若人言,‘狡兔死,良狗亨;高鸟尽,良弓藏;敌国破,谋臣亡。’天下已定,我固当亨!”上曰:“人告公反。”遂械系信。至雒阳,赦信罪,以为淮阴侯。
《史记 淮阴侯列传》
转载:2020年普及的乙醇汽油,价格会不会更便宜?
谈天说地 汽车 乙醇汽油 2019-11-25看到关于乙醇汽油使用推广的消息,就查了以下相关资料,这是看到的一篇老资讯了。
MySQL 字段类型 varchar
和 text
的差异
数据库 MySQL
2019-11-25一次数据库表结构调整,引起了我对 MySQL 字段类型 TEXT
和 VARCHAR
的思考。
容错、高可用、灾备
开发者 架构 2019-11-19阮一峰的博文(容错,高可用和灾备)中说:
- 容错:发生故障时,如何让系统继续运行。
飞机的四个引擎坏了一个还能继续飞行,汽车的四个轮子坏了一个也能将就驾驶。 - 高可用:系统中断时,如何尽快恢复。
汽车的备胎,用于快速恢复正常驾驶(允许短暂的业务中断)。 - 灾备:系统毁灭时,如何抢救数据。
飞机的弹射装置,保证最核心的“资产” —— 驾驶员能够存活。
尝试 K8S(Kubernetes)
云计算 容器 Kubernetes 2019-10-15Tornado Remote IP
Web 开发 Python Tornado 2019-09-20由于 Tornado 部署在 Nginx 后面,通过 self.request.remote_ip
总是只能拿到 Nginx 地址。
Django 3.0 发布,开始支持异步功能
Python Django 2019-09-16Django 项目组试图在保持向后兼容的基础之上,对阻塞部分进行改造,使之支持异步(通过装饰器的方式)。
包括 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 下的安装和试用
Linux PowerShell 2019-08-22PowerShell 的最近的一次更新修复了其作为 SSH 的登录 Shell 的一些问题。
Win 10 对 NFS,SSH 的支持推进也是有目共睹。
随着 MS 对 Windows 的策略调整,估计以后 Windows 服务器也会变多。
- https://docs.microsoft.com/zh-cn/powershell/scripting/install/installing-powershell-core-on-linux
- https://docs.microsoft.com/zh-cn/powershell/scripting/overview
# 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 的国会听证会
IT资讯 2019-07-16今天的听证会上,小扎声明:
- 在获批之前,不会继续推动项目;
- 上线之后一定会配合监管,确保不被用于洗钱和恐怖主义融资。
有意思的是,他特意提到中国,表示如果一再受阻,中国央行会抢在他们前面有所动作(可能是说推出数字货币)。
值得注意的是,Libra 项目的几个重要合作者,包括 eBay、PayPal、Stripe、Visa、MasterCard,已经退出了。
Gitlab 从 12.1 版本开始将不再支持 MySQL
开发工具 GitLab MySQL PostgreSQL 2019-07-03看到新闻,Gitlab 从 12.1 版本开始将不再支持 MySQL,理由是:
- 无法支持嵌套分组查询(详情)
- 必须使用黑科技来提升 MySQL 对列的限制,这将导致 MySQL 拒绝存储数据
- MySQL 无法添加
TEXT
类型字段的长度限制 - MySQL 不支持分区索引
- 还有类似 Geo
Gitlab 支持的另一个数据库是 PostgreSQL,意思是 PostgreSQL 不存在上面的问题。
这也可以看作是二者的部分区别吧!
值得研究研究。
美国国会叫停 Facebook 数字货币项目
IT资讯 2019-07-03目前 Facebook 已经联合了万事达、Visa、PayPal、Uber、Lyft、Spotify 等在内的共 28 家公司,组建总部位于瑞士 Libra 合作组织(数字货币 Libra / 数字钱包 Calibra)。
- 通过去中心化的、可编程的数据库来支持小波动的加密货币(稳定币)
- Libra 核心代码托管在 GitHub,采用 Apache-2.0 开源许可证
美国众议院财政服务委员担忧此项目会导致新全球金融体系的建立,对美国货币政策产生干扰,甚至影响美元地位,故而向扎克伯格等 Facebook 高管致函,要求其立即停止该项目所有工作。
关联事件:2019/07/16 参议院就 Libra 项目举行听证会
ImageMagick 与中文渲染问题
Linux 开发工具 图片编辑 ImageMagick 乱码 convert montage 2019-06-22为什么 convert 和 montage 命令中使用的汉字都没能正确渲染在图片中去呢?
或许,可以将本文中的中文替换成 non-ascii 字符,或者 Unicode 字符。
或许,也可将 ImageMagick 替换成其他不支持中文的库。
参考了实在是太多文档,都没来得及记下来,只是从 Shell 的历史纪录中翻出来这些命令,做一个记录。
结论
字体问题,必须选择包含中文字形的字体,使用完整的字体名称,比如:Noto-Sans-Mono-CJK-SC-Regular
。
关于终端(未完成)
开发工具 Linux 终端 2019-06-22整理一下关于终端的种种概念。
字体研究
字体 Python fonttools 2019-06-21利用 Python 的 fonttools 包解析字体。
聊一聊众 Webdrivers
浏览器自动化 爬虫 WebDriver Python Selenium Puppeteer Pyppeteer Headless 浏览器 2019-06-20WebDriver 是浏览器自动化工具。
主要的用途:
- 自动化测试
- 爬虫
- 网页截图
知名的:
- Selenium
- Puppeteer