基于springboot原创歌曲分享平台源码和论文

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理平台应运而生,各行各业相继进入信息管理时代,原创歌曲分享平台就是信息时代变革中的产物之一。

任何平台都要遵循平台设计的基本流程,本平台也不例外,同样需要经过市场进行调研,论文需求进行分析,概要设计,平台详细设计,测试和编码等步骤,设计并实现了原创歌曲分享平台。平台选用B/S模式,应用java技术, MySQL为后台数据库。平台主要包括首页,个人中心,用户管理,音乐分类管理,音乐分享管理,举报管理,平台管理等功能模块。

本文首先介绍了原创歌曲分享管理的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对平台选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据平台总体功能模块的设计绘制平台的功能模块图,流程图以及E/R图。然后,设计框架并根据设计的框架编写代码以实现平台的各个功能模块。最后,对初步完成的平台进行测试,对功能、单元和性能进行测试。测试结果表明,该平台能够实现所需的功能,运行状况尚可并无明显缺点

关键词:原创歌曲分享;java技术;MySQL数据库

基于springboot原创歌曲分享平台源码和论文347

演示视频:

基于springboot原创歌曲分享平台源码和论文


Abstract

With the rapid development of information technology and network technology, human beings have entered a new information age, traditional management technology has been unable to efficiently and conveniently manage information. In order to meet the needs of The Times and optimize management efficiency, a variety of management platforms have emerged, and all walks of life have entered the information management era. Original song sharing platform is one of the products in the information era.

Any platform should follow the basic process of platform design, and this platform is no exception. It also needs to go through the steps of market research, paper demand analysis, outline design, platform detailed design, testing and coding, so as to design and implement an original song sharing platform. Platform B/S mode, Java technology, MySQL as the background database. The platform mainly includes home page, personal center, user management, music classification management, music sharing management, report management, platform management and other functional modules.

This article first introduces the original song share management background and current situation of the development of technology development, and then follow the routine software development process, the first platform for the selection of suitable language and development platform, according to the requirement analysis module and database structure design, and then according to the overall function modules of the platform design drawing platform function module diagram, flowchart and the E/R diagram. Then, the framework is designed and the code is written according to the designed framework to realize the various functional modules of the platform. Finally, the preliminarily completed platform is tested for functionality, units, and performance. The test results show that the platform can achieve the required functions, the operating condition is fair and there are no obvious shortcomings.

Key words: original song sharing; Java technology; The MySQL database

1.1课题背景

随着科学技术发展,电脑已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。原创歌曲分享信息管理一直是信息管理的一大难题,原创歌曲分享数量多,此时寻找有效便捷的原创歌曲分享信息管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理原创歌曲分享信息管理早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。

使用原创歌曲分享平台相对传统歌曲分享信息管理方式具备很多优点:首先可以大幅提高原创歌曲分享信息检索,只需输入原创歌曲分享相关信息就能在数秒内反馈想要的结果;其次可存储大量的原创歌曲分享信息,同时原创歌曲分享信息安全性有更高的保障;相比纸质文件来管理原创歌曲分享信息,原创歌曲分享平台更节省空间人力资源。这些优点很大程度提高了运营效率并节约了运营成本。因此,原创歌曲分享平台对原创歌曲分享信息非常必要进行有效管理,不仅提高了原创歌曲分享管理效率,增加了用户信息安全性,方便及时反馈信息给管理员,增加了与管理员之间的互动交流,更能提高大家的体验强度。

