- 博客(1074)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 在win11安装nodejs
如果没有 → 编辑 → 新建 → 粘贴上面路径 → 确定 →。nvm-windows 会自动管理 PATH,不需要手动配。一条命令把路径、缓存、镜像全设好,以后换电脑直接跑。如果你需要在一台机器上切换多个 Node 版本,推荐用。能输出版本号就说明 PATH 已自动配好。里会放全局安装的 CLI 工具(比如。能输出版本号就说明全局目录生效了。输出应该是你刚设的 D 盘路径。你也可以直接编辑这个文件。
2026-11-06 01:30:00
250
原创 Rust 的impl语法详解
Rust 的 impl 用于为类型定义方法或实现 trait,分为固有实现与 trait 实现。支持泛型、条件实现(where 子句)、关联类型与常量,还可为引用、元组及所有满足约束的类型实现 trait。impl Trait 语法用于函数参数或返回值,实现“全覆盖”(blanket)模式。核心原则是:impl 块仅挂载实现,约束由类型参数与 trait bound 决定。
2026-10-31 01:30:00
559
原创 Rust 智能指针 RefCell<T> 与内部可变性模式
RefCell<T> 实现内部可变性,允许在不可变引用下修改数据,通过运行时借用检查替代编译时限制。它与 Rc<T> 结合可构建多所有者共享且可变的数据结构,常用于测试中的 Mock 对象,如记录消息发送次数。其核心方法 borrow() 与 borrow_mut() 在运行时确保借用安全,违反规则将导致 panic。适用于单线程场景,是实现灵活内存管理的有力工具。
2026-10-30 01:30:00
636
原创 Rust智能指针Rc<T> 使用总结
Rc<T> 是 Rust 中用于实现多所有权的引用计数智能指针,适用于单线程下多个部分共享同一堆上数据的场景。它通过维护引用计数确保数据在仍有使用者时不会被释放,解决 Box<T> 无法共享所有权的问题。Rc<T> 只支持不可变共享,需配合 RefCell<T> 实现内部可变性。使用 Rc::clone(&a) 可高效复制引用(不深拷贝),并可通过 Rc::strong_count 检查引用数量,自动管理生命周期,是构建共享结构(如树、图)的核心工具。
2026-10-29 01:30:00
335
原创 Rust 迭代器三剑客:iter、iter_mut 与 into_iter 的设计哲学与实战指南
Rust中iter、iter_mut与into_iter分别实现不可变借用、可变借用和所有权转移的迭代。iter()返回&T,仅读取;iter_mut()返回&mut T,可修改元素;into_iter()消耗集合,返回T,适合转移所有权。for循环自动选择合适方式,泛型代码推荐使用IntoIterator。正确选择取决于是否需要修改、是否保留原集合及所有权需求。
2026-10-24 21:39:25
208
原创 Rust语言——关联类型
关联类型是 Rust 中将特定类型与 Trait 绑定的机制,允许在实现时确定类型,避免泛型带来的重复实现和复杂签名。相比泛型,它适用于“1 对 1”关系(如 Iterator::Item),提升 API 简洁性与可读性。典型场景包括迭代器、容器和图结构等,而泛型更适合多态重载或输入参数。合理选择可增强代码表达力与类型安全。
2026-10-24 19:46:19
212
原创 Rust 语言测试的组织结构
Rust 通过单元测试(#[cfg(test)] 内部模块)与集成测试(tests/ 目录)实现分层测试。单元测试聚焦私有接口,与源码共存;集成测试模拟外部调用,仅访问公有 API,需显式导入库。tests/common/mod.rs 可避免冗余输出。二进制项目应拆分逻辑至 src/lib.rs 以支持集成测试。测试按单元 → 集成 → 文档顺序执行,失败则跳过后续。
2026-10-24 19:45:04
338
原创 golang ai-agent 项目设计
ai-agent 项目以领域驱动设计(DDD)与六边形架构为核心,构建可组合、可审计、可恢复的 AI Agent 运行时。核心聚焦租户、会话、模型生成、工具调用、审批与持久化等垂直切片,通过端口与适配器解耦模型、存储、沙箱等可变能力。严格遵循依赖倒置:领域层仅定义端口,基础设施实现端口,杜绝领域依赖外部技术栈。采用统一语言规范语义,确保系统稳定可验证。基于 NIST GenAI Profile 与 OpenTelemetry 观测标准,支持可观测性与合规治理。首期不涉训练、多活、全量数据保留等非目标,保障可
2026-10-23 23:00:00
610
原创 Rust 核心语法与内存安全机制
本文通过一段简短的 Rust 代码,深入解析其核心语法与内存安全机制。重点涵盖:默认不可变绑定、类型推断、Option 表达缺失值、match 穷尽性匹配、if let 解构、&self 借用、结构体所有权及 Copy 语义。对比 C++、Java、Go 等语言,凸显 Rust 在编译期保障内存安全、避免空指针、强制处理异常状态的设计优势。现代 Rust 的“匹配优化”(Match Ergonomics)使模式匹配自动处理引用层级,提升代码简洁性与安全性。
2026-10-21 15:10:17
302
原创 Deepseek小工具Reasonix — 安装与卸载完整指南
《Reasonix安装与卸载完整指南》摘要: Reasonix支持npm(需用@next安装1.x版本)、Homebrew和桌面端三种安装方式,各平台均有详细步骤说明。首次启动需配置DeepSeek API Key并保存至~/.reasonix/。卸载时需根据安装方式执行对应命令(如npm uninstall -g或拖入废纸篓),并手动删除残留配置目录~/.reasonix以彻底清理缓存和密钥。文章提供安装/卸载对照速查表,强调卸载后清理配置目录的必要性。
2026-06-21 22:30:00
2002
原创 具身智能入门——李群、 李代数、 四元数
具身智能 = 智能体通过物理本体与真实环境实时交互,形成「感知 → 决策 → 行动 → 再感知」的闭环,从中学习与完成任务。离身智能(disembodied):ChatGPT、文生图……它们是"脑",但没有身体,不与物理世界直接交互。像一个博学的军师,能运筹帷幄,但不能亲自上阵。具身智能(embodied):人形机器人、机械臂、自动驾驶、无人机……它们有本体(硬件载体)+ 感知器(相机/激光/IMU)+ 执行器(电机/轮子),必须在真实物理规则下干活。举个具体例子:你说"我渴了",具身智能体需要完成。
2026-06-14 00:30:00
605
原创 vue3中使用 defineProps 和 defineEmits
本文详细介绍了Vue 3的<script setup>语法糖中两个核心宏的用法: defineProps:用于声明组件props,支持数组和对象两种形式,对象形式可添加类型校验、默认值等配置 defineEmits:用于声明自定义事件,支持数组和带校验的对象写法 文章通过代码示例演示了父子组件通信的实现,并对比了Composition API与Options API的差异,最后强调了五点重要注意事项。这些API无需导入即可使用,是Vue 3推荐的组件通信方式。
2026-06-12 00:30:00
318
原创 zig语言学习笔记——Capy UI vs Zapy UI 对比
Capy UI与Zapy UI对比摘要 Zapy UI是Capy UI的活跃复刻版,旨在解决原项目维护缓慢的问题。两者共享相同的声明式UI架构、原生控件后端(Win32/GTK3/AppKit)和WASM支持,代码层面几乎一致。核心差异在于: 维护状态:Zapy锁定Zig 0.15.1,更积极修复BUG,而原版Capy开发节奏较慢; WASM支持:Zapy明确优化Web端体验; 稳定性:两者均标注非生产就绪,但Zapy更主动调整API。 选型建议:短期开发推荐Zapy(兼容性更好),长期需观察原版Capy是
2026-06-09 00:30:00
489
原创 zig语言学习笔记——heap-memory安全转移Arena数据所有权
默认采用“深度复制”:清晰安全,逻辑简单,只在数据量极大且复制代价过高时再考虑优化(如改用共享 Arena)。使用errdefer保证复制失败时不会泄露目标 Arena 中的部分分配。如果数据结构非常复杂(如包含递归、循环引用),考虑改用引用计数或外部生命周期管理(如借用检查),但 Zig 标准库不直接提供这些,通常需要手工实现。在异步或并发场景下,注意 Arena 本身不是线程安全的,需要加锁或为每个线程/任务分配独立 Arena。选择哪种方案取决于你的实际性能需求和代码复杂度。
2026-06-09 00:30:00
281
原创 zig语言学习笔记——Zig 的三大内存区域
Zig内存管理三区域对比: 静态存储区(Global Data) 存放编译期确定的数据(字符串字面量、全局const/var) 生命周期=程序运行期 无需手动管理 栈(Stack) 存放函数参数和局部变量 自动分配/释放(函数调用时压栈/弹栈) 速度快但容量有限 不能返回栈变量指针(导致悬垂指针) 堆(Heap) 用于动态内存分配 必须显式使用Allocator(推荐GeneralPurposeAllocator) 需手动释放(配合defer确保安全) 生命周期由开发者控制 决策原则: 编译期已知+短生命周
2026-06-08 00:30:00
423
原创 zig语言学习笔记——heap-memory怎样安全地在Arena之间转移数据所有权
—你要么让整个 arena 活够长(把 arena 的生命周期提升到调用方),要么。没有第三条路。
2026-06-06 01:30:00
401
原创 zig语言学习笔记——栈内存
文章摘要:程序内存通常分为全局空间、调用栈和堆三部分。重点讨论了栈内存和常见的悬空指针错误,通过Zig代码示例展示了返回局部变量指针的错误写法。提供了两种正确解决方案:1)使用堆分配内存(需手动管理生命周期);2)直接返回值类型。最后对比了不同写法的适用场景,强调永远不要返回局部变量的指针。全文150字,概括了内存管理的关键概念和实际编程中的正确实践。
2026-06-06 00:30:00
309
原创 zig语言学习笔记——heap-memory
Zig 的"堆"不是一个地方——它是一个策略问题。你选一个实现了Allocator接口的分配器 → 调拿内存 → 用defer还回去。没有魔法,没有 GC,但所有分配都明明白白写在代码上。如果你想进一步深入某个方向——比如自己实现一个自定义 AllocatorGPA 内部结构、或Zig 0.13/0.14 后 DebugAllocator vs GPA 的变化——告诉我你用的 Zig 版本,我可以继续展开。
2026-06-06 00:30:00
555
原创 zig语言学习笔记——指针
创建了一个 power 为 100 的用户,然后调用 levelUp 函数将用户的 power 加一。注意,levelUp不能写成下面这样。
2026-06-05 00:30:00
80
原创 zig语言学习笔记——Heap Memory使用方法
大型 Zig 项目里"正确使用 heap"不是学会更多 allocator API,而是建立三条纪律:分配器永远显式传入(没有隐式来源)→ 分配点可见每块内存的生命周期归属于一个明确的 owner(arena / struct-with-deinit / pool slot)→ 释放点可审计跨边界的数据要么拷(带deinit协议),要么生命期对齐到同一 arena→ 没有悬垂做到这三点,heap 就从"恐惧来源"变成了"你安排好的资源调度"。如果你愿意贴一下你现在的build.zig。
2026-06-04 00:30:00
374
原创 zig语言学习笔记——不支持函数重载
Zig 的设计哲学强调显式行为和代码可读性,因此不支持函数重载。与 C++/Java 等语言不同,Zig 要求函数名唯一,通过 comptime 泛型、明确命名或 anytype 实现类似功能。comptime 是 Zig 的核心特性,允许编译期执行代码,用于泛型、类型生成等,相比 C++模板更直观且无运行时开销。Zig 追求简单性和确定性,认为显式代码优于隐式魔法,尤其适合系统编程。
2026-06-03 00:30:00
483
原创 zig语言学习笔记——方法
摘要: Zig与Go在方法设计上有根本区别。Zig没有语言层面的"方法"概念,只有函数。"方法"本质上是结构体命名空间中的普通函数,第一个参数为结构体实例(如fn inc(self: *Counter))。obj.method()仅是Type.method(obj)的语法糖,无动态派发或隐式行为。Zig通过显式参数设计(而非Go的接收者语法)强调代码透明性,拒绝隐藏控制流或内存操作。与Go的接口自动匹配不同,Zig需手动实现类似功能。开发者可自由选择方法风格(操作状态)或纯函数(工具逻辑),但两者在编译后完
2026-06-03 00:30:00
311
原创 golang语言Solod、TinyGo、Zig、Odin
想用 C 写底层,但受够了 C 的坑:去看看Solod或Odin。是 Go 语言爱好者,想搞嵌入式或前端 WASM:直接上手TinyGo。想深入学习现代编译原理和极致的内存安全控制:研究Zig。这篇文章的作者是(知名开源作者,redka4.5K⭐、sqlean4.3K⭐),讲的是他做的一个激进实验项目 ——Solod(简称 So)“既然 Go 越走越远、离 C 越来越远,那我就做一个——用 Go 语法写、但零运行时零 GC、直接编译成纯 C11 的语言。
2026-05-30 00:30:00
558
原创 PostgreSQL 19 New Features
可以将现有的关系表暴露为属性图,并使用模式匹配语法进行遍历,从而消除了大多数工作负载对独立图数据库的需求。与嵌入在 SQL 注释中的 Oracle 或 MySQL 提示不同,建议存在于 GUC 设置中,并包含一个反馈机制,告诉你每个提示是否被采纳。每个工作者处理一个索引。对于 4 个工作者和 5 个索引,索引清理阶段完成的时间大约等于最大的单个索引所需的时间,而不是五个索引的总和。暴露了更多细节,并且按进程类型的日志记录允许你提高 autovacuum 或归档器的详细程度,而不会让日志的其他部分泛滥成灾。
2026-05-17 01:00:00
879
原创 多租户 RBAC 模型设计方案
摘要:本文提出基于Go技术栈的多租户RBAC模型设计方案,采用共享数据库+tenant_id行级隔离策略,结合Gin、GORM、PostgreSQL等技术实现统一隔离与高性能。方案包含完整的数据库设计,涵盖租户管理、用户体系、组织架构(混合邻接表/物化路径/闭包表)、RBAC权限模型(角色-资源绑定)以及精细数据范围控制(ALL/DEPT/SELF等5种类型)。通过GORM全局作用域自动注入租户隔离条件,配合索引优化确保查询效率,同时支持多组织兼职、动态权限分配等复杂场景,形成一套可扩展的权限管理体系。
2026-05-09 00:30:00
545
原创 Buf CLI 快速入门
设置本地工作区。生成代码以使用您选择的语言实现 API。对文件进行代码检查以提高代码质量和一致性。检测破坏性变更以避免破坏下游消费者。使用集成生成代码的服务器应用程序访问您的 API。要了解如何在大型组织中更有效地使用 Protobuf 模式,请接着完成Buf Schema Registry 快速入门。
2026-05-07 00:30:00
782
原创 DDD领域驱动设计,项目结构目录说明
上述结构遵循 DDD 分层,核心业务逻辑封装在domain,外部依赖(Web、DB、Cache)在和interface。TenantID作为值对象贯穿领域层;仓储接口方法均接收tenantID;应用层和中间件确保当前租户上下文正确传递。该方案适合中大型项目,保持高内聚低耦合,便于长期演进和测试。
2026-05-05 00:30:00
517
原创 2026版git使用流程说明
先在远程创建一个空仓库,一定要是空的。如果创建完后,仓库页面没有显示,操作命令,说明创建的不是空仓库,再创建一个新的空仓库(之前旧的可以观看页面提供的命令)。
2026-05-03 01:00:00
143
原创 多租户管理系统,用户表,IsSuperAdmin,IsTenantAdmin,IsCompanyAdmin,IsDeptAdmin需要吗?
加上是更好的。它明确了“租户内最高权限者”的概念,既保证了系统的健壮性(防误删权限),又提升了性能,是企业级应用中常见的最佳实践。字段建议状态理由必须有SaaS 平台运维兜底,系统级权限。必须有租户老板兜底,防止租户误删权限把自己锁死。不要有这是业务逻辑,应由代替。不要有这是业务逻辑,应由代替。一句话原则:凡是能用“角色配置”解决的业务权限,都不要在数据库表结构里加布尔字段。
2026-04-30 23:00:00
557
原创 多租户系统PostgreSQL
文章摘要 PostgreSQL 的行级安全策略(RLS)可以有效解决多租户数据权限问题。通过在数据库层实现权限控制,具有三大优势:简化应用层代码、防止越权访问、提升查询性能。核心方案是引入树形路径(TreePath)字段,结合PG的ltree扩展实现层级关系管理。模型设计上,公司/部门表增加TreePath字段存储路径信息(如"1.5.20")。RLS策略通过会话变量获取用户上下文,根据DataScope等权限参数动态过滤数据。租户管理员可访问全部数据,普通用户则按公司/部门路径进行权限
2026-04-30 22:00:00
679
原创 如何在VsCode中安装Golang插件
安装完成后,你就可以享受智能代码补全、调试、测试、重构等完整的Go开发体验了。勾选所有工具(gopls、dlv、staticcheck等)并确认。:从golang.org下载并安装Go(建议1.19+版本),输入"Go: Install/Update Tools"打开VS Code,点击左侧活动栏的扩展图标(或按。点击"Install All"安装所有推荐工具。运行调试,或右键选择"Run Go File":更新到最新版,或重启VS Code。点击"Install"按钮安装。在搜索框中输入"Go"
2026-04-28 00:30:00
740
原创 golang密码加密SHA-256 + bcrypt
以下是使用组合的密码工具类,有效解决 bcrypt 的 72 字节限制,同时支持任意长度的密码。
2026-04-26 00:30:00
85
原创 如何使用skill-creator
是 Anthropic 官方推出的,专门用于创建、测试、评估和迭代优化 Claude 等 AI 代理的 Skills(技能包)。它把技能开发从“一次性提示词”变成了。
2026-04-19 00:30:00
890
原创 viteplus介绍、安装、使用、配置
Vite+ 是一个统一的前端工具链,它将 Vite、Vitest、Oxlint、Oxfmt、Rolldown、tsdown 和 Vite Task 整合到一个工具中,同时还能管理 Node.js 运行时和包管理器,旨在简化整个前端开发流程。
2026-04-17 00:30:00
1331
原创 零基础Trae安装与使用Skill
Trae 中的是一种可插拔的能力扩展机制,它允许你将常用的知识、规范或工作流程封装成一个 Markdown 文件(SKILL.md),让 大模型 在合适的时机自动调用,或者通过/技能名命令手动触发。Skill 遵循 Agent Skills 开放标准,可以跨多种 AI 工具使用,实现“编写一次,到处运行”。
2026-04-17 00:30:00
2438
原创 Golang Web 前后端分离企业级后台开发项目计划书V2.0
自动请求缓存响应式状态管理请求状态自动管理支持跨框架使用更少的样板代码定义API方法ESLint: JavaScript代码检查Prettier: 代码格式化Stylelint: CSS/SCSS样式检查Husky + lint-staged: Git提交前检查本项目是基于前后端分离架构的企业级后台管理系统,采用成熟的技术栈和规范的开发流程。项目涵盖用户管理、权限管理、组织管理、系统配置、通知公告、日志管理等核心功能模块,能够满足企业日常运营和管理的需求。
2026-04-15 00:30:00
559
原创 2026年 Agent Skill Top 50推荐
根据最新的技能生态数据,以下是 skills.sh 平台上前50个热门Skill的简单介绍,按类别分类整理:数据来源:截至2026年4月,全球主流、高星、实用的Agent Skill Top 50推荐。这些技能覆盖了从开发到设计、从数据分析到内容创作的完整工作流,让AI助手真正成为各领域的专家级合作伙伴。
2026-04-15 00:30:00
2667
原创 Golang企业级后台管理系统常用模型代码
这是一套基于的企业级后台管理系统常用模型代码。按照国内主流后台框架(如 RuoYi、Gin-Vue-Admin)的最佳实践设计,包含完整的 GORM 标签、列名映射、注释、JSON 序列化及软删除支持。为方便阅读与直接复制,代码已按业务模块拆分,并附带了工程结构建议与运行时组件说明。
2026-04-13 00:30:00
863
电子面单系统
2016-01-28
tomcat8-maven-plugin-3.0-r1655215.jar
2020-10-26
ventoy-1.0.19-linux.tar.gz
2020-08-27
queryMobile
2014-10-11
angularjs学习笔记本
2016-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