自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(458)
  • 资源 (1)
  • 收藏
  • 关注

原创 AI实践与学习4_大模型之检索增强生成RAG实践

论文Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (知识密集型 NLP 任务的检索增强生成)作者们探讨了如何通过结合预训练的语言模型和非参数记忆(即检索机制)来提高自然语言处理(NLP)任务的性能,特别是在需要大量知识密集型任务中。预训练的神经语言模型已经显示出从数据中学习大量深入知识的能力,但这些模型无法轻松扩展或修改它们的记忆,也不能直接提供对其预测的洞察,有时还可能产生“幻觉”。

2024-04-14 19:40:07 823

原创 ElasticSearch学习篇11_ANNS之基于图的NSW、HNSW算法

ANNS(Approximate Nearest Neighbor Search)翻译为近似最近搜索。是指在大型数据集中找到给定查询点的最近邻点。ANNS 旨在最小化计算成本并同时高效找到近似最近邻。目的:ANNS旨在高维空间中快速找到与查询点近似最近的邻居,牺牲一定的精确度以换取搜索速度的提升。原理:通过构建特定的数据结构(如基于空间划分的KD-Tree、局部敏感哈希LSH等)或使用特定的算法逻辑来减少在高维空间中搜索最近邻所需的计算量。应用场景。

2024-03-29 14:59:36 964 1

原创 ElasticSearch学习篇10_Lucene数据存储之BKD动态磁盘树(论文Bkd-Tree: A Dynamic Scalable kd-Tree)

基础的数据结构如二叉树衍生的的平衡二叉搜索树通过左旋右旋调整树的平衡维护数据,靠着二分算法能满足一维度数据的logN时间复杂度的近似搜索。对于大规模多维度数据近似搜索,Lucene采用一种BKD结构,该结构能很好的空间利用率和性能。本片博客主要学习常见的多维数据搜索数据结构以及BKD结构搜索过程以及原理。

2024-03-10 21:51:14 1873 2

原创 JVM3_数据库连接池虚引用ConnectionFinalizerPhantomReference引起的FullGC压力问题排查

按照收集策略划分新生代收集器:Serial、ParNew、Parallel Scavenge;老年代收集器:Serial Old、Parallel Old、CMS;整堆分区收集器:G1、ZGC、Shenandoah吞吐量优先、停顿时间优先吞吐量优先:Parallel Scavenge收集器、Parallel Old 收集器。停顿时间优先:CMS(Concurrent Mark-Sweep)收集器。吞吐量与停顿时间适用场景吞吐量优先:交互少,计算多,适合在后台运算的场景。

2024-03-07 19:57:18 1040

原创 AI实践于学习3_大模型之AI解题提示词优化实践

提示词只是让LLM具有一定的推理能力,并不能直接提高模型能力,可以借助CoT思维链、提示词规则一定程度微调模型。尽量使用新模型,通用性能更好,支持提示词规则更多。

2024-02-02 09:24:18 711

原创 ElasticSearch学习篇9_文本相似度计算方法现状以及基于改进的 Jaccard 算法代码实现与效果测评

目前基于集合的Jaccard算法以及基于编辑距离的Levenshtein在计算文本相似度场景中有着各自的特点,为了优化具体的计算时间抖动超时问题,需要学习此方面知识,本文主要内容为文本相似度计算方法的现状、Jaccard、Levenshtein算法实现基本原理以及代码实现论文基于改进的 Jaccard 系数文档相似度计算方法的算法。这样,即使两个主题的语义相似度较低,但由于它们之间可能存在隐含的相关关系,搜索引擎可以更好地理解用户的真实需求,并提供更准确、相关的搜索结果。我们要判断这两篇文章是否相似。

2023-12-22 19:14:54 3846 2

原创 ElasticSearch学习篇8_Lucene数据落盘之数据压缩编码(vint、zigzag、writeTLong等)

