登录社区云,与社区用户共同成长
邀请您加入社区
C++20 协程是一把双刃剑:它提供了构建自定义异步模型所需的全部底层能力,但也因此要求开发者必须在理解编译器变换机制的前提下谨慎设计。先基于成熟的库(如 cppcoro、libunifex、Folly)评估业务收益与团队约定统一的任务类型和调度策略建立协程专用的 Code Review 检查清单(特别是生命周期管理)当这些基础就绪后,协程带来的代码简洁性和性能优势会让你觉得所有的学习投入都是值得
第 7 章最终落点是:也就是说,订单任务不再这样交接:而是变成:这篇文章主要讲清楚:先给结论:Stream 版秒杀下单可以拆成两段。第一段是请求线程 + Lua:第二段是后台消费者:完整流程图#mermaid-svg-KzsOyAk3JwTslqsG{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#3
1、使用junit单元测试创建的后台线程(也就是非守护线程),JVM进程会在执行完单元测试代码后立即退出;如果你直的不想写main函数,可以手动join线程,从而达到阻塞主线程的作用。2、使用普通main函数创建的后台线程,JVM会等待后台线程结束;目标:我想要验证一下继承Thread创建的后台线程是否正常运行。3、由此得出,常规的单元测试函数,不适合测试多线程逻辑;
本文系统介绍了 Prompt(提示词)的概念、设计原则与实践技巧。Prompt 是用户向大模型输入的指令、需求和上下文,其质量直接影响模型输出效果。文章提出两大原则:一是编写清晰具体的指令,为模型提供充分上下文;二是给予模型足够思考空间,提高回答准确性。随后介绍了 Prompt 的核心组成,包括 System、User、Assistant 三种角色,以及明确角色设定、任务描述、结构化编写、提供示例
作为工业通信的标准协议,Modbus 大量应用于温湿度传感器、PLC、变频器等设备。传统开发方式要处理大量底层通信细节,增加了开发工作量与出错概率。针对这一行业痛点,LuatOS 上线exmodbus扩展库,一站式封装协议底层能力,完美兼容合宙 LuatOS 模组及工业引擎产品,依托配套硬件与开源案例,助力开发者快速完成 Modbus 通信功能开发。
Modbus 是工业物联网主流通信协议,凭借适配性强、部署便捷的特点,广泛用于传感器、变频器、PLC、智能仪表等工业设备。但原生开发需手动编写 CRC 校验、RS485 收发切换、超时重连等底层逻辑,代码繁琐且易出故障。为此 LuatOS 推出exmodbus扩展库,完整封装 Modbus 底层协议。该库兼容合宙全系模组与工业引擎,配合配套硬件及开源例程可快速落地,有效简化工业 Modbus 通信
Actor 模型用"不共享"替代了"用锁保护共享",从根本上消灭了死锁和竞态"计算是社会而非机器"这一隐喻,是理解分布式系统最有力的思维框架Skynet 将 Actor 实现为独立lua_State+ 消息队列,是工程上验证过的成熟方案Hewitt 的物理/语言学灵感给了 Actor 模型哲学深度,但工程实践只需取其架构原则。
内存管理一直是困扰不少开发者的核心痛点——zbuff的大块数据究竟占用哪块内存?UART发送大文件时,会不会因内存溢出导致系统崩溃?MQTT收发消息过程中,内存波动规律是什么?Socket通信场景下,又该如何科学管理内存、避免内存泄漏?为了帮大家彻底理清这些疑问,清晰掌握LuatOS中lua、sys、psram三种内存的实际使用逻辑与分配机制,本文将以Air780EHM模组为实际载体,结合开发中的
本文首先从LuatOS中核心的二进制数据操作库zbuff入手,详细拆解其内存组成结构与分配逻辑——zbuff的内存占用分为两部分,其一为Lua对象元数据,占用空间较小,直接分配在lua内存分区;其二为C层数据块,占用空间较大,其分配逻辑遵循LuatOS的自动内存分配策略,若模组存在PSRAM(如Air780EHM)则优先在psram分区(即Air780EHM的sys分区)申请,若PSRAM不存在或
实际项目开发中,很多工程师在使用 LuatOS 做大数据传输、文件读写、联网业务时,都会遇到一类共性问题:大块 zbuff 到底占用哪片内存?串口发大文件会不会跑崩?MQTT、Socket 高频收发时内存为什么忽高忽低、如何稳得住?本篇结合Air780EHM 模组,落地拆解 Lua 内存、Sys 内存、PSRAM 的真实占用逻辑。前置关键硬件结论:Air780EHM 上 Sys 分区与 PSRAM
本文解析基于 Air780EPM 的 LuatOS 项目,依托 luatos-docs-code 实现 MQTT 通信、断线重连、周期采样上传。项目采用模块化设计,主文件与功能文件分离,配置项明确,便于调试、部署与功能扩展。
本文介绍使用 luatos-docs-code 开发符合规范的 LuatOS 项目,实现 MQTT 长连接、异常重连、定时温湿度上传。代码遵循工程化要求,文件解耦、注释完整、目录统一,满足产品级开发与 FOTA、异常排查需求。
本文以LuatOS为开发环境,借助luatos-docs-code工具快速构建MQTT温湿度上传项目。从需求拆解出发,完整呈现代码一键生成、问题排查、规范优化的全流程,解决首次开发中出现的编码不规范、函数调用错误等问题,最终交付可直接部署、模块化解耦的稳定项目,助力开发者高效完成同类物联网采集项目落地。
物联网开发中,LuatOS因轻量化、高效性广泛应用于模组开发,Air780EPM模组凭借稳定4G通信,是远程数据采集上传的优选。本文将演示如何用luatos-docs-code工具,为该模组一键生成MQTT温湿度上传代码,实现核心功能并记录调试修复全流程,为同类项目提供参考。
在LuatOS开发场景中,Air780EPM模组凭借高效稳定的性能,常被用于物联网温湿度采集上传类项目。本文将聚焦Air780EPM模组,演示如何通过luatos-docs-code一键生成MQTT温湿度上传代码,整合断线重连、模块化解耦等核心功能,代码可直接应用于实际项目,同时兼顾新手友好性,清晰拆解项目概述、功能需求,为后续代码开发奠定基础。
Query Rewrite 是 RAG 的好工具,但不是万能的。它会把"Redis"改成"缓存数据库",把"JVM GC"改成"Java 垃圾回收"——语义上没错,但精确匹配全丢了。解决方案不是不用 rewrite,而是给它加护栏:提取精确词作为保护对象,跳过单术语改写,用多候选队列兜底,用精确词校验过滤弱召回。整套逻辑不增加 LLM 调用,全是本地规则。如果你在做 RAG,建议从一开始就建精确词
本文以Air780EPM模组为硬件基础,实战演示如何借助luatos-docs-code智能体,高效开发“MQTT上传温湿度数据”项目脚本。全程遵循LuatOS开发规范,从项目需求定义、代码生成、问题调试到最终落地,完整呈现模块化项目的开发流程,帮助开发者快速掌握智能体辅助LuatOS项目开发的核心方法,降低开发门槛、提升开发效率。
AI生成单元测试实测:主流框架覆盖率可达60-70%,但需人工优化才能突破80% 通过对JUnit、Pytest和Jest三大测试框架的实测发现: AI生成测试的平均行覆盖率为65-75%,分支覆盖率50-65% Cursor表现最佳(76%行覆盖率),Claude测试质量最高(Mutation Score 64) AI擅长处理简单代码(覆盖率92%),但对复杂逻辑仅达53% 主要短板在于边界条件
Agent 工程不只是"接上 LLM + 工具调用"。当 Agent 面向真实用户、处理真实数据时,安全性和可靠性是和功能同等重要的工程问题。三层 Guardrail 和审批恢复机制是 Interview Agent 项目对这个问题的回答——它不完美(正则检测有局限、BLOCK_REPLAY 策略偏保守),但它是根据实际踩坑经验迭代出来的,比从零设计一个"完美"方案更务实。如果你也在做 Agent
本篇文档将完整、详细讲解基于 Air8101 引擎主机、LuatOS 系统与AirUI 轻量化图形开发框架,开发诗词闯关类 UI 应用(SCCG)的全流程,从环境准备到功能实现全覆盖,助力零基础开发者快速完成项目搭建与调试。
【摘要】本文针对SpringBoot 4.0.2与IDEA 2024.1版本不兼容导致的单元测试报错问题,提供了详细解决方案。作者指出新版本SpringBoot默认依赖的测试框架与当前IDEA版本存在兼容性问题,建议将项目降级至SpringBoot 3.2.8版本,并提供了完整的pom.xml配置模板。文章强调替换后需刷新Maven依赖,同时展示了作者一贯坚持的"大白话"技术写
在嵌入式硬件与轻量化UI应用深度融合的当下,依托合宙Air8101 V001畅玩板的硬件支撑,结合LuatOS系统的高效运行特性与AirUI轻量化图形开发框架的便捷优势,我们启动了诗词闯关app(SCCG)的开发项目。
JUnit 是 Java 中常用的单元测试框架,用来测试方法是否按预期工作。测试方法不需要main,只要加上@Test,JUnit 测试引擎就能自动识别并执行。断言是单元测试的核心,判断结果是否相等,判断是否抛出指定异常,assertAll可以批量执行多个断言。测试代码应该放在,JUnit 依赖应该设置scope=test。企业开发中写测试不能只测正常情况,还要覆盖异常值和边界值。
本文介绍了使用luatos-docs-code开发MQTT温湿度监测项目的过程。项目基于Air780EPM硬件模组,实现MQTT长连接、异常重连和每分钟上传温湿度数据功能。文章详细记录了开发调试过程:首次生成的代码存在main.lua编程规范和信号强度获取问题,经与AI交互修正后得到优化版本。最终项目采用模块化设计,包含main.lua主入口、配置文件、MQTT功能模块和传感器驱动等6个文件。特别
【摘要】Java开发者转型AI开发的实战指南:文章指出传统Java程序员不必畏惧AI浪潮,Spring生态已提供Spring AI和LangChain4j等框架,让调用大模型像写Service一样简单。重点剖析了RAG(检索增强生成)技术的实现,将其比作"自定义MyBatis拦截器",强调Java在数据处理和架构设计上的优势。最后深入讲解了Agent开发模式,通过@Tool注解
最近看里的 Agent 上下文组装逻辑时,我注意到一个很容易被忽略、但实际上很影响稳定性的细节:上下文预算不是“按优先级从前往后塞满”就完了,而是要主动给后面的必需片段留位置。这件事听起来有点细,但我觉得它比“多截断一点文本”重要得多。因为 Agent 的上下文不是普通的字符串拼接,它背后是一次有顺序、有层次的决策输入。如果前面的高优先级内容把预算吃光,后面本该保底出现的信息直接消失,模型拿到的就
当流量小的时候,系统拼的是代码规范和算法复杂度;当流量大到一定程度,系统拼的就成了物理学常识。Redis 的“单线程高性能”神话,在百万级并发写面前依然会被打破。通过“库存分片”,我们将系统对 CPU 单核的时钟周期压榨,转化为了对多台机器网卡和多核 CPU 的整体调度。配合精妙的 Failover 轮询机制,我们在性能极限与数据严谨性之间,找到了最美的平衡。
维度原生 Redis (Lua)Redisson底层原理临时顺序节点 + Watcher一致性模型AP (最终一致性)AP (最终一致性)CP (强一致性)锁续期防死锁靠过期时间兜底(易失效)后台 Watchdog 定时续期TCP Session 机制天然保证阻塞与唤醒客户端主动自旋轮询订阅释放 Channel,信号量阻塞监听前置节点,异步事件回调性能吞吐量极高非常高中等偏下主从切换丢锁风险存在存
通过引入 Lua 脚本作为骨骼动画的逻辑控制器,开发者可以获得前所未有的灵活性和可扩展性。无论是做RPG角色的动作分支、AI行为树还是跨平台内容热更,这套方案都具有极强实用性。这不是简单的“动画播放”,而是一套以代码为核心驱动力的动态动画系统,真正做到了“让每一帧都有灵魂”。如果你正在尝试打造一个高自由度的角色系统,不妨试试这个方向——它或许就是你项目里最值得投入的一次重构!
摘要:LuatOS的lbsloc2扩展库提供免费单基站定位服务,适用于对精度要求不高的物联网场景。该库通过上报单个基站信息获取经纬度,误差约1.5公里,频率限制为2分钟1次。相比付费的airlbs多基站/Wi-Fi混合定位(精度10-300米),lbsloc2更适合粗略定位需求。核心API为lbsLoc2.request(),返回经纬度和时间信息,支持主流合宙模组(除8101系列)。开发者可根据项
本文介绍了 LuatOS 的内存划分方式、查询接口以及不同硬件平台的差异,核心要点如下:内存是逻辑划分的:Lua 内存、系统内存、保留区域只是软件层面的划分,物理上可能位于同一块存储(如 PSRAM)。不同模组差异较大:Air780EHM 的 8MB 全部来自 PSRAM,而其他模组可能以 SRAM 为主。开发时应以 rtos.meminfo() 的实际返回值为准。内存查询接口:rtos.memi
LuatOS内存分配机制解析:文章详细介绍了LuatOS的内存管理策略,重点以Air780EHM模组为例,说明其8MB RAM的逻辑划分(50%给Lua、37.5%给系统、12.5%保留)。系统通过rtos.meminfo()接口提供内存查询功能,支持查看Lua虚拟机、系统和PSRAM内存使用情况。物理内存分为SRAM和PSRAM两种类型,而逻辑内存则分为sys/psram/lua三个区域。不同平
图腾柱无桥PFC,平均电流控制。环路建模然后设计出电压环和电流环补偿网络,零极点放置。PLECS、psim和simulink均验证过,均有对应模型。同时Dual-boostPFC及两相、三相交错并联图腾柱PFC均有。最近在电源领域研究,遇到了图腾柱无桥PFC这个有趣的技术,跟大家分享下我的心得。
方钢管混凝土构件火灾与撞击/爆炸耦合模型(单纯模型)符讲解视频ABAQUSCAE+ODB在结构工程领域,研究方钢管混凝土构件在火灾与撞击/爆炸等极端工况下的力学性能,对于保障建筑结构的安全至关重要。今天咱们就来聊聊方钢管混凝土构件火灾与撞击/爆炸耦合模型,并且基于强大的ABAQUS软件展开探讨。
openfast与simlink联合仿真模型,风电机组独立变桨控制与统一变桨控制。独立变桨控制。OpenFast联合仿真。风机变桨控制基于FAST与MATLAB SIMULINK联合仿真模型的非线性风力发电机的PID独立变桨和统一变桨控制下仿真模型。陆地5MW非线性风机进行控制,利用MATLAB SIMULINK软件结合openfast进行建模。
本文介绍了JWT令牌生成过程中遇到的依赖版本兼容性问题及解决方案。首先检查jjwt依赖是否引入,然后发现IDEA2022与JUnit6.0.3不兼容。通过分析SpringBoot4.0.3父POM默认包含不兼容版本,建议降低JUnit版本至5.9.3。具体解决步骤包括:在pom.xml中添加版本覆盖配置、排除原有依赖、添加兼容的新版本依赖。该方案针对IDE与依赖版本冲突问题提供了实用解决方法,可作
本平台将"多能流物理约束"与"绿色金融市场规则"统一建模,兼顾计算效率与政策合规性,可为园区、县域及城市级能源运营商提供商业化-ready 的日前调度内核。后续版本将持续迭代实时滚动、多不确定性鲁棒优化以及 AI 预测模块,敬请期待。