C#人事管理系统课程设计:WinForms+SQL Server完整源码与三层架构实战
简介这份资源是面向计算机相关专业学生与初学开发者的数据库课程设计完整项目以C#与Windows Forms构建人事管理桌面应用并与关系型数据库紧密集成可处理员工档案、考勤记录、薪资计算等核心业务。压缩包共91个文件约4.1MB以cs源码、resx与resources界面资源、exe与dll可执行组件、config配置、mdf与ldf数据库文件以及docx文档为主另含sln与csproj工程文件结构完整可直接导入运行。资源内附数据库课程设计报告与系统运行说明书前者覆盖需求分析、数据库模型与系统架构后者提供安装启动与功能操作指引配合登录、注册、部门、员工、考勤、薪资等窗体源码便于读者理解界面逻辑与数据访问实现。目前已有5723人学习下载适合需要课程设计参考、C#桌面开发入门或数据库应用实践的学习者对照研读与二次开发。1. 从一份课程设计说起为什么我建议你亲手跑一遍这套人事管理系统很多同学做数据库课程设计最后交上去的是一个 Word 文档加几张 ER 图答辩时被问“你这个外键约束在代码里怎么体现的”就卡住了。我当年也踩过这个坑后来拿到一份用 C# 写的人事管理系统完整源码从建库、连库到增删改查全部跑通才发现课程设计真正的价值不在画图而在于把“数据库设计”这四个字落到能运行的代码上。这套系统覆盖员工档案、部门岗位、薪资考勤、用户权限几个核心模块用 C# 做前端交互、SQL Server 做数据存储适合正在做数据库课设的学生、想补一个完整 CRUD 项目练手的初级开发者以及需要一套可演示的管理系统原型的同学。它不花哨但胜在结构完整、逻辑清晰拿来改一改就能变成你自己的课设作品。2. 技术选型与整体架构WinForms SQL Server 的三层落地方式2.1 为什么是 C# WinForms 而不是 Web这套系统选的是 C# WinForms 桌面端而不是现在更流行的 Web 方案。原因很实际数据库课程设计的评分重点在“数据库设计与访问”不在前端框架。WinForms 拖控件就能出界面省下来的时间可以全部砸在表结构、存储过程和事务处理上。常见做法是用 Visual Studio 建一个 Windows 窗体应用目标框架选 .NET Framework 4.7.2 或 .NET 6/8 的 Windows 桌面工作负载都行前者兼容性更好后者语法更现代。数据访问层没有上 Entity Framework 这类 ORM而是直接用 ADO.NET 的SqlConnection、SqlCommand、SqlDataReader。这不是偷懒恰恰是课程设计该有的样子——老师要看的就是你会不会手写 SQL、会不会用参数化查询防注入、会不会手动管理连接的生命周期。ORM 把 SQL 藏起来了反而让你在答辩时说不清底层发生了什么。2.2 三层结构怎么分项目在逻辑上分成三层虽然课程设计规模不大但分层能让代码不至于全堆在窗体文件里表示层UI各个.cs窗体文件负责接收输入、展示数据、做基础校验。业务逻辑层BLL处理员工入职、离职、调岗、薪资计算等规则比如“离职员工不能再被分配新岗位”。数据访问层DAL封装所有对数据库的操作对外只暴露方法不暴露 SQL 细节。目录结构大致是这样HRMS/ ├── HRMS.sln ├── HRMS/ │ ├── App.config # 数据库连接字符串 │ ├── Program.cs # 程序入口 │ ├── Forms/ # 表示层 │ │ ├── LoginForm.cs │ │ ├── MainForm.cs │ │ ├── EmployeeForm.cs │ │ ├── DepartmentForm.cs │ │ └── SalaryForm.cs │ ├── BLL/ # 业务逻辑层 │ │ ├── EmployeeService.cs │ │ └── SalaryService.cs │ ├── DAL/ # 数据访问层 │ │ ├── SqlHelper.cs # 数据库连接与执行封装 │ │ ├── EmployeeDao.cs │ │ └── DepartmentDao.cs │ └── Models/ # 实体类 │ ├── Employee.cs │ └── Department.cs └── Database/ └── HRMS.sql # 建库建表脚本这个结构的好处是换数据库只动 DAL改业务规则只动 BLL调界面只动 Forms。课设答辩时老师问“如果要把 SQL Server 换成 MySQL 要改哪里”你能指着 DAL 说“只改这一层”这就是加分项。2.3 数据库表设计的关键几张表系统围绕人事管理的核心实体建了这几张表字段设计遵循第三范式同时为了查询性能在部分表上做了适度冗余表名作用关键字段Employee员工基本信息EmpID、Name、Gender、BirthDate、DeptID、PositionID、HireDate、StatusDepartment部门信息DeptID、DeptName、ManagerIDPosition岗位信息PositionID、PositionName、BaseSalarySalary薪资记录SalaryID、EmpID、Month、Base、Bonus、Deduction、ActualAttendance考勤记录AttID、EmpID、Date、StatusSysUser系统登录用户UserID、UserName、PasswordHash、RoleEmployee表里的DeptID和PositionID是外键分别指向Department和Position。Salary表通过EmpID关联员工每月一条记录。SysUser表存登录账号密码存哈希而不是明文——这一点很多课设会忽略但加上去就是亮点。3. 核心模块拆解从登录验证到员工增删改查的完整链路3.1 数据库连接封装一个 SqlHelper 管住所有操作所有数据库操作都走同一个入口避免连接字符串散落各处。这是 DAL 层最基础的封装// DAL/SqlHelper.cs using System; using System.Configuration; using System.Data; using System.Data.SqlClient; public static class SqlHelper { // 从 App.config 读取连接字符串避免硬编码 private static readonly string connStr ConfigurationManager.ConnectionStrings[HRMSConn].ConnectionString; // 执行增删改返回受影响行数 public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters) { using (SqlConnection conn new SqlConnection(connStr)) using (SqlCommand cmd new SqlCommand(sql, conn)) { if (parameters ! null) cmd.Parameters.AddRange(parameters); conn.Open(); return cmd.ExecuteNonQuery(); } } // 执行查询返回 DataTable public static DataTable ExecuteQuery(string sql, params SqlParameter[] parameters) { using (SqlConnection conn new SqlConnection(connStr)) using (SqlCommand cmd new SqlCommand(sql, conn)) { if (parameters ! null) cmd.Parameters.AddRange(parameters); SqlDataAdapter adapter new SqlDataAdapter(cmd); DataTable dt new DataTable(); adapter.Fill(dt); return dt; } } // 执行查询返回首行首列用于 COUNT、SUM 等 public static object ExecuteScalar(string sql, params SqlParameter[] parameters) { using (SqlConnection conn new SqlConnection(connStr)) using (SqlCommand cmd new SqlCommand(sql, conn)) { if (parameters ! null) cmd.Parameters.AddRange(parameters); conn.Open(); return cmd.ExecuteScalar(); } } }这段代码的关键点有三个。第一连接字符串放在App.config里通过ConfigurationManager读取换环境只改配置文件。第二所有方法都用using包裹SqlConnection和SqlCommand确保连接用完即关不会因为异常导致连接泄漏。第三参数用SqlParameter传入而不是拼字符串这是防 SQL 注入的基本功。params关键字让调用方可以传任意数量的参数用起来很顺手。对应的App.config配置configuration connectionStrings add nameHRMSConn connectionStringData Source.;Initial CatalogHRMS;Integrated SecurityTrue providerNameSystem.Data.SqlClient/ /connectionStrings /configurationData Source.表示本机默认实例Integrated SecurityTrue表示用 Windows 身份验证不需要在代码里写账号密码。如果你用的是 SQL Server Express改成Data Source.\SQLEXPRESS即可。3.2 登录模块密码哈希与角色判断登录不是简单查一下用户名密码对不对还要区分管理员和普通用户决定主界面显示哪些功能。密码在入库时用 SHA256 加盐哈希登录时同样计算后比对// BLL/UserService.cs using System; using System.Data; using System.Data.SqlClient; using System.Security.Cryptography; using System.Text; public class UserService { // 计算密码哈希SHA256(密码 盐) private static string HashPassword(string password, string salt) { using (SHA256 sha SHA256.Create()) { byte[] bytes Encoding.UTF8.GetBytes(password salt); byte[] hash sha.ComputeHash(bytes); return BitConverter.ToString(hash).Replace(-, ).ToLower(); } } // 登录验证成功返回角色失败返回 null public static string Login(string userName, string password) { string sql SELECT PasswordHash, Salt, Role FROM SysUser WHERE UserName UserName; SqlParameter[] ps { new SqlParameter(UserName, userName) }; DataTable dt SqlHelper.ExecuteQuery(sql, ps); if (dt.Rows.Count 0) return null; // 用户不存在 string storedHash dt.Rows[0][PasswordHash].ToString(); string salt dt.Rows[0][Salt].ToString(); string inputHash HashPassword(password, salt); // 比对哈希值而不是明文 if (storedHash inputHash) return dt.Rows[0][Role].ToString(); return null; } }这里有几个设计决策值得说。盐值存在SysUser表的Salt字段里每个用户注册时随机生成这样即使两个用户密码相同哈希结果也不同。比对时用比较字符串实际项目中可以用CryptographicOperations.FixedTimeEquals防时序攻击但课设场景下足够。登录成功后返回角色字符串主窗体根据角色决定是否启用“用户管理”“薪资调整”等按钮。3.3 员工管理分页查询与事务写入员工列表是使用频率最高的界面数据量大了必须分页。这里用 SQL Server 的OFFSET FETCH语法实现// DAL/EmployeeDao.cs public static DataTable GetEmployeesByPage(int pageIndex, int pageSize, string keyword) { string sql SELECT e.EmpID, e.Name, e.Gender, d.DeptName, p.PositionName, e.HireDate, e.Status FROM Employee e LEFT JOIN Department d ON e.DeptID d.DeptID LEFT JOIN Position p ON e.PositionID p.PositionID WHERE (Keyword OR e.Name LIKE % Keyword %) ORDER BY e.EmpID OFFSET Offset ROWS FETCH NEXT PageSize ROWS ONLY; SqlParameter[] ps { new SqlParameter(Keyword, keyword ?? ), new SqlParameter(Offset, (pageIndex - 1) * pageSize), new SqlParameter(PageSize, pageSize) }; return SqlHelper.ExecuteQuery(sql, ps); }OFFSET Offset ROWS FETCH NEXT PageSize ROWS ONLY是 SQL Server 2012 及以上版本的分页写法比ROW_NUMBER()简洁。LEFT JOIN保证即使员工没有分配部门或岗位记录也能查出来。Keyword为空字符串时WHERE条件恒真相当于不筛选这样一套 SQL 同时支持“全部列表”和“搜索列表”两种场景。新增员工时涉及多张表的写入比如同时插入员工基本信息和初始薪资记录必须用事务保证一致性// BLL/EmployeeService.cs public static bool AddEmployee(Employee emp, decimal initialSalary) { using (SqlConnection conn new SqlConnection(connStr)) { conn.Open(); using (SqlTransaction tran conn.BeginTransaction()) { try { // 第一步插入员工 string sql1 INSERT INTO Employee (Name, Gender, BirthDate, DeptID, PositionID, HireDate, Status) VALUES (Name, Gender, BirthDate, DeptID, PositionID, HireDate, 在职); SELECT SCOPE_IDENTITY();; SqlCommand cmd1 new SqlCommand(sql1, conn, tran); cmd1.Parameters.AddWithValue(Name, emp.Name); // ... 其他参数省略 int newEmpId Convert.ToInt32(cmd1.ExecuteScalar()); // 第二步插入初始薪资记录 string sql2 INSERT INTO Salary (EmpID, Month, Base, Bonus, Deduction, Actual) VALUES (EmpID, Month, Base, 0, 0, Base); SqlCommand cmd2 new SqlCommand(sql2, conn, tran); cmd2.Parameters.AddWithValue(EmpID, newEmpId); cmd2.Parameters.AddWithValue(Month, DateTime.Now.ToString(yyyy-MM)); cmd2.Parameters.AddWithValue(Base, initialSalary); cmd2.ExecuteNonQuery(); tran.Commit(); return true; } catch { tran.Rollback(); return false; } } } }SCOPE_IDENTITY()拿到刚插入员工的自增 ID用于第二步关联。两步操作包在同一个SqlTransaction里任何一步失败就整体回滚不会出现“员工建了但薪资没建”的脏数据。这是课设里最能体现数据库功力的地方之一答辩时主动讲这一点老师基本会点头。3.4 薪资计算存储过程还是代码计算薪资模块有两种实现思路把计算逻辑写成存储过程放在数据库里或者在 C# 代码里算完再存。这套系统选的是后者原因是课设环境下调试 C# 比调试 T-SQL 方便而且计算规则基本工资 奖金 - 扣款不复杂没必要上存储过程。但如果你的课设要求“必须使用存储过程”可以把这段逻辑搬到数据库端-- 可选用存储过程计算某月所有员工的实际薪资 CREATE PROCEDURE sp_CalcMonthlySalary Month VARCHAR(7) AS BEGIN UPDATE Salary SET Actual Base Bonus - Deduction WHERE Month Month; END调用时用SqlCommand的CommandType.StoredProcedure即可。两种方式没有绝对优劣看课设要求和个人习惯。我一般会先在代码里把逻辑跑通确认无误后再考虑要不要下沉到存储过程。4. 避坑与排查跑不起来时先看这几条4.1 连接数据库报“无法打开登录所请求的数据库”现象是程序一启动就弹异常提示找不到HRMS数据库。原因通常是建库脚本没执行或者连接字符串里的数据库名和实际建的不一致。解决办法是先打开 SQL Server Management Studio执行Database/HRMS.sql脚本确认HRMS数据库出现在对象资源管理器里。然后检查App.config里的Initial Catalog是否拼写正确。如果用的是 LocalDB连接字符串要改成(localdb)\MSSQLLocalDB。4.2 插入中文变成问号现象是员工姓名存进去后查出来是???。原因是数据库字段的排序规则不是中文或者连接字符串没指定字符集。解决方法是建库时用COLLATE Chinese_PRC_CI_AS或者在连接字符串里加Charsetutf8MySQL 场景。SQL Server 一般不会出这个问题但如果你的字段类型是varchar而不是nvarchar中文可能丢失。把Name、DeptName这类字段统一改成nvarchar就能解决。4.3 分页查询第二页数据重复或丢失现象是翻到第二页时某些记录和第一页重复或者中间少了几条。原因几乎都是ORDER BY的字段不唯一。比如按HireDate排序同一天入职的员工顺序不确定OFFSET FETCH每次取到的集合就可能不一样。解决办法是在ORDER BY里加上主键做 tie-breaker写成ORDER BY e.HireDate, e.EmpID。这个坑我在实际项目里也踩过排序字段不唯一是分页的经典翻车点。4.4 窗体关闭后数据库连接没释放现象是程序运行一段时间后报“连接池已满”或数据库响应变慢。原因是有些SqlConnection没有用using包裹异常发生时Close()没被执行。排查方法是全局搜索new SqlConnection确认每一处都在using块里或者手动在finally里调Close()。SqlHelper 把所有连接操作集中管理就是为了从源头避免这个问题。如果你在窗体代码里直接写了数据库操作赶紧挪到 DAL 层去。4.5 登录后主界面按钮权限没生效现象是用普通用户登录却能看到“用户管理”菜单。原因是主窗体加载时没有根据角色设置控件的Enabled或Visible属性。解决办法是在MainForm_Load里根据登录返回的角色字符串做判断private void MainForm_Load(object sender, EventArgs e) { if (CurrentUser.Role ! Admin) { btnUserManage.Enabled false; btnSalaryAdjust.Enabled false; } }注意这只隐藏了入口真正的权限校验还应该在 BLL 层再做一次防止有人绕过界面直接调方法。界面控制是“看不见”业务层校验是“做不了”两层都要有。5. 二次开发与改造把这套课设变成你自己的项目拿到源码跑通之后下一步就是改成自己的东西。最省力的切入点是换业务场景——把“人事管理”改成“图书管理”“学生成绩管理”或“仓库管理”表结构改一改界面文字换一换核心的增删改查逻辑几乎不用动。比如把Employee表改成Book表字段从姓名、部门换成书名、出版社SqlHelper和分页查询那套代码原封不动就能用。第二个改造方向是加功能。课设常见的要求是“至少有一个统计报表”你可以在现有基础上加一个部门人数统计或月度薪资汇总。用ExecuteScalar跑一个SELECT COUNT(*) FROM Employee WHERE DeptID DeptID把结果绑到Label或DataGridView上就行。再进一步可以用Chart控件画个柱状图答辩时视觉效果直接拉满。第三个方向是换数据访问方式。如果你想让项目看起来更“现代”可以把 ADO.NET 换成 Dapper 或 Entity Framework Core。Dapper 的改造成本最低SqlHelper.ExecuteQuery换成conn.QueryEmployee(sql, params)代码量能少一半。但换之前想清楚课设答辩时老师可能问你“为什么用 Dapper 不用原生 ADO.NET”你得答得上来。我的建议是课设阶段保留原生 ADO.NET把 ORM 作为“扩展阅读”写在文档里既展示了基本功又体现了技术视野。改造过程中有一个习惯我强烈建议你养成每次改完表结构同步更新建库脚本HRMS.sql并在脚本开头加上IF EXISTS ... DROP的判断保证脚本可以重复执行。我见过太多人改完数据库忘了更新脚本换台机器部署时直接报错然后花半小时找原因。从那以后我每次动表结构都强制走一遍“改表 → 更新脚本 → 删库 → 重新执行脚本 → 跑程序”的流程确认脚本能独立完成建库。这个习惯帮我省下了无数次返工。如果你手头还没有这套源码可以找一份完整的 C# 人事管理系统课程设计资源重点确认它包含建库脚本、三层结构代码和可运行的解决方案文件。拿到后先别急着改按第 3 章的链路把登录、查询、新增各跑一遍确认环境没问题再动手。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

