华科计院网络实验报告:从VLAN划分到SOCKET编程的完整链路
简介这份华中科技大学计算机学院《计算机网络》实验报告面向正在学习网络课程、需要完成组网与路由配置实验的高校学生及自学者。内容围绕IP协议、网络层与数据链路层协议、子网划分、RIP与OSPF路由协议、路由器及二/三层交换机配置、VLAN划分和访问控制列表等核心知识点展开结合Boson Netsim仿真软件完整呈现了从拓扑搭建、IP地址规划到路由协议配置与连通性测试的全过程适合作为课程实验参考与期末复习材料。资源包内含1个docx文档约215KB结构紧凑便于直接查阅与整理。目前已有83人学习下载。读者可借此了解实验目的、操作步骤与配置命令掌握子网地址规划、路由器端口及子接口配置、RIP与OSPF动态路由实现等实践技能并对照思考题深化对网络协议工作机制的理解提升网络工程与管理的动手能力。1. 从一份华科计院实验报告说起网络组建与 SOCKET 编程到底练什么如果你正在搜「华中科技大学计算机学院实验报告」大概率不是想抄一份交差而是想找一份能把网络组建、路由配置、VLAN 划分、ACL 访问控制、SOCKET 编程串起来的完整参考。这份《计算机网络》实验报告来自华中科技大学计算机学院作者是姚富品和刘华涧学号 U202213625班级 Cs1105两人奉献占比 40% 和 60%。报告分两大部分试验一用 Boson Netsim 5.31 在 Windows 7 下做网络组建与实施试验二用 Visual Studio 写 C FTP 客户端。它最大的价值不是「答案」而是一条从 IP 规划到路由协议、从 VLAN 隔离到 ACL 过滤、再到应用层 Socket 通信的完整链路。适合正在做课设、准备网络实验答辩、或者想补网络实操经验的人。下面我按「资源是什么 → 怎么用 → 坑在哪」拆开讲。2. 试验一网络组建IP 规划、子网划分与 Boson Netsim 拓扑落地2.1 为什么先用 Boson Netsim 而不是直接上真机这份报告选的是 Boson Netsim 5.31 仿真软件跑在 Windows 7 上。很多人第一反应是「为什么不用 Packet Tracer 或 eNSP」其实在当年高校网络实验里Boson Netsim 的命令行还原度更接近真实 Cisco IOS尤其是int fa0/1.1这种子接口配置、cl ra 64000时钟频率设置语法和真机几乎一致。它的拓扑设计器叫 Net Designer先画图再转到 NetSim 里配命令这个流程和实际工程里「先出拓扑图再上架配置」的习惯是对得上的。选仿真而不是真机的理由很直接真机做 VLAN 和 ACL 实验配错一条access-group就可能把自己 Telnet 通道断掉恢复得去机房插 Console 线。仿真里最坏就是重启拓扑试错成本几乎为零。但仿真也有边界——它不模拟真实流量拥塞、不模拟硬件故障所以报告里反复强调「测试连通性」这一步不能省因为仿真里通不代表真机一定通。2.2 第一项试验同网段与跨网段 IP 规划的具体配法报告里第一项试验要求把 PC1、PC2 放在 192.168.0.0/24PC3~PC8 放在 192.168.1.0/24同时给路由器配端口地址让两个子网互通。后来要求变更为三个网段PC1/PC2 在 192.168.0.0PC3/PC5/PC7 在 192.168.1.0PC4/PC6/PC8 在 192.168.2.0。这里的关键是路由器 fa0/1 要配子接口也就是单臂路由的雏形。具体 IP 规划如下表设备IP 地址子网掩码默认网关PC1192.168.0.2255.255.255.0192.168.0.1PC2192.168.0.3255.255.255.0192.168.0.1PC3192.168.1.2255.255.255.0192.168.1.1PC4192.168.2.2255.255.255.0192.168.2.1PC5192.168.1.3255.255.255.0192.168.1.1PC6192.168.2.3255.255.255.0192.168.2.1PC7192.168.1.3255.255.255.0192.168.1.1PC8192.168.2.3255.255.255.0192.168.2.1路由器配置命令如下Routerenable Router#conf t Router(config)#int fa0/0 Router(config-if)#ip addr 192.168.0.1 255.255.255.0 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#int fa0/1 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#int fa0/1.1 Router(config-subif)#ip addr 192.168.1.1 255.255.255.0 Router(config-subif)#no shutdown Router(config-subif)#exit Router(config)#int fa0/1.2 Router(config-subif)#ip addr 192.168.2.1 255.255.255.0 Router(config-subif)#no shutdown Router(config-subif)#end逻辑说明fa0/0 是物理接口直接配 192.168.0.1 作为 PC1/PC2 的网关。fa0/1 本身不配 IP只no shutdown激活然后在其下建两个子接口 fa0/1.1 和 fa0/1.2分别对应 VLAN 场景下的两个网段。参数上子接口号.1和.2只是逻辑标识真正决定网段的是ip addr后面的地址。这里有个容易翻车的点如果 fa0/1 主接口没no shutdown子接口即使配了 IP 也不通因为物理层没起来。2.3 第二项试验RIP 与 OSPF 配置及时钟频率的坑第二项试验要求四台路由器互联PC1~PC4 分别处于 192.168.1.0 到 192.168.4.0 四个网段先配 RIP 再配 OSPF。报告里 Router1 到 Router4 的串口配置都带了cl ra 64000也就是 clock rate 64000。思考题专门问「不设置时钟频率会出什么现象」——答案是 DCE 端不提供时钟DTE 端链路起不来串口状态会停在 down路由协议邻居关系根本建立不了。RIP 配置以 Router1 为例Router1enable Router1#conf t Router1(config)#router rip Router1(config-router)#network 192.168.0.0 Router1(config-router)#network 192.168.4.0 Router1(config-router)#network 192.168.5.0 Router1(config-router)#end逻辑说明router rip进入 RIP 配置模式network后面跟的是主类网络号不是子网号。比如 192.168.4.0/24 要写成network 192.168.4.0不能写成network 192.168.4.0 255.255.255.0因为 RIP v1 不支持变长子网掩码。参数上Router1 连接了 192.168.0.0fa0/0、192.168.4.0s0、192.168.5.0s1所以三个都要宣告。如果漏掉一个对端路由器就学不到那条路由ping 不通是必然的。OSPF 配置思路类似但命令是router ospf 1加network 192.168.x.0 0.0.0.255 area 0反掩码写法是新手最容易写错的地方。常见做法是先用 RIP 跑通再换 OSPF 对比收敛速度报告里也是这个顺序。3. 试验一进阶VLAN 划分、Trunk 链路与单臂路由互通3.1 VLAN 数据库模式与 VTP 域配置第三项试验在第二项基础上做 VLAN 划分要求把交换机 2、3、4 组成的网络分成两个 VLANPC3/PC5/PC7 在一个 VLANPC4/PC6/PC8 在另一个 VLAN。报告里用的是vlan database模式这是 Boson Netsim 和旧版 Cisco 交换机的写法新版本 IOS 已经改成全局配置模式下的vlan 2直接创建。Switch#vlan database Switch(vlan)#vtp domain class Switch(vlan)#vlan 2 name Class1 Switch(vlan)#vlan 3 name Class2 Switch(vlan)#ctrl-z逻辑说明vtp domain class把三台交换机划到同一个 VTP 管理域这样在 switch2 上创建的 VLAN 会自动同步到 switch3 和 switch4。参数上VLAN 2 命名为 Class1VLAN 3 命名为 Class2注意 VLAN 1 是默认存在的不能删除也不能改名。这里有个血泪经验如果 VTP 域名字大小写不一致比如一台写class另一台写ClassVLAN 信息同步会失败而且不会报错只能靠show vtp status去查。3.2 端口划分与 Trunk 链路配置端口划分到 VLAN 的命令Switch#conf t Switch(config)#int fa0/4 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 2 Switch(config)#exit Switch(config)#int fa0/5 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 3 Switch(config)#ctrl-z Switch#show vlan逻辑说明switchport mode access把端口设为接入模式switchport access vlan 2把该端口划入 VLAN 2。fa0/4 接 PC3/PC5/PC7 所在网段fa0/5 接 PC4/PC6/PC8。show vlan用来验证划分结果重点看端口有没有出现在正确的 VLAN 行里。Trunk 链路配置Switch#en Switch#conf t Switch(config)#int fa0/2 Switch(config-if)#switchport mode trunk Switch(config-if)#switchport trunk encap dot1q Switch(config)#exit Switch(config)#int fa0/3 Switch(config-if)#switchport mode trunk Switch(config-if)#switchport trunk encap dot1q Switch(config)#ctrl-z逻辑说明交换机之间互联的端口必须配成 trunk否则 VLAN 信息过不去。switchport trunk encap dot1q指定 802.1Q 封装这是 VLAN 标签的标准协议。参数上fa0/2 和 fa0/3 分别连向相邻交换机switch3 和 switch4 的对应端口也要做同样配置。如果 trunk 两端封装不一致比如一端 dot1q 一端 isl链路会起不来show interface trunk能看到状态是 not-trunking。3.3 单臂路由让两个 VLAN 互通VLAN 划分完后两个 VLAN 之间默认隔离。要让它们互通需要在路由器上配子接口并封装 dot1qRouter(config)#int fa0/1 Router(config-if)#no shutdown Router(config-if)#exit Router(config)#int fa0/1.1 Router(config-subif)#encap dot1q 1 Router(config-subif)#ip addr 192.168.1.1 255.255.255.0 Router(config-subif)#no shutdown Router(config-subif)#exit Router(config)#int fa0/1.2 Router(config-subif)#encap dot1q 2 Router(config-subif)#ip addr 192.168.2.1 255.255.255.0 Router(config-subif)#no shutdown Router(config-subif)#end逻辑说明encap dot1q 1和encap dot1q 2里的数字是 VLAN ID必须和交换机上创建的 VLAN 号对应。子接口 fa0/1.1 对应 VLAN 1fa0/1.2 对应 VLAN 2。参数上IP 地址分别作为两个 VLAN 的网关。这里注意报告里 VLAN 编号和子接口编号有交叉实际配置时以encap dot1q后面的 VLAN ID 为准子接口号只是本地标识。4. 试验二 SOCKET 编程FTP 客户端从一级到五级的实现路径4.1 为什么选 FTP 客户端而不是简单的 TCP Echo试验二要求用 C 在 Visual Studio 里写一个 FTP 客户端分五级要求。第一级只要求指定 IP 和端口、支持 PORT/PASV 两种模式、匿名和用户名登录、目录浏览切换、单线程上传下载、主动断开。第五级要求多线程同时下载多个文件、每个线程有进度指示、GUI 友好。这个梯度设计很合理FTP 协议本身覆盖了控制连接和数据连接分离、主动被动模式切换、文件传输完整性校验比写一个 Echo 服务器能练到的 Socket 知识点多得多。报告里用的 FTP 服务器是 Xlight FTP 服务器测试账号用户名 12345、密码 12345。这个组合在局域网实验里够用但要注意 Xlight 默认被动模式端口范围可能和防火墙冲突如果 PASV 连不上先检查服务器端的被动端口设置。4.2 控制连接与数据连接的 Socket 建立流程FTP 客户端最核心的逻辑是两条连接控制连接走 21 端口发命令收响应数据连接在 PORT 或 PASV 模式下动态建立。以 PASV 模式为例客户端先发PASV服务器返回一个 IP 和端口客户端再向那个端口发起数据连接。// 控制连接建立 SOCKET ctrlSock socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); sockaddr_in serverAddr; serverAddr.sin_family AF_INET; serverAddr.sin_port htons(21); serverAddr.sin_addr.s_addr inet_addr(192.168.1.100); connect(ctrlSock, (sockaddr*)serverAddr, sizeof(serverAddr)); // 接收服务器欢迎信息 char recvBuf[1024]; recv(ctrlSock, recvBuf, sizeof(recvBuf), 0); // 发送用户名 send(ctrlSock, USER 12345\r\n, strlen(USER 12345\r\n), 0); recv(ctrlSock, recvBuf, sizeof(recvBuf), 0); // 发送密码 send(ctrlSock, PASS 12345\r\n, strlen(PASS 12345\r\n), 0); recv(ctrlSock, recvBuf, sizeof(recvBuf), 0);逻辑说明socket创建 TCP 套接字connect连接服务器 21 端口。FTP 命令必须以\r\n结尾这是协议规定少一个字符服务器就不解析。recv接收响应实际工程里要循环读到\r\n结尾才算一条完整响应这里简化成一次接收。参数上htons(21)把主机字节序转网络字节序inet_addr把点分十进制 IP 转成网络地址结构。PASV 模式数据连接// 发送 PASV 命令 send(ctrlSock, PASV\r\n, strlen(PASV\r\n), 0); recv(ctrlSock, recvBuf, sizeof(recvBuf), 0); // 解析响应格式如 227 Entering Passive Mode (192,168,1,100,10,20) // 提取 IP 和端口端口 10*256 20 int dataPort 10 * 256 20; SOCKET dataSock socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); sockaddr_in dataAddr; dataAddr.sin_family AF_INET; dataAddr.sin_port htons(dataPort); dataAddr.sin_addr.s_addr inet_addr(192.168.1.100); connect(dataSock, (sockaddr*)dataAddr, sizeof(dataAddr)); // 发送 RETR 命令下载文件 send(ctrlSock, RETR test.txt\r\n, strlen(RETR test.txt\r\n), 0); // 从 dataSock 接收文件内容逻辑说明PASV 响应里的括号内六个数字前四个是 IP后两个是端口的高字节和低字节。端口计算公式是高字节 * 256 低字节。参数上RETR是下载命令STOR是上传命令。数据连接建立后文件内容从 dataSock 读写控制连接继续用来发命令和收响应。这里最容易翻车的是 PASV 响应解析不同服务器返回格式略有差异有的带括号有的不带解析时要容错。4.3 断点续传与文件校验的实现思路第四级要求断点续传第五级要求多线程。断点续传的核心是REST命令告诉服务器从文件的第几个字节开始传// 获取本地已下载文件大小 long long localSize getFileSize(local_test.txt); // 发送 REST 命令 char restCmd[64]; sprintf(restCmd, REST %lld\r\n, localSize); send(ctrlSock, restCmd, strlen(restCmd), 0); recv(ctrlSock, recvBuf, sizeof(recvBuf), 0); // 再发 RETR send(ctrlSock, RETR test.txt\r\n, strlen(RETR test.txt\r\n), 0); // 以追加模式打开本地文件从 localSize 处继续写入逻辑说明REST命令的参数是字节偏移量服务器收到后会把下次数据传输的起始位置设到该偏移。参数上localSize通过stat或fseek/ftell获取。文件校验常见做法是下载完后算 MD5 或 SHA1和服务器端提供的校验值对比。报告里第三级提到「对已下载完的文件进行校验」但没给具体算法我一般会用 MD5因为 C 有现成的 OpenSSL 库可以调。多线程下载的思路是每个文件一个线程每个线程独立建立控制连接和数据连接。但要注意 FTP 服务器通常限制同一 IP 的并发连接数Xlight 默认可能只允许几个线程开太多会被拒绝。常见做法是控制在 3~5 个线程并且每个线程用独立的控制连接不要共用。5. 避坑与排查从 IP 配错到 Socket 阻塞的 5 个真实翻车点5.1 现象PC 之间 ping 不通但 IP 配置看起来没问题原因最常见的是子网掩码写错比如 192.168.1.2 配了 255.255.255.0 但网关写成 192.168.0.1跨网段时 ARP 请求发不出去。另一个原因是路由器接口没no shutdown物理层没起来。解决先用ipconfig确认 IP、掩码、网关三项一致再在路由器上show ip interface brief看接口状态是不是 up/up。如果是单臂路由检查子接口的encap dot1qVLAN ID 和交换机端口 VLAN 是否匹配。5.2 现象RIP 配了但路由表里学不到对端网段原因network命令后面跟的是主类网络号如果写了子网号或者漏宣告了某个直连网段对端就学不到。另一个原因是串口时钟频率没设链路协议 down。解决show ip route看有没有 R 开头的路由条目show ip protocols看 RIP 宣告了哪些网络。串口两端确认一端配clock rate 64000另一端不用配。5.3 现象VLAN 划分后同一 VLAN 内能通跨 VLAN 不通原因这是正常现象VLAN 本来就是隔离广播域的。如果要求互通但没配单臂路由或者路由器子接口的encap dot1qVLAN ID 和交换机上不一致就会不通。解决在路由器上show ip interface brief确认子接口状态在交换机上show interface trunk确认 trunk 链路是 trunking 状态。show vlan确认端口划到了正确的 VLAN。5.4 现象FTP 客户端 PASV 模式连不上数据连接原因服务器被动模式返回的 IP 可能是内网地址如果客户端和服务器不在同一网段或者服务器防火墙没放行被动端口范围数据连接就建不起来。解决先用 PORT 模式测试如果 PORT 能通说明控制连接没问题问题在 PASV 端口。检查 Xlight 的被动模式端口设置确保防火墙放行。代码里解析 PASV 响应时打印出 IP 和端口确认解析正确。5.5 现象Socket 的 recv 一直阻塞程序卡死原因FTP 响应可能分多次到达一次recv读不全如果代码里只调一次recv就等下一句可能读到不完整响应。另一个原因是数据连接没关闭recv在等对端发数据。解决控制连接的recv要循环读到\r\n结尾或者用select设超时。数据连接读完文件后服务器会关闭连接recv返回 0 表示传输结束。如果一直不返回检查是不是命令发错了服务器在等后续命令。6. 进阶技巧用 Wireshark 抓包验证 FTP 主动被动模式差异报告里没提抓包但这是验证 Socket 编程最直接的手段。我一般会在客户端和服务器之间跑 Wireshark过滤ftp或tcp.port 21然后对比 PORT 和 PASV 两种模式的报文差异。主动模式下客户端发PORT 192,168,1,100,10,20服务器从 20 端口主动连客户端的 10*25620 端口。抓包能看到服务器发起的 SYN 包方向是服务器→客户端。被动模式下客户端发PASV服务器回227 Entering Passive Mode然后客户端发 SYN 连服务器指定端口方向是客户端→服务器。这个方向差异就是「主动」和「被动」名字的由来——主动是服务器主动连客户端被动是客户端主动连服务器。验证断点续传时抓包看REST命令后面的偏移量再对比RETR之后数据包的序列号确认是从指定偏移开始传的。如果序列号从 0 开始说明 REST 没生效常见原因是服务器不支持 REST 或者偏移量格式不对。还有一个技巧用ftp命令行客户端做对照测试。Windows 自带的ftp命令支持literal子命令发原始 FTP 命令比如literal PASV、literal REST 1024可以快速验证服务器端行为排除自己代码的问题。我每次写 FTP 客户端卡住的时候都会先用系统 ftp 跑一遍同样的命令序列确认服务器端没问题再回头查代码。从那以后我每次做网络实验都强制先画拓扑图、标好 IP 和 VLAN 规划再动手配命令配完先show一遍再测试连通性。Socket 编程也是先抓包确认协议交互正确再调代码逻辑。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Java决策树算法实现大学生就业预测系统:从CART原理到Spring Boot落地

