Zeabur CLI 从设计到实现
What is Zeabur? Why We use Zeabur?
也许你像我一样,热爱编程。用技术改变世界是多么酷的事情!
但是,我们又不得不花大把时间在服务部署上,无论是配置基础设施,还是频繁发布等等。
也许你像我一样,热爱编程。用技术改变世界是多么酷的事情!
但是,我们又不得不花大把时间在服务部署上,无论是配置基础设施,还是频繁发布等等。
很久没有认真地去做一次自我觉察了。
本篇文章更多的是我与自己的对话,如果读者也能从中获得一些启发,无论是增添了几分决心、还是悟到了一些觉察、改变的方式,我倍感荣幸。
琢磨设计模式与抽象,可以说是我的最爱之一了。刚学 Go 的时候,我就陶醉于其的 interface 设计。
这次,我们来聊聊 Go 语言的依赖注入(DI)库 samber/do。
本文不是一行行分析源码,而是尝试一步步复现作者的设计思路。
简单讲讲 GitHub Actions 的 Cache 功能,使用方式,以及探讨浅层的设计思想。
虽然本文是我博客中为数不多的「教程」类文章,但我还是会侧重逻辑与思考的角度来讲述。详细教程请查看,GitHub Actions Cache 官方文档。
今天来分享一个写业务过程中,一种特殊场景下的 Lock-Free Map 的实现。
来,我们先抛开看了三遍可能都还看不懂的题目,讲讲故事的背景。
假设我们需要一个用户黑名单,map[string]struct{}。其中,key 是用户的 id,value 是一个空结构体,一个典型的 Set 实现,并且利用了 struct{} 占用空间为 0 的特性。
因为没确定的细节太多了,以及主要的精力放在了和 Mentor 沟通上。所以申请书写得很粗糙和仓促,后续有机会尽量再写个新版。
以下申请书正文:
CubeFS是新一代云原生存储产品,目前是云原生计算基金会open in new window(CNCF)托管的孵化阶段开源项目, 兼容S3、POSIX、HDFS等多种访问协议,支持多副本与纠删码两种存储引擎,为用户提供多租户、 多AZ部署以及跨区域复制等多种特性,广泛应用于大数据、AI、容器平台、数据库、中间件存算分离、数据共享以及数据保护等场景。