基于 SpringBoot + VUE 【爱音乐管理系统】 平台设计与实现

news2024/11/28 6:48:11

免费领取源码+参考论文 基于SpringBoot + VUE 【爱音乐管理系统】

博主介绍: 🚀自媒体 JavaPub 独立维护人,全网粉丝25w+,csdn博客专家、java领域优质创作者,前51ctoTOP10博主,知乎/掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和副业。🚀

JavaPub ⭐ ⭐简历模板、学习资料、面试题库等都给你💪

🍅 文末获取源码 🍅 无套路,免费领取

文章目录

  • 一、前言介绍:
    • 1.1 课题背景
    • 1.2 研究内容
    • 1.3 系统主要功能
  • 二、主要技术:
    • 2.1 Java 后端框架
    • 2.2 数据库
    • 2.3 前端技术
  • 三、系统设计:
    • 3.1 系统功能设计
    • 3.2 功能结构设计
    • 3.3 登录时序图设计
  • 四、功能截图:
    • 4.1 系统前台功能设计:
    • 4.2 系统后台功能设计
  • 五、部分表设计:
  • 六、代码参考:
  • 七、项目总结:
    • 论文参考:
  • 源码获取:

一、前言介绍:

1.1 课题背景

随着互联网的发展和多媒体技术的进步,音乐已经成为人们生活中不可或缺的一部分。音乐网站和音乐流媒体已经成为大多数人获取和欣赏音乐的主要平台。然而,现有的诸如QQ音乐、网易云音乐、酷狗音乐等音乐网站,主要面向普通听众,提供歌曲搜索、播放和推荐服务。
本课题拟设计并开发一个面向“高端音乐发烧友”的音乐网站系统,除具备普通音乐网站的基本功能外,还提供更为丰富和深入的音乐内容和交互体验。具体来说,网站将提供无损音乐下载、精品音乐推荐、音乐知识教程、音乐打分收藏等服务。用户可以在网站构建自己的音乐社区圈子,与志同道合的发烧友交流分享。
技术上,本网站系统将采用目前流行的Spring Boot框架与Vue构建。Spring Boot提供开发便捷和产品落地能力,Vue作为前端框架可实现精致的界面与交互效果。 MaríaDB将用于构建网站的数据仓库。以优异的技术实现支持丰富的功能,是本课题的技术难点与挑战。
该课题背景阐述了网站系统的区域与目标人群、功能需求与技术方案。符合一篇课题背景介绍应具备的要素,希望能够对您进行系统开发工作有所帮助。如果需要任何 clarification,请提出,我很乐意进行进一步讨论。

1.2 研究内容

  1. 系统需求分析:应对目标用户群进行调研,分析他们对音乐网站的需求与痛点,得出本系统需要满足的核心需求。同时考虑业务流程、数据存储等方面的需求。
  2. 系统设计:在需求分析的基础上,设计网站的架构设计、数据库设计、页面布局以及导航结构。采用流程图、ER图、原型图等手段进行设计。
  3. 技术方案选型:比较Spring Boot、Django、Flask等Web框架的优劣,并论证为何选择Spring Boot。同样对Vue与React等前端框架进行选型论证。数据库选型也需要进行技术比较与论证。
  4. 实现与测试: 对网站系统的主要功能如音乐播放、评论、社区等模块进行具体的设计与实现。对实现的网站系统进行黑盒测试、压力测试等,并对测试结果进行分析。
  5. 运维方案:设计网站的部署方案,可能采用Docker容器和K8s进行部署。同时制定网站的监控、续构、故障恢复等运维方案。
  6. 总结与展望:总结设计与实现的经验与教训,对未来的工作像推出移动端App、实现音乐人入驻等提出展望设想。
    以上是我对该研究内容的一些建议,包括需求分析、设计、实现、测试、运维等完整的软件工程议题。您可以根据项目需求选择合适的议题进行研究,也可以对以上建议进行修改和补充,我很乐意提供更多意见和帮助。