Lucene全文检索主要分为索引、搜索两个过程,对于索引过程就是将文档磁盘存储然后按照指定格式构建索引文件,其中涉及数据存储一些压缩、数据结构设计还是很巧妙的,下面主要记录学习过程中的StoredField、DocValue以及磁盘BKD Tree的一些相关知识。Lucene 原理与代码分析完整版.pdf美团外卖搜索基于 Elasticsearch 的优化实践。

2023-12-17 16:24:58 4253 1

原创 AI实践与学习2_大模型之AI解题提示词设计实践分享(LLM基本原理通俗理解)

想要GPT模型回答的更好,更好的应用在业务场景中,需要考虑Prompt的写法规则、模型参数、渲染方式(流式响应)等下面主要结合开源文档梳理一些写Prompt的一些技巧。

2023-11-19 21:49:39 1764

原创 AI实践与学习1_NLP文本特征提取以及Milvus向量数据库实践

随着NLP预训练模型(大模型)以及多模态研究领域的发展,向量数据库被使用的越来越多。在XOP亿级题库业务背景下,对于试题召回搜索单单靠着ES集群已经出现性能瓶颈,因此需要预研其他技术方案提高试题搜索召回率。现一个方案就是使用Bert等模型提取试题题干特征,然后存储到向量数据库,检索试题先走向量数据库,拿到具体的试题ID等信息在走ES进行相似题召回,从而提高搜索的性能。需要考虑的就是特征提取的效率,Milvus的性能(比较吃服务器资源),然后进行评估。

2023-11-19 21:38:11 1608 2

原创 ElasticSearch学习篇6_ES实践与Lucene对比及原理分析技术分享小记

QBM、MFS的试题检索、试题查重、公式转换映射等业务场景以及XOP题库广泛使用搜索中间件,业务场景有着数据量大、对内容搜索性能要求高等特点,其中XOP题库数据量更是接近1亿,对检索性能以及召回率要求高。目前QBM、MFS使用的搜索中间件是Solr,后续需要升级为ES。看的书是《ElasticSearch源码解读与优化实战》的前半部分(与这篇博客部分内容重合),主要是ES的一些工程模块,分布式集群的一些理论知识。

2023-11-19 21:15:49 776

原创 ElasticSearch学习篇7_拜占庭将军问题与分布式一致性算法(Raft、Paxos)理解

拜占庭将军问题提供了对分布式共识问题的一种情景化描述,为理解和分类现有众多分布式一致性协议和算法提供了框架,现有的分布式一致性算法主要分为两类一类是故障容错算法:即非拜占庭算法,解决的是分布式系统存在故障但是不存在被恶意攻击的场景下的共识问题,主要针对消息丢失、重复等问题,面对消息被篡改就无力了,一般用于局域网场景下的分布式算法,如Paxos、Raft、ZAB协议等。一类是拜占庭算法:既可以解决分布式系统故障,又可解决恶意攻击的问题,如在数字货币的区块链技术中,属于此类算法有PBFT、PoW算法。

2023-09-18 23:55:14 751

原创 RocketMQ实践与原理分析

QBM之前使用的消息中间件是ActiveMQ,后续需要升级为RocketMQ。MQ广泛应用于很多业务场景中,主要的作用异步解耦削峰协议和特点消息有序性定时消息批量消息广播消息消息过滤服务器触发的重新投递消息存储ActiveMQExclusive (独自)Consumer or Exclusive Queues can ensure orderingSupportedSupportedSupportedKafkaRocketMQSupportedSupported。

2023-09-16 22:30:25 486

原创 一次【千万数据表连接条件查询的SQL慢查询分析优化】记录

当查询只需要从索引中获取所需的数据,而不需要访问表的实际行数据时,MySQL 可以直接利用索引来满足查询需求,避免了额外的表访问操作,提高了查询性能。分析:使用子查询首先根据operator、status查询question_tasks.id,然后再回表,虽然多了一次查询,但是级别是ref,也就是使用了非唯一索引operator,可以看到filtered为50。所以,一般来说,我们希望 filtered 的值越大越好,因为这意味着查询结果集中的数据更符合过滤条件,从而提高查询性能。

2023-07-17 17:52:45 576

原创 简单扫码登录原理分析与本地测试

