自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 线上502问题居然是它导致的!

记一次线上502问题排查过程。现象article-go微服务有请求502,之前稀稀拉拉有少量的502(有同学排查过,未果),但是运维同学最近升级了ingress,502变多了。信息收集大量的TW登录article-go容器,使用lsof -p 1查看进程的fd信息,发现大量的TIME_WAIT。查询了下目标地址,都是ingress pod的地址。首先TIME_WAIT就非常可疑,先看下TCP的四次挥手过程:发现只有客户端的连接状态才可能是TIME_WAIT,我们article_go明明

2021-10-12 17:06:55 674

原创 翻车了,记一次线上事故

关键词:golang、go、gorm、零值、有担当的富人翻车日期:2021.03.04翻车现场今天下午3:30有同事反馈,app冷启动出现了测试公告弹窗。画外音:半小时前刚更新一个服务,赶紧检查下配置吧。事件回述10:27:代码发布sandbox环境10:27~11:30:测试配置导入(因为配置比较多)生产环境,并手动修改少量差异配置11:30~11:50:sandbox环境验收完成11:51: api开始灰度12:46: 灰度结束,api全量发布15:00: 优化配置解析,重

2021-03-04 20:59:56 291 1

原创 Go语言:原来不同平台的emoji表情是这样实现的

什么是emojiemoji就是一些意形符号。emoji的实现首先,你必须能够区分unicode、utf8和字符之间的区别:unicode,字符集,就是一个表格,记录这字符和码点(通常表示为U+0031)之间的关系utf8,是unicode的编码方案之一(还有utf16、utf32等)字符,是人类可以阅读的符号。emoji就是一批比较特殊的符号(可以理解为图片或者像素点集合)因为是一种实现,所以不同平台实现的各不一样。以ok表情为例,各平台的实现如下:emoji分类Basic_Emo

2021-03-02 22:34:38 4330 2

原创 图解unicode、utf8和utf8mb4

字符集和字符编码字符集(CCS: Coded Character Set):就是一个表格,表示每个字符对应数字(通常用16进制表示),比如unicode字符集中,数字1对应的就是U+00031,字母a对应的就是U+00061。字符编码(CEF:Character Encoding Form):因为计算机只认识0和1,所以计算机在存储字母a(U+00031)的时候,不能直接存储。所以就需要编码将字母a转换成01表示形式。对于unicode字符,utf8就是它的编码方案(如何utf8转换成01表示下.

2021-02-26 18:01:38 186463 1

原创 深入浅出go反射

写在前面Go的反射机制带来很多动态特性,一定程度上弥补了Go缺少自定义范型而导致的不便利。Go反射机制设计的目标之一是任何操作(非反射)都可以通过反射机制来完成。变量是由两部分组成:变量的类型和变量的值。类型和值reflect.Type和reflect.Value是反射的两大基本要素,他们的关系如下:任意类型都可以转换成Type和ValueValue可以转换成TypeValue可以转换成InterfaceType类型系统Type描述的是变量的类型,关于类型请参考下面这个文章:G

2021-02-26 11:09:41 12831 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除