Linux jq命令-满足json数据复杂处理场景的命令行工具

jq: 一个灵活的轻量级命令行JSON处理器。用于处理JSON输入,将给定过滤器应用于其JSON文本输入并在标准输出上将过滤器的结果生成为JSON。最简单的过滤器是.,它将jq的输入未经修改地复制到其输出中(格式设置除外)。 场景:项目中很多地方用到了json数据(包括接口日志、数据库字段)等,有些时候要对这些数据进行筛选过滤等处理,使用jq命令可以方便很多

1 语法

1
jq [options]  [file...]

阅读更多

利用Cloudflare Workers 自建pastebin

如果你想将文本发布到世界上,并且您并不过分关心它的显示方式,那么 Pastebins 非常有用。无论你是 Pastes代码片段、业务草稿、长篇小说,还是重要的信息。 如果仅仅是想体验一下功能,可以去Pastebin官网。本次分享是给想自建一个Pastenbin的朋友

1. 准备条件

Cloudflare 账户,以及上面的一个域名

2. 安装部署

2.1 Fork Github pastebin-worker,并在本地clone下来

2.2 Installnodeandyarn and Install wrangler

阅读更多

利用 Cloudflare Workers 自建 Docker 镜像

最近国内的几个Docker镜像加速器都不好用了,原因不详,导致项目部署失败,这里尝试自建Docker镜像加速,可以解决问题。解决方法依靠Cloudflare 参考: 利用 Cloudflare Workers 自建 Docker 镜像

1. Fork & Clone

首先 fork 仓库 GitHub - ImSingee/hammal: docker-registry proxy run in cloudflare workers,并克隆到本地 使用pnpm install 安装依赖

2. 创建worker项目

2.1 进入Cloudflare Dashboard 创建一个新的Workers项目,给一个命名比如mydocker

阅读更多

Feign Client踩坑日记

A项目远程调用另一项目时是用http方式进行请求的,使用的工具是FeignClient, 以下是FeignClient的踩坑日记
1.在服务的启动入口,即main方法所在的类上需要加一个EnableFeignClients注解,并且如果需要扫描的包不在该类所属的同一包下,需要加上basePackages,否则可能会生成一个代理对象,并且报错

1
Invalid bound statement (not found): xxx.common.xx.xx.xxXClient.getXxxList

解决方法如下:

1
2
3
4
5
6
7
8
@EnableFeignClients(basePackages = {"test.common"})
public class Main {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(Main.class);
application.setBannerMode(Banner.Mode.OFF);
application.run(args);
}
}

阅读更多

2024.04.01 IDEA 破解

对于软件 IntelliJ IDEA 的使用者, 不定时有一些pojie的需求。这里做一个简单记录,资源来自大佬
有需要的伙伴可以阅读原文,这里只介绍基础说明。

  1. 访问以下链接:https://3.jetbra.in/
  2. 点击任一在线资源 image
  3. 点击下载jetbra.zip 文件 image
  4. 将步骤3中文件移动到一个不会轻易删除的目录下(可选)。解压缩文件,会看到一个ja-netfilter.jar文件
  5. 打开IDEA, 找到help导航栏下的Edit Custom VM Options...点击打开 image
  6. 在文件末尾增加一行, /Xxx根据自己的实际情况填写,就是步骤4的jar文件的绝对路径
    1
    -javaagent:/Xxx/jetbra/ja-netfilter.jar=jetbrains 
  7. 如果IDEA使用的Java 版本是17以上,则在该文件末尾增加两行
    1
    2
    --add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
    --add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED
  8. 保存并退出IDEA
  9. 找到步骤2中的链接,点击复制code image
  10. 点击help 导航栏下的 register ,将上步code 复制到 Active Code 框中,验证是否有效。如果有效,则激活成功。否则,从步骤2的其余资源处复制code。如果还不成功,则有可能是.jar文件有问题,暂时无法解决

Java中枚举类的序列化与反序列化

在Spring Boot项目中,常常会遇到实体类的某个字段是枚举类,但是数据库/前端 使用的是枚举类的code,所以会涉及到Json 序列化与反序列化的需求,这里以一个例子来记录如何正确地使用Json注解。

项目中使用的Json工具是Jackson,以该工具为例

1. 实体类定义

1
2
3
4
5
6
7
8
9
10
public class Transaction {

@Schema(description = "Transaction ID")
@TableId(value = "id")
private Long id;

@Schema(description = "交易类型")
@JsonAlias({"transaction_type", "type"})
private TransactionType type;
}

阅读更多