当前位置: 首页 > news >正文

基于SpringBoot+Vue的旅游系统

摘 要

  随着旅游业的发展,越来越多的人选择旅游作为自己的出行方式。在旅游规划过程中,旅游景点选择是至关重要的环节。本文提出了一种基于协同过滤推荐算法的旅游平台系统。该系统采用前后端分离的设计,主要使用了SpringBoot、Vue等技术,实现了游客、和后台管理员两种角色的用户。本系统除了实现基本的登录、退出、修改密码、用户信息修改和查看等功能,还提供了轮播图、景点分类、景点公告、游览、收藏、意见反馈等功能。

关键词:旅游平台;前后端分离;SpringBoot;Vue

1 绪论

1.1研究背景及意义

  旅游平台是一种基于计算机技术和数据处理算法的智能化旅游服务系统。其主要目标是为用户提供适合其个性化需求的旅游景点推荐,帮助用户更加轻松地规划旅游行程。这个系统依赖于用户的旅游偏好和历史记录,从而给用户推荐最优的旅游景点。通过旅游平台,用户可以获得个性化的旅游建议,提高旅游体验的满意度。

1.2国内外研究现状

  在国内方面,旅游推荐系统的研究与应用还相对较少。国内学者普遍采用用户行为数据挖掘的方法,根据用户的历史数据,构建相应的用户画像,从而进行旅游服务的推荐。此外,还有研究者在实际应用中采用了综合评价指标对旅游路线、景点进行评估,进而应用推荐算法,为用户提供更加样式的旅游服务。

  总之,旅游推荐系统的研究在国内外学者中得到了广泛关注,并且不断深入。随着旅游业的迅速发展,当下正是开发和应用旅游推荐系统的最佳时期,相信随着技术的不断发展,该系统将在未来拥有更为广泛的应用。

1.3研究目标与意义

  随着人们对旅游需求的不断提高,旅游推荐系统作为一种有效的旅游智能服务,其应用范围和意义也越来越显著。随着旅游行业的发展,人们对个性化、精准的旅游信息和推荐服务的需求不断增加。旅游推荐系统能够通过分析用户的偏好、兴趣和历史行为,为用户提供个性化的旅游建议,帮助他们更好地规划行程、选择目的地、寻找景点和餐饮推荐等。因此,本文选择基于协同过滤算法的旅游推荐系统作为研究对象,旨在设计一种高效、准确的旅游推荐系统,为旅游者提供个性化的旅游信息与推荐服务。

  综上所述,本文通过对基于协同过滤算法的智慧旅游平台进行设计和实现的研究,旨在提高旅游行业的服务质量和效率,推进计算机科学和数据挖掘领域的发展和创新,并对个人和社会产生积极的影响。通过深入研究旅游推荐系统的设计原理、算法优化和实际应用,有望为旅游行业的智能化发展和提升用户体验做出贡献。同时,也为相关学科和领域的研究人员提供了借鉴和参考,促进学术和技术的进步。

2关键技术简介

2.1 MYSQL数据库

  本次开发使用的数据库是MYSQL数据库,这个数据库具有一定扩展性以及性能高的数据库。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密相连接的。

2.2 B/S结构简介

  B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端浏览器,通过使用B/S结构,Web浏览器能够和服务器之间的数据库系统建立有效的联系,从而使得许多原来只有特定的软件才具备的功能得以发挥。

3 系统分析

3.1 系统性能分析

  系统性能分析是评估和优化计算机系统的过程。在本系统中,系统性能分析是对系统运行的各种参数和指标进行监控和分析,以便及时发现和解决系统性能问题。

