音乐项目总结(终)

总的来说写这个项目还是状态差了,前期中期写太慢,后期疯狂赶。
讲点对写这个项目能想起来解决的问题和写的的感触。


前期:当时觉得时间很充足,有布置算法题,我竟然还花三四天去学算法,,动态规划,背包问题之类的,没有规划好时间,等开始搞的时候发现已经落别人一大截了。。。
学了一些知识,html,css,javaScript前端三剑客,还有mybatis,servlet,axios,当时学的很慢,现在想想其实感觉自己就不会学习,看的很仔细,跟着一个个敲,太浪费时间了真的太浪费时间了,而且后面要写时也记不住,刚接触servlet封装的时候,也是傻傻的想去看懂一直研究那个,后来发现没必要,那个有模版,理解一下就行不用细扣。然后就很慢了,比他们慢很多,对自己很不自信觉得自己不可能完成,自己也不喜欢问,连html要放到css和js的外面的软件包都不知道,还一直在想为什么css和js就是导不进去,然后没有什么积极性了。

中期:中期答辩后,我一个功能点都没写出来,也没有用servlet封装那个我是真的有点懵,真的差距很大很大,但我也是真的不甘心,但是还是没找到正确的学习方法,当时还是熬着夜就想把servlet弄明白,弄明白后,写到后面才发现根本不需要细扣,顿时感到后悔,大概16号写完登录注册然后时间就特别赶了。

遇到了好多大大小小的bug,首先是播放音乐,那个文件的问题

项目中文件上传到服务器。如果使用编译路径下的目录作为上传的路径,则每次重启服务器文件将消失,这个bug找了非常久,1.指定外部存储路径:将文件上传路径设置为项目外部的一个固定目录,比如 /var/uploads 或者 D:/uploads。这样可以确保文件在服务器重启后依然存在。2.使用数据库记录文件信息:上传文件后,将文件的元数据(如文件名、路径、上传时间等)存储到数据库中。即使文件被删除。

然后就是局部刷新后出现的按钮点击没反应,这个也找了很久,一直没发现问题。后面想了两种可能:
1.JavaScript 文件未重新加载因为是js控制的,如果相关的 JavaScript 文件在局部刷新后没有被重新加载,可能会导致某些功能无法正常运作

2.可能是状态问题:局部刷新可能导致某些状态信息丢失,例如输入框的值、按钮的状态等。这可能影响按钮的可用性。
然而都不是,后面才发现是事件绑定丢失  我在局部刷新时,按钮的事件绑定是通过 JavaScript 直接在 DOM 元素上进行的,这部分元素可能会因为局部刷新而被替换。如果没有重新绑定事件,按钮将无法响应点击事件。这个搞了好久。

 还有就是播放音乐,当时那个界面有点难写,又想写的好看就花费了很多时间,然后那个歌词处理ai像听不懂人话一样搞的很奇怪,最后还是靠手敲了一部分,搜了很多资料在csdn,但是渲染看起来滚动是叫ai写的,就是一个

transition:all 0.2s;  /* 过渡动画。实现歌词上下移动的动画 */

这样的样式,答辩没回答出来。

然后就是评论部分,这个之前我可以正常使用,然后答辩不知道是不是缓存问题,当时不可以同时两个用户登录发评论,最后答辩完重启电脑后两个用户登录就可以同时发评论了,当时答辩我有些紧张说第一遍没说好,大家都没听懂,被反问了一句给我整不自信了,后面支支吾吾不敢说了。这个最终答辩再说吧。

还有很多问题直接博客写过就不搬运了,写的是最近解决的

16号写完登录注册,26号后期答辩,写的挺多的,歌曲播放,二级评论,歌曲列表,搜索。就是前期太慢太慢了

最后就事补功能点,暂时在写管理员。
然后昨天和前天写了:一些完善的东西,管理员还没写好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/885041.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【网络安全】网络基础第一阶段——第三节:网络协议基础---- VLAN、Trunk与三层交换技术

目录 一、交换机 1.1 交换机定义 1.1.1 交换机 1.2 工作原理 1.2.1 数据帧的转发 1.2.2 交换机处理数据帧的三种行为 1.2.3 交换机通信 二、虚拟局域网(VLAN) 2.1 虚拟局域网简介 2.1.1 为什么需要VLAN 2.1.2 广播域的分割与VLAN的必要性 2.…

FPGA实现PCIE图片采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图测试图片QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存Native视频时序生成RGB转HDMI输出模块Windows版本XDMA驱动安装Linux版本XDMA驱动安装工程源码…

Stable Diffusion绘画 | 来训练属于自己的模型:素材处理与打标篇

纵观整个模型训练流程,图片素材准备和打标环节占据的分量比重,绝对超过60%。 上一篇分享了图片素材准备,这一篇,开始对准备好的图片素材进行处理了。 素材处理 我已经收集了 霉霉 的25张图片: 但是,发现…

基于ESP8266—AT指令连接阿里云+MQTT透传数据(1)

在阿里云创建MQTT产品的过程涉及几个关键步骤,主要包括注册阿里云账号、实名认证、开通MQTT服务实例、创建产品与设备等。以下是详细的步骤说明: 一、准备工作 访问阿里云官网,点击注册按钮,填写相关信息(如账号、密码、手机号等)完成注册。注册完成后,需要对账号进行实…

【C++】多态(上)

个人主页~ 多态 一、多态的概念二、多态的定义以及实现1、多态的构成条件2、虚函数3、虚函数的重写虚函数重写的两个特殊情况①协变② 析构函数的重写 4、C11的override和final(1)final(2)override 5、重载、重写、隐藏的对比 三、…

828华为云征文|部署在线文档应用程序 CodeX Docs