Java决策树算法实现大学生就业预测系统:从CART原理到Spring Boot落地

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

2026/10/9 3:57:27 阅读更多 →
Swift并发重构:从GCD到async/await的完整迁移指南

Swift并发重构:从GCD到async/await的完整迁移指南

项目跑了三年多,里面躺着几处从第一版就写下的 GCD 并发代码。前两天线上又爆出一个偶发崩溃,排查到最后,问题竟然出在一个六层回调嵌套的状态标志位身上。我盯着那段代码想了很久,终于决定把整个 Swift 并发模型翻新成 async/awa…

2026/10/9 3:57:27 阅读更多 →
Agent-Reach实践:构建可落地的多Agent协作与工具调用框架

Agent-Reach实践:构建可落地的多Agent协作与工具调用框架

第一次看到 Agent-Reach 这个名字,我脑子里冒出来的画面是:一群 AI Agent 被关在模型上下文里,手伸不出去,数据拿不进来。后来真正上手才发现,它就是来解决这个问题的——把大模型、工具、业务系统、多角色协作串成一个…

2026/10/9 3:57:27 阅读更多 →

最新新闻

PCA9422与MK24FN1M0VDC12硬件协同电源管理设计

PCA9422与MK24FN1M0VDC12硬件协同电源管理设计

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