系统性能分析可以从以下方面进行:

  • 响应时间:智慧旅游平台系统需要能够在短时间内给出用户推荐的景点信息,所以响应时间是一个非常重要的性能指标。需要分析系统在不同负载下的响应时间数据,并对响应时间进行优化。
  • 并发用户数:智慧旅游平台需要支持大量的用户操作,所以并发用户数也是一个重要的性能指标。需要分析系统在不同并发用户数下的响应时间和资源消耗情况,并进行优化。
  • CPU和内存利用率:评估系统的CPU利用率和内存消耗情况,可以帮助识别系统中高消耗的模块和进程,以及确定资源不足的瓶颈,进而优化系统资源管理。
  • 网络连接速度:智慧旅游平台系统需要与旅游相关的数据源进行通讯,所以网络连接速度也是一个重要的性能指标。需要评估网络连接速度并对其进行优化。
  • 数据库读取速度:智慧旅游平台系统使用了大量的数据,需要评估数据库读取速度并对其进行优化。

3.2 系统功能分析

  本系统由不同的角色组成:游客和后台管理员。

  游客的功能包含: 登录,退出,修改密码,用户信息查看与修改,首页信息展示,轮播图,景点分类列表信息查看,景点公告列表,景点公告详情,协同过滤推荐景点,全部网站景点,猜你喜欢景点,景点详情查看,购物车,结算,出票,游览,订单明细,收藏景点,我的收藏,意见反馈,我的意见反馈。

  管理员的功能包含: 登录,退出,修改密码,管理员管理,提示问题信息管理,网站用户信息管理,景点新闻公告信息管理,景点类型信息管理,景点信息管理,订单信息管理,用户评价信息管理,意见反馈信息管理。

3.4系统流程分析

3.4.1注册流程

  用户在注册账号的时候,首先进入注册界面,填写注册信息,用户名存在的话,提示返回填写用户名,用户名不存在,填写密码、确认密码,系统判断两次输入的密码是否一致,一致则在数据库中添加用户信息,注册成功。

3.4.2登录流程

  为了保证系统的安全性,我们需要首先登录该系统,输入账号密码即可。

3.5 系统结构分析

  本旅游平台的特点在于,它采用Browser/Server(B/S)架构,为用户提供一个便捷的网络服务,使他们可以轻松地获取旅游攻略,无需离线即可完成查询。

4 系统设计

4.1系统概要设计

  本系统采用B/S结构(Browser/Server,浏览器/服务器结构),MYSQL数据库存储数据,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。

4.2系统结构设计

  通过系统结构的整体设计,我们可以将复杂的任务分解成若干个独立的步骤,并将它们组合在一起,从而实现最终的目标。在此过程中,我们需要仔细研究需求,以便找到最佳的实施方案。经过设计,我们将不断优化系统,最终制定一个完善的、可行的系统架构。

  本系统主要包括游客功能模块、后台管理员模块。

4.3数据库表设计

  一个成功的数据库对于整个项目都至关重要,它包括了良好的表格架构、完善的表与表之间连接,并且能够满足系统开发所必须提供的各种功能。因此,在制定数据库方案时,应该认真思考,并尽量确保能够满足所有相应的功能。

  本系统采用MYSQL数据库系统,数据库的功能主要是存储网站中所有数据,以便进行操作。下面介绍数据库中的各个表的详细信息。

表4-1 管理员表

字段名称字段意义字段类型字段长度键码能否为空
adminid主键编号varchar32主键
username用户名varchar40
password密码varchar40
realname姓名varchar40
contact联系方式varchar40
addtime创建日期datetime0

表4-2新闻公告表

字段名称字段意义字段类型字段长度键码能否为空
articleid主键编号varchar32主键
title标题varchar40
image图片varchar150
contents内容text0
addtime发布日期datetime0
hits点击数int4

表4-3 提示问题表

字段名称字段意义字段类型字段长度键码能否为空
asksid主键编号varchar32主键
questions问题varchar40
addtime创建日期datetime0
memo备注varchar40

表4-4 购物车表

字段名称字段意义字段类型字段长度键码能否为空
cartid主键编号varchar32主键
usersid用户varchar32外键
goodsid商品varchar32外键
num数量varchar40
price单价varchar40
addtime加入日期datetime0

表4-5 商品类型表

字段名称字段意义字段类型字段长度键码能否为空
cateid主键编号varchar32主键
catename类型名称varchar40
addtime创建日期datetime0
memo备注varchar40

