登录社区云,与社区用户共同成长
邀请您加入社区
bdd_widget_test是一款基于Gherkin语法的Flutter测试框架,让非技术人员也能参与测试编写。它通过自然语言描述测试场景(如"Given-When-Then"),自动生成Dart测试代码。框架包含解析器、代码生成器和测试运行器三部分,支持内置常用步骤和自定义复杂逻辑。以计数器功能为例,展示了从编写.feature文件到生成_test.dart的完整流程,使测
是 Gherkin 语法在 Dart 生态中的优雅实现。它允许你使用“Given-When-Then”这种接近自然语言的格式编写测试用例,并将其自动转化为可运行的单元测试或集成测试。在鸿蒙端项目中,利用它你可以让非技术人员也能读懂并参与测试规范的制定,确保每一项鸿蒙特性都能完美契合产品初衷。该包通过对.feature文件的词法分析,将步骤描述动态关联到具体的 Dart 代码块。fill:#333;
摘要:软件测试从业者常面临需求变更、提测延期、沟通不畅等项目管理问题。本文从测试视角出发,提出必须掌握的6个核心流程(需求评审、测试估算、变更管控等)和5个实用工具(Jira、TestRail等),帮助测试人员主动把控项目质量。通过规范流程和工具应用,测试人员可提前识别风险,降低沟通成本,从被动"救火"转为主动管理,真正发挥质量把关作用。项目管理能力是资深测试的核心竞争力之一。
本文深入剖析Linux内核进程切换机制与调度原理。首先通过死循环进程示例阐明时间片轮转调度如何保障系统公平性,随后详解CPU寄存器作为临时存储空间的核心作用,强调区分寄存器硬件与存储数据的重要性。文章通过"当兵留籍"的生动类比,阐释进程上下文切换中硬件状态保存与恢复的完整流程,包括用户级、寄存器级和系统级上下文的组成。最后从内核源码角度分析早期Linux使用TSS结构保存寄存器数据的实现方式,揭示
规范驱动开发(Specification-Driven Development,SDD)是当前AI编程浪潮中涌现出的较好的理念之一。它不再从模糊的提示词直接跳到生成代码,而是强制开发者和编码代理首先产出结构化的规范,明确需求、定义验收标准、并制定实施计划。这很有价值。但我们需要小心,不要把与混为一谈。在执行阶段,即使是最成熟的SDD工作流最终也会变成一个。规范、计划、约束、护栏和任务分解最终都会传
回到你之前的疑问:“如果有具体的总线接口,就不使用 platform 模型了么?
LVGL 是现代嵌入式 GUI开发领域的一个强大,灵活且资源高效的选择。它凭借其轻量级、高性能、丰富的功能集、出色的可移植性和活跃的社区支持,成为众多工程师为嵌入式设备创建专业级用户界面的首选库。无论你的项目是基于低成本的微控制器还是功能更强的微处理器,LVGL 都值得考虑。LVGL 是一个免费、开源的嵌入式图形库,用于为各种嵌入式设备创建美观、流畅的图形用户界面。它的设计目标是为任何具有微控制器
六篇写完了。AI Agent 的难点不在 AI,在工程。篇目核心判断总论prompt 工程不是重点,工程问题决定好坏进程模型阻塞操作 > 100ms 就拆进程权限系统让工具自己说危不危险,框架只做仲裁并发调度让工具自己声明并发安全,调度器一行搞定上下文压缩200K 也会满,四层兜底让 Agent 永不崩溃记忆系统记忆是信噪比问题,不是存储问题Hook 系统(这篇)最笨的插件系统最耐用框架的工作是定
实时性系统设计的关键问题与实现手段 摘要:实时性系统的核心在于处理时间不确定性,通过隔离、调度和补偿三种手段确保任务在规定时间窗口内完成。硬实时系统(如CAN总线、FMCW雷达)要求绝对时间确定性,错过截止时间将导致系统失效;软实时系统(如蓝牙音频、视觉SLAM)允许偶尔延迟,仅影响服务质量。实现实时性需从物理层(硬件确定性)、协议层(有界延迟保障)到操作系统层(实时调度)建立多层防护,通过优先级
的价值,不在于它多神奇,而在于它很务实。它把很多工程里本来就应该做的事,变成了 AI 也会主动遵守的流程:先对齐需求,后进入实现;先写测试,再改代码;先定位根因,再动手修。如果你已经受够了“模型很会写,但总是写偏”,这套技能值得试一次。
本文深入探讨了Linux进程状态及其管理机制。首先介绍了操作系统理论中的进程状态概念,随后详细解析了Linux内核中定义的7种进程状态(运行、睡眠、磁盘休眠、停止、追踪停止、死亡和僵尸状态)。文章重点阐述了进程调度队列的FIFO算法、设备树与阻塞状态的关系,以及内存不足时通过交换分区实现的进程挂起机制。最后揭示了Linux内核链表的独特设计原理,包括通过offset宏计算结构体偏移量和链表动态重组
本文深入探讨了进程的概念及其在操作系统中的管理机制。文章首先介绍了进程的课本定义,指出进程是程序执行实例和系统资源分配的实体。随后详细解析了进程控制块(PCB/task_struct)的作用,将其比作进程的"户口本",包含标识符、状态、优先级等上百个属性信息。通过"先描述,再组织"的管理逻辑,操作系统将PCB组织成链表,实现对进程的增删查改操作。文章还介绍了
摘要: Superpowers插件显著提升了Claude Code的工程化能力,通过强制流程(如需求澄清、TDD开发、自动Code Review)解决了原生AI直接生成代码导致的边界遗漏、风格混乱等问题。核心功能包括14种标准化技能(如brainstorming、writing-plans),覆盖从需求分析到代码验证的全流程。安装仅需一条命令,支持自动触发或手动调用。实测案例显示,通过三步流程(需
规范驱动的理念很简单。在生成一行代码之前,你先以书面规范的形式定义和完善你要构建的内容。你带着一个工单或粗略的想法,与 AI 合作将其转化为结构化的规范,涵盖行为、边界、边界情况和系统适配。它会暴露出你没有想到的缺口。你进行反驳、添加约束,然后签字确认。然后 AI 基于规范进行实现,而不是基于你最初那半成品的提示词。这些工具引导任何 AI 编码智能体完成 SDLC 各个阶段,无论 IDE 是什么。
规范驱动开发(Spec-driven development),简称 SDD,是一种在实施开始之前将规范作为唯一真相源的工作流。用OpenSpec的话来说,它帮助你和你的 AI 编码助手在编写任何代码之前就构建内容达成一致。你不再依赖一个冗长的提示,而是将工作分解为提案、规范、设计和任务等制品。这在重度使用 AI 的工作流中更为重要。一个好的助手可以快速生成大量代码,但如果需求模糊,结果通常是不一
在AI之前的时代,编写规格说明(“spec”)通常被视为繁琐的文档工作。但在智能体AI时代——AI自主编写代码、测试并部署——规格说明已经成为方向盘。**规格驱动开发(SDD)**是一种方法论,你在AI生成实现(代码中的"如何做")之前,先定义意图(用英文或Markdown描述的"做什么"和"为什么")。为什么这对智能体AI至关重要?因为如果没有严格的边界,AI模型就会遭受幻觉的困扰。LLM基于概
在传统流程里,写PRD → 评审PRD → 丢开PRD → 开始coding,PRD在第一行代码落下的那一刻就开始腐烂。在SDD流程里,写spec → spec驱动plan → plan驱动tasks → tasks驱动implement,规范文件全程活着,且可以被版本控制、被任何AI工具读取、被下一个接手的人理解。这不是理论,这是 spec-kit 这套工具的实际工作方式。
本文介绍了Linux操作系统的基础知识,重点探讨了冯诺依曼体系结构和操作系统的核心概念。文章首先阐述了冯诺依曼体系的硬件组成(输入单元、CPU、输出单元和存储器)及其数据流动机制,解释了程序必须加载到内存才能运行的原因。随后分析了操作系统的定义与目的,指出其核心在于管理硬件资源并为应用程序提供执行环境。通过软硬件层状结构的案例(如printf函数的执行流程),详细说明了系统调用和驱动程序的作用机制
主要语言:Shell。
本文总结了与高速网卡芯片研发客户关于PCIe5.0/6.0技术的深度交流。主要内容包括:1)PCIe IP主要依赖第三方供应商,全栈自研厂商较少;2)PCIe6.0商用落地仍需数年,面临信号完整性等挑战;3)当前缺乏真实测试环境,多采用Gen6 Switch卡搭建验证平台;4)协议分析工具需更高要求,SerialTek等新型分析仪因不干扰链路特性受青睐;5)行业已开始提前布局PCIe6.0,AI服
📊图6-1:传统开发 vs SDD流程对比图渲染建议:左右两列流程图。左侧传统流程:需求 → 设计 →写代码→ 测试 → 文档(虚线表示文档常滞后)。右侧SDD流程:需求 →写规范→ AI生成代码 → 测试 → (规范即文档)。突出SDD中规范和代码的紧密关系。对比维度传统开发规范驱动开发(SDD)核心产物源代码规范文档(Spec)文档单独编写,常过时规范即文档,天然同步代码生成手工编写AI根据
UFS协议技术解析 UFS(通用闪存存储)是新一代高速串行存储标准,采用分层架构设计(SCSI应用层/UTP传输层/UniPro链路层/M-PHY物理层)。相比eMMC,其核心优势包括:全双工通信支持并发读写、命令队列提升随机性能、精细电源管理降低功耗。关键技术特性涵盖RPMB安全存储、WriteBooster写入加速(UFS3.1)、ZUFS分区存储(UFS4.0)等。最新版本UFS4.1理论带
在讨论什么是领域模型之前,咱们先说说什么是模型。首先,模型是以解决特定问题为目的的。例如沙盘模型是为了卖房,而建筑图纸是为了盖楼。没有目的就谈不上模型。第二,模型都是对现实世界或人们思维中的事物进行的模拟。例如沙盘模型和建筑图纸都是对建筑物的模拟,而玩具车是对真车的模拟。第三,模型总是提取了被模拟事物中的部分信息,而忽略掉了其他大部分信息。例如,沙盘模型提取了楼盘的外观信息,但是忽略了内部结构和建
本文探讨了规范驱动开发(SDD)理念的轻量化实践方案。作者通过OpenSpec工具与GLM-4.7-Flash模型的组合,验证了在不重构现有开发流程的前提下嵌入规范层的可行性。文章详细介绍了OpenSpec的核心工作机制,包括Delta Spec变更管理、目录结构设计以及从提案到归档的完整工作流。通过"添加深色模式"的实例演示,展示了如何在保留现有开发习惯的同时,实现规范与代码的协同演进。这种轻量
这篇短文探讨了如何通过STM32数据手册学习电路设计的方法。作者建议以手册中的参考电路为模板,结合自身学习3D建模的经验,制定循序渐进的学习计划:白天专注主业,晚上抽空撰写技术博客,每周固定练习原理图绘制,并借助AI工具进行分析交流。文章强调从基础做起("先解决1再解决100"),通过分解任务、持续实践来掌握电路设计技能。这种学习方法既系统又灵活,兼顾专业提升与知识沉淀。
数字世界的标识体系解析 本文系统探讨了从物理层到操作系统的各类地址与命名机制,揭示了其背后的统一思维模型。核心围绕两个基本问题:"我是谁?"(命名)和"我在哪里?"(寻址),分析三对关键约束:唯一性与可复用性、身份与位置、扁平与层次结构。通过蓝牙、Wi-Fi、USB、CAN、内存管理等典型案例,阐释了地址的三重功能(身份标识、路由调度、访问控制)、生命周期(静态ID+动态地址)以及命名与寻址的转换
AI 编程工具这波浪潮有一个隐患在慢慢放大:代码的生产速度远超代码的理解速度。以前你写 200 行,慢,但每一行你知道在干什么。现在 Claude Code 一次输出 500 行,快,但那 500 行的架构质量、测试覆盖、边界条件处理——你来不及想。量化场景下这个问题更危险,因为代码质量直接影响信号质量。一个静默失败的数据清洗 bug,可能让你的策略回测表现很好,上线之后才发现一直在测一个有缺陷的
摘要:昨日在客户会议室举行的PCIe5.0x16协议分析仪技术交流会上,通过2小时的LiveDemo展示了SerialTek分析仪的关键功能。重点包括:协议分析仪与示波器的本质区别、Interposer的工作原理、Gen5/6信号保真性的重要性、内置高性能服务器的创新架构、浏览器远程管理优势,以及LTSSM状态分析和L1.2低功耗调试等核心议题。特别强调现代协议分析仪需保持链路透明性,避免掩盖原始
本文分享了PCIe5.0x16协议分析仪的使用指南,基于实验室实测视频和技术交流经验整理而成。主要内容包括:1)分析仪的作用是监听PCIe链路状态,解决服务器、GPU等设备的调试难题;2)硬件连接要点,强调Gen5对供电和线缆的高要求;3)软件界面解析,重点介绍LTSSM状态监测对问题诊断的关键作用;4)性能分析方法,如NVMe命令追踪和延迟统计;5)强调PCIe协议分析在现代系统中的重要性,建议
摘要:MicroPython内核开发者常被繁琐的非核心工作困扰,如查阅规范、等待CI测试、管理PR等。Andrew Leech开发的claude-mpy-marketplace项目将这些流程打包为Claude插件,提供四大功能模块:mpy-rules自动加载开发规范,mpy-ci本地一键运行完整CI测试,PR管理工具自动分拣和维护PR,以及mpremote简化设备调试。安装简单,支持自定义插件开发
这篇文章介绍了如何利用eBPF和硬件断点技术监控PostgreSQL内部操作。作者Jan Nidzwetzki比较了uprobe和硬件断点的工作原理,指出硬件断点通过CPU硬件特性监控内存地址,相比uprobe的软件中断方式具有更低开销。文章详细展示了两种应用场景:监控PostgreSQL事务ID生成和OID分配。通过bpftrace工具设置硬件断点,可以捕获特定内存地址的访问事件,记录变量更新情
后:`涉及 PCIe/NVMe/RAID/P2P DMA/Linux 内核代码、知识库查询、代码编写与审查、Git 提交、领域事实验证时加载`| glob | 打开/编辑的文件路径匹配指定 pattern 时加载 | 按文件触发 || L2 | Rules 文件(.windsurf/rules/) | 偶尔变动 || always_on | 每轮都加载到 prompt 前缀 | 始终占前缀空间 |
platform总线是Linux内核专门为片上系统(SoC)中的集成外设设计的虚拟总线。为什么叫"虚拟总线"?因为它不像I2C、SPI、USB那样有真实的物理总线和硬件协议,它只是内核抽象出来的一个软件层,目的就是为了解决传统驱动的硬编码问题。platform驱动的核心设计目的是解决传统驱动的硬编码问题,实现硬件信息与驱动逻辑的彻底分离platform驱动是现代Linux驱动的标准写法,所有片上外
的核心价值在于它重新定义了“自动化工具”的质量标杆。在 AI Agent 频繁与网页交互的 2026 年,这种底层的隐身能力不再是奢侈品,而是每一位爬虫工程师和安全研究员的“必备防护服”。它将复杂的浏览器底层攻防转化为简单的接口调用,让技术回归于业务逻辑本身。该项目的开源,为透明、公平的自动化测试环境提供了强大的基础设施支持。你认为反检测技术的终点是“模拟真实用户”还是“完全规避检测”?在使用爬虫
Yocto 项目不是一个操作系统,而是一套构建 Linux 分发版本的工具和基础元数据,包括 BitBake 构建引擎,元数据 Layer 和参考分发版 Poky。
驱动开发
——驱动开发
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net