首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Go
订阅
董咚懂咚
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
go-zero 如何防流量冲击(二)|七日打卡
本篇文章承接上一篇go-zero 如何扛住流量冲击(一)。 上一篇介绍的是 go-zero 中滑动窗口限流,本篇介绍另外一个 tokenlimit ,令牌桶限流。 假设桶中最多可以存放b个令牌。如果令牌到达时令牌桶已经满了,那么这个令牌会被丢弃; go-zero 在两类限流器下…
golang微服务框架go-zero系列-2:go-zero + gorm V2实践
golang圈子不大,微服务框架框架屈指可数:除了go-micro、go-kit,几乎没有其他选择。go-zero为此提供第三个可能。 我们到底需要什么样的框架?我们需要一款可以支持业务成长的框架!产品运营初期,比如需求验证阶段,我们并不需要采取微服务架构,因为运营成本太高。一…
如何避免用动态语言的思维写Go代码 | 🏆 技术专题第二期征文
由于招聘市场上Go工程师的供给量不足,所以在招人的时候我们招了不少愿意转型用Go语言进行开发的PHP工程师,不过虽说换了个语言,在他们代码的时候还是能发现很多PHP的影子。if语句后面非要带括号这种问题就不说了,这属于不懂事,go fmt就会强行把你掰过来。最大的问题还是因为以…
使用Go实现GoF的23种设计模式(一)
从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题。在当下,如果你不会一点设计模式,都不好意思说自己是一个合格的程序员。设计模式通常被定义为: 从定义上看,设计模式其实是一种经验的总结,是针对特定问题的简洁而优雅的解决方案。既然是经验总结…
Golang程序员开发效率神器汇总!
一. 开发工具 用于将 sql 语句转换为 golang 的 struct. 使用 ddl 语句即可。 例如对于创建表的语句: show create table xxx. 将输出的语句,直接粘贴进去就行。 用于将编码后的 toml 文本转换问 golang 的 struct.…
Go gRPC 系列七:让服务同时提供 HTTP 接口
我相信你在实际工作中都会遇到如上问题,在 gRPC 中都是可以找到其它解决方案的,本章节将会进行介绍。 http.NewServeMux:创建一个新的 ServeMux,ServeMux 本质上是一个路由表。它默认实现了 ServeHTTP,因此返回 Handler 后可直接通…
[翻译]Go 语言入门
在许多语言中,有许多方法可以解决给定的问题。程序员可以花很多时间思考解决问题的最佳方法。另一方面,Golang坚持精简的功能 - 只有一种正确的方法可以解决问题。 这节省了开发人员的时间,并使大型代码库易于维护。Golang中没有像地图和过滤器这样的“富有表现力”的功能。 Go…
go语言之行--golang核武器goroutine调度原理、channel详解
goroutine是go语言中最为NB的设计,也是其魅力所在,goroutine的本质是协程,是实现并行计算的核心。goroutine使用方式非常的简单,只需使用go关键字即可启动一个协程,并且它是处于异步方式运行,你不需要等它运行完成以后在执行以后的代码。
go语言高性能缓存组件ccache分析
1. 背景 在撸代码时,利用局部性原理对数据做缓存是一种常用的性能优化手段。 要做缓存,离不开的就是缓存组件。ccache就是一个很优秀的lru缓存组件,其做了很多很巧妙的优化策略来降低锁冲突,实现高性能。 下面看下具体是怎么实现的。 2. lru cache 在分析源代码前,…
Dig101:Go之读懂map的底层设计
在golang中,map是一个不可或缺的存在。 它作为哈希表,简单易用,既能自动处理哈希碰撞,又能自动扩容或重新内存整理,避免读写性能的下降。 这些都要归功于其内部实现的精妙。本文尝试去通过源码去分析一下其背后的故事。 我们不会过多在源码分析上展开,只结合代码示例对其背后设计实…