2022 9 11 06:19 PM  312 次查看
		分类:Docker 标签:Docker
		公司的服务是 Docker 搭建的,给客户升级时存在一个问题:镜像太大了。
虽然我已经找了很多方法,甚至对于 Go 服务而言,已经全换成 scratch 镜像 + 单可执行文件的方式了,但是对于 Python 服务却没啥办法。大部分的 Python 库是有 C 库依赖的,因此不能用 scratch 镜像,甚至因为 alphine 镜像不是用 libc,也会出现很多兼容性问题。而在 Ubuntu 的基础上安装完依赖后,就轻松超过 300 MB 了。
因为不能在客户那搭建一个 docker repository 把镜像推过去,那只能想些奇技淫巧来实现了。
	
	
		
		2022 9 11 01:36 PM  605 次查看
		分类:无 标签:无
		自从本站被墙之后,我也好久没更新博客了。
今天稍微看了一下,似乎是域名被封了,现象有:
- nslookup 随机解析到其他无法访问的 IP。
 - 改本地 
/etc/hosts 后,curl 报 35 错误(SSL connect error. The SSL handshaking failed.),openssl 可以正常连接 443 端口,但带了 -servername 参数后失败。
 - 改本地 
/etc/hosts 后,用 HTTP 可以访问。
 - 换域名可以访问。
 - 换端口的 HTTPS 不可以访问。
 
	
	
		
		2021 4 17 06:09 PM  489 次查看
		分类: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  591 次查看
		分类:Docker 标签:Docker
		在使用 GitLab CI 时,我经常被漫长的构建时间影响工作效率,尤其是在一台机器上已经 docker build 过的镜像,另一台机器上却需要重新构建,没法利用缓存。
查了一番文档后,我发现 docker build 还能使用外部缓存来加速构建。
	
	
		
		2020 5 9 06:20 PM  686 次查看
		分类:Python 标签:Docker, Python
		Python 源码保护的方案主要有代码混淆、修改解释器和编译成二进制这三种,其他方式基本没有保护效果。而这三种方案中,最安全的就是用 Cython 来编译 py 文件(但是需要注意兼容性)。
	
	
		
		2019 12 26 02:12 PM  595 次查看
		分类: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  887 次查看
		分类:无 标签:无
		在我看来,这个世界上最有用的知识其实都是很简单的,投资也是如此。不过简单的东西反而少有人懂,更甭提认可并去实践了,这大概就是余额宝的收益率就能长期持续稳定战胜 90% 以上的支付宝财友的原因吧。
	
	
		
		2019 6 5 05:02 PM  89 次查看
		分类:Python 标签:Python
		写了一年 Go 语言的代码后,我又重新拾起了 Python,只是这次从 2.7 换成了 3.7。
	
	
		
		2018 11 22 11:13 PM  1678 次查看
		分类:Go 标签:Go
		工作中用了半年多的 Go 语言,慢慢对这门语言熟悉起来了。虽然仍经常免不了要吐槽它的各种问题,但最令我意外的是一个发布 9 年多的语言,居然没有一款符合我心意的日志库。
我总结了一下我的需求:
- 输出无结构的日志,方便人工读取。
 - 可同时输出到屏幕和文件。
 - 可输出日志的等级。
 - 可输出日志所在的源文件和行号。
 - 可订制日志样式。
 - 支持日志轮转。
 - 跨平台。
 - 高性能。
 
第一点基本能刷掉 Github 上前 3 页的日志库了,似乎都是格式化成 JSON 的。第四点也能干翻不少库,很少有支持的。所以一气之下只好自己造轮子了。
	
	
		
		2018 7 13 03:49 PM  2509 次查看
		分类:数据库 标签:无
		一直以来在我的观念中,key/value 数据库就三种选项:
- 内存可存放:Redis
 - 单机磁盘可存放:RocksDB
 - 超过 TB 级:Cassandra、HBase……
 
然而在实际项目中使用 RocksDB 时,才发现了一堆问题,折腾许久才搞定。
	
	« 看看还有什么好玩意