- 1 简介Go 和 Python 在内存中字符串的真实存储结构有什么不同,我们如何通过代码直观地“看见”这种差异?本文从三步解释:1️⃣ 先讲清楚理论上的区别(UTF-8 字节序列 vs Unicode 码点数组)2️⃣ 用代码演示它了解这种区别3️⃣ 最后解释这种差异背后的设计取舍 2、理论差异:UTF-8 字节序列 vs Unicode 码点数组语言 Go 内存存储方式:UTF-8 ... 1 简介Go 和 Python 在内存中字符串的真实存储结构有什么不同,我们如何通过代码直观地“看见”这种差异?本文从三步解释:1️⃣ 先讲清楚理论上的区别(UTF-8 字节序列 vs Unicode 码点数组)2️⃣ 用代码演示它了解这种区别3️⃣ 最后解释这种差异背后的设计取舍 2、理论差异:UTF-8 字节序列 vs Unicode 码点数组语言 Go 内存存储方式:UTF-8 ...
- 1 简介Google 在计算机视觉与感知流(perception pipeline)方面的重要开源项目。以下是对其底层实现、算法架构,以及一些值得注意的算法成果的详细分析——供你参考: 2. Google 开源的 CV 框架底层实现与架构图计算结构 + 模块化设计:MediaPipe 使用一种图(graph)结构定义整个视觉/感知流水线,把模型推理、媒体处理、数据转换等功能模块组织成组合组... 1 简介Google 在计算机视觉与感知流(perception pipeline)方面的重要开源项目。以下是对其底层实现、算法架构,以及一些值得注意的算法成果的详细分析——供你参考: 2. Google 开源的 CV 框架底层实现与架构图计算结构 + 模块化设计:MediaPipe 使用一种图(graph)结构定义整个视觉/感知流水线,把模型推理、媒体处理、数据转换等功能模块组织成组合组...
- 1 简介不同语言支持运算符重载程度不同,这是一种允许开发者为自定义类定义运算符行为的方式,使得自定义对象可以像内置类型(如整数或字符串)一样使用运算符(如 +、== 等)。这通过定义类中的特殊方法(也称为“dunder methods”,因为它们以双下划线开头和结尾)来实现。这些方法是 Python 解释器在遇到相应运算符时自动调用的。 2 如何运用定义特殊方法:对于每个运算符,Pytho... 1 简介不同语言支持运算符重载程度不同,这是一种允许开发者为自定义类定义运算符行为的方式,使得自定义对象可以像内置类型(如整数或字符串)一样使用运算符(如 +、== 等)。这通过定义类中的特殊方法(也称为“dunder methods”,因为它们以双下划线开头和结尾)来实现。这些方法是 Python 解释器在遇到相应运算符时自动调用的。 2 如何运用定义特殊方法:对于每个运算符,Pytho...
- 1 简介本文用例子 + 逐位演算来说明 二元按位异或(XOR, ^) 在 Go 中的过程,以速览方式了解该运算过程。异或定义(真值表) 0 ^ 0 = 0 0 ^ 1 = 1 1 ^ 0 = 1 1 ^ 1 = 0异或有两个重要代数性质:a ^ a = 0,a ^ 0 = a,且对换、结合律成立(commutative & associative)。... 1 简介本文用例子 + 逐位演算来说明 二元按位异或(XOR, ^) 在 Go 中的过程,以速览方式了解该运算过程。异或定义(真值表) 0 ^ 0 = 0 0 ^ 1 = 1 1 ^ 0 = 1 1 ^ 1 = 0异或有两个重要代数性质:a ^ a = 0,a ^ 0 = a,且对换、结合律成立(commutative & associative)。...
- 1 简介Go 中按位非(^x)的过程,按位非把二进制表示的数字每一位翻转:0→1,1→0,并且在该类型的位宽内进行。无符号示例(uint8) package main import "fmt" func main() { var a uint8 = 0b01011010 // 0x5A = 90 r := ^a ... 1 简介Go 中按位非(^x)的过程,按位非把二进制表示的数字每一位翻转:0→1,1→0,并且在该类型的位宽内进行。无符号示例(uint8) package main import "fmt" func main() { var a uint8 = 0b01011010 // 0x5A = 90 r := ^a ...
- 1 简介本文介绍“扁平树(flat tree)”的算法思想、使用场景及其将扁平的注释数组转换为树状结构。当需要在 Web 应用程序中呈现嵌套注释或任何其他分层数据时,此技术特别有用。我们将编写一个名为 buildCommentsTree 的函数,该函数将注释的平面数组作为输入,并返回一个类似树的注释数组。 2 扁平树的算法原理(“路径 → blob 哈希”)此方法涉及创建映射或引用对象来存... 1 简介本文介绍“扁平树(flat tree)”的算法思想、使用场景及其将扁平的注释数组转换为树状结构。当需要在 Web 应用程序中呈现嵌套注释或任何其他分层数据时,此技术特别有用。我们将编写一个名为 buildCommentsTree 的函数,该函数将注释的平面数组作为输入,并返回一个类似树的注释数组。 2 扁平树的算法原理(“路径 → blob 哈希”)此方法涉及创建映射或引用对象来存...
- 1 简介在 Go 里按位或是 |,|| 是逻辑或(只用于 bool)。本文都以 按位或 | 为例说明 2 按位或的过程(Go 示例)规则(逐位): 0|0=0, 0|1=1, 1|0=1, 1|1=1 package main import "fmt" func main() { a := 6 // 0110 b := 11 // 1011 r... 1 简介在 Go 里按位或是 |,|| 是逻辑或(只用于 bool)。本文都以 按位或 | 为例说明 2 按位或的过程(Go 示例)规则(逐位): 0|0=0, 0|1=1, 1|0=1, 1|1=1 package main import "fmt" func main() { a := 6 // 0110 b := 11 // 1011 r...
- 1 简介本文通过例子来说明 Go 语言中 按位与运算(&)的过程,并对比 Python 中的差异。 2. Go 语言中的按位与运算Go 使用 & 运算符对两个整数逐位执行 AND 运算。规则和大多数语言一致:二进制位都为 1 → 结果为 1否则结果为 0示例: package main import "fmt" func main() { a := 6 // 二进制: 0... 1 简介本文通过例子来说明 Go 语言中 按位与运算(&)的过程,并对比 Python 中的差异。 2. Go 语言中的按位与运算Go 使用 & 运算符对两个整数逐位执行 AND 运算。规则和大多数语言一致:二进制位都为 1 → 结果为 1否则结果为 0示例: package main import "fmt" func main() { a := 6 // 二进制: 0...
- 1 简介经典背景里,我们研究**开放定址(open addressing)**哈希表,不允许在插入之后再搬动旧元素(no reordering)。负载越高(越接近满表),查找/插入会变慢。用 δ 表示空槽比例(slack,越小越满),令 x=1/δ 表示“接近满”的程度。姚期智(1985)证明了:在“贪心”开放定址(每个键用自己的探查序列里第一个空位)的世界里,均匀探查(uniform p... 1 简介经典背景里,我们研究**开放定址(open addressing)**哈希表,不允许在插入之后再搬动旧元素(no reordering)。负载越高(越接近满表),查找/插入会变慢。用 δ 表示空槽比例(slack,越小越满),令 x=1/δ 表示“接近满”的程度。姚期智(1985)证明了:在“贪心”开放定址(每个键用自己的探查序列里第一个空位)的世界里,均匀探查(uniform p...
- 1 新的散列简介克拉皮文(Karp)的新策略发现,Richard M. Karp(克拉皮文)是计算机科学领域的著名学者,以其在算法和理论计算机科学中的贡献而闻名。文中提到的“在不知道姚猜想的情况下发现了新的策略”,可能指的是 Karp 在研究哈希表或相关数据结构时,独立提出了一种与线性探测相关的优化策略或新的散列方法。以下是对其发现的分析: 2 Karp 的背景与贡献Karp 在算法设计、... 1 新的散列简介克拉皮文(Karp)的新策略发现,Richard M. Karp(克拉皮文)是计算机科学领域的著名学者,以其在算法和理论计算机科学中的贡献而闻名。文中提到的“在不知道姚猜想的情况下发现了新的策略”,可能指的是 Karp 在研究哈希表或相关数据结构时,独立提出了一种与线性探测相关的优化策略或新的散列方法。以下是对其发现的分析: 2 Karp 的背景与贡献Karp 在算法设计、...
- 1 简介术语 “开放地址探测”(Open Addressing)。我们先搞清楚这个核心概念,然后对比:什么是“开放地址探测(Open Addressing)”?在哈希表中,开放地址探测 是一种解决哈希冲突的方法。当两个 key 计算出相同的哈希槽(bucket)时,它不会用链表储存多个元素(如 Go 旧版或 Java HashMap 可能做的),而是寻找下一个“可用”的槽位进行存储。核心思... 1 简介术语 “开放地址探测”(Open Addressing)。我们先搞清楚这个核心概念,然后对比:什么是“开放地址探测(Open Addressing)”?在哈希表中,开放地址探测 是一种解决哈希冲突的方法。当两个 key 计算出相同的哈希槽(bucket)时,它不会用链表储存多个元素(如 Go 旧版或 Java HashMap 可能做的),而是寻找下一个“可用”的槽位进行存储。核心思...
- 1 简介编程语言Go 1.24 中引入了 Swiss Table 作为 map 数据类型的新底层实现,这是 Go 语言发展中的一个重要改进。这个实现借鉴了现代编程语言(如 C++ 和 Rust)中的哈希表优化技术,尤其是来自 Google 的 SwissTable 实现(在 C++ 的 absl::flat_hash_map 和 Rust 的 HashMap 中应用)。这次更改提升了性能、... 1 简介编程语言Go 1.24 中引入了 Swiss Table 作为 map 数据类型的新底层实现,这是 Go 语言发展中的一个重要改进。这个实现借鉴了现代编程语言(如 C++ 和 Rust)中的哈希表优化技术,尤其是来自 Google 的 SwissTable 实现(在 C++ 的 absl::flat_hash_map 和 Rust 的 HashMap 中应用)。这次更改提升了性能、...
- 开篇你的 RAG 系统能回答"人工智能的发展趋势"这类宏观问题吗?传统向量检索在面对复杂查询时往往力不从心。香港大学团队开源的 LightRAG 提供了新思路:用知识图谱双层索引重构检索架构,在保持轻量化的同时,让索引速度比 GraphRAG 快 10 倍。 一、传统 RAG 的三大痛点向量检索 依赖语义相似度匹配,在实际应用中暴露出明显短板:1. 全局问题无解无法回答跨文档的宏观问题,比... 开篇你的 RAG 系统能回答"人工智能的发展趋势"这类宏观问题吗?传统向量检索在面对复杂查询时往往力不从心。香港大学团队开源的 LightRAG 提供了新思路:用知识图谱双层索引重构检索架构,在保持轻量化的同时,让索引速度比 GraphRAG 快 10 倍。 一、传统 RAG 的三大痛点向量检索 依赖语义相似度匹配,在实际应用中暴露出明显短板:1. 全局问题无解无法回答跨文档的宏观问题,比...
- 很多开发者学 Python 都是东拼西凑,学完基础不知道怎么做项目,学完框架不懂底层原理。最近整理了一套比较系统的学习资源,从基础语法到架构设计都有覆盖,分享给需要的朋友。 什么是真正的 Python 全栈开发在整理学习资料时,发现很多同学对"全栈开发"这个概念理解得比较模糊。到底需要掌握哪些技术?各模块之间是什么关系?今天结合一套比较完整的课程大纲,系统拆解一下 Python 全栈开发的技... 很多开发者学 Python 都是东拼西凑,学完基础不知道怎么做项目,学完框架不懂底层原理。最近整理了一套比较系统的学习资源,从基础语法到架构设计都有覆盖,分享给需要的朋友。 什么是真正的 Python 全栈开发在整理学习资料时,发现很多同学对"全栈开发"这个概念理解得比较模糊。到底需要掌握哪些技术?各模块之间是什么关系?今天结合一套比较完整的课程大纲,系统拆解一下 Python 全栈开发的技...
- 你的应用真的安全吗?传统安全扫描工具给你一堆"可能存在的漏洞",但哪些是真的?Strix是一个开源的AI安全测试工具,它不只是扫描代码找问题,而是像真正的黑客一样——运行你的程序、尝试攻击、验证漏洞是否真实存在。这个项目最近在GitHub上获得了3.1k星标,核心亮点是把原本需要几周的人工渗透测试压缩到几小时完成。 解决什么问题做过安全测试的人都知道这些痛点:找安全公司做渗透测试,一次几万块... 你的应用真的安全吗?传统安全扫描工具给你一堆"可能存在的漏洞",但哪些是真的?Strix是一个开源的AI安全测试工具,它不只是扫描代码找问题,而是像真正的黑客一样——运行你的程序、尝试攻击、验证漏洞是否真实存在。这个项目最近在GitHub上获得了3.1k星标,核心亮点是把原本需要几周的人工渗透测试压缩到几小时完成。 解决什么问题做过安全测试的人都知道这些痛点:找安全公司做渗透测试,一次几万块...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签