Fork me on GitHub

随笔分类 -  go

go语言的相关记录
摘要:1. 背景 项目开发过程中,随着需求的迭代,代码的发布会频繁进行,在发布过程中,如何让程序做到优雅的退出? 为什么需要优雅的退出? 你的 http 服务,监听端口没有关闭,客户的请求发过来了,但处理了一半,可能造成脏数据。 你的协程 worker 的一个任务运行了一半,程序退出了,结果不符合预期。 阅读全文
posted @ 2022-06-15 15:07 Mr.YF 阅读(1119) 评论(0) 推荐(0)
摘要:写在前面的话 Golang中构建结构体的时候,需要通过可选参数方式创建,我们怎么样设计一个灵活的API来初始化结构体呢。 让我们通过如下的代码片段,一步一步说明基于可选参数模式的灵活 API 怎么设计。 灵活 API 创建结构体说明 v1版本 如下 Client 是一个 客户端的sdk结构体,有 h 阅读全文
posted @ 2022-06-10 12:24 Mr.YF 阅读(1489) 评论(5) 推荐(0)
摘要:一、背景 有些业务需要判断图片的宽高,来做一些图片相关缩放,旋转等基础操作。 但是图片缩放,旋转,拼接等操作需要将图片从某一格式(JPG/PNG/GIF...)转成 RGBA 格式操作,操作完毕后,再转回 (JPG/PNG/GIF...) 图片。 那如何不做 RGBA 的转换就得到图片的宽和高呢? 阅读全文
posted @ 2022-04-06 21:20 Mr.YF 阅读(4937) 评论(0) 推荐(1)
摘要:背景 gRPC是Google开始的一个RPC服务框架, 是英文全名为Google Remote Procedure Call的简称。 广泛的应用在有RPC场景的业务系统中,一些架构中将gRPC请求都经过一个gRPC服务代理节点或网关,进行服务的权限限制,限流,服务调用监控,增加请求统计等等诸多功能。 阅读全文
posted @ 2021-09-29 19:00 Mr.YF 阅读(8710) 评论(0) 推荐(2)
摘要:Thrift协议实现目前有二进制协议(TBinaryProtocol),紧凑型二进制协议(TCompactProtocol)和Json协议(TJsonProtocol)。 前面的两篇文字从编码和协议原理方面分析了TBinaryProtocol和TCompactProtocol协议,下面对TJsonP 阅读全文
posted @ 2016-02-01 15:00 Mr.YF 阅读(5336) 评论(0) 推荐(0)
摘要:Thrift的紧凑型传输协议分析: 用一张图说明一下Thrift的TCompactProtocol中各个数据类型是怎么表示的。 报文格式编码: bool类型: 一个字节。 如果bool型的字段是结构体或消息的成员字段并且有编号,一个字节的高4位表示字段编号,低4位表示bool的值(0001:true 阅读全文
posted @ 2016-01-27 16:44 Mr.YF 阅读(4995) 评论(0) 推荐(0)