2021 4 17 06:09 PM 34 次查看
分类:Python 标签:Python
今天在看 functools.cache
的源码时发现参数列表有个诡异的 /
:
def cache(user_function, /):
'Simple lightweight unbounded cache. Sometimes called "memoize".'
return lru_cache(maxsize=None)(user_function)
翻了下文档才发现这个叫 Positional-Only Parameters。
2020 12 1 01:44 PM 184 次查看
分类:Docker 标签:Docker
在使用 GitLab CI 时,我经常被漫长的构建时间影响工作效率,尤其是在一台机器上已经 docker build
过的镜像,另一台机器上却需要重新构建,没法利用缓存。
查了一番文档后,我发现 docker build
还能使用外部缓存来加速构建。
2020 5 9 06:20 PM 314 次查看
分类:Python 标签:Docker, Python
Python 源码保护的方案主要有代码混淆、修改解释器和编译成二进制这三种,其他方式基本没有保护效果。而这三种方案中,最安全的就是用 Cython 来编译 py 文件(但是需要注意兼容性)。
2019 12 26 02:12 PM 279 次查看
分类:Docker 标签:Docker
昨天在给一个新项目写 .gitlab-ci.yml
配置时,发现一个域名无法解析的问题,部分配置如下:
variables:
MYSQL_DATABASE: test
MYSQL_ROOT_PASSWORD: test
test:
stage: test
services:
- mysql:5.7
- redis:4
script:
- apk update && apk add mysql-client
- mysql -h mysql -u root -ptest < init.sql
- docker build -t test .
- docker run -t test pytest tests
2019 9 23 12:52 AM 541 次查看
分类:无 标签:无
在我看来,这个世界上最有用的知识其实都是很简单的,投资也是如此。不过简单的东西反而少有人懂,更甭提认可并去实践了,这大概就是余额宝的收益率就能长期持续稳定战胜 90% 以上的支付宝财友的原因吧。
2018 11 22 11:13 PM 1361 次查看
分类:Go 标签:Go
工作中用了半年多的 Go 语言,慢慢对这门语言熟悉起来了。虽然仍经常免不了要吐槽它的各种问题,但最令我意外的是一个发布 9 年多的语言,居然没有一款符合我心意的日志库。
我总结了一下我的需求:
- 输出无结构的日志,方便人工读取。
- 可同时输出到屏幕和文件。
- 可输出日志的等级。
- 可输出日志所在的源文件和行号。
- 可订制日志样式。
- 支持日志轮转。
- 跨平台。
- 高性能。
第一点基本能刷掉 Github 上前 3 页的日志库了,似乎都是格式化成 JSON 的。第四点也能干翻不少库,很少有支持的。所以一气之下只好自己造轮子了。
2018 7 13 03:49 PM 2166 次查看
分类:数据库 标签:无
一直以来在我的观念中,key/value 数据库就三种选项:
- 内存可存放:Redis
- 单机磁盘可存放:RocksDB
- 超过 TB 级:Cassandra、HBase……
然而在实际项目中使用 RocksDB 时,才发现了一堆问题,折腾许久才搞定。
2018 3 7 06:07 PM 1443 次查看
分类:网站建设 标签:Python, nginx
2017 9 9 06:35 PM 3367 次查看
分类:Python 标签:Python
在并发编程的时候,多线程和多进程是经常会被使用的两种模式(此外还有协程等)。由于 CPython 的 GIL 限制(Jython 和 IronPython 没有 GIL,PyPy 在尝试去掉 GIL),只有获取了 GIL 的线程才能使用 CPU,所以除了需要处理一些可能会阻塞的 IO(读写文件、访问网络等)之外,基本没人会去使用 CPython 的多线程。因此,本文就来说说更有用的 Python 多进程编程。
2017 6 28 03:36 PM 7776 次查看
分类:Python 标签:Python
前年我曾写过一篇《初探 Python 3 的异步 IO 编程》,当时只是初步接触了一下 yield from
语法和 asyncio
标准库。前些日子我在 V2EX 看到一篇《为什么只有基于生成器的协程可以真正的暂停执行并强制性返回给事件循环?》,激起了我再探 Python 3 异步编程的兴趣。然而看了很多文章和,才发现极少提到 async
和 await
实际意义的,绝大部分仅止步于对 asyncio
库的使用,真正有所帮助的只有《How the heck does async/await work in Python 3.5?》和《A tale of event loops》这两篇。