- 博客(228)
- 资源 (4)
- 问答 (2)
- 收藏
- 关注
原创 ApiFox或postman怎么用params类型传输json或集合+json的String类型
你是否碰见过这样的接口?post请求然后传输的参数都要和查询时一样以param形式传参数,那String什么的都好说,传就直接进后台了,那json呢,集合呢,是不是直接给你返400呢.
2024-07-10 22:00:00
844
原创 Java 如何使用aws的kinesis实现消费端,消费流中数据
AWS 官网给了两种方式实现:java 1.xjava 2.x这两种方式,包是不一样的,1.x是com.amazonaws,2是software.amazon.kinesis使用也是天差地别,而且国内对kinesis这个资料简直少的可怜,这也就增加了开发难度,我说一下kinesis是啥吧,其实和咱们队列很像,服务端的数据,需要客户端监听消费,拿到数据解析之后怎么处理就是自己的事情啦,我主要的业务就是实现流中的数据,流中的数据都是url等相关信息,主要是点击链接就消费,所以可以实现点击量的处理等等.
2024-05-23 21:30:00
782
2
原创 SpringBoot项目如何国际化操作,让你可以随意切换语言
最近接触的项目需要中文/英文或者其他国家语言的切换,在后台的时候有一个选择,你可以选择中文还是英文,或者其他语言,选择完毕界面语言就都变了,咱不知道前端怎么操作的,但是后台在处理提示语的时候也要对应改变为不同的语言,这怎么办呢?别担心,Spring和java都有相关国际化的操作,只要按照相应的规则去使用就可以了。首先我们要定义双语环境,如果有多个语言就建立多个语言的配置文件,如下图片我定义了两个语言配置文件,一个是英语国家美国的,一个是中华国家是中国的配置文件。
2024-04-09 16:30:30
2000
原创 什么是组合设计模式?组合模式实战代码
组合模式是结构型设计模式,它主要是如何将类和对象组装成较大的结构,并且同时保持结构的灵活和高效,这就是结构型设计模式的特点。说回组合模式,看名字,它的组合,就代表它想要某类与某类,某对象与某对象之间组合,达到某目的,然后对外部调用来说,我不管你组合的内部是什么,有多少个内部,都与我无关,我只管组合,我依赖组合,这样内部多少种变化对于外界来说是无感知的,这样也就形成了解耦。
2024-04-03 13:42:15
629
原创 什么是泛化调用?怎么实现Dubbo的泛化调用?代码怎么写?如果有疑问,请进!!
它主要应对一种场景的,我要调用某些服务的某些接口,但是我并不知道有哪些系统,所以也就没有办法通过Jar包方式依赖,这种解决方案呢,除了HTTP呢,也可以RPC,但是前提呢就需要被调用的某些服务通过某种方式主动注册到注册中心,也就是服务提供者,而这边呢从注册中心拿到注册的信息以及接口信息(相当于消费端),拿到以后可以使用Dubbo泛化调用方式(也可以用其他方式)来调用服务端的接口。
2024-03-11 11:26:36
1296
1
原创 讲享元设计模式,顺便~学会了数据库连接池,
今天呢,我们来说下享元模式,享元模式是结构型模式,我的感觉,结构型模式都是相对比较简单的设计模式,这个也是,之前手写Mybatis时有学习了解数据库连接池的设计,非常精彩,其中就运用了咱们这节说的设计模式,享元模式。享元模式: 对一些共享对象进行复用的思想,这样减少内存使用提高资源性能,像我们使用redis进行缓存处理的,线程池,数据源连接池都是享元模式,享元模式其实是一个思想,一般会和工厂模式或其他经常使用的设计模式搭配使用。
2024-03-06 19:51:11
1008
原创 装饰器模式,感受MyBatis二级缓存的魅力
这就是装饰器模式的设计理念,顾名思义,装饰器,就是装饰不同的类的功能,原有的功能还要继续使用并不影响,在原有的功能之上,去增强一些功能。听起来很像代理模式哈,但是代理模式使用更复杂的场景,比如,我们对于日志的处理使用AOP的情况较多,一般对于这里的处理是很多的接口都会使用到它,场景不固定,而装饰器主要是继承处理,单独创建类来处理某一特定场景,场景固定,并且适合已经写好了接口功能,需要新功能进行装饰处理这样的场景。
2024-02-03 13:49:06
717
原创 手敲Mybatis(17章)-二级缓存功能,感受装饰器的魅力
本节主要是讲Mybatis的二级缓存,一级缓存是会话SqlSession级别的,二级缓存是Mapper级别的这个大家都知道,一级缓存主要是同一个SqlSession实例才可以缓存,那么出现commit等其他情况可能清除缓存,我想要再发起的会话还是相同的查询操作,最好也是可以把数据从缓存中获取出来。这个时候该如何实现呢?这时候引出来二级缓存,以一个 Mapper 为生命周期,在这个 Mapper 内的同一个操作,无论发起几次会话都可以使用缓存来处理数据。
2024-01-29 10:16:03
995
原创 手敲Mybatis(16章)-一级缓存功能实现
然后我们就需要解析下缓存设置,拿到缓存级别,执行Sql语句前,将按Mybatis的规定处理缓存key(id,参数,Sql语句,环境等等,生成对应hash值),然后判断缓存中是否有当前key的结果数据,有的化结果数据直接返回,没有的话就去执行数据库查询,然后将查询的结果存储到一级缓存Map中,然后判断缓存级别是否是STATEMENT,是的话代表不进行缓存操作,那此时删除,下次进来还是继续查询库,不是的话就不删除,留着继续执行同一SqlSession会话使用。
2024-01-11 18:25:48
1128
原创 教你用SadTalker一键整合包轻松制作专属数字人
首先我们准备图片,可以真人,动漫都可以,最好是正面头像,(测试后最好是咧嘴微笑的照片口型更自然,紧闭双唇嘴部运动效果不明显,)有些图片效果不好,可以多换些图片,有的效果很好,然后图片可以是SD生成图片,也可以你本人照片,或者网图。先说下我的显卡,大家参考下,我的显卡是6G,10秒内的音频转换数字人需要一分钟左右,我的显卡就不能选择高清了,选择高清就卡的不行。语音准备,我是在在线的文本转语音工具,这个工具还蛮不错的,不用登录什么的,可以直接使用,界面如下,full:保留全身,全身照生成视频。
2024-01-10 16:18:21
4465
4
原创 第15章:Mybaties的Plugin插件功能实现
本章节的目标就是用户在xml配置了类,我们需要实现在某处拦截执行用户配置的实现类,而这部分功能就是mybaties的插件扩展。插件主要的设计理念就是依赖倒置,插件功能依赖于接口,而不是具体的实现,不依赖具体实现,在这个过程中对抽象进行编程,不对实现进行编程,这样就降低了客户与实现模块间的耦合。
2024-01-08 17:49:20
985
原创 手敲MyBatis(十四章)-解析含标签的动态SQL语句
这一章主要的就是要解析动态标签里的Sql语句,然后进行条件语句的拼接,动态标签实现了trim和if标签,所以Sql节点就要加上TrimSqlNode和ifSqlNode,我们最终要获取Sql源,动态Sql语句需要一些处理,所以需要添加DynamicSqlSource来处理动态Sql语句的调用和一些业务逻辑处理。本章节主要就是要处理如下图片的解析Sql内容,把如下图片的Sql内容更改为能够可执行的Sql语句,这个是目标。
2024-01-03 15:53:50
1035
原创 AI绘画创作,训练Lora模型绘制你心中的童年爱豆漫画
准备训练用的Stable Diffusion的底层模型,尽量选祖宗级别的模型: 例如用SD 1.5、SD 2.1、NovelAI 原版泄露模型训练出来的 LoRA 会更通用,也可以用anything这种融合的模型,可能在此模型使用上比较好,切换到其他大模型就失去了通用性,具体选择看个人,我这里有anything-v5-PrtRE.safetensors模型,就用这个训练试试。
2024-01-02 14:12:19
1903
原创 SD 的Lora真好玩,小小体积,大大变化
Lora模型文件比较小,主要是调整图片的风格的,它需要在基础模型里去展现,比如SD 1.5,不同的基础模型实现出来的话都是不同的风格。我们看一下比较好玩的盲盒模型,感觉巨可爱。
2023-12-29 16:56:01
1080
原创 手敲MyBatis(十三章)-返回Insert操作自增索引值
这一章的目的主要是插入语句以后返回插入记录的id,因为插入语句可分为要返回记录id,不要返回记录id的以及不同数据源类型执行的时机也不同(如:oracle不支持主键,需要先插入序列再增加,Mysql支持主键增加一条记录就会有索引)。如下图,insert里包含selectKey,由selectKey去执行查询此次新增的id记录,我们看到selectKey标签上的属性有keyProperty、order、resultType。
2023-12-22 17:12:54
1195
原创 Springboot Minio最新版大文件下载
那么今天的主题就是大文件下载,再大文件就需要分段下载,也就需要前端给下载的范围,就是下面的range的参数,我们为了好测试将此字段放入了参数了,实际你可以放入header头部。上节我们说了Minio怎么大文件上传,我们是进行了分段上传,然后合并处理,感兴趣的可以去这篇文章,我们可以传range参数来处理要下载的kb数范围,当然也可以不传递就是下载全部,DownloadProcessImpl:下载实现类,1.首先就是获取桶里文件信息,文件大小什么的都能获取。都下载到了前端本地以后由客户端进行合并操作就好了。
2023-12-15 14:45:18
1606
2
原创 Springboot Minio最新版大文件上传
本章节主要讲Minio的文件上传以及大文件上传的功能,小文件上传比较简单,大文件上传需要前端计算整个文件的md5,然后协商下一个分片多少兆,之后就按那个去分,分完调用上传接口,上传以后合并分片文件就好了,稍微复杂了一丢丢,但是呢我会用大白话讲出来让您觉得简单的。TResourceService:资源服务接口,主要处理文件资源落库处理,包括插入文件、检查文件是否存在库表、文件上传完毕则更新数据库为已上传。IFileUploadProcess:关于文件上传的流程接口,包括文件上传方法定义、文件初始化方法定义。
2023-12-11 14:23:32
1775
原创 DDSP-SVC-3.0完全指南:一步步教你用AI声音开启音乐之旅
本教程教你怎么使用工具训练数据集推理出你想要转换的声音音频,并且教你处理剪辑伴奏和训练后的音频合并一起,快来试试看把!要想训练ai声音,首先需要有各种工具,还需要我们提供你需要训练的声音,当然声音需要没有噪音存干声,如果要是歌曲就需要分离歌曲的背景和声音,然后将音频文件切分,切分的目的是为了保证训练不卡,否则音频文件太大
2023-12-06 18:23:32
6012
10
原创 Stable Diffusion进阶玩法说明
之前章节介绍了Stable Diffusion的入门,介绍了文生图的魅力,可以生成很多漂亮的照片,非常棒那我们今天就进一步讲讲这个Stable Diffusion还能做些什么,
2023-11-17 18:28:10
3794
1
原创 Azure的AI使用-(语言检测、图像分析、图像文本识别)
例如,在英语中,当你选择性别中立的描述文字时,“女性”或“男性”等术语将替换为“人员”,而“男孩”或“女孩”则将替换为“儿童”。它就是给一个图片,它会分析出图片大概有什么,以及占的比例,就像是百度的识别万物一样,识别出的物品是什么以及占比。运行结果:太感动了哈,它竟然识别出来了,甚至perfect的.都识别出来了 ,很有意思。就只需要把上面的这个url图片的代码改成下面的图片路径代码就可以直接在本地使用了。用我自己手写的文字来试下,有标点符号,甚至还特别写了一个看不清的哎呀,让它识别一下。
2023-11-15 16:42:52
912
原创 Stable Diffusion新手村-我们一起完成AI绘画
咱们用anything-v5-PrtRE 这个模型,这个模型是下载下来就有的,这个模型可生成多种类型的图像,包括肖像、风景、动物、卡通、科幻等。它具有较强的适应性和泛用性,效果表现出较强的真实感和细节还原能力。迭代太少画面会出现问题或者不是一个完整的画面,迭代太多输出又太慢,并且迭代太多的话只会是细节处优化,所以对我们一般使用是够了。
2023-11-14 18:27:30
1213
原创 python-jupyter实现OpenAi语音对话聊天
我们需要和ai对话,我们输入文本交给ai返回对应的回答这个功能在predict函数里,然后界面的对话框里我们输入文字回车就会调用我们的predict函数,我们会对返回数据进行封装处理,封装成,成对的对话信息元组列表(数据格式后面会详细的说明,所有看不懂的地方都放心的往后看),并返回到界面上。process_audio函数:接收录音机录音的回馈,然后调用transcribe转换文本,然后将文本给到predict函数,这样就给我们对应的对话结果,放入对应的元组数组里返回给界面。
2023-11-09 18:36:12
5248
5
原创 MyBaties存储和查询json格式的数据(实体存储查询版本)
最近在做的功能,由于别的数据库有值,需要这边的不同入口的进来查询,所以需要同步过来,如果再继续一个一个生成列对应处理感觉不方便,如果没有别的操作,只是存储和查询,那就可以用MySql支持的json格式存储了。MySql的json是5.7之后才可以处理的,所以版本一定要是这个或者比这个高呦!首先第一步我们需要定义个处理json类型类,可以叫BaseAttributeTypeHandler,来继承BaseTypeHandler这个ibatis的类,一定要定义类型,后期传参用,
2023-10-27 17:21:53
856
原创 AI大模型使用(七)-模型微调与流式生成
今天我们可以用自己的数据训练出一个模型,这样就可以回答相关内容的问题,我们可以用OpenAI提供的模型微调功能。为什么要微调呢,就是在某些领域里一些数据比较丰富,会比基础模型的某些数据更丰富,所以就可以利用这些数据来“微调”一个特别擅长这个垂直领域的模型,这个模型微调完,我们就可以直接提问了。模型微调的过程,就是根据输入的内容,在原来的基础模型上训练。所以我们需要提供一个基础模型,在它的基础上进行微调,可以是Ada、Babbage、Curie 和 Davinci等等等。。
2023-10-07 17:25:30
580
原创 让AI做决策,学会langChain的Agent
今天内容涉及如下:1.initialize_agent,:执行gent工作,并把工具Tool传入2.Tool:选取行为函数工具类之前我们学习的都是把问题给AI,让AI模型给出答案,那么这种情况下应该怎么处理呢,我需要根据不同的问题选择不同的答案,比如我问AI我想选择一件衣服就去调用挑选衣服的方法,如果是查询订单,那么就专门去调用搜索订单的方法,如果是查询物流就专门去调用物流方面的方法,但是怎么识别出来哪个调用哪个呢?我们下面代码先模拟出怎么让AI根据我们的话语做选择,再问他都不符合的问题,
2023-09-27 16:45:16
2585
5
原创 Langchain里的“记忆力”,让AI只记住有用的事
今天要讲以下内容:1.ConversationBufferWindowMemory:基于一个固定长度的滑动窗口的“记忆”功能2.ConversationSummaryMemory:总结对话“记忆”功能3.ConversationSummaryBufferMemory:上面两个的结合,超过一定token限制之前以对话形式进行存储,超过之后进行小结存储。4.memory.save_context:有上下文对话,可以通过此插入对话内容,可供后续对话内容。
2023-09-27 15:18:19
1745
原创 AI大模型的使用-深入使用LLMChain,给AI连上Google和计算器
今天涉及的内容如下,下面都会使用例子一一讲解使用,1.1 utilities:langchain的python解析器1.2 LLMMathChain:可以处理计算的链,内部用python解释器处理1.3 LLMRequestsChain:通过一个 HTTP 请求来得到问题的答案1.4 TransformChain:可以定义代码用来统一数据格式转换1.5 VectorDBQA:qa方式向量数据库问答我们用OpenAI来实现简单数字计算,然后对比python的数字计算。
2023-09-04 10:17:57
766
原创 AI大模型的使用-用LangChain链式调用简化多步提示语
众所周知,openAI的prompt对英文比较友好,也就是英文提示它的结果会更准确,假如我们不会英文,我们把中文问题给到OpenAI,然后让它翻译成英文,并把翻译后的英文给到OpenAI,让它帮忙给出解答问题,解答完的内容还是英文,继续调用OpenAI让它把英文翻译成中文结果(这个就是最终要的结果),代码如下1.我们把不同的prompt用PromptTemplate这个模版来定义,所以下面定义三个,
2023-08-30 15:50:58
968
原创 AI大模型的使用-语义检索,利用Embedding优化你的搜索功能
Embedding 向量适合作为一个中间结果,用于传统的机器学习场景,比如分类、聚类。Completion 接口,一方面可以直接拿来作为一个聊天机器人,另一方面,你只要善用提示词,就能完成合理的文案撰写、文本摘要、机器翻译等一系列的工作。我们之前都是网上查找数据集或者openAI提供的数据集进行处理,这里我们可以利用AI给我们生成数据,我们根据它生成的数据进行搜索,推荐等处理。接下来让AI帮我们搜索给我们今天要测试的数据集。
2023-08-29 16:47:07
1366
1
原创 读写分离有哪些坑?
之前说的一主多从结构其实就是主从分离的基本结构!读写分离主要分摊主库的压力,如上图结构是客户端主动做负载均衡,这种模式下一般会把数据库的连接信息放在客户端的连接层。也就是说由客户端来选择后端数据库进行查询。这种架构是,在MySQL和客户端之间有一个中间代理层proxy,客户端只连接 proxy,由proxy根据请求类型和上下文决定请求的分发路由。
2023-08-29 09:04:37
120
原创 AI大模型的使用-让AI帮你写单元测试
2.定义prompt跟Ai说明需求,这里需求是“让它写单元测试,并用Python 3.10和pytest高级特性写代码出合适的单元测试代码验证有效性,写代码之前,先去了解作者的意图”将需求promot和代码传给 AI即可,接下来根据上面的反馈以及进一步的需求,让它帮忙写出一个简单的但是包含多种情况的单元测试例子,我们提出测试单元的需求,看看它能否给出可靠的全面的测试要求,代码如下,下面我们就给出代码让它解释出我们的代码是干嘛的,看解释的是否准确,代码比较简单,结果:可以拿过去直接执行。
2023-08-28 13:46:48
4528
原创 深度学习基础知识(三)-线性代数的实现
如果input 是一个n×m张量,mat2 是一个 m×p张量,将会输出一个 n×p张量out。矩阵向量乘法:只支持矩阵向量乘法,如果input为 n × m n\times m n×m的,vec向量的长度为m,那么输出为 n × 1的向量。就像向量是标量的推广,矩阵是向量的推广一样,我们可以构建具有更多轴的数据结构。对称矩阵:它的转置等于自己,你可以注意数据里数值,就可以明白为什么是对称的了。点积:只能支持两个一维向量,是相同位置的按元素乘积的和。f范数矩阵:是矩阵元素的平方和的平方根。
2023-08-25 14:45:27
403
原创 主库出问题了,从库怎么办?
今天这篇文章,我们就先聊聊一主多从的切换正确性。如下图所示:是一个基本的一主多从结构虚线箭头表示的是主备关系,也就是A和A'互为主备,从库B,C,D指向主库A\。一主多从的设置,一般用于读写分离,主库负责所有的写入和一部分度,其他的读请求则由从库分担。我们接下来就要讨论在一主多从架构下,主库故障后主备切换问题。如图下所示,主库发生故障,主备切换后的结果一主多从切换完成后,A'会成为新的主库,从库B,C,D也要改接到A'。正是由于多了从库B,C,D重新指向的这个过程,所以主备切换的复杂性也增加了。
2023-08-24 16:49:05
168
原创 深度学习基础知识-pytorch数据基本操作
机器学习和神经网络的主要数据结构,例如0维:叫标量,代表一个类别,如1.01维:代表一个特征向量。如 [1.0,2,7,3.4]2维:就是矩阵,一个样本-特征矩阵,如: [[1.0,2,7,3.4 ][2.0,3,7,4.4 ] ],每一行是样本,每一列是特征;3维:RGB图片(宽(列)x高(行)x通道) 三维数组,[[[ 1.0,2,7,3.4 ]4维:N个三维数组放在一起,如一个RGB图片的批量(批量大小x宽x高x通道)5维:一个视频的批量(批量大小x时间x宽x高x通道)
2023-08-22 15:20:11
516
原创 AI大模型-如何利用开源模型节约成本?
这里加载模型的时候,我们还设置了一个 trust_remote_code = true 的参数,这是因为 ChatGLM 的模型不是一个 Huggingface 官方发布的模型,而是由用户贡献的,所以需要你显式确认你信任这个模型的代码,它不会造成恶意的破坏。整套朝花夕拾的的散文集,对应的模型和索引加载的代码基本一致,只有一个小小的区别,就是在文本分割的时候,我们用了上一讲介绍过的 SpacyTextSplitter,因为这里都是散文的内容,而不是确定好格式的 QA 对。
2023-08-21 16:12:46
624
原创 MySQL是怎么保证高可用的?
最终一致性:在一个主备关系中,每个备库接收主库的binlog并执行,正常情况下,只要主库执行更新生成的所有binlog,都可以传到备库并被正确地执行,备库就能 达到跟主库一致的状态,这就是最终一致性。而MySQL提供高可用只有最终一致性是不够的,咱们来看一下示例,双M结构的主备切换流程图。
2023-08-19 10:01:56
451
原创 与它更近一步,MySql怎么这么多的锁?
在有索引等值查询时我们有记录锁,行锁,当有范围查询或者防止幻读我们使用了间隙锁,所以看一下锁的规则:我的版本是MySql5.7版本间隙锁在可重复读隔离级别下有效,所以本篇无特殊说明,则是在可重复读隔离级别。林晓斌大神总结出来的加锁规则,大家快记下来,就能应对很多加锁的场景了,这个1.原则1:加锁的基本单位是next-key lock(默认加next-key lock锁),next-key是前开后闭区间。2.原则2:查找过程中访问到的对象才加锁。
2023-08-03 09:56:49
103
原创 Sql优化-为什么SQL语句逻辑相同,性能却差异巨大?
根据极客时间学习的资料思考整理,有三个案例,我们根据案例了解一下为什么性能好或不好,希望下次我们再写SQL的时候能够注意,能够写出一个比较完美的SQL!
2023-07-27 14:45:56
341
原创 Mysql调优-随机消息使用临时表的优化
假如我们有一个单词表,用户每次访问首页时,都会随机滚动显示三个单词,发现随着单词表变大,选单词这个逻辑变得越来越慢,甚至影响到了首页得打开速度。那么使用了什么sql语句呢,为什么越来越慢呢?
2023-07-24 16:35:42
130
原创 大数据第一步-Mac安装Hadoop3
前提是把jJDK8安装好,hadoop3.x最低需要jdk8。然后打开共享把远程登陆打开,不打开说是后面会报错,到终端输入命令:ssh localhost生成新的keygen否则后面会报错 Permission denied 命令:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa。
2023-07-17 17:44:17
2258
MySql知识学习.docx
2019-12-13
我想请问一下这个 1 << 4的左位移是如何计算得16的
2020-05-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人