自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 秋招上岸!一篇文章教你写好简历

秋招幸运上岸,分享一下自己的简历编写。

2024-01-10 10:25:47 439

原创 完蛋,我被挖矿木马包围了|使用 TLS 连接 Docker

近日,白泽在使用 docker 的时候,开放了防火墙的端口,以 SSH 方式访问远程服务器的 docker 守护进程(无需使用密钥即可建立连接),随后竟遭到了挖矿木马的攻击!

2024-01-09 10:24:59 968

原创 双非硕的秋招路:长风破浪会有时

回看自己2021年底写的年终总结:[考研失败一周年,我进厂了],行文之间显露出的青涩和找到实习的欣喜,殊不知那是互联网行业最后的狂欢。时至两年后的今天,互联网大环境急转直下,在这样的环境下求职,我有许多微薄体会,所以写作这样一篇文章来记述。

2024-01-08 14:03:15 956

原创 一文搞懂Go的日志库log

Go原生的log库本身比较简单,这篇文章先分析一下它的实现,为后续阅读Kitex的日志库klog做一下铺垫。

2022-05-31 15:26:51 1351

原创 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关注的人

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