C#+MySQL房屋租赁管理系统:数据库课程设计实战与避坑指南
简介这是一份来自某津理工大学的数据库课程设计项目主题为房屋租赁管理系统采用C#与MySQL实现适合计算机相关专业学生作为数据库课程设计或毕业设计的参考范例。项目完整包含C#源代码、MySQL数据库脚本、ER图与数据流图以及课程设计报告和说明文档能够覆盖从需求分析、数据库建模到系统编码与报告撰写的全过程。压缩包内共71个文件主要类型包括cs源码文件、resx/resources界面资源文件、doc/docx报告文档、sql数据库脚本以及exe可执行程序等整体大小12.84MB结构清晰便于按需查阅。目前已有415人学习下载尤其适合需要快速理解数据库课程设计完整流程、参考C#与MySQL结合开发思路的在校学生可围绕房屋租赁业务场景学习表设计、窗体交互与数据操作等关键环节。1. 这个房屋租赁管理系统是拿来干嘛的先把这个标题拆开看某津理工大学的数据库课程设计技术栈是 C# MySQL交付物叫「房屋租赁管理系统.zip」。这东西不是开源框架也不是企业级产品它就是一份能直接打开、能跑通、能拿去答辩的课程设计源码包。数据库课程设计最怕的不是功能多而是「表建得乱、查询写不明白、连数据库都连不上」这三件事。房屋租赁这个业务场景恰好把课程设计要求的增删改查、多表关联、权限区分、模糊查询、统计报表全占了而且业务模型比图书管理、学生管理更有层次感——房东、租客、房源、合同、缴费五个实体互相咬合能讲的故事多老师也愿意追问。适合谁一个学期没怎么写过 C# 的在校生或者想找一套完整参考的课设组长。下面按我从建库到答辩验证的完整路径把这个项目拆透。2. 需求拆解与数据库建模先把五张表的关系捋顺2.1 房屋租赁这个业务为什么适合做课设常见的课设选题里图书管理系统只有读者、图书、借阅记录三张表业务逻辑太薄答辩时老师三句话就问穿了。房屋租赁的好处是天然带有「状态流转」一套房源从「空置」到「已出租」到「已退租」中间还穿插着合同到期、续租、缴费记录。这些状态不是写死的枚举而是靠表之间的关联关系推导出来的——这正是数据库课程设计要考察的核心能力。另一个现实原因是数据量可控。一套课设演示数据房源 30 条、租客 20 条、合同 40 条、缴费记录 60 条量级刚好能演示索引和 JOIN 的效果又不会让学生的老笔记本跑不动。房屋租赁的业务闭环也完整登录进来先看房源列表点进详情能看到历史合同签合同后生成缴费单退租后房源状态自动翻转。这个闭环做出来课程设计报告里「系统流程图」和「E-R 图」两章就不愁没东西写了。2.2 字段设计的取舍五张核心表怎么建我一般会把数据表拆成五张核心表和两张辅助表。核心表是 house房源、landlord房东、tenant租客、contract合同、payment缴费记录辅助表是 user登录账号、house_type房源类型字典。房源表是关键字段这样定CREATE TABLE house ( house_id INT PRIMARY KEY AUTO_INCREMENT COMMENT 房源ID, house_no VARCHAR(20) NOT NULL UNIQUE COMMENT 房源编号如A-3-502, house_type_id INT NOT NULL COMMENT 类型ID关联house_type表, area DECIMAL(6,2) NOT NULL COMMENT 面积单位平方米, monthly_rent DECIMAL(8,2) NOT NULL COMMENT 月租金单位元, status TINYINT NOT NULL DEFAULT 0 COMMENT 状态0空置1已租2维修中, landlord_id INT NOT NULL COMMENT 房东ID关联landlord表, create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (house_type_id) REFERENCES house_type(type_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;这段 DDL 里有三个点值得琢磨。第一是house_no做了 UNIQUE这是业务编号而不是主键房源编号在实际业务里能唯一标识一套房用它来查比用自增 ID 直观得多。第二是status用 TINYINT 而不是 VARCHAR节省存储空间程序里用枚举对应这个习惯在 MySQL 调优时很关键。第三是DEFAULT CURRENT_TIMESTAMP让插入时不用手动写当前时间减少代码层出错的可能。合同表是所有表里关系最复杂的因为它同时关联房源、租客和经办人CREATE TABLE contract ( contract_id INT PRIMARY KEY AUTO_INCREMENT, contract_no VARCHAR(30) NOT NULL UNIQUE COMMENT 合同编号如HT20240001, house_id INT NOT NULL COMMENT 房源ID关联house表, tenant_id INT NOT NULL COMMENT 租客ID关联tenant表, landlord_id INT NOT NULL COMMENT 房东ID关联landlord表, start_date DATE NOT NULL COMMENT 起租日期, end_date DATE NOT NULL COMMENT 租期结束日期, monthly_rent DECIMAL(8,2) NOT NULL COMMENT 合同约定租金, deposit DECIMAL(8,2) NOT NULL DEFAULT 0 COMMENT 押金, status TINYINT NOT NULL DEFAULT 0 COMMENT 状态0生效中1已到期2已退租 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;2.3 用 workbench 建模还是直接写 SQL我自己带人做课设时习惯让他们先用 MySQL Workbench 画 E-R 图再生成 SQL。Workbench 的 EER Diagram 模块直接拖表、拉外键关系线能保存成图片课程设计报告里直接截图就是「数据库概念结构设计」那一章的内容。具体操作步骤是打开 Workbench点 Create EER Diagram From Database反向工程把已有数据库的表拖出来调整布局后导出图片顺便可以 File - Export - Forward Engineer SQL Script 生成建表脚本。但有一个坑要提前说Workbench 生成的 SQL 是它自己的格式比如外键约束名是自动生成的fk_xxx字符集可能漏掉utf8mb4。我一般只用它画图建表还是手动写 SQL 执行避免生成的脚本和代码里的字段对不上。热词里有人搜「mysql workbench使用教程」如果不想装 Workbench直接用命令行执行.sql脚本也可以source /path/to/schema.sql;。但课程设计报告里 E-R 图必须要有一张这个是及格线。2.4 存储引擎和字符集选错了一个都扣分建表时ENGINEInnoDB和DEFAULT CHARSETutf8mb4这两个配置不是随便写的。InnoDB 支持事务和外键MyISAM 不支持课设里签合同、生成缴费单这种操作必须保证要么全成功要么全回滚所以 InnoDB 是硬性要求。字符集选utf8mb4的原因更现实——MySQL 的utf8是假的它是utf8mb3只能存三个字节的字符而「」这种四字节字符会插入失败。更常见的情况是插入 emoji 表情报错或者程序里明明设置中文但存进去变成??。用utf8mb4配合 C# 连接字符串里的CharSetutf8mb4才能保证从界面到数据库全程中文不乱码。3. C# 连接 MySQL从连接字符串到增删改查封装3.1 引入 MySQL Connector/NET 的两种方式C# 连 MySQL 的官方驱动是 MySQL Connector/NETNuGet 包名是MySql.Data或者新版推荐用的MySqlConnector。我一般用MySqlConnector它是社区维护的性能更好的驱动API 和官方版几乎一样。在 Visual Studio 里打开 NuGet 包管理器搜索MySqlConnector安装到项目里这是最不容易出错的方式。另一个方式是直接下载官方安装包但不推荐——版本冲突太容易翻车。安装包里的MySql.Data.dll是老版本而 MySQL 服务端可能已经升到 8.x驱动太旧会连不上。NuGet 方式的好处是包引用写在.csproj或packages.config里答辩时换一台电脑打开项目nuget restore一步就把依赖拉回来了。3.2 连接字符串的配置别写在代码里连接字符串是 C# 连 MySQL 最容易出问题的点格式如下string connStr Serverlocalhost;Port3306;Databasehouse_rental;Uidroot;Pwd123456;CharSetutf8mb4;SslModenone;AllowUserVariablestrue;;参数逐个说。Serverlocalhost连本机没问题但如果 MySQL 装在另一台机器或 Docker 容器里这里要写 IP 或容器名。Port3306是 MySQL 默认端口如果你安装时改过端口这里必须对应用3307。CharSetutf8mb4解决中文乱码。SslModenone在学校机房连本地 MySQL 时必加因为默认的Preferred模式在 Windows 服务端证书配置不正确时会连接失败。AllowUserVariablestrue是给后面用存储过程或自定义变量时留的口子。这个连接字符串建议放在App.config里而不是硬编码在代码中connectionStrings add nameMySqlConn connectionStringServerlocalhost;Port3306;Databasehouse_rental;Uidroot;Pwd123456;CharSetutf8mb4;SslModenone; providerNameMySqlConnector / /connectionStrings用ConfigurationManager.ConnectionStrings[MySqlConn].ConnectionString读取答辩时老师如果问「数据库密码硬编码在代码里有什么问题」这就是现成的加分答案。3.3 写一个 DbHelper 公共类课设的骨架整个系统的数据访问层其实就是封装一个公共的数据库操作类。大多数课设代码里每个窗体都写一遍MySqlConnection、MySqlCommand这既不优雅又容易出错。我一般先把公共方法写好using MySqlConnector; public static class DbHelper { private static string connStr ConfigurationManager.ConnectionStrings[MySqlConn].ConnectionString; public static DataTable ExecuteDataTable(string sql, params MySqlParameter[] parameters) { using (var conn new MySqlConnection(connStr)) { conn.Open(); using (var cmd new MySqlCommand(sql, conn)) { if (parameters ! null) { cmd.Parameters.AddRange(parameters); } var adapter new MySqlDataAdapter(cmd); var dt new DataTable(); adapter.Fill(dt); return dt; } } } public static int ExecuteNonQuery(string sql, params MySqlParameter[] parameters) { using (var conn new MySqlConnection(connStr)) { conn.Open(); using (var cmd new MySqlCommand(sql, conn)) { if (parameters ! null) { cmd.Parameters.AddRange(parameters); } return cmd.ExecuteNonQuery(); } } } public static object ExecuteScalar(string sql, params MySqlParameter[] parameters) { using (var conn new MySqlConnection(connStr)) { conn.Open(); using (var cmd new MySqlCommand(sql, conn)) { if (parameters ! null) { cmd.Parameters.AddRange(parameters); } return cmd.ExecuteScalar(); } } } }这套封装对应三个最常用的操作模式查多行用ExecuteDataTable返回 DataTable 直接绑定 DataGridView增删改用ExecuteNonQuery查单值比如租房总数、某套房当前租金用ExecuteScalar。每个方法都接受params MySqlParameter[]强制调用方走参数化查询从根上防 SQL 注入——这个点答辩时老师几乎必问。注意using块的使用连接用完自动释放。课设里最容易被人揪出来的毛病就是连接不关闭数据量大时撑爆 MySQL 的最大连接数报Too many connections错误。3.4 参数化查询的写法两个反例很多课设代码里会写这种 SQL 拼接string sql SELECT * FROM house WHERE house_no txtHouseNo.Text ;这是一个反面教材。第一个问题是 SQL 注入输入 OR 11会把整张表带出来。第二个问题是字符串里如果有单引号比如房号A-12SQL 直接报语法错误。正确的写法是string sql SELECT * FROM house WHERE house_no houseNo; DataTable dt DbHelper.ExecuteDataTable(sql, new MySqlParameter(houseNo, txtHouseNo.Text));houseNo是占位符MySqlParameter 会把值安全地传给服务端既防注入又省去手动转义。模糊查询也是同一个套路string sql SELECT * FROM house WHERE house_no LIKE CONCAT(%, keyword, %) OR address LIKE CONCAT(%, keyword, %); DataTable dt DbHelper.ExecuteDataTable(sql, new MySqlParameter(keyword, txtKeyword.Text.Trim()));这里特意用CONCAT而不是在 C# 里拼好%关键字%再传进去是为了参数化彻底——参数里只有关键字通配符在 SQL 层处理逻辑更清晰。4. 业务功能落地登录、房源管理、合同与缴费4.1 登录模块区分管理员、房东、租客三种角色登录是课设里第一个要做的功能也是给答辩老师第一印象的功能。设计思路是建一张user表字段包括user_id、username、password、role用 TINYINT 存 0 管理员、1 房东、2 租客、ref_id关联房东或租客表的 ID。role决定了登录后进入哪个主窗体ref_id决定了这个人能看到哪些房源或合同。登录的 SQL 和逻辑如下public bool Login(string username, string password) { string sql SELECT user_id, role, ref_id, real_name FROM user WHERE username username AND password password; DataTable dt DbHelper.ExecuteDataTable(sql, new MySqlParameter(username, username), new MySqlParameter(password, Md5Hash(password))); if (dt.Rows.Count 0) { return false; } CurrentUser.UserId Convert.ToInt32(dt.Rows[0][user_id]); CurrentUser.Role Convert.ToInt32(dt.Rows[0][role]); CurrentUser.RefId Convert.ToInt32(dt.Rows[0][ref_id]); CurrentUser.RealName dt.Rows[0][real_name].ToString(); return true; }这里要提两个细节。密码存储绝对不能用明文课设里至少做一次 MD5 加盐。上面代码里的Md5Hash方法就是MD5.ComputeHash后转十六进制字符串在user表插入时先加密再存。第二个细节是登录状态用静态类CurrentUser全局保存这样任何窗体都能读当前登录人是谁不用到处传参数。4.2 房源管理状态流转是这个系统的灵魂房源管理就是标准的增删改查但「管」字的核心在状态流转。状态字段status有 0空置、1已租、2维修中。签合同时要把它从 0 改成 1退租时从 1 改回 0维修登记时改成 2。更新状态的 SQL 长这样UPDATE house SET status newStatus WHERE house_id houseId;这个 UPDATE 语法本身很简单但配合业务逻辑就有讲究。签合同是一个事务操作先插入 contract 记录再把 house 的 status 改成 1。这两步必须放在一个MySqlTransaction里public bool SignContract(Contract contract) { using (var conn new MySqlConnection(connStr)) { conn.Open(); var transaction conn.BeginTransaction(); try { string insertSql INSERT INTO contract (contract_no, house_id, tenant_id, landlord_id, start_date, end_date, monthly_rent, deposit, status) VALUES (contractNo, houseId, tenantId, landlordId, startDate, endDate, monthlyRent, deposit, 0); var cmd1 new MySqlCommand(insertSql, conn, transaction); cmd1.Parameters.Add(new MySqlParameter(contractNo, contract.ContractNo)); // 其他参数省略... cmd1.ExecuteNonQuery(); string updateSql UPDATE house SET status 1 WHERE house_id houseId; var cmd2 new MySqlCommand(updateSql, conn, transaction); cmd2.Parameters.Add(new MySqlParameter(houseId, contract.HouseId)); cmd2.ExecuteNonQuery(); transaction.Commit(); return true; } catch { transaction.Rollback(); return false; } } }事务的意义在于防止「合同插入了但房源状态没改成已租」这种数据不一致。课设里把这个点写进报告再在答辩时演示一次故意让第二步失败、数据回滚基本就是满分操作了。4.3 列表查询与报表统计GridView 绑定数据源主界面的房源列表通常用一个 DataGridView 展示。数据绑定是这样的string sql SELECT h.house_no, t.type_name, h.area, h.monthly_rent, CASE h.status WHEN 0 THEN 空置 WHEN 1 THEN 已租 WHEN 2 THEN 维修中 END AS status_text, l.landlord_name, h.create_time FROM house h JOIN house_type t ON h.house_type_id t.type_id JOIN landlord l ON h.landlord_id l.landlord_id WHERE h.status status; DataTable dt DbHelper.ExecuteDataTable(sql, new MySqlParameter(status, status)); dataGridView1.DataSource dt;注意这条 SQL 用了两个 JOIN把house_type的类型名和landlord的房东姓名带出来而不是直接显示外键 ID。这体现的是数据库设计里的「第三范式拆表 查询时冗余展示」思路。CASE WHEN把 TINYINT 状态翻译成人话C# 里就不用再做循环判断了。报表统计是课设报告里「系统测试」一章的好素材。统计空置率、租金收入这类 SQL 要用到聚合函数和 GROUP BYSELECT t.type_name, COUNT(h.house_id) AS house_count, AVG(h.monthly_rent) AS avg_rent FROM house h JOIN house_type t ON h.house_type_id t.type_id GROUP BY t.type_name;在 C# 里用ExecuteDataTable取出这个结果绑定到 DataGridView 或 Chart 控件答辩时演示「按户型统计平均租金」效果比干巴巴的表格好得多。5. 避坑指南C# MySQL 课设最常见的四个翻车现场5.1 MySQL 8.x 连不上caching_sha2_password 和驱动版本不匹配现象C# 代码里conn.Open()抛异常报错信息类似Authentication method caching_sha2_password not supported by any of the available plugins。原因MySQL 8.0 默认的认证插件改成了caching_sha2_password而老版本的MySql.Data驱动用的是mysql_native_password双方握手失败。很多人的第一反应是改数据库用户的认证插件其实更好的做法是升级驱动。解决把 NuGet 包MySql.Data或MySqlConnector升到 8.0 以上版本。如果因为特殊原因只能用旧驱动再考虑执行ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 123456;。但课设答辩时老师会追问为什么改这个所以优先走升级驱动的正道。5.2 中文显示成问号字符集三层都得设置现象C# 界面输入中文后写入 MySQL查出来是??或者反过来数据库中文正常但 C# 显示乱码。原因字符集要三层对齐——数据库、表、连接字符串。数据库建库时用了默认的latin1或者建表时没指定utf8mb4或者 C# 连接字符串里少了CharSetutf8mb4。解决检查顺序是先执行SHOW CREATE DATABASE house_rental;看库的字符集再SHOW CREATE TABLE house;看表最后看连接字符串。SQL 操作是ALTER DATABASE house_rental CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;ALTER TABLE同理连接字符串补CharSetutf8mb4。我见过太多人只改连接字符串库和表没动最后一查还是乱。5.3 连接数耗尽Too many connections现象程序跑了一段时间后任何窗体操作都报Too many connections重启 MySQL 服务能撑一会儿但很快复发。原因代码里MySqlConnection打开了没关闭。最常见的是DataTable查询路径里conn没用using包裹或者异常时没走到Close()。解决全部改成上面 DbHelper 的写法using块保证连接一定释放。另外可以把连接字符串加上Max Pool Size10;Min Pool Size1限制连接池上限。课设里数据量小只要确保每个方法都用using这个问题基本不会再出现。5.4 在建表时外键约束报错表顺序和数据类型现象执行带FOREIGN KEY的建表语句时报Cannot add foreign key constraint。原因两个比较常见的触发点。一是被引用的表还没建立比如建 contract 表时 house 表还没建二是外键字段的数据类型或长度和主键不一致比如主键是INT外键写成INT UNSIGNEDMySQL 会判定类型不匹配不给建。解决建表顺序严格按依赖关系来先建 house_type、landlord、tenant 这些被引用的表再建 house、contract。数据类型和长度必须一字不差。如果已经建了一半用DROP TABLE清掉重新来。课设里写schema.sql时建议把建表语句手工排好序别用 Workbench 一键导出就完事。6. 答辩前的验证脚本用三条 SQL 证明系统是真的课设答辩时演示完界面操作后老师大概率会问“数据在数据库层面怎么验证”。提前准备几条验证 SQL现场跑不出来也能打开 MySQL 命令行快速救场。第一条是检查关键数据是否一致SELECT (SELECT COUNT(*) FROM house) AS house_cnt, (SELECT COUNT(*) FROM contract WHERE status 0) AS active_contract_cnt, (SELECT COUNT(*) FROM house WHERE status 1) AS rented_house_cnt;这条 SQL 验证的核心逻辑是生效中的合同数应该等于已出租的房源数。如果对不上说明签合同或退租的事务没做好数据不一致。答辩时现场跑这条 SQL数据对上比任何讲解都有说服力。第二条是验证房源状态报表SELECT CASE status WHEN 0 THEN 空置 WHEN 1 THEN 已租 WHEN 2 THEN 维修中 END AS status_desc, COUNT(*) AS cnt, ROUND(AVG(monthly_rent), 2) AS avg_rent FROM house GROUP BY status;这条用 GROUP BY 看一眼全局数据是否合理同时证明你懂聚合函数。第三条是验证合同到期提醒这也是「房屋租赁管理系统」里比较好的进阶功能SELECT c.contract_no, h.house_no, h.monthly_rent, c.end_date, DATEDIFF(c.end_date, CURDATE()) AS days_left FROM contract c JOIN house h ON c.house_id h.house_id WHERE c.status 0 AND DATEDIFF(c.end_date, CURDATE()) BETWEEN 0 AND 30;做这个系统时想清楚一个事课设评分看的不是功能有多炫而是「数据库设计是否合理、代码是否规范、底层原理是否讲得清」。这个项目我前后带人做过几轮最深的教训是学生总爱把精力砸在界面上窗体画得花里胡哨但连最基本的参数化查询都没用、建的表连第三范式都谈不上。真正值得花时间的顺序应该是先建好表结构和关系再写 DbHelper 数据访问层最后才做界面顺序反了就是反复返工。房源的增删改查、合同的状态流转、缴费的记录与统计这三块做好了就是一套稳稳的课设。希望这些探索能帮你少踩几个坑把它做得踏实尽兴。本文还有配套的精品资源点击获取

