2021-02-0x02
Blogs¶
LCTT 从Travis CI迁移到 GitHub Action 实践¶
https://www.ixiqin.com/2021/01/lctt-from-travis-ci-migration-to-making-the-action-into-practice/
Python 命令行大乱斗¶
Notion 工程师带你从底层理解数据库¶
短网址(short URL)系统的原理及其实现¶
301 是永久重定向,302 是临时重定向。短地址一经生成就不会变化,所以用 301 是符合 http 语义的。同时对服务器压力也会有一定减少。
但是如果使用了 301,我们就无法统计到短地址被点击的次数了。而这个点击次数是一个非常有意思的大数据分析数据源。能够分析出的东西非常非常多。所以选择302虽然会增加服务器压力,但是我想是一个更好的选择。
Share¶
一个 Python 的 CLI 库:typer¶
typer 参考了 click 许多优点,而且代码风格优秀,支持 type hint
In Typer To try and make it a bit easier, we'll normally use the words "parameter" or "argument" to refer to Python functions.
We'll use CLI argument to refer to those CLI parameters that depend on the specific order. That are required by default.
And we'll use CLI option to refer to those CLI parameters that depend on a name that starts with -- (like --lastname). That are optional by default.
We will use CLI parameter to refer to both, CLI arguments and CLI options.
typer 的文档里面关于 package 发布的部分写的很好,非常值得参考
从 github API 获取某个语言的 gitignore¶
curl -H "Accept: application/vnd.github.v3+json" /
https://api.github.com/gitignore/templates/Rust
JavaScript Standard Style¶
https://standardjs.com/readme-zhcn.html
解释了分号的必要性: http://inimino.org/~inimino/blog/javascript_semicolons
Requirements for Chinese Text Layout | 中文排版需求¶
Python 语言最佳实践指南¶
当···时发生了什么?¶
DNS 查询
浏览器检查域名是否在缓存当中(要查看 Chrome 当中的缓存, 打开 chrome://net-internals/#dns)。
如果缓存中没有,就去调用 gethostbyname 库函数(操作系统不同函数也不同)进行查询。
gethostbyname 函数在试图进行DNS解析之前首先检查域名是否在本地 Hosts 里,Hosts 的位置 不同的操作系统有所不同
如果 gethostbyname 没有这个域名的缓存记录,也没有在 hosts 里找到,它将会向 DNS 服务器发送一条 DNS 查询请求。DNS 服务器是由网络通信栈提供的,通常是本地路由器或者 ISP 的缓存 DNS 服务器。
查询本地 DNS 服务器
如果 DNS 服务器和我们的主机在同一个子网内,系统会按照下面的 ARP 过程对 DNS 服务器进行
ARP 查询
如果 DNS 服务器和我们的主机在不同的子网,系统会按照下面的 ARP 过程对默认网关进行查询
删除字节码 .pyc 件¶
以下是删除所有已存在的字节码文件的好方法:
find . -type f -name "*.py[co]" -delete -or -type d -name "__pycache__" -delete
创建日期: 2021-02-07