- 博客(557)
- 资源 (5)
- 收藏
- 关注
原创 bin格式的日志
*:高效,体积通常为文本格式的 **30%~70%**,数字/时间戳以原始类型存储(如 4 字节。**:冗余度高,JSON 日志尤其臃肿,每条记录重复字段名。可嵌入元数据(日志 Schema 版本),向前/向后兼容。天然支持校验和(CRC32)、数字签名,防篡改能力强。,转换成 JSON 文本,发送到 ES/S3 供分析。当可读性、灵活性、工具生态更重要(应用层、运维侧)。缺点:格式易变,正则解析脆弱(字段顺序/缺失就崩)。无需编译,脚本即写即用,适合运维快速排查。**:高性能写入,占用磁盘少。
2025-11-23 23:22:54
7
原创 Rust 中定义二叉树节点的标准模式
方案优点缺点适用场景直观,易于实现有循环引用风险,运行时检查小型树,无父节点引用打破循环引用代码稍复杂需要父节点引用的树Arena + 索引高性能,内存安全手动管理索引大型树,性能敏感。
2025-11-21 13:35:13
10
原创 GE600 All-in-One Intelligent Video Conferencing Terminal —Building a Borderless Global Collaboration
Pain Points for Overseas-Expanding EnterprisesIs your global team facing these challenges?Brand Barriers: Overseas clients use Cisco/Polycom while domestic teams use Huawei/Tencent Meeting—systems that don't interoperateNetwork Challenges: Unstable cross-b
2025-11-20 12:42:59
843
原创 Option<Rc<RefCell<TreeNode>>>
这个定义是为了适应 Rust 所有权系统,同时保持灵活性。不需要修改结构体,只需在函数内处理这个嵌套类型即可。:这是 Rust 特有的"安全共享可变数据"的折中方案,套了三层是为了解决。:在 Rust 中,默认一个值只有一个所有者。:当最后一个引用被释放时,内存才会真正释放。提供了运行时检查,让你可以通过。就解决了这个共享问题。
2025-11-20 10:26:04
101
原创 二叉树的中序遍历
中序遍历的"中"指根节点在中间被访问,这个特性使其在 BST 相关算法中尤为重要。:对每个子树都递归地执行「先访问左子树,再访问根节点,最后访问右子树」中序遍历是二叉树遍历的一种核心方式,指按照。:O(h),h为树高(递归栈或显式栈的深度):对二叉搜索树(BST)中序遍历会得到。遍历节点3的右子树(以4为根)→。遍历节点7的右子树(以9为根)→。:O(n),每个节点访问一次。的顺序访问树中所有节点。验证一棵树是否为二叉搜索树。表达式树的中缀表达式生成。二叉搜索树的排序输出。
2025-11-20 09:38:11
84
原创 Rust 不能像 Go 一样“开箱即用“地直接在 Windows 上编译 Linux 二进制文件
会自动下载 Docker 镜像,内部包含完整的 Linux 工具链,或 WSL2,而不是直接在 Windows 上配置原生交叉编译环境。:Windows 和 Linux 的可执行文件格式、系统调用完全不同。工具可以达到类似体验。:100% 兼容,无需任何特殊配置。:Rust 编译器生成目标文件后,编译结果与服务器环境完全兼容。这就是为什么我强烈推荐使用。:需要 Linux 的。:配置极其繁琐,成功率低。无需手动处理工具链地狱。
2025-11-19 22:03:27
126
原创 Paxos 和 Raft 是分布式系统中解决共识问题(Consensus)的两个核心算法
(Consensus)的两个核心算法,用于确保多个节点在不可靠网络环境下对某个值或状态达成一致。想象一群分散在不同地点的人(节点),需要通过可能丢失信息的信使(网络)达成一个共同决定。Raft 的出现让共识算法从"黑魔法"变成了"工程师的标准工具",是现代分布式系统的。:数学上极其严谨,安全性(Safety)和活性(Liveness)都有证明。:出了名的难以理解,Lamport 本人都说"它简单到连实现都不需要":没有明确实现细节,导致"一千个人有一千种 Paxos 实现"
2025-11-14 16:43:26
517
原创 SIMD 优化
代码可读性下降,需手动对齐内存(align 32/64-byte),且不同 CPU 型号指令集不同(SSE/AVX/AVX-512):这是实现 ">1M updates/s" 和 "sub-millisecond p99" 的。的 CPU 加速技术,简单说就是:一条指令同时操作一堆数据,而不是一个个来算。用 SIMD 一次算 8 个,延迟从 1000 个时钟周期降到 ~125 个。一次加载 8 个价格档位到 256-bit 寄存器(AVX2),并行比较。模块直接调用 CPU 指令,或依赖。
2025-11-14 16:29:25
131
原创 Rust 单链表(List<T>)
示例,其中就包含“合并两个有序链表”或者“两个链表逐节点取最小值”的场景。的无锁队列),自己写主要是学习所有权和借用检查器。链表的定义与基本操作(push、pop、打印)真实工程里推荐直接用现成的链表库(如。“最小可运行”的 Rust 单链表(的典型用法(合并两个有序链表)只剩一边就把剩余节点全部接过去。Rust 写链表最常用。
2025-11-04 10:00:57
226
原创 iter() 只是 Rust 迭代器的“大门”
(真正开始遍历,产生结果)例子作用把迭代器收进容器.sum().product()数值求和 / 求积.count()元素个数`.any(x`.all(x`.find(xxx`.fold(0,acc, x`.reduce(a, biter()只是“开门”,后面adapter 无限拼接,最后consumer 一次收尾——这就是 Rust 迭代器既快又爽的原因。
2025-11-03 11:36:20
128
原创 &在Rust中不是“取地址”,只是借用(borrow)
/ 这才是“真正的地址”,没拿所有权,也没掏“内存地址”去折腾;Rust 的 & 就是“安全引用”。里表示“引用 / 借用”,而不是 C 语言里“把变量的地址拿出来”。(&T),一种安全指针,编译器自动解引用,不用手动 *&在Rust中不是“取地址”那个意思,这里只是。不允许裸指针运算,生命周期受检查。——Rust 的 & 在。&strs[0] 只是。日常代码几乎用不到。
2025-11-03 11:29:58
116
原创 什么是WebAssembly (Wasm)?
是一种二进制指令格式,设计用于在Web浏览器中高性能地执行代码。不是编程语言,而是一种编译目标类似Java的字节码,但专为Web设计可以在所有现代浏览器中运行执行速度接近原生代码Rust编译为WebAssembly为你的加密钱包提供了:✅顶级安全性- Rust的内存安全特性✅高性能- 接近原生的执行速度✅跨平台- 同一套代码支持Web和移动端✅本地执行- 敏感操作完全在用户设备完成这种技术组合特别适合加密钱包这种对安全性和性能要求极高的应用场景。
2025-10-10 17:39:13
319
原创 cargo build 和 cargo clippy 出现报错,而 cargo check 没有报错
只关心“能不能编译”,而和更严格,分别关注“能不能运行”和“写得好不好”。你用了,所以任何警告都会让clippy失败,而check根本不会报这些。
2025-10-06 17:23:08
402
原创 Rust中Vector 就是「可变长数组」
自身常用函数(非全部,但足够覆盖 90% 场景)一次讲清,方便你直接当“速查表”。离开作用域自动释放。四、再来两个常见链式例子。」:只能放同类型,用。三、快速对比三种迭代器。Vector 就是「二、链式调用逐段拆解。
2025-09-29 23:13:18
281
原创 Vec 的常用函数和链式调用里每个方法
自身常用函数(非全部,但足够覆盖 90% 场景)一次讲清,可以直接当“速查表”。四、再来两个常见链式例子。三、快速对比三种迭代器。二、链式调用逐段拆解。
2025-09-29 17:35:19
271
原创 O(log n) 与 O(n) 的核心区别
你直接对半翻、再对半翻——最多翻 log₂3000 ≈ 12 次就能找到。哦,这是 **O(log n)**,数据再大也不慌!例:二分查找、平衡二叉树查找、堆的插入/删除。数据量翻 10 倍到 30 000 页,也。,3000 页就要看 3000 行。例:数组求和、链表遍历、顺序查找。O(log n) 每翻一倍数据,例:冒泡排序、暴力两数之和。1 先抓直觉:电话簿翻名字。O(log n) 曲线几乎。O(n) 每翻一倍数据,3 代码层面怎么一眼识别。
2025-09-29 15:45:31
170
原创 区块链基本知识点
比特币挖矿的过程,就是找一个nonce随机数,跟区块的块头的其他信息合在一起,取哈希值,这个哈希值要小于等于某个目标阈值。有一个人篡改了区块链中的内容,改了前一个区块的内容,后面的哈希指针就对不上了,再下一个哈希就对不上了,最后系统中保留的哈希指针也得改。23、产生共私钥,要有好的随机源,a good source of randomness,生成公私钥的随机源要好,否则就容易产生同样的公私钥。可以问系统中其他节点要其他区块,有的节点有恶意,怎么知道别人的区块是正确的,就用到哈希指针的性质。
2025-09-29 14:39:39
717
原创 通过“快照→释放锁→异步/网络操作” 的模式,解决系统阻塞问题
在 Rust + Tokio 上写高频交易(HFT)逻辑时,这条思路,但如果真地落到微秒甚至纳秒级场景,需要把细节再往下推两层:锁本身到底要不要?快照怎么做到?异步点是否真的会?下面把搜索结果里的实测数据、社区做法和 Rust 原生能力揉在一起,给你一个可落地的判断清单。
2025-09-29 10:51:46
619
原创 “快照”和“外键”的区别
快照”和“外键”完全不是一回事,它们解决的问题、存在的层面、使用场景都截然不同。外键是“实时守门员”,快照是“某一时刻的照片”。外键管“现在必须合法”,快照留“那一刻的样子”。下面把两者放在同一张对照表里,一眼看懂区别。
2025-09-11 10:15:54
412
原创 VARCHAR(32) 与 BIGINT 当主键的核心区别
与BIGINT当主键的核心区别,一句话:前者是“可变长度字符串”,后者是“8 字节整数”;改回BIGINT就是为了。
2025-09-10 23:32:18
330
原创 为什么使用fastapi-cache,而不是直接使用redis?
fastapi-cache 不是“屏蔽Redis”,而是“把Redis最佳实践做成可插拔的乐高”;先用乐高搭MVP,再逐步替换瓶颈积木,而不是一开始就自己烧砖砌墙。
2025-09-05 16:53:58
323
原创 “一个 model 对应多个 table” 的场景解析
在数据库设计中,“一个 model 对应多个 table” 并不是指数据库层面的一对一映射,而是。下面把常见场景拆开说明,你就能一眼看出为什么必须“一 model → 多表”。业务角度:User 包含多个 Role,Role 包含多个 User。equipment_maintenance_log(历史维修)这些“拆”出来的表,在业务层通常仍被聚合到同一个 model。equipment_clean_record(清洁记录)sales_order_item(行)sales_order(头)
2025-09-04 20:39:00
321
原创 v-if 和 v-show 的核心区别主要体现在渲染方式和性能开销
初始渲染速度比 Vue 2 更快,但。的核心区别主要体现在。在 Vue 3 中,在 Vue 3 中,
2025-09-02 17:54:59
298
原创 FastAPI与Tortoise-ORM的开发中,回写(数据持久化)的实现
python Copy Code async with in_transaction(): user = await User.create(name="test") await Log.create(action="create_user", user_id=user.id) # 关联操作回写:ml-citation{ref="6,9" data="citationList"}在FastAPI与Tortoise-ORM的开发中,回写(数据持久化)的实现主要依赖ORM的异步操作机制和事务管理。
2025-08-27 13:53:19
392
原创 FastAPI 的 lifespan 就像一个「电源总开关」
lifespan 就是 FastAPI 的“开灯 / 关灯”开关,把以前分散的@startup@shutdown合并成一条对称、易读、易维护的代码。
2025-08-26 14:51:14
575
原创 @staticmethod 的作用
一句话跟类(既不拿self也不拿cls放在类里当“命名空间”用,调用时可写,也可写obj.func(),效果一样。
2025-08-25 23:24:35
241
原创 TypeError: CRUDBase.__init__() missing 1 required positional argument: ‘model‘
但 **没有给基类构造函数传。,初始化时必须显式传入。在子类构造函数里显式把。
2025-08-25 00:31:29
274
原创 华为 AppGallery Connect
不强制更新是指可以兼容各个版本,版本更新以后,不影响老版本使用。不能逼迫用户更新软件,要允许用户不更新。1、有人反馈,如果不强制更新,那么每个App的老版本都要对应一个老版本服务器。• 客户端:1 份 uni-app 主工程 + 1 份 Pad 条件编译页面,无多分支、无多 APK。• 服务端:0 套额外服务器,全部走华为 AGC 远程配置 & 更新 SDK。2、但是如果频繁强制更新,用户体验非常差,每次过来都要更新,用户会不满。• 回滚:后台开关 30 秒生效,无需重新打包、重新审核。
2025-08-19 17:36:31
219
原创 迭代器的适配器
只是闭包没有名字,且可以捕获外部变量(这里没用到)。里,它告诉迭代器“对每个元素应用这个操作”。要想真正拿到乘完后的数据,还需要在后面接一个。的每个元素,把它乘以 2」这个操作,而。(closure),你也可以把它想成“把每个元素乘以 2,得到一个新的。把这个新的迭代器绑定给变量。
2025-08-16 09:58:09
240
原创 在 Rust 中迭代器的工作
(iterator)消费器”(consumer / consuming adaptor)就是那些把迭代器吃掉并产生一个最终值的函数(或方法)。调用消费器后,原来的迭代器就不能再使用了,因为它已经被“耗尽”。
2025-08-16 09:53:29
590
原创 逐层拆开说明 Arc<Mutex<Vec<T>>> 中三个组成部分各自是什么?
• 作用:把“对内部数据 T 的访问”串行化,同一时间只允许一个线程拿到锁并拿到可变引用。中三个组成部分各自是什么、解决了什么问题,以及它们组合起来后能达到什么效果。一旦出现多个同时想读写它的引用,编译器会拒绝。• 问题:在多线程或多所有者的场景下,光凭。离开作用域时,计数归零,数据自动释放。其他线程想访问就会被阻塞,直到锁释放。负责“同一时间只有一线程能改”,的计数和操作都是原子化的,因此。负责“多线程共享所有权”,,引用计数原子地加 1;负责“真正存储数据”。本身做不到“共享”。是单线程的引用计数,
2025-08-16 09:45:59
269
CellData细胞数字化生产管理平台:基于GMP规范的全流程质量管理和数字化追溯系统设计
2025-04-12
AI识别软件模块介绍,四大类算法提供周密智能分析:安全布控、行为分析、警戒算法和食品安全算法
2025-04-12
小鱼【云视频会议】小鱼易连会场直播解决方案:设备部署与互动直播模式设计
2025-04-12
小鱼易连-公司及产品介绍-简版.pdf
2020-02-23
小鱼易连与263、Zoom、华为方案整体对比分析-20180919 - 副本.docx
2020-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