自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 搞懂比特币系列之——挖矿是什么

比特币中的挖矿到底是什么

2025-08-11 09:59:53 1608

原创 搞懂比特币系列之——初步认识比特币

初步认识比特币,比特币到底是什么

2025-08-11 09:58:00 214

原创 Gin框架学习1——初步理解,对比Java Spring Boot来理解

利用Spring Boot 理解 Gin框架

2025-08-07 17:23:07 1005

原创 闪电网络(Lightning Network)是什么

闪电网络就是一种BTC layer 2 的扩容方案

2025-05-30 10:42:07 384

原创 BTC Core v29.0版本之前,能到打包的最大交易限制为3992000weight的解决办法

解决BTC节点打包交易大小的限制

2025-05-29 16:11:32 342

原创 Taproot交易是什么,如何创建Taproot交易,如何在交易中嵌入数据,BTC的铭文和NFT是如何实现的,如何创建一个巨大的交易(vsize达到MB)

本文介绍了比特币Taproot交易的基本原理和实现方式,手把手教你如何创建一个Taproot交易,如何在交易中嵌入自定义的数据

2025-05-29 15:47:12 1345

原创 Rust学习记录

记录rust学习中的一些重要知识点和需要注意的地方,以及一些自己的疑惑和思考

2025-04-09 18:35:28 443

原创 如何更改bitcoin core即比特币节点,来接收大交易,以及如何创建一笔大交易

修改bitcoin core设置来接收大交易,调用createrawtransaction接口来创建一笔大交易

2025-04-01 17:47:27 1230

原创 匿名内部类是什么,简单理解,够用就行

匿名内部类是 一种无需显式定义类名的局部内部类,本质上是通过编译器自动生成类名的语法糖。

2025-04-01 16:43:04 410

原创 systemctl是什么,如何使用

初步了解systemd和systemctl,开发中常用的systemctl命令

2025-03-28 09:29:12 514

原创 区块链中,如何调用Bit RPC接口来对节点Node操作,包括创建交易,验证交易,发送交易等

使用Bit Core RPC接口来与区块链节点交互

2025-03-26 12:01:34 817

原创 解决Idea 快捷键Ctrl + Shift + Enter(回车)失效了问题

codeGPT的Open Prediction功能的快捷键就占用,只需要修改掉就可以了。如果没做任何快捷键改动的情况下,不能用了,很有可能是下载的。,同理其他快捷键也是类似的,可能被占用了。大家可以看看自己最近装了什么插件,然后在。

2025-02-23 09:43:00 1441

原创 修改idea注释颜色

修改idea注释颜色

2025-02-23 09:27:51 1152

原创 idea关掉codeGPT的代码自动补全功能

关掉codeGPT 的代码自动补全功能

2025-02-23 09:14:27 644

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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