相关新闻

大模型AI资源动态调度系统设计与实践

大模型AI资源动态调度系统设计与实践

1. 这不是“战储稳备”的字面拼凑,而是一套真实落地的AI资源调度中枢“战储稳备大模型人工智能动态管控系统平台软件”——这个标题乍看像政策文件里的组合词,但拆开来看,它精准指向当前大模型应用落地中最棘手的一类问题:算力资源…

2026/9/26 8:12:12 阅读更多 →
微信小程序+SSM+MySQL房屋租赁系统全栈实践

微信小程序+SSM+MySQL房屋租赁系统全栈实践

简介:这是一套面向计算机专业本科生的毕业设计级房屋租赁管理小程序完整开发资源,适用于Java全栈与微信小程序学习者进行课程设计、毕设参考或项目复现。系统采用前后端分离架构:前端基于微信小程序实现用户、中介、管理员三端交互&#xff1…

2026/9/26 8:12:12 阅读更多 →
Agentic AI算力新需求:Vera Rubin平台硬件设计深度解析

Agentic AI算力新需求:Vera Rubin平台硬件设计深度解析

Agentic AI这个词最近两年在圈子里被反复提起,但真正让我感到“算力焦虑”的,不是大模型参数量又翻了几倍,而是智能体开始主动调用工具、规划任务、多步推理之后,整个计算图变得完全不可预测。英伟达副总裁Ian Buck在公开场合多次…

