• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
ahfuzhang
公众号:一本正经的瞎扯
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

随笔分类 -  golang

上一页 1 2 3 4 5 下一页

 
fasthttp + `page partial gziped cache`: 页面输出服务性能提升20%
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 接上一篇:http 中使用 gzip 输出内容时,如何预先压缩前一半页面? 经过实测,对线上一个输出 html 的服务进行了改造,通过预先压缩页面前半部分的方 阅读全文
posted @ 2023-10-10 18:11 ahfuzhang 阅读(134) 评论(0) 推荐(0)
http 中使用 gzip 输出内容时,如何预先压缩前一半页面?
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 背景是这样:要输出一个很大的动态页面,不开 gzip 压缩会使得流量很大;开了 gzip 压缩又会导致 cpu 升高。 这个页面的前半部分一般不会变化,变化的 阅读全文
posted @ 2023-10-10 15:05 ahfuzhang 阅读(76) 评论(0) 推荐(0)
学到了,原来 gzip 是种`连续分块`的压缩算法
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 我想要表述的是:假设有 10 mb的数据使用 gzip 算法来压缩。 有这样可能的做法: 分配 10mb 的缓冲区,一次压缩 10mb 分配 1mb 的缓冲区 阅读全文
posted @ 2023-10-09 16:01 ahfuzhang 阅读(409) 评论(0) 推荐(0)
【学到一个小技巧】context.WithValue 中的 key 可以是个空对象
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 从 netpoll 库看到这段代码: type connkey struct{} var ctxkey connkey func prepare(conn n 阅读全文
posted @ 2023-09-29 11:42 ahfuzhang 阅读(99) 评论(0) 推荐(0)
一个思路:实现 golang 中的 `__file__` `__line__` 宏
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 测试 zaplog 发现,开启 caller 的调用,会使整个服务增加 2% 的损耗。 其实文件及其行号完全可以在编译期加上去,没必要带来运行期的性能损耗。 阅读全文
posted @ 2023-09-27 14:21 ahfuzhang 阅读(102) 评论(0) 推荐(0)
【小测试】fastcgo 调用 c 代码
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 找到了一个项目 https://github.com/petermattis/fastcgo: 通过汇编的方式来 call c函数,相比 cgo 会快很多。 阅读全文
posted @ 2023-09-26 13:20 ahfuzhang 阅读(62) 评论(0) 推荐(0)
玩一玩 golang 1.21 的 pgo 编译优化
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.下载镜像 暂时不想替换本机的 golang 版本,于是打算在容器里编译: docker pull --platform=linux/amd64 golan 阅读全文
posted @ 2023-09-20 15:41 ahfuzhang 阅读(635) 评论(0) 推荐(0)
【遇到一个神奇的问题】暂未想到原因,http.Post 传入 nil参数正确,但是传输值为 nil 的 *bytes.BytesReader 就 `invalid memory address or nil pointer dereference`
摘要:出错的代码如下: ```go func getEab(ctx context.Context, credentialsJSON string, old *externalAccountKeyResp) (*externalAccountKeyResp, error) { // init http c 阅读全文
posted @ 2023-07-24 11:32 ahfuzhang 阅读(94) 评论(0) 推荐(0)
golang: 模仿 VictoriaMetrics 中的做法,通过把局部变量放在自定义 Context 对象中来做到hot path 的 0 alloc
摘要:**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G 阅读全文
posted @ 2023-07-19 16:31 ahfuzhang 阅读(145) 评论(0) 推荐(0)
golang实现的 https 协议的四层代理和七层代理
摘要:**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G 阅读全文
posted @ 2023-07-19 15:44 ahfuzhang 阅读(361) 评论(0) 推荐(0)
【解决一个小问题】golang 的 `-race`选项导致 unsafe代码 panic
摘要:**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G 阅读全文
posted @ 2023-06-13 18:15 ahfuzhang 阅读(332) 评论(0) 推荐(0)
【代码片段分享】比 url.QueryEscape 快 7.33 倍的 FastQueryEscape
摘要:**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G 阅读全文
posted @ 2023-06-11 16:49 ahfuzhang 阅读(159) 评论(0) 推荐(0)
【解决了一个小问题】macbook m2 下交叉编译 musl-gcc 支持的 gozstd 库
摘要:**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G 阅读全文
posted @ 2023-06-09 20:00 ahfuzhang 阅读(960) 评论(0) 推荐(0)
【代码片段】fasthttp 中的输出使用 gzip 压缩
摘要:**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G 阅读全文
posted @ 2023-06-03 16:41 ahfuzhang 阅读(193) 评论(0) 推荐(0)
【解决一个小问题】macbook m2 上交叉编译 gozstd
摘要:**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G 阅读全文
posted @ 2023-05-31 12:10 ahfuzhang 阅读(872) 评论(0) 推荐(0)
【发现一个小问题】坑爹的官方日志库`golang.org/x/exp/slog`,凭啥不让我设置debug级别日志
摘要:**作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!** * [cnblogs博客](https://www.cnblogs.com/ahfuzhang/) * [zhihu](https://www.zhihu.com/people/ahfuzhang/posts) * [G 阅读全文
posted @ 2023-05-24 11:42 ahfuzhang 阅读(231) 评论(0) 推荐(0)
【分享一个工具】通过定义proto3来自动生成多进程模式的插件代码
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 我在多进程插件框架 hashicorp/go-plugin 的基础上,使用 protoreflect 来解析 proto3 语法的IDL文件,通过命令行工具自 阅读全文
posted @ 2022-12-15 14:29 ahfuzhang 阅读(353) 评论(0) 推荐(0)
【遇到一个怪异的问题】使用embed来加载模版,只要写在init()函数中就会导致HTTP服务出错
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 经过反复测试,只要换一个写法就能开启/重现这个怪异的问题。 请看出现异常的代码: //go:embed index.html var indexFileTem 阅读全文
posted @ 2022-11-28 11:20 ahfuzhang 阅读(139) 评论(0) 推荐(0)
【解决了一个小问题】es query返回数据中, int64类型精度丢失的问题
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 首先定义了一个简单的结构体来接收es query返回的数据: // ElasticSearchResponse es query查询返回的结果格式 type 阅读全文
posted @ 2022-11-24 16:27 ahfuzhang 阅读(378) 评论(0) 推荐(0)
如何在proto3中用上golang对应的interface{}类型
摘要:作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 首先,我希望所有golang中用于http请求响应的结构,都使用proto3来定义。 麻烦的是,有的情况下某个字段的类型可能是动态的,对应的JSON类型可能是 阅读全文
posted @ 2022-11-04 19:04 ahfuzhang 阅读(4759) 评论(0) 推荐(0)
 

上一页 1 2 3 4 5 下一页

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3