828华为云征文|部署在线文档应用程序 CodeX Docs 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 CodeX Docs3.1 CodeX Docs 介绍3.2 CodeX Docs 部署3.3 CodeX…

讯飞星火编排创建智能体学习(三):搜索工具

目录 概述 搜索工具节点 测试结果 和星火网页版对照 概述 在前面两篇博文(讯飞星火编排创建智能体学习(一)最简单的智能体构建-CSDN博客和讯飞星火编排创建智能体学习(二)决策节点-CSDN博客)中&#xf…

Star 3w+,向更安全、更泛化、更云原生的 Nacos3.0 演进

作者:席翁 Nacos 社区刚刚迎来了 Star 突破 30000 的里程碑,从此迈上了一个新的阶段。感谢大家的一路支持、信任和帮助! Nacos /nɑ:kəʊs/是 Dynamic Naming and Configuration Service 的首字母简称,定位于一个更易于构建云原…

视频融合共享平台LntonAIServer视频智能分析抖动检测算法和过亮过暗检测算法

LntonAIServer作为一款智能视频监控平台,集成了多种先进的视频质量诊断功能,其中包括抖动检测和过暗检测算法。这些算法对于提升视频监控系统的稳定性和图像质量具有重要意义。 以下是对抖动检测算法和过暗检测算法的应用场景及优势的详细介绍。 一、L…

Matlab实现鲸鱼优化算法优化回声状态网络模型 (WOA-ESN)(附源码)

目录 1.内容介绍 2部分代码 3.实验结果 4.内容获取 1内容介绍 鲸鱼优化算法(Whale Optimization Algorithm, WOA)是一种基于座头鲸捕食行为的群智能优化算法。该算法通过模仿座头鲸使用螺旋形路径和包围猎物的策略来探索和开发解空间,以找到…

【面试题】软件测试实习(含答案)

软件测试实习常见面试题,主要是功能测试相关的基础问题 目录 一、软件测试基础 1、介绍一下你最近的项目,以及工作职责 2、软件项目的测试流程? 3、黑盒测试与白盒测试的区别? 4、黑盒测试常见的设计方法?怎么理解等价类方法和边界值方法 1&…

2024.9.28更换启辰R30汽车火花塞

2024.9.28周六汽车跑了11万公里,实在加速肉,起步顿挫,油耗在8个,决定更换火花塞。第一个火花塞要拆掉进气歧管。第二和第三个可以直接换。打开第二个火花塞一看电极都被打成深坑,针电极都被打凸。我有两个旧的火花塞&a…

遥感图像语义分割数据集制作(使用ArcGIS Pro)

0. 引言 图像分割就是把图像空间按照一定的要求分成一些“有意义”的区域的技术叫图像分割。一幅图像通常是由代表物体的图案与背景组成,简称物体与背景。若想从一幅图像中“提取”物体,可以设法用专门的方法标出属于该物体的点,如把物体上的…

关于开发板与虚拟机网络不通问题排查

文章目录 一、网络连接二、排查过程1. 首先检查Windows和开发板的WIFI模块是否处于同一个局域网2. 检查端口转发配置是否正确3. 查看防火墙是否关闭 一、网络连接 开发板(客户端)---wifi模块---无线路由器---Windows主机---NAT模式---Ubuntu虚拟机&…

Rust语言桌面应用开发GTK3 Gtk3-rs Glade

文章目录 GTK-RSGithub官网Rust 教程Rust 环境安装 GTK安装 Gladedemo.glade 文件完整示例 main.rs创建 Rust 项目Cargo.toml 文件main.rs 文件 编译运行GTK主题 GTK-RS gtk-rs 是一个用于在 Rust 编程语言中使用 GTK 图形用户界面工具包的库。GTK 是一个流行的跨平台 GUI 工具…

3-3 AUTOSAR RTE 对SR Port的作用

返回总目录->返回总目录<- 一、前言 RTE作为SWC和BSW之间的通信机构,支持Sender-Receiver方式实现ECU内及ECU间的通信。 对于Sender-Receiver Port支持三种模式: 显式访问:若运行实体采用显示模式的S/R通信方式,数据读写是即时的;隐式访问:当多个运行实体需要读取…

智能红外抄表系统的设计与实现(论文+源码)_kaic

摘 要 随着我国现代社会经济的快速发展&#xff0c;工厂居民用电量剧增。人工抄表&#xff0c;费时费力&#xff0c;效率低下。人工抄表会造成漏抄、误抄、估抄等数据不准确。抄表人员可能与用电户合伙作弊&#xff0c;给资产管理者带来损失。在很多智能仪表的应用中需要现场人…

RocketMQ消息发送之广播模式

前言 在前面的文章中我们回顾了RocketMQ的顺序消息和乱序消息&#xff0c;以及里面包含的乱序消息和全局消息&#xff0c;RocketMQ支持多种消息类型和消费模式 今天这篇文章主要介绍RocketMQ的广播消息。希望文章能为正在学习RocketMQ相关知识的大佬们提供帮助&#xff01; 广…

Qt QVector类

Qt中的QVector是一个模板类&#xff0c;用于存储和操作动态数组。它类似于C标准库中的std::vector&#xff0c;但提供了更多的Qt特有的功能和便利性&#xff0c;更适合在Qt应用中使用。 创建和初始化 // 1&#xff09;默认构造函数&#xff1a;创建一个空的QVector对象。 QV…

笔记整理—linux进程部分(2)使用fork创建进程

为什么要创建进程&#xff0c;首先每个程序的运行都需要一个进程&#xff1b;多进程实现宏观上的并行。 fork的原理&#xff0c;是进程的分裂生长模式。如果操作系统需要一个新的进程&#xff0c;那么就会以cp的方法得到一个新的进程&#xff0c;此时老的进程是父进程&#xff…