《Java 面试指北》来啦!这是我这两年利用业余时间完成的 JavaGuide 开源版的补充。
你好,我是 Guide!这里是 JavaGuide 的「优质开源项目推荐」第 5 期,每一期我都会精选 5 个高质量的 Java 开源项目推荐给大家。既然立了 Flag ,那就不能说说而已!
前 4 期的项目推荐 👉:
这 5 个开源项目已经被收录进了 awesome-java (非常棒的 Java 开源项目集合,找 Java 项目必备)。
javalin 是一个轻量级的 Web 框架,同时支持 Java 和 Kotlin,被微软、红帽、Uber 等公司使用。
javalin 类似于 Spring ,有如下特点:
下面几行代码即可使用 javalin 完成一个简单的 Hello World 接口:
import io.javalin.Javalin;
public class HelloWorld {
public static void main(String[] args) {
Javalin app = Javalin.create().start(7070);
app.get("/", ctx -> ctx.result("Hello World"));
}
}
javalin 并不是为了取代 Spring ,而是为了丰富 Java Web 框架生态,Spring 的生态无敌,javalin 在开发一些简单的项目上也是非常不错!
顾名思义,GitHub API for Java 定义了一系列用于访问 Github 的 Java API。
举个例子,你可以使用这个仓库连接到自己的 Github 账户并进行相关操作(如创建/删除仓库、获取账号信息)。
这个库支持多种认证方式连接 Github:用户名和密码(不推荐)、 Personal access token、JWT 、GitHub App installation token。
比如说我们有了 Personal access token 之后,下面一行代码就可以直接连接上 Github 了:
GitHub github = new GitHubBuilder().withOAuthToken("my_personal_token").build();
并且,这个库支持替换 HTTP 客户端。
// 将 HTTP 客户端替换为 OkHttp
Cache cache = new Cache(cacheDirectory, 10 * 1024 * 1024); // 10MB cache
GitHub gitHub = GitHubBuilder.fromEnvironment()
.withConnector(new OkHttpConnector(new OkUrlFactory(new OkHttpClient().setCache(cache))))
.build();
关于 Github REST API 的详细介绍,你可以参考REST API 入门指南 - 官方文档。
Thumbnailator 是一个图像处理工具库,主要功能是缩放图像、添加水印、旋转图像、调整图片大小以及区域裁剪。
Thumbnailator 使用起来非常简单,几行代码即可实现对图片的处理。比如说我们要将某个目录下的图片统一调整为 640 px x 480 px 的最大尺寸,下面一行代码就可以了:
Thumbnails.of(new File("path/to/directory").listFiles())
.size(640, 480)
.outputFormat("jpg")
.toFiles(Rename.PREFIX_DOT_THUMBNAIL);
Github 地址:https://github.com/coobird/thumbnailator#/
相关文章推荐:两天两夜,1M 图片优化到 100kb!
Kafdrop 是一款基于 Spring Boot +FreeMarker 的 Kafka 可视化工具,支持查看 Kafka 代理(可以看作是一个独立的 Kafka 实例)、主题、消费者组,安全配置信息(ACLs),支持创建主题,。
这个项目的核心代码并不多,对于想要学习 Spring Boot 和 Kafka 的小伙伴来说,这就是一个非常好的项目。
Github 地址:https://github.com/obsidiandynamics/kafdrop
nginx-tutorial 是一系列 Nginx 极简教程,包含 HTTP 反向代理、HTTPS 反向代理、负载均衡、静态站点、文件服务器搭建等实战内容。
你可以配合《深入理解 Nginx(第 2 版)》 这本书食用。
·········· END ·············