Fork me on GitHub
快速实现对象映射的几种方式

快速实现对象映射的几种方式

项目开发过程中,经常需要编写model之间的转换,最常见的有: 实体转DTO DTO转实体 … 举个例子: 12345678910111213141516171819202122// 实体:User@Data@Builder@NoArgsConstructor@AllArgsConstructorpublic class User { private Integer id; private String email; private St...

如何在IntelliJ IDEA数据库控制台操作Redis

如何在IntelliJ IDEA数据库控制台操作Redis

TIPS 本文理论支持IntelliJ IDEA家族所有IDE(例如Data Grip等)、所有版本 理论支持所有基于JDBC的各种GUI工具! 最近工作中,经常要操作到Redis,尽管市面上的Redis客户端GUI非常多,例如Redis Desktop Manager、AnotherRedisDesktopManager等。 但本人是一个IDEA流,更希望能在IDEA控制台上操作Redis,从而获得一致的研发体验,省得在各个窗口切来切去。 于是,我尝试寻找有无...

手把手使用SonarQube分析、改善项目代码质量(基于SnarQube 8.9.0)

手把手使用SonarQube分析、改善项目代码质量(基于SnarQube 8.9.0)

TIPS 本文基于SonarQube 8.9.0,理论支持6.0及更高版本。 SonarQube是一个开源的代码质量管理系统,可用来快速定位代码中的Bug、漏洞以及不优雅的代码。它支持几乎所有的常见编程语言,例如Java、JavaScript、TypeScript、Kotlin、Ruby、Go, Scala等。并且还有插件机制,利用插件,可以让SonarQube更加强大,例如可以整合Findbugs、PMD、Checkstyle等。可以说,SonarQube是一款提...

Tomcat调优教程

TIPS 本文基于Tomcat 9.0编写,理论兼容Tomcat 8.x及更高版本。 本文来探讨Tomcat的调优。 Tomcat调优参数主要调优参数在做Tomcat的调优时,最重要是就是Connector(连接器)的调优了(少数情况下,也可能会配置Executor) 下面贴出一段server.xml中的配置: 123456789101112<Executor name="tomcatThreadPool" namePrefix=&quo...

Linux调优相关命令汇总

TIPS 本文基于CentOS 7编写,理论支持所有所有版本Linux发行版,部分命令的个别参数在不同版本中可能存在细微的差异。 入门级12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788...

Skywalking系列博客9-Skywalking集群部署

Skywalking系列博客9-Skywalking集群部署

软件名称 版本 Nacos 下载地址 1.1.4 Skywalking 下载地址 6.5.0 Elasticsearch 下载地址 6.8.2 准备工作搭建Nacos集群在手记《 搭建生产可用的Nacos集群 》一文中有详细说明。 搭建Elasticsearch集群详见 ElasticSearch-6.7.0之集群环境搭建 搭建Skywalking集群准备工作完成后,下面来搭建一个2实例的Skywalking集群。由于我只有1台服务器,所以就把两...

Skywalking系列博客8-告警

TIPS 本文基于Skywalking 6.6编写,理论支持Skywalking 6.0及更高版本。 Skywalking的告警由规则来定义。规则存放在 skywalking根目录/config/alarm-settings.yml 中。 该文件结构大致如下: 12345678910111213141516rules: endpoint_percent_rule: metrics-name: endpoint_percent include-names...

使用Consul实现服务发现:instance-id自定义

TIPS 本文基于Spring Cloud Hoxton,理论支持Spring Cloud所有版本。 本文探讨如何自定义微服务注册到Consul的InstanceId。 Consul把InstanceId作为唯一标识,而Spring Cloud Consul默认的InstanceId是 ${spring.application.name}-${server.port} 。 这样导致的问题是:某个微服务即使有多个实例,只要端口相...

Skywalking系列博客7-动态配置

Skywalking系列博客7-动态配置

TIPS 本文基于Skywalking 6.6.0,理论支持Skywalking 6.5.0及更高版本。 从Skywalking 6.5.0开始,部分Skywalking配置项支持“动态配置”——这样修改完配置后,就无需重启Skywalking啦。 支持动态配置的配置项如下: 配置 Key 描述 值的格式 receiver-trace.default.slowDBAccessThreshold 访问数据库慢的阈值,该值将会覆盖applciation.ym...

Skywalking系列博客6-手把手教你编写Skywalking插件

Skywalking系列博客6-手把手教你编写Skywalking插件

前置知识在正式进入编写环节之前,建议先花一点时间了解下javaagent(这是JDK 5引入的一个玩意儿,最好了解下其工作原理);另外,Skywalking用到了byte-buddy(一个动态操作二进制码的库),所以最好也熟悉下。 当然不了解关系也不大,一般不影响你玩转Skywalking。 javaagent byte-buddy 1.9.6 简述及原理1 术语Span:可理解为一次方法调用,一个程序块的调用,或一次RPC/数据库访问。只要是一个具有完整时间周期的...