使用 Docker Secrets 管理敏感数据
Docker Swarm secrets 只服务于 Swarm 的 service,不服务于 docker compose up 拉起来的普通容器。没有 Swarm 时,密钥放 ~/.simi/{name}/.env,用 --env-file 注入,不选为了 docker secret create 去 swarm init。下面的命令只在 Swarm 已经在跑时才有意义。
Docker Swarm secrets 只服务于 Swarm 的 service,不服务于 docker compose up 拉起来的普通容器。没有 Swarm 时,密钥放 ~/.simi/{name}/.env,用 --env-file 注入,不选为了 docker secret create 去 swarm init。下面的命令只在 Swarm 已经在跑时才有意义。
需要一个第二天还在的主机名时,选本地管理的 Cloudflare Tunnel:cloudflared 在本机拿凭证、读 config.yml、只出站连 Cloudflare。不选仪表盘里的远程隧道(配置不在 git 里)。不选 cloudflared tunnel --url 那种 trycloudflare.com 临时名——进程一停,名字就没了。
Meta 在 2023 年 8 月推出 Code Llama,免费用于研究和商业用途。2024 年 1 月底的 Code Llama 70B 能生成和调试更大的编程字符串。回头看,真正有价值的不是一组静态 benchmark 分数,而是它把大参数量开源代码模型带进了更多人可实际试用的本地工作流。
用 OpenAPI 做规范优先真正有价值,不是因为它“更规范”,而是因为它能把 API 的关键决策提前暴露出来。
很多 API 真正昂贵的问题,不是实现难,而是接口一旦被别人依赖,后面就很难改。如果 spec 是在代码写完之后补的,那很多高成本错误其实已经定型了。默认使用 OpenAPI 3.1。到 2026 年,这已经是新 API 设计里比较正常的基线了。
在 Go 中,通常使用结构体来封装和组织数据。但是有时候当需要提供可选的、可定制的行为时,这种方式可能会变得复杂和难以维护。这就是 Functional Options Pattern 要解决的问题。这是一种设计模式,用来创建具有可选参数和可定制行为的对象。
Git submodule 把另一个仓库嵌进当前仓库,用来跟踪外部依赖或共享组件。适合要钉死版本的第三方代码,不适合当日常包管理。更新和克隆都比普通目录麻烦,这是选它时就要付的代价。