2026/9/26 8:12:12 阅读更多 →

最新新闻

MySQL 5.7.22 生产部署指南:兼容性、安全初始化与 systemd 管理

MySQL 5.7.22 生产部署指南:兼容性、安全初始化与 systemd 管理

简介:本资源为MySQL 5.7.22官方Windows 32位安装包(mysql-5.7.22-win32),面向数据库初学者、运维人员及中小型项目开发者,用于快速部署稳定可靠的开源关系型数据库环境。压缩包共365个文件,含83个动态链接库…

2026/9/26 8:49:35 阅读更多 →
开源代码评审工作流:CLI+Agent+Git Diff三位一体架构

开源代码评审工作流:CLI+Agent+Git Diff三位一体架构

1. 项目概述:这不是一个“工具”,而是一套可落地的开源代码评审工作流“open-code-review”这个名称乍看像某个 GitHub 仓库名,但实际它代表的是一种正在快速演进的工程实践范式——把传统意义上依赖人工、会议、PR评论框完成的代码评审&…

2026/9/26 8:49:35 阅读更多 →
RoboCup 2D agent2d-3.1.1核心机制解析:Role、Bhv与WorldModel协同原理

RoboCup 2D agent2d-3.1.1核心机制解析:Role、Bhv与WorldModel协同原理