RIS辅助MIMO无源波束成形与信道估计Matlab仿真实现解析

RIS辅助MIMO无源波束成形与信道估计Matlab仿真实现解析

简介:可重构智能表面辅助多用户多输入多输出系统的无源波束成形与信息传输设计,是一份基于MATLAB的完整仿真代码包,面向通信、电子信息及数学相关专业的学生,适用于课程设计、期末大作业与毕业设计等场景。代码采用参数化编程&…

2026/10/18 21:30:01 阅读更多 →
SAS 9.4 时间限制绕过思路:sashost.dll 与授权配置的合规替代方案

SAS 9.4 时间限制绕过思路:sashost.dll 与授权配置的合规替代方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 21:30:01 阅读更多 →
话费充值系统源码拆解:直充、快充、慢充三条链路实现与避坑

话费充值系统源码拆解:直充、快充、慢充三条链路实现与避坑

简介:这是一套面向Java后端开发者与支付系统学习者的手机话费充值系统源码,覆盖直充、快充、慢充等常见业务模式,可用于搭建充值平台原型、研究订单与支付链路,或作为课程设计与二次开发的基础工程。压缩包共约2000个文件&#xf…

2026/10/18 21:30:01 阅读更多 →

最新新闻

PlantUML驱动的可执行架构图设计方法论