1.3 系统主要功能

音乐播放,用户登录注册,用户信息编辑、头像修改,歌曲、歌单搜索,歌单打分,歌单、歌曲评论,歌单列表、歌手列表分页显示,歌词同步显示,音乐收藏、下载、拖动控制、音量控制,后台对用户、歌曲、歌手、歌单信息的管理

二、主要技术:

2.1 Java 后端框架

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

2.2 数据库

在动态网站的兴起之初,作为高级编程语言的Java自然不会放弃这个领域的蛋糕。Sun公司推出了Servlet作为输出动态网站的一种技术标准,虽然不怎么受当时程序员的喜爱,但是当初也没有太多的选择,随后几个月java语言问世,不考虑性能和效率如何,起码在书写网页所需要的动态代码块和静态代码块方面进行了区分,让书写效率和可读效率大大的提升,所以很多Java程序员以及刚入行的初级程序员都选择了java语言作为自己职业的发展方向,Sun公司为了维护Java语言在高级编程语言上的江湖地位,防止java继续抢走市场份额占有率,Sun公司联合Apache基金会研发了一个关于Java动态网页的一个新型的技术标准,这就是vue技术。

2.3 前端技术

Vue主要是用于搭建操作界面的渐进性架构,是当前最流行前端框架之一。Vue的渐进性如下所展示:申明3D渲染-组件系统软件-手机客户端路由器-大数据状态管理方法-构建工具。

与其他超重量级架构不一样, Vue选用自底向上增加量开发设计。此方法让整个手机软件开发更加简单,并且也让我们对手机软件日常维护和优化方便快捷。对需要在短期内进行大量的工作中项目而言,这一点至关重要。Vue是一个轻量的前端框架。生活中有许多控制模块。在具体的新项目开发环节中,我们会根据不一样的需求选择不同作用。大家能直接启用外包装组件开展开发,提升全面的扩展性和开发速率。

三、系统设计:

3.1 系统功能设计

音乐播放,用户登录注册,用户信息编辑、头像修改,歌曲、歌单搜索,歌单打分,歌单、歌曲评论,歌单列表、歌手列表分页显示,歌词同步显示,音乐收藏、下载、拖动控制、音量控制,后台对用户、歌曲、歌手、歌单信息的管理

3.2 功能结构设计

在这里插入图片描述

3.3 登录时序图设计

在这里插入图片描述

四、功能截图:

4.1 系统前台功能设计:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.2 系统后台功能设计

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、部分表设计:

-- MySQL dump 10.13  Distrib 5.7.21, for macos10.13 (x86_64)
--
-- Host: localhost    Database: tp_music
-- ------------------------------------------------------
-- Server version	5.7.21

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `admin`
--

DROP TABLE IF EXISTS `admin`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `admin` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `password` varchar(45) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `admin`
--

