- 博客(30)
- 收藏
- 关注
原创 gpt4和gpt3.5对比有什么提升?
GPT4和GPT3.5都是由OpenAI开发的大规模自然语言生成(NLG)模型,它们可以根据给定的文本输入生成相关的文本输出。它们都属于预训练语言模型(PLM),即在大量无标注文本上进行无监督学习,然后在特定任务上进行微调或零样本学习。那么,GPT4和GPT3.5有什么区别呢?
2023-03-16 19:15:27
9923
原创 【记录笔记,大佬勿喷】 关于SpringSecurity的登录流程,结合尚硅谷以及若依的项目分析
Spring Security基于Spring框架,提供了一套Web应用安全性的完整解决方案。Web应用的安全性包括用户认证(Authentication) 和 用户授权(Authonzation),这两点也是Spring Security重要核心功能。用户认证:验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码,系统通过校验用户名和密码来完成认证过程。通俗点说就是系统认为用户是否能登录。用户授权:验证某个用户是否有权限执行某个操作。
2023-03-13 12:05:04
1495
原创 使用服务器windows Server 2012 R2 建立FTP服务并内网映射
本地好访问,外网访问就得使用内网映射了,推荐安装一个nat123来进行内网穿透,不过要是用nat123里的全端口映射需要花费500大洋。1、进入Windows server 2012系统,打开服务器管理器,选择添加角色和功能。使用刚才建立的用户来登录,直接在磁盘里:ftp://IP 来访问即可。3、找到Web服务器(IIS)并选择,添加功能完成后点击下一步。1、在指定的盘下创建FTP目录,用于各个用户之间各自。6、这里我们选择安装,等待安装完成后选择关闭。5、找到FTP服务器并选择,然后选择下一步。
2022-10-20 17:21:09
3917
原创 记录一次完成的注册过程
主要逻辑:通过刚才写的vo收集前端表单传过来的数据能拿到所发送的短信验证码,在之前写发送短信验证码功能的时候已经将验证码放到了redis里了(参考jdmall-auth-service里的loginController)因此,我们只需要将redis里的验证码拿出来并与前端传过来的验证码作比较就可以了。如果redis里边没有验证码,那肯定是超过了redis里存放的时间,因为一但点击发送验证码按钮必然会将验证码存到redis中。http://localhost:20000/regist 请求。
2022-10-18 17:13:29
428
原创 【日常记录】接入短信发送功能,为实现完整的注册功能做准备
调用地址以及请求参数,可以自己去postman调试或者使用自带的【调试工具:去调试】。验证码接口:远程调用短信发送服务、防止验证码发送频繁、验证码接口防刷。注意:使用postman进行调试时,不要忘记加上appcode。1、直接去阿里云【云市场】搜索【短信】随便选一个试用测试就行。直接复制里边代码,去测试发送。打开后有相应的api说明。这样短信就接入成功了。
2022-10-14 16:49:27
587
原创 springboot @ConfigurationProperties自定义绑定配置
比如这个线程池,我想把里边的核心线程数(core-size)、最大线程数(max-size)、存活时间(keep-alive-time)抽取出来直接在yml里边配置。1、如果你写了一个配置,想让配置里边的参数直接通过yml来进行配置,这就需要使用到@ConfigurationProperties来实现。直接将需要在yml配置的参数抽取出来成一个组件,然后使用。最终在原来的配置中使用。来进行属性绑定即可。
2022-10-12 16:30:09
692
原创 fastJson中的TypeReference泛型传递
使用FastJson中的TypeReference来进行逆转,TypeReference简单的说就是对复杂类型的转换。这次做项目使用OpenFeign进行rpc的时候,遇见了一个问题。希望将一个hashMap转成一个list。这里是查库存的接口,当查询完后将结果又封装到了R对象里,成了一个map。在以上可以看到这个R对象继承的hashMap,这是一个结果统一封装返回。而我的需求是想要封装后的结果再转为list,在对list进行遍历。.........
2022-08-31 17:17:41
6619
原创 【日常记录:商品检索服务】java实现封装DSL语句
以下是继续从BoolQueryBuilder调用must方法,再从must方法里边调用QueryBuilders.matchQuery这样就完成了第一个。是上篇文章根据业务分析锁封装的前端的查询条件,最终将es的检索和聚合条件封装完了之后再返回。然后再从bool里继续嵌套,只要用到es中的检索方法就使用QueryBuilders来调用。前一篇已经根据业务分析了es的查询结构,这篇就开始用java操作es进行封装。总体思路还是对照着所构建好的DSL查询语句,一一对应进行封装。最终将构建好的条件全部拿过来。..
2022-08-16 15:23:50
1154
原创 【日常记录:商品检索服务】分析业务提取查询条件并封装,以及对查询结果的分析与封装,构建DSL表达式,做检索服务
我们希望构建MallSearchService里面 有这么个方法mallSearchService.search(searchParams params)接收封装好的查询参数并查询数据再返回相应的数据。2.1、首先肯定返回这些商品数据,这些商品数据之前已经封装到skuEsModel里了,并且已经将数据放到了ES中,具体逻辑请查看【SpuInfoController–>upSpu–>upSpuInfo()】1、一般的商城业务中,想要搜索或者筛选某个商品会从以下入手,并拼装查询字符串。2.2、基本的分页信息。.
2022-08-11 23:24:58
455
原创 【日常记录】springBoot自动装配原理
1、见到很多 spring-boot-starter-* : *就某种场景2、只要引入starter,这个场景的所有常规需要的依赖我们都自动引入3、SpringBoot所有支持的场景https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter4、见到的 *-spring-boot-starter: 第三方为我们提供的简化开发的场景启动器。5、所有场景
2022-08-09 11:41:23
303
原创 【日常记录】性能优化:redis缓存以及本地锁和分布式锁
当10w个并发来的时候比如查询某个热点字段,这个热点字段刚好在redis里边到期,为了避免这10w并发同时查库,因此会加一个锁,这些请求会竞争这个锁,当其中一个拿到锁后开始查库执行业务逻辑,并将结果放到redis中去。,由于缓存是不命中,将去查询数据库,但是数 据库也无此记录,我们没有将这次查询的 null 写入缓存,这将导致这个不存在的数据每次 请求都要到存储层去查询,失去了缓存的意义。当请求过来时,先去缓存里边查看有无数据,如果没有,在查询数据库,查出来的数据再放到缓存里边。数据库作为持久化存储。...
2022-08-07 15:52:38
542
原创 【日常记录】Nginx反向代理,负载均衡
最近在做项目的时候,想把本地项目通过服务器的地址来访问,要不就把项目放到服务器中跑,要不就用Nginx反向代理来实现。这里使用Nginx反向代理:如果使用虚拟机的话可以将虚拟机的地址通过Hosts来进行本地映射。我用的是阿里云环境,将服务器的地址在本地hosts映射之后竟然没有效果访问会被阿里云拦截显示没有备案。在网上查了很久之后才发现:网上的解决方式:在网上的解决方式大部分都会推荐内网穿透,我感觉太麻烦了。还不如买个域名,新人1米一年,在备个案这多痛快!1、Nginx+Windows搭建域名访问环境2
2022-07-14 11:37:56
826
1
原创 关于引用elasticsearch-rest-high-level-client版本冲突问题
在新建springboot项目后,springboot会默认继承当前版本的一些父依赖点进去后会发现,elasticsearch.version这个默认版本是7.6.2,当我们自己引入想要的版本之后会发现我们自己所引入的版本和默认版本发生冲突。如果自己想要引入自己的版本根据网上所说的要在properties标签里覆盖默认版本,像这样。但是会发现覆盖了之后还是不生效解决办法:我的解决办法是建一个公共的普通maven项目将自己想要的依赖加进去,这样就不会自动继承springboot的一些父依赖。然后将这个
2022-06-30 10:31:09
2588
转载 Gson 的 使用(toJson 和 fromJson )(转载)
使用Gson 首选需要 引入Gson 库 ,这个可以在github 上搜索Gson 查看最近的版本的即可Gson 里面有2个方法 toJson 和fromJsontoJson 是把字符串转成 json 形式fromJson 是把json 形式转成字符串形式下面列举下用法1 、toJson 这个常用在我们单独打印某个请求接口上传后台数据 全部打印出来打印结果{“name”:“小牧”,“age”:“23”,“hobby”:“游戏”}然后写fromJson 把这个json 字符串转成一个对象,设置set,ge
2022-06-24 15:32:56
2268
原创 ElasticSearch概念以及安装(日常记录,防止遗忘)
ElasticSearch和数据库的对应关系:索引(indices)-------------------Databases 数据库类型(type)----------------------Table 数据表文档(Document)---------------Row 行字段(Field)---------------------Columns 列ES的快速检索得益于倒排索引,分词如果想保存以上五条记录:es不仅保存了数据还额外维护了一个索引表首先es会先做第一个操作分词儿,例如:将第一条
2022-06-20 20:28:12
133
原创 MyBatisPlus里的模糊查询(日常记录,大佬勿进!!)
MP里的分页查询以及模糊查询:MP里的分页查询使用其分页插件来实现:引入MP依赖之后首先要在项目中配置分页插件配置好分页插件之后开始使用:之前写过一片关于Ipage的用法,今天只写模糊查询方法:params接收前端传过来的参数,像这样:params由于是map,我们直接获取相应的key(检索关键字取决于前端),获取之后先判断这个key(检索关键字)传过来是否为空,再做下一步逻辑;上面的字符串就是对应的数据表的字段啦。...
2022-06-16 11:55:12
12264
原创 远程跨库调用【OpenFeign远程调用】
跨库需要远程调用OpenFeign首先在需要远程调用的服务中引入OpenFeign的依赖1、远程服务必须上线放到注册中心中(配置中心和注册中心都要加入)2.其它服务如何调用他首先要开启远程调用功能其它服务调用首先也需要注册到nacos里,然后这个服务去nacos里寻找远程调用服务的地址@EnableFeignClients(basePackages = “”) 告诉feign这些带feign接口处在哪个包下意思是调用jdmall-coupon这个服务的@PostMapping(“/coupo
2022-06-11 14:18:47
866
原创 踩坑记录---宝塔安装mysql远程无法链接问题
最近新搞了一个阿里云服务器,使用docker安装东西感觉太麻烦,于是用了宝塔。按了宝塔之后麻烦接连不断啊,最让人头疼的就是这个mysql无法远程链接问题,因此整理一下防止忘记在踩坑:1、首先就是在宝塔面板中放行端口:33062、进入phpAdmin修改权限,登录使用root账户3、选择 账户>在找到root用户,点击修改权限4、修改主机名为任意主机5、去宝塔面板重启mysql服务,然后就ok啦!...
2022-05-13 21:58:28
7474
2
原创 记录 Linux 安装python3、pyqt5、opencv
这次是为了启动一个py项目,最终发现linux下安装这些东西有多么的麻烦,因此在这记录一下,防止以后踩雷!我这用的是统信桌面操作系统(UOS)也是基于linux5.3内核打造的,基于Debian 10(Buster)开发的。我把uos装到了VMware中,先安装VMtools很重要!!!!安装流程就不记了。一般uos会自带Python2.0和3.0先查看3.0版本:我用的是3.7.6从官网下载好3.7.6版本,创建个文件夹,在新创建的文件夹中解压出来就行。一、在Debian中安装python
2022-04-24 00:31:12
1890
原创 【学习笔记】API网关(GateWay)
项目场景提示:这里可以添加本文要记录的大概内容:微服务将一个大型工程转成了诺干个微服务,每个微服务都是一个独立的项目因此每一个项目都有不同的端口,那我们怎样在前端发送请求的时候能精确的发送到我们所需要的服务里。提示:以下是本篇文章正文内容,下面案例可供参考一、GateWay是什么?Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架
2022-04-07 12:27:31
1080
1
原创 Vue抽取组件以及父子组件通信
抽取组件当vue的组件要持续复用的时候,最好的办法是抽取组件放到一个专门的公共组件文件夹中,这里我们抽取一下三级分类的树形结构组件:最好建一个公共文件夹,将抽取的组件存到里边,我们将product里的category里的树形结构组件抽出来放到common里的category中<template> <div> <el-tree :data="TreeMenus" :props="defaultProps" node-ke
2022-04-03 23:41:40
2020
原创 记录一下关于MybatisPlus分页查询的参数
记录一下mp的分页插件使用:代码生成器的分页查询一般都是这样: @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,@PathVariable Long catelogId){ PageUtils page = attrGroupService.queryPage(params); return R.ok().put("page", pag
2022-04-03 23:06:43
7373
原创 记录一下 用ElementUI里的upload组件上传到阿里的OSS
项目场景:一、当我们再做微服务项目的时候,之前上传的文件都是存到本地,当我们服务多了之后,一个机器将不够用,因此我们需要部署到多个机器,如果一个服务挂了恰好也是刚刚上传的文件的服务,当网关去找这个服务的时候找不到,因此会负载均衡找到别的服务,但是那个服务却没有我们所上传的文件,所以我们需要一个云存储,这里我们选择阿里的OSS对象存储服务。1、首先需要去阿里云开通OSS对象存储服务,开通后是这样的2、建立一个bucket(存储对象的容器,上边的jdmall-upload就是建立的一个bucket)点进所
2022-03-30 19:49:21
3940
5
原创 记录一下做项目时java中的枚举
package com.xue.common.exception;public enum StatusCode { UNKNOW_EXCEPTION(10000,"系统未知异常"), VALID_EXCEPTION(10001,"参数格式校验失败"); private int code; private String msg; StatusCode(int code,String msg){ this.code=code; th
2022-03-29 15:57:44
139
原创 全局统一异常处理
@Slf4j//@ControllerAdvice SpringMVC提供的统一处理异常,RestControllerAdvic是responseBody和ControllerAdvice结合返回json@RestControllerAdvice(basePackages = "com.xue.jdmall.product.controller")public class jdmallGlobalException { //JSR303校验异常处理 @ExceptionHandl
2022-03-29 15:46:37
1076
原创 关于ElementUi表单验证中,自定义校验器的使用
使用了很久ElementUi中form表单的规则验证,一般都是使用以下这种形式:今天才发现还可以自定义校验器,心血来潮记录一下:在data中定义两个校验函数,里边有三个参数,rule是表单验证规则,value是表单里所填的值,callback回调。然后使用表单校验器:在记录一下:v-model修饰符:...
2022-03-29 14:50:43
1233
原创 关于JSR303 和BindingResult的配合
废话不多说直接上代码: @RequestMapping("/save") // @Valid是开启JSR303校验,BindingResult result将校验的结果封装到BindingResult public R save(@Valid @RequestBody BrandEntity brand,BindingResult result){ if(result.hasErrors()){ //遍历这些校验失败的信息
2022-03-29 14:37:07
194
原创 记录一下JSR303 @Valid失效问题
项目场景:提示:这里简述项目相关背景:今天,使用JSR303的时候,使用@Valid注解一直没有效果获取不到实体类里边的校验信息,使用postman测试的时候不管成功不成功都放行,这就很无奈。解决方案:最终的解决方案:springboot是2.x时候应该手动导入spring-boot-starter-validation,不能使用自动导入的那个包 <dependency> <groupId>org.springframework.boot<
2022-03-29 14:29:32
1160
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