- 1 简介日常工作单人在「提交 (commit)、拉取 (pull)、分支 (branch)、合并 (merge)」足够了,这几个基本操作上Git 本身其实是一个非常强大的版本控制工具。它有很多“隐藏技能”,能在团队协作、调试排错、历史管理方面大幅提高效率。 2 分类: 历史与调试类git bisect —— 二分查找 Bug用来快速定位「哪次提交引入了 Bug」。使用方法: git bi... 1 简介日常工作单人在「提交 (commit)、拉取 (pull)、分支 (branch)、合并 (merge)」足够了,这几个基本操作上Git 本身其实是一个非常强大的版本控制工具。它有很多“隐藏技能”,能在团队协作、调试排错、历史管理方面大幅提高效率。 2 分类: 历史与调试类git bisect —— 二分查找 Bug用来快速定位「哪次提交引入了 Bug」。使用方法: git bi...
- 1 简介编程免不得要处理各种异常,比如系统的,语言层面的,数据库的,业务逻辑的异常。本文从 语言设计哲学 和 SQL错误处理 两个方面来对比分析。 2、Golang 与 Python 在错误处理上的设计理念Go 的错误处理哲学显式 (Explicit) 优于隐式 (Implicit)Go 选择了非常“啰嗦”的 if err != nil 风格,这是出于语言设计哲学:程序员必须正视每一步可能... 1 简介编程免不得要处理各种异常,比如系统的,语言层面的,数据库的,业务逻辑的异常。本文从 语言设计哲学 和 SQL错误处理 两个方面来对比分析。 2、Golang 与 Python 在错误处理上的设计理念Go 的错误处理哲学显式 (Explicit) 优于隐式 (Implicit)Go 选择了非常“啰嗦”的 if err != nil 风格,这是出于语言设计哲学:程序员必须正视每一步可能...
- 一、WebSocket与Go语言的结合在实时通信需求日益增长的今天,传统的HTTP请求-响应模式已无法满足现代应用对实时性的要求。WebSocket协议作为一种全双工通信协议,允许客户端和服务器之间进行持续的双向通信,成为构建实时应用的首选技术。而Go语言凭借其出色的并发模型(goroutine和channel)和高性能网络库,成为实现WebSocket服务的理想选择。本文将基于groil... 一、WebSocket与Go语言的结合在实时通信需求日益增长的今天,传统的HTTP请求-响应模式已无法满足现代应用对实时性的要求。WebSocket协议作为一种全双工通信协议,允许客户端和服务器之间进行持续的双向通信,成为构建实时应用的首选技术。而Go语言凭借其出色的并发模型(goroutine和channel)和高性能网络库,成为实现WebSocket服务的理想选择。本文将基于groil...
- 1 简介FFmpeg是一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频,是一个功能强大但不可见的开源媒体引擎,可以处理 Linux 及其他版本上的大多数视频任务——本周末,开发人员推出了一项重大更新。亮点是 FFmpeg 8.0 添加了基于 Vulkan 计算的编解码器。这些通过利用“适用于 Vulkan 1.3 的任何实现”的计算着色器,为视频解码和编码提供了基于硬件的加速器... 1 简介FFmpeg是一个完整的跨平台解决方案,用于录制、转换和流式传输音频和视频,是一个功能强大但不可见的开源媒体引擎,可以处理 Linux 及其他版本上的大多数视频任务——本周末,开发人员推出了一项重大更新。亮点是 FFmpeg 8.0 添加了基于 Vulkan 计算的编解码器。这些通过利用“适用于 Vulkan 1.3 的任何实现”的计算着色器,为视频解码和编码提供了基于硬件的加速器...
- 1 简介如何运用运用示例,如何“使用”,Go:不能重载,只能“用现成规则”或“用方法/函数替代”可以定义具名类型并沿用其底层类型的运算语义,但不能改变运算符的含义: type MyInt int func f(a, b MyInt) MyInt { return a + b // 可以:语义与 int 完全一致 } // MyInt + int 不行:需要显式类型转换自定... 1 简介如何运用运用示例,如何“使用”,Go:不能重载,只能“用现成规则”或“用方法/函数替代”可以定义具名类型并沿用其底层类型的运算语义,但不能改变运算符的含义: type MyInt int func f(a, b MyInt) MyInt { return a + b // 可以:语义与 int 完全一致 } // MyInt + int 不行:需要显式类型转换自定...
- 1 简介本文深入了解go语言和python在异或位运算的底层实现与算法差异。整数模型(根本差异)Go:有明确固定宽度的原生整型(int8/16/32/64/uint*,int 随平台)。有符号整数用 二补码。按位运算在这个固定位宽上进行(高位被截断或按类型规则保留)。Python:int 是 任意精度大整数(bigint),没有固定位宽。按位运算按数学语义(对无限扩展的二补码视角)定义,返... 1 简介本文深入了解go语言和python在异或位运算的底层实现与算法差异。整数模型(根本差异)Go:有明确固定宽度的原生整型(int8/16/32/64/uint*,int 随平台)。有符号整数用 二补码。按位运算在这个固定位宽上进行(高位被截断或按类型规则保留)。Python:int 是 任意精度大整数(bigint),没有固定位宽。按位运算按数学语义(对无限扩展的二补码视角)定义,返...
- 1 性能简介性能与复杂度(实际运行时考虑),构建树(全量计算):内存:需要把 N 个文件项复制到局部 map(O(N))。时间:对每个目录需要对其条目进行排序。若所有文件都在同一目录(最坏),则排序成本 O(N log N)。总体上常见是 O(sum_k k log k) (k 为各目录条目数)。增量更新优化:可以只重算受影响的目录及其祖先。例如 Put(path) 只需重算其父目录,然后... 1 性能简介性能与复杂度(实际运行时考虑),构建树(全量计算):内存:需要把 N 个文件项复制到局部 map(O(N))。时间:对每个目录需要对其条目进行排序。若所有文件都在同一目录(最坏),则排序成本 O(N log N)。总体上常见是 O(sum_k k log k) (k 为各目录条目数)。增量更新优化:可以只重算受影响的目录及其祖先。例如 Put(path) 只需重算其父目录,然后...
- 1 简介Merkle(Ralph Merkle)定义的核心性质:通过对叶子逐层哈希得到根,根可以高效且不可篡改地代表整个集合/目录树。因每个父节点的哈希是由其子项的哈希决定的,根哈希就体现在树上对所有叶子(文件内容/Blob)和名称/结构的“承诺(commitment)”。本文介绍“Merkle 树”,也说明它和 FlatTree( map[path] -> BlobID 的扁平存储)如何... 1 简介Merkle(Ralph Merkle)定义的核心性质:通过对叶子逐层哈希得到根,根可以高效且不可篡改地代表整个集合/目录树。因每个父节点的哈希是由其子项的哈希决定的,根哈希就体现在树上对所有叶子(文件内容/Blob)和名称/结构的“承诺(commitment)”。本文介绍“Merkle 树”,也说明它和 FlatTree( map[path] -> BlobID 的扁平存储)如何...
- 1 简介本文实现无第三方依赖、可直接运行 的版本管理示例。特点: FlatTree 用 map[string][32]byte 存“路径→blob sha256”。提供:Put/Get/Delete/ListPrefix/RenameDir。提供:MerkleRoot() 计算目录树的哈希(自底向上,目录条目采用确定序:先按名字排序,数据格式 “blob <name>\n<hex>\n” ... 1 简介本文实现无第三方依赖、可直接运行 的版本管理示例。特点: FlatTree 用 map[string][32]byte 存“路径→blob sha256”。提供:Put/Get/Delete/ListPrefix/RenameDir。提供:MerkleRoot() 计算目录树的哈希(自底向上,目录条目采用确定序:先按名字排序,数据格式 “blob <name>\n<hex>\n” ...
- Gin 是一个用 Go 语言编写的高性能 Web 框架,它提供了丰富的功能和灵活的配置选项,适用于构建高效、可扩展的 Web 应用程序。下载gin可以使用go get -u github.com/gin-gonic/gin在 main.go 文件中编写一个简单的 Gin 应用程序package mainimport ( "net/http" "github.com/gin-gon... Gin 是一个用 Go 语言编写的高性能 Web 框架,它提供了丰富的功能和灵活的配置选项,适用于构建高效、可扩展的 Web 应用程序。下载gin可以使用go get -u github.com/gin-gonic/gin在 main.go 文件中编写一个简单的 Gin 应用程序package mainimport ( "net/http" "github.com/gin-gon...
- 1 简介零值初始在Go 的零值初始化(zero-value initialization)是一项核心语言设计,旨在提升程序的安全性、简洁性和可靠性。它背后的“安全性哲学”源自对 C/C++ 中“未定义行为”(undefined behavior)问题的深刻反思,并借鉴了 Java、Rust 等语言在默认值语义上的成功经验。 2 什么是“零值初始化”在 Go 中,使用 var 声明变量时,如... 1 简介零值初始在Go 的零值初始化(zero-value initialization)是一项核心语言设计,旨在提升程序的安全性、简洁性和可靠性。它背后的“安全性哲学”源自对 C/C++ 中“未定义行为”(undefined behavior)问题的深刻反思,并借鉴了 Java、Rust 等语言在默认值语义上的成功经验。 2 什么是“零值初始化”在 Go 中,使用 var 声明变量时,如...
- 作为 `registry` 项目的贡献者,我很高兴能参与这个社区驱动的开源项目,也期待它不断发展壮大。本文将对 `registry` 服务进行介绍,为项目的推广尽一份绵薄之力。 作为 `registry` 项目的贡献者,我很高兴能参与这个社区驱动的开源项目,也期待它不断发展壮大。本文将对 `registry` 服务进行介绍,为项目的推广尽一份绵薄之力。
- 本篇介绍 Go 语言的测试运行记录和覆盖率 本篇介绍 Go 语言的测试运行记录和覆盖率
- 本篇介绍 Go 语言的样本测试 本篇介绍 Go 语言的样本测试
- 本篇介绍Go语言的基准测试的相关内容 本篇介绍Go语言的基准测试的相关内容
上滑加载中
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签