自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2419)
  • 资源 (6)
  • 收藏
  • 关注

原创 ruwebframe dbcode 代码工具

本文基于SeaORM代码生成工具,为plat_menu表生成实体模型及数据访问对象(DAO),实现增删改查、分页查询等操作。通过封装通用数据库操作逻辑,构建可复用的领域层数据访问层(domain/rudb),提升开发效率与代码一致性。

2026-09-20 15:52:23 440

原创 ruwebframe0.2.8::最新功能清单--20年经验积累,rust速成必备,WEB开发基石!对标java界的spring、go界的goweb3!

ruwebframe 是一个基于 Rust 的全栈 Web 框架,以依赖注入(rudi)为核心,集成 Web 服务(ruweb)、分页查询与通用 CRUD(rupage)、多数据源连接池(database)等模块。框架采用编译期自动注册、链式调用、统一返回格式(RuResult)等设计模式,支持 YAML 配置、日志系统、定时任务、命令行工具及过程宏,实现开箱即用的高效开发体验。

2026-09-10 10:58:24 250

原创 讲解RuResult PageResult PageResult<R>

实际上,由于 `#[serde(flatten)]`,序列化时 `result` 的字段(code, msg, exist, data)会被平铺,而 PageResult 自身的 `data: Vec<R>` 会**覆盖** `result.data`(因为同名)。1. **`#[serde(flatten)]`**:序列化时,`result` 的字段(`code`, `msg`, `exist`)会被**平铺**到外层 JSON 中,而不是嵌套在 `result` 对象里。

2026-09-07 17:28:11 212

原创 ruwebframe::pagedb讲解

