「Java 学習 + インタビュー ガイド」では、ほとんどの Java プログラマーが習得する必要がある中心的な知識をカバーしています。Java の面接の準備をするには、JavaGuide が第一の選択肢です。: https://javaguide.cn/
こんにちは、ガイドです!JavaGuide の「高品質なオープンソース プロジェクトの推奨」の第 9 回目となる今回は、毎号、高品質な Java オープンソース プロジェクトを 5 つ選出します。
「高品質オープンソース プロジェクトの推奨事項」の最初の 8 号のポータル: https://javaguide.cn/open-source-project/
より高品質の Java オープン ソース プロジェクトは、awesome-java (Java オープン ソース プロジェクトの優れたコレクション。Java プロジェクトを見つけるには必須です) を通じて見つけることができます。
- Github アドレス: https://github.com/CodingDocs/awesome-java
- Gitee アドレス: https://gitee.com/SnailClimb/awesome-java
- オンラインで読む: https://javaguide.cn/open-source-project/
mini-spring-cloud: Spring Cloud の簡易バージョン
mini-spring-cloud は、Spring Cloud の手書きの簡易バージョンであり、Spring Cloud のソース コードにすぐに慣れ、その中心原則を習得できるように設計されています。
mini-spring-cloud は、サービス登録、サービス検出、負荷分散、呼び出しを簡素化するための Feign の統合、フロー制御、サーキット ブレーカーのダウングレード、API ゲートウェイなど、Spring Cloud エコシステムによって提供されるコア機能を実装します。また、mini-spring-cloud では各機能を実現するために、詳細なソースコード解析も付属しています。
関連記事: Tencent、Spring Cloud を正式にオープンソース Tencent がワンストップのマイクロサービス ソリューションを作成
Github アドレス: https://github.com/DerekYRC/mini-spring-cloud
ANTLR: 強力な文法パーサー
Antlr (言語認識のための別のツール) は、構造化テキストまたはバイナリ ファイルの読み取り、処理、実行、翻訳に使用できる強力な語彙および構文パーサーです。
Antlr は、さまざまな言語、ツール、フレームワークを構築するために学術界や産業界で広く使用されています。たとえば、Twitter 検索のクエリ解析は ANTLR に基づいており、HBase アクセス クライアント Phoenix は SQL 解析に Antlr を使用しています。
Antlr は Java 言語で実装されており、Java、C#、JavaScript、Python、Go、C++、Swift などのプログラミング言語をサポートしており、現在、Github で 12,000 以上のスターを獲得しています。
Antlr の著者は Google のテック リードであり、サンフランシスコ大学のデータ サイエンスとコンピュータ サイエンスの教授であり、1989 年以来、言語ツールの開発と研究に深く関わってきました。彼が満足したと思っていた ANTLR 4 のリリースまでには 25 年かかりました。
関連資料: Antlr4 の概要
- Github アドレス: https://github.com/antlr/antlr4
- 公式サイト:https://www.antlr.org/
Spring Cloud Tencent: Spring Cloud の Tencent バージョン
Spring Cloud Tencent は、Tencent のオープンソースのワンストップ マイクロサービス ソリューションです。
Spring Cloud Tencent によって提供される機能には次のものが含まれますが、これらに限定されません。
- サービスの登録と検出
- 動的構成管理
- サービスガバナンス
- サービスのスロットリング
- サービスサーキットブレーカー
- サービスルーティング
- …
Spring Cloud Tencent は、体験環境を公式に提供しています。アドレス: http://14.116.241.63:8080/ (アカウントとパスワードは両方とも Polaris)。
関連記事: Tencent、Spring Cloud を正式にオープンソース Tencent がワンストップのマイクロサービス ソリューションを作成
Github アドレス: https://github.com/Tencent/spring-cloud-tencent
QR-Code-generator: 高品質の QR コード生成ライブラリ
QR-Code-generator は、複数の言語 (Java、TypeScript/JavaScript、Python、Rust、C++、C) をサポートする高品質の QR コード生成ライブラリです。
同じタイプの QR コード生成ライブラリと比較して、QR コード ジェネレーターのコードはより簡潔で、ドキュメントのコメントはより詳細です。
Java 言語の QR コード ジェネレーターに基づいて QR コードを生成するコード例は次のとおりです。
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;
import io.nayuki.qrcodegen.*;
// Simple operation
QrCode qr0 = QrCode.encodeText("Hello, world!", QrCode.Ecc.MEDIUM);
BufferedImage img = toImage(qr0, 4, 10); // See QrCodeGeneratorDemo
ImageIO.write(img, "png", new File("qr-code.png"));
// Manual operation
List<QrSegment> segs = QrSegment.makeSegments("3141592653589793238462643383");
QrCode qr1 = QrCode.encodeSegments(segs, QrCode.Ecc.HIGH, 5, 5, 2, false);
for (int y = 0; y < qr1.size; y++) {
for (int x = 0; x < qr1.size; x++) {
(... paint qr1.getModule(x, y) ...)
}
}
- Github アドレス: https://github.com/nayuki/QR-Code-generator。
- 公式ウェブサイト:https://www.nayuki.io/page/qr-code-generator-library。
Forest:次世代のナレッジコミュニティシステム
Forest は、トピックやポートフォリオをカスタマイズできる次世代のナレッジ コミュニティ システムです。
Forest のバックエンドは SpringBoot + Shrio + MyBatis + JWT + Redis に基づいており、フロントエンドは Vue + NuxtJS + Element-UI に基づいています。
非常にニッチなプロジェクトですが、作者が真剣に維持しており、多くのアイデアを持っていることがわかります。プロジェクトのホームページの紹介によると、このプロジェクトには将来的に専門知識の質問バンク、コミュニティ投稿システム、会員システムも追加される可能性があります。
- Github アドレス: https://github.com/rymcu。
- デモ: https://rymcu.com/。