- 博客(56)
- 收藏
- 关注
原创 我开源了一个短视频应用(Go+React)|DouTok2.0 项目介绍
DouTok:一个开源的 web 端的短视频应用,采用微服务架构,包含前后端(React & Go),DouTok 正处在开发初期,目前已经完成了 基础的用户注册、登录、用户信息管理、视频上传、视频列表展示、评论、点赞、收藏等功能。
2024-10-30 13:31:00 770
原创 使用Golang的协程竟然变慢了|100万个协程的归并排序耗时分析
这篇文章将用三个版本的归并排序,为大家分析使用协程排序的时间开销(被排序的切片长度由128到1000w)
2024-09-01 15:26:51 782
原创 短视频上传怎么做|写个支持分片上传/断点续传/秒传功能的文件服务吧
各位平时使用的短视频应用,微信 & 微博等图文社区,它们的图文动态 & 视频上传的能力,都是极其核心的业务。本质来说,这都是文件的上传,这篇文章带大家写一个文件上传服务,探究其核心原理,相信能为你带来一些帮助。
2024-08-17 11:12:22 635
原创 Golang在整洁架构基础上实现事务
大家好,这里是白泽,这篇文章在 go-kratos 官方的 layout 项目的整洁架构基础上,实现优雅的数据库事务操作。
2024-08-07 23:56:16 1151
原创 Golang 高性能 Websocket 库 gws 使用与设计(一)
GitHub 🌟 1.2k,高性能的 websocket 库,代码双语注释,适合有开发经验的同学进阶学习。
2024-07-27 17:47:02 995
原创 Golang 依赖注入设计哲学|12.6K 的依赖注入库 wire
本文从“术”层面,讲述“依赖注入”的实现,带你体会其对于整洁架构 & DDD 等设计思想的落地,起到的支撑作用。
2024-07-03 09:20:48 928 7
原创 Go语言的100个错误使用场景(61-68)|并发实践
我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第八篇文章,对应书中第61-68个错误场景。
2024-04-13 12:26:51 1233
原创 Go项目结构整洁实现|GitHub 3.5k
今天给大家分享一个GitHub 🌟 3.5k 的 Go项目:go-backend-clean-arch,这个项目是一位老外写的,通过一个 HTTP demo 介绍了一个优雅的项目结构。
2024-04-02 23:03:11 580
原创 Go语言的100个错误使用场景(55-60)|并发基础
我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第七篇文章,对应书中第55-60个错误场景。
2024-03-02 11:15:11 993
原创 Go语言的100个错误使用场景(48-54)|错误管理
我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第六篇文章,对应书中第48-54个错误场景。
2024-02-21 10:45:40 1053 1
原创 Go语言的100个错误使用场景(40-47)|字符串&函数&方法
我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第五篇文章,对应书中第40-47个错误场景。
2024-02-15 11:24:31 1540 1
原创 Go语言的100个错误使用场景(30-40)|数据类型与字符串使用
我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第四篇文章,对应书中第30-39个错误场景。
2024-02-07 15:28:03 1477 1
原创 完蛋,我被offer包围了|秋招自救指南
白泽时隔8年终于记起了b站的密码,这篇文章的视频讲解版已已经上传,出镜怪不好意思的,后面写技术文章也会同步用视频的方式讲解,期待您的关注。
2024-02-06 11:02:47 1357
原创 Go语言的100个错误使用场景(21-29)|数据类型
我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第三篇文章,对应书中第21-29个错误场景。
2024-02-02 14:32:53 665
原创 Go语言的100个错误使用场景(11-20)|项目组织和数据类型
我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第二篇文章,对应书中第11-20个错误场景。
2024-01-31 13:23:08 1194
原创 Go语言的100个错误使用场景(一)|代码和项目组织
我的愿景是以这套文章,在保持权威性的基础上,脱离对原文的依赖,对这100个场景进行篇幅合适的中文讲解。所涉内容较多,总计约 8w 字,这是该系列的第一篇文章,对应书中第1-10个错误场景。
2024-01-29 10:07:18 1210
原创 怎么他们都有开源项目经历|手把手教你参与开源
耐心看完这篇文章,你会发现其实参与开源并不遥不可及。在文章的后半部分,白泽将分享自己在不同社区参与的一些开源和之前在 Gitea (GitHub🌟40.3k) 公司实习的一段时光。
2024-01-24 09:30:06 1084
原创 他凌晨1:30给我开源的游戏加了UI|模拟龙生,挂机冒险
白泽花了点时间,用 800 行 Go 代码写了一个控制台的小游戏:模拟龙生,在游戏中你将模拟一条新生的巨龙,开始无尽的冒险!
2024-01-23 10:53:43 1162
原创 使用 Woodpecker 与 Gitea 搭建纯开源的 CI 流程|极限降本
这篇文章是《Woodpecker CI 设计分析》的续接,通过阅读 Woodpecker 和 Gitea 的源代码并最终实现本地部署 Woodpecker 和 Gitea,实现持续集成(CI)。
2024-01-21 10:48:21 1269
原创 《模拟龙生》|500行Go代码写一个随机冒险游戏|巨龙修为挑战开启
白泽花了点时间,用 500行 Go 代码写了一个控制台的小游戏:《模拟龙生》,在游戏中你将模拟一条新生的巨龙,开始无尽的冒险!这里也向大家发起挑战:200轮次内,挑战可以获取的最高修为值!
2024-01-19 11:36:08 1322 1
原创 Woodpecker CI 设计分析|一个 Go 编写的开源持续集成引擎
这是《Woodpecker CI 设计分析》系列的第一篇文章,主要讲解 Woodpecker 的整体架构设计和体验部署使用,后续文章将讲解核心组件源码设计,并从0开始仿写 Woodpecker。
2024-01-18 10:22:18 1209
原创 rpc的正确打开方式|读懂Go原生net/rpc包
我希望借助这篇文章,用尽可能少的语言,配合分析Go原生net/rpc包的部分核心代码,帮助你贯通RPC的知识,梳理RPC的运作流程,让你对RPC有一个比较全面的认识。
2024-01-14 11:59:15 906
原创 浅谈 Raft 分布式一致性协议|图解 Raft
本篇文章将模拟一个KV数据读写服务,从提供单一节点读写服务,到结合分布式一致性协议(Raft)后,逐步扩展为一个分布式的,满足一致性读写需求的读写服务的过程。
2024-01-14 11:49:37 1213
原创 玩转 Go 生态|Hertz WebSocket 扩展简析
WebSocket 是一种可以在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。
2024-01-14 11:31:13 992
原创 使用 Go HTTP 框架 Hertz 进行 JWT 认证
上一篇文章简单介绍了一个高性能的 Go HTTP 框架——Hertz,本篇文章将围绕 Hertz 开源仓库的一个 demo,讲述如何使用 Hertz 完成 JWT 的认证与授权流程。
2024-01-13 10:51:04 1004
原创 我开源了一个 Go 学习仓库
这个学习仓库中核心包含《The Go Programing Language》一至八章讲解与分析,同时同步收录往期公众号和博客的精彩文章,更有电子书和建立模板供大家参考学习。
2024-01-13 10:21:53 1054
原创 Go 源码解读|如何用好 errors 库的 errors.Is() 与 errors.As() 方法
写作这篇文章的原因是我在写单元测试的时候,有时会涉及 errors.Is 和 errors.As 方法的调用,借此做一个总结。
2024-01-12 11:10:57 1844
原创 字节微服务HTTP框架Hertz使用与源码分析|拥抱开源
这篇文章我将以第一次阅读Hertz源码的视角,分享自己的思考过程,也借此梳理一下自己阅读源码的方法论。接下来需要你对应打开Hertz的官方文档,以及在本地克隆Hertz的代码仓库,我们开始吧。
2024-01-12 10:50:04 2476
原创 字节RPC框架Kitex的日志库klog竟然也这么小巧!
这篇文章将着重于分析字节跳动开源的 RPC 框架 Kitex 的日志库 klog 的源码,通过对比Go 原生日志库 log 的实现,探究其作出的改进。
2024-01-11 10:41:23 1077
原创 Kafka 万字精讲|工作五年这些你都知道吗?
本文以 Kafka 官方文档的内容为基石,结合参考文献处文章和笔者自身实践凝练而成,涵盖内容全面,详略得当,期待您的关注。这也是《一文搞懂》系列的第一篇技术长文,期待您的关注。
2024-01-11 09:36:45 1211
原创 完蛋,我被挖矿木马包围了|使用 TLS 连接 Docker
近日,白泽在使用 docker 的时候,开放了防火墙的端口,以 SSH 方式访问远程服务器的 docker 守护进程(无需使用密钥即可建立连接),随后竟遭到了挖矿木马的攻击!
2024-01-09 10:24:59 968
原创 双非硕的秋招路:长风破浪会有时
回看自己2021年底写的年终总结:[考研失败一周年,我进厂了],行文之间显露出的青涩和找到实习的欣喜,殊不知那是互联网行业最后的狂欢。时至两年后的今天,互联网大环境急转直下,在这样的环境下求职,我有许多微薄体会,所以写作这样一篇文章来记述。
2024-01-08 14:03:15 956
原创 Kitex源码阅读——脚手架代码是如何通过命令行生成的(二)
通过本篇文章的讲解,将清晰的介绍kitex工具是如何通过命令行,生成go语言RPC服务的脚手架代码,并且我们也将自研拥有脚手架生成功能的kitexx微框架,通过实践印证了我们对源码的理解。
2022-05-28 12:13:33 350
原创 Kitex源码阅读——脚手架代码是如何通过命令行生成的(一)
Kitex是字节跳动内部的Golang微服务RPC框架,先已开源。Kitex究竟是怎么生成脚手架代码的?这系列文章将围绕此展开源码阅读,并最终解答这个疑问。
2022-05-24 10:36:05 338
原创 三个小项目入门Go语言|字节青训营笔记
这是青训营的第一课,今天的课程比较快速的讲解了go语言的入门,并配合三个小的项目实践梳理所学知识点,这里详细回顾一下这三个项目,结合课后作业要求做一些代码补充,并附上自己的分析,青训期间的所有课程笔记会同步文末公众号,有需要同学请关注~
2022-05-12 10:09:10 1430
原创 一篇文章带你搞懂InnoDB的索引|结合样例
前阵子面试的时候,在第三面问到了MySQL索引相关的知识点,并且给出了一些SQL语句分析索引的执行情况。所以今天这篇文章给大家讲讲索引,结合一些案例分析一下一个SQL查询走索引时涉及到的最左前缀原则。
2022-04-13 11:23:57 153
原创 一文搞懂MySQL事务的隔离性如何实现|MVCC
MySQL有ACID四大特性,本文着重讲解MySQL不同事务之间的隔离性的概念,以及MySQL如何实现隔离性。下面先罗列一下MySQL的四种事务隔离级别,以及不同隔离级别可能会存在的问题。事务隔离级别越高,多个事务在并发访问数据库时互相产生数据干扰的可能性越低,但是并发访问的性能就越差。(相当于牺牲了一定的性能去保证数据的安全性)
2022-04-11 11:42:48 1270
原创 面试官:请分析一条SQL的执行过程
最近一直在写《手撕MySQL系列》文章,我发现自己的切入点有一些问题,虽尝试深入探究MySQL中的一些关键特性,但对于MySQL的知识掌握不太能够形成较好的体系化的知识网络。我感到在对全局了解不够清晰的时候,去深究一个知识点往往会事倍功半。所以打算通过这篇文章,分析SQL语句从头到尾的执行,串连一下MySQL当中的基础知识点。
2022-04-09 09:56:04 248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人