- 博客(3624)
- 资源 (44)
- 收藏
- 关注
原创 鸿蒙OS应用开发的开发环境
当你想投入到这个生态系统里的时候,首先是使用它,这是最方便的方法,比如买一台带有鸿蒙系统的手机,并且不断地使用它,提出你自己的建议,让它进行完善和改进。在这里主要开始学习开发鸿蒙系统的应用,由于鸿蒙系统发布的时间不是很久,当然是相对安卓和IOS来说,因此它是一个全新的系统,并且致力于创建一种更方便的软件方式,它引入不同于以往的软件开发语言,以及不同的界面接口。这时候,就可以看到应用的名称,包的名称,保存的位置,编译的SDK版本,运行模式,是否可视化编辑,语言,兼容性API,设备类型。
2023-12-07 12:31:53
957
2
原创 第 8 步:工具箱图标与在 VS 工具箱中显示
(16×16 图标)+ 修改加一行特性依赖:第 6 步(完成后:在 Visual Studio 工具箱里能看到按钮并拖到窗体上。
2026-11-06 08:20:46
6
原创 第 9 步(可选):设计器与智能标记
(约 90 行)依赖:第 6 步()、程序集完成后:设计器里选中按钮,右上角出现“智能标记”,可直接改文字与图文位置。
2026-11-06 08:20:28
3
原创 DevCAI ← DevExpress_Sources 源码移植实施手册
把只读的官方源码树(DevExpress 17.2,238 个工程)裁剪、改名、重定版本,生成当前工作区(102 个工程,DevCAI.*品牌,版本 2.2.4.0)。:本文件是给"后续执行 AI / 工程师"的,不是功能分析报告。按第 0 节阶段顺序执行,即可得到与本目录一致的结构。Bin\Samples\BuildLogs\:VS2022 / .NET Framework 4.8.1 / 库代码 C# 7.3(新增示例工程可用 8.0)
2026-11-06 08:18:22
124
原创 第 6 步:按钮控件 SimpleButton
virtual第 7 步的只需重写这一个方法(先触发 Click,再Toggle()),不用复制鼠标/键盘处理逻辑。
2026-11-05 15:42:55
298
原创 第 5 步:绘制器 ButtonPainter
(约 180 行)依赖:第 1 步、第 2 步、第 4 步完成后:给定矩形就能把“按钮”画到Graphics上。
2026-11-05 15:31:05
9
原创 第 2 步:外观对象 ButtonAppearance
(约 110 行)依赖:第 1 步(无需直接引用,仅同命名空间)完成后:能用 5 个字段描述“按钮在某个状态下长什么样”
2026-11-05 13:35:05
6
原创 从零实现 DevCAI 风格 SimpleButton —— 分步教程总览
目标:按本文档顺序,一步一步拷贝代码,每步都能单独编译,最后得到一个能、可拖到窗体上使用的技术栈:VS2022 / .NET Framework 4.8.1 / C# 7.3(库代码)
2026-11-05 10:49:50
6
原创 Day 49:第七周复习 + 综合练习
什么是能力接缝(Capability Seam)?能力接缝由哪三个角色组成?Service Definition 的职责是什么?Service Provider 的职责是什么?Consumer 的职责是什么?为什么能力接缝必须完整(三个角色都有)?什么时候需要拆分能力接缝?什么时候不需要?举一个 dsh 中的能力接缝例子(LLM/Shell/Web/FS)。提供者注册表的作用是什么?能力接缝的加载顺序是什么?什么是能力接缝(Capability Seam)?
2026-11-05 10:48:57
148
原创 DevCAI SimpleButton / CheckButton 按钮实现分析
分析对象:DevCAI 自研的与(对应第 2.3 节“选项、按钮与状态”中同名组件)(2286 行,单文件承载整个按钮家族)分析日期:2026-11-05技术栈:VS2022 / .NET Framework 4.8.1 / C# 8.0(库代码语法不高于 C# 7.3)
2026-11-05 09:45:42
116
原创 C# 编译器前端深入(三):修改实战、练习与附录
本文为C#编译器前端系列第三篇,聚焦实战修改与排错。基于Roslyn 2.10,系统梳理五类典型改动:新增Token/关键字、字面量、语法节点、错误恢复及诊断。通过完整验证闭环(构建→替换→测试→回退),结合影响面图与速查表,实操演示添加自定义警告CS9002——对过长下划线标识符发出提醒。附录提供124个函数、文件职责与术语索引,助力开发者高效“接手代码”,实现从理解到修改的全链路能力提升。
2026-11-04 22:06:55
202
原创 C# 编译器前端深入(二):词法、语法、红绿树与错误恢复
章节编号沿用原单篇文档(如 §3.6 在第二篇、§7.3 在第三篇);roslyn-src本篇承接第一篇:如果还没读过第 0–2 章(概念最小集、csc→语法树的数据流),建议先读。
2026-11-04 21:59:35
134
原创 C# 编译器前端深入(一):概念与端到端数据流
本文为C#编译器前端深入系列第一篇,聚焦编译器前端核心概念与端到端数据流。通过“大白话+实例+源码定位”三步法,详解字符流、Token、Trivia、递归下降解析、优先级处理、不可变语法树及缓存复用等关键概念。结合Roslyn 2.10源码(roslyn-src),引导读者从理解到动手修改词法/语法分析模块,配套环境自检与练习指南,助力开发者掌握编译器前端工作原理与实战能力。
2026-11-04 21:56:51
180
原创 06 动手实践与源码修改指南
目标:让编译器在调用名字以Legacy开头的旧 API 时给出自定义警告CS9001,完整走一遍"诊断定义 → 资源文案 → 遍历器报告 → 编译输出"。这是侵入性最小、但覆盖了诊断全链路的实验。
2026-11-01 00:26:33
278
原创 05 编译器驱动与宿主环境
本册目标:回到最外层——csc.exe 的Main做了什么、命令行如何被解析成的分阶段驱动逻辑、VBCSCompiler 共享编译服务器如何工作,以及 MSBuild/MonoDevelop 如何把这一切挂到 IDE 构建里(与《MonoDevelop用户程序编译器调用链分析.md》衔接)。
2026-11-01 00:25:28
185
原创 04 降级与 IL 代码生成(后端)
本册目标:看清 BoundTree 如何一步步被改写成"只含基础构造"的形式(Lowering),再如何逐节点翻译为 IL 指令(CodeGen),最终被写成带元数据的 PE 文件(Emit)。
2026-11-01 00:23:25
172
原创 03 符号与语义绑定(中端)
本册目标:理解 Roslyn 如何回答"这段代码是什么意思"——符号体系如何统一源码与元数据、Binder 责任链如何做名称解析与类型检查、BoundTree 这个中间表示长什么样、流分析如何判定明确赋值、SemanticModel 如何把这一切暴露给 IDE。
2026-11-01 00:22:24
198
原创 02 词法与语法分析(前端)
本册目标:搞清楚源代码文本如何变成语法树——Lexer 如何扫描 Token、LanguageParser 如何用递归下降 + 优先级爬升建树、红绿树为何能做到编辑时 O(1) 复用、Syntax API 长什么样、语法错误如何恢复。
2026-11-01 00:20:41
230
原创 01 Roslyn 总体架构与编译管线
本册目标:建立 Roslyn 的整体心智模型——编译管线五个阶段如何映射到源码目录、Roslyn 如何分层、五个核心抽象分别是什么、一次 csc 编译的端到端数据流。
2026-11-01 00:17:56
488
原创 00 总览与学习路线
本系列是《C# 编译器开发学习》的第一册。目标:以本地可构建、可调试的 Roslyn 2.10 源码为蓝本,系统理解 C# 编译器的实现原理,并具备修改它的动手能力。系列所有源码路径均以本工作区为基准实测。
2026-11-01 00:02:31
81
原创 MonoDevelop 编译用户应用程序时调用的是哪个编译器
MonoDevelop 只把项目交给"目标运行时的 MSBuild 构建器",由 MSBuild 的CscVbc任务加载下的 Roslyn(csc/vbc,或共享编译服务器 VBCSCompiler)完成编译;mcs已是历史遗留、默认不参与;编辑器里的 IntelliSense 使用同一家 Roslyn 但走进程内库,不产出程序集。
2026-10-30 23:58:29
545
原创 IBus 五笔输入法配置与排错经验
环境:Ubuntu 22.04.5 LTS,GNOME 42 + Wayland,IBus 1.5.26,ibus-table 1.16.7。
2026-10-24 17:17:39
162
原创 Day 56:总复习 + 学习路线图 — 8 周学习总结与未来规划
理解 dsh 的整体架构:从插件框架到核心业务,从 Host 端到 Client 端,从 SDK 到协议掌握 dsh 的核心概念:Cordis 插件、事件系统、能力接缝、Agent Loop、System Prompt、工具系统能读 dsh 的源码:能读懂各个包的实现,理解设计决策能为 dsh 做贡献:能完成从选任务到提交 PR 的完整流程掌握工程实践:测试、CI/CD、调试、性能优化、安全、部署有社区参与计划:知道怎么持续参与社区,怎么成长为维护者能把知识应用到其他项目。
2026-09-25 11:35:19
113
原创 Day 54:贡献者进阶 — 大型功能开发
# 问题定义### 背景当前 dsh 的会话存储在内存中,重启后会话丢失。用户反馈这影响了使用体验,特别是长时间运行的任务。### 问题- 重启后会话丢失- 无法跨会话访问历史- 内存占用随会话数增长- 无法在多个实例间共享会话### 目标- 实现会话的持久化存储- 支持 SQLite(本地)和 PostgreSQL(生产)- 重启后能恢复会话- 性能不低于内存存储(P95 < 10ms)- 向后兼容(不破坏现有 API)### 非目标- 不实现分布式一致性。
2026-09-25 11:33:49
115
原创 Day 53:高级调试与性能分析 — 深入定位和解决问题
X 轴:函数调用的频率(越宽表示耗时越多)Y 轴:调用栈深度(从下到上是调用关系)颜色:随机分配,用于区分不同函数。
2026-09-25 11:33:15
70
原创 Day 52:部署与发布 — 把 dsh 应用部署到生产环境
A:推荐使用 Docker + Docker Compose 或 Kubernetes。Docker 提供了一致的运行环境,避免了"在我机器上能跑"的问题。理解怎么用 Node.js Inspector 做性能分析、怎么用火焰图定位瓶颈、怎么分析内存泄漏、怎么调试异步代码和并发问题,以及怎么用 APM 工具做生产环境监控。你已经学习了 dsh 的部署与发布,并拥有了完整的常见问题解答、最佳实践和术语表!参考任务 2 的示例,创建 docker-compose.yml。全部打勾 = Day 52 完成!
2026-09-25 11:32:15
286
原创 Day 51:安全与权限 — 构建安全的 Agent 应用
沙箱是一个隔离的执行环境,工具在沙箱中执行,不会直接访问主机系统。即使工具被攻破,也不会影响主机。审批机制要求 Agent 在执行危险操作前,请求用户批准。用户可以批准或拒绝操作。
2026-09-25 11:31:35
108
原创 Day 50:性能优化与监控 — 让 dsh 跑得更快
/ 性能监控插件// 监控 LLM 调用})})// 监控工具调用})// 定期输出指标})}, 60000) // 每分钟输出一次指标定义计算公式目标值TTFT第一个 token 到达时间 - 请求发送时间< 1s总延迟完整响应到达时间 - 请求发送时间< 30sToken 速度总 token 数 / 总时间Agent 迭代时间单次 Agent 迭代的总时间< 10s工具执行时间单个工具的执行时间< 5s会话加载时间加载会话的时间< 1s。
2026-09-25 11:30:59
113
原创 Day 49:第七周复习 + 综合练习
什么是能力接缝(Capability Seam)?能力接缝由哪三个角色组成?Service Definition 的职责是什么?Service Provider 的职责是什么?Consumer 的职责是什么?为什么能力接缝必须完整(三个角色都有)?什么时候需要拆分能力接缝?什么时候不需要?举一个 dsh 中的能力接缝例子(LLM/Shell/Web/FS)。提供者注册表的作用是什么?能力接缝的加载顺序是什么?什么是能力接缝(Capability Seam)?
2026-09-25 11:30:20
200
原创 SharpDevelop 启动流程分析:从入口到启动显示
基于源码实际阅读整理。分析日期:2026-09-05→ 环境检查 → 启动画面 → 宿主(AppDomain) → 核心初始化 → AddIn 加载 → 工作台初始化 → 主窗口显示。
2026-09-05 12:14:56
110
原创 SharpDevelop 5.1 架构分析:框架图 · 流程图 · 数据流图
及关联项目(Core / Base / Presentation / Libraries / AddIns)。分析日期:2026-09-05。
2026-09-05 11:38:14
126
原创 第 07 章 综合实战:构建 Node 版 AI 助手
读者画像:有 C#/.NET 后端经验。本章把前面学到的所有零件组装成一个完整可运行的,并把它组织成你熟悉的"分层"结构——看到services/tools/agent.tscli.ts,请直接类比 C# 的 Service / Repository / 领域服务 / Controller 入口。(自包含,复制出来即可当独立项目)。
2026-09-04 10:30:00
148
原创 06 Agent 设计与 MCP
是 Anthropic 于 2024 年底开源的一套开放协议,用来让"AI 应用(宿主)"与"外部工具 / 数据源"标准地互相发现与调用。它常被类比为AI 世界的 USB-C:接口统一了,任何"支持 MCP 的工具"都能即插即用地被任何"MCP 客户端"使用。宿主(MCP Client)的角色是 Claude Code / Cursor / 各类 Agent 框架;工具方(MCP Server)的角色是你的文件系统、GitHub、数据库、企业内部系统。MCP 原语作用类比Tools(工具)
2026-09-04 10:29:16
489
tinyxml2配套源码
2016-06-27
国产8051模拟器
2016-09-10
python抓取天气并分析 实例源码
2017-08-28
胶囊模型的代码
2018-02-02
书《深度学习》
2017-03-13
开源鸿蒙4.0不能进入桌面的补丁
2024-03-17
开源鸿蒙 4.0 RK3566开发板配置
2024-03-17
实现numpy的C++库扩展
2019-11-24
svm_hog_data.rar
2020-03-02
python web py入门配套源代码
2018-02-23
webpy演示例子1
2018-02-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