旅游推荐|旅游推荐系统|基于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,那么就无法使用这个方法。 解决方案&…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...