自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 vscode,chrome,edge 远程桌面软件界面冻结卡死的情况处理

最近升级了屏幕到4K,就有点奇怪的问题。公司的电脑是1920*1080的,很多时候连上去,桌面上的软件都不能输入,比如 百度搜索输入框,VSCODE输入框。搜索一圈发现,确定是屏幕缩放导致的, 高分辨率下屏幕会缩放。每次远程后先随便切一个界面(比如打开浏览器,或则切换到已经打开的浏览器),接着切换输入法,再切回到冻结的窗口。看起来就像窗口冻结了,或则假死,反正就是不能输入。最近一致使用远程界面,有些情况需要使用家里的电脑。如果不行,多切换几次界面,就可以输入了。返回之前的界面,你会发现能输入了。

2024-03-22 10:56:27 366

原创 shardingjdbc使用时间范围查询分表不生效

但是跑起来后发现一个问题,TMD id能够正常分表, but: 时间不行。=================== 分割线 ========================初始化的时候完成的,所以继续往上翻,找到 optimizedStatement 的初始化代码。使用了id和时间分别。时间sql执行时走到这里可以断住,但是走不到我们的分表策略,所以断下继续分析。首先断在分表策略那里,因为id可以正常分表,所以断住后直接看堆栈。负责创建分表条件对象,如过创建失败了,则不参与分表。,重启项目,一切正常。

2024-03-20 17:46:37 358

原创 python协程理解笔记,

