- 博客(28)
- 收藏
- 关注
原创 Go 语言字符串处理核心总结
本文总结了Go语言字符串处理的三大基础类型:string(只读字节切片,UTF-8编码)、byte(1字节,处理ASCII/二进制数据)和rune(4字节,表示Unicode码点)。重点指出直接下标访问字符串会导致多字节字符截断,推荐使用for range循环或转换为[]rune来正确处理字符。最后强调字符串不可变性,修改需先转为[]byte或[]rune再转回。
2025-11-25 11:22:34
320
原创 开发者必备指南:HTTP 请求体(Request Body)全解析
当您与 Web 应用交互时——无论是登录、上传照片,还是调用 API——您都在发送信息。这些信息通常被打包在 HTTP 请求的“Body”(请求体)中。但这些数据是如何组织的呢?form-data和raw这些选项究竟意味着什么?本指南将为你揭开 HTTP 请求体的神秘面纱。我们将从您日常开发中遇到的具体格式开始,一路深入,直至探索数据在网络中传输的最终形态——二进制的0和1。
2025-10-14 17:15:00
480
原创 二叉树三种DFS便利方式特点对比总结
二叉树三种遍历方式特性速记:前序遍历(根→左→右)适合自顶向下传递信息,中序遍历(左→根→右)专用于BST有序访问,后序遍历(左→右→根)则自底向上汇总子树信息。判断方法:需要父节点信息选前序,需要有序性选中序,需要子节点结果选后序。后序遍历+全局变量是解决路径极值问题的黄金组合,适用于树高、直径、最大路径和等问题。代码模板显示前序先处理当前节点再递归子节点,中序在左右递归间处理节点,后序先递归再基于子树结果计算。
2025-10-10 16:15:40
256
原创 WSL使用Codex报错解决:stream error: exceeded retry limit, last status: 401 Unauthorized
把Windows上的.codex/auth.json 复制的WSL的.codex/下。这样WSL就可以直接跳过登录,直接使用了。现在Windows系统上登录验证。
2025-09-29 15:37:11
1684
原创 搞懂比特币系列之——比特币交易过程
所以,总结起来: 比特币的交易,本质上就是“旧支票换新支票”的过程。支票上不仅可以写“转给某个人”,还可以写更复杂的规则,比如要求两个人一起签名,或者必须等到某个时间之后才能花。当新区块被全网接受后,你的旧支票就作废了,新的支票正式生效,资金也就完成了转移。一旦被确认,想要篡改,就必须重做全网的工作量证明,几乎不可能。比如说,现在有三个人:小明、小红和小帅,他们就像一个小小的社群,而比特币系统,就好比是他们共同信任的一家银行。这,就是比特币交易,从直观比喻,到技术细节,再到深层原理的完整过程。
2025-09-16 12:42:32
598
原创 Spring框架的controller,service等等都是单个实例,多个请求同时执行为什么不会产生冲突?
Spring框架中的Controller和Service默认是单例的,但多个请求不会冲突,因为每个请求都在独立的线程中执行,线程栈内存是隔离的。关键点在于: 无状态设计:Spring推荐的无状态服务仅依赖方法参数和局部变量,这些数据存储在线程私有的栈内存中。 线程隔离:每个请求获得独立线程栈,局部变量互不影响,就像多位读者共用同一本字典但各自使用不同的草稿纸。 共享资源:只有类成员变量和静态变量才会引发线程安全问题,这些存储在共享的堆内存中。
2025-09-16 12:39:55
833
原创 Go 语言中的 switch 语法以及重点特征
Go语言中的switch语句分为三种类型:表达式switch(用于值匹配)、无表达式switch(替代if-else链)和类型switch(判断接口类型)。表达式switch支持多值判断和自动中断;无表达式switch通过布尔表达式进行条件判断;类型switch使用.(type)语法识别接口实际类型,并自动转换变量。此外,fallthrough关键字可强制执行下一个case。这些灵活的switch用法使Go语言的条件判断更加简洁高效。
2025-09-10 10:48:31
525
原创 在Go语言中,如何将参数配置化
本文介绍了如何将硬编码参数配置化的实践方法。首先定义配置结构体并设置默认值,然后实现多级配置加载机制,优先级为:命令行参数 > 配置文件 > 默认值。文章详细说明了配置文件解析(支持YAML/JSON格式)和命令行参数处理的实现,最后通过配置接口统一访问方式,并添加了配置验证功能。这种方案提高了程序的灵活性和可维护性,使参数调整无需重新编译代码即可完成。
2025-09-10 10:29:48
321
原创 Go的切片是什么?一些小细节和容易错的地方
Go切片本质上是一个描述底层数组的结构体(切片头),包含指针、长度和容量信息。赋值切片时只是复制切片头而非数据,导致多个切片可能共享同一底层数组。文中通过代码示例揭示了潜在问题:通过切片副本修改元素时,原始切片会同步变化;但一旦append导致扩容,副本将指向新数组,与原始切片失去关联。最佳实践是直接通过原始切片变量操作,避免依赖副本修改,如res[len(res)-1][1]=99而非last[1]=99,尤其当涉及append时更需谨慎处理。理解切片与底层数组的关系对编写正确Go代码至关重要。
2025-09-09 12:22:56
599
原创 使用 iftop 与 tcpdump 查看网络流量与峰值
本文介绍了使用iftop和tcpdump工具分析网络流量的方法。iftop用于实时监控网络连接的带宽使用和峰值流量,通过指定网卡和端口可快速定位问题;tcpdump则能抓取完整数据包并保存为.pcap文件,便于用Wireshark解析协议细节。文章以矿机与代理软件通信为例,演示了两者配合使用的工作流程:先用iftop观察整体流量情况,再通过tcpdump抓取具体数据包进行协议分析。这两种工具的组合能同时满足宏观带宽监控和微观协议分析的需求,是网络运维的实用技术方案。
2025-09-04 16:12:30
412
原创 Protocol Buffers(Protobuf)是什么,为什么能压缩数据,高效传输,达到流量压缩
本文介绍了Protocol Buffers(Protobuf)作为高效数据序列化工具的优势和使用方法。相比JSON/XML,Protobuf通过压缩字段名显著减少传输流量。核心使用步骤包括:1)定义.proto消息结构;2)用protoc生成代码;3)使用生成的方法进行序列化/反序列化。文章还解释了Proto3处理未设置字段的机制:默认值字段会被省略,接收方自动填充默认值。如需区分"未设置"和"默认值",可使用optional关键字。这种设计既保证了兼容性又优化了传输
2025-09-04 15:00:53
512
原创 base64编码是什么
Base64是一种将二进制数据编码为可打印字符的文本化方法。它使用64个字符(A-Z,a-z,0-9,+,/)表示数据,每3个字节(24bit)分为4组6bit数据,对应4个字符,不足部分用"="填充。典型应用包括邮件、URL和JSON等文本传输场景。优点是简单通用,缺点是编码后数据体积增加约33%(3字节变4字节)。
2025-08-22 19:11:48
169
原创 网络协议是怎么应用的——ip,http,https等协议是如何用到请求中的
摘要:网络协议的应用过程是分层协作的结果。浏览器生成HTTP请求后,操作系统通过TCP/IP协议栈自动封装数据包,由网络设备传输。应用层协议由应用程序实现,底层协议由系统和设备处理。HTTP/HTTPS因其简单性、跨平台支持和完整生态成为主流,开发者也可基于TCP/UDP自定义协议。整个过程展示了从用户输入到数据获取的分工协作机制,HTTP的普及源于其通用性和成熟生态。
2025-08-18 15:24:37
818
原创 go mod tidy运行出错,go中的依赖问题解决
摘要:本文介绍了Go项目中使用私有GitLab仓库时运行go mod tidy可能遇到的依赖问题及解决方案。常见错误包括身份验证失败、仓库未找到、版本解析错误等。主要解决方法包括:1) 配置GOPRIVATE环境变量;2) 设置个人访问令牌(PAT)或SSH身份验证;3) 验证仓库路径和版本是否正确;4) 清理本地模块缓存。文章提供了Windows和Linux下的具体配置命令,帮助开发者解决私有模块依赖问题。(150字)
2025-08-13 15:11:29
761
原创 Taproot交易是什么,如何创建Taproot交易,如何在交易中嵌入数据,BTC的铭文和NFT是如何实现的,如何创建一个巨大的交易(vsize达到MB)
本文介绍了比特币Taproot交易的基本原理和实现方式,手把手教你如何创建一个Taproot交易,如何在交易中嵌入自定义的数据
2025-05-29 15:47:12
1345
原创 如何更改bitcoin core即比特币节点,来接收大交易,以及如何创建一笔大交易
修改bitcoin core设置来接收大交易,调用createrawtransaction接口来创建一笔大交易
2025-04-01 17:47:27
1230
原创 解决Idea 快捷键Ctrl + Shift + Enter(回车)失效了问题
codeGPT的Open Prediction功能的快捷键就占用,只需要修改掉就可以了。如果没做任何快捷键改动的情况下,不能用了,很有可能是下载的。,同理其他快捷键也是类似的,可能被占用了。大家可以看看自己最近装了什么插件,然后在。
2025-02-23 09:43:00
1441
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