基于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 | 主键编号 | varchar | 32 | 主键 | 否 |
username | 用户名 | varchar | 40 | 否 | |
password | 密码 | varchar | 40 | 否 | |
realname | 姓名 | varchar | 40 | 否 | |
contact | 联系方式 | varchar | 40 | 否 | |
addtime | 创建日期 | datetime | 0 | 否 |
表4-2新闻公告表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 键码 | 能否为空 |
---|---|---|---|---|---|
articleid | 主键编号 | varchar | 32 | 主键 | 否 |
title | 标题 | varchar | 40 | 否 | |
image | 图片 | varchar | 150 | 否 | |
contents | 内容 | text | 0 | 否 | |
addtime | 发布日期 | datetime | 0 | 否 | |
hits | 点击数 | int | 4 | 否 |
表4-3 提示问题表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 键码 | 能否为空 |
---|---|---|---|---|---|
asksid | 主键编号 | varchar | 32 | 主键 | 否 |
questions | 问题 | varchar | 40 | 否 | |
addtime | 创建日期 | datetime | 0 | 否 | |
memo | 备注 | varchar | 40 | 否 |
表4-4 购物车表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 键码 | 能否为空 |
---|---|---|---|---|---|
cartid | 主键编号 | varchar | 32 | 主键 | 否 |
usersid | 用户 | varchar | 32 | 外键 | 否 |
goodsid | 商品 | varchar | 32 | 外键 | 否 |
num | 数量 | varchar | 40 | 否 | |
price | 单价 | varchar | 40 | 否 | |
addtime | 加入日期 | datetime | 0 | 否 |
表4-5 商品类型表
字段名称 | 字段意义 | 字段类型 | 字段长度 | 键码 | 能否为空 |
---|---|---|---|---|---|
cateid | 主键编号 | varchar | 32 | 主键 | 否 |
catename | 类型名称 | varchar | 40 | 否 | |
addtime | 创建日期 | datetime | 0 | 否 | |
memo | 备注 | varchar | 40 | 否 |
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的旅游系统
摘 要 随着旅游业的发展,越来越多的人选择旅游作为自己的出行方式。在旅游规划过程中,旅游景点选择是至关重要的环节。本文提出了一种基于协同过滤推荐算法的旅游平台系统。该系统采用前后端分离的设计,主要使用了SpringBoot、Vue等技术&…...
leetcode算法题--复杂链表的复制
原题链接: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 说说静态库和动态库怎么制作及如何使用,区…...

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

plumelog介绍与应用-一个简单易用的java分布式日志系统
官方文档:http://www.plumelog.com/zh-cn/docs/FASTSTART.html 简介 无代码入侵的分布式日志系统,基于log4j、log4j2、logback搜集日志,设置链路ID,方便查询关联日志基于elasticsearch作为查询引擎高吞吐,查询效率高全…...
百度网盘删除“我的应用数据”文件夹
百度网盘删除“我的应用数据”文件夹电脑端方法-2023.2.27成功 - 哔哩哔哩 (bilibili.com) 百度网盘怎样删除我的应用数据文件夹-手机端方法-2023.3.24日成功 - 哔哩哔哩 (bilibili.com)...

多店铺智能客服,助力店铺销量倍增
近年来电商发展得非常快速,市场竞争也是愈发激烈了。商家不仅需要提高产品和服务的质量,还要争取为自己获取更多的曝光,以此来分散运营的风险和降低经营的成本,所以越来越多的商家也开始转向多平台多店铺运营。但即使运营多个平台…...
会话跟踪技术
cookie 是通过在浏览器第一次请求服务器时,在响应中放入cookie,浏览器接收到cookie后保存在本地,之后每次请求服务器时都将cookie携带到请求头中,用来验证用户身份与状态等。 缺点: 移动端app没有cookiecookie保存在…...

递归算法学习——子集
目录 一,题目解析 二,例子 三,题目接口 四,解题思路以及代码 1.完全深度搜索 2.广度搜索加上深度优先搜索 五,相似题 1.题目 2.题目接口 3.解题代码 一,题目解析 给你一个整数数组 nums ,…...
学习笔记:ROS使用经验(ROS报错)
报错:进程崩溃 ] 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)
用于将数据结构与数据操作分离,使得可以在不修改数据结构的情况下,定义新的操作。访问者模式的核心思想是,将数据结构和操作进行解耦,从而使得新增操作时不必修改数据结构,只需添加新的访问者。主要目的是在不改变数据…...

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

VMware虚拟机连不上网络
固定ip地址 进入网络配置文件 cd /etc/sysconfig/network-scripts 打开文件 vi ifcfg-ens33 编辑 BOOTPROTO设置为static,有3个值(decp、none、static) BOOTPROTO"static" 打开网络 ONBOOT"yes" 固定ip IPADDR1…...

安防视频监控/视频集中存储/云存储平台EasyCVR平台无法取消共享通道该如何解决?
视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等,视频智能分析平台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 ----- 套接字的选项
一、优雅的断开套接字连接 之前套接字的断开都是单方面的。 (一)基于TCP的半关闭 Linux的close函数和windows的closesocket函数意味着完全断开连接。完全断开不仅不能发送数据,从而也不能接收数据。在某些情况下,通信双方的某一方…...

区块链金融项目怎么做?
区块链技术的兴起引发了金融领域的变革,为金融行业带来了前所未有的机遇与挑战。在这个快速发展的领域中,如何在区块链金融领域做出卓越的表现?本文将从专业性和思考深度两个方面,探讨区块链金融的发展路径,并为读者提…...
Redis与数据库保持一致
参考链接 先更新数据库,再更新redis 存在漏洞,如果更新Redis失败,仍然会导致不一致 先删Redis,再更新数据库并同步数据到Redis 存在漏洞,多线程情况下,线程1删除redis后,还是有可能被其他线程读取旧的数据…...

idea中vue项目 npm安装插件后node modules中找不到
从硬盘中重新加载一下...

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

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...

一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...
深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙
WebGL:在浏览器中解锁3D世界的魔法钥匙 引言:网页的边界正在消失 在数字化浪潮的推动下,网页早已不再是静态信息的展示窗口。如今,我们可以在浏览器中体验逼真的3D游戏、交互式数据可视化、虚拟实验室,甚至沉浸式的V…...

麒麟系统使用-进行.NET开发
文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的,如果需要进行.NET开发,则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET,所以要进…...