参考:https://www.cnblogs.com/johnlearning/p/16205875.html前言:简单分析扫码登录流程。场景:以网页版微信为例,我们在 PC 端点击二维码登录后,浏览器页面会弹出二维码图片,此时打开手机微信扫描二维码,PC 端随即显示 “正在扫码”,手机端点击确认登录后,PC 端就会显示 “登陆成功” 了。

2023-07-15 17:44:22 426

原创 Maven学习1_将项目打包jar然后上传到GitHub、Nexus Sonatype仓库、搭建Sonatype私服

主要学习记录Maven仓库相关知识,如何借助上传项目jar包到GitHub、Nexus Sonatype,,以及搭建自己的Nexus Sonatype私服,然后在Maven项目的pom文件引入使用,参考Maven官网文档:https://central.sonatype.org/publish/publish-maven/

2023-06-23 22:26:28 1772

原创 《HTTP权威指南 陈涓 赵振平》读书笔记

1、POST和PUT的区别POST:将客户端数据发送到一个服务器网关应用程序PUT:将来自客户端额数据存储到一个命名的的服务器资源中2、HTTP报文:格式是纯文本,不是二进制代码,可以很方便的调试和拓展。报文分为请求报文和响应报文,格式很类似,主要包含以下三个部分:起始行、首部字段、(空行)、主体。3、HTTP协议:应用程协议,网络通信的底层细节由TCP/IP传输协议实现,保证无差错、按序传输、流式数据(可以在任何时刻以任意尺寸将数据发送出去)

2023-05-19 17:01:24 932 1

原创 MathType MTEF v.5学习文档

MathType是一款公式工具,可以作为插件安装到office等软件,其将公式存储两部分wmf文件和二进制objectOle对象,其中公式存储是以MTEF语言内嵌在这两部分中,这是一款MathType私有的技术规范,学习MTEF相关知识为为后续公式工作打基础。MathType是一个由Design Science创建的软件应用程序,允许创建数学符号以纳入桌面和网络应用程序中。在2017年Design Science被Maths for More收购后,他们的WIRIS网络方程编辑软件被重新命名为MathT

2023-03-06 22:32:00 781

原创 ElasticSearch学习篇5_《Elasticsearch源码解读与优化实战》张超-读书笔记

1、初学者牵强理解,ES的数据表示形式与传统的关系型数据库类比,indices(相当于数据库)、types(相当于表)、fileds(相当于字段)、documents(相当于行数据),后续更新的版本可能会删除types的概念,直接一个indeices下对应documents2、倒排索引:采用Lucene倒排作为底层,这种结构适用于快速的全文搜索。实现原理:为了创建倒排索引,首先需要将文档拆分为独立的词条tokens,然后创建一个包含所有不重复的词条的**排序列表**,然后列出每个词条出现在哪个文档里面。

2023-02-16 21:24:32 1082

原创 《深入理解RPC框架原理与实现 华钟明》使用Netty、Zookeeper等实现一个简单的RPC框架、自定义注解、SPI机制实践与原理分析

深入理解RPC框架原理与实现 华钟明》读书笔记接下来就是实践练习环节,结合书中最简易的实现的RPC的源码和一些开源的源码,来自己一步一步手敲出一个自己升级版的RPC…通过实践,可以对Netty、Zookeeper等中间件、自定义注解、SPI机制、常见的序列化协议以及网络编程有一定的理解…一个RPC框架需要具备远程通信方式、通信协议、序列化方式等组件,需要动态代理实现本地存根等。

2022-09-16 10:39:34 1104

原创 常用日志解决方案实践与学习-基于AOP利用注解实现日志记录原理分析

自定义了四个注解@OperationLog :核心功能体现,将注解标注指定方法上面,然后指定一些模板,以及 SpringEL 从上下文、方法参数 等取值。

2022-09-14 18:32:28 898

原创 常用日志解决方案实践与学习

