- 博客(30)
- 资源 (6)
- 收藏
- 关注
原创 在Java中操作文件Hutool-FileUtil以及SystemCommand
最初的想法是在abc文件的文件夹下复制出文件copy_abc文件,再进行压缩,xcopy会提示复制的是文件还是文件夹,会有那么一个对话,对于程序来说,可来不了对话。执行到这里,就会想是文件的编码方式,让windows系统不认识?正常情况下,在bat文件中编写指令,如果都写的是命令符,不加注释(包括中英文),在运行上都不会有什么问题。最近在做的项目,都是跟文件打交道的,有的是copy文件,有的是压缩文件,有的是写文件,等等吧。这么一个文件,这个文件是被系统占用的,当对这个文件进行压缩时,是不能操作的。
2024-03-29 14:00:15
1073
1
原创 每天一个设计模式 - 代理模式
代理模式的核心,是在被调用方和调用方之间增加一个中介者的角色,即代理调用方 ===> 代理 ===> 被调用方我们实际生活的情况,比如租房中介,租客 ===> 中介 ===> 房东抢票的黄牛,购票 ===> 黄牛 ===> 官方售票菜鸟驿站,购物者 ===> 菜鸟驿站 ===> 快递小哥编码上的体现:现在我们有一个用户管理类,其中有添加用户、删除用户两个方法public interface IUserService { /**
2021-12-30 15:51:59
951
1
原创 SpringBoot中关于打印MultipartFile类型参数的log问题
问题描述最近做的需求,有上传文件参数的情况,即 MultipartFile 的情况而且大家的系统框架中也有通过类似 @SysLog 注解切面打印入参日志的需要这时存在 MultipartFile 类型的参数的时候,估计就会遇见这种类似的情况java.io.FileNotFoundException:MultipartFile resource [file] cannot be resolved to URLMultipartFile resource [file] cannot be re..
2021-12-29 15:00:18
5190
原创 自定义@Validated参数注解
一、参数校验的实现以前参数的校验大都通过编码的方式实现,如 Hutool 实现StrUtil.isNotEmpty(arg);StrUtil.isNotNull(arg);StrUtil.isNotBlank(arg);……最近认识了新成员 @Validated 和 @Valid关于两者的区别@Validated是org.springframework.validation.annotation.Validated,支持group分组@Valid是javax.validation
2021-12-24 14:24:59
1520
原创 使用redis缓存来实现最近的浏览记录
感谢实现的思路与考虑:https://blog.youkuaiyun.com/qq_37107280/article/details/77894680要使用redis缓存来实现最近的浏览记录功能,就是一个get和set的操作。1.对于set的考虑确定最近浏览记录的失效时间,设置一个月即可expire key second最近的浏览记录有一个数量的限制,不能是一直LPUSH或者是RPUSH由于之前没有接触过LTRIM,开始还在想LIST中的push或者range命令能否对存储的记录条数进行指定,看
2021-11-29 14:27:01
4347
2
原创 Java开发环境之idea
写在最前:搜云库https://www.souyunku.com/关于idea的安装等等,可以完全参照上面,最新的po解也会不断地更新下面是自己安装的过程一、idea安装包下载这里下载的2021.2.3版本的,idea官网传送门或者选择下载跟我一样的,「阿里云盘」「ideaIU-2021.2.3.exe」二、安装将下载的exe安装包双击即可,一路next>三、打开软件参照文章:https://tech.souyunku.com/?p=49896坡解的补丁都是来自于人家的,当然得
2021-11-27 11:34:04
5638
2
原创 java开发环境之maven
一、下载安装包下载页面路径:https://maven.apache.org/download.cgi点击直接下载:https://dlcdn.apache.org/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.zip二、解压安装将下载下来的zip解压即可三、配置1.修改conf下的settings.xml文件2.指定本地仓库路径3.设置jar包拉去路径...
2021-11-27 11:32:57
334
原创 java开发环境之tomcat
一、下载安装包下载传送门:tomcat10.0.12二、解压安装将下载下来的zip进行解压即可三、说明为什么要安装tomcat呢?我们对java的开发,大都是基于spring的,而以前的基于spring的java开发,都需要一个容器来进行加载运行,当然也可以不用tomcat,选择其他的容器等等。随着现在的前后端分离(前端:html页面;后端:服务层)和开发的便捷性,大都基于了springboot的开发,而它将tomcat进行了内嵌,就可以不使用外置的tomcat了...
2021-11-27 11:32:22
348
原创 java开发环境之安装配置jdk
一、下载jdk下载地址传送门-oracle官网目前企业中的开发版本的jdk大都(注意:不是绝对)使用的是jdk8,这里我们下载jdk8,选择对应的操作系统位数。下载其他版本,自行选择:https://www.oracle.com/java/technologies/downloads/archive/下载jdk,得需要一个账号~ ~ ~,可以 注册 一个,当然也会让你登录才能下载。这里提供一个阿里云盘的分享:https://www.aliyundrive.com/s/F9ocy9xPBET二、
2021-11-27 11:31:46
215
原创 AI语音技能云开发 - “切换意图、参数传递”
在上一节课中我们已经实现了一个简单的天气查询功能。这节课,我们我们将再创建一个空气质量的查询,并与上节课中的天气查询意图进行关联,实现意图的切换,参数的传递一、创建“空气质量查询意图”1.填写意图信息2.配置单论对话表达,实现与上一节课差不多,配置默认参数和追问3.配置多轮对话,实现与上一节课差不多4.配置前置意图选择天气查询二、后端服务开发在CloudIDE中编辑上节课的代码代码如下:package com.alibaba.ailabs;import com.alib
2021-11-04 11:49:44
273
原创 AI语音技能云开发 - “我在,你说”
在上一节课中我们已经创建了一个语音技能,实现了“欢迎” -> “Hello World”这一节课中,我们要创建一个查询天气的意图,实现“语音精灵”->“我在,你说,我可以帮你查询天气”。一、配置语音交互模型1.新建一个“意图”编辑已经创建好的语音技能,选择“语音交互模块”,点击“创建意图”,创建一个“天气查询意图”填写“意图名称”和“意图标识”2.配置单轮对话的语料**语料:**是指当用户为了达到目的向音箱说出的语音指令。单轮对话语料的含义是:当用户说这句话时,就可以确认用
2021-11-04 11:06:23
566
原创 AI语音技能云开发-创建一个语音技能
涉及到的平台天猫精灵开放平台阿里云 云开发平台创建第一个[Hello World]技能一、天猫精灵开放平台登录1.登录之后,在右上角的控制台中选择技能应用平台2.首次登录时,您需要签署平台合作协议该认证的认证,该确定的确定,都是这么过来的~ ~ ~二、创建一个“语音技能”1.在“我的技能应用”Tab中,选择“语音技能”->“创建新技能”2.填写技能基本信息选中 语音技能 中的 自定义技能 填写技能创建信息:技能名称和调用词技能名称:展示在技能市场的技能名称,在发布时将
2021-11-02 20:35:42
738
原创 文件异步导入及springboot MultipartFile 上传文件后@Async异步处理报错:NoSuchFileException
第一个问题当excel中的数据量比较大时,java后台解析的过程可能要持续很久,但是又不需要用户去进行等待,这时就考虑文件的异步导入文件异步方法的实现有着几种实现方式,这里是通过指定异步线程池实现的,即@Async(“线程池名称”)标注异步方法。然而,在经过测试时发现,该标注的注解也都标注了,但是就是不能实现异步效果。几经波折,发现异步方法可以调用非异步方法,是可以实现异步效果;而先是非异步方法去调用异步方法,这样就会失效。这里所说的是在同一个java类里面。而在不同的java类里面,就不存在
2021-10-15 15:12:37
8292
11
原创 Redis 统计独立用户访问量?
搬自:https://mp.weixin.qq.com/s/p_kynPHKcyexe1xL36o2BA当一个用户访问的时候,如果用户登陆过,那么我们就使用用户的id,如果用户没有登陆过,那么我们也能够前端页面随机生成一个key用来标识用户,当用户访问的时候,我们可以使用HSET命令,key可以选择URI与对应的日期进行拼凑,field可以使用用户的id或者随机标识,value可以简单设置为1。当我们要统计某一个网站某一天的访问量的时候,就可以直接使用HLEN来得到最终的结果了。**优点:**简单,
2021-09-28 20:25:40
191
原创 SpringBoot跨域 3种解决办法
浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。浏览器发出CORS简单请求,只需要在头信息之中增加一个Origin字段。浏览器发出CORS非简单请求,会在正式通信之前,增加一次OPTIONS查询请求,称为"预检"请求(preflight)。浏览器先询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段。只有得到肯定答复,浏览器才会发出正式的XMLHttpRequest请求,否则就
2021-08-02 09:37:46
234
原创 linux 安装docker
搬自:https://www.cnblogs.com/kingsonfu/p/11576797.html1、安装环境此处在Centos7进行安装,可以使用以下命令查看CentOS版本lsb_release -a在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看uname -r2、用yum源安装2.1 查看是否已安装docker列表yum list installed | grep docker2.2 安装dockeryu
2021-07-22 16:14:54
127
原创 理解OAuth 2.0
通俗的理解就是一个令牌(access_token)的授权中心,使用这个令牌可以去访问第三方的系统,等同于账密码的作用下面的文章会有详细的介绍,最后还有demo第一篇:OAuth 2.0 的一个简单解释第二篇:OAuth 2.0 的四种方式第三篇:GitHub OAuth 第三方登录示例教程...
2021-07-19 10:42:01
83
原创 centos8搭建zookeeper
一、参考写在最前:https://www.cnblogs.com/expiator/p/9853378.htmlhttps://www.cnblogs.com/zengxiaoliang/p/8442815.html二、安装条件zookeeper的使用需要依赖jdk,因此事先需要安装好jdk环境大致分为:- 下载解压jdk安装包- 配置/etc/profile环境变量- source /etc/profile参考:- https://blog.youkuaiyun.com/miao_x_m/
2021-03-15 11:48:32
415
原创 centos上搭建gitlab
参考放在最前:https://www.cnblogs.com/xuruiming/p/13062000.htmlgitlab官网:https://about.gitlab.com/找到最上面的Install GitLab根据自己的系统版本选择相对应的,这里选择CentOs 8,这里提示内存至少4GB根据上面的提示,看到最终要安装的是gitlab-ee,这是一个30 days限免的收费版本翻到最后,发现一个CE OR EE,进去找社区版本,选择社区版本选择CE版本之后,就可以进行安装了,
2021-03-11 20:16:29
225
原创 初次搭建centos上的MongoDB
一、下载weget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.13.tgz因为自己的服务器上没有weget命令,就去下载了,又放到服务器上进行的解压如果想要使用weget命令,则去添加weget命令:yum -y install wgetyum -y install setupyum -y install perl二、解压tar -zxvf mongodb-linux-x86_64-3.6.13.tgz mongo
2020-11-11 16:38:02
134
原创 centos搭建nacos
nacos安装,安装包下载位置,分为windows版和linux版。nacos依赖java环境,需要事先安装JDK1.8,否则在启动的时候报错。。。1.linux下,下载解压nacos-server-1.3.1.tar.gztar -zxvf nacos-server-1.3.1.tar.gz -C /usr/local2.修改配置文件vim conf/application.properties 添加数据数据库配置spring.datasource.platform=mysql db.n
2020-07-31 13:52:56
1004
原创 centos8下安装mysql5.7.23
mysql安装包自行下载,这个链接里面的是mysql8的链接,安装的是5.7.23版本的。1.将装备的tar.gz格式的安装包上传到centos服务器中,进行解压tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz解压完成后,删除压缩包,并将文件夹改名为mysql。rm -rf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gzmv mysql-5.7.23-linux-glibc2.12-x86_64 mys
2020-07-31 11:56:20
695
原创 centos配置java环境
这里采取的是从oracle官网下载包再将包复制到centos中的方法。从oracle官网下载,得需要账号登录,这里是事先准备好了安装包。解压jdk-8u131-linux-x64.tar.gz,tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/local/-C是直接解压到/usr/local/目录下tar zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local/接下来就是配置环境变量vim /etc/profilevim
2020-07-31 11:30:35
212
原创 oracle主键的生成
oracle主键自动生成1.一种是varchar类型的主键 @Id @Column(name = "ID") @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "select sys_guid() from dual") private String id;2.一种是number类型的主键这是一种写法 @Id @Column(name = "ID") @GeneratedValu
2020-06-08 14:45:35
973
原创 easypoi中sum:统计函数的使用
在使用easypoi的模板导出时,文档关于sum:统计数据的介绍太少,后来去网上百度也无果,后来就去了源码中直接搜“sum:”,然后在ExcelExportOfTemplateUtil这个类里面发现了private void handlerSumCell(Sheet sheet) { for (TemplateSumEntity sumEntity : templateS...
2019-12-27 15:04:08
5915
9
原创 使用layui的upload上传文件返回数据问题
刚开始的时候以为只需要返回一个主键,就想返回一个String类型的字符串就行了,结果每次上传图片后都会提示“请求上传接口出现异常”,然后就在一顿的找啊找,心想也没有问题啊后来,就去网上找解决办法,后来在layui的社区中有人也遇到了这个问题,就有人在下面给出回复按照这个说法就去试了试,就改成了JSONObject的返回方式改成这种返回方式,就能用了layui文章链接:https://...
2019-10-30 15:57:39
5602
2
原创 冒泡排序+单例
/** * 冒泡排序,升序排序 * 数组当中比较小的数值向下沉,数值比较大的向上浮 * * @author Mekhi * @date 2019/10/17 16:23 */ public static void bubbleSort(){ int[] arr = {5,2,43,56,7,4,1,2,8}; ...
2019-10-17 18:13:50
166
原创 注解@Resource与@Autowired的对比
刚开始使用时用的是@Resource,后来工作中就用了@Autowired,当时没有细究,知道是依赖注入的两种方式,现在来研究一下。@Resource导包javax.annotation.Resource,@Autowired导包org.springframework.beans.factory.annotation.Autowired,从导包上来看,前者不属于spring,是java自己的注...
2019-09-20 09:50:25
115
原创 增值税发票二维码解析
01,01,4300171130,02550485,10545.43,20180115,6579,01,10,044001500111,81966722,173.79,20170524,17884534745749991611,BE2D第一项第二项:发票种类代码,10-增值税电子普通发票;04-增值税普通发票;01-增值税专用发票第三项:发票代码第四项:发票号码第五项:开票金额第六项...
2019-09-19 16:49:03
8767
原创 在初次使用easypoi时遇到遍历和赋值问题
1、遍历问题在进行遍历list的时候,不要使用这种写法{{KaTeX parse error: Expected 'EOF', got '}' at position 20: …maplist t t.id }̲},要使用这种写法{{fe: maplist t.id }},这两种写法相差在遍历list的起别名上,尽管文档中说fe的写法 fe标志 冒号 list数据 单个元素数据(默认t,可以...
2019-08-17 18:25:46
14399
19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人