Swagger注解、JavaDoc一键生成 - 写个IntelliJ IDEA插件吧

2023-10-07
阅读 5 分钟
1k
因为公司的要求,我们需要使用Protobuff完成序列化工作,并且需要生成API文档,所以我们一般需要补上Swagger注解和Tag注解。为了补上这两种注解,你需要一点一点地敲键盘了。
封面图

集成测试实战(1)理论基础

2022-02-13
阅读 3 分钟
1.9k
程序猿如何看待自测?为什么要关注测试?怎么进行测试?本文基于相关问题进行了总结,其中很多内容来自于极客时间专栏「程序员的测试课」。下一篇文章聚焦在集成测试的实践上。

Java代码中字符串拼接方式分析

2022-02-13
阅读 8 分钟
1.8k
本文研讨的字符串拼接方式为以下4种:“+”号、StringBuilder、StringJoiner、String#join,对比分析及探讨最佳实践。

动手实践Redis主从复制、Sentinel主从切换、Cluster分片

2021-05-15
阅读 8 分钟
3.8k
Redis 提供的如下技术「Redis Sentinel『主从切换』、Redis Cluster『分片』」,有效实现了 Redis 的高可用、高性能、高可伸缩性,本文对以上技术进行亲自动手实践。

搭建基于 docker 的 Kafka 集群及 Spring Boot 应用访问

2021-03-27
阅读 4 分钟
5.5k
需求搭建一个 3 节点 kafka 集群,测试功能和性能实现 Spring kafka 下对 kafka 集群的操作一、搭建精简版 kafka 集群参考排名第一的 kafka 镜像 wurstmeister/kafka 的官方文档,进行如下操作:创建 docker-compose.yml 文件,内容如下: {代码...} 关键点:未指定 kafka 容器名、未暴露 kafka 相关端口,便于 docker-c...

仿照Kafka,从零开始自实现 MQ

2021-02-19
阅读 5 分钟
1.6k
仿照Kafka,从零开始自实现 MQ,实现了 Kafka 中 80% 的基础功能。学习 Kafka 的话如果只是看文章和源码,可能不久就会忘了,还是自己实现一个「精简版」的 Kafka 吧,

亲自动手设计一个高并发的秒杀系统

2021-01-30
阅读 2 分钟
2.4k
一、需求有多款商品,每款商品均100件,每人限每款商品最多购买一件。在X月X日 X时X分0秒开启购买。在约定时间之前,只能看到产品页面,购买按钮置灰。二、活动预估预计每种商品数万人参与活动开始后半分钟内,预计每种商品收到10W次交易请求,预计总TPS:20W/s活动开始半分钟后,预计绝大多数商品已售罄,剩下的商品仍...

Multi Module Spring Boot集成测试使用JaCoCo生成测试覆盖率

2020-08-22
阅读 4 分钟
5.7k
一般的SpringBoot项目会由多Module组成,每个Module为不同的功能模块。项目启动时,多个Module提供不同的服务,共同支持了本项目所提供的服务。若采用启动SpringBoot的方式进行多Module集成测试,一般test case会放在SpringApplication类所在的Module中,该Module一般仅提供了服务的入口,并无太多实际业务功能「简单来...

基于 Hexo + NexT + GitHub 的静态博客,2020 年 8 月升级过程记录

2020-08-09
阅读 2 分钟
3.4k
早在 2017 年,我基于 Hexo + NexT 搭建了 GitHub 托管的静态博客。到现在快 3 年了,发生了很多变化,比如 Hexo 脚手架升级了 2 个大版本「目前最新 5.0 版」,Node.js 也升级了多个大版本,静态博客的功能进行了很多增强,为了赶上时代的潮流,故需要对之前搭建的静态博客底层框架进行全方面的升级。本文记载了完整的...

「原理分析」Spring Boot启动时基于spring.factories自动读取远端Environment实现的原理源码分析

2020-07-26
阅读 6 分钟
4.8k
采用Spring标准的事件/监听器模型,通过Spring SPI的方式,在Spring Boot启动时,自动读取远端「远程服务器、本地硬盘等」Environment配置,方便在Spring Boot启动前,对配置进行灵活调整,增加灵活性,减少硬编码。

Ubuntu 下 Oh My Zsh 的最佳实践「安装及配置」

2018-06-14
阅读 3 分钟
47.3k
Oh My Zsh 是一款社区驱动的命令行工具,是基于 Zsh 命令行的一个扩展工具集,提供了丰富的扩展功能,如:主题配置,插件机制,内置的便捷操作等,可以给我们一种全新的命令行使用体验。下文对 Oh My Zsh 的安装及配置方法进行总结,只总结最佳的实践。

Spring Boot + MongoDB 应用的 Docker 化实践

2018-06-05
阅读 3 分钟
4.8k
本文旨在通过将一个具体的 Spring Boot + MongoDB 项目进行 Docker 化处理,从而对 Docker 的基本用法进行一次实践。该项目 Docker 化后,后端服务访问数据库正常,仍然可以打开后端服务托管的单页 Web 应用,总之项目运行状态符合预期。具体使用的项目见 这个 GitHub 仓库。

基于 Netty 的可插拔业务通信协议的实现「3」业务注册及实际工作流程

2018-04-27
阅读 5 分钟
2k
本文为该系列的第三篇文章,设计需求为:服务端程序和众多客户端程序通过 TCP 协议进行通信,通信双方需通信的消息种类众多。上一篇文章以一个具体的需求为例,探讨了指定的 Java 消息对象与其相应的二进制数据帧相互转换的方法。本文仍以该实例为例,探讨该自定义通信协议的具体工作流程,以及如何以注册的形式灵活插拔...

基于 Netty 的可插拔业务通信协议的实现「2」特定业务消息对象的设计

2018-03-29
阅读 4 分钟
2.1k
本文为该系列的第二篇文章,设计需求为:服务端程序和众多客户端程序通过 TCP 协议进行通信,通信双方需通信的消息种类众多。上一篇文章详细描述了该通信协议的二进制数据帧格式以及基本 Java 消息类,假设通信双方「服务端、客户端」均由 Netty 框架构建而成,双方在程序内部使用 Java 消息对象,通信双方信息交互采用...

基于 Netty 的可插拔业务通信协议的实现「1」协议描述及基本消息对象设计

2018-02-28
阅读 4 分钟
3.6k
开发工程中,有一个常见的需求:服务端程序和多个客户端程序通过 TCP 协议进行通信,通信双方需通信的消息种类众多,并且客户端的数量可能有数万个。为此,双方需要约定尽可能丰富、灵活的数据帧「数据包」协议,方便后续业务功能的设计。

Windows 10 用于 Linux 子系统的一键构建、打包脚本「 Node、Gradle 项目」

2018-02-22
阅读 4 分钟
4.8k
最近正在开发一个 Java & Vue.js 全栈项目,该项目由以下几部分组成:Java 后端服务器、基于 Vue.js 的单页应用、基于 JavaFX 的 GUI 客户端以及其他辅助工具等。

使用 Linux 子系统部署 Node、Gradle 项目的构建工具

2018-02-17
阅读 3 分钟
4.1k
最近的一个项目,由三个 Gradle「Java」工程以及一个 Node「Vue.js」工程组成。为了使用 Linux 下的各种工具提升效率,本文探讨 Linux 子系统的使用及在该系统下,Java、Node.js、Gradle 等工具的配置。并在后一篇文章中,探讨该项目的一键构建、打包脚本,从而根本上提升开发效率。

基于 Vue.js 2.0 酷炫自适应背景视频登录页面的设计

2018-01-17
阅读 4 分钟
14.7k
本文讲述如何实现拥有酷炫背景视频的登录页面,浏览器窗口随意拉伸,背景视频及前景登录组件均能完美适配,背景视频可始终铺满窗口,前景组件始终居中,视频的内容始终得到最大限度的保留,可以得到最好的视觉效果。并且基于 Vue.js 2.0 全家桶。具体效果如下图所示:

经典排序算法及其 Java 实现

2018-01-17
阅读 5 分钟
1.6k
网上有很多排序算法的总结,不过有很多缺点,比如有些根本就是错的,无法通过测试用例,有些过于冗长。所以我总结了一套短小精悍的 Java 实现,经测试,该套实现可通过牛客网的关于此的所有测试用例。