简介:本资源是一份面向RoboCup 2D机器人足球竞赛开发者的代码解析文档,专为初学者与进阶开发者梳理核心智能体行为逻辑与系统架构。文档深入拆解了bhv行为动作(如基础跑位、进攻踢球、守门员扑救等14类动作)、role球员角色&#x…

2026/9/26 8:49:35 阅读更多 →
Open-Code-Review:可审计的AI代码审查范式

Open-Code-Review:可审计的AI代码审查范式

1. “Open-Code-Review”不是新工具,而是一套可落地的开源协作范式 你可能在 GitHub Trending 或 Hugging Face 的 Weekly Report 里见过这个词——它不像 pre-commit 那样有明确的 CLI 命令,也不像 SonarQube 那样自带 Web 控制台。它没有官方仓库、…

2026/9/26 8:49:35 阅读更多 →
A2A协议全解析:AI Agent互操作标准、MCP关系与从0到1实践

A2A协议全解析:AI Agent互操作标准、MCP关系与从0到1实践

在 Agent 开发圈子里混久了,你会发现一个很魔幻的现实:单个 Agent 的能力越来越强,但把两个不同团队做的 Agent 放在一起,它们根本没法好好说话。这不光是接口格式不统一的问题,连“你帮我干件事”“干完了&#xff0c…

