【Go进阶】手写 Go websocket 库(一)|WebSocket 通信协议
摘要:

这里是白泽,我将利用一个系列,为你分享如何基于 websocket 协议的 rfc 文档,编写一个库的过程。并从0开始写一遍 gorilla/websocket 这个库,从中你可以学习到 websocket 库中高质量、高性能的写法(多协程、缓冲池使用)。
阅读全文
posted @
2024-12-22 00:34
白泽talk
阅读(353)
推荐(1) 编辑
我开源了一个短视频应用(Go+React)|DouTok2.0 项目介绍
摘要:DouTok:一个开源的 web 端的短视频应用,采用微服务架构,包含前后端(React & Go),DouTok 正处在开发初期,目前已经完成了 基础的用户注册、登录、用户信息管理、视频上传、视频列表展示、评论、点赞、收藏等功能。
阅读全文
posted @
2024-10-30 13:20
白泽talk
阅读(660)
推荐(7) 编辑
使用Golang的协程竟然变慢了|100万个协程的归并排序耗时分析
摘要:

这篇文章将用三个版本的归并排序,为大家分析使用协程排序的时间开销(被排序的切片长度由128到1000w)
阅读全文
posted @
2024-09-01 15:24
白泽talk
阅读(389)
推荐(1) 编辑
短视频上传怎么做|写个支持分片上传/断点续传/秒传功能的文件服务吧
摘要:

各位平时使用的短视频应用,微信 & 微博等图文社区,它们的图文动态 & 视频上传的能力,都是极其核心的业务。
本质来说,这都是文件的上传,这篇文章带大家写一个文件上传服务,探究其核心原理,相信能为你带来一些帮助。
阅读全文
posted @
2024-08-17 11:07
白泽talk
阅读(443)
推荐(1) 编辑
Golang在整洁架构基础上实现事务
摘要:

这篇文章在 go-kratos 官方的 layout 项目的整洁架构基础上,在微服务架构下,实现优雅的数据库事务操作。
阅读全文
posted @
2024-08-07 23:59
白泽talk
阅读(497)
推荐(0) 编辑
Golang 高性能 Websocket 库 gws 使用与设计(一)
摘要:

GitHub 🌟 1.2k,高性能的 websocket 库,代码双语注释,适合有开发经验的同学进阶学习。
阅读全文
posted @
2024-07-27 17:42
白泽talk
阅读(851)
推荐(0) 编辑
Golang 依赖注入设计哲学|12.6K 🌟 的依赖注入库 wire
摘要:

本文从“术”层面,讲述“依赖注入”的实现,带你体会其对于整洁架构 & DDD 等设计思想的落地,起到的支撑作用。
阅读全文
posted @
2024-07-03 09:17
白泽talk
阅读(611)
推荐(1) 编辑
star 最多的 Go 语言本地化库|GitHub 2.8K
摘要:

今天讲讲 i18n,无论是 ToB 还是 ToC 的业务,常常存在多语言的需求,由于用户有时来自不同国家,因此需要对页面展示内容,包括响应结果做多语言的适配。
阅读全文
posted @
2024-06-12 09:27
白泽talk
阅读(455)
推荐(1) 编辑
我用 GitHub 9.8k 的 Go 语言 2D 游戏引擎写了个游戏
摘要:

游戏引擎的贡献者依旧在积极维护,是一个兼具学习 & 娱乐的项目!为此我也用这个引擎写了一个生存游戏: avoid-the-enemies
阅读全文
posted @
2024-05-06 13:34
白泽talk
阅读(2905)
推荐(10) 编辑
Go语言的100个错误使用场景(61-68)|并发实践
摘要:

我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第八篇文章,对应书中第61-68个错误场景。
阅读全文
posted @
2024-04-13 12:44
白泽talk
阅读(365)
推荐(1) 编辑
Go语言的100个错误使用场景(55-60)|并发基础
摘要:

我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第七篇文章,对应书中第55-60个错误场景。
阅读全文
posted @
2024-03-02 11:12
白泽talk
阅读(353)
推荐(1) 编辑
Go语言的100个错误使用场景(48-54)|错误管理
摘要:

我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第六篇文章,对应书中第48-54个错误场景。
阅读全文
posted @
2024-02-21 10:42
白泽talk
阅读(381)
推荐(0) 编辑
Go语言的100个错误使用场景(21-29)|数据类型
摘要:

我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第三篇文章,对应书中第21-29个错误场景。
阅读全文
posted @
2024-02-02 14:35
白泽talk
阅读(399)
推荐(0) 编辑
Go语言的100个错误使用场景(11-20)|项目组织和数据类型
摘要:

我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第二篇文章,对应书中第11-20个错误场景。
阅读全文
posted @
2024-01-31 13:21
白泽talk
阅读(376)
推荐(1) 编辑
Go语言的100个错误使用场景(一)|代码和项目组织
摘要:

我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第一篇文章,对应书中第1-10个错误场景。
阅读全文
posted @
2024-01-29 10:10
白泽talk
阅读(683)
推荐(1) 编辑
怎么他们都有开源项目经历|手把手教你参与开源
摘要:

在文章的后半部分,白泽将分享自己在不同社区参与的一些开源和之前在 Gitea (GitHub🌟40.3k) 公司实习的一段时光。
阅读全文
posted @
2024-01-24 09:33
白泽talk
阅读(2174)
推荐(13) 编辑
他凌晨1:30给我开源的游戏加了UI|模拟龙生,挂机冒险
摘要:

白泽花了点时间,用 800 行 Go 代码写了一个控制台的小游戏:模拟龙生,在游戏中你将模拟一条新生的巨龙,开始无尽的冒险!
阅读全文
posted @
2024-01-23 10:59
白泽talk
阅读(2590)
推荐(12) 编辑
使用 Woodpecker 与 Gitea 搭建纯开源的 CI 流程|极限降本
摘要:

这篇文章是《Woodpecker CI 设计分析》的续接,通过阅读 Woodpecker 和 Gitea 的源代码并最终实现本地部署 Woodpecker 和 Gitea,实现持续集成(CI)。
阅读全文
posted @
2024-01-21 10:51
白泽talk
阅读(331)
推荐(1) 编辑
《模拟龙生》|500行Go代码写一个随机冒险游戏|巨龙修为挑战开启
摘要:

白泽花了点时间,用 500行 Go 代码写了一个控制台的小游戏:《模拟龙生》,在游戏中你将模拟一条新生的巨龙,开始无尽的冒险!
这里也向大家发起挑战:200轮次内,挑战可以获取的最高修为值!
阅读全文
posted @
2024-01-19 11:48
白泽talk
阅读(550)
推荐(1) 编辑
Woodpecker CI 设计分析|一个 Go 编写的开源持续集成引擎
摘要:

这是《Woodpecker CI 设计分析》系列的第一篇文章,主要讲解 Woodpecker 的整体架构设计和体验部署使用,后续文章将讲解核心组件源码设计,并从0开始仿写 Woodpecker。
阅读全文
posted @
2024-01-18 10:29
白泽talk
阅读(341)
推荐(3) 编辑