5 系统测试

5.1测试目的

  系统测试是通过在设定的特定的环境下执行程序来检测环境发生错误的不可或缺的阶段。系统测试包括安全测试、压力测试、回复测试等等,这些是保障我们所开发的程序与系统的优良质感非常为之重要的部分。在项目开发过程中,出现各种漏洞和错误是司空见惯的事情,一些可以通过使用开发工具快速发现,并进行修复;但也有一些漏洞是由于某些细节上的逻辑错误,从而导致一系列的错误,这些错误往往隐藏得很深,使得我们在解决问题的过程中耗费了大量的时间和精力。

5.2测试方法

  本文系统运用黑盒子测试的测试办法,把各个不同功能的软件模板进行区分、完成对系统的概要设计详细解读资料、需要解决的问题,及操作的详细应用说明等内容来视作测试的突破口,对测试的对象进行逐一对照检查,并针对单个的程序检测延伸至这个研发过程中单个及整个集成单元的检测中,要有规律有顺序的进行,不但可以缩短我们的工作时效,避免返工的操作,也可以对可用性负责,提高了可操作性和软件研发的实用性。

6 总 结

  本文主要介绍了一个基于SpringBoot+Vue旅游平台的设计和实现。介绍了系统的功能、并进行了性能测。系统采用了Vue.js和Spring Boot等最新的技术栈,具有良好的可扩展性和性能。通过对系统的评估和测试,证明了该系统的稳定性和可靠性。

在这里插入图片描述

