- 博客(323)
- 收藏
- 关注

原创 Maven随笔
Maven 是 Apache 旗下的一个开源项目,是一款用于管理和构建项目的工具,它基于项目对象模型(Project Object Model,简称: POM) 的概念,通过一小段描述信息来管理项目的构建、报告和文档。
2024-11-03 00:08:26
1479

原创 Linux命令
比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。通常情况下是采用“[n1[n2]]”操作参数的格式。为Linux中的文本编辑器,vim是vi的加强版,不仅能编辑文本而且还具有 shell 程序编辑的功能,可以用不同颜色的字体来辨别语法的正确性,极大方便了程序设计和编辑性;
2024-11-01 02:17:27
1014

原创 Git 总结
希望本文可以更好的帮助你在工作中更加有效的使用Git。另外附上一张包含常用 Git 命令大全的表格(来源Chat,不一定准确)。命令名称描述用法示例其他相关信息git init初始化一个新的 Git 仓库git init在当前目录创建一个新仓库git clone克隆一个远程仓库到本地git add将文件添加到暂存区git add .git commit提交暂存区中的更改到仓库添加 -a 参数可以跳过暂存区直接提交所有更改git status显示工作目录和暂存区的状态git status。
2024-10-14 00:11:23
1651
原创 LangChain4j 开发
市场上主流的 Java 调用大模型的工具库有两种:LangChain4j 是一个 面向 Java 的开源框架,用于构建 基于大语言模型(LLMs) 的应用程序。它是 LangChain(Python 生态中非常流行的 LLM 应用框架)的 Java 实现,旨在让 Java 开发者能够轻松地集成和使用各种 LLM 服务,快速开发 智能聊天机器人、智能搜索、文档问答、Agent系统 等 AI 驱动的应用。官网文档:https://docs.langchain4j.dev/。引入依赖(JDK17 及以上):构建
2025-07-13 22:38:49
922
4
原创 LangChain4j实现RAG知识库原理
首先我们需要把最新的数据或者专业的数据存储到文档中,接下来借助于文本分割器把一个大的文档分割成一个一个小的文本片段,然后这些小的文本片段要使用一种专门的大模型:向量模型,之前我们介绍大模型的时候有讲过,不同的大模型擅长的领域不一样,有擅长文本处理的、有擅长图片处理的,其中就有一种大模型擅长文本向量化。由于大模型训练完毕后,随着时间的推移产生的新数据大模型是无法感知的,而且训练大模型的时候一般使用的都是通用的训练数据,有关专业领域的知识,大模型也是不知道的。一旦外挂了知识库后,整个工作流程会发生一些变化。
2025-07-13 01:24:48
826
原创 PostgreSQL表操作
如果要更新物化视图,可以采用触发器的形式,当原表中的数据被写后,可以通过触发器执行同步物化视图的操作。在语句级别的触发器以及INSERT操作,这个变量是null。当对标进行 insert,update,delete,truncate 操作时,会触发表的 Trigger(看触发器的创建时指定的事件)相比之前的普通视图,物化视图就不需要每次都查询复杂SQL,每次查询的都是真实的物理存储地址中的一份数据(表)。在存储数据时,数据肯定要落到磁盘上,基于构建的tablespace,指定数据存放在磁盘上的物理地址。
2025-07-05 21:47:34
942
原创 Python的Asyncio模块
Task 继承 Future,Task对象内部 await 结果的处理是基于 Future 对象来的。await + 可等待的对象(协程对象、future 对象、Task 对象 -> IO 等待)官网解释:“Future” 是一种特殊的低级可等待对象,它表示异步操作的最终结果。,fastAPI、Django 快的原因,比 js 事件循环快,小于 go。的方式创建Task对象,这样可以让协程加入事件循环中等待被调度执行。事件循环的替代方案,第三方方案,在一定程度上提高事件循环的效率。
2025-07-02 10:44:43
955
原创 Npcap与Pcap4J
Npcap 是用于 Windows 操作系统的数据包捕获和网络分析的架构,由软件库和网络驱动程序组成。大多数网络应用程序通过广泛使用的操作系统原语(例如 Socket 套接字)访问网络。通过这种方式访问网络上的数据非常容易,因为操作系统会处理底层细节(例如协议处理、数据包重组等),并提供类似于读写文件的熟悉接口。然而,有时这种“简单的方法”并不适合,因为有些应用程序需要直接访问网络上的数据包。也就是说,它们需要访问网络上的“原始”数据,而无需操作系统介入协议处理。
2025-06-29 16:15:28
893
原创 Activiti 补充
手动任务定义了一个 BPM 引擎外部的任务,它用来模拟由某人完成的工作,引擎不需要知道,也没有系统或 UI 接口。思考如下需求,当有一个任务希望他超期自动办理,此时就需要知晓任务的过期时间,此功能其他类型的任务也具有。之前使用的一直是用户任务,activiti 还支持其他类型的流程任务,会用户任务即可,其它用处不大。对于引擎来说,手动任务时作为一个传递活动来处理的,从流程还行到达它里面的那一刻,就会自动继续流程。结束事件:标记流程或子流程的结束,可以是普通结束,也可以是错误结束、消息结束、信号结束。
2025-06-25 22:28:46
896
原创 TCP/IP 网络模型
TCP/IP 网络通常是由上到下分成 4 层,分别是应用层,传输层,网络层和网络接口层。网络接口层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。
2025-06-25 22:18:33
971
原创 Activiti整合Spring(Boot)
依赖如下:2 添加整合的配置文件添加一个 Spring 的配置文件,并在其中完成 Activiti 的整合操作:databaseSchemaUpdate 的取值注意:通过方法的执行我们能够发现相关的表结构在数据库中完成了创建,说明 Activiti 和 Spring 的整合成功。Activiti7 发布正式版本之后,它和 SpringBoot 2.x 已经完全整合开发了依赖如下:2 修改配置文件配置文件即参数说明:3 整合SpringSecurity因为 Activiti7 和 Spring
2025-06-22 18:42:50
1039
原创 Activiti 进阶
流程实例(ProcessInstance)代表流程定义的一次执行过程。一个流程实例包括了所有的运行节点,我们可以利用这个对象来了解当前流程实例的进度等信息。例如:用户或者程序按照流程定义的内容发起了一个流程,这个就是一个流程实例。流程变量在 activiti 中是一个非常重要的角色,流程运转有时需要靠流程变量,业务系统和 activiti 结合时少不了流程变量,流程变量就是 activiti 在管理工作流时根据管理需要而设置的变量。
2025-06-22 01:34:27
239
原创 Activiti初识
工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流的功能是什么?就是对系统的业务流程进行自动化管理,所以工作流是建立在业务流程的基础上,所以一个软件的系统核心根本上还是系统的业务流程,工作流只是协助进行业务流程管理。即使没有工作流业务系统也可以开发运行,只不过有了工作流可以更好的
2025-06-14 12:24:20
1067
原创 PostgreSQL数据类型
PostgreSQL 的数据类型系统是其强大灵活的基础之一,既覆盖传统 SQL 标准,也支持现代开发需求如 JSON、数组、范围、网络等。合理选择数据类型,不仅可以提升系统表达力和执行效率,还能提升数据一致性和开发体验。在实际设计表结构时,应结合业务需求、数据特点、未来可扩展性,选择合适的数据类型,不应该选择过于复杂的类型,相反,应该越简单越好(数值、字符、日期)。
2025-05-03 19:43:01
1102
2
原创 PostgreSQL初试
PostgreSQL 是一个功能强大、开源的对象-关系型数据库系统,以其可靠性、数据完整性、可扩展性而著称,底层使用 C 语言实现。它采用与 Linux 内核相同的开源协议 ——BSD 协议。这一协议非常宽松,与 MIT 协议类似,允许你在遵守基础条款的前提下进行二次开发,甚至将其商业化并收费。自 1986 年起由加州大学伯克利分校开始开发,PostgreSQL 目前在全球范围拥有活跃的社区和商业支持。PostgreSQL 最初的前身是名为 Ingres 的数据库系统。
2025-05-02 01:08:15
928
1
原创 SkyWalking链路追踪
随着系统设计变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。往往前端的一个请求需要经过多个微服务、跨越多个数据中心才能最终获取到结果,如下图并且随着业务的不断扩张,服务之间互相调用会越来越复杂,这个庞大的分布式系统调用网络可能会变的如下图所示:那随之而来的就是我们将会面临的诸多困扰:问题定位:当某一个服务节点出现问题导致整个调用失败,无法快速清晰地定位问题服务。
2025-04-22 12:40:30
1348
原创 ELK日志系统
ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎;Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。Elastic Stack 是 ELK Stack 的更新换代产品。
2025-04-19 12:35:47
1024
原创 RocketMQ5.0环境搭建
RocketMQ5.0为了更好地拥抱云原生,引入了全新的弹性无状态代理模式,将当前的Broker职责进行拆分,对于客户端协议适配、权限管理、消费管理等计算逻辑进行抽离,独立无状态的代理角色提供服务,Broker则继续专注于存储能力的持续优化。这套模式可以更好地实现在云环境的资源弹性调度。Master与 Slave 的对应关系通过指定相同的BrokerName,不同的Brokerld 来定义,Brokerld为0表示Master,非0表示Slave,Master也可以部署多个。
2025-04-14 06:00:00
866
原创 分布式文件存储系统FastDFS
FastDFS是余庆(国人,淘宝)开发的一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS是一个轻量级的开源分布式文件系统。
2025-04-09 18:24:25
1323
原创 大文件断点续传
根据上传视频流程,定义接口,与前端的约定是操作成功返回{code:0}否则返回{code:-1}。@Api(value = "大文件上传接口", tags = "大文件上传接口")@ApiOperation(value = "文件上传前检查文件")@ApiOperation(value = "分块文件上传前的检测")@ApiOperation(value = "上传分块文件")@ApiOperation(value = "合并文件")
2025-04-08 21:26:57
969
原创 Minio文件系统
MinIO是全球领先的对象存储先锋,是一个非常轻量的服务,可以很简单的和其他应用的结合使用。高性能,在标准硬件上,读/写速度上高达183GB/秒和171GB/秒,拥有更高的吞吐量和更低的延迟可扩展性,为对象存储带来了简单的缩放模型,通过添加更多集群可以扩展空间简单,极简主义是MinIO的指导性设计原则,即可在几分钟内安装和配置与Amazon S3兼容,兼荣亚马逊云的S3 API(接口协议/云存储服务接口)是在全球范围内达到共识的对象存储的协议,是全世界内大家都认可的标准数据安全。
2025-04-07 16:57:57
984
1
原创 Frame Of Reference压缩算法
Frame of Reference(FoR)压缩算法 是一种用于压缩数值数据的算法,特别是在处理大规模数据集时,利用数据的局部性和重复性来减少存储和传输的开销。该算法通常应用于数据库、数据压缩、信号处理、以及大数据分析等领域。Frame of Reference压缩算法 的核心思想是,通过将数据的最小值作为参考点,将所有数据与这个参考点进行偏移,然后存储相对值(即“偏移量”)。这样可以有效地减少需要存储的数字位数,尤其是在数据的范围比较小且有较多重复值时,能够显著提高压缩率。
2025-04-05 19:37:26
1139
原创 K8s的BackUP备份
同理,如果 Kubernetes API 中显示存在对应的备份资源,但存储桶中没有格式正确的备份文件,那么就认为资源备份失败或是产生错误,将其清理掉。确认文件消失后再执行恢复操作,如果一直监控当前命名空间 Pod 的恢复状态会发现存在 Init 状态,也就是说恢复数据的操作是一个 init 容器去做的,另外如果去观察 Minio 中备份文件的大小会发现仅有 4MB 左右的大小,这是因为 100MB 的数据文件是通过大量重复字段创建的,所以经过压缩算法压缩后的效果非常好。作为对象存储服务,存储备份信息。
2025-04-05 16:42:35
993
原创 K8S自定义CRD
例如,你想在 Kubernetes 集群中运行一个 messaging 代理,只需要创建一个队列资源实例,而自定义队列控制器将自动完成所需的 Secret、Deployment 和 Service。我们只需要根据监听到的消息做出动作即可,自定义案例逻辑:只需要提供 Website 类型资源清单文件,我们就直接自动创建好对应的 deployment、Service,还能根据给出的 gitRepo 准备好。我们能使用自定义控制器观察高阶对象,并在这些高阶对象的基础上创建底层对象。发起对当前接口的监听。
2025-04-03 11:45:00
2046
原创 使用状态机优化系统
状态机(State Machine)是一种数学模型,用于描述一个系统在不同状态之间的转移和行为。状态机由一组状态、状态间的转移(或称为“边”)以及触发这些转移的事件组成。它广泛应用于计算机科学、工程、自动化、编程语言等多个领域。
2025-02-26 18:34:17
1065
原创 HELM.
在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理Helm 本质就是让 K8s 的应用管理(Deployment,Service 等)可配置,能**动态生成**。通过动态生成 K8S资源清单文件(deployment.yaml,service.yaml)。然后
2025-02-18 20:27:54
824
原创 微信小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ex
微信小程序报错getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json
2025-02-03 21:43:46
1873
原创 EhCache缓存
在查询数据的时候,数据大多来自数据库,咱们会基于SQL语句的方式与数据库交互,数据库一般会基于本地磁盘IO的形式将数据读取到内存,返回给Java服务端,Java服务端再将数据响应给客户端,做数据展示。但是MySQL这种关系型数据库在查询数据时,相对比较慢,因为有磁盘IO,有时没命中索引还需要全盘扫描。在针对一些热点数据时,如果完全采用MySQL,会存在俩问题。第一个MySQL相对很脆弱,肯能会崩,第二个MySQL查询效率慢,会采用缓存。
2024-12-28 12:15:00
1102
原创 RockyLinux介绍及初始化
Rocky Linux 是一款开源的企业级 Linux 操作系统,旨在为用户提供一个功能强大、稳定可靠的企业级操作环境。它是 CentOS 项目停止稳定版本支持后(即 CentOS Stream 转型为滚动版本更新模型)诞生的替代品之一,由 Rocky Enterprise Software Foundation (RESF) 开发和维护。在 CentOS Stream 宣布成为一个滚动发布的操作系统后,许多企业和用户需要一个稳定、长生命周期支持的 Linux 发行版。
2024-12-27 12:30:00
1538
原创 Jenkins集成Kubernetess
在本文中,详细介绍了如何将 Jenkins 与 Kubernetes 集成,以实现自动化的 CI/CD 流程部署。通过这种集成,可以充分发挥 Kubernetes 的弹性扩展能力与容器化优势,以及 Jenkins 强大的任务管理和插件支持能力。Jenkins 与 Kubernetes 的集成适用于需要频繁交付、高并发构建任务的团队,特别是在微服务架构或云原生开发环境中。
2024-12-27 12:00:00
1561
原创 Gitlab私服管理员账户忘记密码
记得密码设置的是******,但是登录时一直出现错误,查看初始的密码也发现由于已经设置过了密码,初始密码文件也被删除了,只能重置了。如果密码忘记了登录不进入,可以先尝试点击登录框下方的忘记密码来通过邮箱的方式找回,但是要是就这么找回了也就不会有这篇博客了。虽然我的Gitlab是容器化部署的,但基本流程都是一样的,并不影响,查看当前容器。进入gitlab控制台,如果卡住可以多等一会。接下来就可以返回gitlab登录界面重新登录。重置密码并保存用户对象(设置自己的密码代替。切换到git用户目录下。
2024-12-26 12:30:00
1399
原创 Kubernetes快速部署(v1.31.4)
然后就是固定主机IP地址(略),设置主机名和地址映射,这里以一个master、一个worker为例。将系统升级到最新,可以使用阿里源镜像站,本教程使用CentOS7系统(考虑大量用户使用的版本)如果使用的是虚拟机最好不要拷贝,因为需要保证节点之中不可以有重复的主机名、MAC 地址或。,可以使用下面的方式对它们进行验证,还保证各个节点之间时钟同步。连接kubernetes集群,查看已运行节点,输出。应用资源清单文件,创建operator,注意使用。修改文件第13行,修改为使用。加入节点出现错误使用以下命令。
2024-12-26 12:00:00
1112
原创 SpringMVC的全注解开发
时,容器就会自动发现我们自己的类, 在该类中我们就可以配置 Spring 和 SpringMVC 的入口了。跟之前全注解开发思路一致,xml配置文件使用核心配置类替代,xml中的标签使用对应的注解替代。参照Spring的ContextLoaderListener加载核心配置类的做法,定义了一个。实现类,那么,当web容器启动时就会运行这个初始化器做一些组件内的初始化工作;目前,几乎消除了配置文件,但是web工程的入口还是使用的。接口,实现了该接口后,在对 应的类加载路径的。的类,Spring又提供了一个。
2024-12-25 12:30:00
542
原创 SpringMVC的响应处理
在讲解SringMVC接收请求数据时,客户端提交的Json格式的字符串,也是使用Jackson进行的手动转换成JavaBean ,可以当我们使用了@RequestBody时,直接用JavaBean就接收了Json格式的数据。@ResponseBody注解使用优化:在进行前后端分离开发时,Controller的每个方法都是直接回写数据的,所以每个方法上都得写@ResponseBody。,可以通过 @ResponseBody 注解显示告知此处的返回值不要进行视图处理,是要以响应体的方式处理的。
2024-12-25 12:00:00
1320
1
原创 SpringMVC的请求处理
手动将 RequestMappingHandlerMapping 也注册到 SpringMVC 容器中就可以了,这样 DispatcherServlet 在进行初始化时,就会从容器中同时获得 RequestMappingHandlerMapping 存储到 DispatcherServlet 中名为 handlerMappings 的 List 集合中,对@RequestMapping 注解进行解析。这么复杂繁琐的配置,是不是看上去有点头大?
2024-12-24 12:00:00
1990
原创 Spring整合第三方框架——自定义命名空间解析原理
1、Schema 文件(XSD 文件)定义自定义标签的语法和结构。用于约束配置文件中自定义标签的合法性。负责解析自定义命名空间的顶级标签。将自定义标签解析为对应的。负责解析具体的标签内容,将其转化为。4、Spring 提供的解析框架Spring 通过和文件注册解析逻辑。
2024-12-24 11:45:00
1008
原创 Jenkins流水线
之前采用Jenkins的自由风格构建的项目,每个步骤流程都要通过不同的方式设置,并且构建过程中整体流程是不可见的,无法确认每个流程花费的时间,并且问题不方便定位问题。Jenkins的Pipeline可以让项目的发布整体流程可视化,明确执行的阶段,可以快速的定位问题。并且整个项目的生命周期可以通过一个Jenkinsfile文件管理,而且Jenkinsfile文件是可以放在项目中维护。所以Pipeline相对自由风格或者其他的项目风格更容易操作。生成自定义镜像并推送到Harbor脚本pipeline {
2024-12-23 12:30:00
1866
2
原创 SpringMVC简介
SpringMVC是一个基于Spring开发的MVC轻量级框架,Spring3.0后发布的组件,SpringMVC和Spring可以无 缝整合,使用DispatcherServlet作为前端控制器,且内部提供了处理器映射器、处理器适配器、视图解析器等组 件,可以简化JavaBean封装,Json转化、文件上传等操作。以前单独就是一个框架与spring平级,现在只是作为一个spring的组件。
2024-12-23 12:00:00
1853
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人