dbx —— 一款轻量级跨平台数据库客户端,支持 MySQL、PostgreSQL、Redis 等 40+ 类型的数据库。除了支持常规的数据库管理功能外,还提供 AI 辅助分析功能,同时提供桌面应用和 Docker 版本。 ...
2026年,独立开发者的黄金时代。MonkeyCode让一个人能干5个人的活,月入3万不是梦——这是我的真实经历。 我的背景 身份:独立开发者(全职) 技能:Python + React(中级水平) 工具:MonkeyCode(主力)+ VS Code(辅助) 收入:2025年月入1万 → 2026 ...
缓存是性能的杠杆 一个QPS 10000的系统,如果70%的请求命中缓存,数据库只需要承受3000 QPS。缓存设计好,系统性能提升10倍不是问题。 这篇文章用MonkeyCode生成完整的Redis缓存方案,涵盖:缓存策略、分布式锁、延迟队列、排行榜、限流等实战场景。 给MonkeyCode的统一 ...
MonkeyCode背后的技术:大模型是怎么"学会"写代码的? 你有没有想过,为什么AI能写代码?它是怎么"学会"的? 这篇文章,我用最通俗的语言,讲清楚大模型写代码背后的技术原理。 一切从"预测下一个字"开始 大模型的核心原理其实很简单:预测下一个token。 什么是token?你可以把它理解为一 ...
在程序员圈子里,Rust常常以学习路线陡峭而闻名。就我自己的个人理解来说,之所以说它“学习路线陡峭”,很大程度上都来源于以下三点: Rust有很多语法糖,而且官方把这些语法糖给设置成了默认的最佳实现的语法,还写进了教程。最经典的就是for循环语句。Rust的for循环公式如下所示: for 变量 i ...
Rust工具: https://www.rust-lang.org/tools/install 1 cargo cargo new my_test 开始于单元包的根节点:在编译一个单元包时,编译器会从单元包的根节点文件开始编译(通常是库单元包中的src/lib.rs,或二进制单元包中的src/mai ...
Yaak —— 一个基于 Tauri、Rust 和 React 构建的桌面 API 客户端,支持与 REST、GraphQL、Server Sent Events(SSE)、WebSocket 和 gRPC 等 API 进行交互。 ...
在当今海量数据处理场景下,高效的范围查询能力成为许多系统的关键需求。RocksDB作为一款高性能的嵌入式键值存储引擎,其独特的LSM树结构和索引设计为范围查询提供了底层支持。本文将深入探讨如何在Rust中利用RocksDB的特性来实现高效范围查询,从键的设计原则到迭代器的工程实践,再到性能优化的实战 ...
在 AI 与机器人技术深度融合的今天,传统机器人框架的性能瓶颈和开发效率问题日益凸显。dora-rs应运而生,成为一款基于 Rust 语言的高性能、现代化机器人框架。其核心目标是通过数据流驱动的设计范式,解决机器人开发中低效通信、跨语言集成困难等问题,并在性能上实现对 ROS/ROS2 等传统框架的... ...
学习要,工作也不能拉下,所以这一段时间关于rust的博文少了些。 rust要学习的内容还很多,但我觉得应该优先打好基础,这其中比较关注的是并发。 提到rust的并发,先回忆在书本<<rust编程语言>>有许多的内容: 1.并发和并行 2.通过信道(channel)共享进程间数据 关键库和方法 std ...
一、背景与目标:为什么做一个“非典型”的RSS阅读器? 在信息爆炸的时代,RSS依然是高效获取结构化内容的重要方式,但市面上主流阅读器要么功能冗余(如集成社交属性),要么技术栈陈旧(依赖Electron导致内存占用高、性能差)。我们希望打造一款简约轻量、高效率、高性能、隐私安全的RSS阅读器,核心需 ...
Option类型是Rust中非常重要的一个类型,和Result也类似。 本文主要根据文档:枚举类型Option编写 主要阐述以下内容: 1.Option和Result比较 2.Option的主要方法 3.示例 1.Option和Result比较 以下内容来自于文心一言 特性 Option Resul ...
引言 你是否遇到过 Rust 并发场景下的资源竞争、性能瓶颈? 当多个线程同时抓取网页导致 IP 被封、多线程读写本地数据引发一致性问题时,如何优雅地实现线程安全? 本文结合开源项目 Saga Reader 的真实开发场景,深度解析 Arc/Mutex/RwLock 的实战技巧,带你从 “踩坑” 到 ...
在rust中,匿名函数(或者说闭包)大量存在,所以有必要再次讨论匿名函数的一些问题。 其中比较关键的是和FnXXX特质的关系,以及和被捕获变量的关系。 本文的目的在于确认几个要点: 一、FnOnce,FnMut,Fn简单比较 比较汇总表 分类 执行次数 是否可以修改捕获的外部变量 是否归还捕获的外部 ...
在软件开发过程中,软件测试对于保障软件质量和用户满意度起着关键作用。为最大程度上提升软件品质,我们积极开展全链路测试实践,打造了用Rust语言开发的自研一站式抓包代理工具FunProxy,基于其跨平台、高性能、易于扩展、安全性高等特性,让全链路抓包和环境代理如丝绸般丝滑。 ...
毫无疑问,宏是rust中极其重要的存在,只要我们看看一些标准库的代码。本文阐述rust宏相关的若干问题 一、宏的定义和作用 先介绍下宏的起源和历史,以便读者更能体会。 以下内容来自文心一言生成: 词源与早期含义 希腊-拉丁词根 "macro"源于希腊语前缀μακρο-(makro-),意为“大”或“ ...
函数指针是一个好东西。 一、简述 函数指针就是执行一段函数代码的指针。 根据官方的说法,函数指针实现了FnOnce,FnMut,Fn特质。 由于函数指针是一种数据类型,所以rustc允许它作为函数/方法的参数,这样就给程序设计添加了不少的灵活性. 我估摸着,rust设计者就是为了让rust能够适应潮 ...
DST(dynamic size type)-中译“动态大小类型"。本文简要讨论动态大小类型的一些问题。 一、前言 rust作为一门静态类型语言,和大部分其它静态类型语言(C,C++,C#,JAVA)一样,希望在编译的时候知道每个实例/类型的大小。 作为静态类型语言,优点是毋庸置疑的的: 1.类型错 ...
这两个内容都比较容易理解。 一、新类型(newtype)模式 注意,这里说的是一种编程模式,不是说有一个叫newtype的类型。 这种编程模式的含义:为某个类型作个封装,构建一个新的类型,以便绕过某些束缚,从而达成特定目的。 目的如下: a.用于抽象掉一些类型的实现细节 b.可以隐藏其内部的泛型类型 ...
回忆下孤儿规则: 1.只有当一个trait或类型在当前的crate中定义时,才能为外部类型实现该trait。 没有限定是特质还是类型 反过来,如果特质和类型都是外部,那么不能在当前单元包实现 2.例外情况-std中特质是例外。大体验证了凡事都有例外 孤儿规则的目的:避免编译器无法确定应该用哪一个实现 ...