- 博客(299)
- 收藏
- 关注
原创 吃透 Golang 基础:函数
参考《Go语言圣经》系统性地整理 Golang 函数相关的语法及注意事项,重点包括函数的定义与使用、函数的递归、Go 函数的多返回值、函数调用链当中的错误处理、函数闭包与函数值、可变参数函数、defer、panic 和 recover。
2025-06-13 15:25:27
426
原创 Golang 处理字符串与整型数值相互转换的最佳实践
基于「LeetCode 165. 比较版本号」分析了在 Golang 当中处理字符串与整型数值想换转换的最佳实践。通过使用库函数 strings 的 Split 方法来将 string 类型根据提供的子串分割为 string slice,通过 strconv 的 Atoi 将 string 转为整型数值。
2025-06-13 12:09:04
64
原创 吃透 Golang 基础:使用 encoding/json 实现 Golang 数据结构与 JSON 对象的转换
根据《Go 语言圣经》复合数据类型当中 JSON 这一章的内容,整理 Golang 当中与 JSON 对象进行交互的简单方法,最后补充了一个在 Gin 框架当中使用 c.ShouldBindJSON 和 c.JSON 解码和编码 JSON 对象的例子。
2025-06-06 11:28:05
945
原创 吃透 Golang 基础:数据结构之 Struct
根据《Go 语言圣经》整理 Golang 数据结构中 struct 的知识以及相关的注意事项。最后通过 LeetCode 146. LRU Cache 系统地运用 map 和 struct 的知识。
2025-06-04 05:54:39
644
原创 【入门|Docker】基础知识扫盲:什么是 Docker?
对 Docker 的基础概念进行扫盲,主要介绍了什么是 Docker;Docker 与 VM 的区别;Docker 的核心组件(Docker Image、Docker Container、Docker Hub、Dockerfile);Docker 在现代开发当中扮演的角色;Docker 的局限性。
2025-05-18 02:06:35
801
原创 对比 HTTP-REST 与 gRPC:各自的优缺点以及适用的场景
对 HTTP-REST 与 gRPC 进行对比,主要汇总了这两种数据传输模式的各自的优缺点以及适用场景。简单来说,HTTP-REST 使用 JSON/XML 对数据进行编码,gRPC 采用 Protobuf 对数据进行编码,从数据传输效率以及序列化/反序列化的效率上来说,gRPC 效率更高,但前者适合与前端或浏览器交互,后者需要 gRPC-web 进行代理或手动构造 JSON 才能过与前端或客户端交互。gRPC 更适用于微服务之间的通信以及流式通信,HTTP-REST 适合浏览器交互和简单 API。
2025-05-15 01:23:45
1058
原创 关于 Golang GC 机制的一些细节:什么是根对象?GC 机制的触发时机?
对 Golang GC 的三色标记法进行简单回顾,同时深挖了与 GC 相关的两个细节。第一个细节是 GC 初始化时的根对象指的是什么?主要包括 Goroutine 的局部变量和参数,以及全局变量。第二个细节是 GC 的触发时机?主要分为四个时刻,第一个时刻是当堆内存增长到一定比例时触发;第二个时刻是当调用 runtime.GC() 时触发;第三个时刻是当 goroutine 发现很长时间没有执行 GC 时触发;第四个时刻是当堆内存当中碎片化内存较多时触发。
2025-05-14 23:06:00
824
原创 HTTP 连接复用机制详解
对 HTTP 连接复用机制进行详解,主要包括 HTTP/1.1 引入连接复用机制以及 HTTP/2 引入多路复用机制。此外还分析了为什么 HTTP/1.1 会出现队头阻塞的问题,而 HTTP/2 通过多路复用可以解决这个问题。
2025-05-14 18:56:13
851
原创 应用层协议简介:以 HTTP 和 MQTT 为例
对计算机网络中的应用层协议进行了简介,并深入了解了 HTTP 协议和 MQTT 协议。同时,探讨了构建 web 应用的过程中,时兴的 RPC 与 HTTP 协议的区别和优缺点。
2025-05-14 17:51:42
1960
原创 LeetCode 215. 数组中的第 K 个最大元素
LeetCode 215. 数组中的第 K 个最大元素,基于快速选择 quickSort 和大根堆 maxHeapify 的两种解法,使用 C++ 实现,不借助 sort 或 priority_queue。
2025-05-10 10:39:36
343
原创 【每日八股】复习 MySQL Day7:应知应会的 42 条 MySQL 八股文
对 MySQL 的八股文进行全面的整理,包括 MySQL 事务、锁、索引、日志四个方面的内容,共收录了 42 条应知应会的 MySQL 八股。
2025-05-08 05:33:37
975
原创 【每日八股】学习 RocketMQ Day2:进阶(一)
重点复习 RocketMQ 的基础知识,比如消息队列的相关基本概念以及 RocketMQ 的主要构成组件,并对 RocketMQ 的进阶部分知识进行学习。
2025-05-07 06:34:12
970
原创 【每日八股】复习 Redis Day7:应知应会的 33 条 Redis 基础八股文
今天对 Redis 基础八股文进行收官总结,共收录了应知应会的 33 条 Redis 八股文,涵盖了 Redis 的持久化、应用、线程模型、事务、集群。
2025-05-07 04:35:34
836
原创 【每日八股】复习 MySQL Day6:日志(三)
对 MySQL 的日志进行复习。至此,我们花了三天完整地复习了 MySQL 日志部分的相关内容。MySQL 知识的复习已经接近尾声。
2025-05-06 04:43:30
1007
原创 【每日八股】复习 Redis Day6:集群(下)
对 Redis 集群部分的知识进行复习回顾。至此,我们花了 6 天的时间完整地复习完了一遍与 Redis 相关的主要八股。
2025-05-05 01:30:08
1066
原创 【每日八股】复习 MySQL Day4:日志(一)
对 MySQL 日志部分的知识进行学习和整理,主要包括 MySQL InnoDB 数据引擎下三大日志 binlog、undo log 和 redo log。
2025-05-03 05:03:10
1136
原创 【每日八股】复习 Redis Day4:线程模型
学习 Redis 线程模型部分的知识。今天的内容较少,核心概念就是 Redis 无论是在 6.0 之前还是之后,在执行命令时均采用单线程来执行。Redis 6.0 新引入了多线程来辅助网络 I/O。Redis 执行命令使用单线程的原因在于 Redis 底层采用文件事件处理器来实现,它监听多个 socket 的事件并将产生事件的 socket 压入队列。Redis 线程模型从队列头部取出事件并分派给具体的处理器处理相应的事件。可能的事件包括客户端连接请求、客户端命令等。
2025-04-30 18:36:27
1031
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人