LOCK TABLES `admin` WRITE;
/*!40000 ALTER TABLE `admin` DISABLE KEYS */;
INSERT INTO `admin` VALUES (1,'admin','123'),(2,'admin1','565');
/*!40000 ALTER TABLE `admin` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `banner`
--

DROP TABLE IF EXISTS `banner`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `banner` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `pic` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `banner`
--

LOCK TABLES `banner` WRITE;
/*!40000 ALTER TABLE `banner` DISABLE KEYS */;
INSERT INTO `banner` VALUES (1,'/img/swiper/1.jpg'),(2,'/img/swiper/2.jpg'),(3,'/img/swiper/3.jpg'),(4,'/img/swiper/4.jpg'),(5,'/img/swiper/5.jpg'),(6,'/img/swiper/6.jpg'),(7,'/img/swiper/7.jpg'),(8,'/img/swiper/8.jpeg');
/*!40000 ALTER TABLE `banner` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `collect`
--

DROP TABLE IF EXISTS `collect`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `collect` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(10) unsigned NOT NULL,
  `type` tinyint(4) NOT NULL,
  `song_id` int(10) unsigned DEFAULT NULL,
  `song_list_id` int(10) unsigned DEFAULT NULL,
  `create_time` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `collect`
--

LOCK TABLES `collect` WRITE;
/*!40000 ALTER TABLE `collect` DISABLE KEYS */;
INSERT INTO `collect` VALUES (4,94,0,23,NULL,'2019-01-07 16:41:44'),(10,94,0,3,NULL,'2019-01-07 16:58:59'),(16,94,0,24,NULL,'2019-01-07 17:34:07'),(21,5,0,24,NULL,'2019-01-08 15:18:33'),(24,5,0,8,NULL,'2019-01-08 16:07:57'),(43,5,0,7,NULL,'2019-04-26 01:06:20'),(45,26,0,44,NULL,'2020-03-21 22:26:37'),(46,26,0,36,NULL,'2020-03-21 22:28:24'),(47,26,0,69,NULL,'2020-03-22 01:56:54'),(48,26,0,45,NULL,'2020-03-22 02:08:36'),(50,26,0,100,NULL,'2020-03-22 03:41:14'),(52,12,0,99,NULL,'2020-04-05 21:19:06'),(54,12,0,9,NULL,'2020-04-26 21:47:45'),(55,12,0,11,NULL,'2020-04-26 21:49:33'),(57,12,0,10,NULL,'2020-05-01 17:08:54'),(58,12,0,110,NULL,'2020-05-02 16:30:26'),(62,1,0,7,NULL,'2022-01-21 17:33:01'),(63,1,0,11,NULL,'2022-01-21 17:33:47'),(64,1,0,5,NULL,'2022-01-21 17:34:12'),(65,1,0,22,NULL,'2022-01-25 16:56:55'),(98,1,0,28,NULL,'2022-04-21 21:37:06'),(99,61,0,21,NULL,'2023-01-17 23:29:31'),(100,61,0,24,NULL,'2023-01-17 23:29:42');
/*!40000 ALTER TABLE `collect` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `comment`
--

DROP TABLE IF EXISTS `comment`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `comment` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(10) unsigned NOT NULL,
  `song_id` int(10) unsigned DEFAULT NULL,
  `song_list_id` int(10) unsigned DEFAULT NULL,
  `content` varchar(255) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  `type` tinyint(4) NOT NULL,
  `up` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=73 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `comment`
--

LOCK TABLES `comment` WRITE;
/*!40000 ALTER TABLE `comment` DISABLE KEYS */;
INSERT INTO `comment` VALUES (3,1,0,1,'里面乱乱糟糟\n我们别再闹了\n这个冬天已然很冷了\n我们靠在一起。好吗','2019-01-06 16:12:13',1,8),(5,1,21,NULL,'允儿牵动我的心!!!','2019-01-06 18:12:53',0,0),(9,1,22,NULL,'林允儿这个人,饭她真的很骄傲。韩国人说汉语总会带着地域性极强的泡菜味,可是林允儿真的很用心在把准每一个汉字,从咬字到发音,再加上轻柔干净的嗓音加持,将柔美与舒缓表达到极致,将歌里想诉说的那种感情娓娓道来。','2019-01-06 19:36:01',0,0),(10,1,21,NULL,'像我们之间一段长久未诉的告白,被你这样娓娓道来,你问我爱你有多深,我爱你有几分,我的情不移我的爱不变,月亮代表我的心。','2019-01-06 19:44:37',0,4),(11,1,21,NULL,'当听这首歌曲的时候,看看天上的月亮。美爆了!','2019-01-06 19:45:51',0,2),(12,1,23,NULL,'太尼马好听了!堂堂正正的林歌手!!','2019-01-06 19:48:25',0,0),(13,1,23,NULL,'林允儿啊,真的唱的很标准,很动人,我的同学都没想到是林允儿唱的,呜呜呜,爱死你了林允儿','2019-01-06 19:54:01',0,0),(14,1,22,NULL,'真的好棒,我只听她这个版本的','2019-01-06 19:55:43',0,0),(16,1,5,NULL,'好听啊','2019-01-06 19:56:52',0,0),(17,1,22,NULL,'我的允宝啊,努力演戏想让我们看到一样的你,努力学中文唱给我们听越来越爱你了','2019-01-06 19:58:53',0,0),(18,1,22,NULL,'好听啊','2019-01-06 20:01:46',0,0),(19,1,23,NULL,'好听啊','2019-01-06 20:03:59',0,0),(20,1,21,NULL,'好听啊','2019-01-06 20:04:22',0,0),(23,1,NULL,5,'赞!!','2019-01-08 01:05:27',1,2),(24,5,NULL,1,'超喜欢!','2019-01-08 21:46:29',1,3),(25,5,NULL,5,'大爱我林!','2019-01-08 21:47:45',1,1),(26,5,NULL,2,'nice','2019-01-08 22:11:23',1,1),(27,1,NULL,0,'很有感觉','2019-01-08 22:32:51',1,2),(28,5,26,NULL,'好听','2019-01-08 22:42:07',0,0),(29,5,21,NULL,'nice!','2019-01-08 22:57:08',0,0),(30,5,15,NULL,'好听!','2019-01-08 23:03:43',0,0),(31,1,13,NULL,'rrrr','2019-01-15 16:28:03',0,0),(32,1,19,NULL,'赞','2019-03-07 16:34:12',0,0),(33,1,6,NULL,'赞','2019-03-12 09:06:21',0,0),(34,1,NULL,1,'hao','2019-03-16 21:07:01',1,3),(35,1,NULL,38,'hao','2019-03-24 01:39:06',1,0),(36,1,NULL,0,'妙!','2019-03-24 01:48:56',1,1),(37,1,NULL,80,'好听','2019-03-24 01:51:02',1,0),(38,1,NULL,80,'好听!!!','2019-03-24 01:52:20',1,0),(39,1,NULL,80,'好听','2019-03-24 01:53:06',1,0),(40,1,NULL,80,'good','2019-03-24 01:53:45',1,0),(41,1,NULL,80,'nice','2019-03-24 01:55:04',1,0),(42,1,NULL,80,'nice','2019-03-24 01:57:02',1,0),(43,1,NULL,82,'success','2019-03-24 01:57:40',1,0),(45,1,NULL,1,'啦啦啦(*≧∀≦)ノ','2019-04-25 21:24:43',1,0),(47,1,NULL,1,'222','2019-04-26 01:01:27',1,0),(48,5,NULL,10,'我喜欢你','2019-04-26 01:03:12',1,0),(49,1,NULL,0,'','2019-05-23 21:35:47',1,0),(50,1,NULL,51,'好听','2019-05-23 21:38:04',1,0),(51,1,NULL,5,'好听','2019-05-23 21:39:55',1,0),(52,1,NULL,5,'好听','2019-05-23 21:40:25',1,0),(53,1,107,NULL,'I love you!!!','2019-06-03 02:16:23',0,0),(54,1,95,NULL,'好听','2020-03-14 16:14:53',0,0),(55,1,28,NULL,'?','2020-03-14 16:19:11',0,0),(56,26,69,NULL,'good!','2020-03-22 02:19:03',0,0),(57,26,10,NULL,'good','2020-03-22 03:40:10',0,5),(58,1,NULL,3,'1111111','2022-02-28 01:14:56',1,0),(59,1,28,NULL,'11111','2022-03-05 16:54:31',0,0),(60,1,NULL,15,'111','2022-04-17 13:28:08',1,0),(61,1,NULL,15,'222','2022-04-17 13:28:17',1,0),(62,1,NULL,15,'33','2022-04-17 13:30:19',1,0),(63,1,NULL,15,'里面乱乱糟糟 我们别再闹了 这个冬天已然很冷了 我们靠在一起。好吗.里面乱乱糟糟 我们别再闹了 这个冬天已然很冷了 我们靠在一起。好吗.里面乱乱糟糟 我们别再闹了 这个冬天已然很冷了 我们靠在一起。好吗.里面乱乱糟糟 我们别再闹了 这个冬天已然很冷了 我们靠在一起。好吗','2022-04-17 22:57:06',1,0),(64,1,NULL,1,'456','2022-04-21 21:41:43',1,0),(68,59,NULL,1,'345','2022-04-22 00:57:07',1,0),(69,61,NULL,1,'yin','2022-10-26 22:01:49',1,0),(70,61,9,NULL,'123','2023-01-16 00:36:21',0,0),(71,61,9,NULL,'1111','2023-01-16 00:36:49',0,0),(72,61,NULL,1,'11111','2023-02-27 22:03:01',1,0);
/*!40000 ALTER TABLE `comment` ENABLE KEYS */;
UNLOCK TABLES;