2026/9/26 8:49:35 阅读更多 →
ChatGPT-Shortcut「我的收藏」完全指南:标签分类、拖拽排序与跨设备同步的提示词库管理

ChatGPT-Shortcut「我的收藏」完全指南:标签分类、拖拽排序与跨设备同步的提示词库管理

AI 应用提示工程人工智能前端 【免费下载链接】ChatGPT-Shortcut Stop writing prompts from scratch — a searchable prompt library for ChatGPT, Claude, Gemini and Cursor Русский 한국어 العربية हिन्दी ไทย | 别再从头写提示词&…

2026/9/26 8:48:35 阅读更多 →

日新闻

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、…

2026/9/26 0:00:25 阅读更多 →
学校官网模拟全流程实践:从页面布局到后端接口与部署

学校官网模拟全流程实践:从页面布局到后端接口与部署

如果你正在找一门 Web 大作业的题目,或者刚开始接触 Web 前端开发想做点能拿来展示的东西,“学校官网模拟”几乎是最稳的选择。题目看着简单,但要把导航、新闻列表、轮播 Banner、二级页面、后台数据都串起来,其实已经把前端布局、…

2026/9/26 0:00:25 阅读更多 →
超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

简介:这是一份面向游戏开发初学者与C进阶学习者的超级玛丽(超级马里奥)游戏源码,基于C面向对象编程实现,适合想通过经典项目理解游戏主循环、角色类设计、地图关卡加载与物理碰撞检测的读者参考。压缩包共49个文件&…

2026/9/26 0:00:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/25 19:27:14 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/25 11:15:26 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/25 20:29:09 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/25 20:29:43 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/25 20:29:31 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/25 19:27:26 阅读更多 →