首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
tosee
订阅
shenjunyi_2020
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
Go make 和 new 的区别
若该对象申请的空间为 0,则返回表示空指针的 zerobase 变量,这类对象比如:slice, map, channel 以及一些结构体等。 这里为了方便查看,省去了部分代码。我们可以看到这里的步骤很多, h = new(hmap)只是其中的一部分 以上,由于能力有限,疏忽和…
链式调用 | Go设计模式实战
本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本文主要介绍「责任链模式」如何在真实业务场景中使用。 但是有一点直到被处理为止,代表最终只会被一个实际的业务对象执行了实际的业务逻辑,明显适用的场景并不多。但是除此之外,上面的那两点优势还是让人很心动,所以,为了适用于目…
后端架构师技术图谱
分享自 GitHub
一行代码引起的协程泄露
最终定位到的结果比较蠢,巨佬可以直接查看结果,本文只为记录寻找该bug时使用的方法而生。 本人平日维护一个公司运营平台的一个配置库,由于降级措施比较好,而且公司容器实例也比较多,所以在爆发错误的时候并未及时跟进。该问题应该从该服务出生开始就已经有了,一直没有爆发的原因应该是因为…
走进Golang之Channel的数据结构
上篇文章讲了 channel 的基本使用,讲了一些使用时需要注意的事项,本文将重点介绍 channel 中的两个数据结构:循环队列 与 双端链表 。 为了理解这些数据结构解决了什么问题,我们先来做个简单的回顾,看看为什么需要这两个数据结构,他们解决了什么问题。我们知道 goro…
记一次简单的Go反射实战
反射是所有面向对象语言的一个重点,它为开发者提供了灵活的操作可能。利用反射可以获取不同对象/结构体的信息,制定不同的策略,实现复杂的操作。 go与java的反射操作思维大有不同,学习的时候也遇到过一些困难,记录下来加深印象。 在Go语言中,它提供了reflect包用来辅助我们进…
忘掉 Snowflake,感受一下性能高出 587 倍的全局唯一 ID 生成算法
今天我们来拆解 Snowflake 算法,同时领略百度、美团、腾讯等大厂在全局唯一 ID 服务方面做的设计,接着根据具体需求设计一款全新的全局唯一 ID 生成算法。这还不够,我们会讨论到全局唯一 ID 服务的分布式 CAP 选择与性能瓶颈。 已经熟悉 Snowflake 的朋友…
使用Go实现GoF的23种设计模式(一)
从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题。在当下,如果你不会一点设计模式,都不好意思说自己是一个合格的程序员。设计模式通常被定义为: 从定义上看,设计模式其实是一种经验的总结,是针对特定问题的简洁而优雅的解决方案。既然是经验总结…
阿里技术专家详解DDD系列 第三讲 - Repository模式
这篇文章和《阿里技术专家详解DDD系列 第二弹 - 应用架构》隔了比较久,一方面是工作比较忙,另一方面是在讲Repository之前其实应该先讲Entity(实体)、Aggregate Root(聚合根)、Bounded Context(限界上下文)等概念。但在实际写的过程中,…