一个功能完善的日志系统是企业在日常产品、项目开发中是必须的,接触过bug fix的同学应该深有体会一份记录详细完善的日志能提升的小笼包,之前参与项目架构技术会的时候,谈论到了日志技术的选型及实现,鉴于对该方面还不太熟悉,决定需要花时间学习实践一下,拿着常见成熟的轮子跑一跑…学习分析下原理…一、利用中间件Canal来记录操作日志原理分析canal实践二、通过文件形式记录日志操作人如何记录操作日志如何与系统日志分开基于注解如何生成可读的日志方案基于AOP注解日志实现原理分析三、ELK日志解决

2022-09-08 11:52:19 1787

原创 SpringCloud Alibaba Gateway实践与原理分析

gateway实践与原理分析

2022-08-26 23:00:23 447

原创 《深入理解RPC框架原理与实现 华钟明》读书笔记

这本书更像是全面系统的讲解RPC,内容可以连贯起来,从计算机处理器发展到RPC的诞生,后面讲几种常见的RPC组件、通信协议、序列化协议,虽然内容不是很深入,但是对于小白较易理解,便于建立起框架知识,如从Socket到Java NIO 再到 Netty 、RPC等框架来讲解。挺不错的。算对得起100大洋。下面主要记录一下点,虽然偏理论,点到线到面才能形成自己的思维。主要讲RPC出现是为了解决什么问题,以及RPC的定义概念,概括一个RPC远程调用过程需要经历哪几个阶段?为什么调用本地接口就能实现调用远程的方法?

2022-07-14 16:44:55 1585

原创 Java并发编程学习篇8_基于开源的配置中心的轻量动态线程池dynamic-tp实践与源码原理分析

动态线程池实践与原理分析

2022-06-30 11:32:25 2926 3

原创 Nebula Graph学习篇3_多线程完成6000w+关系数据迁移

6000w+数据从mysql迁移到nebula

2022-06-24 16:21:16 980

原创 Nebula Graph学习篇2_版本v2.6.1之前的bug导致OOM

nebula graph 图数据库v2.6.1版本内存飙升OOM的bug

2022-06-18 17:58:13 1146

原创 大数据疫情可视化平台1_基于Hadoop3.2.1、Hive3.1.2、搭建疫情信息可视化系统

基于hadoop3.2.1、Hive3.1.2搭建的疫情数据可视化平台系统

2022-06-12 22:31:38 6629 18

原创 大数据疫情可视化平台3_虚拟机搭建Hive3.1.2环境(JDK11需要降为JDK8)

Hive3.1.2

2022-06-12 11:06:45 1322

原创 大数据疫情可视化平台2_虚拟机搭建Hadoop3.2.1环境(JDK11各种奇奇怪怪的错)

Hadoop3.2.1 JDK11环境搭建配置,报错解决

2022-06-11 22:27:54 1610 4

原创 Kubernetes学习篇2_资源管理、操作资源命令练习(Nginx集群外部访问)

一、资源管理介绍资源管理介绍资源管理方式命令式对象管理(只用命令)命令式对象配置(命令+yaml文件)声明式对象配置(apply命令+yaml文件)二、操作资源命令练习Namespace查看命名空间创建、删除命名空间(命令操作、配置操作)Pod创建pod并运行查看pod信息访问pod删除podLabel命令方式操作配置方式操作Deployment命令方式操作配置方式操作Service创建集群内部可以访问的Service创建集群外部可以访问的Service删

2022-05-15 18:03:25 679

原创 Kubernetes学习篇1_集群环境搭建测试

目录一、虚拟机环境准备一、虚拟机环境准备虚拟机需要开三台Linux 服务器,系统为CentOS 7.5以上,下面以配置master为例,配置完成克隆出node1、node2然后修改对应的网络ip、主机名即可。三台服务器主机名分别设置为master、node1、node2,# 此方式下安装kubernetes集群要求Centos版本要在7.5或之上[root@kubertenes-master ~]# cat /etc/redhat-releaseCentOS Linux release 7.5

2022-05-14 14:45:50 761 2

原创 报错8_引入Sl4j-log4j12报错 Class path contains multiple SLF4J bindings.

