- 博客(59)
- 收藏
- 关注
原创 深入 Go 语言核心:map 和 slice 的传参有什么不同
本文通过一个令人困惑的例子开始,探讨 Go 语言中 map 和 slice 动态扩容机制与传参时需要注意的问题。
2025-02-16 15:19:57
808
原创 在 Go 项目中实现 JWT 用户认证与续期机制
本文将结合实际代码,详细讲解如何在 Go 项目中实现 JWT 认证机制,并探讨两种常见的 Token 续期策略:自动续期和 Refresh Token。
2025-02-16 15:12:16
1078
原创 xgo 原理探索
xgo 是一个通过代码重写来实现 mock、trace 和 coverage 功能的单元测试框架。本文将探讨 xgo 最核心的底层原理 -toolexec,并通过 6 个简单的小阶段,一步步实现一个丐版 xgo,进一步展示 xgo 的设计理念。
2024-06-15 10:05:25
1409
原创 深入 Go 语言核心:结构体的全方位解析
本文将带您全面深入地探索 Go 语言中结构体的各个方面,从基本定义、初始化和使用,到高级特性如结构体的组合、方法定义、内存对齐等。
2024-06-13 11:21:45
1144
原创 Rust 实战丨通过实现 json! 掌握声明宏
本文分步展示了实现 json! 宏的过程,包括定义 Json 枚举和不同类型的匹配规则。通过这个过程,读者可以掌握声明宏的基本概念和实现方法。
2024-06-12 10:56:54
1765
原创 Kafka 负载均衡挑战及解决思路
本文转载自 Agoda Enginnering, 介绍了 Kafka 负载均衡的实际应用过程中的负载均衡挑战及解决思路。
2024-06-12 10:55:26
1594
原创 Rust 实战丨HTTPie
在本文中,我们深入探讨了如何使用 Rust 语言来实现一个类似于 HTTPie 的命令行工具。这个过程包括了对 HTTP 协议的理解、命令行参数的解析、HTTP 客户端的创建和请求发送,以及对响应的处理和展示。通过本文,读者不仅能够获得一个实用的命令行工具,还能够学习到如何使用 Rust 的库来构建实际的应用程序,包括clapreqwesttokio和colored等。此外,文章也说明了在 Rust 中进行异步编程和错误处理的一些常见模式。
2024-06-11 11:01:13
1419
4
原创 深入探索 Rust 的 clap 库:命令行解析的艺术
本文将深入探索 Rust 中一个非常流行的命令行解析工具 clap,本文会先详细介绍 clap Derive 和 Builder 两种构建命令行工具的方式,并实战 httpie 工具,最后还将 clap 与 Go 语言中在命令行解析同样流行的 cargo 进行比较。
2024-06-10 16:39:23
3446
1
原创 时间处理基础:Rust 的 chrono 库教程
本文全面介绍了如何在 Rust 中使用 chrono 库来精确处理和转换时间与日期。从基本概念到高级功能,本文提供了实用的代码示例和详尽的解释,帮助你在任何 Rust 项目中高效管理时间。
2024-06-10 16:37:22
2867
原创 Rust anyhow 简明教程
Rust 的 anyhow 库,它提供了一个简单而强大的方式来处理错误。本教程将引导你了解 anyhow 的核心特性,包括易用性、错误链、调试便利性,以及如何在不同场景下利用 anyhow 来简化错误处理。无论是快速原型开发还是应用程序顶层错误处理,anyhow 都是 Rust 开发者的得力助手。
2024-06-09 11:33:26
1480
1
原创 Rust 实战丨SSE(Server-Sent Events)
本文详细介绍了 SSE 的工作原理,并通过示例代码展示了如何使用 Go 和 Rust 实现一个简单的 SSE 服务端,展示了在实际项目中应用 SSE 的方法。
2024-06-09 00:04:13
1481
原创 一文彻底掌握浮点数
本文从一个经典问题 0.1+0.2 != 0.3 出发,详细介绍了 IEEE-754 标准下的浮点数表示方法,细致阐述了 3 种浮点数类型的表示逻辑,包括规格化值、非规格化值和特殊值。还介绍了浮点数舍入的 4 种模式,以及浮点数的基本运算。最后,本文结合 Go 语言给出了浮点数不同的输出方式的例子,以及简单介绍了 Go 语言中的 math/big 库在大数运算和精度更高的运算场景中的应用。本文包含大量实例和推演过程,希望能帮助读者彻底掌握浮点数。
2023-12-28 00:43:41
1165
原创 Go1.21.0 程序启动过程
本文基于 Go1.21.0 版本详细介绍了 Go 语言程序的启动过程。开头有总结,方便读者快速浏览或回顾,后面是对整个 Go 启动过程的详细讨论,感兴趣的读者可以深入阅读这一部分。
2023-12-10 23:35:41
428
原创 Kafka 如何实现顺序消息
本文详细介绍了如何实现 Kafka 的顺序消息,同时给出了消息队列顺序消息的通用实现思路,并简单介绍了 RabbitMQ、RocketMQ 和 Pulsar 在顺序消息方面的实现思路,文章的最后还给出了实战案例。
2023-11-25 21:11:37
2297
1
原创 Kafka KRaft 版本集群部署详细教程(附配置文件详细解释)
本文总结了在 Ubuntu18.04 虚拟机上部署 Kafka KRaft 版本集群的具体过程,均为本人实操,可以直接套用。
2023-11-23 16:57:55
2660
原创 分布式共识算法丨Raft丨Raft-Extended 论文翻译
Raft-Extended 翻译原文:https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf辨析consensus vs consistency一致性(consistency)往往指分布式系统中多个副本对外呈现的数据的状态。如顺序一致性、线性一致性,描述了多个节点对数据状态的维护能力。共识(consensus)则描述了分布式系统中多个节点之间,彼此对某个提案达成一致结果的过程。因此,一致性描述的是结果,共识则是一种手段。有的人会说
2021-07-28 17:50:52
2847
5
原创 解决 MacBook Pro 在 Terminal 中 TouchBar的 esc 键消失的问题
解决 MarBook Pro 在 Terminal 中 TouchBar的 esc 键消失的问题
2020-11-03 19:27:17
6575
2
原创 SpringBoot 整合 Thymeleaf 引入静态资源失败解决方案
SpringBoot 整合 Thymeleaf 引入静态资源失败解决方案
2020-10-28 10:17:24
939
原创 MyBatis 学习笔记(含SSM整合及逆向工程)
SSM三大框架中的MyBatis的学习笔记,包含基础知识、全局配置文件、SQL映射文件、动态SQL、缓存、逆向工程、SSM整合。
2020-10-20 19:12:34
1014
原创 为什么说 StringBuilder 是线程不安全的且会发生数组越界问题而 StringBuffer 是线程安全的?
从 JDK8 源码角度解析为什么说 StringBuffer 是线程安全的,而 SpringBuilder 不仅线程不安全,还可能会出现数据越界的问题。
2020-09-30 11:54:29
1155
原创 Rabbit MQ 笔记整理(含 RPC 模型、整合 SpringBoot 2.x 实战、集群)
Rabbit MQ 笔记整理(含 RPC 模型、整合 SpringBoot 2.x 实战、集群)。
2020-09-25 18:28:55
977
原创 MybatisPlus 整合分页插件 PageHelper 依赖冲突的解决方案
MybatisPlus 整合分页插件 PageHelper 依赖冲突的解决方案
2020-07-18 14:01:20
3561
1
原创 Thymeleaf 整合 Spring Security 后 sec 标签没有提示的解决方案
ThemyLeaf 整合 Spring Security 后 sec 标签没有提示的解决方案
2020-07-08 10:56:17
1283
3
原创 SpringBoot 整合模板引擎 Thymeleaf 页面跳转失败的解决方案
SpringBoot 整合模板引擎 Thymeleaf 页面跳转失败的解决方案。
2020-06-28 16:57:31
5276
原创 Macbook Pro 的 Touch Bar 中调节音量和亮度的键消失了的解决方案
Macbook Pro 的 Touch Bar 中调节音量和亮度的键消失了的解决方案
2020-06-23 16:54:53
28975
28
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人