7 代码

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.DiscussjingdianxinxiEntity;
import com.entity.view.DiscussjingdianxinxiView;import com.service.DiscussjingdianxinxiService;
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;/*** 景点信息评论表* 后端接口* @author * @email * @date 2022-04-18 19:44:42*/
@RestController
@RequestMapping("/discussjingdianxinxi")
public class DiscussjingdianxinxiController {@Autowiredprivate DiscussjingdianxinxiService discussjingdianxinxiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,DiscussjingdianxinxiEntity discussjingdianxinxi,HttpServletRequest request){EntityWrapper<DiscussjingdianxinxiEntity> ew = new EntityWrapper<DiscussjingdianxinxiEntity>();PageUtils page = discussjingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussjingdianxinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){EntityWrapper<DiscussjingdianxinxiEntity> ew = new EntityWrapper<DiscussjingdianxinxiEntity>();PageUtils page = discussjingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussjingdianxinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( DiscussjingdianxinxiEntity discussjingdianxinxi){EntityWrapper<DiscussjingdianxinxiEntity> ew = new EntityWrapper<DiscussjingdianxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( discussjingdianxinxi, "discussjingdianxinxi")); return R.ok().put("data", discussjingdianxinxiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(DiscussjingdianxinxiEntity discussjingdianxinxi){EntityWrapper< DiscussjingdianxinxiEntity> ew = new EntityWrapper< DiscussjingdianxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( discussjingdianxinxi, "discussjingdianxinxi")); DiscussjingdianxinxiView discussjingdianxinxiView =  discussjingdianxinxiService.selectView(ew);return R.ok("查询景点信息评论表成功").put("data", discussjingdianxinxiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){DiscussjingdianxinxiEntity discussjingdianxinxi = discussjingdianxinxiService.selectById(id);return R.ok().put("data", discussjingdianxinxi);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){DiscussjingdianxinxiEntity discussjingdianxinxi = discussjingdianxinxiService.selectById(id);return R.ok().put("data", discussjingdianxinxi);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){discussjingdianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(discussjingdianxinxi);discussjingdianxinxiService.insert(discussjingdianxinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){discussjingdianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(discussjingdianxinxi);discussjingdianxinxiService.insert(discussjingdianxinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(discussjingdianxinxi);discussjingdianxinxiService.updateById(discussjingdianxinxi);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){discussjingdianxinxiService.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<DiscussjingdianxinxiEntity> wrapper = new EntityWrapper<DiscussjingdianxinxiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = discussjingdianxinxiService.selectCount(wrapper);return R.ok().put("count", count);}}
<template><el-container><index-header></index-header><el-container><index-aside></index-aside><index-main></index-main></el-container></el-container>
</template>
<script>import IndexHeader from '@/components/index/IndexHeader'import IndexAside from '@/components/index/IndexAsideStatic'import IndexMain from '@/components/index/IndexMain'export default {components: {IndexHeader,IndexAside,IndexMain}}
</script><style lang="scss" scoped>// 铺满全屏.el-container {position: absolute;width: 100%;top: 0;left: 0;bottom: 0;}
</style>

相关文章:

基于SpringBoot+Vue的旅游系统

摘 要 随着旅游业的发展&#xff0c;越来越多的人选择旅游作为自己的出行方式。在旅游规划过程中&#xff0c;旅游景点选择是至关重要的环节。本文提出了一种基于协同过滤推荐算法的旅游平台系统。该系统采用前后端分离的设计&#xff0c;主要使用了SpringBoot、Vue等技术&…...

leetcode算法题--复杂链表的复制

原题链接&#xff1a;https://leetcode.cn/problems/fu-za-lian-biao-de-fu-zhi-lcof/description/?envTypestudy-plan-v2&envIdcoding-interviews 感觉一开始想到的办法还是比较笨 /*** Definition for a Node.* type Node struct {* Val int* Next *Node* …...

C++面试题(叁)---操作系统篇

目录 操作系统篇 1 Linux中查看进程运行状态的指令、查看内存使用情况的指令、 tar解压文件的参数。 2 文件权限怎么修改 3 说说常用的Linux命令 4 说说如何以root权限运行某个程序。 5 说说软链接和硬链接的区别。 6 说说静态库和动态库怎么制作及如何使用&#xff0c;区…...

算法笔记:KD树

1 引入原因 K近邻算法需要在整个数据集中搜索和测试数据x最近的k个点&#xff0c;如果一一计算&#xff0c;然后再排序&#xff0c;开销过大 引入KD树的作用就是对KNN搜索和排序的耗时进行改进 2 KD树 2.1 主体思路 以空间换时间&#xff0c;利用训练样本集中的样本点&…...

plumelog介绍与应用-一个简单易用的java分布式日志系统

官方文档&#xff1a;http://www.plumelog.com/zh-cn/docs/FASTSTART.html 简介 无代码入侵的分布式日志系统&#xff0c;基于log4j、log4j2、logback搜集日志&#xff0c;设置链路ID&#xff0c;方便查询关联日志基于elasticsearch作为查询引擎高吞吐&#xff0c;查询效率高全…...

百度网盘删除“我的应用数据”文件夹

百度网盘删除“我的应用数据”文件夹电脑端方法-2023.2.27成功 - 哔哩哔哩 (bilibili.com) 百度网盘怎样删除我的应用数据文件夹-手机端方法-2023.3.24日成功 - 哔哩哔哩 (bilibili.com)...

多店铺智能客服,助力店铺销量倍增

近年来电商发展得非常快速&#xff0c;市场竞争也是愈发激烈了。商家不仅需要提高产品和服务的质量&#xff0c;还要争取为自己获取更多的曝光&#xff0c;以此来分散运营的风险和降低经营的成本&#xff0c;所以越来越多的商家也开始转向多平台多店铺运营。但即使运营多个平台…...

会话跟踪技术

cookie 是通过在浏览器第一次请求服务器时&#xff0c;在响应中放入cookie&#xff0c;浏览器接收到cookie后保存在本地&#xff0c;之后每次请求服务器时都将cookie携带到请求头中&#xff0c;用来验证用户身份与状态等。 缺点&#xff1a; 移动端app没有cookiecookie保存在…...

递归算法学习——子集

目录 一&#xff0c;题目解析 二&#xff0c;例子 三&#xff0c;题目接口 四&#xff0c;解题思路以及代码 1.完全深度搜索 2.广度搜索加上深度优先搜索 五&#xff0c;相似题 1.题目 2.题目接口 3.解题代码 一&#xff0c;题目解析 给你一个整数数组 nums &#xff0c…...

学习笔记:ROS使用经验(ROS报错)

报错&#xff1a;进程崩溃 ] process has died [pid 734, exit code -5, cmd /root/catkin_ws/devel/lib/pose_graph/pose_graph __name:pose_graph __log:/root/.ros/log/31b0ae1c-3295-11ee-bda9-02429b5737dc/pose_graph-5.log]. log file: /root/.ros/log/31b0ae1c-3295-11…...

设计模式二十四:访问者模式(Visitor Pattern)

用于将数据结构与数据操作分离&#xff0c;使得可以在不修改数据结构的情况下&#xff0c;定义新的操作。访问者模式的核心思想是&#xff0c;将数据结构和操作进行解耦&#xff0c;从而使得新增操作时不必修改数据结构&#xff0c;只需添加新的访问者。主要目的是在不改变数据…...

使用gn+Ninja构建项目

使用下载编译好的gn和ninja报错 先下载了gn的源码[gn.googlesource.com/gn]&#xff0c;然后编译报错&#xff0c;就直接下载了了编译号的gn和Ninja&#xff0c;然后写了Helloworld应用的BUILD.gn&#xff0c;然后将"gn\examples\simple_build\build"拷贝至当前目录…...

VMware虚拟机连不上网络

固定ip地址 进入网络配置文件 cd /etc/sysconfig/network-scripts 打开文件 vi ifcfg-ens33 编辑 BOOTPROTO设置为static&#xff0c;有3个值&#xff08;decp、none、static&#xff09; BOOTPROTO"static" 打开网络 ONBOOT"yes" 固定ip IPADDR1…...

安防视频监控/视频集中存储/云存储平台EasyCVR平台无法取消共享通道该如何解决?

视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等&#xff0c;视频智能分析平台EasyCVR融合性强、开放度…...

算法通关村-----如何基于数组和链表实现栈

实现栈的基本方法 push(T t)元素入栈 T pop() 元素出栈 Tpeek() 查看栈顶元素 boolean isEmpty() 栈是否为空 基于数组实现栈 import java.util.Arrays;public class ArrayStack<T> {private Object[] stack;private int top;public ArrayStack() {this.stack new…...

day-05 TCP半关闭 ----- DNS ----- 套接字的选项

一、优雅的断开套接字连接 之前套接字的断开都是单方面的。 &#xff08;一&#xff09;基于TCP的半关闭 Linux的close函数和windows的closesocket函数意味着完全断开连接。完全断开不仅不能发送数据&#xff0c;从而也不能接收数据。在某些情况下&#xff0c;通信双方的某一方…...

区块链金融项目怎么做?

区块链技术的兴起引发了金融领域的变革&#xff0c;为金融行业带来了前所未有的机遇与挑战。在这个快速发展的领域中&#xff0c;如何在区块链金融领域做出卓越的表现&#xff1f;本文将从专业性和思考深度两个方面&#xff0c;探讨区块链金融的发展路径&#xff0c;并为读者提…...

Redis与数据库保持一致

参考链接 先更新数据库&#xff0c;再更新redis 存在漏洞&#xff0c;如果更新Redis失败&#xff0c;仍然会导致不一致 先删Redis&#xff0c;再更新数据库并同步数据到Redis 存在漏洞&#xff0c;多线程情况下,线程1删除redis后&#xff0c;还是有可能被其他线程读取旧的数据…...

idea中vue项目 npm安装插件后node modules中找不到

从硬盘中重新加载一下...

已知两地经纬度,计算两地直线距离

文章目录 1 原理公式2 代码实现2.1 JavaScript2.2 C2.3 Python2.4 MATLAB 1 原理公式 在地球上&#xff0c;计算两点之间的直线距离通常使用地理坐标系&#xff08;例如WGS84&#xff09;。计算两地直线距离的公式是根据经纬度之间的大圆距离&#xff08;Great Circle Distanc…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...