数组(Array)定义:是多个相同类型的数据按照一定顺序排列的集合,并使用一个名字命名 数组本身是引用数据类型,数组中的元素可以是任何数据类型 创建数组对象会在内存中开辟一整块连续的空间。元素在内存中是依次紧密排列的,有序的 数组一旦初始化完成,他的长度就是确定的,不能修改 1.一维数组的使用(6个 ...
AI编程虽爽,但AI生成的代码有多少坑?这是我用MonkeyCode + Claude 5做的代码审查报告。 实验设计 实验对象:MonkeyCode生成的3个项目 1. 电商后端(FastAPI + PostgreSQL) 2. React前端(用户管理系统) 3. Python爬虫(豆瓣电影) ...
Transformer的核心瓶颈是注意力O(n²),100万token直接爆显存。MiniMax M3的自研MSA架构,把每token计算量降到原来的1/20——怎么做到的? 传统注意力的致命问题:O(n²) 标准Self-Attention的计算: 对于序列长度n: - 每个Query和所有Key ...
13. ThreadLocal 与 AsyncLocal:线程本地存储 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:搞清楚 ThreadLocal<T> 和 ...
先补充一下前一篇中的 TPH 策略的内容——非完整性类型鉴别器。这个东西官方文档写了等于没写,许多大伙伴可能不知道是啥玩意儿。不用慌,老周给你整个示例,你就懂了。 这种特例多见于先有数据库(DB First)的方案。好,那咱们就先建库,脚本如下,很简单。 use master; go -- 创建数据 ...
在我们常见的软件中,菜单栏,工具栏,状态栏,以及右键弹出的上下文菜单,基本属于是一个软件的标配,如WPS,Microsoft Office组件,IE浏览器,Visual Studio等,使用这些组件布局系统,不仅可以提高使用便捷性,合理利用页面空间,由于符合Windows用户操作习惯,还能让用户快速... ...
12. 并发集合与线程安全类型 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:搞清楚 System.Collections.Concurrent 命名空间里那 ...
前面四篇我们讲了快速搭建、目录结构、CRUD、关联表处理。今天说后台系统最核心的东西——权限控制。 一个后台系统,没有权限控制,就像银行没有保险柜。 一、EasyAdminBlazor 的权限模型 内置的是标准的 RBAC(Role-Based Access Control) 模型,也就是"用户 → ...
同步调用是微服务耦合的根源。消息队列解耦了服务,也救了你的响应时间。用MonkeyCode,从选型到实现一把梭。 为什么需要消息队列? 一个典型的电商下单流程,同步调用长这样: # 同步调用:创建订单要等所有下游返回 @app.post("/orders") async def create_ord ...
前面三篇我们讲了: 第一篇:3分钟搭一个Blazor后台 第二篇:项目目录结构详解 第三篇:几十行代码搞定CRUD 今天来点实战,用一个真实的新闻管理模块做案例,把专栏管理和文章管理完整走一遍。看看关联表、枚举、富文本编辑器这些实际项目中一定会遇到的需求,在EasyAdminBlazor里怎么处理。 ...
DbCommand介绍 DbCommand对象用于向数据存储区发送一条结构化查询语言(SQL)命令。DbCommand对象 不仅可以执行查询,插入,更新,删除的数据操作(DML)指令,还可以执行数据定义(DDL)指令 创建数据库,数据表,更改模式信息等。 例如查询数据库中表基础框架 DbComman ...
前面两篇我们讲了怎么3分钟搭一个Blazor后台,以及项目的目录结构。今天讲点更爽的——怎么在写少量代码或不写代码的情况下,把一个新模块的后台页面搞出来。 一、传统方式:写一个模块要多久? 假设你要加一个「产品管理」模块,传统开发流程: 建数据库表(写SQL) 写实体类(映射字段) 写Reposit ...
当我告诉别人我正在用 C# 构建一个 **ACID 数据库引擎**时,第一反应总是如出一辙:“那 GC(垃圾回收)停顿怎么办?”
这是一个合情合理的问题。几乎没有人会在 .NET 中构建高性能数据库引擎。人们普遍认为,这类软件必须使用 C、C++ 或 Rust 编写——托管语言基本上被排除在“微秒... ...
ADO.NET连接类概述ADO.NET库包含可用于数据存储区和客户应用程序之间传输数据的类。 连接类 负责在客户端程序的非连接数据类与数据存储区之间传输数据的类成为连接类。ado.net提供了下面几种类。 OLEDB 用于access,excel,文本等ODBC 用于多种数据源提供的多种数据访问功能 ...
11. 锁机制完全指南:从 lock 到异步锁 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:彻底搞清楚 C# 里所有常用锁的底层原理、适用场景和正确用法,从 ...
MonkeyCode vs Cursor vs Copilot:2026年AI编程工具终局之战 AI编程工具已经卷到下半场了。 2024年,大家还在讨论"AI能不能写代码";2026年,问题变成了"AI编程工具哪家强"。 我同时用了三个月MonkeyCode、Cursor和Copilot,以下是我的 ...
/// <summary> /// PaddleOCRSharp -Version 4.5.0.1 /// </summary> public class NewController : ApiController { private static PaddleOCREngine _ocrEngin ...
在批量生成报告、动态拼接演示文稿或自动化处理 PPT 模板时,通过代码动态增删幻灯片几乎是绕不开的需求。本文将以免费库 Free Spire.Presentation for .NET 为例,提供一个可直接落地的技术方案。 技术方案定位:无 Microsoft Office 依赖,纯托管代码实现,可 ...
上篇文章我简单介绍了如何使用EasyAdminBlazor创建一个admin blazor项目。今天拿一个真实项目跑起来的文件夹截图,把每个目录的用途说清楚。 这是用dotnet new easyadmin -n MyProject创建后的完整结构: EasyAdminBlazorDemo/ ├── ...
还在为接外包项目时重复造轮子而烦恼?一个命令,一套完整的企业级后台管理系统直接到手。 一个命令,项目启动 打开终端,依次执行以下命令: # 安装模板包 dotnet new install EasyAdminBlazor.Templates # 使用模板创建项目 dotnet new easyadm ...