興味は最良の教師です。HelloGitHubはプログラミングに興味を持たせます。
導入
HelloGitHub は、 GitHub 上で興味深いエントリーレベルのオープンソース プロジェクトを共有しています。
Python、Java、Go、C/C++、Swiftなど、さまざまなプログラミング言語を網羅した実践プロジェクト、入門チュートリアル、ブラックテクノロジー、オープンソース書籍、大手メーカーのオープンソースプロジェクトなどが揃っています。短期間でオープンソースの魅力を感じ、プログラミングに興味を持ちましょう!
今回の内容は以下の通り|毎月28日更新
Cプロジェクト
1. Barrier : 複数のコンピュータを 1 つのキーボードとマウスで制御するためのツール。このプロジェクトは、KVM スイッチの機能をシミュレートして、複数のコンピューターと異なるオペレーティング システムでキーボードとマウスを共有できるようにし、ワークフローをより効率的にします。インストールと使用が簡単で、複雑な設定は必要なく、カスタム ホット キー、複数のオペレーティング システム、視覚的な操作インターフェイスなどの機能をサポートしています。@longmonkeyによって共有されました
2. clumsy : Windows ネットワークを悪化させるツール。このプロジェクトは、WinDivert をベースに Windows のネットワーク状況を手動で制御するためのツールで、インストールやダウンロードを必要とせずにすぐに使用でき、ネットワーク遅延、スロットル、パケットロスなどをシミュレートするために使用できます。
3. vlc : 無料、無料、クロスプラットフォームのビデオプレーヤー。これは、ほぼすべてのオーディオおよびビデオ形式とさまざまなストリーミング メディア プロトコルでファイルを再生できるプレーヤーです。完全に無料で、広告はなく、追加のコーデックのインストールは必要ありません。ファイル、ディスク、カメラ、ストリーミングの再生をサポートしていますメディア コンテンツ。Windows、Linux、macOS、Android、iOS プラットフォームで実行できます。
C# プロジェクト
4. Borderless-Gaming : ユニバーサルなフルスクリーン ゲーム ツール。本来フルスクリーンに対応していないゲームをフルスクリーン化できる、ゲーム専用に開発されたウィンドウ最適化ツール。シンプルなインターフェイスで使いやすく、ワンクリックの全画面表示と回復をサポートしており、Windows システムに適しています。
5.依存関係: DLL の依存関係を表示するツール。DLL ファイル、つまりダイナミック リンク ライブラリ ファイルは、共有ライブラリ ファイルの一種であり、Windows システム上の実行可能ファイル (.exe) には、通常、.dll 拡張子が付いた複数のファイルが含まれています。このプロジェクトは、Windows 上で DLL ファイルの依存関係ツリーを表示するためのツールで、依存関係の欠落により .exe プログラムを実行できない問題の解決に役立ちます。@lonegunnerからの共有
6. WinMemoryCleaner : 実用的な Windows メモリ クリーニング ツール。C# で書かれており、サイズはわずか 200 KB 以上で、クリーンなインターフェイスを備え、自動メモリ クリーニングの間隔としきい値を設定でき、プロセス ホワイトリスト、複数言語、ホットキー、スタートアップなどの機能をサポートしています。@隼丶、Zhige reNo7からの共有
C++ プロジェクト
7. KeyDB : Redis のマルチスレッド バージョン。このプロジェクトは、Snapchat によってオープンソース化されたマルチスレッド Redis であり、高性能、高スループット、Redis プロトコルとの完全な互換性という特徴があります。マルチスレッドを使用すると、Redis のブロックを心配することなく、KEYS および SCAN コマンドを安全に実行できます。
8. MuseScore : 無料のオープンソースのスコア作成ツール。C++で書かれた楽譜を作成、編集するためのデスクトップツールで、美しいインターフェース、中国語、豊富な機能を備え、無料かつ無制限であることがポイントです。ピアノ、ギターなどを含む 500 を超える楽器のアレンジをサポートしており、Windows、Linux、macOS システムに適しています。
9. rpcs3:PS3ゲームをスムーズに実行するオープンソースのエミュレータ。このプロジェクトは、C++ で書かれた PlayStation 3 (PS3) エミュレータです。インストール後、デフォルトの構成を使用すると、PS3 コンソールでさまざまなゲームを比較的スムーズに実行できます。Windows、Linux、macOS、FreeBSD オペレーティング システムに適しています。
10. tiled : 強力な 2D ゲーム レベル編集ツール。このプロジェクトは、完全にコミュニティ主導の、強力で使いやすい 2D ゲーム シーン エディターです。開発者が 2D ゲーム マップとデザイン レベルを迅速に作成するのに役立ちます。柔軟なオブジェクト レイヤー、画像の自由な配置、ピクセルの配置、次のような機能をサポートしています。タイルアニメーションとコリジョンエディター。
ゴープロジェクト
11. groupcache : Go で書かれた軽量の分散キャッシュ ライブラリ。このプロジェクトは、Golang による公式のオープンソース ライブラリであり、デプロイメントを必要としない分散キャッシュを実装しています。クエリがキャッシュをミスした場合に 1 つのプロセスのみでキャッシュを埋める機能 (ペネトレーションやアバランシェ防止)、ホットスポット データの自動拡張などの機能をサポートしていますが、データの更新と削除 (LRU によるメモリ制御) はサポートしていません。特定の特定のシナリオにのみ適しています。
12. kopia : 便利なクロスプラットフォームのバックアップ ツール。Windows、Linux、macOS に適したバックアップ/復元ツールです。指定したファイルとディレクトリを暗号化および圧縮してスナップショットを生成し、リモート サーバーまたはクラウド ストレージにアップロードして、リモート バックアップ データの機能を実現します。コマンド ライン出力をサポートします。使用方法は 2 つあります: と GUI。
13. photoprism : AI機能を備えたオープンソースのプライベートクラウドフォトアルバム。このプロジェクトは Go 言語で書かれたオンラインのプライベート フォト アルバムです. 安定していて展開が簡単です. 写真の閲覧/バックアップ, 場所/タイムラインによる写真の閲覧, モバイル端末での写真の自動バックアップ, 顔認識をサポートしています、写真の自動分類などの機能が利用可能です。プライベート フォト アルバムを作成して写真を管理しましょう。@红宇Hovからの共有
14. zlsgo : シンプルで使いやすい Golang ツール ライブラリ。このプロジェクトは、HTTP サービス、ログ、ホット リスタート、バリデータ、コーディングなど、開発中に頻繁に記述される十数個の関数を、開発効率を向上させるためにすぐに使用できるライブラリにカプセル化します。@NERVA9dyXxからの共有
func main() {
// 需要验证的数据
data := "我是需要验证的数据,我的作用是做用户名"
// 开始验证数据,不能为空,必须包含字母
name, err := zvalid.Text(data, "用户名").Required().HasNumber().HasLetter().String()
if err != nil {
zlog.Debug("验证失败", err)
}
data = "我是需要验证的数据,我的作用是做用户名,我有字母 A"
name, err = zvalid.Text(data, "用户名").Required().HasLetter().String()
zlog.Debug("用户名是:", name)
// 初始化一个对象,并绑定需要验证的字符串
// zvalid.New().Verifi("username","用户名").String()
}
Javaプロジェクト
15. minum : 最小限の Java Web フレームワーク。このプロジェクトは著者が開発した Java Web フレームワークで、シンプルで依存関係がなく、パフォーマンスが良く、データベース、Web サーバー、テンプレート エンジン、ログなどの機能が組み込まれています。あなたが Java の初心者で、主要な Web フレームワークによく「迷って」しまう場合は、すぐに Web 開発を始めて、このプロジェクトを通じて頭をクリアにすることができます。
package org.example.myproject;
import com.renomad.minum.web.*;
public class Main {
public static void main(String[] args) {
// Start the system
FullSystem fs = FullSystem.initialize();
// Register some endpoints
fs.getWebFramework().registerPath(
RequestLine.Method.GET,
"",
request -> Response.htmlOk("<p>Hi there world!</p>"));
fs.block();
}
}
16. WePush : バッチプッシュに焦点を当てた小さなツール。このプロジェクトは Java で書かれたバッチ プッシュ デスクトップ ツールです. カスタム メッセージ、プレビュー メッセージ、ユーザーのバッチ インポート、マルチアカウント管理、スケジュールされたプッシュなどの機能をサポートしています. 現在、公式アカウント テンプレート メッセージ、企業 WeChat、WeChat をサポートしていますカスタマー サービス、SMS、電子メール、その他のメッセージ タイプ。@zhouboからの共有
JavaScript プロジェクト
17. auto-animate : プラグアンドプレイのトランジションアニメーションライブラリ。このプロジェクトは、Web アプリケーションにスムーズなトランジション効果を追加できます。既存のコードを変更せずに簡単に開始できます。子要素が追加、削除、または移動されると、アニメーションが自動的にトリガーされます。React、Solid、Vue、Svelte に適していますおよび JavaScript アプリケーション。@Uyloalによって共有されました
18. html-to-image : HTML Web ページを画像に変換するライブラリ。このプロジェクトは、任意の DOM ノードを SVG、PNG、JPEG などのさまざまな形式の画像に変換でき、React やネイティブ JavaScript コードで直接使用できます。@红宇Hovからの共有
var node = document.getElementById('my-node');
htmlToImage.toPng(node)
.then(function (dataUrl) {
var img = new Image();
img.src = dataUrl;
document.body.appendChild(img);
})
.catch(function (error) {
console.error('oops, something went wrong!', error);
});
19. lx-music-desktop : 無料、広告なしの音楽ソフトウェア。Luoxue Music Assistant のデスクトップ バージョンは、Electron + Vue に基づいて開発された音楽検索ツールです。音楽ソースを自分で設定する必要があり、Windows、macOS、Linux、Android プラットフォームでの実行をサポートしています。
20. threejs-tetris-react : 3D テトリス。このプロジェクトは、Three.js + React + TypeScript を使用して構築された 3D テトリス ゲームです。
21. workout-lol : 筋トレ計画を立てる。このプロジェクトは NextJS で書かれた小さな Web アプリケーションであり、より効果的な運動に役立ちます。ユーザーは、運動器具を選択し、体の部位を指定する必要があります。その後、Web サイトに動作ガイドのビデオとテキストの説明が表示されます。@红宇Hovからの共有
Objective-C プロジェクト
22. Sequel-Ace : macOS 用の MySQL データベース管理ツール。Mac 上の古いデータベース管理ツール Sequel Pro が更新を停止したため、Sequel-Ace が作成されました。無料のオープンソースで、継続的に更新され、Intel および Apple チップをサポートし、macOS 10.13 以降のシステムに適しています。
Pythonプロジェクト
23. codespell : コード内のスペルミスを見つけるコマンド。このプロジェクトは主に、ファイル内の一般的な単語のスペル エラーをチェックするために使用されます。変数名の誤検知はほとんど発生しません。ディレクトリの指定、ファイルの接尾辞、変更の提案、ファイルの無視などの機能をサポートしています。@Xuefeng Xuがシェアしたもの
codespell some_file some_dir/ *.ext # 检查目录下 ext 后缀文件
codespell -w, --write-changes # 显示修改建议
24. pwntools : 有名な CTF フレームワークおよび脆弱性悪用開発ライブラリ。このプロジェクトは Python で書かれた CTF フレームワークであり、リモート接続、ネットワーク、アセンブリ/逆アセンブリ、ELF モジュール、シェルコード生成などの機能をすぐに利用できるため、CTF プレーヤーは EXP (脆弱性を悪用する攻撃ロジック) の作成に集中できます。
from pwn import *
context(arch = 'i386', os = 'linux')
r = remote('exploitme.example.com', 31337)
# 这里写漏洞利用逻辑
r.send(asm(shellcraft.sh()))
r.interactive()
25. python-holidays : 休日を扱うための Python ライブラリ。このプロジェクトは、国/地域や州が発表する法定休日の動的な生成をサポートしており、指定された日付が休日であるかどうかを迅速に判断できます。
from datetime import date
import holidays
cn_holidays = holidays.CN()
date(2021, 10, 1) in cn_holidays # True
date(2023, 10, 8) in cn_holidays # False
date(2024, 2, 9) in cn_holidays # True 我看了下源码还未更新 2024 年的假期
26. Qexo : 美しい Hexo 静的ブログエディター。このプロジェクトは、Django の Hexo 静的ブログ管理バックエンドに基づいており、記事管理、複数の画像ベッド、自動更新、フレンドリー リンク、サイト統計、その他の機能をサポートしています。
27. tacticalrmm : PCを遠隔監視・管理するツール。このプロジェクトは、Django+Vue.js を使用して構築された IT 管理プラットフォームで、リモート デスクトップ制御、コマンドとスクリプトのリモート実行、ファイルのアップロードとダウンロード、アラーム、および TeamViewer と同様のその他の機能をサポートします。
Rustプロジェクト
28. helix : Rustで書かれたターミナルテキストエディタ。Kakoune と Neovim からインスピレーションを得たエディターで、すぐに使用できるスマートな初心者向けのエディターであり、Vim のような編集モード、ツリー シッター (高速ハイライト)、LSP およびその他の機能をサポートしています。
29. mini-redis : Rust で書かれたミニ Redis。このプロジェクトはTokioで構築されたRedisであり、PING、GET、SET、PUBLISHなどのコマンドのみを実装します。これは、Tokio の練習プロジェクトとして使用できますが、実稼働環境では使用できません。
use tokio::net::TcpListener;
use tokio::io::{AsyncReadExt, AsyncWriteExt};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let listener = TcpListener::bind("127.0.0.1:8080").await?;
loop {
let (mut socket, _) = listener.accept().await?;
tokio::spawn(async move {
let mut buf = [0; 1024];
// In a loop, read data from the socket and write the data back.
loop {
let n = match socket.read(&mut buf).await {
// socket closed
Ok(n) if n == 0 => return,
Ok(n) => n,
Err(e) => {
eprintln!("failed to read from socket; err = {:?}", e);
return;
}
};
// Write the data back
if let Err(e) = socket.write_all(&buf[0..n]).await {
eprintln!("failed to write to socket; err = {:?}", e);
return;
}
}
});
}
}
30. Rust-blog : Rust初心者向けのブログ。ここの記事は、Rust を学習するための初心者向けの提案、Rust 標準ライブラリの説明など、Rust 初心者が Rust 言語をよりよく習得するのに役立ちます。
スウィフトプロジェクト
31. Delta : iOS 上のオールインワンのクラシック ゲーム エミュレータ。これは脱獄の必要のないiOSデバイス用のゲームエミュレータで、NES、GBA、Nintendo 64などのゲームをサポートしています。
他の
32. AnuPpuccin : 絶妙な黒曜石のテーマ。この Obsidian テーマは、さまざまなカラー パレット、組み込みの主流のカラー スキーム、レインボー フォルダー、カスタム背景、その他の機能をサポートしています。
33. fluentui-system-icons : Microsoft のオープンソース アイコン コレクション。これは、リッチで洗練され、統一された Microsoft Fluent UI デザイン スタイル アイコンのセットです。
34. leetcode : Leetcode アルゴリズムの問題解決に関する包括的なガイド。このプロジェクトには、LeetCode、「Sword Pointer Offer」、「Programmer Interview Code」などのトピックに関連するソリューションが含まれており、問題解決策は Java、Python、C++、Go、TypeScript などの複数のプログラミング言語で実装されています。さび。@Libin YANGによって共有されました
35. Smart_Plant : 自作のスマートプラント監視装置。これは土壌に直接挿入でき、土壌水分、温度、光の測定をサポートする環境モニタリング デバイスです。このプロジェクトには回路基板のみが含まれており、電子インク スクリーン、ソーラー パネルなどの自己組み立てが必要です。
36. TNT-ウィークリー: TNT フロントエンドのウィークリー。このプロジェクトは、Tencent News Front-end Team (TNT) が開始した毎週のプロジェクトで、国内外のフロントエンド分野の最新の優れた記事と業界トレンドを毎週公開します。
37. try : コマンドを実行する前にコマンドを試します。このプロジェクトでは、実際にコマンドを実行する前にコマンドの実行結果を確認することができますが、すべてのネットワークリクエストが許可されているため、完全に独立した空間(サンドボックス)ではないことに注意してください。
オープンソースの書籍
38. latex-cookbook : 「LaTeX 論文作成チュートリアル」。本書は、LaTeX の基本、テキスト編集、数式、図表のデザイン、文献の引用などを網羅し、LaTeX を使った論文の書き方を解説します。
39.スタートアップ-CTO-ハンドブック:「スタートアップ企業CTOハンドブック」。これはスタートアップの最高技術責任者向けの本で、技術チームの管理、採用と面接、技術アーキテクチャなどをカバーしています。著者は多くの新興企業の CTO および CEO を務め、Tencent ではアントレプレナー・イン・レジデンス (EIR) も務めました。
機械学習
40. deepface : 軽量の顔認識および分析ライブラリ。このプロジェクトは、Python で書かれた顔認識および顔属性分析フレームワークであり、顔画像に基づいて年齢、性別、感情、その他の情報をインテリジェントに識別できます。
41. DeepLearningSystem : AI システムとディープラーニングのチュートリアル。このプロジェクトは主に人工知能と深層学習のシステム設計に関するチュートリアルで、AI、AI チップ、AI コンパイラーの原理、AI フレームワークのコア技術などの基礎知識と概要をカバーします。
42.ガイダンス: Microsoft のオープンソース LLM プロンプト プログラミング言語。このプロジェクトは、プロンプトを作成するための Microsoft のオープン ソース テンプレート言語です。複雑で再利用可能で管理しやすいプロンプトを作成するために使用されます。GPT-4 や LLaMa などの複数の大規模な言語モデルをサポートしています。
やっと
オープンソース プロジェクトを無私に共有する友人のおかげで、より多くのオープンソース愛好家が HelloGitHub に来て、オープンソース プロジェクトを自薦/推薦することが歓迎されます。GitHub で興味深いプロジェクトを見つけたら、ここをクリックしてみんなと共有してください。
以上が今回の内容です。クリックすると前回の内容をご覧いただけます。
Lei Jun氏はXiaomiのThePaper OSの完全なシステムアーキテクチャを発表し、最下層が完全に再構築されたと述べ、 Yuque氏は10月23日に障害の原因と修復プロセスを発表 Microsoft CEOのナデラ氏「Windows Phoneとモバイル事業を放棄したのは間違った決断だった」 . Java 11 と Java 17 の使用率は両方とも Java 8 を上回りました. Hugging Face は Yuque へのアクセスを制限されました. ネットワーク障害は約 10 時間続きましたが、現在は通常に戻っています. 国家データ局が Oracle を正式に発表しました. Visual Studio 用の Java 開発拡張機能を開始しましたCode.Musk : Wikipedia が「Weiji Encyclopedia」に名前変更されたら 10 億寄付 USDMySQL 8.2.0 GA