PlantUML驱动的可执行架构图设计方法论

1. 项目概述:这不是画图,是构建可执行的逻辑骨架“diagram-design”这个词组乍一看像美术课作业,但在我过去十年带过的几十个跨领域项目里,它从来不是PPT里的装饰性插图,而是系统落地前最关键的“可执行蓝图”。我见过…

2026/10/19 0:26:02 阅读更多 →
扩展有限元XFEM从原理到C++实现:裂缝模拟与渗透率联动实战

扩展有限元XFEM从原理到C++实现:裂缝模拟与渗透率联动实战

干数值模拟这行当,最让人头秃的往往不是力学推导本身,而是建模那一关。常规有限元里,裂缝面必须跟单元边界重合,网格拓扑得迁就裂缝几何。遇到一条弯弯曲曲的裂缝倒还好,顶多多切几刀;可真到了多裂缝交叉、…

2026/10/19 0:26:02 阅读更多 →
Agent Skills深度架构解析与实战:从MCP到TaoToken的智能体能力编排

Agent Skills深度架构解析与实战:从MCP到TaoToken的智能体能力编排

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:25:02 阅读更多 →
如何将 PostgreSQL MCP 服务器与 Cursor 或 Claude 结合使用:TaoToken 统一 Key 接入实战

如何将 PostgreSQL MCP 服务器与 Cursor 或 Claude 结合使用:TaoToken 统一 Key 接入实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:25:02 阅读更多 →
那张被审稿人点赞的图是怎么做出来的?科迅捷AI(官方网站:www.kexunjie.com)有答案

那张被审稿人点赞的图是怎么做出来的?科迅捷AI(官方网站:www.kexunjie.com)有答案

想象这样一个场景:你的博士论文投稿三个月,审稿意见回来了,其中一条写着这张图设计得尤其清晰、信息量大。这是审稿人少见的正面评价,在满是修改意见的意见单里格外显眼。那张被点赞的图,到底是怎么做出来的&#xff1…

2026/10/19 0:25:02 阅读更多 →
论文里的数据分析别硬编,科迅捷AI(官方网站:www.kexunjie.com)把方法讲明白

论文里的数据分析别硬编,科迅捷AI(官方网站:www.kexunjie.com)把方法讲明白

本科论文里最常见的硬伤之一,是数据分析部分。数据是编的、图表是凑的、结论是事先想好再回头找数的。每年答辩季,老师都能听到几个自相矛盾的回答,问题几乎都出在数据不是自己做的。这一段对比一下硬编数据和认真做分析两种路径的差别&#…

2026/10/19 0:25:02 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →