220507-mysql-connector-java-utf8mb4编码支持

对于mysql而言,我摩恩知道utf8与utf8mb4两种编码之间是不同的,通常来说我们推荐使用后者,可以用来存储emoj表情;通常而言,上面的编码对于我们的实际使用并没有什么影响,然而现实总有特殊场景

下面记录一下定位mysql-connector-java客户端建立连接,设置编码的全过程

220425-MySql之json_extract函数处理json字段

在db中存储json格式的数据,相信大家都或多或少的使用过,那么在查询这个json结构中的数据时,有什么好的方法么?取出String之后再代码中进行解析?

接下来本文将介绍一下Mysql5.7+之后提供的json_extract函数,可以通过key查询value值

220412-ElasticSearch基本使用姿势二

本文作为elasticsearch 基本使用姿势第二篇,包含以下内容

  • 查询指定字段
  • 限制返回条数
  • 分页查询
  • 分组查询
  • 高亮
  • 自动补全提示
  • 排序
  • 返回结果聚合,如统计文档数,某个field value的求和、平均值等

更多相关知识点请查看: * 210331-ElasticSearch 基本使用姿势 - 一灰灰Blog

220321-ElasticSearch开启权限验证

为了保证es的安全性,一般来讲我们会对es集群开启权限验证,下面将简单记录一下如何开启Basic Auth验证

220226-解决Centos下载时异常 Failed to download metadata for repo AppStream

阿里云ecs服务器,通过yum install安装命令时,突然发现报错,提示信息如下

1
2
3
4
5
Repository extras is listed more than once in the configuration
CentOS Linux 8 - AppStream 18 kB/s | 2.3 kB 00:00
Errors during downloading metadata for repository 'appstream':
- Status code: 404 for http://mirrors.cloud.aliyuncs.com/centos/8/AppStream/x86_64/os/repodata/repomd.xml (IP: 100.100.2.148)
Error: Failed to download metadata for repo 'appstream': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

搜索一番之后发现原因貌似是

2022年1月1日起CentOS官方将不再对CentOS 8提供服务支持,虽然系统可以正常使用,但CentOS 8的yum源已经移除无法使用了,使用yum安装会报错:Repository extras is listed more than once in the configuration CentOS Linux 8 - AppStream Errors during downloading metadata for repository 'appstream': - Status code: 404 for

220225-巧用NC实现文件传输

之前在服务器上拷贝文件时,要么使用scp, 要么就是上传到ftp服务器,然后再需要使用的服务器上重新下载,虽然这两种方式也没啥毛病,但是缺陷也比较明显

  • scp: 要求授权验证
  • ftp: 需要一个第三方的存储系统,用完之后如果不删除的话这个文件就一直在那

接下来介绍下使用ncat(即nc)来实现文件拷贝

220127-MAC系统解决DST根证书过期问题

let’s encrypt的根证书过期这事有关注的小伙伴应该都知道,这里记录一下最近遇到的坑

220116-Win10子系统无法访问网络问题解决方案

win10安装完Ubuntu子系统之后,结果发现无妨访问网络,不管ping啥都不行,下面记录一下解决方案

首先使用管理员权限打开powershell终端

然后执行以下命令

1
2
3
4
5
wsl --shutdown
netsh winsock reset
netsh int reset all
netsh winhttp reset proxy
ipconfig /flusdns

执行完毕之后,重启机器,然后就是见证奇迹的时刻了

211231-Java调用本地程序的几种姿势

本文记录一下如何使用java打开本地应用,以及打开mac系统中应用的注意事项

211228-Jar文件提取与查看

最近遇到一个奇怪的问题,一个jar包无法解压,直接使用jar xvf xxx.jar没有任何响应

因为实际想看的只是jar包中的某个class文件,基于此可以通过 jar tf 查看文件列表,在通过 jar xf xxx.jar xxxfile的方式来解压指定文件来实现目的

接下来记录一下jar包的几个操作case

211220-JDNI注入:RMI之绕过trustURLCodebase配置的注入实例演示

上一篇博文介绍了RMI绑定一个Reference,导致加载远程class文件时导致的注入问题,当时有提到对于高级的版本,对于默认的配置为java.rmi.server.useCodebaseOnly=false,对于远程的class文件做了安全校验的,但是即便如此,也并没能完全限制住注入

接下来我们来实例演示一下

211216-JDNI注入:RMI Reference注入问题

前面一篇介绍了基础的RMI的使用case JDNI注入:RMI基本知识点介绍 - 一灰灰Blog,其中有说到客户端通过rmi访问server时,表现和我们常见的rpc也一致,客户端拿到代理执行的方法,也是在远程服务端执行的,怎么就存在注入问题呢?

接下来我们再来看一个知识点,RMI + Reference,利用反序列化来实现注入

211213-JDNI注入:RMI基本知识点介绍

远程方法调用,现在更多的使用RPC来处理,至于RMI好像没有那么多了,最近闹的火热的log4j2漏洞,又让几个关键词jndi,rmi,ldap频繁出现;对于我这种面向Spring编程的javer而言,这些是啥? 干嘛用的?为啥漏洞这么多?

接下来简单学习下RMI的基本知识点

211209-Java使用URI.create()注意事项

记录一个在实际使用过程中遇到的问题,在解析一个url格式的字符串中的域名时,直接使用下面这种姿势

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static ImmutablePair</**host*/String, /**uri*/String> foramtUri(String uri) {
// uri中空格去除,避免转换异常
URI u = URI.create(uri);
String host = u.getHost();
if (u.getPort() > 0 && u.getPort() != 80) {
host = host + ":80";
}

String baseUri = u.getPath();
if (u.getFragment() != null) {
baseUri = baseUri + "#" + u.getFragment();
}

if (StringUtils.isNotBlank(baseUri)) {
baseUri = host + baseUri;
} else {
baseUri = host;
}

return ImmutablePair.of(host, baseUri);
}

正常使用上面这种进行解析,没啥问题,结果某天突然抛了个异常

211126-Java实现位图转矢量图

通过前面几篇图片转字符、灰度图的文章介绍之后,接下来我们再来看一个有意思的东西,基于前文的基础,实现位图转矢量图的功能

关于位图与矢量图的简单理解如下:

  • 位图:如Jpg/png,放大之后会失真,看到像素块
  • 矢量图:如svg,放大图片也不会失真

211123-ElasticSearch分组查询抛异常?

在使用es进行组合查询的时候,遇到一个非常有意思的场景,特此记录一下

某些场景下,直接针对某个Field进行分组查询,居然无法返回结果,会给出类似Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default的提示信息,接下来看一下这个问题是个什么情况,以及如何解决

211122-Java实现GIF图转字符动图实例demo

上一篇文章介绍了静态图转字符的实现demo;接下来也该是动态图转字符的demo了

从前面几篇文章的学习过程中,要想实现这个功能就属于信手拈来了

211121-Java实现图片转字符输出示例demo

前面几篇博文介绍了使用jdk来对图片做一些有意思的转换,接下来我们再介绍一个有意思的玩法,直接根据图片,输出一个二维字符数组,实现用字符来实现绘画的场景

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×