python 用了也有两年了,以前最大的项目也就是1个文件, 哈哈。根本就没这种问题。但这次使用 python 做了后台开发 (fastapi), 在开发的过程中遇到了一个个问题:项目启动时已经初始化好了一个数据库连接,并申明为全局。业务中有一个结算任务,由于考虑到效率原因我就单独启动了一个线程处理。结果这个线程去访问数据库时会报错误:`RuntimeError: readexactly() called while another coroutine is already waiting for

2024-03-11 16:59:09 309

原创 mysql_binlog格式分析,快速了解binlog日志格式

mysql binlog 日志解析及分析流程在mysql中,binlog记录了所有记录操作(insert,update,delete)当然也包括表变更等操作本篇文章将详细讲解binlog格式以及常见的问题,为广大道友快速入门!以下流程执行环境为:mysql8。

2023-12-19 22:09:12 541

原创 cmd命令bat脚本隐藏执行窗口

有时候就会点错到frp的窗口。在windows命令行中执行此操作时,运行的应用将会被挂起。所以通讯就被切断了。网上搜索了一圈,bat本身执行是隐藏不了的。只能靠vbs脚本来启动一个隐藏窗口执行bat脚本,这样就可以了。注意上面本身就是一个bat脚本,你可以理解为一个启动bat脚本,此时启动的命令行窗口就隐藏了。最近发现总是经常掉线。也不清楚原因,后调查出来原来是由于。家里一直都有远程开3389的需要,一直使用的是frp.后来就想隐藏命令执行窗口,这样就可以避免这些问题了。

2023-12-16 10:44:07 1060

原创 mysql分页查询性能测试

总结:正常情况下,limit直接写进sql即可,做优化不如直接限制最大显示1000页;上面的结果也说明了在1000页内返回也就是0.1s,完全可以接受。测试环境:1.1亿数据,约22GB大小,6核12线程32GBmysql8,ssd硬盘。网上传说limit不同的使用方式对性能影响很大,自己也有点好奇,于是直接做个测试。表为常见的订单表,表中26个字段。

2023-12-15 06:04:41 473

原创 亿级索引优化和查询技巧优化

上面两个SQL看起来都一样,但是后者比前者执行效率高很多倍,特别是当订单数多的时候。由于代理商进行查询时一般会根据订单状态,支付状态,时间范围进行查询,而且一般管理后台都会统计查询的订单额。可能会问,为什么不给时间增加一个索引,其实对于全部查询来说,直接使用id倒排效果几乎和时间倒排是一样的。其次则是管理后台查询,管理后台和代理商端查询有天然的不同。,添加索引后,亿级别数据getById是完全没有性能问题的。而管理后台是全面的,基本上能确定的是一定会带上时间的。所有查询基本返回响应再1S内,还能接受。

2023-12-14 20:37:23 422

原创 记录一次kill杀不死的进程

今天同事压测数据库,使用jmeter,一会儿发现数据库访问不了,一看数据库服务器负载150, 我擦。这里返回的第一列(4358)是pid列,第二列(4334)是ppid列。最后网上搜索一圈,得知此进程已经变为僵尸进程。然后一看进程,有很多jmeter的进程,明显不正常,使用。如果state 为 ‘Z’ 就代表为僵尸进程;

2023-12-11 14:40:46 422

原创 java物联网协议解析插件,java iot对接解析框架.java物联网架构的设计思路

magic-byte则是提供字节数据和对象序列化的操作,最近找的一个框架,对于字节协议序列化有奇效。数据储存就直接存入redis. 当然,如果仅仅是进行数据采集则可以直接入库。以上则是我对物联网协议进行开发一点浅显的理解。springboot就不用多讲了把 哈哈。rockemqt用于消息临时储存中转,其中netty用于tcp和数据接入。接下来的就可以进入开发环节了。

2023-12-09 08:36:46 737

原创 java自定义序列化对象,推一个自定义协议快速开发框架

这里推一个框架magic-byte;可以根据协议进行数据结构定义,定义完成后可以直接进行序列化和反序列化。相对于C之类的语言来说,它们天生支持将字节数据强制转换为结构体。这种跨语言通讯很多出现在iot对接。在java中,对象的序列化方案还是很多的。但是如果是涉及到私有协议序列化,则显得比较难受。然后就可以直接使用了,这样开发就舒服多了。

2023-12-08 17:53:53 377

原创 PHP保存时自动删除末尾的空格,phpstorm自动删除空白字符串

下班后我立马用系统导出TXT,然后代码还原再导出txt, 心想这个功能应该是之前就不能用,不算这次修改内,又可以加钱了哈哈哈。导出后用文本分析软件一看,MD居然有很多不同的地方,除了修改部分外,最多的地方是表格标题的字符串定义后面的空格;修改后给客户验收的过程中,客户反应有一个txt表格导出功能不能用了。后面查明,是phpstrom自动删除每行的空格,这个J8在搞事。老系统标题后有几个空格,但是新系统没有了。这次是新增,老的这个功能碰都没碰过,怎么能有问题呢?如上图,这里IDEA是真的坑,

2023-11-06 20:51:50 261

原创 php 接口请求一次,controller调用了两次。

由于是数据导出,所以有点慢。然后发现一个问题,前端只请求一次,controller却收到了两次请求。而且第二次请求i必定失败。网上搜索了一圈,大多都是说跨域的option请求导致。可是我这里确实没有跨域,MD。由于我这就是个小活儿,于是环境就是使用的nginx+fastcgi。后面找到了解决方式,fastcgi请求超时导致。解决方案就是nginx fastcgi中增加。以上配置解决了我的问题。

2023-11-02 20:08:44 341

原创 Windows上安装pyenv,以及pyenv切换环境不生效的问题

这里检查下有没有自己定义python路径,有的话删除掉,我这里就是这里有定义一个2.7.18的,删除掉后就好了。意思是windows环境变量中有配置的python版本,则pyenv将不生效。将上面脚本链接换为下面的,这次可以成功下载了,但是实际安装提示脚本错误.仔细看看下载的文件,里面居然是html,是TM一个网页文件。然后再使用powershell执行脚本,至此,安装完成。看到gitee上有克隆项目,于是将链接同步使用国内的。居然没生效,于是又设置了几次,但是还是没有生效。重装了系统,之前的系统卡死了。

2023-10-17 11:41:44 777 1

原创 pip安装mysqlclient报错 Exception: Can not find valid pkg-config name

今天docker内搭建python3.10环境时报这个错误,安装 mysqlclient 时报错。话说docker安装python环境是真的扯淡。先安装了这个后,再安装就没问题了。找了半天找不到为什么,

2023-09-07 21:26:43 4673 2

原创 最近在搭建ELK日志平台时,logstash报错JSON parse error

直接进入正题,我在搭建elk日志,使用最简单的log4j2 socket json格式 输出到logstash.错误就不再出现了,下面的配置主要是多了json不再美化输出,每条日志记录输出一行json。以上配置,每次有日志时,logstash就抛出json解析错误。

2023-08-30 10:44:03 1326

原创 nand2tetris Math库的开方计算

从高位,每次获得的结果如果小于x,那么这个结果就可以进行累加,一直把所有小于x的值加上就等于结果。其实原理很简单,从bit高位一直尝试到低位,所有计算出来结果

2023-05-11 15:09:19 179

原创 PHP项目结合小皮面板搭建部署,访问页面返回404的问题

这里所有的配置在网站配置页面中进行配置,一般来说选择一种方案部署即可。然后网页就能正常访问了,特此做下备忘。

2023-05-06 11:55:18 1123

原创 递归实现除法过程解析,逻辑分析

那么这个程序的实质是:已知x/2y的整数的部分q,求x/y的整数部分。这样才能不断递归下去,直到x

2023-05-05 17:18:47 195

原创 nand2tetris DMux.hdl芯片实现

思路主要是将选择器进行取反, 然后同时与输入进行and操作并输出结果。DMux.hdl 芯片实现, 后续的8位,16位都是这个原理。请注意, 实现路径请按照书中设计顺序进行实现。

2023-04-28 08:33:18 132

原创 nand2tetris Mux.hdl芯片实现

思路主要是将选择器进行取反, 然后同时与输入进行and操作,最后使用or来取出结果。Mux.hdl 芯片实现, 后续的8位,16位都是这个原理。请注意, 实现路径请按照书中设计顺序进行实现。

2023-04-28 08:31:04 110

原创 nand2tetris Or芯片实现

Or芯片说实话还是比较绕的,可能是我脑子不够用。

2023-04-28 08:26:44 75

原创 如何在TCP封包层对数据包进行校验并过滤不符合条件的数据包

在物联网开发场景中,安全方面除了对协议进行加密外,服务器另外一个可见的方向是容易出现端口暴露导致的一些攻击。比如破解尝试,端口洪水攻击等。所以如果能在TCP层进行数据包过滤。那么效果也是相当好的:1. 不符合条件的根本不会流入应用,不会增加应用压力2. 对于不符合条件的数据包,在tcp层就进行拦截,提高了吞吐量3. 由于没有数据流入应用,所有没有响应数据,破解难度进一步增加4. 同样没有响应数据,所有洪水攻击如牛入泥海,攻击不可控就会使攻击者怀疑目标是否正确

2023-04-26 10:55:37 334 1

原创 如何在JAVA dump文件/内存镜像中查找变量的值

很多时候,当程序OOM或者其他异常情况时,我们需要搞清楚当时应用内部数据情况,所有某些时候我们需要查看当时内存镜像中某些成员变量的值。比如查看当时内存实例中数据库账号,密码是否正确等等。直接进入正题,我们首先搭建一个测试使用的springboot项目,除了基本模板代码外,剩余代码如下:我们预期目标为通过镜像实例去查看bbb项目搭建成功后,启运行项目,接着使用命令导出运行中的应用的内存镜像接下来使用分析工具,这里使用:MemoryAnalyzer, 大家没有可以自行去下载。

2023-03-17 17:15:28 432

原创 关于提高tcp协议安全性以及物联网设备公网数据安全的一些讨论

这里提供一个思路,根据tcp 协议,在协议中有一个可选头,可选头可以附带自定义的数据。通过这个字段来将数据进行封包,然后先校验这个标识,如果未通过,则默认为垃圾消息,进行丢弃处理。tcp协议是最底层的,一般来说无需修改,直接使用。但是在某些场景下,直接使用会带来一些安全性的问题:比如物联网设备。

2023-03-16 10:15:38 275

原创 银联卡地区代码-行政区划分代码映射

MisterChangRay/RegionOfChina: 中国地理位置信息, 银联卡跨行业务地区代码标准,人民共和国县以上行政区划代码。并做了映射,方便使用。(github.com)这就很扯淡了,对接银行系统需要使用这些编码,于是开发了一个解析文档为json, 再然后将json和行政区编码进行映射,方便使用。在网上找了很久,银联地区代码最新的也只有2018年的,然后就是TM的居然只有word文档。有条件的可以到我的git上去下载。我也上传到csdn里了。

2023-03-15 08:22:14 788

原创 SpringBoot启动报错:Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletCont

【代码】SpringBoot启动报错:Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletCont。

2023-03-03 11:22:00 610

原创 JAVA关于TCP协议自定义解析数据出错,私有协议解析常见问题

现在的物联网项目中,很多项目都会涉及到和单片机通讯。所以大多数项目会使用自定义协议来实现。这里总结一些常见的坑,减少大家踩坑。第一点,大家一定要明白在TCP层发送的都是字节数据,而私有协议本身就是如何解析这些字节数据,这一点非常重要!协议解析数据错误对于私有协议来说,第一步一定要和设备端开发确认技术选型,通讯使用HTTP?还是TCP?,如果使用TCP,发送数据的时候每种数据类型发送格式是什么?比如整数是按照字节直接发送,还是直接将整数格式化为字符串再发送。这些细节都应该在开发前约定好。不然就可能出现,设备

2023-02-27 10:40:22 329

原创 Java将整数转16进制字符串,字节数组打印为字符串

这种方案输出就可以输出16进制字符串了 ,唯一不足的是,输出的字节不能填充补零,不能按照字节进行隔开;比如输出: 03,87,3f。在进行私有协议开发时,有时候需要将一个整数转换为16进制的字符串打印出来,方便观察调试。但是java原生的是有符号数处理机制,如果遇到输出字节数组时,记得最高位是符号位喔。java中,可以使用biginteger来进行转换, 代码如下。另外附上框架github地址。

2023-02-27 10:10:10 1447

原创 JAVA nio开发中,字节流转换为对象

我司在进行物联网设备对接开发时,经常需要解析这些数据。这几天在网上看到了一个比较好用的框架 magic-byte, 可以直接将对象转为字节数据,或者将数据直接转换为对象。使用起来还比较方便。一般来说,都会使用字节数组,或者bytebuffer来进行数据的解析处理。但是自己处理又麻烦,而且很多细节也需要处理。此时需要将字节流按协议转换为需要的目标对象,解析复杂而又不方便。在第三方开发中,经常会遇到直接使用TCP协议或者UDP进行对接。

2023-02-24 12:12:19 515

原创 java字符串转字节

但是很多时候时不推荐这样处理的,因为直接传输字节往往体积更小,更方便解析。而且一般也有现成的工具框架处理, 比如 magicByte之类的。可以直接将字节流转换为对象。一般来说,字符串转字节是想把二进制 格式为16进制进行显示。这样就可以调用tohex方法获取字节了。其实很少的时候要用到这个的,但是在物联网开发中。会涉及到,因为第三方一般是单片机,由C或者C++开发。一般进行通讯时使用TCP或者UDP,更接近于底层。而这些开发就需要经常把对象转字节,或者字节转对象。或者干脆传字符串进行解析处理。

2023-02-24 12:06:20 1369

原创 关于在JAVA中自定义序列化和C进行通讯问题

最近公司开始做物联网项目,经常要和C进行通讯。协议是私有的,只能按照字节进行通讯。但是一个一个读取并解析实在是太麻烦了,在网上发现了一个框架可以很简单的此类转换问题。框架名叫 Magic-Byte;

2023-02-24 11:54:15 66

原创 最近发现一个在JAVA对象和C结构体之间相互转换的工具

在C语言中,由于有结构体的加持,对象和字节数组转换起来就特别简单;但在java中,在没有原生支持的情况下,开发人员就只能够靠码力去读取并解析数据然后转译成为对象。在当代物联网行业中,由于隐私和安全问题,很多的公司选择使用自定义的私有二进制协议。中,你可以在类的定义时便通过注解申明好这复杂的序列化流程。并且序列化也只需要简单的调用两个方法,用于对象转字节的。所以此项目项目来了,此项目将尽可能的解决上述问题,在。这个确实使用挺方便的,哈哈。

2023-02-24 11:49:45 327

原创 AMD5600G LOL卡顿

然后买回来自己装好后,驱动安装好后,玩一局,感觉不太对。平时100-130,团战能保持在60+,觉着不应该啊,和评测差距也太大了吧。于是又网上搜索一圈,发现一个相同问题的帖子,按照帖子设置好后,又开了几把,此时就舒服了,顺畅丝滑,平时170-230,团战能保持在110+这下感觉达标了,但是玩了几局发现一个问题,这货打游戏时偶尔会卡顿一下,看卡顿时帧率60附近,就是感觉卡了一下。最近组装了台AMD的,没由独显,只玩玩LOL,看评测集显也就够用了。开了就卡,偶尔卡顿。...

2022-07-29 10:08:36 5795 6

原创 关于传说中的AMD5600G 发热少,功耗低

很快U买回来了,结果装不上,我擦。考虑到网上说5600G功耗低,我估计发热也不大。再加上在网上看到5600待机功耗底,我也想组一个家庭服务器。然后网上一搜索,又说AMDRyzen5系列温度高,积热严重。于是我又买了一个散热器,下图这货。看中了AMD的5600G,毕竟我也没什么太大的要求。待机温度50附近,一局LOL,最高温度69.正常在62左右徘徊。说到这个但是就知道接下来不简单了,我看了下,待机功耗50W,待机温度56度附近,玩LOL时普遍在89度附近,最高93度。...

2022-07-23 17:23:22 19860

原创 Spring新增数据后立即查询,但是查询不到#Mybatis新增数据丢失

项目中遇到的问题, spring先新增了一条记录, 然后立即进行查询,但打死查询不到。这里简单进行总结记录一下。首先说可能的原因:这里直接说结论, 我这边时事务的隔离级别有问题。好了, 接下来复原一下当时的场景:代码中会新增数据, 然后再进行查询; 代码示例如下:代码大概就像上面的, 但是死活拿不到数据。 然后新增一个线程可以获取到数据。因为新增使用的传播机制是 requires_new, 所以肯定是数据已经提交。此时要注意的是数据隔离级别。 默认是 此种注解, 隔离级别是使用的数据库默认的。

2022-06-17 10:55:49 11909 3

原创 升级springboot版本后, jsp页面不显示

做项目时,由于要使用nacos, 就升级了springboot版本。 但是万万没想到, 升级后jsp不显示了。从1.3 升级到 1.5。 也并非什么大版本升级啊。 就很难受。查了一圈文档有以下几个方案可用:1. 打包方式由 jar 变为 war这里有详细介绍。我就不多说了。 尝试了下确实可行。Spring Boot Reference Guide2. maven编译版本过高导致。由于一般没有指定版本,喔手动指定了一个版本。也可行我是用面配置也可以编译后访问。 我的s.

2022-05-25 16:13:35 309

原创 银联卡跨行业务地区代码标准JSON版

在对接银行业务得时候, 银联发了一个 银联卡跨行业务地区代码标准.doc 文档。我擦。 居然没有json数据, 还需要我们自己解析。网上搜索了一圈,都没有现成得。真特么感觉比吃屎了都难受。都特么2022了,还有直接发文档的。但是还是闷着自己做了解析, 想了下挂网上吧。辛苦我一个,方便千万家。- 银联卡跨行业务地区代码标准2018.3.json放在github上面的, 大家自己去下载吧。有用的麻烦顺手点个赞。GitHub - MisterChangRay/RegionOfChina

2022-05-24 17:05:11 872 2

原创 银联卡跨行业务地区代码标准

在对接银联时发现一个问题, 妈的 银联对于全国地址自己定义了一套ID, 而民政部又定义了一套。 而项目立项之初 使用的是民政部得数据。 真难受前往民政部官网GITHUB中华人民共和国行政区划代码但是能怎么办了, 只有下载银联数据,解析再坐映射了。数据放在github上了, 要得自己去拿点击前往...

2022-05-24 17:00:11 478

原创 物联网项目开发必须要注意的几点

现在万物互联,是个公司感觉都想搞一点物联网方向的项目。而大家则又是半路出道。容易踩坑。这里我把我近几年物联网项目开发过程中遇到的坑写出来,希望能让大家少走点弯路。首先是项目选型, 一般会采用私有协议,直接搞个长连接。什么netty 一套弄就OJBK。一般肯定会这么想, 其实这里面的坑可不少啊。首先是协议,在定义协议时以下字段一般是必传的:报文头,head 长度, length 载荷, payload 会话ID, sessionId 此字段用于业务绑定, 服务器下发机器原封返回.

2022-05-17 15:17:38 419

原创 JAVA字节码解析流程分析

JAVA字节码解析在整个JAVA系统中, 分为编译器和解释器, 这块主要讲解下解释器的执行流程和原理。\文章中参考J2SE7标准,有什么没有说清楚的大家可以到官网上去看。地址为:[[https://docs.oracle.com/javase/specs/jvms/se7/html/index.html|(点击跳转)]]\1.示例代码此类主要申明了三个成员变量, 和一个静态方法。public class MyObject {public final static int finalVar =

2022-05-17 10:13:55 633

中国地理位置信息, 银联卡跨行业务地区代码标准,人民共和国县以上行政区划代码 并做了映射,方便使用

中国地理位置信息, 银联卡跨行业务地区代码标准,人民共和国县以上行政区划代码。并做了映射,方便使用。 最近公司要做一个对接银联支付通道的东西; 在调用接口时需要传入地区代码, 这个代码银联定义了一套, 行政区划码又定义了一套 而我们项目最开始使用的是 行政区划码。 这是将银行的地名数据和行政代码地名数据匹配后的json. 如果好用的话希望大家点个赞

2023-03-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除