--

六、代码参考:

package com.example.yin.controller;

import com.example.yin.common.R;
import com.example.yin.model.request.CollectRequest;
import com.example.yin.service.CollectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
public class CollectController {

    @Autowired
    private CollectService collectService;


    // 添加收藏的歌曲
    //前台界面逻辑
    @PostMapping("/collection/add")
    public R addCollection(@RequestBody CollectRequest addCollectRequest) {
        return collectService.addCollection(addCollectRequest);
    }

    //TODO  这些其实有点偏简单的逻辑  所以就一点 所以放在外面  拿到里面
    // 取消收藏的歌曲
    @DeleteMapping("/collection/delete")
    public R deleteCollection(@RequestParam Integer userId, @RequestParam Integer songId) {
        return collectService.deleteCollect(userId, songId);
    }

    // 是否收藏歌曲
    @PostMapping("/collection/status")
    public R isCollection(@RequestBody CollectRequest isCollectRequest) {
        return collectService.existSongId(isCollectRequest);

    }

    // 返回的指定用户 ID 收藏的列表
    @GetMapping("/collection/detail")
    public R collectionOfUser(@RequestParam Integer userId) {
        return collectService.collectionOfUser(userId);
    }
}

七、项目总结:

本项目意在打造一个面向高端音乐发烧友的音乐网站,提供丰富的音乐内容和社区服务。经过需求分析与技术选型,我们采用Spring Boot作为后端框架,Vue作为前端框架,并选择MySQL作为数据库,在完成收听与感知高品质音乐的用户场景构建上取得阶段性成果。

