首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
解析 Golang 经典开源库设计
ag9920
创建于2022-08-25
订阅专栏
对 Gopher 而言,最好的学习办法就是直接上代码,看原理,分析设计思路。这个专栏不定期更新,希望能够帮助大家理解一些经典开源库的作用,思路,原理。以此为鉴,将一些经典的用法应用到业务开发中。
等 42 人订阅
共12篇文章
创建于2022-08-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
解析 Golang 依赖注入经典解决方案 uber/fx 实战篇
今天接着上一篇继续介绍 uber/fx。我们将会通过 cloudwego社区的Kitex RPC 框架,创建一个实际的项目,并使用 uber/fx 来实现依赖注入。
解析 Golang 依赖注入经典解决方案 uber/fx 理论篇
fx 是 uber 2017 年开源的依赖注入解决方案,不仅仅支持常规的依赖注入,还支持生命周期管理。今天我们来看看 uber/fx 这个反射派系的经典之作,这是 uber 家基于 dig 又一步进化
解析 Golang 官方依赖注入工具 wire
Wire是google官方提供的一个依赖注入工具,本质上是一种代码生成工具。在Wire中,通过函数签名来标识具体的成员/组件。wire会自动推导各个组件之间的依赖关系,生成初始化代码。
基于 GORM 实现软删除用法和原理解析
当我们不再需要某些业务数据时,通常会将其【删除】,但删除本身是个语义比较宽泛的概念,因为本质上很多时候我们需要的是让这些数据无法再影响到当前的业务系统,无法被用户看到,而做到这一点并不需要完完全全删掉
解析 Golang 写入 json 神器 sjson
sjson支持简单快速地设置 json 中的值。是不是感觉似曾相识,其实跟 gjson 是一样的,二者也经常配合使用。有时候我们希望对一个大 json 文档中的局部进行修改,sjson 就是最佳选择。
解析 Golang 读取 json 神器 gjson
json 的反序列化是线上服务中非常耗 cpu 的操作,很多时候我们只需要读取 json 中的某个属性值。这个时候对整个 json 进行反序列化显然成本过高,有没有什么办法能简化操作,不需要预先定义。
解析 Golang 经典校验库 validator 设计和原理
validator 的扩展性还是非常好的,是个优秀的学习模板。我们来看看到底有什么好的设计,思路是我们可以借鉴,在日常开发中使用的。今天不会只是简单的摆源码,加注释,而是希望大家跟着我的思路思考。
解析 Golang 经典校验库 validator 用法
今天继续我们的 Golang 经典开源库学习之旅,这篇文章的主角是 validator,Golang 中经典的校验库,它可以让开发者可以很便捷地通过 tag 来控制对结构体字段的校验,使用面非常广泛。
解析 Golang 定时任务库 gron 设计和原理
gron 是用 Golang 实现一个并发安全的定时任务库。实现非常简单精巧,代码量也不多。今天我们就来一起结合源码看一下,怎样基于 Golang 的能力做出来一个【定时任务库】。
基于 GORM 的插件原理解析和开发实战
开篇 繁重的历史技术债务经常让我们头疼。业务的领域模型能否有效地抽象出来,以及系统的基座是否是合理尤为重要。一个可扩展,插件化的系统能够帮助我们解耦很多不必要的依赖,低成本地支持更多的功能。 业务模型
Golang 依赖注入库 goioc/di 用法和原理解析
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第17天,点击查看活动详情。 基于 Golang 的依赖注入框架有很多,google/wire, facebook/inject, u
解析 Golang 协程池 gopool 设计与实现
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。 Goroutine Goroutine 是 Golang 提供的一种轻量级线程,我们通常称之为「协程」