2026/10/10 5:48:41 阅读更多 →
Copilot高效使用的四大前置工程实践

Copilot高效使用的四大前置工程实践

1. 项目概述:这不是一个功能推荐,而是一次务实的技术决策提醒“GitHub针对全新Copilot功能的建议:先尝试其他方法”——这个标题乍看像一句轻描淡写的提示,实则藏着一线开发者在真实协作场景中反复验证后沉淀下来的判断逻辑。它不…

2026/10/10 5:48:41 阅读更多 →
AI日报自动化生产全流程:从信息源搭建到筛选摘要的工程实践

AI日报自动化生产全流程:从信息源搭建到筛选摘要的工程实践

1. 一份AI日报的诞生逻辑:从信息洪流到结构化认知每天早上七点,我的信息采集脚本会准时跑完最后一轮抓取。屏幕上滚动的原始条目通常在800到1200条之间,涵盖学术预印本、开源社区动态、产品更新日志、行业观察博客、技术论坛热帖等十几个来源…

2026/10/10 5:48:41 阅读更多 →
Egg 内部库 @eggjs/module-common 解读:上下文 Symbol、4.0 破坏性变更与生命周期钩子演进

Egg 内部库 @eggjs/module-common 解读:上下文 Symbol、4.0 破坏性变更与生命周期钩子演进