在系统设计方面,我们采用微服务架构对网站系统进行拆分,有音乐服务、评论服务、社区服务等多个子系统,并通过消息队列与API网关实现解耦和有序通信。数据库使用 Schema 设计与业务场景密切相关的几个表,并制定相应的SQL语句进行数据操作。

在项目实施中,我们eil与组员充分发挥技术专长,深入底层模块和框架细节,解决了音频上传及高并发访问缓存方面的技术难点,并在 GitLab 上进行版本控制与协作。通过黑盒测试、压力测试发现并修复了一些潜在性能与体验问题。

总体来说,该项目达到学习实践Spring Boot与Vue的目标,对微服务、频道转码、缓存设计等音乐网站常见技术也有一定了解,并在团队项目场景下营运软件工程师的技能与素养,取得了一定的进步。未来可继续探索音乐人管理、版权监测等业务场景以完善网站,努力打造为国内高端音乐爱好者的聚集地。

该项目总结概括了系统设计、技术实现、个人感悟等角度,可供参考借鉴。您可以根据项目实际选择性使用,或做针对性修改,总结属于自己与团队的项目心血成果。我也非常乐意继续提供其他建议和帮助。


论文参考:

在这里插入图片描述

源码获取:

回复:[爱音乐管理系统0521]

打卡 文章 更新 8 / 365天

