基于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…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...

向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...