Day 12:定义与数据缓存的跨节点失效
打开一张表单,框架要读的定义不只一份:FormSchema、TableSchema、FormLayout、ProgramSettings、LanguageResource,一份都不能少。这些定义上线后还是会改,但运行期间很少变更,这类数据最适合缓存。剩下的都是缓存自己的问题:哪些数据适合、切多细、放 ...
Day 11:数据访问层的连接、Transaction 与查询条件
Day 5 划过定义驱动那条路的边界:跨表关联一律单字段等值、接的一定是物理数据表。报表、统计、批量导入超出这个范围,SQL 就自己写,任何框架都得留这条路。问题出在交界处:「这一段我不做」跟「这一段你全部自己来」是两回事,而开一个可以塞任意 SQL 字符串的入口,等于把它们写成同一件事。代价不会当 ...
AScript之LINQ扩展
AScript是一个开源的C#动态脚本解析执行引擎,提供了LINQ脚本扩展功能。 IQueryable扩展 IEnumerable扩展 示例1: 1 var list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 2 var result = ...
车载毫米波雷国内TOP10供应商技术路线、市场格局及发展趋势
前言 随着国内L2级辅助驾驶渗透率持续提升,以及新国标对自动紧急制动、车道保持等功能强制落地,车载毫米波雷达从高端选配快速转为新车标配,尤其是4D成像毫米波雷达进入规模化量产周期。毫米波雷达具备全天候、抗雨雪雾、远距离测速测距的独特优势,与摄像头、激光雷达形成感知融合,是智能驾驶硬件体系不可或缺的一 ...
在浏览器端使用 JavaScript 将 Word 文档转为纯文本
导读:传统 Word 转文本大多依赖后端服务、Office COM 组件或者在线转换接口,存在部署成本高、文件外传、并发受限等问题。借助 WebAssembly 版本的文档处理库,我们可以完全在前端浏览器内完成 .docx 到 .txt 的转换,不需要后端中转,保障文档数据不出本地。本文基于 Rea ...
Day 10:多数据库支持:CRUD 与结构升级
「支持 SQL Server、PostgreSQL、MySQL、Oracle、SQLite」写在规格书上是一行字,写在框架里是一个必须先回答的问题:到底要替它们抽象什么。 两个方向都走不通: 想把各家能力都包起来 → 没有尽头,每包一项就等于替五家各补一次,补到最后每项都是半成品 只共用一个连接对象 ...
WPF应用熄屏后内存暴涨问题解决记录
1.背景 最近在负责开发和测试一个读取外部ZMQ数据并解包出图显示在界面上的.Net Framework 4.6.2 WPF应用,通过ZMQ接收上游数据,使用WriteableBitmap实现同一时刻多个图像的绘制和双击原图的展示功能。 应用运行在一台物理4CPU、300G+内存(不是硬盘空间)的某 ...
Day 9:数据与定义分家,表单不必各自建类型
一次请求走前端 → API → Business Object → Repository → 数据库,每一层都要拿到同一笔数据。多数系统在这里放的是自己写的类型:一张表一个 Entity、前后端各一份 DTO、中间再一层 Mapper 设置。 这套框架放的是两样东西:一个数据容器(DataSet), ...
AScript之字符串模板
AScript是一个开源的C#动态脚本解析执行引擎,版本1.8.1新增了字符串模板转化功能。 我们来对比两种字符串模板方案: 方案一 比较常用的字符串模板方案,使用Replace替换变量。 尊敬的 {userName}{userSex} 您好,祝您{userAge}岁生日快乐! 转化逻辑如下: 1 ...
雷达数据是什么样的?以TI例子为解释
前言 光学传感器产生的数据很容易理解,因为它们感知世界的方式与人类相同。然而,雷达传感器的数据与人类的任何感官都非常不同,这可能使开发人员理解起来不那么直观。在本模块中,我们将讨论 TI 毫米波雷达传感器生成的最常见数据类型,以及这些数据在各种应用中的用途。 1. 雷达数据是什么样的? TI 的毫米 ...
Day 8:声明式业务规则与计算列
规则与算式跟字段放在同一份定义里,前后端共用同一段算式。求值有四个时点,而验证只在后端跑,这个不对称是刻意的。 ...
C# .NET Core 并发控制:悲观原子、悲观锁、乐观锁
C# .NET Core 并发控制:悲观原子、悲观锁、乐观锁 前言:在活动报名、名额限额这类业务中,高并发下的超卖、数据不一致是绕不开的问题。很多开发者对悲观原子、悲观锁、乐观锁三者的定位和边界理解模糊,尤其是悲观原子什么时候加事务、什么时候不加,是上线高频踩坑点。本文基于 .NET Core + ...
PPT 页面自动化:C# 实现幻灯片增加、删除、复制、隐藏
在自动化处理 PPT 模板、批量整理幻灯片、动态调整页面顺序的场景中,经常需要对幻灯片本身做管理操作:新增、删除、复制、显示 / 隐藏。本文基于 Free Spire.Presentation for .NET 免费库介绍如何完成这些灯片页面管理相关操作,无需 Office 依赖。 免费版可以用于 ...
Day 7:FormLayout 与多前端界面生成
昨天那一层的产物是物理数据表,改一次要搬数据,还得先算要不要停机。今天回到界面这一侧,性质正好相反:界面要改,改的是一份定义,不必更版;而且改一次,所有前端一起变。 案例订单那张表单就是这样:桌面、浏览器、iOS、Android 四个端读同一份 FormLayout,各自长出自己的样子,没有一张界面 ...
【ASP.NET Core】让 EF Core 生成更“合理”的 UPDATE 语句
相信 .NET 玩家都知道,EF Core 自动产生 SQL 更新语句是通过跟踪实体状态实现的。不过,在 Web 中是无状态的,查询出一个东东返回到前台,然后用户要更新数据,POST 过来就是修改后的数据。 比较笨的方法是先根据主键查询出数据,然后把客户端 POST 过来的数据赋值,这样就有新旧值的 ...
Day 6:TableSchema 与数据库结构升级
结构升级为什么是「比对现状」而不是「产生脚本」:比对、计划、运行拆成三段,这次升级要花多久,可以在动手之前先算出来。 ...
Day 5:FormSchema 如何驱动 SQL
添加一张表单要动六个地方,零行代码。查询的 JOIN 清单与翻页在每次请求当下决定,保存时字段集合直接变成 INSERT / UPDATE / DELETE。 ...
毫米波雷达中的重要术语与技术解释
前言 雷达传感器技术在过去十年中得到了极大的普及,如今在许多应用中已不可或缺。这主要归功于雷达传感器成本的大幅下降,以及雷达在许多其他传感器原理无法覆盖的领域中的优势。例如,雷达对环境影响(如天气、光照、太阳位置、灰尘等)极为鲁棒。此外,雷达是极少数能够直接获取速度信息的传感器原理之一。雷达属于主动 ...
一款基于Avalonia跨平台不联网免费且轻量的Pdf阅读器
为了看个 PDF,我写了个阅读器 项目叫 AirPDF,现在到 0.3.2,地址 https://github.com/RyzenWang/AirPDF。 为什么写 每天都要读 PDF,这些年换过不少阅读器,但一个都没能长期留在电脑上。 浏览器自带的查看器最省事,打开就走。可文档一多就散在标签堆里, ...