精彩专栏推荐订阅:在下方专栏👇🏻👇🏻👇🏻👇🏻

Java项目精品实战案例《101套》

web前端期末大作业网页实战《365套》

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

017+C语言中函数栈帧的创建与销毁(VS2022环境)

0.前言 您好,这里是limou3434的一篇个人博文,感兴趣的话您也可以看看我的其他文章。本次我将和您一起学习在C语言中函数栈帧的概念。 1.学习函数栈帧的意义 局部变量是怎么穿创建的?为什么局部变量的值是随机的函数是怎么传参的&#xff1…

【Hadoop】四、Hadoop生态综合案例 ——陌陌聊天数据分析

文章目录 四、Hadoop生态综合案例 ——陌陌聊天数据分析1、陌陌聊天数据分析案例需求1.1、背景介绍1.2、目标需求1.3、数据内容 2、基于Hive数仓实现需求开发2.1、建库建表、加载数据2.2、ETL数据清洗2.3、需求指标统计 3、FineBI实现可视化报表3.1、FineBI的介绍及安装3.2、Fi…

CaDDN 论文学习

1. 解决了什么问题? 单目 3D 目标检测是自动驾驶的重要课题,与一般的多传感器系统相比,它具有简洁、成本低、易部署的优点。单目 3D 检测的主要挑战在于能否准确预测目标的深度。由于缺乏直接的测量手段,我们只能从目标和场景信息…

JavaWeb15 - 线程数据共享和安全 -ThreadLocal

1. 什么是 ThreadLocal ThreadLocal 的作用,可以实现在同一个线程数据共享, 从而解决多线程数据安全问题.ThreadLocal 可以给当前线程关联一个数据(普通变量、对象、数组)set 方法 [源码!]ThreadLocal 可以像 Map 一样存取数据,key 为当前线程, get 方法…

无屏幕时树莓派连接wifi

这种方式需要使用到1根网线有线连接,需要提前准备~ 按照以下步骤操作:   找到wifi然后右键选择“属性”,进入配置页面:   勾选“允许其他网络用户通过此计算机的internet连接”,然后确定,它会提示你…

论文阅读_语音合成_Spear-TTS

论文信息 number headings: auto, first-level 2, max 4, _.1.1 name_en: Speak, Read and Prompt: High-Fidelity Text-to-Speech with Minimal Supervision name_ch: 说话、阅读和提示:少量监督实现高保真文本转语音 paper_addr: http://arxiv.org/abs/2302.0354…

操作系统理解 什么事件可以造成进程的产生和消亡呢?当然有很多这样的事件。对于进程产生来说,主要的事件有:造成进程消亡的事件则可以分为四种情况:

目录 什么事件可以造成进程的产生和消亡呢?当然有很多这样的事件。对于进程产生来说,主要的事件有: 造成进程消亡的事件则可以分为四种情况: 好好理解计算机是人造的,这句话的含义,特别是计算机这是西方人…

【ChatGPT】人工智能发展的背后厉害:跌宕起伏的近百年

文章目录 前言一、麦卡洛克-皮特斯神经元二、赫布式学习三、感知机四、反向传播算法五、卷积神经网络六、递归神经网络七、通用计算GPU芯片八.生成式神经网络与大型语言模型总结 前言 今天,ChatGPT等大型语言预训练神经网络模型已经成为广为人知的名字,…

算法笔记:A2-A4-RSRQ切换算法

1 LTE 切换 LTE切换是移动通信网络中的一个过程,移动设备在保持无间断服务的情况下,将其连接从一个基站切换到另一个基站。当移动设备离开当前基站的覆盖范围或网络资源拥塞时,就需要进行切换。LTE切换通常是基于特定的条件触发的&#xff0…