后端Web框架 【免费下载链接】egg 🥚🥚🥚🥚 Born to build better enterprise frameworks and apps with Node.js & Koa. https://codewiki.google/github.com/eggjs/egg 项目地址: https://gitcode.com/gh_mirror…

2026/10/10 5:48:41 阅读更多 →
python-kubernetes aio 客户端中 V1StatefulSet 模型详解:字段、序列化与异步用法

python-kubernetes aio 客户端中 V1StatefulSet 模型详解:字段、序列化与异步用法

后端云原生容器编排 【免费下载链接】python Official Python client library for kubernetes 项目地址: https://gitcode.com/gh_mirrors/python1/python 点击查看 免费下载 V1StatefulSet 是 kubernetes Python 客户端(aio 异步版本)中对应…

2026/10/10 5:48:41 阅读更多 →
Apache Beam 附加输出(Additional Outputs / Side Outputs)实战指南:用 ParDo 单次处理实现多路 PCollection 分支

Apache Beam 附加输出(Additional Outputs / Side Outputs)实战指南:用 ParDo 单次处理实现多路 PCollection 分支

批处理流处理大数据 【免费下载链接】beam Apache Beam is a unified programming model for Batch and Streaming data processing. 项目地址: https://gitcode.com/gh_mirrors/beam15/beam 点击查看 免费下载 导读 附加输出(additional outputs&…

2026/10/10 5:47:41 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/10 5:23:50 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →