「HelloGitHub」第90号

興味は最良の教師です。HelloGitHubプログラミングに興味を持たせます。

導入

HelloGitHub は、 GitHub 上で興味深いエントリーレベルのオープンソース プロジェクトを共有しています。

https://github.com/521xueweihan/HelloGitHub

Python、Java、Go、C/C++、Swiftなど、さまざまなプログラミング言語を網羅した実践プロジェクト、入門チュートリアル、ブラックテクノロジー、オープンソース書籍、大手メーカーのオープンソースプロジェクトなどが揃っています。短期間でオープンソースの魅力を感じ、プログラミングに興味を持ちましょう!


今回の内容は以下の通り|毎月28日更新

Cプロジェクト

1. BlackHole : macOS 用の仮想オーディオ ドライバー。macOS でビデオを録画したことがある学生は、コンピューターの音声を録音するという問題に遭遇したことがあると思いますが、公開方法には非常に高い環境要件が必要です。このプロジェクトは、macOS 上の仮想オーディオ ドライバーです。出力オーディオを遅延ゼロで他のアプリケーションに渡すことができるため、周囲の環境に影響されず、コンピューターのサウンドを簡単に録音できます。Intel および Apple チップをサポートしています。

2. c4 : 4つの関数を実装したC言語コンパイラ。このプロジェクトでは、500 行を超えるコードと 4 つの関数のみを使用して、小さな C 言語コンパイラを実装しました。しかし、コードが合理化されすぎているため、ソースコードが読みにくくなっています。

C# プロジェクト

3.オプティマイザー: 非常に使いやすい Windows オプティマイザー。強力な Windows システム最適化ツールです。小型で機能が豊富です。中国語を含む 22 言語をサポートしています。不要な Windows サービスを無効にし、冗長なスタートアップ プログラムを削除し、未使用の機能をオフにし、Windows システムの使用率を向上させることができます。経験と実績。

4. Translumo : 無料のオープンソースのリアルタイム画面翻訳ツール。このプロジェクトは、画面上の選択した領域に表示されるテキストのリアルタイム翻訳を実行でき、英語、ロシア語、中国語などの言語を認識できます。ユーザーは、Tesseract、WindowsOCR、EasyOCR などの複数の OCR エンジンと、Google 翻訳を含む複数の翻訳ソースから選択できます。

C++ プロジェクト

5. duckdb : SQLite に似た分析データベース。このプロジェクトは、C++ で書かれた OLAP (オンライン分析処理) データベースです。外部の依存関係がなく、独立したプロセスとして実行されません。SQLite の OLAP バージョンとみなすことができます。便利で高速かつ使いやすく、豊富な SQL 言語を提供し、JOIN、集計、ウィンドウ関数、CSV および JSON ファイルの直接クエリ、その他の関数をサポートしています。

SELECT * FROM 'HelloGitHub.csv';
SELECT * FROM 'HelloGitHub.parquet';

6. kakoune : Vim に似たコードエディター。ミニマルなインターフェイスと便利な編集モデルを備えたコード エディター。そのデザインは Vim からインスピレーションを受けていますが、機能性と対話性の点で「以前のバージョンよりも優れています」。操作はより速く、より便利になり、構文の強調表示、自動補完などの機能がデフォルトでサポートされ、Linux および macOS オペレーティング システムに適しています。

7. SafeLine : シンプルで使いやすい Web アプリケーション ファイアウォール。このプロジェクトの最下層は、ネットワークにアクセスするためのリバース プロキシとして機能する Nginx の Web ゲートウェイに基づいています。インテリジェントなセマンティック分析アルゴリズムを使用して、ハッカーからの悪意のあるトラフィックを除去し、Web サイトをハッカーの攻撃から保護します。インストールは簡単で、無料版の機能も利用できますが、このプロジェクトで公開されるのはコア アルゴリズムと基礎となるエンジンのみです。@lonegunnerからの共有

8.スマートノブ: 触覚的なスマートノブを自分で作ります。これはオープンソースのスマート ノブ デバイスで、エンドポイントの位置、仮想ブレーキ、触覚フィードバックをカスタマイズでき、非常にクールで楽しい円形 LCD を備えています。

9. typesense : 超高速のオープンソース検索エンジン。このプロジェクトは C++ で書かれたインスタント検索エンジンで、すぐに使用できること、高速な検索速度、スペル ミスの自動修正、地理的検索、中国語のデフォルトの単語分割サポートなどの特徴があります。

CSSプロジェクト

10. pokemon-cards-css : クールなポケモンカードの CSS 効果。このプロジェクトはポケットモンスター カード用の高度な CSS スタイルのコレクションであり、3D 変換、フィルター、グラデーションなどのテクノロジーを使用して、グレア、テクスチャ、銀河ホログラム、垂直ビームなどの効果を実現します。

ゴープロジェクト

11. asyncq : 純粋な Go で書かれたシンプルで信頼性の高い分散タスク キュー。Redis ベースの軽量な非同期タスク キューで、タスクごとにゴルーチンを起動し、タスク失敗時のリトライ、優先キュー、スケジュールされたタスク、独自タスクなどの機能をサポートします。

12.carbon : 開発に優しい Go 時間処理ライブラリ。時刻変換、時差、タイムトラベル、星座、季節、太陰暦、多言語などをサポートする機能豊富で使いやすいGo timeライブラリです。

lang := carbon.NewLanguage()
lang.SetLocale("zh-CN")

c := carbon.SetLanguage(lang)
if c.Error != nil {
	// 错误处理
	log.Fatal(err)
}

c.Now().AddHours(1).DiffForHumans() // 1 小时后
c.Now().AddHours(1).ToMonthString() // 八月
c.Now().AddHours(1).ToShortMonthString() // 8月
c.Now().AddHours(1).ToWeekString() // 星期二
c.Now().AddHours(1).ToShortWeekString() // 周二
c.Now().AddHours(1).Constellation() // 狮子座
c.Now().AddHours(1).Season() // 夏季

13. nezha : 国産軽量サーバー監視ツール。これは「Nezha」と呼ばれるサーバー監視パネルです。簡単にインストールでき、すぐに使用できます。複数のサーバーのシステム状態の監視、SSL 証明書の状態、アラーム通知、トラフィック監視、スケジュールされたタスクの設定などをサポートします。 Linux、Windows、macOS、OpenWRT などのメインストリーム システムに適しています。@二膳箸qldcからのシェア

14. sonyflake : Go言語による分散ID生成ライブラリ。このプロジェクトは、有名な Twitter Snowflake アルゴリズムに触発された、ソニーのオープンソースの分散型固有 ID ジェネレーターです。Snowflake よりも遅いですが、寿命が長く、より多くのマシンで動作でき、大規模な分散クラスターに適しています。

Javaプロジェクト

15.アルゴリズム: Java で実装されたアルゴリズムとデータ構造の集合。アルゴリズムとデータ構造の重要性は言うまでもありません。このプロジェクトは、一般的なデータ構造とアルゴリズムの最もシンプルで洗練された Java コード実装を提供します。学習または開発のどちらに使用する場合でも、適切な選択となります。@lonegunnerからの共有

16. Stirling-PDF : PDF ファイルに対してさまざまな操作ができる Web アプリケーションです。これは、ファイルの分割/結合、画像の追加/抽出、圧縮、透かしの追加、パスワードの追加/削除、および PDF ファイルに対するすべてのニーズを満たすその他の機能をサポートする、すぐに使える強力な PDF ツールです。

JavaScript プロジェクト

17. Banguchi : Douban と同様の 2D 愛好家向けのコミュニティ クライアント。これは、React Native 上に構築された 2D コミュニティ Banguchi のサードパーティ クライアントです。無料、広告なし、趣味から生まれ、モバイルデバイス向けに特別に設計されており、グループの進捗管理、ユーザーダイナミクス、Tieba、検索、ランキング、タグなどの機能をサポートしています。

18. deprank : PageRank を通じてコード ベース内の最も重要なファイルを検索します。このプロジェクトは、PageRank アルゴリズムとソース ファイルの依存関係に基づいて、JavaScript/TypeScript コード リポジトリ内で最も依存性の高いファイルを見つけます。

19. json-server : コードを書かずにインターフェイス データをシミュレートするには 30 秒しかかかりません。これはコンパクトなインターフェイス シミュレーション ツールで、使い方は非常に簡単で、JSON ファイルを作成し、コマンド 1 つでインターフェイス サービスをすぐに開始するだけです。

# 安装
npm install -g json-server
# 启动
json-server --watch db.json

20. mind-map : 便利な Web マインド マップ。このプロジェクトには、フレームワークに依存しないマインド マッピング JavaScript ライブラリと、ローカル展開をサポートする Vue.js+ElementUI を使用して開発された機能豊富なオンライン マインド マッピング アプリケーションが含まれています。

import MindMap from "simple-mind-map";

const mindMap = new MindMap({
  el: document.getElementById('mindMapContainer'),
  data: {
    "data": {
        "text": "根节点"
    },
    "children": []
  }
});

21. yunxiaozhi : キャンパス学務調査用のオープンソース WeChat アプレット。このプロジェクトは学生が開発したスマートキャンパスアプレットで、授業スケジュール照会、成績照会、試験手配、空き教室照会、水道・電気照会などの機能をサポートしています。

Kotlin プロジェクト

22. gkd : 画面のクリックをカスタマイズするための Android アプリケーション。このプロジェクトは、アクセシビリティ機能に基づいた携帯電話用の自動クリック ツールです。クリック ルールのカスタマイズまたは登録をサポートし、クリックして広告をスキップしたり、同意ボタンを押したり、赤い封筒を受け取ったりするなどの操作を自動的に完了するために使用できます。

Pythonプロジェクト

23. argos-translate : Python で書かれたオープンソースのオフライン翻訳ライブラリ。このプロジェクトは、OpenNMT (Neural Network Machine Translation Framework) をベースにしたオフライン翻訳 Python ライブラリであり、サードパーティの翻訳インターフェイスに依存せず、中国語を含む 30 以上の言語の翻訳をサポートしています。

import argostranslate.package
import argostranslate.translate

from_code = "en"
to_code = "es"

# Download and install Argos Translate package
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
    filter(
        lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
    )
)
argostranslate.package.install_from_path(package_to_install.download())

# Translate
translatedText = argostranslate.translate.translate("Hello World", from_code, to_code)
print(translatedText)
# '¡Hola Mundo!'

24. mwmbl : Python で書かれたオープンソースの非営利検索エンジン。これは、パンダ、FastAPI、scikit-learn、および jusText を使用して構築された、非営利、広告なし、追跡なしの小型検索エンジンです。シンプルなインターフェイス、高速な速度を備え、検索結果への「外部要因」の干渉がありません。 。

25. prettymaps : 美しい地図ポスターを描画するための Python ライブラリ。このプロジェクトは、OpenStreetMap の地図データを美しい地図ポスターに描画することができ、簡単に始めることができ、塗りつぶしの色もカスタマイズできます。

26. webdriver_manager : WebDriver を簡単に管理するための Python ライブラリ。クローラーをよく書く友人は、WebDriver のパスを見つけるという状況に遭遇したことがあるはずです。このプロジェクトを使用すると、WebDriver の場所を何度も検索し続ける必要がなくなります。

# 之前
from selenium import webdriver
driver = webdriver.Chrome('/home/user/drivers/chromedriver')

# 现在
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

27. youre-the-os : コンピューターのオペレーティング システムをシミュレートするゲーム。これは Python で書かれた Web ゲームで、プレイヤーはコンピューターのオペレーティング システムを操作します。プロセスは長時間待機すると終了してしまうため、プレイヤーはプロセス、メモリ、I/O イベントを管理して、プロセスが長時間アイドル状態にならないようにする必要があります。終了したプロセスの数が一定の数に達すると、コンピューターが再起動し、ゲームが失敗します。 。

Rubyプロジェクト

28. docusal : オープンソースのオンライン文書署名プラットフォーム。これは、Ruby で書かれたオンライン文書署名プラットフォームです。すぐに使用でき、使いやすく、モバイル対応です。ドラッグ アンド ドロップによる PDF フォームの作成、オンラインでの入力と署名、電子メールの自動送信をサポートしています。 、ユーザー管理およびその他の機能。

Rustプロジェクト

29. lettura : ミニマルなオープンソース RSS リーダー。これは、Tauri に基づいて開発されたデスクトップ RSS リーダーで、無料、広告なし、クリーンなインターフェイスを備え、macOS および Windows オペレーティング システムに適しています。

30.プライバシー: Rust で書かれた追跡および広告ブロック ツール。このプロジェクトは、MITM 中間者攻撃原理に基づいており、両端間に双方向トンネルを確立し、URL アドレスをフィルタリングすることで広告リクエストをブロックして、広告をブロックする効果を実現します。メモリ消費量が少なく高速で、フィルタ リストの自動更新、統計情報の表示、フィルタ リストのカスタマイズなどの機能をサポートしています。

スウィフトプロジェクト

31. TomatoBar : 絶妙な macOS メニューバーのポモドーロ時計。これは、macOS 上のポモドーロ時計アプリケーションです。小さくて精巧で、シンプルなインターフェイスを備えています。作業と休憩の間隔の設定、リマインダー サウンド、グローバル ホットキー、その他の機能をサポートしています。

32. XcodesApp : Xcodeのインストールと切り替えのためのユーティリティツール。Xcode は、macOS システムによって開発者に提供される統合開発環境です。このプロジェクトでは、Xcode のさまざまなバージョンを簡単にインストールして切り替えることができます。aria2 を使用すると、ダウンロードが速くなります。Xcode リリース データは、Apple の公式 Web サイトから取得されます。

他の

33. catppuccin : 非常に有望なテーマの配色。このプロジェクトは、主に温かみのあるカラフルなテーマを含むコミュニティ主導の配色です。VSCode、JetBrains、Vim などのエディターや IDE で使用できます。開発ライブラリ、ターミナル、さまざまなプログラミング言語の操作にも適しています. システム、ブラウザ、その他のアプリケーション。

34. keyviz : 無料のリアルタイムキーボードおよびマウス入力視覚化ソフトウェア。このプロジェクトでは、マウスやキーボードの操作を画面に表示することができ、聴衆はキーボードやマウスの操作を見ることができます。スクリーンショット、ビデオの録画、プレゼンテーション、コラボレーションなどのシナリオに適しており、Windows、Linux、macOS オペレーティング システムをサポートしています。

35. LearnPrompt : 無料のオープンソース AIGC コース。このプロジェクトは、初心者に優しく、AI の知識がなくても簡単に学ぶことができ、AIGC の上手な使い方を教えるだけでなく、ChatGPT、Runway、Midjourney、Stable Diffusion、AI デジタル ヒューマン、等

36. python-weekly : 毎週の Python トレンド。これは、「Cat under the Pea Flower」が制作する、毎週更新される Python ウィークリーです。コンテンツには、Python の質の高い記事、チュートリアル、オープンソース プロジェクト、ツール、ビデオ、ホットなトピックが含まれます。

37. TechStack : GitHub プロジェクトで使用されるテクノロジー スタックを表示するブラウザ プラグイン。このプロジェクトでは、ユーザーがアクセスしている GitHub リポジトリのテクノロジー スタックを表示できるため、ユーザーはプロジェクトについてすぐに詳しく知ることができます。@CorrectRoadHによって共有されました

38. webgl-fundamentals : 基礎理論から始まる WebGL チュートリアル。これは、数学の基礎知識から始まる一連の WebGL チュートリアルであり、中国語翻訳版も含まれています。

オープンソースの書籍

39. css-animation-101 : 「CSS アニメーション初心者ガイド」。本書は主に CSS におけるアニメーション (CSS アニメーション) を紹介しており、CSS アニメーションとは何か、トランジション プロパティ、複雑なアニメーション効果の作成方法、豊富なサンプルを含む内容で、CSS アニメーションをプロジェクトに適用する方法を説明します。

40. makefile の書き方: 「Makefile を一緒に書きましょう」。このプロジェクトは、Chen Hao 氏がまとめた「GUN Make Manual」の一連の記事を PDF にリメイクしたもので、作者がレイアウトの最適化、コードの強調表示などを行い、読みやすくしています。 Makefile を使い始めるための初心者向けのチュートリアル。

機械学習

41. hcaptcha-challenger : hCaptcha 検証コードをエレガントに処理するライブラリ。このプロジェクトは、ブラウザ プラグインやサードパーティのアンチキャプチャ サービスに依存せず、機械学習を通じて hCaptcha 検証コードを処理します。ResNet と YOLOv8 を使用して分類と検出の問題を処理し、ONNX パッケージ モデルを通じて使用のしきい値を下げることで、ユーザーは PyTorch などの依存関係をインストールせずに GPU のないデバイスでコードを実行し、hCaptcha 検証コードに適切に対処できるようになります。@QIN2DIMによって共有されました

import os
from pathlib import Path

import hcaptcha_challenger as solver

# Init local-side of the ModelHub
solver.install()

# Challenge prompt of binary challenge 
prompt = "diamond bracelet"

# Load challenge images, assuming you've already downloaded them.
label_dir = Path(__file__).parent.joinpath("diamond_bracelet")
images = [label_dir.joinpath(fn).read_bytes() for fn in os.listdir(label_dir)]

def bytedance():
    classifier = solver.BinaryClassifier()
    # type: List[bool | None]
    # IF True --> click image
    # ELIF False --> bypass image
    # ELSE --> Something err  
    if result := classifier.execute(prompt, images):
        for i, name in enumerate(os.listdir(label_dir)):
            print(f"{name} - {result[i]}")

if __name__ == "__main__":
    bytedance()

42. jax : Google のオープンソースの高性能科学計算ライブラリ。ジャストインタイムコンパイル(JIT)、自動導出(Autograd)、線形代数コンパイラ(XLA)を組み合わせた数値計算Pythonライブラリで、使い方はNumPyと似ています。ただし、JAX はより高速でメモリを節約し、自動微分、自動ベクトル化、並列コンピューティングなどの機能をサポートします。

from jax import grad
import jax.numpy as jnp

def tanh(x):  # Define a function
  y = jnp.exp(-2.0 * x)
  return (1.0 - y) / (1.0 + y)

grad_tanh = grad(tanh)  # Obtain its gradient function
print(grad_tanh(1.0))   # Evaluate it at x = 1.0
# prints 0.4199743
# 自动求导
print(grad(grad(grad(tanh)))(1.0))
# prints 0.62162673

43. sd-webui-EasyPhoto : インテリジェントな AI 写真生成ツール。これは AI ポートレートを生成するための WebUI プラグインで、無料でローカルに展開できる Miaoya Camera と同等のプロ品質の写真を生成するために使用できます。

やっと

オープンソース プロジェクトを無私に共有する友人のおかげで、より多くのオープンソース愛好家が HelloGitHub に来て、オープンソース プロジェクトを自薦/推薦することが歓迎されます。GitHub で興味深いプロジェクトを見つけたら、ここをクリックしてみんなと共有してください。

以上が今回の内容です クリックすると過去号の内容が読めます今号の内容が良いと思っていただけましたら、ぜひ「いいね!」とシェアをお願いします❤️

200元の罰金と100万元以上を没収 You Yuxi: 高品質の中国語文書の重要性 MuskのJDK 21用ハードコア移行サーバー Solon、仮想スレッドは信じられないほど素晴らしい! TCP 輻輳制御によりインターネットが節約される OpenHarmony 用の Flutter が登場 Linux カーネルの LTS 期間が 6 年から 2 年に復元される Go 1.22 で for ループ変数エラーが修正される Svelte は「新しいホイール」を作成 - ルーン文字 Google が創立 25 周年を祝う
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/HelloGitHub/blog/10114751