平台为了数据库结构的灵活性选择MySQL来设计,而java技术,B/S架构则保证了较高的平台适应性。本文主要介绍了平台开发背景,需要完成的功能与开发过程,说明平台设计重点与设计思想。

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.YinlefenxiangEntity;
import com.entity.view.YinlefenxiangView;import com.service.YinlefenxiangService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
import com.service.StoreupService;
import com.entity.StoreupEntity;/*** 音乐分享* 后端接口* @author * @email * @date 2022-03-31 16:09:42*/
@RestController
@RequestMapping("/yinlefenxiang")
public class YinlefenxiangController {@Autowiredprivate YinlefenxiangService yinlefenxiangService;@Autowiredprivate StoreupService storeupService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,YinlefenxiangEntity yinlefenxiang,HttpServletRequest request){if(!request.getSession().getAttribute("role").toString().equals("管理员")) {yinlefenxiang.setUserid((Long)request.getSession().getAttribute("userId"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {yinlefenxiang.setYonghuzhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<YinlefenxiangEntity> ew = new EntityWrapper<YinlefenxiangEntity>();PageUtils page = yinlefenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yinlefenxiang), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,YinlefenxiangEntity yinlefenxiang, HttpServletRequest request){EntityWrapper<YinlefenxiangEntity> ew = new EntityWrapper<YinlefenxiangEntity>();PageUtils page = yinlefenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yinlefenxiang), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( YinlefenxiangEntity yinlefenxiang){EntityWrapper<YinlefenxiangEntity> ew = new EntityWrapper<YinlefenxiangEntity>();ew.allEq(MPUtil.allEQMapPre( yinlefenxiang, "yinlefenxiang")); return R.ok().put("data", yinlefenxiangService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(YinlefenxiangEntity yinlefenxiang){EntityWrapper< YinlefenxiangEntity> ew = new EntityWrapper< YinlefenxiangEntity>();ew.allEq(MPUtil.allEQMapPre( yinlefenxiang, "yinlefenxiang")); YinlefenxiangView yinlefenxiangView =  yinlefenxiangService.selectView(ew);return R.ok("查询音乐分享成功").put("data", yinlefenxiangView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){YinlefenxiangEntity yinlefenxiang = yinlefenxiangService.selectById(id);yinlefenxiang.setClicknum(yinlefenxiang.getClicknum()+1);yinlefenxiang.setClicktime(new Date());yinlefenxiangService.updateById(yinlefenxiang);return R.ok().put("data", yinlefenxiang);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){YinlefenxiangEntity yinlefenxiang = yinlefenxiangService.selectById(id);yinlefenxiang.setClicknum(yinlefenxiang.getClicknum()+1);yinlefenxiang.setClicktime(new Date());yinlefenxiangService.updateById(yinlefenxiang);return R.ok().put("data", yinlefenxiang);}/*** 赞或踩*/@RequestMapping("/thumbsup/{id}")public R vote(@PathVariable("id") String id,String type){YinlefenxiangEntity yinlefenxiang = yinlefenxiangService.selectById(id);if(type.equals("1")) {yinlefenxiang.setThumbsupnum(yinlefenxiang.getThumbsupnum()+1);} else {yinlefenxiang.setCrazilynum(yinlefenxiang.getCrazilynum()+1);}yinlefenxiangService.updateById(yinlefenxiang);return R.ok("投票成功");}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody YinlefenxiangEntity yinlefenxiang, HttpServletRequest request){yinlefenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(yinlefenxiang);yinlefenxiang.setUserid((Long)request.getSession().getAttribute("userId"));yinlefenxiangService.insert(yinlefenxiang);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody YinlefenxiangEntity yinlefenxiang, HttpServletRequest request){yinlefenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(yinlefenxiang);yinlefenxiangService.insert(yinlefenxiang);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody YinlefenxiangEntity yinlefenxiang, HttpServletRequest request){//ValidatorUtils.validateEntity(yinlefenxiang);yinlefenxiangService.updateById(yinlefenxiang);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){yinlefenxiangService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<YinlefenxiangEntity> wrapper = new EntityWrapper<YinlefenxiangEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}if(!request.getSession().getAttribute("role").toString().equals("管理员")) {wrapper.eq("userid", (Long)request.getSession().getAttribute("userId"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {wrapper.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username"));}int count = yinlefenxiangService.selectCount(wrapper);return R.ok().put("count", count);}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,YinlefenxiangEntity yinlefenxiang, HttpServletRequest request,String pre){EntityWrapper<YinlefenxiangEntity> ew = new EntityWrapper<YinlefenxiangEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicknum");params.put("order", "desc");PageUtils page = yinlefenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yinlefenxiang), params), params));return R.ok().put("data", page);}}

package com.controller;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baidu.aip.face.AipFace;
import com.baidu.aip.face.MatchRequest;
import com.baidu.aip.util.Base64Util;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.service.CommonService;
import com.service.ConfigService;
import com.utils.BaiduUtil;
import com.utils.FileUtil;
import com.utils.R;
/*** 通用接口*/
@RestController
public class CommonController{@Autowiredprivate CommonService commonService;private static AipFace client = null;@Autowiredprivate ConfigService configService;    /*** 获取table表中的column列表(联动接口)* @param table* @param column* @return*/@RequestMapping("/option/{tableName}/{columnName}")@IgnoreAuthpublic R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) {Map<String, Object> params = new HashMap<String, Object>();params.put("table", tableName);params.put("column", columnName);if(StringUtils.isNotBlank(level)) {params.put("level", level);}if(StringUtils.isNotBlank(parent)) {params.put("parent", parent);}List<String> data = commonService.getOption(params);return R.ok().put("data", data);}/*** 根据table中的column获取单条记录* @param table* @param column* @return*/@RequestMapping("/follow/{tableName}/{columnName}")@IgnoreAuthpublic R getFollowByOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) {Map<String, Object> params = new HashMap<String, Object>();params.put("table", tableName);params.put("column", columnName);params.put("columnValue", columnValue);Map<String, Object> result = commonService.getFollowByOption(params);return R.ok().put("data", result);}/*** 修改table表的sfsh状态* @param table* @param map* @return*/@RequestMapping("/sh/{tableName}")public R sh(@PathVariable("tableName") String tableName, @RequestBody Map<String, Object> map) {map.put("table", tableName);commonService.sh(map);return R.ok();}/*** 获取需要提醒的记录数* @param tableName* @param columnName* @param type 1:数字 2:日期* @param map* @return*/@RequestMapping("/remind/{tableName}/{columnName}/{type}")@IgnoreAuthpublic R remindCount(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("table", tableName);map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}int count = commonService.remindCount(map);return R.ok().put("count", count);}/*** 单列求和*/@RequestMapping("/cal/{tableName}/{columnName}")@IgnoreAuthpublic R cal(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {Map<String, Object> params = new HashMap<String, Object>();params.put("table", tableName);params.put("column", columnName);Map<String, Object> result = commonService.selectCal(params);return R.ok().put("data", result);}/*** 分组统计*/@RequestMapping("/group/{tableName}/{columnName}")@IgnoreAuthpublic R group(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {Map<String, Object> params = new HashMap<String, Object>();params.put("table", tableName);params.put("column", columnName);List<Map<String, Object>> result = commonService.selectGroup(params);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** (按值统计)*/@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}")@IgnoreAuthpublic R value(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName) {Map<String, Object> params = new HashMap<String, Object>();params.put("table", tableName);params.put("xColumn", xColumnName);params.put("yColumn", yColumnName);List<Map<String, Object>> result = commonService.selectValue(params);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** (按值统计)时间统计类型*/@IgnoreAuth@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}/{timeStatType}")public R valueDay(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType) {Map<String, Object> params = new HashMap<String, Object>();params.put("table", tableName);params.put("xColumn", xColumnName);params.put("yColumn", yColumnName);params.put("timeStatType", timeStatType);List<Map<String, Object>> result = commonService.selectTimeStatValue(params);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");for(Map<String, Object> m : result) {for(String k : m.keySet()) {if(m.get(k) instanceof Date) {m.put(k, sdf.format((Date)m.get(k)));}}}return R.ok().put("data", result);}/*** 人脸比对* * @param face1 人脸1* @param face2 人脸2* @return*/@RequestMapping("/matchFace")@IgnoreAuthpublic R matchFace(String face1, String face2,HttpServletRequest request) {if(client==null) {/*String AppID = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "AppID")).getValue();*/String APIKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "APIKey")).getValue();String SecretKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "SecretKey")).getValue();String token = BaiduUtil.getAuth(APIKey, SecretKey);if(token==null) {return R.error("请在配置管理中正确配置APIKey和SecretKey");}client = new AipFace(null, APIKey, SecretKey);client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);}JSONObject res = null;try {File file1 = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+face1);File file2 = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+face2);String img1 = Base64Util.encode(FileUtil.FileToByte(file1));String img2 = Base64Util.encode(FileUtil.FileToByte(file2));MatchRequest req1 = new MatchRequest(img1, "BASE64");MatchRequest req2 = new MatchRequest(img2, "BASE64");ArrayList<MatchRequest> requests = new ArrayList<MatchRequest>();requests.add(req1);requests.add(req2);res = client.match(requests);System.out.println(res.get("result"));} catch (FileNotFoundException e) {e.printStackTrace();return R.error("文件不存在");} catch (IOException e) {e.printStackTrace();} return R.ok().put("data", com.alibaba.fastjson.JSONObject.parse(res.get("result").toString()));}
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kubectl命令

kubenetes部署服务的流程 以部署一个nginx服务来说明kubernetes系统各个组件调用关系&#xff1a; 1. 首先要明确&#xff0c;一旦kubernetes环境启动之后&#xff0c;master和node都会将自身的信息存储到etcd数据库中 2. 一个nginx服务的安装请求会首先被发送到master节点的ap…

VitePress-07-文档中代码块的使用全解

说明 本文会介绍 vitepress 中markdown文档对 代码块的支持特性&#xff0c; 包括基本使用、代码高亮、展示行号、指定代码行高亮、代码聚焦、以及代码删除/新增标记、代码错误和警告标记 等特性的使用。 代码块的基本语法 代码块的基本效果就是 &#xff1a;代码高亮展示&…

C语言进阶之文件操作

一、什么是文件 磁盘上的文件是文件。 但是在程序设计中&#xff0c;我们一般谈的文件有两种&#xff1a;程序文件、数据文件&#xff08;从文件功能的角度来分类的&#xff09;。 1&#xff09;程序文件 包括源程序文件&#xff08;后缀为.c&#xff09;,目标文件&#xff…

【Springcloud篇】学习笔记七(十三章):Stream消息驱动

第十三章_Stream消息驱动 1.消息驱动Stream介绍 1.1Stream为什么被引入 常见MQ(消息中间件)&#xff1a; ActiveMQRabbitMQRocketMQKafka 有没有一种新的技术诞生&#xff0c;让我们不再关注具体MQ的细节&#xff0c;我们只需要用一种适配绑定的方式&#xff0c;自动的给我…

Codeforces Beta Round 8 C. Looking for Order 【状压DP】

C. Looking for Order 题意 平面直角坐标系上有 n n n 个物品&#xff0c;还有一个初始背包位置 ( x 0 , y 0 ) (x_0, y_0) (x0​,y0​)&#xff0c;从背包位置出发&#xff0c;每次最多携带两个物品回来背包&#xff0c;求把所有物品带回背包位置要走的最短距离&#xff0c…

[python]基于Ultra-Fast-Lane-Detection-v2车道线实时检测onnx部署

【论文地址】 https://arxiv.org/pdf/2206.07389.pdf 【框架地址】 https://github.com/cfzd/Ultra-Fast-Lane-Detection-v2 【框架介绍】 Ultra-Fast-Lane-Detection-v2&#xff08;UFL-D-v2&#xff09;算法是一种高效的车道线检测算法&#xff0c;它旨在快速准确地识别…

ElementUI Form:Form表单

ElementUI安装与使用指南 Form表单 点击下载learnelementuispringboot项目源码 效果图 el-form.vue&#xff08;Form表单&#xff09;页面效果图 项目里 el-form.vue代码 <script> export default {name: el_form,data() {var checkAge (rule, value, callback…

论文阅读-一种用于大规模分布式文件系统中基于深度强化学习的自适应元数据管理方案

名称&#xff1a; An Adaptive Metadata Management Scheme Based on Deep Reinforcement Learning for Large-Scale Distributed File Systems I. 引言 如今&#xff0c;大型集群文件系统的规模已达到PB甚至EB级别&#xff0c;由此产生的数据呈指数级增长。系统架构师不断设…

ai创作软件有哪些?这5个软件了解一下

ai创作软件有哪些&#xff1f;随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;在各个领域都展现出了惊人的实力。特别是在内容创作领域&#xff0c;AI技术已经成为了助力创作者们提高效率、释放创意的得力助手。今天&#xff0c;我们将为大家介绍五款AI创作…

指针的学习2

目录 数组名的理解 使用指针访问数组 一维数组传参的本质 冒泡排序 二级指针 指针数组 指针数组模拟二维数组 数组名的理解 数组名是数组首元素的地址 例外&#xff1a; sizeof(数组名),sizeof中单独放数组名&#xff0c;这里的数组名表示整个数组&#xff0c;计算的…

Mybatis Plus 结合 Mybatis X 插件快速生成CRUD代码

Mybatis Plus 结合 Mybatis X 插件快速生成CRUD代码 本文介绍在 IDEA 中如何使用 Mybatis X 插件快速生成 Mybatis Plus 的 CRUD 代码。包括实体类 model 代码、持久层 Mapper 代码和与之对应的Mapper.xml 代码、服务层 service 接口与impl接口实现类代码 1.安装Mybatis X 插…

蓝桥杯---生日蜡烛

某君从某年开始每年都举办一次生日party&#xff0c;并且每次都要吹熄与年龄相同根数的蜡烛&#xff0c;现在算起来&#xff0c;他一共吹熄了236根蜡烛。请问,他从多少岁开始过生日party的? 请填写他开始过生日 party的年龄数。 注意:你提交的应该是一个整数&#xff0c;不要…