 xuyueandClaude Opus 5.5
|
697f31e9ce
|
部署:bubblewrap 沙箱、编译检查、访问口令、Docker Compose
- 学生程序每次运行放进 bubblewrap:断网,只读挂载系统文件、运行时和自己的工程目录,
看不到其他进程和服务器环境变量;限制堆内存 128 MB、CPU 时间 120 秒、运行 60 分钟,
nice 10,全站同时运行上限 150;启动时自检沙箱,不可用时拒绝运行
- 编译检查(SIM001):网络、反射、启动进程、调用本机代码、加载程序集、dynamic 给出中文报错
- 访问口令:cookie 保存口令哈希,按真实 IP 限制输错次数;前端口令页
- 服务端配置集中到 config.ts,可用环境变量覆盖;Bun 直接提供打包好的网页
- Dockerfile(多阶段,服务端打包成单文件)、compose.yaml(Caddy 只收 HTTP,接入 NPM 的
npm_proxy 网络)、deploy/deploy.sh(本机构建后经 ssh 传到服务器)和部署说明
- 测试:沙箱隔离、内存上限、CPU 时间上限、编译检查
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-22 15:40:09 +08:00 |
|
 xuyueandClaude Opus 5.5
|
4c53caf7fa
|
整理教材示例:项目 1 任务 2、项目 4 任务 1 和 3、项目 5 任务 1
- 界面取自配套参考工程,用设计器引擎按书上表格改控件名(label1 → lbl_port 等),
去掉 BOM、换行统一为 LF;代码按书整理,修正 boolIsOpen 等印刷错误
- 测试:所有示例都能编译(10 个),以及计算器 / 多态、红外对射、报警灯、火焰的行为测试
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-22 11:29:37 +08:00 |
|
 xuyueandClaude Opus 5.5
|
8feda289de
|
多窗体:新建 / 删除窗体,项目 1 登录示例;标识符支持中文
- 新建窗体:生成与 VS 新建窗体相同的 X.cs 和 X.Designer.cs,沿用工程命名空间;
删除窗体(启动窗体不能删)
- 标签页按窗体分组,启动窗体排在最前并默认打开
- 运行时点哪个窗口哪个到最前;消息框始终在所有窗口之上
- 示例:项目 1 任务 1 登录与增加用户,两个窗体的 Designer.cs 由设计器引擎生成;
修正书上未声明的 change 变量、关闭后重复 Show 已释放窗体的问题
- 设计器的正则支持中文控件名、类名、命名空间
- 修正:切换窗体时属性窗口的名称没有刷新
- 测试:多窗体端到端测试;新窗体模板测试
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-22 11:23:37 +08:00 |
|
 xuyueandClaude Opus 5.5
|
ea5a25af06
|
窗体设计器:工具箱、拖放、属性与事件窗口,读写 VS 格式的 Designer.cs
- Designer.cs 在浏览器端解析为语句列表,未改动的语句保留原文:
教材 25 个参考窗体和全部示例读入再写出逐字节不变
- 编辑操作:添加 / 删除 / 移动 / 改名控件、属性、事件、列表项;
布局语句增删规则与 VS 一致(对全部现有文件执行无变化)
- 双击控件或事件:绑定事件并在窗体代码末尾插入处理方法,跳到代码
- 预览复用运行时的 ControlView,设计时与运行时外观一致
- 修正:窗体属性 this.ClientSize = new Size(...) 被误认成创建控件;
示例 Designer.cs 的块头注释改为 VS 的 "// " 格式
- 测试:73 个(读写往返、布局规则、编辑操作、插入事件处理方法)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-22 11:11:48 +08:00 |
|
 xuyueandClaude Opus 5.5
|
03e80ce2e2
|
代码编辑器换成 Monaco:C# 高亮、错误波浪线与跳转、F5 运行、草稿保存
- 编译错误以波浪线标在代码里,点下方错误信息跳到对应行
- F5 运行、Shift+F5 停止,在整个页面生效并阻止浏览器刷新
- 改过的代码保存在浏览器本地,刷新不丢,可一键恢复原始代码
- Designer.cs 顶部提示由设计器生成
- Monaco 按需加载(编辑功能 + C# 高亮),打包后约 1.2 MB(gzip)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-22 10:56:34 +08:00 |
|
 xuyueandClaude Opus 5.5
|
fbb8a334c3
|
设计方案迁入仓库(docs/设计方案.md),按第 0、1 阶段的实际实现更新
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-22 10:38:04 +08:00 |
|
 xuyueandClaude Opus 5.5
|
98be8331bc
|
第 0 阶段:教材项目 2 任务 1 在网页中原样运行
- runtime:仿真 WinForms 子集(Form、Button、Label、TextBox、ComboBox、
GroupBox、Timer、MessageBox、界面线程消息循环、跨线程检查)、
教材设备类库(DeviceCtrlHelper、LED 控件)、运行器(常驻编译服务 + 运行模式)
- server:Bun + Hono,WebSocket 会话,每次运行一个进程,消息转发
- web:Vue + Naive UI,WinForms 风格窗体渲染、MessageBox、实训台 LED 屏
- 端到端测试与 100 个程序并发的压力测试
- 教材逐任务摘要(docs/教材摘要)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
2026-10-22 10:15:14 +08:00 |
|