欢迎来到 星空Online - 织梦者,我的原创世界。

Java 实现 .NET 字符串HashCode算法

早前曾经分享过一篇《TypeScript 实现 .NET 字符串HashCode算法》,将 .NET Framework 中曾使用的字符串哈希算法翻译成了 Typescript 表达。

有朋友向我咨询是否存在 Java 版的,其实是有的,而且也在生产运行了很多年,只是 Java 比较容易翻译此前我就没发出来,现在再额外补充一篇吧。

与Typescript那篇一样,首先是 C# 源码。

阅读 评论

CentOS 7 安装 git 2.34.1

尽管 CentOS 7.x 的终期已定,但在那天真正来临之前,仍然是相当多公司(和现有项目)的主流选择。

CentOS 7.x 自带的 git 版本为 1.8.x,属于较旧的一个版本,偶尔安装一些程序依赖 git 时,都要求更高一些的版本。但如果尝试使用 yum install git 的话,安装的仍然会是旧版本。所以我们需要按照如下的方式手动安装。


阅读 评论

Spring Boot 遇到 RFC 7230 and RFC 3986 的问题

分享一个小案例。

这两天因为 log4j 的天坑导致别的事情都没做,光升级组件了。恰巧手上有个老项目顺便需要升级一下 spring-boot,从 https://mvnrepository.com/ 上查到今天最新的版本是 2.1.6 于是便直接升级了,然后问题发生了。

线上的服务忽然开始报 400 Bad Request 错误,查了下错误日志,看到了这个提示:Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986。虽然26个字母我都认识,但他们连成的这句话让我还是不知道如何解决。百度一下发现是因为请求的字符串中包含了 |,尽管最佳的解决方式是在请求端做一次 encode,但这种 native 的线上项目是不可能在短时间内完成全量升级的。

阅读 评论