Ansys Lumerical | FDTD 应用:设计光栅耦合器

本文将设计一个光栅耦合器,将光子芯片表面上的单模光纤连接到集成波导。内置粒子群优化工具用于最大化耦合效率,并使用组件S参数在 INTERCONNECT 中创建紧凑模型。还演示了如何使用 CML 编译器提取这些参数以生成紧凑模型。(联系我们获取文章…

第十章 Productions最佳实践 - 路由Production的设计模型

文章目录 第十章 Productions最佳实践 - 路由Production的设计模型配置项应用规范 第十章 Productions最佳实践 - 路由Production的设计模型 本章介绍了客户成功用于构建接口路由解决方案的设计模型。因此,它可以被认为是开发路由制作的最佳实践的集合。 本章仅介…

Go colly爬虫框架精简高效【杠杠的】入门到精通

1 前言 1.1 Go Colly 爬虫介绍 爬虫框架中,各中流行的编程语言都有自己热门框架,python中的selenium、Scrapy、PySpider等,Java中的Nutch、Crawler4j、WebMagic、WebCollector等。golang中colly使用Go语言编写的功能强大的爬虫框架&#xf…

cpp11实现线程池(七)——线程池cached模式设计实现

用vector::size() 获取当前容器元素数量不是线程安全的,所以采用atomic_int 来实现当前容器元素数量的改变能够保证线程安全 线程池成员变量的修改 添加变量记录当前线程数量、空闲线程数量,以及线程数的上限: int threadSizeThreshHold_; …

由浅入深Netty源码分析

目录 1 启动剖析2 NioEventLoop 剖析3 accept 剖析4 read 剖析 1 启动剖析 我们就来看看 netty 中对下面的代码是怎样进行处理的 //1 netty 中使用 NioEventLoopGroup (简称 nio boss 线程)来封装线程和 selector Selector selector Selector.open();…

Trie与可持久化Trie

Trie Trie,也称为字典树或前缀树,是一种用于高效存储和检索字符串的树形数据结构。它的主要特点是利用字符串的公共前缀来减少存储空间和提高查询效率。下面是对 Trie 的常见操作的介绍: 插入(Insertion)&#xff1a…

PETRv2 论文学习

1. 解决了什么问题? 过去,一般使用基于单目视觉进行 3D 目标检测。现在进行 3D 任务的方法大致分两类。一类是基于 BEV,将多视角图像映射为 BEV 表征,然后使用 3D 目标检测方法。另一类是基于 DETR,如 DETR3D 和 PETR…

xhs-xs webmsxywx分析

近期又更新了,先是改了x-s生成,然后又加上了a1校验。 后面可能会全参校验,比如再加上gid、deviceId、profileData、x-s-common、smidV2之类。 估计以后不能写xhs了,大家且看且珍惜吧。之前相关的文章都被下架了 危!…

K8s日志组件-Loki是如何存储数据的?

文章目录 为什么需要loki为什么不是EFK?Loki是如何存储数据的?底层的LSM treeB tree 和LSM tree的区别?Ref参考链接 为什么需要loki 日志记录本质上是一个事件。大多数语言、应用程序框架或库都支持日志,表现形式可以是字符串这样…

安卓动画壁纸实战:制作一个星空动态壁纸(带随机流星动画)

前言 在我之前的文章 羡慕大劳星空顶?不如跟我一起使用 Jetpack compose 绘制一个星空背景(带流星动画) 中,我们使用 Compose 实现了星空背景效果。 并且调用非常方便,只需要一行代码就可以给任意 Compose 组件添加上…

30多家投递石沉大海,总算上岸了

大家好,我是帅地。 今年的行情,无论是暑假实习还是春招校招,都比往年要难一些,很多人在三月份要嘛简历石沉大海,要嘛面试一轮游,但也有部分人最后都拿到了不错的 Offer,包括我 训练营 里&#…