亭台六七座
大圣,此去欲何?踏南天,碎凌霄。若一去不回...?便一去不回!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#使用词嵌入向量与向量数据库为大语言模型(LLM)赋能长期记忆实现私域问答机器人落地
这种模型可以处理大量的文本数据,并学习从中获得的模式,以预测在给定的文本上下文中最可能出现的下一个词。词嵌入是自然语言处理(NLP)中的一个重要概念,它是将文本数据转换成数值型的向量,使得机器可以理解和处理。词嵌入向量可以捕获词语的语义信息,如相似的词语会有相似的词嵌入向量。接着我们将这些文本通过调用OpenAI的词嵌入向量接口转化为词嵌入向量表示的数组。首先我们构建一个对应的实体用于读写ES,这里的向量维度1536是openai的词嵌入向量接口的数组长度,如果是其他词嵌入技术,则需要按需定义维度。原创 2025-03-30 13:59:35 · 74 阅读 · 0 评论 -
利用css var函数让你的组件样式输出规范样式API,可定制性更高;
Card class="card_2" desc="自定义样式,圆角没了,描述字变小了,高度高了" :img="img" />// 这些以"--"开头的变量就是我们开放可自定义的样式属性了,可以在组件使用文档中明确开放。desc="我是默认的样式我是默认的样式"C++编程交流群 910854771。原创 2025-03-30 13:59:14 · 48 阅读 · 0 评论 -
C#异步有多少种实现方式?
微信群里的一个提问引发的这个问题,有同学问:C#异步有多少种实现方式?想要知道C#异步有多少种实现方式,首先我们要知道.NET提供的执行异步操作的三种模式,然后再去了解C#异步实现的方式。原创 2025-03-30 13:58:28 · 123 阅读 · 0 评论 -
VueUse 是怎么封装Vue3 Provide/Inject 的?
createInjectionState:创建可以注入组件的全局状态。原创 2025-03-30 13:56:15 · 40 阅读 · 0 评论 -
C语言之环形队列
int *queue:指向环形队列的指针;int front:指向队列的头部;int rear:指向队列的尾部;int size:队列的容量。int *queue;int front;int rear;int size;原创 2025-03-11 23:22:42 · 46 阅读 · 0 评论 -
Python潮流周刊#1:如何系统地自学Python?
这是一个系列文章,目前包含 31 篇文章,最近介绍的几个工具是数据库相关的:Neo4j(一个 NoSQL 图数据库,使用 Py2neo 操作)、PostgreSQL(一个关系型数据库,使用 Psycopg2 操作)、MongoDB、Access、ClickHouse、Redis 等。一个完全重写的超轻量级 Python 引擎,零依赖,零配置,可以在 Flash ≤ 64KB,RAM≤ 4KB 的平台下运行,极易部署和扩展,具有大量的中文文档和视频资料。这是 B 站上的链接,配有双语字幕。原创 2025-03-11 23:22:19 · 67 阅读 · 0 评论 -
【Qt 6】读写剪贴板
其实,QDataStream 类有接收 QByteArray 类型的参数的,可以省略 QBuffer 的代码。为了给大伙们提供参考,避免犯同类错误,所以,老周没有删除上面的代码。QMimeData 类用 setData 方法设置自定义数据时,参数接收的类型是 QByteArray(字节数组)而不是 QDataStream 对象,因此,我们要用 QBuffer 类来中转一下。在包含头文件时,用带 .h 后缀和不用后是一样的,既可以用 也可以用 ,只是作兼容之用。原创 2025-03-11 23:21:58 · 111 阅读 · 0 评论 -
Java设计模式-单例模式
实现方式优点缺点饿汉模式线程安全,效率高非懒加载懒汉模式线程安全,懒加载效率低双重检测机制线程安全,懒加载,效率高静态内部类线程安全,懒加载,效率高枚举线程安全,效率高非懒加载由于单例模式的枚举实现代码比较简单,而且又可以利用枚举的特性来解决线程安全和单一实例的问题,还可以防止反射和反序列化对单例的破坏,因此在很多书和文章中都强烈推荐将该方法作为单例模式的最佳实现方法。欢迎大家加入编程交流群Qt编程交流群 57634222C++编程交流群 910854771。原创 2025-03-11 23:21:23 · 43 阅读 · 0 评论 -
Python NumPy 广播(Broadcast)
如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。如果两个 Tensor 的形状的长度不一致,会在较小长度的形状矩阵前部添加 1,直到两个 Tensor 的形状长度相等。保证两个 Tensor 形状相等之后,每个维度上的结果维度就是当前维度上的较大值。编程交流群 241531722。原创 2025-03-11 23:21:05 · 63 阅读 · 0 评论 -
OpenResty学习笔记03:再探WAF
到这里,就已经对OpenResty下的WAF从部署到使用有了全面了解了。如果时间允许的话,真想继续对WAF进行深层次的学习和定制。原创 2025-03-11 23:20:39 · 37 阅读 · 0 评论 -
如何优雅得关闭协程呢
本文将介绍首先为什么需要主动关闭goroutine,并介绍如何在Go语言中关闭goroutine的常见套路,包括传递终止信号和协程内部捕捉终止信号。之后,文章列举了需要主动关闭协程运行的常见场景,如启动一个协程执行一个不断重复的任务。希望通过本文的介绍,读者能够掌握如何在适当的时候关闭goroutine,以及了解关闭goroutine的常见套路。原创 2025-03-11 23:20:22 · 39 阅读 · 0 评论 -
ABP - 初识 ABP
ABP 框架更新比较频繁,不使用VS中的程序包管理工具,通过ABP CLI也可以更新依赖的ABP框架nuget包,但是ABP CLI本身也需要更新,否则会有警告信息。ABP是用于创建现代化Web应用程序的完整体系结构和强大的基础架构,以模块化的方式进行开发,所有模块以nuget包的方式提供,开箱即用,遵循最佳实践和约定,提供。ABP框架提供了命令行工具ABP CLI,作为一个项目初始化的脚手架,通过它可以快速的构建一个基于领域驱动设计的起始项目,方便我们进行Web应用的开发。欢迎大家加入编程交流群。原创 2025-03-11 23:20:04 · 57 阅读 · 0 评论 -
数据库之索引(基础)
mysql 是从第一条记录开始遍历,直至找到 id = 1000 的数据,然而这样查询的效率低,所以 mysql 允许通过建立索引来加快数据表的查询和排序。原创 2025-03-11 23:19:44 · 24 阅读 · 0 评论 -
对工厂模式一次感悟
到目前为止,我们的抽象和工厂实现都有了,有了这个工厂以后,我们就可以根据不同的业务用多态的方式去调用不同的工厂了。之前对工厂设计模式的认知一直是:这不就是简单的i根据不同的f--else的分支,创建不同的实现类嘛,如果需要扩展,根据不同的情况再去扩展不同的实现类而已嘛,这有什么难的嘛...,想来,这样的理解倒也不能说错,只是感觉非常的假大空。首先工厂模式的好处是:我可以用一个通用的接口,根据业务的不同,选择不同的实现方式,这样我们不会将所有的实现都在一个方法中实现,不会出现很长的代码段。原创 2025-03-11 23:18:42 · 32 阅读 · 0 评论 -
OData WebAPI实践-Non-EDM模式合集
11.OData WebAPI实践-Non-EDM模式05-12收起说到了EDM与OData之间的关系,具有EDM的OData提供了强大的查询能力,但是OData并不必须要配置EDM,我们也可以使用Non-EDM方案。原创 2025-03-11 23:18:17 · 35 阅读 · 0 评论 -
在chatGPT的帮助下成功从Rancher中删除无效的集群
43.在chatGPT的帮助下成功从Rancher中删除无效的集群05-12收起与chatgpt进行了几次沟通,成功解决历史遗留问题,成功从rancher中删除了无效的集群。原创 2025-03-11 23:17:59 · 148 阅读 · 0 评论 -
redis持久化之RDB
RDB(Redis DataBase):RDB 持久性以指定的时间间隔执行数据集的时间点快照。说人话:实现类似照片记录效果的方式,把某一时刻的数据和状态以文件的形式写到磁盘上,也就是快照,恢复时再将硬盘快照文件直接读回到内存里。这样一来,即使故障宕机,快照文件也不会丢失,数据的可靠性也就得到了保证。这个快照文件就称为RDB文件(dump.rdb)。原创 2025-03-11 23:17:37 · 42 阅读 · 0 评论 -
ssh终端工具推荐-WindTerm
官方github按官方说明,WindTerm是一个更快更好的SSH/Telnet/Serial/Shell/Sftp的DevOps工具。WindTerm目前对商业是免费无限制的。源代码使用Apache 2.0协议开源。和xshell、mobaxterm、SecureCRT相比,免费、功能更强大、无会话/页签个数限制、支持rz sz。支持本地shell,支持多页签发送命令,支持多窗口平铺,多平台支持……功能太多就不展开了。放张截图先。原创 2025-03-11 23:17:16 · 82 阅读 · 0 评论 -
SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤
NotIn:等价于 SQL 中的 "not in",findByNameNotIn(Collection userList) ,方法的参数可以是 Collection 类型,也可以是数组或者不定长参数;In:等价于 SQL 中的 "in",findByIdIn(Collection userIdList) ,方法的参数可以是 Collection 类型,也可以是数组或者不定长参数;也可以使用findAllBy。JPA为我们提供了分页的方法,我们可以查看接口集成的JpaRepository接口的关系图。原创 2025-02-23 19:54:40 · 222 阅读 · 0 评论 -
Grafana系列-统一展示-7-ElasticSearch数据源
你可以进行多种类型的查询,以可视化存储在Elasticsearch中的日志或指标,并使用存储在Elasticsearch中的日志事件对图表进行注释。使用索引设置来指定时间字段的默认值和你的Elasticsearch索引的名称。这个 Data Links 比较在这里比较常见的配置是从 ES 的 Logs 通过。数据链接从一个指定的字段创建一个链接,可以在 Explore 的日志视图中访问。以确定在Explore中可视化日志时,数据源对日志信息和日志级别使用哪些字段。编程交流群 241531722。原创 2025-02-23 19:54:20 · 176 阅读 · 0 评论 -
JS的预解析
具体来说,在预解析过程中,JavaScript引擎会将函数声明和变量声明提升到当前作用域的顶部,而不管它们实际上在代码中的位置。JS的预解析是指在代码执行之前,JavaScript引擎会先对代码进行一次扫描,将变量声明和函数声明提升到当前作用域的顶部,以便在代码执行时能够正确地访问这些变量和函数。这个过程也被称为“提升”。需要注意的是,只有函数声明和变量声明才会被提升,而不是变量的赋值操作。这意味着,在函数内部声明的函数和变量可以在整个函数内部被访问,而在全局作用域声明的函数和变量可以在整个脚本中被访问。原创 2025-02-23 19:54:00 · 44 阅读 · 0 评论 -
OCR 文字检测,可微的二值化(Differentiable Binarization --- DB)
首先,该公式借鉴了sigmod函数的形式(sigmod 函数本身就是将输入映射到0~1之间),所以将概率值 Pi,j ��,� 与阈值 Ti,j ��,� 之间的差值作为sigmod函数的输出,然后再经过放大系数 k�, 将其输出无限逼近两个极端 0 或者1;其中,G�为标注的 gt,S� 为gt的边,n�为顶点的数量 , 将G�向内偏移D�,形成Gs��,在预测图上将Gs��内的值设定为1,Gs��外设定为0。在训练阶段,监督被应用在阈值图、概率图和近似的二值图上,其中后两者共享同一个监督;原创 2025-02-23 19:51:24 · 78 阅读 · 0 评论 -
ADG无法切换:报错 ORA-16467
首先,我们查V$ARCHIVE_DEST_STATUS已经确认是resolvable gap,不匹配但是也有问题。我这里目前主库是单实例,而备库才是RAC,可是,为何主库的redo居然会有 thread#=2 的redo?但可以肯定的是,完全可以把这个不该存在的thread删除掉!成功了,但是有警告,看告警日志又是一个新的ORA-16475 错误。看问题本身是说临时文件,这无所谓,切换后可以自动创建。哎呀,直接提示没有GAP了,赶紧尝试继续切换。C++编程交流群 910854771。这次想来总该可以了吧?原创 2025-02-23 19:51:05 · 57 阅读 · 0 评论 -
这个字段我明明传了呀,为什么收不到 - Spring 中首字母小写,第二个字母大写造成的参数问题
我自己从这个事件中总结出来了一点经验。在 Java 里面,给类属性取名的时候,以前我想着是只要满足小驼峰命名法就万事大吉,不会有什么问题了。。。现在我知道了,并不是说满足小驼峰就万事大吉了,如果碰到首字母小写、第二个字母大写的这种情况,还是要特别注意,尤其是当这个类还被用于序列化/反序列化时,一定要注意其处理的规范性,要写(生成)生成符合 Java Bean 规范的 set、get 方法,否则这个小小的字段在反序列化时会一直困扰着你。。原创 2025-02-23 19:50:47 · 90 阅读 · 0 评论 -
jenkins在虚拟机中安装
Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。Jenkins官网:JenkinsJenkins 特征开源的Java语言开发持续集成工具,支持持续集成,持续部署。易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。原创 2025-02-23 19:50:27 · 108 阅读 · 0 评论 -
OData WebAPI实践-OData与EDM
EDM 也提供了一些规则来描述数据模型中的实体之间的关系,例如继承、关联和复合类型。EDM 是 OData 协议的核心组成部分之一,它允许客户端和服务器之间以一致的方式交换和操作数据。原创 2025-02-23 19:50:08 · 37 阅读 · 0 评论 -
使用 QChronoTimer 进行高精度计时
是 Qt6 中用于进行高精度计时的类,它提供了高效、精确的时间测量工具,适用于性能分析、精确测量等场景。下面是一个使用。原创 2025-02-23 19:25:00 · 137 阅读 · 0 评论 -
使用QChar 进行字符操作,包括字符的转换、大小写处理、判断字符类别
下面是一个使用QChar类的简单示例代码。在这个示例中,我们将展示如何使用QChar进行字符操作,包括字符的转换、大小写处理、判断字符类别等功能。原创 2025-02-23 19:20:49 · 70 阅读 · 0 评论 -
使用QByteArray实现构造、修改、转换、编码和解码
下面是一个使用QByteArray类的简单示例代码。在这个示例中,我们将展示如何使用QByteArray进行基本的字节数组操作,包括构造、修改、转换、编码和解码。原创 2025-02-23 19:16:22 · 147 阅读 · 0 评论 -
使用QtConcurrent::run结合QFutureWatcher并行执行任务
如果你提到的是中的或者类似的并行依赖任务功能,可以继续使用来处理并行任务的执行,并且结合等工具来处理依赖关系。下面是一个使用结合的并行执行任务的示例,演示如何处理并发任务之间的依赖。原创 2025-02-23 19:12:25 · 58 阅读 · 0 评论 -
调用QtConcurrent并发模块实现map并行计算的代码
下面是一个使用Qt6调用模块的简单示例代码。在这个示例中,我们将使用来并行处理一个列表中的整数,并将每个元素乘以2。原创 2025-02-23 19:06:53 · 45 阅读 · 0 评论 -
基于ORB-SLAM3库搭建SLAM系统
这个压缩包下好之后,解压打开之后,里面是一个mav0的文件夹(有些打开会还有一个_MACOSX 文件加,可以直接删掉,只留mav0文件夹)具体原因是这个其实是在MAC操作系统压缩时产生的缓存垃圾,在Windows系统、Linux系统就会显示出来。然后在ORB_SLAM3-master文件夹下创建一个文件夹dataset,下载好之后,把这个ippicv文件夹单独拷贝出来,放到自己的文件夹中。下载之后放在最开始创建的 SLAM 文件夹,右键提取文件进行解压。在ORB_SLAM3-master的源码中,有一个。原创 2025-02-23 19:00:28 · 43 阅读 · 0 评论 -
合集 - token-go
1.用go设计开发一个自己的轻量级登录库/框架吧(项目维护篇)05-11收起1。原创 2025-02-22 11:42:06 · 25 阅读 · 0 评论 -
百度飞桨(PaddlePaddle)- 张量(Tensor)
飞桨框架的 API 有原位(Inplace)操作和非原位操作之分,原位操作即在原 Tensor 上保存操作结果,输出 Tensor 将与输入 Tensor 共享数据,并且没有 Tensor 数据拷贝的过程。重新设置 Tensor 的 shape 在深度学习任务中比较常见,如一些计算类 API 会对输入数据有特定的形状要求,这时可通过 paddle.reshape 接口来改变 Tensor 的 shape,但并不改变 Tensor 的 size 和其中的元素数据。原创 2025-02-22 11:41:48 · 43 阅读 · 0 评论 -
Protobuf: 高效数据传输的秘密武器
Protobuf(Protocol Buffers)是由 Google 开发的一种轻量级、高效的数据交换格式,它被用于结构化数据的序列化、反序列化和传输。相比于 XML 和 JSON 等文本格式,Protobuf 具有更小的数据体积、更快的解析速度和更强的可扩展性。Protobuf 的核心思想是使用协议(Protocol)来定义数据的结构和编码方式。使用 Protobuf,可以先定义数据的结构和各字段的类型、字段等信息,然后使用Protobuf提供的编译器生成对应的代码用于序列化和反序列化数据。原创 2025-02-22 11:41:28 · 35 阅读 · 0 评论 -
虚拟机与主机互传文件方法分享
1.接下来我们登录到虚拟机的Ubuntu系统中,还是在终端里查看虚拟机的网络配置,使用命令[ifconfig],在显示出来的配置中,找到网卡信息中的mac地址。同样使用Tera Term连接软件,找到你需要传输到主机的文件,并在Tera Term连接窗口中确认一下文件的完整路径(需要注意,这个方法无法传输TXT文件)例如:我在Ubuntu中新建一个文件test ubunt002.bin 路劲为:/home/ad/test ubunt 002.bin(ad是我的用户名)下图中网卡2请设置为【仅主机网络】。原创 2025-02-22 11:41:07 · 503 阅读 · 0 评论 -
排序算法之希尔排序
/*======================================================================================希尔排序:希尔排序是在插入排序的基础上升级而来======================================================================================原创 2017-07-20 12:44:15 · 283 阅读 · 0 评论 -
查找算法之二分查找
/*=================================================================================================================================二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不原创 2017-07-20 12:46:55 · 250 阅读 · 0 评论 -
swap三种实现方法
void swap1(int &a,int &b){ int t=a; a=b; b=t;}void swap2(int &a,int &b){ a=a^b; b=a^b; a=a^b;}void swap3(int *a,int *b){ *a=*a+*b; *b=*a-*b; *a=*a-原创 2017-07-15 07:40:12 · 1068 阅读 · 0 评论 -
排序算法之选择排序
/*======================================================================================选择排序:首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中 找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将原创 2017-07-20 12:45:02 · 245 阅读 · 0 评论