- 博客(34)
- 问答 (1)
- 收藏
- 关注
原创 寻找另一半:基于兴趣爱好的相似好友推荐策略
本文介绍了一种交友应用中推荐相似用户的方法。首先,我们探讨了几种基于兴趣爱好标签的相似度计算方法,包括 Jaccard 相似度、余弦相似度和欧式距离。随后,我们介绍了如何将兴趣爱好标签转化为向量以便于计算相似度。最后,我们详细描述了 Jaccard 相似度的 Java 实现,并提出了一系列性能优化措施,包括设置过滤条件、添加索引、缓存结果和预计算等。这些技术和优化措施共同构成了一个高效且准确的用户推荐系统。
2024-08-09 10:12:17 1045
原创 Spring-Kafka确认机制报错:No Acknowledgment available as an argument
本文解决了spring-kafka报错:No Acknowledgment available as an argument 的bug,在解决的过程通过查阅官方文档,分析了kafka的消息确认机制,以及提供了`AckMode` 的集中模式,最后列出了如何在appliction.yaml中如何合理的配置。
2024-08-05 18:22:45 1074
原创 SpringBoot项目详细整合邮箱服务
本文详细的介绍了springboot整合邮箱服务的过程,API的使用以及最终的验证等环节。流程清晰,简单明了,通俗易懂。
2024-08-04 12:16:50 801
原创 解决mysql数据库表读取中文乱码问题
本文解决了由于服务器控制台编码和数据库编码不一致导致的中文数据乱码问题。主要针对的场景是,使用sql脚本创建数据库表,脚本中存在中文,被控制台的latin1编码成了乱码,然后存到了数据库中,导致在读取的时候变成了乱码。
2024-07-28 14:58:03 1013
原创 记Redis 被攻击,数据被定时清除的问题
本文主要记录了在云服务器中使用redis被攻击的场景,redis中的数据莫名被清除,数据库离出现了backup1、backup2等的陌生数据,最终确定被攻击,并给出了解决方案。
2024-07-27 15:52:16 306
原创 Vuex数据持久化实现
本文主要解决了在使用vuex做状态管理的过程中,状态数据丢失的问题。使用了两种数据持久化的方案解决。其中详细介绍了基于vuex插件的方式,并且代码有详细的注释,方便读者理解与使用。
2024-07-23 15:47:26 858
原创 MySQL高性能读写分离实战
我的上一篇文章实现了mysql的主从复制结构,今天这篇继续将如何实现读写分离。读写分离是指:针对数据库的写操作(插入、更新、删除等)访问主数据库,读操作访问从数据库。因为一般网站的读请求的数量是远远大于写请求的,所以读写分离模式往往可以有效的提升系统的性能的。读写分离属于应用层面上的实现,思路也比较简单,就是手动解析数据库请求,如果是读请求就将其转发到从数据库,如果是写请求就将其转发到主数据库。不过要写好还是比较难的,涉及到对JDBC的二次封装、负载均衡等。目前市面上已有比较成熟的方案。
2024-07-22 22:06:08 1094
原创 MySQL主从复制原理与实现
本文从原理和具体实现两方面讲述了mysql是如何实现主从复制的,简单易懂,最后基于docker的实现也是笔者踩了不少坑才总结出来的成功案列,可以放心使用。
2024-07-21 18:27:28 780
原创 Ubuntu系统成功安装Docker教程
本文完成了在ubuntu系统安装docker以及解决拉取镜像超时的问题,是踩过不少坑的经验之谈,希望对读者们有帮助。
2024-07-16 22:11:49 314 1
原创 Vue实现滚动元素始终固定在最底部
本文实现了在vue项目中对用设置了滚动的元素让其始终固定在底部的方法,可以应用在聊天等场景中。非常的清晰明了。
2024-07-13 12:43:11 1102
原创 vue项目实现堆叠卡片拖动切换效果
本文实现了在vue3项目中卡片堆叠切换的效果,卡片切换是比较常用的UI交互方式,非常的美观以及操作方便,是前端学习者的必备技能之一。
2024-07-07 16:20:57 842
原创 Vue项目使用mockjs模拟后端接口
vite-plugin-mock 是 vite 提供的mock插件,配合mockjs 一起使用,比较方便。在 vite.config.js 中配置 viteMockConfig。通过axios发送请求,请求到mock的模拟接口。mockPath 就是mock文件夹的路径。文件夹,作为后续编写mock接口的路径。,用来请求之前创建的mock接口地址。如果控制台打印出结果,则说明配置成功。文件夹下新建一个 js 文件,如。该文件创建了一个模拟接口,地址为。该文件创建了一个请求接口。
2024-07-06 01:02:54 604
原创 Large Language Model based Multi-Agents: A Survey of Progress and Challenges
大型语言模型( Large Language Models,LLMs )在各种任务中都取得了令人瞩目的成功。由于LLMs具有出色的规划和推理能力,它们已经被用作自主代理(autonomous angents)来自动完成许多任务。近年来,基于单个LLM作为单一规划或决策Agent的发展,基于LLM的多Agent系统在复杂问题求解和世界仿真方面取得了长足的进步。为了使社区对这一动态领域有一个全面的了解,本文对基于LLMs的多智能体系统的基本方面以及所面临的挑战进行了深入的讨论。
2024-06-22 16:27:22 1207
原创 逆序数求解算法
而如果两个子数组有序的话,就很容易能求出子数组之间的逆序数。逆序数可以衡量一个数组的有序程度,逆序数越大,说明数组的递增性越差,如果逆序数为0,说明数组是严格递增的,如果为。其实上面的过程先分治,再合并排序的过程,就是归并排序的思想。我们进一步观察子数组,子数组的元素位置发生变化其实不会改变数组之间的逆序数的。因此我们只要求出这三部分的逆序数就可以了,首先如何求数组内的逆序数?产生一个逆序数,而因为数组是有序的,因此。的逆序数之后,如何求解之间的逆序数呢?产生的逆序数的,累加结果即可。,则形成一个逆序对。
2024-06-02 00:04:49 777
原创 KMP 算法原理解析,公式推导,代码实现
KMP 算法是一个解决模式串在文本串中是否出现过的问题,如果出现过则返回最早出现的位置。KMP 的时间复杂度是OnmO(n + m)Onm一趟扫描即可。文本串无需回溯。KMP 方法采用最长公共前后缀和的方法避免了文本串的回溯,降低了时间复杂度。
2024-06-01 19:02:51 939
原创 并查集详解
并查集是一种树形的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。比如说,我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。主要构成:并查集主要由一个整型数组。
2024-04-21 20:49:13 753 1
原创 springboot项目链接虚拟机上的redis
转载原文地址https://blog.csdn.net/ffhgyguj/article/detail
2023-08-24 16:53:32 120 1
原创 CAJ格式文献转成PDF格式
在知网上下载的论文有时是caj格式的,只能用CAJViewer打开,很不方便其实转换成PDF也很简单:使用CAJViewer打开论文选择打印(Ctrl+P)弹出如下界面,点击确定即可保存点击确定后直接保存就是PDF格式了效果保存后的PDF可以正常用浏览器打开,没有一点问题,下图使用edge打开...
2021-08-27 18:10:27 2670
原创 java实现求有向图的强连通分量
求解方法:求出该图的转置(所有边反向)求出转置图的拓扑排序(如何求拓扑排序看出可以看我上一篇博文。文章链接)根据拓扑排序的顶点顺序使用深度优先算法进行图搜索,一次搜索到的新的顶点的集合(上次遍历过的顶点不算)为一个强连通分量。代码:import java.util.ArrayList;import java.util.HashSet;import java.util.Scanner;/*求解强连通分量 */public class StronglyConnected {
2021-07-27 15:51:38 366
原创 Java算法求有向无环图拓扑排序
图存储方式:邻接表方式存储class Node{ int visited = 0; // 是否被访问 int d = 0; // 初次遍历时间戳 int f = 0; // 最终遍历时间戳 LinkedList<Integer> linkNodes = null; public Node(){ linkNodes = new LinkedList<>(); }}以上代码为一个节点的数据结构,最终用一个数组储存所
2021-07-27 15:37:25 741
原创 Java实现最短路径
实现思路: 根据B站视频讲解的过程实现,视频链接代码:import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;public class 最短路径 { HashMap<String, String> parent; HashSet<String> bests; int[] distance; public 最短路径(int len){
2021-07-26 22:54:17 3322 1
原创 Django + vue 前后端分离跨域问题
这个跨域问题之前困扰了我很久,主要原因就是前后端端口不同,不同源。在网上找了很多办法都没有用,后来问了一个同学,终于解决了。解决方法:在vue.conf.js文件里配置代理module.exports = { devServer: { proxy: { '^/api': { target: '127.0.0.1:8000', // api访问的接口地址 ws: true, changeOrigin: true }
2021-04-14 23:09:31 223
原创 Java实现哈夫曼树代码,可运行
参考文章:Java实现哈夫曼树import java.util.ArrayList;import java.util.Comparator;public class huffmanTree { private TreeNode root; private ArrayList<TreeNode> array = new ArrayList<>(); // 将数据放入列表中 public void setArray(Object[][] key){
2021-03-13 22:41:07 110
原创 Python图像处理学习笔记
需要安装的包pip install numpypip install opencv-python图像的存在形式图像实际上一个三维矩阵(行高,列宽,通道数)。一张图像的总像素点的计算公式为:行*列*通道数。通道数为1的图像是灰度图像,通道数为3的图像是rgb三色图像。图像的读取与保存读图片#导入模块import cv2 as cv#读图片 path为图片地址src = cv.imread(path)图片的一些属性print(type(image))
2020-11-04 21:15:36 304
原创 MOSSE相关滤波算法学习笔记
目录相关滤波相关滤波在目标跟踪的应用MOSSE滤波器MOSSE的训练与更新关于PSR相关滤波相关滤波源于信号处理领域,两个信号越相似,则他们的相关性就越大。假设有两个信号f和g,则这两个信号的相关性为:相关滤波在目标跟踪的应用其实上述式子就是两个函数的卷积,由卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积可简化为: 在目标跟踪中,F表示输入帧,表示滤波器,G表示输出的相关性。在输入帧中找到与滤波器相关性最大的即为要跟踪的目标。原理...
2020-11-03 16:27:55 1130
原创 一个简易的javaweb项目
通过20多天的学习,终于把javaweb学完了,趁着手热,写了一个简单的学生管理系统,一些校验功能及界面美化并没有写,比较粗糙。结构如下。一、系统功能管理员的登陆及注册,对学生信息的增删改查,将学生信息进行分页展示。二、目录结构三、主要类DataSourceUtil:获取c3p0数据源实体类:Student和Manager对应数据库的两张表,Page类用来分页IStudentDao接口:定义各种dao操作,由StudentDaoImpl类实现IStudentServ.
2020-07-31 21:00:01 4474 3
原创 c# Stopwatch计时器的使用
Stopwatch可以测量一段程序的耗时命名空间:using System.Diagnostics;示例:Stopwatch watch = Stopwatch.StartNew();//初始化 watch.Start(); //启动计时器 for(int i = 0; i <= 10; i++) { ...
2020-04-13 12:12:41 848
原创 一个Java死锁代码
死锁:指两个或两个以上的线程在执行过程中,由于竞争资源或者由于彼此通信二造成的一种阻塞现象。在Java中其实就是因为线程之间由于争夺同步锁造成的。下面代码为两个线程因等待对方的对象锁而产生死锁的程序:public class 死锁{ public static void main(String args[]){ Object o1 = new Object() //创建对象o1...
2020-04-12 13:15:26 154
空空如也
Django 利用session实现登录
2021-03-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人