旅游推荐|旅游推荐系统|基于Springboot+VUE的旅游推荐系统设计与实现(源码+数据库+文档)
旅游推荐系统
目录
基于java的旅游推荐系统设计与实现
一、前言
二、系统功能设计
三、系统实现
四、数据库设计
1、实体ER图
五、核心代码
六、论文参考
七、最新计算机毕设选题推荐
八、源码获取:
博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️
主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。
🍅文末获取源码联系🍅
基于java的旅游推荐系统设计与实现
一、前言
在设计旅游推荐系统时,功能模块充分融合了用户与管理员的实际需求,实现了多元化且全面的服务功能。用户端功能涵盖景点浏览、购票服务、旅游新闻获取、公告信息等,并融入了基于协同过滤算法的个性化智能推荐,为用户提供量身定制的旅游建议。此外,系统还提供了注册登录、个人收藏夹、在线留言等个性化与便捷功能,进一步提升了用户体验。管理员端则包括账号管理、地区维护、景点信息管理、订单处理、新闻发布等功能,旨在提升管理效率。推动旅游业的现代化发展与管理进步。通过明确的功能模块划分,系统确保用户与管理员能够轻松达成各自目标,同时保障了系统的高效运作与卓越的用户体验。
二、系统功能设计
三、系统实现
如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,
还进行了对用户名称的模糊查询的条件
图5.1 用户信息管理页面
如图5.2显示的就是景点信息管理页面,此页面提供给管理员的功能有:查看已发布的景点信息数据,修改景点信息,景点信息作废,即可删除,还进行了对景点信息名称的模糊查询 景点信息信息的类型查询等等一些条件。
图5.2 景点信息管理页面
如图5.4显示的就是公告信息管理页面,此页面提供给管理员的功能有:根据公告信息进行新增、修改、查询操作等等。
图5.4 公告信息管理页面
四、数据库设计
1、实体ER图
(1)设计的景点实体,其具备的属性如下图。
表4.3景点信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | jingdian_name | String | 景点名称 | 是 |
3 | jingdian_types | Integer | 景点类型 | 是 |
4 | jingdian_photo | String | 景点图片 | 是 |
5 | lvyouluxian_money | BigDecimal | 景点门票 | 是 |
6 | zan_number | Integer | 赞 | 是 |
7 | cai_number | Integer | 踩 | 是 |
8 | jingdian_content | String | 景点详情 | 是 |
9 | insert_time | Date | 发布时间 | 是 |
10 | create_time | Date | 创建时间 | 是 |
表4.4景点收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | jingdian_id | Integer | 景点 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jingdian_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
表4.5景点留言表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | jingdian_id | Integer | 景点 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | jingdian_liuyan_text | String | 留言内容 | 是 |
5 | reply_text | String | 回复内容 | 是 |
6 | insert_time | Date | 留言时间 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
五、核心代码
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.BumenEntity;
import com.entity.view.BumenView;import com.service.BumenService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 部门* 后端接口* @author * @email * @date 2021-05-07 10:42:31*/
@RestController
@RequestMapping("/bumen")
public class BumenController {@Autowiredprivate BumenService bumenService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,BumenEntity bumen,HttpServletRequest request){EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();PageUtils page = bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,BumenEntity bumen, HttpServletRequest request){EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();PageUtils page = bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( BumenEntity bumen){EntityWrapper<BumenEntity> ew = new EntityWrapper<BumenEntity>();ew.allEq(MPUtil.allEQMapPre( bumen, "bumen")); return R.ok().put("data", bumenService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(BumenEntity bumen){EntityWrapper< BumenEntity> ew = new EntityWrapper< BumenEntity>();ew.allEq(MPUtil.allEQMapPre( bumen, "bumen")); BumenView bumenView = bumenService.selectView(ew);return R.ok("查询部门成功").put("data", bumenView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){BumenEntity bumen = bumenService.selectById(id);return R.ok().put("data", bumen);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){BumenEntity bumen = bumenService.selectById(id);return R.ok().put("data", bumen);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody BumenEntity bumen, HttpServletRequest request){bumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(bumen);bumenService.insert(bumen);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody BumenEntity bumen, HttpServletRequest request){bumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(bumen);bumenService.insert(bumen);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody BumenEntity bumen, HttpServletRequest request){//ValidatorUtils.validateEntity(bumen);bumenService.updateById(bumen);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){bumenService.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<BumenEntity> wrapper = new EntityWrapper<BumenEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = bumenService.selectCount(wrapper);return R.ok().put("count", count);}}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.GangweiEntity;
import com.entity.view.GangweiView;import com.service.GangweiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 岗位* 后端接口* @author * @email * @date 2021-05-07 10:42:31*/
@RestController
@RequestMapping("/gangwei")
public class GangweiController {@Autowiredprivate GangweiService gangweiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,GangweiEntity gangwei,HttpServletRequest request){EntityWrapper<GangweiEntity> ew = new EntityWrapper<GangweiEntity>();PageUtils page = gangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangwei), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,GangweiEntity gangwei, HttpServletRequest request){EntityWrapper<GangweiEntity> ew = new EntityWrapper<GangweiEntity>();PageUtils page = gangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangwei), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( GangweiEntity gangwei){EntityWrapper<GangweiEntity> ew = new EntityWrapper<GangweiEntity>();ew.allEq(MPUtil.allEQMapPre( gangwei, "gangwei")); return R.ok().put("data", gangweiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(GangweiEntity gangwei){EntityWrapper< GangweiEntity> ew = new EntityWrapper< GangweiEntity>();ew.allEq(MPUtil.allEQMapPre( gangwei, "gangwei")); GangweiView gangweiView = gangweiService.selectView(ew);return R.ok("查询岗位成功").put("data", gangweiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){GangweiEntity gangwei = gangweiService.selectById(id);return R.ok().put("data", gangwei);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){GangweiEntity gangwei = gangweiService.selectById(id);return R.ok().put("data", gangwei);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody GangweiEntity gangwei, HttpServletRequest request){gangwei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(gangwei);gangweiService.insert(gangwei);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody GangweiEntity gangwei, HttpServletRequest request){gangwei.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(gangwei);gangweiService.insert(gangwei);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody GangweiEntity gangwei, HttpServletRequest request){//ValidatorUtils.validateEntity(gangwei);gangweiService.updateById(gangwei);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){gangweiService.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<GangweiEntity> wrapper = new EntityWrapper<GangweiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = gangweiService.selectCount(wrapper);return R.ok().put("count", count);}}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.JixiaokaoheEntity;
import com.entity.view.JixiaokaoheView;import com.service.JixiaokaoheService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 绩效考核* 后端接口* @author * @email * @date 2021-05-07 10:42:31*/
@RestController
@RequestMapping("/jixiaokaohe")
public class JixiaokaoheController {@Autowiredprivate JixiaokaoheService jixiaokaoheService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,JixiaokaoheEntity jixiaokaohe,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {jixiaokaohe.setYuangonggonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<JixiaokaoheEntity> ew = new EntityWrapper<JixiaokaoheEntity>();PageUtils page = jixiaokaoheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jixiaokaohe), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){EntityWrapper<JixiaokaoheEntity> ew = new EntityWrapper<JixiaokaoheEntity>();PageUtils page = jixiaokaoheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jixiaokaohe), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( JixiaokaoheEntity jixiaokaohe){EntityWrapper<JixiaokaoheEntity> ew = new EntityWrapper<JixiaokaoheEntity>();ew.allEq(MPUtil.allEQMapPre( jixiaokaohe, "jixiaokaohe")); return R.ok().put("data", jixiaokaoheService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(JixiaokaoheEntity jixiaokaohe){EntityWrapper< JixiaokaoheEntity> ew = new EntityWrapper< JixiaokaoheEntity>();ew.allEq(MPUtil.allEQMapPre( jixiaokaohe, "jixiaokaohe")); JixiaokaoheView jixiaokaoheView = jixiaokaoheService.selectView(ew);return R.ok("查询绩效考核成功").put("data", jixiaokaoheView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){JixiaokaoheEntity jixiaokaohe = jixiaokaoheService.selectById(id);return R.ok().put("data", jixiaokaohe);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){JixiaokaoheEntity jixiaokaohe = jixiaokaoheService.selectById(id);return R.ok().put("data", jixiaokaohe);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){jixiaokaohe.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(jixiaokaohe);jixiaokaoheService.insert(jixiaokaohe);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){jixiaokaohe.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(jixiaokaohe);jixiaokaoheService.insert(jixiaokaohe);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){//ValidatorUtils.validateEntity(jixiaokaohe);jixiaokaoheService.updateById(jixiaokaohe);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){jixiaokaoheService.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<JixiaokaoheEntity> wrapper = new EntityWrapper<JixiaokaoheEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yuangong")) {wrapper.eq("yuangonggonghao", (String)request.getSession().getAttribute("username"));}int count = jixiaokaoheService.selectCount(wrapper);return R.ok().put("count", count);}}
六、论文参考
七、最新计算机毕设选题推荐
最新计算机软件毕业设计选题大全-CSDN博客
八、源码获取:
大家点赞、收藏、关注、评论啦 、👇🏻获取联系方式在文章末尾👇🏻
相关文章:
旅游推荐|旅游推荐系统|基于Springboot+VUE的旅游推荐系统设计与实现(源码+数据库+文档)
旅游推荐系统 目录 基于java的旅游推荐系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…...
github项目--crawl4ai
github项目--crawl4ai 输出html输出markdown格式输出结构化数据与BeautifulSoup的对比 crawl4ai github上这个项目,没记错的话,昨天涨了3000多的star,今天又新增2000star。一款抓取和解析工具,简单写个demo感受下 这里我们使用cra…...
仅有N卡独显的情况下安装ubuntu是遇到的黑屏,加载卡顿等问题
Ubuntu安装的两个阶段都要进行一定的设置来临时禁用掉独显或者ubuntu的通用显卡驱动。 U盘启动阶段 U盘启动阶段要对U盘启动项进行设置,通过BIOS设置第一boot为USB hard disk后可以进到U盘引导项,第一项为 “try or install ubuntu”,倒计时10s后自动进入。 这个时候不要…...
Vite:为什么选 Vite
一、现实问题 在浏览器支持 ES 模块之前,JavaScript 并没有提供原生机制让开发者以模块化的方式进行开发。这也正是我们对 “打包” 这个概念熟悉的原因:使用工具抓取、处理并将我们的源码模块串联成可以在浏览器中运行的文件。 时过境迁,我…...
个人项目简单https服务配置
1.SSL简介 SSL证书是一种数字证书,由受信任的证书颁发机构(CA)颁发,用于在互联网通信中建立加密链接。SSL代表“安全套接层”,是用于在互联网上创建加密链接的协议。SSL证书的主要目的是确保数据传输的安全性和隐私性…...
Rust 函数
Rust 函数 Rust 是一种系统编程语言,以其安全性、并发性和性能而闻名。函数是 Rust 编程语言中的基本构建块,用于封装可重用的代码块。本文将深入探讨 Rust 中的函数,包括其定义、特性、参数、返回值以及高级概念。 函数定义 在 Rust 中&a…...
微信小程序中的 `<block>` 元素:高效渲染与结构清晰的利器
微信小程序中的 <block> 元素:高效渲染与结构清晰的利器 在微信小程序的开发中,<block> 元素扮演着举足轻重的角色。尽管它不会在页面中渲染任何可见的节点,但作为一个逻辑上的容器,<block> 在条件渲染和循环渲…...
选读算法导论5.2 指示器随机变量
为了分析包括包括雇佣分析在内的许多算法,我们将使用指示器随机变量,它为概率和期望之间的转换提供了一个便利的方法,给定一个样本空间S和事件A,那么事件A对应的指示器随机变量: Xa 1 如果A发生 0 如果…...
大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
centos9 nginx 版本
centos9 安装 ssh -V OpenSSH_8.7p1, OpenSSL 3.2.2 4 Jun 2024 openssl version OpenSSL 3.2.2 4 Jun 2024 (Library: OpenSSL 3.2.2 4 Jun 2024) sudo yum install nginx Installing:nginx x86_64 2:1.20.1…...
https访问报错:net::ERR_CERT_DATE_INVALLD
目录 简介异常排查原因解决补充 简介 访问https资源出现报错 异常 排查 将地址拿到浏览器进行访问,可以很清晰的看到出现该问题的原因 原因 1、SSL证书已过期 2、服务器日期不准,不在证书有效期 解决 1、重新申请SSL证书,并配置 2、校正…...
cat用来查看文件内容、合并文件,或者将文件内容输出到终端
cat 是 Unix 和 Linux 系统中的一个命令,它的名称来源于 “concatenate”(连接),主要用来查看文件内容、合并文件,或者将文件内容输出到终端。 常用用法 查看文件内容 cat filename输出 filename 的内容到终端中。 例…...
基于ssm大学生自主学习网站的设计与实现
文未可获取一份本项目的java源码和数据库参考。 1、毕业论文(设计)的背景及意义: (1)研究背景 目前,因特网是世界上最大的计算机互联网络,它通过网络设备将世界各地互相独立的不同规模的局域…...
C++基础补充(01)C++11基于范围的for循环
文章目录 1. 基本语法1.1 decalaration默认获取值引用&自动类型推导(auto) 1.2 container数组STL容器初始化列表自定义类型返回容器的函数 2. 其他示例2.1 遍历数组2.2 遍历vector,并修改元素2.3 使用常量引用遍历,防止容器中…...
qt6 使用QPSQL
检查可用的数据库驱动: // iteator all database driverQStringList drivers QSqlDatabase::drivers();QStringList::iterator it;for (it drivers.begin(); it ! drivers.end(); it){qDebug() << *it;} qt6 自带pg数据库驱动: pro文件加个说明&…...
【PostgreSQL】提高篇——公用表表达式(CTE)和窗口函数
在这篇文章中,我将详细介绍 PostgreSQL 中的公用表表达式(CTE)和窗口函数,帮助你理解如何使用它们进行复杂的数据分析。我将通过具体的示例来演示这些概念的实际应用,并在每个示例中提供详细的解释和注释。 1. 公用表…...
【min25筛】【CF2020F】Count Leaves
题目 定义 f ( n , 0 ) 1 f(n,0)1 f(n,0)1, f ( n , d ) ∑ k ∣ n f ( k , d − 1 ) f(n,d)\sum_{k|n}f(k,d-1) f(n,d)∑k∣nf(k,d−1) 给出 n , k , d n,k,d n,k,d,你需要求出: ∑ i 1 n f ( i k , d ) m o d ( 1 0 9 7 ) \sum_{i1}^n f(i^k…...
【d57】【sql】1661. 每台机器的进程平均运行时间
思路 一方面考察自连接,另一方面考察group by 这里主要说明 group by 用法: 1.在 SQL 查询中,GROUP BY 子句用于将结果集中的行分组,目的通常就是 对每个组应用聚合函数(如 SUM(), AVG(), MAX(), MIN(), COUNT() 等…...
ArcGIS共享数据的最佳方法(不丢可视化、标注等各类显示信息一样带)
今天我们介绍一下ArcGIS数据共享的几个小妙招 我们时常要把数据发给对方,特别是很多新手朋友要将shp发给对方时只是发送了shp后缀的文件,却把shp的必要组成文件dbf、shx等等给落下了。 还有很多朋友给图层做好了符号化标注,但是数据一发给别…...
小程序this.getOpenerEventChannel()当前页面与navigateTo页面之间数据通信
this.getOpenerEventChannel() 是微信小程序中获取页面打开它的页面事件通道的方法。但是,这个方法只在页面是被wx.navigateTo打开的情况下才能使用。如果页面是通过其他方式打开的,比如wx.redirectTo,那么就无法使用这个方法。 解决方案&…...
调用飞书接口导入供应商bug
1、业务背景 财务这边大部分系统都是供应商项目,由于供应商的研发人员没有飞书项目的权限,涉及到供应商系统需求 财务这边都是通过多维表格进行bug的生命周期管理如图: 但多维表格没有跟飞书项目直接关联,测试组做bug统计的时候无…...
《深度学习》OpenCV 角点检测、特征提取SIFT 原理及案例解析
目录 一、角点检测 1、什么是角点检测 2、检测流程 1)输入图像 2)图像预处理 3)特征提取 4)角点检测 5)角点定位和标记 6)角点筛选或后处理(可选) 7)输出结果 3、邻域…...
golang grpc初体验
grpc 是一个高性能、开源和通用的 RPC 框架,面向服务端和移动端,基于 HTTP/2 设计。目前支持c、java和go,分别是grpc、grpc-java、grpc-go,目前c版本支持c、c、node.js、ruby、python、objective-c、php和c#。grpc官网 grpc-go P…...
基于小程序+Vue + Spring Boot的进销存库存出库入库统计分析管理系统
目录 一、项目背景及需求分析 1. 项目背景 2. 需求分析 二、系统架构设计 1. 技术选型 2. 模块划分 三、数据库设计数据库表结构 四、前端实现 五、后端实现 1. RESTful API设计 2. 数据库操作 六、安全性和性能优化 1. 安全性 2. 性能优化 七、测试与部署 1. …...
【数据结构与算法】时间复杂度和空间复杂度例题
文章目录 时间复杂度常数阶时间O(1)对数阶时间O(logN)线性阶时间O(n)线性对数阶时间O(nlogN)平方阶时间O(n*n) 空间复杂度常量空间O(1)线性空间O(n)二维空间O(n*n)递归空间 时间复杂度 常数阶时间O(1) 代码在执行的时候,它消耗的时间并不随着某个变量的增长而增长…...
停止模式下USART为什么可以唤醒MCU?
在MCU的停止模式下,USART之类的外设时钟是关闭的,但是USART章节有描述到在停止模式下可以用USART来对MCU进行唤醒: 大家是否会好奇在外设的时钟被关闭的情况下,USART怎么能通过接收中断或者唤醒事件对MCU进行唤醒的呢࿱…...
Web安全 - 路径穿越(Path Traversal)
文章目录 OWASP 2023 TOP 10导图定义路径穿越的原理常见攻击目标防御措施输入验证和清理避免直接拼接用户输入最小化权限日志监控 ExampleCode漏洞代码:路径穿越攻击案例漏洞说明修复后的安全代码代码分析 其他不同文件系统下的路径穿越特性Windows系统类Unix系统&a…...
JSR303微服务校验
一.创建idea 二.向pom.xml添加依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.7.RELEASE</version></parent><properties><java.vers…...
56. QTreeWidget的基本使用
1. 说明 在软件开发中会遇到将数据信息制作成一种树目录的形式进行展示,那么此时就可以借助QT提供的QTreeWidget控件来实现这种需求,本篇博客会做一个案例简要说明这个控件的基本使用方法,博客中代码能够实现的功能是将此项目代码所在文件夹中的内容展示出来,如下图所示:…...
领域偏移:协变量移位下的域自适应
现在我们将焦点转移到一种叫做协变量转移的扰动上。我们在一个分类或回归设置中工作,我们希望从x预测y,并假设p≈(y | x)和p∗(y | x)是相同的(标记函数在训练和测试之间不会改变) 假设 (Covariate Shift)。对于列车分布p~和检验分布p∗,我们…...
网站制作模板代码/爱站工具包怎么使用
仿网易彩票,最终要做成的效果如下: 一、分层搭建 1.新建一个项目,Lottery.只支持7.1以上坚屏。 2.将素材全部图片全部拉到相应的文件夹里。 3.选中Lottery--右键Show in Finder ,在Lottery文件夹下新建一个Classes,并分别分层成MVC文件夹。 4…...
中企动力官方网站/广告联盟平台自动赚钱
概述:因为一个应用程序是由很多文件所组成,所以安装卸载非常复杂,为了让用户更加方便的管理应用程序。所以引入了程序打包管理。主要包括:安装,卸载,升级,查询,检验。常见的包管理器…...
网站设计的企业/青岛网站建设公司电话
某次工作需要,回顾了一下过去做的某个项目,突然发现自制的 javascrip Calendar(日历控件),一时遐想无限,勾起不少有关当年(当月?)那些雄心壮志的回忆。 从少不更事,到处变不惊,人少了很多冲劲,…...
网站改版设计要多久/百度图片搜索
日常使用手机或电脑,安装卸载软件已成为家常便饭。但是,有木有细心的小伙伴注意过,手机端卸载一个几G的软件通常都是瞬间完成的,而电脑端却要很久的时间,很多时候还不能及时的卸载干净呢?理论上来讲&#x…...
如何在网站上做咨询浮动窗口/关键词排名代发
java课程设计_通讯录_通讯簿.doc还剩45页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,很抱歉,此页已超出免费预览范围啦!如果喜欢就下载吧,价低环保!内容要点:impo…...
wordpress 作者 链接/公司做网页要多少钱
在Java 7中,AsynchronousFileChannel被添加到Java NIO中。 AsynchronousFileChannel可以从文件中读取数据并将数据写入文件。 本教程将解释如何使用AsynchronousFileChannel。 创建一个异步文件通道 您可以通过其静态方法open()创建一个Async…...