SSL证书以及实现HTTP反向代理 注意: 本文内容于 2024-11-09 19:20:07 创建,可能不会在此平台上进行更新。。之前写的HTTP反向代理工具,在实际使用时,碰到反代失败的问题。跟踪了一下,才发现是由于对方使用了自签名SSL证书,导致发起HTTP请求时,验证失败。因此简单记录一下。针对该问题的复现,从两个方面来展开。
JSON转换Java实体类 注意: 本文内容于 2024-11-02 21:45:08 创建,可能不会在此平台上进行更新。对接方提供了一个70MB的JSON文件给我,我要针对这些数据做数据分析。但是由于数据太大,通过人眼去识别JSON的结构太麻烦了。本文以Maven插件为例,介绍该工具的使用。于是就找到了一款开源工具。自动生成Java实体。具体可以查阅官方文档。
IO密集型任务及Vertx框架入门 Vert.x 是一个基于事件驱动的非阻塞框架,适合如下HTTP/TCP等服务器文件上传/下载这类IO密集型的高并发场景。像这种非阻塞的框架,不只有vertx,还有很多。Netty:很多非阻塞框架都是基于Netty实现。Spring WebFlux:类似于Vertx,并且也是基于Netty,与Spring框架强耦合。Play Framework:轻量级的反应式 Web 框架,适合高并发 Web 应用。Akka:基于 Actor 模型的高并发框架,适合分布式系统和容错系统。超重量级。
小记编程语言浮点精度问题 浮点数精度问题主要影响使用二进制浮点表示法的编程语言。大多数主流编程语言(如 Java、C、C++、Python、JavaScript 和 Ruby)都使用 IEEE 754 标准来表示浮点数,因此都会受到这一问题的影响。注意: 本文内容于 2024-09-15 20:21:12 创建,可能不会在此平台上进行更新。浮点数在计算机中不能精确表示所有的十进制小数,所以在进行运算时可能会出现微小的误差。我后面采取的方式是四舍五入保留一位小数。
VM16安装macOS11 注意: 本文内容于 2024-09-17 12:08:24 创建,可能不会在此平台上进行更新。。使用 Vmware Workstation Pro 16 安装 macOS 11,核心步骤如下。
PostgreSQL维护——解决索引膨胀和数据死行 注意: 本文内容于 2024-09-16 00:40:33 创建,可能不会在此平台上进行更新。。我有一张表,为了保障查询的快速响应,我是在必要的字段上建立了索引。该表的数量基数不变,只是每分钟会更新过来一批数据,如此运行了一年之久,目前即使走索引查询,依旧特别慢。排查主要是由两个现象导致的。这两个现象是如何出现的呢?频繁的进行insert/update/delete就会出现。
黑神话悟空-妖怪平生录PDF 不过,这里面的游记是真的很惊艳,203个妖怪,203首小诗,203个妖生故事,带领玩家感受妖怪的众生相。这真的做得很细心了。通关黑神话悟空,并且解锁了两个结局。感触不是那么深,我个人的感觉是剧情上面不如国产单机古剑奇谭三。因此,我将这个热情的劲头,化作动力,耗费四天时间,整理完这203个妖怪生平。与其说黑神话悟空是西游记的延续,不如说是游科CEO对斗战神的执念。下面附上PDF下载链接–>
黑神话悟空妖怪平生录 虽然黑神话的战斗系统和地图系统尚不完善,但是这里面的游记是真的做得很认真。203个妖怪,203首小诗,203个妖生故事,带你去看妖怪的喜怒哀乐。是一部特别好玩的单机游戏。上一个我这么喜欢的国产单机还是。于20240825创建,预计要花费一周时间才能整理完。若有兴趣可点击链接–>
SpringBoot中动态注册Bean的方式 测试环境,本文先理解如何实现动态注册Bean。由于在SpringBoot中,先进行Bean的定义,再根据定义进行Bean的实例化,所以实现动态Bean,我们只需要动态注册Bean定义即可。这就用到了中这个方法。源码注释所有常规的Bean都已经定义但尚未实例化时,这时候,你可以再新增 Bean 定义。
CentOS配置时钟服务 NTP(Network Time Protocol,网络时间协议)是用于同步计算机网络中各个设备时间的协议。下面了解一下ntp的配置选项1.)iburst: 通过发送一组八个数据包来加速初始同步。2.)burst: 在正常操作期间(非启动时)发送一组八个数据包。3.)prefer: 将服务器标记为首选来源。NTP 将优先选择此服务器。4.)minpoll和maxpoll: 设置轮询间隔的最小值和最大值,以 2 的幂为单位。默认minpoll为 6(64 秒),maxpoll为 10(1024 秒)。
动画与帧率 先看视频,同样的代码,左侧是240刷显示器,右侧是60刷显示器,但是动画中粒子的运动速度不同。原因是机器的帧率导致了基于帧的动画显示效果不同。动画的移动距离是相同的,但是在240刷的显示器上,每秒移动240次,在60刷的显示器上,每秒移动60次。这就导致了在高刷显示器上,动画移动的更快。解决办法是更换基于时间的JS动画库即可。下面给出复现示例,meethigher/animation-and-frames: animation and framesframe-animation.htmltime-anim
实现文件分片合并功能并使用Github Actions自动编译Release 起因是公司电脑使用的Win11 23H2的预览版,这个预览版系统的生命周期只到2024-09-18,到期后就会。这是Windows强制升级系统的一种手段。虽然公司里的台式电脑目前用不到,但是里面还保留许多旧项目的资料,所以为了保留数据,我需要尽快转为正式版。目前Windows 11系统正式版已经更新到了24H2版本,不过总体体验并不好。很多自带功能是强制捆绑给用户使用的,且没有开放给用户关闭或者切换开关。我需要保留新系统的新特性,并且我还不要强制捆绑给用户使用的那些功能。
由MapTile引发的ResultSet的思考及实践 其实这篇文章应该是上周末来写的,但是苦逼啊。别人都抱怨工作996,我特么直接9117了,连轴转12天,完全没有个人时间,苦逼啊!本来周末计划看完呢,给自己一个过儿童节的仪式感,结果也只看了一点,时间太紧张了。要写的代码、要总结的东西太多了。至于ResultSet这个,从梳理思路、验证逻辑、查阅资料、理解原理、总结记录,又花了我小一天时间,搞到半夜。
双平台GraalVM编译二进制程序 本文示例均采用Java11,GraalVM目前无法支持跨平台编译,比如,我通过Linux直接编译Windows可执行的exe,是不行的。Go语言是可以的因此,需要掌握两种平台的GraalVM的安装、使用。
SpringCloud使用Nacos作为配置中心实现动态数据源切换 了解Nacos可以直接阅读使用Nacos,我们需要有Nacos-Server,此处就不使用官方提供的release版本了,而是自己编译,因为本来就是Java开发的,所以对于Javaer来说也没啥难度!只需要四行命令,即可实现编译,要求编译时有网络环境。之后,进入到,即可获取压缩包。解压后,进入bin目录,执行命令启动nacos服务即可。