1作者: skatiyar3 个月前原帖
我构建了一个Go实用库,灵感来源于JavaScript的async库,使用Go 1.18+的泛型进行符合习惯的实现。尽可能避免使用反射和interface{}。 该库提供了大约70个函数,分布在四个包中: - 同步与异步:包括对切片和映射的map、filter、detect、reduce、every、some、reject、groupBy等操作。每个异步函数都在goroutine中运行迭代器,并具备恐慌恢复机制。 - 并发限制:所有异步函数都有一个Limit变体,通过信号量限制goroutine的数量。 - 工作池:一个通用的工作队列,具有可配置的缓冲区、并发性、超时和优雅的关闭机制。 - 控制流:采用瀑布式的顺序执行,支持类型安全的上下文传递。 免责声明:部分代码是使用Claude Code生成的。我这个项目的目标之一是实验最新的模型,看看它们在真实代码库中的能力——从实现到测试再到文档的编写。 使用以下命令获取库:`go get github.com/skatiyar/goutils@v1.0.0` 欢迎对API设计提出反馈,以及函数命名是否符合Go的习惯。
2作者: ekadet3 个月前原帖
Oracle的免费套餐(4个ARM核心,24GB内存,永久有效)非常不错,但由于容量问题,几乎无法进行配置。我编写了一个Terraform重试脚本,可以自动尝试,直到可用容量出现。<p>该脚本还修复了在Cloud Shell中常见的“未找到适当的密钥ID配置”错误。<p>GitHub链接:<a href="https://github.com/ekadetov/oci-terraform-retry-script" rel="nofollow">https://github.com/ekadetov/oci-terraform-retry-script</a>