日常
HackShendi
学习+实践=快乐
展开
-
SpringBoot整合Redis,RedisConfig启动出错ror creating bean with name ‘redisTemplate‘ defined in class path
因为是测试项目,项目内没有加,所以启动就报错了。百度搜都是加什么common,jedis依赖…误打误撞加了就解决了。原创 2023-03-13 23:23:00 · 89 阅读 · 0 评论 -
为什么使用Junit单元测试?Junit的详解
Junit是一个Java语言的单元测试框架。单元测试是一个对单一实体(类或方法)的测试JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。原创 2023-03-04 23:20:51 · 687 阅读 · 0 评论 -
Nginx限制每秒请求次数,限制每秒连接次数,下载速度限制
为了防止网站被恶意攻击,总是需要做一些防护措施最外层的web服务器是Nginx,于是寻找 nginx 的一些关于防护措施的配置...原创 2022-12-29 16:42:21 · 4183 阅读 · 1 评论 -
[踩坑]Flutter使用setState出错call setState() on a State object for a widget that no longer appears in th
经过种种排查后,发现这种情况是切换页面的时候发生的,然后查阅关于 mounted 的资料,说这个参数在dispose后就为false了,于是又进行了大半天的排查,最后猜到了一种可能性,就是使用的对象不一致,最终问题解决。应该是每次页面切换过去在换回来,都会是一个新的对象,我的websocket只用开启一次,于是就造成了websocket使用的是第一个对象,后面的都没有,于是就造成了这种情况了。在类里面定义一个全局变量,在init里面使用this初始化此变量,后面在使用的时候都用这个变量里的属性。原创 2022-10-15 22:18:08 · 1280 阅读 · 0 评论 -
Java统一UTF-8在windows server控制台乱码(控制台也UTF-8)
Hi I’m Shendi最近遇到了乱码问题,研究了一下,得出了结果,这里记录一下Java源代码UTF-8编码,使用 UTF-8编码编译,运行时指定编码为 UTF-8(统一UTF-8),控制台设置 UTF-8编码,在本地没有任何问题,但是放到服务器上就乱码了(windows server)然后做了个测试代码如下当前代码在本地以 UTF-8编码运行等都没有任何问题但是在服务器,以下方式运行结果如下,乱码了在本地运行没问题,windows server出此问题因为统一 UTF-8 编码,所以首先想原创 2022-06-24 20:28:06 · 1564 阅读 · 1 评论 -
SpringBoot 过滤器代理请求,增加设置请求参数的函数 setParameter
Hi, I’m Shendi敲代码的时候,总是会做大大小小的封装来提升敲代码的效率当编写接口的时候,发现有一个参数很多接口都需要使用,并且这个参数使用前都需要经过同样的处理,如果不做封装,就会在需要使用的接口处都复制一段代码,非常麻烦于是可以编写一个过滤器,设置请求参数,当参数到具体接口时,已经被处理过了但是 Servlet 的请求 (Request)并未提供设置参数的函数,当获取参数 Map,并 put 参数时,会报错,于是只能通过代理的方式实现HttpServletRequestWrappe原创 2022-05-22 22:32:51 · 851 阅读 · 2 评论 -
Java接入微信内容安全(文本-security.imgSecCheck/图片-security.imgSecCheck)
Hello, I’m Shendi最近小程序要接入微信的内容安全方面这里记录一下获取 Token 封装首先这两个接口都需要使用到 Token这里我直接贴上代码,其中的参数都是直接追加在 url 上JSON方面使用的是 fastjson/*** 判断返回的数据是否为错误数据. * @param json 返回的数据 * @return true为错误数据,false为正确数据 */public static boolean isError(JSONObject json) {原创 2021-12-06 11:04:34 · 2728 阅读 · 0 评论 -
Web实现图片自适应,多余部分裁剪(类小程序 mode=“aspectFill“)
Hello, I’m Shendi小程序有种很好用的图片模式当加上这一行时,不管图片大小,都可以很好的显示整个图片(多余部分裁剪)在Web中可以这样实现类似效果原图效果图代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=原创 2021-11-29 11:21:15 · 802 阅读 · 0 评论 -
微信小程序跳转页面,返回页面后刷新数据
Hello,I’m Shendi这里记录一下首先跳转页面使用 wx.navigateTo 函数文档我做的是一个用户信息修改的功能,点击头像就进入用户信息,修改了任何信息后返回上一个页面都能及时刷新于是我在第二个页面的 onUnload 函数中提交修改用户信息,在第一个页面的 onShow 中读取本地缓存刷新信息 /** * 生命周期函数--监听页面卸载 */ onUnload: function () {}因为没有仔细看文档,是先返回到第一个页面后执行onUnload函数,原创 2021-11-04 15:32:38 · 3417 阅读 · 0 评论 -
微信小程序网络更换后Websocket失效
Hello,I’m Shendi当设备更换网络后,微信小程序的WebSocket将失效,此时进行发送等都会触发 fail 函数解决方法首先我想到的是,因为失败会触发 fail 函数,那么理应可以在 fail 中进行重新打开websocket并重新发送然后代码写好,发现问题没有得到解决猜到打开操作是异步执行,于是我在重新打开后,定时1秒,2秒左右在进行发送(问题解决了,但是因为定时,导致其他功能出现了问题,而且有时会出现死循环的情况)然后想到,通过监听网络的方式来重新打开 websocket这原创 2021-10-28 09:27:37 · 796 阅读 · 0 评论 -
微信小程序处理服务器响应字符串转换json
这里记录一下,当服务器响应的数据为json,则可能包含换行\r\n等,需要进行以下处理wx.request({ url: url, success : function (res) { var resData = typeof res.data == 'object' ? res.data : JSON.parse(res.data.replace(/\r/g, "\\r").replace(/\n/g, "\\n")); }});...原创 2021-10-15 10:47:07 · 398 阅读 · 0 评论 -
SpringBoot设置静态资源目录
Hello, I’m ShendiSpringBoot 静态资源默认在 src/main/resource的static下我们打jar包的时候会将静态资源一起打包进jar,也就造成了每次更改html等都需要重启一次服务器解决办法就是设置默认静态资源目录application.properties 配置提供了 spring.resources.static-locations 用以设置将静态资源设置在项目的同级目录的static文件夹下# 更改打包后静态资源的目录,classpath: 代表项原创 2021-10-02 20:08:19 · 3373 阅读 · 0 评论 -
TCP协议过一段时间接不到数据
hello,I‘m Shendi最近在整TCP代理服务器,在编写完程序进行测试时发现了一个问题当 TCP 连接,客户端和服务端都不发送数据,且都不断开连接的情况下,时间一久(大概几分钟),服务端进行发送数据时,客户端就接收不到了,且服务端会报错经过一番查找,找到了问题所在我写的TCP没有实现心跳机制,在Java中,TCP自带的心跳机制间隔为两小时一次而网络运营商对连接有限制,当没有数据传输一定时间,连接将会被网络运营商关闭,导致后续发送的数据找不到目的地貌似每个网络运营商对应的超时时间都不一样原创 2021-09-19 21:02:13 · 2840 阅读 · 0 评论 -
微信小程序响应数据为JSON字符串带换行处理
当数据带换行时,获取的 res.data 将为字符串格式不带则为 Object于是可以进行以下处理// author Shendi// 将带换行(\r\n) 变为 \\r\\n即可var resData;if(typeof res.data == 'object') { resData = res.data;} else { resData = JSON.parse(res.data.replace(/\r/g, "\\r").replace(/\n/g, "\\n"));}...原创 2021-09-05 21:16:25 · 913 阅读 · 0 评论 -
Mybatis查询某个字段为空获取到数据不为空
JavaBean需要有无参构造…原创 2021-09-05 11:22:32 · 720 阅读 · 0 评论 -
java.util.zip.ZipException: invalid CEN header (bad entry name)
I’m Shendi今天我在使用 Java 解压 zip 压缩文件时出了问题,找寻了一番,确定问题所在当 zip 压缩文件中带有中文的文件,操作系统为windows时(Linux不知道),在 new ZipFile的时候就会报错解决办法就是指定编码,我指定 GBK 后就可以正常使用可以通过 System.getProperty(“sun.jnu.encoding”) 获取到对应编码,输出为 GBKZipFile zip = new ZipFile(zip文件路径, Charset.forNam原创 2021-08-30 16:05:29 · 9173 阅读 · 1 评论 -
SpringBoot接口返回null则响应404
Hello,I’m Shendi当我的接口遭到恶意访问时,我想返回404,达到让其以为此接口不存在的目的文章目录实现思路允许扫描Servlet注解编写过滤器实现思路因为使用的 SpringBoot,所以第一时间想搜寻是否提供了某种方法来让我实现,然并卵后来想到使用过滤器,过滤器可以在接口执行完毕后继续执行一些操作因我要获取接口是否响应了数据,所以需要代理响应允许扫描Servlet注解因使用的SpringBoot,要扫描Servlet注解需要在启动类(Application)上加上 @Ser原创 2021-07-07 16:20:22 · 2149 阅读 · 0 评论 -
malloc动态创建数组乱码问题
大概代码如下 for (int j = 0; j < len; j++) { int size = 10; char* name = (char*) malloc(size * sizeof(char)); for (int k = 0; k < size; k++) { name[k] = 'a'; } printf("%s\n", name); free(name); name = NULL;原创 2021-04-07 21:15:58 · 1980 阅读 · 0 评论 -
Eclipse运行Java程序出JVM错误
代码如下出这个错误的原因是我将 Project 的 Java 版本改成了 8,之前一直都用 15因为9以上有了模块化,我使用的是所以Eclipse的模块化配置不会被清除,即使我现在选的是1.8版本解决方法就是使用上面那个选项选择jre版本Apply 后 modulepath 消失了问题解决...原创 2021-03-09 10:27:34 · 1735 阅读 · 0 评论 -
Nginx 无法启动
记录今天同往常一样启动nginx,使用浏览器访问不了后发现,我之前把nginx下的logs文件夹删了,导致nginx启动不了其余问题也可通过在cmd中启动nginx看到具体错误原创 2021-02-21 16:42:10 · 1704 阅读 · 0 评论 -
Win10操作系统无法调整亮度
记录一下今天一开机,电脑屏幕亮度非常亮(我一般都是调到最低)于是我想要降低亮度(笔记本按fn+f5),却发现没有反应之前可以在通知面板(右下角)来调整亮度但是今天我一打开发现没有这个亮度调节的条条于是就知道出了问题经过百度搜索,有一部分说的是显卡的问题于是我打开设备管理器(右键计算机,管理,设备管理器)也可以从控制面板进入在我的显示适配器下有两个项,一个为Intel的,一个为Oray... 向日葵的下图我已经把向日葵的卸载了首先我是把...原创 2021-02-18 11:43:16 · 2365 阅读 · 0 评论 -
Java获取printf格式化输出的字符串
Hi, I'm Shendi这里我遇到了一个需求,在进行日志输出的时候,使用可变参数的形式简化字符串拼接操作于是我就想到了 printf 函数,printf 函数是如下方式使用的System.out.printf("1%s345", "2");其中 %s 会被后面的参数所替换,这时我需要获取此转换后的字符串通过查阅API,发现 String 类有一静态函数 format 用于格式化字符串String format = String.format("1%s345...原创 2021-02-08 10:30:23 · 1595 阅读 · 0 评论 -
爬取m3u8视频以及解密
I'm Shendi这几天在整爬虫,大部分视频都是m3u8的,且加密了,这里记录一下这里主要讲下思路首先 m3u8 文件不是以 # 开头的就是地址,所以可以从这个方面下手爬取ts文件每个ts文件都可以独立播放,所以,将数据合并成一个文件也照样可以m3u8文件里是从上至下的主要是解密m3u8目前我只遇到一种加密方式,都是AES-128使用 Java 代码进行解密// 要解密的数据byte[] data = null;String key = "AES的..原创 2021-01-27 19:39:33 · 9578 阅读 · 3 评论 -
JSON数据有换行,JS eval不了,Ajax无法获取到 json 数据
hello,I'm Shendi关于今天这个坑,记录一下当我使用ajax从后端获取数据时(一串json数据),发现将字符串转json(eval函数)出错,于是找到原因,因为 JSON 字符串里有换行这时我将获取到的数据使用 replace 函数来将所有 \r\n 转为 \\r\\ntxt = txt.replace(/\r/g, "\\r").replace(/\n/g, "\\n");于是问题就解决了接着,写另一个js的时候给 ajax 设置了 response...原创 2021-01-13 12:04:01 · 1751 阅读 · 0 评论