- 博客(152)
- 收藏
- 关注
原创 讯飞AI相关sdk集成springboot
调用createVoice方法,传入想要合成的语音的内容,就会返回相应文件的oss的访问url。所以这个sleep是有必要的,我这里有点久,可以适当短一点,能写出完成就行。demo上的功能比较简陋,网络上搜到的比较残缺,很多功能缺失,我这里自己收集资料和运用编程知识做了整理,得到了自己想要的一些功能,比如持久化处理、对话历史记录持久化,自定义提示词传入等等。之后主要调用的就是这个PushService的pushMessageToXFServer方法,只需要传入用户输入信息和提示词,就可以获得ai输出信息。
2025-05-24 21:10:01
742
原创 简单的AI应用小技巧
这种方式主要用于根据一些可以进行总结的数据,比如:成绩、用户反馈、体检表等数据。这些数据可以做一些总结,比如成绩可以总结出偏科情况、进步情况、提升建议,用户反馈可以总结出重点反馈点、针对反馈的改进建议,体检表可以总结出身体情况、身体建议,等等。这些工作可以通过人为总结,但是使用ai大模型可以简便地总结。
2025-03-20 21:03:12
832
原创 ElasticSearch的学习
ElasticSearch:核心搜索和分析引擎,提供存储、索引和分布式搜索功能Logstach:数据处理管道,负责数据收集、处理和传输Beats:边缘数据采集器,负责从各种来源采集数据并发送到Logstash或者ElasticSearchKibana:可视化和管理工具,提供数据展示和交互式查询character filter:在tokenizer之前对文本进行处理。例如删除字符、替换字符。tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;
2024-11-30 15:07:09
1375
原创 Uniapp的学习
uniapp的内容和vue网页开发会有很多区别,但是都是基于vue开发的,大多数业务还是在vue打交道,但是这些uniapp的特殊的知识点也是要掌握好的。
2024-11-04 15:32:21
1624
原创 Vue3学习(三)Pinia、组件通信
父组件也可以定义自定义事件让子组件接收,让子组件去触发这个自定义事件,完成数据的传递。<template><h3>父组件</h3><h4 v-show="toy">子给的玩具:{{ toy }}</h4>-- 给子组件Child绑定事件 --></div>// 数据// 用于保存传递过来的玩具</script><template><h3>子组件</h3><h4>玩具:{{ toy }}</h4>
2024-10-16 11:02:41
1444
原创 Vue3的学习(二)路由
简单路由案例:配置路由规则,createWebHistory是指定路由的工作模式,routes中的每个元素都是一个配置好的路由,其中path是路由的路径,component是该路由对应的组件挂载app组件之前,要让其配置上路由,使用.use(router)app.vue:其中RouterLink标签是用于定位路由的,to就是指定按下该dom后路径会跳向哪个,active-class是指定当为当前路由时,该dom会应用上该class,可以用于指定路由激活时的样式。
2024-10-11 16:35:23
1013
原创 SpringCloud的学习(四)Micrometer、GateWay
步骤:新建类名xxx需要以RoutePredicateFactory结尾,并继承AbstractRoutePredicateFactory类。@Component //此注解不可忘重写apply方法@Override新建apply所需要的静态内部类MyRoutePredicateFactory.Config,这个类就是我们路由断言规则。(重要)@Validated@Setter@Getter@NotEmpty//钻、金、银等用户等级空参构造方法,内部调用super。
2024-10-10 16:23:05
1818
原创 Vue3学习(一)
ref创建的变量必须要用.value的方式去获取和修改数据reactive重新分配一个新对象,会失去响应式,要想不失去响应式,可以使用Object.assign(变量名,新对象) 的方式,给目标变量一个新的对象值。若需要一个基本类型的响应式数据,必须使用ref,若需要一个响应式对象,层级不深,ref和reactive都可以,若需要一个响应式对象,且层级较深,推荐使用reactive。
2024-10-08 10:22:24
947
原创 Vue学习(五)生命周期、组件
生命周期,又名生命周期回调函数、生命周期函数、生命周期钩子。生命周期是Vue在关键时刻帮我们调用的一些特殊名称的函数。生命周期函数的名字不可更改,但是函数的具体内容是程序员根据需求写的。生命周期中的this指向的是vm或者组件实例对象Vue生命周期图示:详细图示2:例:mounted生命钩子的使用,使得相应的文字的透明度呈现闪烁效果。
2024-09-22 15:42:16
1152
原创 SpringCloud的学习(三),Resilience4j
断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长时间、不必要地占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩。CircuitBreaker的目的是保护分布式系统免受故障和异常,提高系统的可用性和健壮性。
2024-09-21 17:17:36
1743
原创 SpringCloud的学习(二),Consul服务注册与发现、分布式配置,以及 服务调用和负载均衡
Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。它具有很多优点。包括: 基于 raft 协议,比较简洁;支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN 集群 提供图形界面 跨平台,支持 Linux、Mac、Windows。
2024-09-15 18:08:47
1504
原创 SpringCloud学习 (一)前置知识学习
code状态值:由后端统一定义各种返回结果的状态码message描述:本次接口调用的结果描述data数据:本次返回的数据拓展:有时候会加第四个,timestamp:接口调用返回时间@Data/** 结果状态 ,具体状态码参见枚举类ReturnCodeEnum.java*/
2024-09-04 11:02:34
1594
1
原创 Vue学习(四)过滤器、自定义指令
在directives属性中,使用对象的形式表示自定义指令的创建,该对象的属性名为自定义指令的指令名。对象中有三个常用方法:……
2024-09-03 21:55:29
1133
2
原创 金蝶云苍穹-插件开发(五)携带数据到打开页面、调度任务插件
这个是一个很简单的知识点,是关于跳转页面的API:FormShowParameter 的使用。这篇文章的知识点很少,主要考虑到有的读者可能不熟悉这种方法的用法,其实这种方法非常有用,能用在很多情况。所以让我边大概演示一个案例边讲解知识点。我的案例是点击报表上的操作项,展示书籍信息以及展示本书相关评论区。关于获取报表上的当前行的id的方法的详解,见插件开发(三)。展示效果如图,方便你们参考字段,做的有点丑,见谅见谅。
2024-08-12 03:47:55
1594
2
原创 Vue学习(三)条件渲染、列表渲染
写法:v-if=”表达式”(v-else-if=”表达式”、v-else)适用于:切换频率较低的场景。特点:不展示的DOM元素直接被移除。注意:v-if和v-else-if和v-else一起使用时,结构要紧挨在一起。v-if还可以和template标签一起使用,包含在template标签里面的内容会一起受到template标签的v-if的作用,且不会修改dom的结构。
2024-08-04 16:10:43
643
原创 Redis(三)事务、管道、主从复制
事务是可以执行一个命令,也可以执行多个命令,事务本质上是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化地执行而不会被其他命令插入。
2024-07-28 12:06:18
1000
原创 Vue学习(二)计算属性、监视属性、样式绑定
定义:如果一个要用的数据,而是由已有的属性(data中的属性)计算得来,那么可以将其作为计算属性原理:底层借助了Object.defineproperty方法提供的getter和setter。计算属性都放在vue实例中的computed属性中,computed也是以对象的形式,其中的属性就是一个个计算属性。每个计算属性中又以对象的形式,在其中定义了getter和setter,getter是用于决定计算属性的值,setter用于定义计算属性被修改时变化的规则。
2024-07-28 11:59:41
1180
原创 Vue学习(一)初识Vue、事件
本人是后端开发的,想着多学些前端丰富自己的技术,感觉总能用的上,而且我觉得前端好玩,有着挺大的兴趣,就准备出这个专栏。本人没系统学过前端,只是大致学了一下三件套,然后来学vue,好多地方写的不好,请见谅。
2024-07-20 20:23:29
812
原创 Redis7(二)Redis持久化双雄
RDB的持久化方式是在指定时间间隔,执行数据集的时间点快照。也就是在指定的时间间隔将内存中的数据集快照写入磁盘,也就是Snapshot内存快照,它恢复时再将硬盘快照文件直接读回到内存里面。RDB保存的是dump.rdb文件。
2024-07-20 20:14:12
1003
原创 金蝶云苍穹-插件开发(四)GPT开发相关插件
GPT自定义操作的代码的类要实现 IGPTAction 这个接口,这个接口下只有一个要实现的方法,invokeAction方法,GPT自定义操作的业务功能便是在这个方法内写。@Override先对invokeAction的参数列表进行讲解:第一个String类型的参数action指的是自定义操作的操作名称,第二个参数params指的是这个GPT操作的输入参数,要获取输入参数只要params.get("输入参数名")就可以获取到对应的参数值。
2024-07-10 15:08:28
1690
4
原创 金蝶云苍穹-插件开发(三)关于基础资料/单据实体的id
每个基础资料和单据的实体,都有一个id字段,这个id是其一个唯一性标识,就类似于这个实体的身份证号一样。通常,这个id用来找到指定的实体。这个id在代码中都是long类型接收的。如果基础资料/单据里面有字段的类型是基础资料类型,在我们给它赋值的时候,这个字段要接收的值就是指定的实体的id值,这个id值的获取有时候显得很重要。
2024-07-08 20:25:53
998
原创 金蝶云苍穹-插件开发(二)新建、更新、删除数据
关于加载数据,还要多补充一个点,如果要加载一个基础资料/单据界面中正在操作的界面,比如要获取刚填写好的字段值,就要获取当前界面的模型层,再获取具体数据。this就是指的当前页面的实体,getModel就是获取当前页面实体的模型层数据。
2024-07-07 18:03:50
1189
原创 金蝶云苍穹-插件开发(一)加载数据
此系列博客是进行金蝶云苍穹开发时的插件开发的教程,一是在明年要是还要参加软件杯金蝶A6赛题的话,可以看此系列教程的博客来进行复习,同时如果要是我实验室的学弟学妹要参加的话,我这个系列的博客可以给他们提供学习参考,因为插件开发学习的路上很艰难,我学习的时候,能参照的讲解少,要花费大量工夫去猜测去调试才能学会那些语法。在插件开发上,希望我这个系列的博客能帮助到别人。这个系列的博客只专门讲解插件开发,基本的那些金蝶云苍穹的知识点在这里不多作讲解。
2024-07-06 16:57:36
2481
2
原创 设计模式,建造者模式、外观模式
外观模式也是将耦合降低,并让主要业务不用关注过多的细节。平时的三层架构中使用的也是外观模式,这个模式会在我们不经意间使用,可见其方便性。建造者模式是关于一些创建的动作,将其放在向导角色中执行,主要业务就不用关注创建的动作。建造者模式分为抽象建造角色、具体建造角色和向导角色,抽象建造角色负责规范建造角色的创建动作,具体建造角色负责具体的创建的动作,向导角色负责调用创建角色的创建动作。建造者模式其实也是使用了外观模式的思想,它们的共同目的都是实现高内聚低耦合,实现业务的便捷和灵活性。
2024-04-30 21:23:29
325
1
原创 Redis的学习
Redis是一个基于的key-value结构数据库。(运行redis-server建议带上配置文件作为参数(可以使用配置好的后台运行),运行redis-cli的时候可以带上参数 -h ip地址 -p 端口 -a 密码)
2024-04-21 17:43:46
1032
原创 Linux操作系统的学习
如果出现乱码,输入指令:echo 'LANG="en_US.UTF-8"' >> /etc/profile 改其字符集编码后,再输入指令:source /etc/profile 刷新以下加载即可。由于我们使用ls命令时经常要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll。为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限。语法:tar [-zcxvf] fileName [files]作用:为文件或目录改名、或将文件或目录移动到其他位置。
2024-04-11 22:00:53
828
原创 设计模式,模板方法模式、原型模式
模板方法模式,就是将一些具体层都会有重复的内容,都放在抽象层作为具体层的模板,让具体层的代码能更简洁,也更好地实现代码复用。
2024-04-10 20:00:26
657
原创 Git的学习,从入门到入土
分支是Git使用过程中非常重要的概念。使用分支意味着可以把工作从开发主线上分离开来,避免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init命令创建本地仓库的时候会默认创建一个master分支。
2024-04-06 23:44:16
1033
1
原创 设计模式,工厂方法模式
以上代码可以看出,这个模式的好处就是当要加一些新的产品时,不用去改动原先的工厂,而是直接创建一个新的工厂,更符合开闭原则。可以看出,当一类产品只有一个工厂类时,就是简单工厂模式。当一类产品有多个工厂类时,就是工厂方法模式。但是这种模式还是有缺点,当增加了新的产品后,还是要对总工厂类中的代码进行一定修改,还是没有很好地符合开闭原则。当然后面还有更好的能解决此问题的模式,拭目以待吧。
2024-04-06 23:38:19
792
原创 设计模式,代理模式
代理模式就是一个对象让另一个对象为它打工。代理模式分为动态代理和静态代理,精妙的地方主要在动态代理,想了解的可以看我主页博客SSM框架,spring-aop的学习,在AOP中就可以实现将重复冗余的代码让代理对象来执行,以实现简化代码。这里代理模式东西不多,更多知识点在AOP的学习中已经写过了,就不重复写了,见以上链接。
2024-03-31 17:15:18
588
原创 设计模式,装饰模式
装饰模式的原理就是利用继承性,给每一个具体功能装饰类的对象赋予装饰的能力,并能利用super调用被装饰对象的功能,再加上新的功能。用衣服来说明装饰模式就是。定义一件衣服,它能直接套在人身上,也能继续套在其他衣服上。假如一号衣服能保暖,二号衣服能防弹,三号衣服能防水。那么一号衣服装饰人,二号衣服装饰一号衣服,三号衣服装饰二号衣服。那么,这个人就能既保了暖,又能防弹,又防水。装饰模式巧妙的利用了继承性,使得功能能根据需求动态添加。
2024-03-27 20:11:00
915
原创 设计模式,策略模式
策略模式能更好地管理和使用一类算法,在做算法增删改时,无需改动业务代码,只要对底层进行修改。使得代码的耦合度低,封装性强。策略模式结合简单工厂模式,让context起到工厂的作用,能让业务代码更为简洁,也更易于理解和使用。比起普通的策略模式,耦合度更低,封装性更强。
2024-03-24 17:19:56
648
原创 设计模式,简单工厂模式
简单工厂模式是利用工厂类来实例化一系列对象,如此简化业务代码。简单工厂模式由工厂角色、抽象产品角色、具体产品角色组成删除只需要在工厂角色中去除其实例化的代码,再删除其具体产品角色增加只需要创建一个具体产品角色,让其实现抽象产品角色的功能,再到工厂角色中增加其实例化的代码即可修改只需要在其具体产品角色中修改相应要修改的功能即可以餐馆为顾客烹饪菜品为例:若抽象产品角色为菜品,菜品的具体类型就是具体产品角色。对于餐馆来说,菜品的制作就是菜品的功能。
2024-03-22 20:24:51
613
原创 SpringBoot3框架,事件和监听器、SPI
Java中的SPI(Service Provider Interface)是一种软件设计模式,用于在应用程序中动态地发现和加载组件。SPI的思想是,定义一个接口或抽象类,然后通过在classpath中定义实现该接口的类来实现对组件的动态发现和加载。
2024-03-20 20:06:13
842
原创 SpringBoot3框架,基础特性
banner就是springboot启动时在控制台上出现的那个由字符拼接成的那个spring图标在配置文件中的spring.banner.location属性指定其classpath,在项目下放一个banner的文本图标的文件,然后写在classpath:后即可可以在SpringApplication的run操作前,插入一些自定义设置(这些设置在配置文件中也可以起作用)//可以拆分springApplication的run操作,在中间插入自定义的底层设置//例:设置banner的模式。
2024-03-19 21:10:53
874
原创 SpringBoot3框架,Web开发(下)
全面接管SpringMVC即使用全手动模式配置SpringMVC,实现WebMvcConfiger接口,再在配置类上加上@EnableWebMvc注解,再手动配置SpringMvc。使用状态信息直接在表中加一列 stats.迭代状态 (也是使用${stats.迭代状态})就可以在表中显示出每一行(集合中的每个元素)的状态信息。错误信息页面可以使用一些model数据用行内写法[[ ]]和变量取值${}(对这些错误的信息的model数据变量取值)加在页面上。热启动了,可能会引起一些bug,难以排查。
2024-03-17 21:24:27
1057
原创 SpringBoot3框架,Web开发(上)
如果想保持 boot mvc 的默认配置,并且自定义更多的 mvc 配置,如:interceptors, formatters, view controllers 等。可以使用@Configuration注解添加一个 WebMvcConfigurer 类型的配置类,并不要标注 @EnableWebMvc
2024-03-15 21:52:36
1151
原创 SpringBoot3框架,入门学习
条件注解使用场景:例:若容器中有A类的组件,则将B类的组件加入到IoC容器。只要在配置B类的操作上,加上一个@ConditionalOnBean(A.class)即可,也可以在@ConditionalOnBean注解的name属性中指定要判断的组件的类的全限定符
2024-03-14 17:55:40
1200
原创 SSM框架,MyBatis-Plus的学习(下)
使用MyBatis-Plus的条件构造器,可以构建灵活高效的查询条件,可以通过链式调用来组合多个条件。
2024-03-09 21:53:13
2547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人