**`init()` 空转** | `page_db.rs:39-44` | `init()` 里判断了 `connection.is_none()` 但 `get_conn()` 又不赋值回去,所以 `init()` 实际上什么都没做 |(T, C, op, v)` | `T::Column::C.op(v)` | 任意 Column 方法(`like`, `gt`, `lt`, ...) |这三个宏用来**简化 SeaORM 的 Column 方法调用**。

2026-09-06 11:17:13 194

原创 rust ureq封装WebClient

<think>我们只需要根据内容生成摘要,不超过150字。内容是关于Rust中WebClient的实现,支持HTTP方法,通过ureq和reqwest,并包含自动注入和测试。摘要应简洁。</think>该代码定义了一个基于Rust的WebClient,封装HTTP请求(GET、POST等),支持URL构建、JSON响应解析,并通过依赖注入实现单例管理,附带测试示例与日志记录功能。

2026-09-03 13:58:58 167

原创 RuConfig扩展

<think>我们只需要根据内容生成摘要,不超过150字。内容是关于Rust配置解析的代码示例,包括函数、结构体和测试结果。摘要应简洁概括核心功能:从YAML配置读取并反序列化为类型化结构,支持占位符替换,测试验证成功。</think>摘要:Rust配置模块实现YAML解析与反序列化,支持占位符替换,并通过parse_object方法将配置键值映射为类型化结构体。测试用例成功读取NATS配置,输出完整字段。

2026-09-01 20:18:24 239

原创 ruwebframe再评估

ruwebframe 是一个有明确愿景但尚处襁褓期的 Rust Web 基础设施项目。作者 leijmdas 在 Go 生态中已证明了其构建大型框架的能力(gowebframe3 规模庞大、功能完备),这种经验迁移到 Rust 是有价值的。当前状态:完成了"地基"的 20%,尚未看到"楼房"。建议如果你是该项目的潜在用户,建议持续观望 6-12 个月,等待 Web 层、ORM 层等核心能力补齐如果你是 Rust 框架研究者,rudi 模块的 DI 自动代码生成思路值得参考的组合,或直接使用Loco。

2026-08-30 11:02:56 267

原创 ruwebframe工程安装

创建工程ruhrms安装模板加载包。

2026-08-25 15:09:34 149

原创 ruwebframe rudi最新注入对象使用

【代码】ruwebframe rudi最新注入对象使用。

2026-08-21 18:35:24 41

原创 ruwebframe rudi改进版Mutex对象可修改

这篇文章介绍了一个使用Rust实现的依赖注入(DI)容器方案,主要包含以下内容: 定义了一个BeanSingleton trait,为单例Bean提供统一接口,包括bean名称获取、创建、查找和注册方法。 展示了如何实现BeanSingleton trait,以DBDao为例,通过register_bean()注册单例,使用find_bean()获取实例。 提供了线程安全的单例访问方式,使用Arc<Mutex<T>>包装实例,确保并发安全。 演示了两种使用方式: 通过全局函数find

2026-08-21 10:05:49 241

原创 https://gitee.com/leijmdas/ruwebframe.git评价

ruwebframe 是一个"有想法但尚处早期"的 Rust 基础设施框架。它的核心贡献在于尝试将 Java/Go 生态中成熟的"配置 + DI + 日志 + CLI"基础设施模式移植到 Rust,这对特定背景的团队有一定吸引力。然而,当前版本(v0.1.6)的下载量极低、文档匮乏、缺乏生产验证,本质上仍属于作者的个人实验项目。学习 Rust 企业级基础设施设计→ 可以阅读源码,rudi 的 AST 解析和代码生成有一定参考价值寻找生产级 Rust Web 框架→ 建议优先考虑AxumActix-web。

2026-08-20 13:17:53 619

原创 rust train 通用化di实现

本文展示了两种在Rust中实现单例Bean的方案。方案一通过定义BeanSingleton trait来统一单例行为,包含BEAN_NAME常量、new_bean工厂方法和find_bean/register_bean等统一接口,使用时只需为具体类型实现该trait。方案二采用声明宏define_bean_singleton进一步简化,可自动生成初始化函数和查找方法,只需提供类型和唯一标识即可完成注册。两种方案都基于Arc<Mutex>线程安全包装,并通过ctor宏实现安全初始化,其中方案二通过

2026-08-19 22:51:42 310

原创 rust-docker安装

这是一个基于Docker的Rust Web框架(ruwebframe)开发环境搭建指南。项目通过Git克隆到本地后,使用Docker进行容器化部署。主要步骤包括:1) 克隆仓库并进入项目目录;2) 使用Cargo构建Rust项目;3) 通过Docker Compose进行容器编排,配置了端口映射(6001)、卷挂载和网络设置;4) 包含构建脚本(build.sh)自动化容器构建、运行和镜像标记过程。Dockerfile配置了工作目录(/root/app)、文件权限和入口点,docker-compose.ym

2026-08-19 13:39:14 228

原创 rust Arc<Vec<String>>如何可以修改

本文介绍了在Rust中修改Arc<Vec<String>>的5种方法:1) 使用Arc<Mutex<Vec<String>>>实现线程安全修改;2) 使用Arc<RwLock<Vec<String>>>适合读多写少场景;3) 不推荐的Arc<AtomicPtr<Vec<String>>>方式;4) 单线程环境下通过Arc::make_mut或替换整个Arc;5) 仅需修改元素时

2026-08-17 21:32:38 303

原创 ruwebframe横空出世,rudi使用大全

### 单例 Bean 的生成代码([rusingle_init.rs](file:///E:/soft/gitee.com/ruwebframe/src/rudi/difactroy/rusingle/rusingle_init.rs))#### 多例 Bean 的生成代码([rumulti_init.rs](file:///E:/soft/gitee.com/ruwebframe/src/rudi/difactroy/rumulti/rumulti_init.rs))

2026-08-15 23:37:49 237

原创 工业级巨匠、开发者神器::rust -> ruwebframe功能清单

ruwebframe是基于Rust(actix-web)的工业级Web开发框架,包含四大核心模块:1) rucmd命令行工具,支持加密/解密、配置查看和依赖注入代码生成;2) rulog日志模块,提供分级日志、文件轮转和控制台输出;3) rudi依赖注入容器,实现类似Spring IoC的功能,支持单例/多例注册;4) rucfg配置管理,基于YAML支持多环境切换和环境变量解析。各模块通过DI容器协同工作,形成完整的基础设施层,定位为对标Go语言的"开发者神器"。

2026-08-12 11:21:31 220

原创 工业级巨匠、开发者神器::RUST简化版依赖注入rudi实现原理

本文详细介绍了Rust依赖注入框架rudi中make_di_all的代码生成原理。该框架采用编译期无侵入设计,通过AST解析自动扫描标记了BaseEntity/BaseEntitySingle trait的结构体,基于模板生成_init.rs注册文件。核心流程包括:1)加载模板文件;2)使用syn进行源码解析;3)模板变量替换生成代码;4)写入目标文件。运行时通过#[ctor]宏实现自动注册,利用OnceLock和RwLock保证线程安全,支持单例/多例两种模式。设计亮点包括无侵入标记、AST级解析、模板化

2026-08-09 14:49:58 509

原创 一个ru redisClient的初步封装

这段Rust代码实现了一个Redis客户端封装,主要功能包括: 使用RedisClient结构体封装Redis连接操作 通过new()方法从配置初始化客户端连接 提供基本操作方法: conn()获取连接 set_key_value()设置键值对 get_key_value()获取键值 使用rulog记录日志 包含错误处理(RedisResult) 代码展示了如何: 创建Redis客户端 建立连接 执行SET/GET操作 处理Redis返回结果 集成日志功能 这是一个基础的Redis操作封装实现,可用于项目中

2026-08-06 18:36:12 170

原创 go resty支持https吗

你可以通过方法,传入 Go 标准的tls.Config结构体来自定义 TLS 行为。跳过证书验证(仅限开发/测试环境)goInsecureSkipVerify: true, // 仅用于测试,生产环境绝对不要开启})使用客户端证书(mTLS)如果你的服务端要求客户端提供证书进行身份认证,可以通过方法加载证书和私钥。go添加自定义根 CA如果服务端使用的是自签名证书或内部 CA 签发的证书,需要将对应的 CA 证书添加到客户端的信任池中。go。

2026-07-29 16:39:28 90

原创 gorm sqlnull有哪些类型

go表格场景推荐纯数据库操作,不涉及 JSON(无需额外依赖)Web API、前后端交互、JSON 序列化null.Bool需要链式操作、更丰富的工具方法null.Bool结论:在 GORM + Web 开发场景中,包是更优选择,它解决了sql.Null*在 JSON 处理上的痛点,代码更简洁、前后端交互更顺畅。null.Bool字段的查询条件写法与普通 bool 字段类似,GORM 会自动处理Valid和Bool字段。goID uintName string // 原生 string。

2026-07-24 09:07:05 383

原创 go 整数的默认值0不传也是查询的解决方法

文章摘要:Go语言中整数字段的零值0在数据库查询时会导致问题,无法区分"未传值"和"传值0"。文中介绍了5种解决方案:1)使用指针类型*int;2)采用sql.NullInt64结构体;3)反射+自定义tag实现通用处理;4)特殊值约定(如-1表示不限);5)GORM框架配合map条件。其中指针类型和sql.NullInt64最推荐,前者语义清晰,后者与SQL生态兼容。作者建议根据项目场景选择方案,并尽量避免使用0值。

2026-07-23 15:17:00 510

原创 rust语法概要

上面是一个交互式 Rust 语法速查表,涵盖了从变量绑定到并发编程的核心内容。Rust syntax cheat sheet 2026 Rust 语法速查 2026。— 这是 Rust 与大多数语言最大的区别。没有 GC,没有手动。,编译器通过所有权、借用、生命周期三规则在编译期保证内存安全。— Rust 中几乎所有东西都是表达式(有返回值),包括。,但它是编译器验证引用有效期的工具,不是运行时开销。处理错误,强迫你显式处理所有边界情况。,函数的最后一句表达式就是返回值(不加。— 虽然写起来像泛型参数。

2026-07-23 10:36:39 508

原创 windows快速搭建rust开发工具环境

整个过程大约 10-15 分钟(取决于网速),之后就可以愉快写 Rust 了。Rust 在 Windows 上需要链接器,安装。如果不想装完整 VS,最小化方案:只安装。—— 语言服务器(代码补全、跳转、重构)—— Cargo.toml 高亮。—— 包管理器 & 构建工具。—— Rust 编译器。

2026-07-23 10:35:07 343

原创 gowebframe3本工程功能清单

GoWebFrame3是一个功能全面的Go语言企业级Web开发框架,提供完整的后端解决方案。核心功能包括:数据库操作(支持多种数据库、ORM和分页查询)、Elasticsearch全文检索(聚合分析、高亮等)、配置管理(Apollo集成)、依赖注入、缓存机制(Redis/本地缓存)以及gRPC支持。框架采用模块化设计,包含Web核心、配置中心、DI容器、规则引擎等模块,并集成Swagger文档和NATS消息队列。典型应用场景包括后台管理系统、日志分析平台和微服务架构。技术栈基于Go 1.18+,支持MySQ

2026-07-16 17:35:49 189

原创 NATS 的 Topic(Subject)通配符

NATS消息系统中的Topic通配符有两种:*匹配单个token,>匹配末尾多个token。关键规则包括:通配符必须单独作为完整token使用(不能拼接字面量),>只能出现在末尾。常见模式如service.*匹配特定服务的所有一级事件,*.action匹配所有服务的特定操作。需注意发布消息时不能使用通配符,且*与>的功能差异:orders.*仅匹配orders.created这类单层子主题,而orders.>可匹配多级子主题如orders.created.us。错误用法包括拼接通配符

2026-07-16 13:28:08 278

原创 goweb3系列解析18:pagedao模块解析,五年开发、精品打造

PageDao是专为Go语言设计的泛型分页数据访问框架,支持MySQL、PostgreSQL和ClickHouse数据库,提供单表操作、多表关联及分组查询功能。该框架通过动态解析数据库元数据自动生成Go结构体,实现类型映射(如int64→bigint)和链式查询构建,内置缓存机制支持列表与单条记录缓存。采用泛型设计(主键P+实体E)结合GORM,支持软删除、动态字段填充等场景,可减少90%重复代码。核心特性包括:元数据驱动的表结构创建、多数据源切换、CRUD操作封装及分页查询优化。相比传统DAO,PageD

2026-06-09 07:40:15 496

原创 goweb3系列解析24: goweb3water数据引擎与计算专家

GOWEB3是一个基于 Go 语言构建的规则引擎与数据计算平台,核心定位是提供灵活、高效的业务规则执行能力。该项目采用了作为规则引擎核心,支持复杂业务规则的配置化执行。服务定位核心能力适用场景dbserver数据库统一访问层SQL查询、元数据、DDL业务数据管理、报表统计esserverES统一访问层全文搜索、分词、聚合日志分析、全文检索ruleserver规则引擎服务规则执行、业务编排政策引擎、决策系统数据存储:通过 dbserver 访问关系型数据库数据检索。

2026-06-09 07:37:49 383

原创 goweb3系列解析28:webexample

webexample模块是goweb3项目中的Web开发示例,展示了基于goweb3框架构建RESTful API的标准实现。该模块采用分层架构(Model-UIRequest-Controller),包含用户联系人实体模型、UI请求封装和控制器三个核心组件。模块实现了完整的CRUD操作,支持依赖注入、泛型查询和自动路由注册。通过testgin测试框架提供测试支持,采用统一的分页和响应格式(PageResult/IchubResult)。文件命名遵循特定约定(如*_init.go用于依赖注入),可作为gow

2026-06-08 00:39:18 466

原创 goweb3系列解析18: goweb3 inst Cmd功能

本文详细介绍了基于Cobra框架构建的goweb3命令行工具的使用方法。该工具包含version、list、stat等多个功能模块,其中install(i)子命令支持一键安装各类组件(websample、cmd、docker等),可通过goweb3 i -h查看具体安装选项。文章解析了命令结构、使用示例和源码实现,并提供了从编译到常用命令的完整操作指南。该工具具有自动帮助生成、命令别名、多级子命令等特性,适合快速构建Go语言Web项目基础设施。

2026-06-08 00:34:55 745

原创 goweb3系列解析13:config配置说明

goweb3项目配置管理说明 项目采用Viper进行多环境配置管理,支持环境变量注入与敏感信息加密。 核心特性: 多环境支持 - 按env.yml标识加载对应配置(如ichub-dev.yml)。 优先级机制 - 环境变量 > 配置文件 > 默认值,敏感信息通过enc()加密(如数据库密码)。 模块化配置 - 支持Web服务、数据库(MySQL/PostgreSQL等)、Redis、gRPC等独立配置,通过结构体分层管理。 动态加载 - 提供API按需读取配置(如cfg.ReadIchubDb(

2026-06-08 00:34:05 417

原创 goweb3系列解析12:gintestframe解析

GinTestframe是Go Web框架Gin的测试工具模块,主要提供模拟HTTP请求、中间件注入和响应解析功能。其核心结构包含HTTP方法、路由路径、处理器函数等属性,支持POST/GET请求初始化。关键特性包括中间件机制(默认认证和自定义)、链式调用风格、类型安全响应解析,以及文件导出测试能力。该工具支持单元测试和集成测试场景,可自动解析为标准结果或分页结果,并能与Web客户端集成调用远程服务。典型应用包括测试处理器函数、带认证的接口测试以及测试套件模式,具有轻量级、灵活性强等特点。

2026-06-08 00:33:57 335

原创 goweb3系列解析5 :gonats 模块解析

构建的分布式通信模块,提供同步请求-响应和异步发布-订阅两种通信模式,是微服务间通信的核心基础设施。:无需等待响应的通知类消息,如日志、事件通知。:减少频繁创建销毁消息对象带来的 GC 压力。:需要等待响应的请求,如查询操作。是 goweb3 项目中基于。

2026-06-07 10:48:08 302

原创 goweb3系列解析2 :godi 解析123

通过分析 Go 源码中的结构体定义,自动生成依赖注入相关的注册和查找代码。1. DiFactroy(DI工厂)Gowebcli为goweb3。2. 生成的代码结构。

2026-06-07 10:27:35 495

原创 goweb3系列解析1 :gocmd 说明​ https://gitee.com/leijmdas/goweb3.git

main.go是goweb3命令行工具的入口文件,是一个基于 Go 语言开发的 Web3 后端脚手架工具,提供代码生成、依赖管理、服务启动等一站式开发能力。

2026-06-07 10:14:40 309

原创 UisimpleQR解析

UiSimpleQR 是 uipageframe 框架的进阶版,核心差异在于它采用了三泛型参数,支持查询参数 → 实体 → DTO 的完整转换链路,专门用于复杂业务场景下的联表查询和 DTO 映射。TrialCoachFrom int64 `json:"fromId,string"` // 转出教练ID。UiSimpleQR 的精髓在于通过泛型在编译期固化三层数据结构,避免了运行时的类型断言和反射,同时保持了代码的整洁和可维护性。

2026-06-01 06:02:57 407

原创 Goweb精讲

goweb 是 leijmdas Go 全家桶中对标 Spring Boot Web / Spring MVC 的核心 Web 框架模块,基于 Gin 进行企业级封装,提供路由、中间件、权限控制、DB/ES 操作、分页查询等完整能力。server.StartWebSwagger(router.Swagger, router.Register) // 启动 + Swagger。var server = webserver.New(serverDto) // 创建服务端。

2026-06-01 01:52:01 410 5

原创 DaoSingle门面单例结构,一个说明开发文档

DaoSingle是基于框架实现的数据访问门面单例,采用门面模式(Facade Pattern)将多个数据访问层(DAO)组件统一封装,提供简洁、统一的数据访问入口。DaoSingle价值说明简化调用统一入口,无需关注底层 DAO 实现解耦业务业务层只依赖门面,不依赖具体 DAO单例管理通过依赖注入容器统一管理生命周期缓存支持内置用户缓存查询能力扩展性强新增 Facade 只需修改DaoQuery文档版本:v1.0创建时间适用范围:GoTrain 项目数据访问层开发import (import (

2026-05-20 12:39:44 518

原创 goGorm统一JoinQueryModel层层封装支持group

", 1).= "" {= "" {for i := 0;i++ {for i := 0;i++ {for i := 0;i++ {for i := 0;i++ {return db。

2026-05-19 17:59:15 449

原创 leijmdas godi goweb框架对标spring

这是一个国内开发者构建的工业级 Go 微服务框架体系,设计理念上大量借鉴了 Spring 的 IoC/DI、AOP、配置管理等核心思想。2. goweb 在 Gin 基础上封装了类似 Spring Boot Web 的企业级功能(权限、中间件、Swagger、服务发现)goweb Spring Boot Web / Spring MVC 基于 Gin 封装的 Web 微服务框架。1. godi 实现了类似 Spring IoC 的依赖注入容器,但通过 Go AST 代码生成避免了运行时反射。

2026-05-18 08:31:38 562 2

原创 go一个UiSimpleQR的应用案例

本文介绍了两个Go语言结构体UiStudentTrainFlow和UiStudentTrainFlowcancel,用于处理学生训练流转和取消的相关操作。UiStudentTrainFlow包含查询转训历史的功能,通过TrainFlowQuery结构体定义查询条件,使用TransDto存储转训状态、教练信息等数据。UiStudentTrainFlowcancel则处理取消训练流程,通过CancelDto存储取消相关信息。两个结构体都实现了分页查询功能,支持按学生ID和训练类型筛选,并默认按创建时间降序排序。

2026-05-08 09:35:34 528

go单词训练的通用结构体

go单词训练的通用结构体

2026-05-28

go结构体设计的更优化 json

go结构体设计的更优化

2026-05-20

go结构体设计的更优化

go结构体设计的更优化

2026-05-20

Go实战全家桶之三十三: go pprof定位问题,自己埋的坑

perfstat

2025-01-08

Go实战全家桶之三十三: go pprof定位问题,自己埋的坑

perfstat

2025-01-08

个性化推荐与活动配置方案

个性化推荐与活动配置方案

2024-04-04

gofactroy代码工厂生成python,go

go代码工厂

2024-04-04

JAVA工具factroy.rar

springcloud dubbo

2021-10-28

rbtest my unit simp-le

ruby good test ,you can study!

2014-08-23

my cpytest --python test frame

python test ''' Created on 2011-11-2 @author: ACER ''' import glob, os from testframe.TestSuite import * class PyTestRunner: @staticmethod def run(suite): TestSuite.run(suite) @staticmethod def autoloadModule( ): TestSuite.autoloadModule() @staticmethod def runAll( ): PyTestRunner.run( TestSuite.allsuites ) def main(): PyTestRunner.autoloadModule() PyTestRunner.runAll() if __name__ == '__main__': main() ''' '''

2011-11-06

mycppunit test frame

c++pragma once #include "itestfixture.h" #include "TestSuite.h" class CTestCase : public ITestFixture { //Register CPPUNIT_TEST_SUITE(CTestCase) CPPUNIT_TEST(test_demo_1) CPPUNIT_TEST(test_demo_2) CPPUNIT_TEST_SUITE_END() public: CTestCase(void); ~CTestCase(void); virtual void setUp(); virtual void tearDown(); void test_demo_1(); void test_demo_2(); // REG_TESTCASE(CTestCase::test_demo_1) // static CTestCase itestcase1("TestCase::test_demo_1", &CTestCase::test_demo_1 ); //static CTestCase itestcase1(std::string("TestCase::test_demo_1"), NULL); };

2011-11-06

my java unit

java package com.myunit; import testapi.ITestAgent.TestLog; @TestClass public abstract class ITestFixture extends MyAssert implements ISubject { IObserver iobs = null; public ITestFixture() { } public ITestFixture(Class testClass) { MyTestSuite.RegTestSuite(testClass); } public void TestLog(String line) { TestLog.TestLog(line); } // public static RegTestcase regtc=new RegTestcase(new ITestFixture()); public abstract void setUp(); public abstract void tearDown(); public void run(MyTestResult result) { } public int countTestcase() { return 0; } public void log(String inf) { sendMessage(new StringBuffer(inf)); MyLog.log(inf); } @Override public void register(IObserver o) { iobs = o; } @Override public void sendMessage(StringBuffer inf) { if (iobs != null) { iobs.action(inf); } } @Override public void unRegister(IObserver o) { iobs = o; } }

2011-11-06

anfang.zip

安防系统安防系统

2019-07-29

空空如也

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

TA关注的人

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