基于 Netty 的帧调度策略,自行实现流量控制及可靠性通信

2018-01-17
阅读 2 分钟
3.3k
最近正在做一个 Java 后端项目「大规模集群设备的管理平台」。使用 Spring 作为基础框架,使用 Netty 搭建 TCP 服务器与上万台设备组成的集群通信,使用基于 JavaFX 的图形界面应用程序模拟上万台设备的行为,并可对服务器进行压力测试。

「译」Maven 集成 JavaFX 8 以及 <fx:root> 问题探讨

2018-01-17
阅读 3 分钟
2.6k
上一篇文章探讨了使用 IntelliJ IDEA 创建 JavaFX 工程,进而开发了所需应用程序。更实际的情况是需要使用 Maven, Gradle 等进行项目的构建。本文探讨使用 Maven 构建集成 JavaFX 8 的可执行程序的方法,以及 <fx:root> 根节点问题。

JavaFX 8 下简化自定义控件的外部调用以及流式布局示例

2018-01-17
阅读 5 分钟
4.1k
有一个项目,需要模拟数千台设备的工作情况,这数千个设备分为若干组,每组 100 台。故需要设计一款 GUI 程序,包含 100 个自定义控件,模拟一组设备的工作情况,通过 ListView 对设备组进行选择,即可成功模拟数千台设备。

Netty 框架总结「ChannelHandler 及 EventLoop」

2018-01-17
阅读 5 分钟
2.5k
学习了一段时间的 Netty,将重点与学习心得总结如下,本文主要总结ChannelHandler 及 EventLoop 的知识点和基本用法,本文章节排序参照《Netty in Action》的章节排序。

加速访问基于 Github Pages 和 Hexo 的博客

2018-01-17
阅读 2 分钟
7.7k
本文探讨如何加速访问基于 Github Pages 和 Hexo 的博客。大家搭建博客广泛采用了 Hexo + NexT + Github Pages 的方式。众所周知,这种类型的博客未经优化,打开速度比较慢,本文探讨优化的方法,包括修改依赖的字体资源,更换博客托管平台等方式,加速博客的访问。

SLF4J 和 Logback 在 Maven 项目中的使用方法

2018-01-17
阅读 3 分钟
13.4k
本文介绍 SLF4J 和 Logback 在 Maven 项目中的用法,包括日志框架的依赖、使用,以及 XML 配置文件的引入。本文的精华内容翻译 Base22,文章来源见文末。

Maven 常用技巧总结

2018-01-17
阅读 4 分钟
2.3k
「博客搬家」 原地址: 简书 原发表时间: 2017-04-06 1. 设置 Java JDK 的版本为「JDK 1.8」 可以修改 pom.xml 添加如下语句实现使用 Java 8 语言特性,共有两种方式,可任选其一: 1.1 添加 property {代码...} 1.2 直接配置插件 {代码...} 2. Maven 构建生成可执行的 Jar 2.1 简单构建可执行的 Jar {代码...} 此时可使...

基于 Netty 的自定义帧高可靠性读取方案

2018-01-17
阅读 7 分钟
3.2k
本文采用 Netty 这一最流行的 Java NIO 框架,作为 Java 服务器通信部分的基础框架,探索使用一个通道、一台服务器对多个客户端提供服务。

为你的简书和 GitHub 设定个性域名

2018-01-17
阅读 2 分钟
3.2k
CSDN 的写作体验很好,但是发布的文章呈现效果很差,但是有个优点:用户名作为 CSDN 的子目录,即变相实现个性域名,比如我的CSDN域名是:[链接]

使用 Maven 构建 Java 项目

2018-01-17
阅读 4 分钟
2.5k
Maven 是基于项目对象模型「POM」,可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。本文总结了 Maven 的基本用法。

关于 OkHttp 依赖冲突问题的解决过程

2018-01-17
阅读 5 分钟
5.6k
OkHttp 是一个流行的开源网络请求库。许多第三方库的底层都是使用 OkHttp 实现网络请求,所以 OkHttp 相关的依赖冲突问题就变得很难避免,下文是我所遇到的一次关于 OkHttp 的依赖冲突问题,通过对 Gradle 工具及 Android Studio 的灵活使用,解决了此问题。