报错SpringBoot版本2.6.7,pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven

2022-05-11 20:40:13 1338

原创 Nebula Graph学习篇1_基础概念、初步使用、整合SpringBoot使用

目录一、基础概念二、初步使用一、基础概念1、图数据库概念Nebula Graph 是一款开源的、分布式的、易扩展的原生图数据库,能够承载包含数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。官网:https://nebula-graph.com.cn/segmentfault:https://segmentfault.com/t/nebula中文文档:https://docs.nebula-graph.com.cn/3.1.0/1.introduction/2.1.path/g

2022-05-09 22:19:20 4734 1

原创 Linux课堂篇3_Linux目录结构、快捷键、常用基础命令

目录此系列博客为大三下期末小学期课程大数据疫情分析平台项目学习学习笔记,内容参考中共教育讲义文件Linux目录结构Linux快捷键Linux命令命令分类快捷键基本命令常用命令用户管理命令文件权限命令磁盘大小查看命令搜索查找命令解压缩命令后台服务管理类命令上传下载类软件安装卸载命令crontab系统定时任务一、Linux目录结构以一般的Linux系统CentOS为例,系统目录有Linux每个目录都有自己约定俗成的用处,或者说Linux的不同文件分门别类地放

2022-05-07 16:59:15 1021

原创 SpringCloud Alibaba Nacos实践与原理分析

参考资料官网:https://nacos.io/zh-cn/docs/what-is-nacos.htmlGitHub:

2022-04-25 19:22:52 662

原创 《Spring源码深度解析 郝佳 第2版》SpringBoot体系分析、Starter的原理

往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决《Spring源码深度解析 郝佳 第2版》ApplicationContext《Spring源码深度解析 郝佳 第2版》AOP《Spring源码深度解析 郝佳 第2版》JDBC、MyBatis原理目录...

2022-04-14 11:32:37 835

原创 《Spring源码深度解析 郝佳 第2版》事务

往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决《Spring源码深度解析 郝佳 第2版》ApplicationContext《Spring源码深度解析 郝佳 第2版》AOP《Spring源码深度解析 郝佳 第2版》JDBC、MyBatis原理目录Spring声明式事务让我们从复杂的事务处理中得到解脱,使我们不在关注获取连接,

2022-04-02 22:04:55 1013

原创 《Spring源码深度解析 郝佳 第2版》JDBC、MyBatis原理

往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决《Spring源码深度解析 郝佳 第2版》ApplicationContext《Spring源码深度解析 郝佳 第2版》AOP目录JDBCupdate方法实现原理execute方法真正执行逻辑// 获取connection对象根据connection使用PreparedS

2022-03-31 13:05:21 2120

原创 《Spring源码深度解析 郝佳 第2版》AOP

往期博客《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决《Spring源码深度解析 郝佳 第2版》ApplicationContextAOP面向切面编程,不同于OOP,他可以为不具有继承关系的对象引入一个公共行为如日志,安全监测等。Spring早期的AOP定义切面很麻烦,Spring 2.0 之后已经可以使用@AspectJ定义一个切面,包含

2022-03-29 22:05:19 1387

原创 《Spring源码深度解析 郝佳 第2版》ApplicationContext

往期博客:《Spring源码深度解析 郝佳 第2版》容器的基本实现与XML文件的加载《Spring源码深度解析 郝佳 第2版》XML标签的解析《Spring源码深度解析 郝佳 第2版》bean的加载、循环依赖的解决往期博客分析了BeanFactory接口以及他的默认实现类XmlBeanFactoryBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("beanFactory.xml"));接下来分析另外一个高级拓

2022-03-27 17:27:23 1694

易语言5.6.zip

易语言是一门以中文作为程序代码编程语言,其以"易"著称,创始人为吴涛。易语言早期版本的名字为E语言。其最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践,方便中国人以中国人的思维编写程序,并不用再去学习西方思维。易语言的诞生极大的降低了编程的门槛和学习的难度。从2000年以来,易语言已经发展到一定的规模,功能上、用户数量上都十分可观。

2020-06-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除