当前位置: 首页 > article >正文

基于SpringBoot + Vue的甘肃特产销售系统

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言博主介绍大家好我是码趣猪仔一名拥有4年码龄的全栈程序员Java/Python/Node 三系驾照SpringCloud Vue3 小程序 DevOps一条龙能自己跑通也是一位计算机老学长本科专业计算机科学与技术。从 0 到 1 写过 200 商业项目代码量 100w 行大二靠卖校园小程序赚到第一桶金 20w大四毕业 3 个月拉起 10 人远程团队年流水 7 位数。正在创办「星码绘梦」商标已进实审——目标是把技术做成浪漫且值钱的事。十佳歌手季军、街拍摄影师、半程马拉松完赛技术只是我的硬实力生活才是我的野心。我的目标是让技术学习变得更高效、更有趣。欢迎关注一起在计算机科学的海洋中乘风破浪⛵️共创辉煌。精选专栏推荐订阅计算机毕业设计最强指南✅计算机毕业设计答辩秘籍✅计算机最全毕设项目推荐✅✨文末附上源码✨欢迎各位同学在评论区或通过私信提出关于毕业设计的问题我将尽我所能为大家提供有价值的建议和指导帮助每位学生在毕业设计的道路上少走弯路更高效地完成毕设一、详细操作演示视频承诺所发文章的项目皆有视频和源码若发现任何不实之处我将无条件为您提供完全免费的技术支持涵盖软件开发等各项服务❗️❗️❗️二、具体实现截图三、技术栈请留意技术选型应依据实际项目需求而定以下内容仅供参考1.前端-Vue.jsVue.js 是由尤雨溪在 2014 年推出的轻量级前端 JavaScript 框架以其易学易用和高效的数据绑定机制而广受欢迎。它专注于视图层易于与其他库或现有项目集成特别适合中小型项目。Vue.js 的响应式数据绑定是其核心特性之一它允许开发者通过声明式的数据绑定自动更新 DOM从而简化了前端开发流程使开发者能够更专注于业务逻辑。此外Vue.js 提供了强大的组件系统支持单文件组件使得开发者能够以模块化方式构建复杂的用户界面提高了代码的可复用性和可维护性。Vue.js 的生态系统包括 Vuex 状态管理和 Vue Router 路由管理等工具这些工具极大地方便了单页应用SPA的开发。Vue 3 的推出引入了 Composition API、改进的响应式系统和性能优化进一步提升了开发体验和应用性能。2.后端-SpringBootSpring Boot 是 Spring 框架的扩展旨在简化 Spring 应用的创建和开发。它通过提供“Starters”来简化依赖管理和配置使得开发者能够快速启动和运行应用。Spring Boot 遵循“约定优于配置”的原则自动配置了许多常见的设置如内嵌的 Tomcat 服务器从而减少了手动配置的需要。Spring Boot 的自动配置功能能够根据项目依赖自动调整应用配置如数据库连接和实体管理极大地提高了开发效率。此外它还包含了 Actuator 模块用于监控和管理应用提供应用健康状态、度量信息和环境信息等这对于生产环境中的监控和问题诊断至关重要。Spring Boot 也支持微服务架构与 Spring Cloud 集成使得构建分布式系统变得简单。Spring Cloud 提供了服务发现、配置管理、断路器等微服务组件帮助开发者构建和管理复杂的微服务系统。3.数据库-MySQLMySQL 是一种广泛使用的开源关系型数据库管理系统RDBMS基于 SQLStructured Query Language进行数据管理。它最初由瑞典的 MySQL AB 开发后来被 Sun Microsystems 收购最终成为 Oracle 公司的产品。MySQL 是最流行的数据库技术之一特别适用于 Web 应用开发因其高性能、可靠性和易用性而受到青睐。MySQL 的核心特性包括支持多种操作系统平台、提供强大的数据安全和备份功能、以及拥有一个活跃的社区支持。它支持广泛的应用程序从小型应用到大型企业级应用都能够提供有效的数据存储解决方案。作为一个关系型数据库MySQL 使用表格来组织数据并通过索引来优化查询性能。它支持多种数据类型包括数值、日期和时间、字符串等能够满足不同应用场景的需求。MySQL 还提供了事务处理、子查询、触发器和存储过程等高级数据库功能这些功能使得开发者能够构建复杂的数据库逻辑。4.系统架构-B/SB/SBrowser/Server架构是现代网络应用开发中的主流模型它将用户界面集中在浏览器端而服务器端则负责处理业务逻辑和数据存储。这种架构的优势在于其跨平台性和易维护性用户无需在本地安装软件只需通过浏览器即可访问应用无论其操作系统如何。在 B/S 架构中前端技术如 HTML、CSS 和 JavaScript 用于构建用户界面而后端则处理数据和业务逻辑。前后端通过 HTTP 或 HTTPS 协议通信通常使用 JSON 或 XML 格式交换数据。这种分离的模式促进了前后端独立开发提高了开发效率和应用性能。随着技术进步B/S 架构不断演进单页应用SPA的流行使得用户体验更加流畅。同时前后端分离的开发模式允许团队独立工作加速了开发流程。为了优化性能B/S 架构广泛应用了缓存、负载均衡和 CDN 等技术而容器化和微服务架构的兴起如 Docker 和 Kubernetes进一步推动了应用的高效部署和管理。四、系统测试1.系统测试概述系统测试通常按照功能模块来组织包括用户界面测试、管理员界面测试以及用户功能测试等关键环节。这些测试针对不同的用户群体或角色目的是验证系统内各个功能模块的运行情况并确保它们能够满足用户的期望和需求。用户界面测试包括新用户注册、登录、参与考试、观看视频、发表评论、浏览错题集等操作。管理员界面测试则关注于系统管理功能如视频内容管理、用户账户管理、发布公告等任务。通过细致地测试不同的功能模块可以从多个角度评估系统的表现这包括功能性、特性、稳定性以及用户交互体验等方面。识别并解决潜在的问题有助于确保系统的质量和可靠性。2.系统功能测试1用户端功能测试表4-1 用户测试表编号测试功能测试用例预测结果测试结果是否通过1注册输入用户名1的用户信息注册成功注册成功是2登录输入用户名1的账号密码登录成功登录成功是3在线考试点击开始考试添加答案提交成功提交成功提交是4视频信息点击视频标题1开始播放成功播放成功播放是5论坛点击论坛标题1并且评论评论成功评论成功是6错题本点击我的错题本查看成功查看成功是2管理端功能测试表4-2管理员测试表编号测试功能测试用例预测结果测试结果是否通过1登录输入管理员账号密码登录成功登录成功是2查询用户搜索用户名1成功搜索成功搜索是3新增公告点击新增论坛填写标题和内容并提交添加成功添加成功是4修改视频1的备课详情点击视频1的信息页面修改内容点击提交修改成功修改成功是5删除试题点开试题管理和点击试题1的删除按钮并确定删除成功删除成功是3.系统测试结论本系统主要采用黑盒测试方法通过模拟用户操作来构建测试用例并对系统的各项功能进行验证。这种测试方法旨在确保系统流程的准确性和完整性。系统测试是提升系统质量的关键环节它有助于提高系统的可用性和用户满意度。进行系统测试的目的是为了检验系统的功能模块是否达到了设计初衷以及这些模块的逻辑是否准确无误。本系统追求简洁易用避免复杂的逻辑处理以便用户能够轻松操作。测试的焦点始终是用户体验确保所有测试场景都紧密贴合用户的实际需求不偏离既定目标。在遇到问题时测试团队需从用户的角度出发深入思考解决方案。通过这一系列的测试流程我们能够获得最终的测试结果这些结果将展示系统在功能和性能上是否达到了预期的设计标准。五、项目代码参考IgnoreAuthPostMapping(value/login)publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){UsersEntityuseruserService.selectOne(newEntityWrapperUsersEntity().eq(username,username));if(usernull||!user.getPassword().equals(password)){returnR.error(账号或密码不正确);}StringtokentokenService.generateToken(user.getId(),username,users,user.getRole());returnR.ok().put(token,token);}OverridepublicStringgenerateToken(Longuserid,Stringusername,StringtableName,Stringrole){TokenEntitytokenEntitythis.selectOne(newEntityWrapperTokenEntity().eq(userid,userid).eq(role,role));StringtokenCommonUtil.getRandomString(32);CalendarcalCalendar.getInstance();cal.setTime(newDate());cal.add(Calendar.HOUR_OF_DAY,1);if(tokenEntity!null){tokenEntity.setToken(token);tokenEntity.setExpiratedtime(cal.getTime());this.updateById(tokenEntity);}else{this.insert(newTokenEntity(userid,username,tableName,role,token,cal.getTime()));}returntoken;}/** * 权限(Token)验证 */ComponentpublicclassAuthorizationInterceptorimplementsHandlerInterceptor{publicstaticfinalStringLOGIN_TOKEN_KEYToken;AutowiredprivateTokenServicetokenService;OverridepublicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{//支持跨域请求response.setHeader(Access-Control-Allow-Methods,POST, GET, OPTIONS, DELETE);response.setHeader(Access-Control-Max-Age,3600);response.setHeader(Access-Control-Allow-Credentials,true);response.setHeader(Access-Control-Allow-Headers,x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization);response.setHeader(Access-Control-Allow-Origin,request.getHeader(Origin));// 跨域时会首先发送一个OPTIONS请求这里我们给OPTIONS请求直接返回正常状态if(request.getMethod().equals(RequestMethod.OPTIONS.name())){response.setStatus(HttpStatus.OK.value());returnfalse;}IgnoreAuthannotation;if(handlerinstanceofHandlerMethod){annotation((HandlerMethod)handler).getMethodAnnotation(IgnoreAuth.class);}else{returntrue;}//从header中获取tokenStringtokenrequest.getHeader(LOGIN_TOKEN_KEY);/** * 不需要验证权限的方法直接放过 */if(annotation!null){returntrue;}TokenEntitytokenEntitynull;if(StringUtils.isNotBlank(token)){tokenEntitytokenService.getTokenEntity(token);}if(tokenEntity!null){request.getSession().setAttribute(userId,tokenEntity.getUserid());request.getSession().setAttribute(role,tokenEntity.getRole());request.getSession().setAttribute(tableName,tokenEntity.getTablename());request.getSession().setAttribute(username,tokenEntity.getUsername());returntrue;}PrintWriterwriternull;response.setCharacterEncoding(UTF-8);response.setContentType(application/json; charsetutf-8);try{writerresponse.getWriter();writer.print(JSONObject.toJSONString(R.error(401,请先登录)));}finally{if(writer!null){writer.close();}}// throw new EIException(请先登录, 401);returnfalse;}}六、数据库代码参考-- MySQL dump 10.13 Distrib 5.7.31, for Linux (x86_64) -- -- Host: localhost Database: springbootm3ord -- ------------------------------------------------------ -- Server version 5.7.31 /*!40101 SET OLD_CHARACTER_SET_CLIENTCHARACTER_SET_CLIENT */; /*!40101 SET OLD_CHARACTER_SET_RESULTSCHARACTER_SET_RESULTS */; /*!40101 SET OLD_COLLATION_CONNECTIONCOLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET OLD_TIME_ZONETIME_ZONE */; /*!40103 SET TIME_ZONE00:00 */; /*!40014 SET OLD_UNIQUE_CHECKSUNIQUE_CHECKS, UNIQUE_CHECKS0 */; /*!40014 SET OLD_FOREIGN_KEY_CHECKSFOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS0 */; /*!40101 SET OLD_SQL_MODESQL_MODE, SQL_MODENO_AUTO_VALUE_ON_ZERO */; /*!40111 SET OLD_SQL_NOTESSQL_NOTES, SQL_NOTES0 */; -- -- Current Database: springbootm3ord -- /*!40000 DROP DATABASE IF EXISTS springbootm3ord*/; CREATE DATABASE /*!32312 IF NOT EXISTS*/ springbootm3ord /*!40100 DEFAULT CHARACTER SET utf8mb4 */; USE springbootm3ord; -- -- Table structure for table aboutus -- DROP TABLE IF EXISTS aboutus; /*!40101 SET saved_cs_client character_set_client */; /*!40101 SET character_set_client utf8 */; CREATE TABLE aboutus ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, addtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, title varchar(200) NOT NULL COMMENT 标题, subtitle varchar(200) DEFAULT NULL COMMENT 副标题, content longtext NOT NULL COMMENT 内容, picture1 longtext COMMENT 图片1, picture2 longtext COMMENT 图片2, picture3 longtext COMMENT 图片3, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT2 DEFAULT CHARSETutf8 COMMENT关于我们; /*!40101 SET character_set_client saved_cs_client */; -- -- Dumping data for table aboutus -- LOCK TABLES aboutus WRITE; /*!40000 ALTER TABLE aboutus DISABLE KEYS */; INSERT INTO aboutus VALUES (1,2023-03-05 09:51:25,关于我们,ABOUT US,不管你想要怎样的生活你都要去努力争取不多尝试一些事情怎么知道自己适合什么、不适合什么呢?\n你说你喜欢读书让我给你列书单你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案问我如何成为一个文案应该具备哪些素质;你说你计划晨跑但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行但是没钱父母觉得危险。其实我已经厌倦了你这样说说而已的把戏我觉得就算我告诉你如何去做你也不会照做因为你根本什么都不做。,upload/aboutus_picture1.jpg,upload/aboutus_picture2.jpg,upload/aboutus_picture3.jpg); /*!40000 ALTER TABLE aboutus ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table config -- DROP TABLE IF EXISTS config; /*!40101 SET saved_cs_client character_set_client */; /*!40101 SET character_set_client utf8 */; CREATE TABLE config ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, name varchar(100) NOT NULL COMMENT 配置参数名称, value varchar(100) DEFAULT NULL COMMENT 配置参数值, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8 COMMENT配置文件; /*!40101 SET character_set_client saved_cs_client */; -- -- Dumping data for table config -- LOCK TABLES config WRITE; /*!40000 ALTER TABLE config DISABLE KEYS */; INSERT INTO config VALUES (1,picture1,upload/picture1.jpg),(2,picture2,upload/picture2.jpg),(3,picture3,upload/picture3.jpg); /*!40000 ALTER TABLE config ENABLE KEYS */; UNLOCK TABLES;七、项目论文示例结语撰写不易请大家多多点赞、收藏、关注、评论文章下方名片联系我即可~多多关注谢谢啦精选专栏推荐订阅计算机毕业设计最强指南✅计算机毕业设计答辩秘籍✅计算机最全毕设项目推荐✅

相关文章:

基于SpringBoot + Vue的甘肃特产销售系统

文章目录 前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S 四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论 五、项目代码参考六、数据库代码参考七、项目论文示例结语 前言 💛博主介绍&a…...

HUNYUAN-MT 7B翻译终端Java八股文学习助手:技术文档中英互译与解析

HUNYUAN-MT 7B翻译终端Java八股文学习助手:技术文档中英互译与解析 1. 引言:当Java八股文遇上AI翻译 学Java的朋友,尤其是准备面试的,肯定对“八股文”这个词不陌生。它指的就是那些面试里翻来覆去问的基础知识、核心原理和经典…...

Windows 11 LTSC 24H2 安装微软商店完整指南:3分钟恢复应用生态

Windows 11 LTSC 24H2 安装微软商店完整指南:3分钟恢复应用生态 【免费下载链接】LTSC-Add-MicrosoftStore Add Windows Store to Windows 11 24H2 LTSC 项目地址: https://gitcode.com/gh_mirrors/ltscad/LTSC-Add-MicrosoftStore 你是否在使用Windows 11 L…...

Python argparse实战:5分钟教你为自动化脚本添加可配置参数(比如定时备份、文件处理)

Python argparse实战:5分钟为自动化脚本添加可配置参数 每次修改脚本里的硬编码路径时,我都忍不住想:要是能像Linux命令那样通过参数动态配置该多好。上周维护服务器时,一个简单的日志清理脚本因为目录变更被迫改了三次代码——这…...

手把手教你用Qwen3-VL-8B:上传图片就能提问的AI助手搭建

手把手教你用Qwen3-VL-8B:上传图片就能提问的AI助手搭建 1. 为什么你需要这个AI助手 想象一下这样的场景:你正在整理手机里上千张照片,突然看到一张多年前的旅行照,却想不起来具体是在哪里拍的。或者你收到一张复杂的图表&#…...

SQLite JDBC驱动深度解析:Java嵌入式数据库开发的终极指南

SQLite JDBC驱动深度解析:Java嵌入式数据库开发的终极指南 【免费下载链接】sqlite-jdbc SQLite JDBC Driver 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-jdbc 在当今微服务和云原生架构盛行的时代,轻量级、零配置的嵌入式数据库解决方…...

2026爬虫入门终极指南:Requests+BeautifulSoup从网页抓取到数据库存储全流程

前言 我见过太多学爬虫的新手:花了一周时间背完了Requests和BeautifulSoup的所有API,但是真的要爬一个实际的网站的时候,还是两眼一抹黑。要么是请求返回403,要么是解析出来的数据全是乱码,要么是存到数据库的时候报错…...

Unity UI性能优化实战:别再让你的Image和ScrollRect频繁触发Rebuild了

Unity UI性能优化实战:别再让你的Image和ScrollRect频繁触发Rebuild了 在开发复杂UI界面时,你是否遇到过这样的场景:当打开背包、商城或排行榜界面时,帧率突然下降,界面卡顿明显?使用Unity Profiler分析后&…...

Linux RT 调度器的 rt_nr_running:RT 任务数量统计

一、核心概念解析1.1 RT 任务基础Linux 实时任务支持 SCHED_FIFO(先进先出)与 SCHED_RR(时间片轮转)两种策略,优先级范围 1~99,始终抢占 CFS 普通任务。可运行任务:处于 TASK_RUNNING 状态、已入…...

鸣潮自动化工具终极指南:3步实现游戏时间自由,告别重复刷本

鸣潮自动化工具终极指南:3步实现游戏时间自由,告别重复刷本 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves …...

蓝桥杯Scratch真题避坑指南:绘制金字塔时,90%的人会算错砖块起始位置

蓝桥杯Scratch真题避坑指南:绘制金字塔时,90%的人会算错砖块起始位置 在Scratch编程的世界里,绘制几何图形是检验逻辑思维和数学计算能力的绝佳方式。蓝桥杯选拔赛中频繁出现的"绘制金字塔"题目,看似简单却暗藏玄机。许…...

哔哩下载姬DownKyi完整指南:3分钟学会免费下载B站高清视频

哔哩下载姬DownKyi完整指南:3分钟学会免费下载B站高清视频 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&a…...

Mac用户专属:12306购票助手如何帮你轻松抢到春运车票

Mac用户专属:12306购票助手如何帮你轻松抢到春运车票 【免费下载链接】12306ForMac An unofficial 12306 Client for Mac 项目地址: https://gitcode.com/gh_mirrors/12/12306ForMac 作为一名Mac用户,你是否曾为春运抢票而烦恼?当1230…...

BKS势函数详解:从石英玻璃到LAMMPS模拟,你的二氧化硅参数选对了吗?

BKS势函数深度解析:二氧化硅模拟中的参数选择与实战指南 在分子动力学模拟领域,势函数的选择往往决定了整个研究的成败。对于二氧化硅(SiO₂)这种在自然界和工业应用中无处不在的材料,BKS(Buckingham-Coulomb)势函数因其出色的平衡性和广泛的…...

Linux服务器开机自动挂载网络磁盘(NFS)完整配置流程与排错指南

Linux服务器NFS网络磁盘持久化挂载实战指南 在分布式架构与数据密集型应用场景中,网络文件系统(NFS)的稳定挂载直接关系到业务连续性。当服务器意外重启后,若共享存储未能自动恢复连接,可能导致应用服务雪崩式瘫痪。本…...

JasperReports生成PDF中文乱码?手把手教你搞定字体配置(附fonts.jar打包教程)

JasperReports中文PDF生成终极指南:从字体配置到生产环境部署 你是否遇到过这样的场景?在JasperStudio里精心设计的中文报表模板,预览时一切正常,但一旦集成到Java应用中生成PDF,中文内容就神秘消失了——要么变成乱码…...

从原理到调参:一文读懂CycleMorph在2D/3D图像配准中的核心技术与实践陷阱

从原理到调参:CycleMorph在2D/3D图像配准中的核心技术解析与实战避坑指南 医学影像分析中,精确的图像配准一直是影响诊断和治疗规划的关键技术。传统方法在处理复杂形变时往往面临拓扑结构破坏、计算效率低下等瓶颈。CycleMorph通过引入循环一致性约束和…...

用Python搞定电力系统潮流计算?手把手教你用PyPower跑通第一个OPF算例

从零开始用Python实现电力系统潮流计算:PyPower实战指南 电力系统潮流计算是电力工程师的必备技能之一。想象一下,你刚接手一个电网优化项目,领导要求你快速评估不同运行方案下的电压分布和功率流动。传统方法可能需要依赖商业软件&#xff…...

R语言实战:用RMST分析肝硬化患者生存数据,告别风险比依赖

R语言实战:用RMST解锁肝硬化患者生存分析新视角 当临床医生面对肝硬化患者的生存数据时,传统风险比分析常让人陷入解释困境——特别是当生存曲线交叉或删失严重时。限制平均生存时间(RMST)提供了一种直观的解决方案:它直接回答"治疗组患…...

避开这些坑!用STC15单片机做超声波测距时,定时器溢出和温度补偿到底该怎么处理?

STC15单片机超声波测距实战:定时器溢出与温度补偿的深度优化方案 当超声波测距模块在STC15F2K60S2单片机上运行时,你是否遇到过这些情况:测量数据偶尔出现异常跳变,远距离测量结果不稳定,甚至程序莫名其妙进入死循环&a…...

如何让音乐成为你的社交名片:3个神奇技巧让Discord好友实时看到你的播放列表 [特殊字符]

如何让音乐成为你的社交名片:3个神奇技巧让Discord好友实时看到你的播放列表 🎵 【免费下载链接】NetEase-Cloud-Music-DiscordRPC 在Discord上显示网抑云/QQ音乐. Enables Discord Rich Presence For Netease Cloud Music/Tencent QQ Music. 项目地址…...

别再死记硬背ACL规则了!用华为eNSP模拟器5分钟搞定防火墙基础配置

华为eNSP实战:5分钟可视化掌握ACL防火墙配置精髓 刚接触网络设备配置时,ACL规则总让人望而生畏——那些密密麻麻的命令行和抽象的五元组匹配逻辑,像一堵墙挡在初学者面前。但当我第一次用华为eNSP模拟器完成整个ACL实验流程后,突然…...

2026届必备的五大降AI率网站推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有一类免费的 AI 论文工具,这些为学术写作起到了提供高效解决方案作用。这类系统…...

别再手抄谱了!用Sibelius把MIDI文件一键转成五线谱(附Cubase协作流程)

别再手抄谱了!用Sibelius把MIDI文件一键转成五线谱(附Cubase协作流程) 每次在DAW里完成编曲后,最头疼的就是把那些灵光一现的旋律变成规整的五线谱。传统的手动记谱不仅耗时费力,还容易出错。作为从业十年的游戏音效师…...

从刷题到项目:5个STL高阶函数(next_permutation/lower_bound/unique)的巧妙应用场景

从刷题到项目:5个STL高阶函数的实战应用场景 在算法面试和实际项目开发中,STL(Standard Template Library)的高阶函数往往能让我们写出更简洁高效的代码。很多开发者虽然熟悉sort、find这些基础函数,但对next_permutat…...

别再乱买随身WiFi了!手把手教你用手机App(Cellular-Z)查清本地运营商频段,精准避坑

手机秒变信号探测器:3步教你用Cellular-Z避开随身WiFi选购雷区 每次看到电商平台上那些标榜"全网通"的随身WiFi设备,总忍不住想问:它们真的能在你家客厅稳定上网吗?去年我表弟就踩过这个坑——花500多买的"全频段支…...

用STM32和DHT11做个智能温湿度计:从硬件接线到软件调试的全过程记录

STM32与DHT11打造智能温湿度监测系统:从硬件搭建到功能扩展全指南 在物联网和智能家居快速发展的今天,环境监测已成为许多项目的核心需求。本文将带你从零开始构建一个基于STM32和DHT11的智能温湿度监测系统,不仅实现基础数据采集&#xff0…...

别再只看RMS粗糙度了!用Huray模型手把手教你预测PCB铜箔高频损耗(附Python代码)

突破传统:用Huray雪球模型精准预测PCB铜箔高频损耗的工程实践 在高速PCB设计领域,GHz频段下的信号完整性分析一直是工程师们的痛点。传统基于RMS粗糙度的Hammerstad模型在低频段尚可应付,但当频率突破10GHz后,其预测误差往往高达3…...

TrendForge 精选 9 个热门开源项目:Python 最活跃,FinceptTerminal 获星最多

TrendForge 每日精选 9 个热门开源项目:Python 最活跃,FinceptTerminal 获星最多 TrendForge 每日都会精选最具潜力的开源项目,今日共收录 9 个热门项目,且提供了智能中文翻译版,方便大家理解项目描述。 今日最热项目 …...

从软木塞到工程泡沫:泊松比如何定义材料的变形世界

1. 泊松比:材料变形的"身份证" 第一次听说泊松比这个词,是在大学材料力学课上。当时教授拿着橡胶带用力拉扯,问我们:"为什么橡皮筋变细了?"这个看似简单的现象背后,藏着材料科学中最重…...