„HelloGitHub“ Ausgabe 90

Interesse ist der beste Lehrer, HelloGitHub weckt Ihr Interesse am Programmieren!

Einführung

HelloGitHub teilt interessante Open-Source-Projekte der Einstiegsklasse auf GitHub.

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

Es gibt praktische Projekte, Einführungs-Tutorials, schwarze Technologie, Open-Source-Bücher, Open-Source-Projekte großer Hersteller usw., die eine Vielzahl von Programmiersprachen abdecken. Python, Java, Go, C/C++, Swift... Let Spüren Sie in kurzer Zeit den Charme von Open Source und interessieren Sie sich für das Programmieren!


Das Folgende ist der Inhalt dieser Ausgabe|Aktualisiert am 28. eines jeden Monats

C-Projekt

1. BlackHole : Virtueller Audiotreiber für macOS. Studenten, die Videos auf macOS aufgenommen haben, müssen mit dem Problem der Aufnahme von Computergeräuschen konfrontiert gewesen sein. Die öffentliche Veröffentlichungsmethode stellt extrem hohe Umweltanforderungen. Bei diesem Projekt handelt es sich um einen virtuellen Audiotreiber unter macOS. Er kann das Ausgabeaudio ohne Verzögerung an andere Anwendungen weiterleiten, sodass es nicht von der Umgebung beeinflusst wird und den Ton des Computers problemlos aufzeichnen kann. Es unterstützt Intel- und Apple-Chips.

2. c4 : C-Sprachcompiler mit 4 Funktionen implementiert. Dieses Projekt verwendete nur mehr als 500 Codezeilen und 4 Funktionen, um einen kleinen C-Sprachcompiler zu implementieren. Da der Code jedoch zu rationalisiert ist, ist der Quellcode nicht leicht zu lesen.

C#-Projekt

3. Optimierer : ein super einfach zu verwendender Windows-Optimierer. Dies ist ein leistungsstarkes Windows-Systemoptimierungstool. Es ist klein und bietet viele Funktionen. Es unterstützt 22 Sprachen, einschließlich Chinesisch. Es kann unnötige Windows-Dienste deaktivieren, überflüssige Startprogramme löschen, nicht verwendete Funktionen deaktivieren und die Windows-Systemnutzung verbessern Erfahrung und Leistung.

4. Translumo : Kostenloses und quelloffenes Echtzeit-Bildschirmübersetzungstool. Dieses Projekt kann eine Echtzeitübersetzung von Text durchführen, der in einem ausgewählten Bereich auf dem Bildschirm angezeigt wird, und kann Englisch, Russisch, Chinesisch und andere Sprachen erkennen. Benutzer können aus mehreren OCR-Engines wie Tesseract, WindowsOCR und EasyOCR sowie mehreren Übersetzungsquellen, einschließlich Google Translate, wählen.

C++-Projekt

5. duckdb : eine analytische Datenbank ähnlich wie SQLite. Bei diesem Projekt handelt es sich um eine in C++ geschriebene OLAP-Datenbank (Online Analytical Processing). Sie weist keine externen Abhängigkeiten auf und wird nicht als unabhängiger Prozess ausgeführt. Sie kann als OLAP-Version von SQLite betrachtet werden. Es ist bequem, schnell und einfach zu verwenden, bietet einen umfangreichen SQL-Dialekt, unterstützt JOIN, Aggregation, Fensterfunktionen, direkte Abfrage von CSV- und JSON-Dateien und andere Funktionen.

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

6. kakoune : Ein Code-Editor, der wie Vim aussieht. Ein Code-Editor mit minimalistischer Benutzeroberfläche und praktischem Bearbeitungsmodell. Obwohl sein Design von Vim inspiriert ist, ist er in Bezug auf Funktionalität und Interaktivität „besser als sein Vorgänger“. Die Bedienung ist schneller und komfortabler. Es unterstützt standardmäßig Syntaxhervorhebung, automatische Vervollständigung und andere Funktionen und ist für Linux- und macOS-Betriebssysteme geeignet.

7. SafeLine : Eine einfache und benutzerfreundliche Webanwendungs-Firewall. Die unterste Ebene dieses Projekts basiert auf dem Web-Gateway von Nginx, das als Reverse-Proxy für den Zugriff auf das Netzwerk dient. Verwenden Sie intelligente semantische Analysealgorithmen, um böswilligen Datenverkehr von Hackern zu befreien und Ihre Website vor Hackerangriffen zu schützen. Es ist einfach zu installieren und die Funktionen der kostenlosen Version sind verfügbar, aber das Projekt öffnet nur den Kernalgorithmus und die zugrunde liegende Engine. Teilen von @lonegunner

8. Smartknob : Machen Sie selbst einen taktilen Smartknob. Hierbei handelt es sich um ein Open-Source-Smart-Knopf-Gerät, das Endpunktpositionen, virtuelles Bremsen und taktiles Feedback anpassen kann und über ein kreisförmiges LCD verfügt, was sehr cool ist und Spaß macht.

9. Typesense : Eine blitzschnelle Open-Source-Suchmaschine. Bei diesem Projekt handelt es sich um eine in C++ geschriebene Sofortsuchmaschine mit den Merkmalen einer sofort einsatzbereiten Verwendung, einer schnellen Suchgeschwindigkeit, einer automatischen Korrektur von Rechtschreibfehlern, einer geografischen Suche und einer standardmäßigen Wortsegmentierungsunterstützung für Chinesisch.

CSS-Projekt

10. pokemon-cards-css : Coole CSS-Effekte für Pokémon-Karten. Dieses Projekt ist eine Sammlung erweiterter CSS-Stile für Pocket-Monster-Karten. Es nutzt 3D-Transformation, Filter, Farbverlauf und andere Technologien, um Effekte wie Blendung, Textur, Galaxienhologramm, vertikaler Strahl usw. zu erzielen.

Geh zum Projekt

11. asynq : Eine einfache und zuverlässige verteilte Aufgabenwarteschlange, geschrieben in reinem Go. Dies ist eine leichte asynchrone Aufgabenwarteschlange, die auf Redis basiert. Sie startet eine Goroutine für jede Aufgabe und unterstützt Funktionen wie Wiederholungsversuche bei Aufgabenfehlern, Prioritätswarteschlange, geplante Aufgaben und einzigartige Aufgaben.

12. Carbon : Eine entwicklerfreundliche Go-Time-Verarbeitungsbibliothek. Dies ist eine funktionsreiche und benutzerfreundliche Go-Zeitbibliothek, die Zeitumrechnung, Zeitunterschied, Zeitreisen, Sternbilder, Jahreszeiten, Mondkalender, Mehrsprachigkeit und andere Funktionen unterstützt.

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 : ein inländisches, leichtes Serverüberwachungstool. Dies ist ein Serverüberwachungspanel namens „Nezha“. Es ist einfach zu installieren und kann sofort verwendet werden. Es unterstützt die Überwachung des Systemstatus mehrerer Server, des SSL-Zertifikatsstatus, Alarmbenachrichtigungen, Verkehrsüberwachung, das Festlegen geplanter Aufgaben und anderes Funktionen. Es eignet sich für Mainstream-Systeme wie Linux, Windows, macOS und OpenWRT. Teilen von @twopairs of Chopstickssqldc

14. Sonyflake : Verteilte ID-Generierungsbibliothek in Go-Sprache. Bei diesem Projekt handelt es sich um Sonys Open-Source-verteilten eindeutigen ID-Generator, der vom bekannten Twitter-Snowflake-Algorithmus inspiriert ist. Es ist langsamer als Snowflake, hat aber eine längere Lebensdauer, kann auf mehr Maschinen laufen und eignet sich für größere verteilte Cluster.

Java-Projekt

15. Algorithmen : Eine Sammlung von in Java implementierten Algorithmen und Datenstrukturen. Die Bedeutung von Algorithmen und Datenstrukturen versteht sich von selbst. Dieses Projekt bietet die einfachste und eleganteste Java-Code-Implementierung gängiger Datenstrukturen und Algorithmen. Es ist eine gute Wahl, egal ob es zum Lernen oder zur Entwicklung verwendet wird. Teilen von @lonegunner

16. Stirling-PDF : Eine Webanwendung, die verschiedene Vorgänge an PDF-Dateien ermöglicht. Dies ist ein leistungsstarkes, sofort einsatzbereites PDF-Tool, das das Aufteilen/Zusammenführen von Dateien, das Hinzufügen/Extrahieren von Bildern, das Komprimieren, das Hinzufügen von Wasserzeichen, das Hinzufügen/Entfernen von Passwörtern und andere Funktionen unterstützt, um alle Ihre Anforderungen an PDF-Dateien zu erfüllen.

JavaScript-Projekt

17. Bangumi : Ein Community-Client für 2D-Enthusiasten, ähnlich wie Douban. Dies ist ein Drittanbieter-Client der 2D-Community Bangumi, der auf React Native basiert. Es ist kostenlos, werbefrei, aus Hobbys entstanden und speziell für mobile Geräte konzipiert. Es unterstützt Gruppenfortschrittsverwaltung, Benutzerdynamik, Tieba, Suche, Rankings, Tags und andere Funktionen.

18. deprank : Finden Sie über PageRank die wichtigsten Dateien in der Codebasis. Dieses Projekt basiert auf dem PageRank-Algorithmus und Quelldateiabhängigkeiten, um die am stärksten abhängigen Dateien im JavaScript/TypeScript-Code-Repository zu finden.

19. json-server : Es dauert nur 30 Sekunden, Schnittstellendaten zu simulieren, ohne Code schreiben zu müssen. Dabei handelt es sich um ein kompaktes Schnittstellensimulationstool. Es ist sehr einfach zu verwenden. Sie müssen lediglich eine JSON-Datei erstellen und dann den Schnittstellendienst schnell mit einem einzigen Befehl starten.

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

20. Mindmap : Eine nützliche Web-Mindmap. Dieses Projekt umfasst eine Mind-Mapping-JavaScript-Bibliothek, die auf kein Framework angewiesen ist, und eine funktionsreiche Online-Mind-Mapping-Anwendung, die mit Vue.js+ElementUI entwickelt wurde und die lokale Bereitstellung unterstützt.

import MindMap from "simple-mind-map";

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

21. yunxiaozhi : Ein Open-Source-WeChat-Applet für die Untersuchung akademischer Angelegenheiten auf dem Campus. Bei diesem Projekt handelt es sich um ein intelligentes Campus-Applet, das von Studierenden entwickelt wurde. Es unterstützt Funktionen wie Kursplanabfrage, Ergebnisabfrage, Prüfungsanordnung, Abfrage leerer Klassenräume, Wasser- und Stromabfrage usw.

Kotlin-Projekt

22. gkd : Android-Anwendung zum Anpassen von Bildschirmklicks. Bei diesem Projekt handelt es sich um ein automatisches Klick-Tool für Mobiltelefone, das auf Barrierefreiheitsfunktionen basiert. Es unterstützt das Anpassen oder Abonnieren von Klickregeln und kann zum automatischen Ausführen von Vorgängen wie dem Klicken zum Überspringen von Anzeigen, zum Zustimmen von Schaltflächen und zum Empfangen roter Umschläge verwendet werden.

Python-Projekt

23. argos-translate : Eine in Python geschriebene Open-Source-Offline-Übersetzungsbibliothek. Bei diesem Projekt handelt es sich um eine Offline-Übersetzungs-Python-Bibliothek, die auf OpenNMT (Neural Network Machine Translation Framework) basiert. Sie ist nicht auf Übersetzungsschnittstellen von Drittanbietern angewiesen und unterstützt die Übersetzung von mehr als 30 Sprachen, einschließlich Chinesisch.

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 : Eine in Python geschriebene Open-Source-Suchmaschine ohne Erwerbszweck. Dies ist eine gemeinnützige, werbefreie und Tracking-freie kleine Suchmaschine, die mit Pandas, FastAPI, scikit-learn und jusText erstellt wurde. Sie verfügt über eine einfache Benutzeroberfläche, hohe Geschwindigkeit und keine „externen Faktoren“, die die Suchergebnisse beeinträchtigen .

25. Prettymaps : Eine Python-Bibliothek zum Zeichnen wunderschöner Kartenplakate. Dieses Projekt kann OpenStreetMap-Kartendaten in wunderschöne Kartenplakate zeichnen. Der Einstieg ist einfach und die Füllfarbe kann angepasst werden.

26. webdriver_manager : Python-Bibliothek zur einfachen Verwaltung von WebDriver. Freunde, die häufig Crawler schreiben, sollten auf die Situation gestoßen sein, den WebDriver-Pfad zu finden! Mit diesem Projekt müssen Sie nicht ständig nach dem Standort des WebDrivers suchen.

# 之前
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 : Ein Spiel, das ein Computer-Betriebssystem simuliert. Dabei handelt es sich um ein in Python geschriebenes Webspiel. In dem Spiel spielt der Spieler das Betriebssystem eines Computers. Spieler müssen Prozesse, Speicher und E/A-Ereignisse verwalten, um zu verhindern, dass Prozesse zu lange inaktiv bleiben, da Prozesse nach zu langer Wartezeit beendet werden. Wenn die Anzahl der beendeten Prozesse eine bestimmte Zahl erreicht, wird der Computer neu gestartet und das Spiel schlägt fehl .

Ruby-Projekt

28. docuseal : eine Open-Source-Plattform zum Signieren von Online-Dokumenten. Dabei handelt es sich um eine in Ruby geschriebene Online-Plattform zum Signieren von Dokumenten. Sie ist sofort einsatzbereit, benutzerfreundlich und mobilfreundlich. Sie unterstützt die Drag-and-Drop-Erstellung von PDF-Formularen, das Online-Ausfüllen und Signieren sowie den automatischen E-Mail-Versand , Benutzerverwaltung und andere Funktionen.

Rust-Projekt

29. lettura : minimalistischer Open-Source-RSS-Reader. Dies ist ein auf Tauri basierender Desktop-RSS-Reader. Er ist kostenlos, werbefrei, verfügt über eine übersichtliche Oberfläche und ist für macOS- und Windows-Betriebssysteme geeignet.

30. Datenschutz : In Rust geschriebenes Tracking- und Werbeblocker-Tool. Dieses Projekt basiert auf dem Man-in-the-Middle-Angriffsprinzip von MITM, baut einen Zwei-Wege-Tunnel zwischen den beiden Enden auf und blockiert Werbeanfragen durch Filtern von URL-Adressen, um den Effekt der Blockierung von Werbung zu erzielen. Es benötigt weniger Speicher, ist schnell und unterstützt Funktionen wie die automatische Aktualisierung von Filterlisten, die Anzeige statistischer Informationen und die Anpassung von Filterlisten.

Schnelles Projekt

31. TomatoBar : Exquisite macOS-Menüleiste Pomodoro-Uhr. Dies ist eine Pomodoro-Uhrenanwendung für macOS. Sie ist klein und fein, mit einer einfachen Benutzeroberfläche. Sie unterstützt das Einstellen von Arbeits- und Ruheintervallen, Erinnerungstönen, globalen Hotkeys und anderen Funktionen.

32. XcodesApp : Ein Hilfsprogramm für die Installation und den Wechsel von Xcode. Xcode ist eine integrierte Entwicklungsumgebung, die Entwicklern vom macOS-System bereitgestellt wird. Dieses Projekt kann einfach installiert und zwischen verschiedenen Versionen von Xcode gewechselt werden. Mit aria2 werden Downloads schneller durchgeführt. Die Xcode-Versionsdaten stammen von der offiziellen Website von Apple.

andere

33. catppuccin : Super vielversprechendes Themenfarbschema. Bei diesem Projekt handelt es sich um ein von der Community betriebenes Farbschema, das hauptsächlich warme und farbenfrohe Themen enthält. Es kann in Editoren und IDEs wie VSCode, JetBrains und Vim verwendet werden. Es eignet sich auch für Entwicklungsbibliotheken, Terminals und Operationen verschiedener Programmiersprachen . System, Browser und andere Anwendungen.

34. keyviz : Eine kostenlose Echtzeit-Visualisierungssoftware für Tastatur- und Mauseingaben. Dieses Projekt kann Maus- und Tastaturoperationen auf dem Bildschirm anzeigen, sodass das Publikum Ihre Tastatur- und Mausoperationen sehen kann. Es eignet sich für Szenarien wie Screenshots, Videoaufzeichnung, Präsentationen und Zusammenarbeit und unterstützt die Betriebssysteme Windows, Linux und macOS.

35. LearnPrompt : Kostenloser und Open-Source-AIGC-Kurs. Dieses Projekt ist für Anfänger geeignet und kann ohne KI-Kenntnisse leicht erlernt werden. Es wird nicht nur gelehrt, wie man AIGC gut nutzt, sondern auch KI-bezogenes Wissen ausführlich besprechen, einschließlich ChatGPT, Runway, Midjourney, Stable Diffusion, AI Digital Human, usw.

36. python-weekly : Python-Trend wöchentlich. Dies ist eine wöchentlich aktualisierte Python-Wochenzeitung, die von „Cat under the Pea Flower“ produziert wird. Der Inhalt umfasst hochwertige Python-Artikel, Tutorials, Open-Source-Projekte, Tools, Videos und aktuelle Themen.

37. TechStack : Ein Browser-Plug-in, das den von GitHub-Projekten verwendeten Technologie-Stack anzeigt. Dieses Projekt kann den Technologie-Stack des GitHub-Repositorys anzeigen, das Benutzer besuchen, sodass Benutzer schnell mehr über das Projekt erfahren können. Geteilt von @CorrectRoadH

38. webgl-fundamentals : WebGL-Tutorial ausgehend von der Grundtheorie. Dies ist eine Reihe von WebGL-Tutorials, die mit grundlegenden mathematischen Kenntnissen beginnen, einschließlich einer chinesischen Übersetzungsversion.

Open-Source-Bücher

39. css-animation-101 : „CSS-Animations-Anfängerleitfaden“. Dieses Buch stellt hauptsächlich die Animation in CSS (CSS-Animation) vor. Der Inhalt umfasst, was CSS-Animation ist, Übergangseigenschaften, wie man komplexe Animationseffekte erstellt und umfangreiche Beispiele, die Ihnen zeigen, wie Sie CSS-Animationen auf Ihre Projekte anwenden.

40. how-to-write-makefile : „Makefile mit mir schreiben“. Dieses Projekt ist ein PDF-Remake einer Reihe von Artikeln, die Chen Hao aus dem „GUN Make Manual“ zusammengestellt hat. Der Autor hat Layoutoptimierung, Code-Hervorhebung und andere Vorgänge daran durchgeführt, um das Lesen angenehmer zu machen. Es kann verwendet werden als Ein Tutorial für Anfänger zum Einstieg in Makefile.

maschinelles Lernen

41. hcaptcha-challenger : Eine Bibliothek, die hCaptcha-Bestätigungscodes elegant verarbeitet. Dieses Projekt ist nicht auf Browser-Plug-Ins und Anti-Captcha-Dienste von Drittanbietern angewiesen und verarbeitet hCaptcha-Bestätigungscodes durch maschinelles Lernen. Es verwendet ResNet und YOLOv8 zur Bewältigung von Klassifizierungs- und Erkennungsproblemen und senkt die Nutzungsschwelle durch das ONNX-Verpackungsmodell, sodass Benutzer Code auf Geräten ohne GPUs ausführen können, ohne Abhängigkeiten wie PyTorch zu installieren, und hCaptcha-Verifizierungscodes ordnungsgemäß verarbeiten können. Geteilt von @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 : Googles Open-Source-Hochleistungsbibliothek für wissenschaftliches Rechnen. Dies ist eine Python-Bibliothek für numerische Berechnungen, die Just-in-Time-Kompilierung (JIT), automatische Ableitung (Autograd) und linearen Algebra-Compiler (XLA) kombiniert. Ihre Verwendung ähnelt NumPy. Aber JAX ist schneller, speichersparender und unterstützt Funktionen wie automatische Differenzierung, automatische Vektorisierung und paralleles Rechnen.

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 : Ihr intelligentes KI-Tool zur Fotogenerierung. Hierbei handelt es sich um ein WebUI-Plug-in zur Generierung von KI-Porträts, mit dem Fotos in professioneller Qualität erstellt werden können, was einer kostenlosen, lokal einsetzbaren Miaoya-Kamera entspricht.

zu guter Letzt

Dank der Freunde, die selbstlos Open-Source-Projekte teilen, sind weitere Open-Source-Enthusiasten herzlich willkommen, zu HelloGitHub zu kommen, um Open-Source-Projekte selbst zu empfehlen/empfehlen. Wenn Sie auf GitHub ein interessantes Projekt finden, klicken Sie hier, um es mit allen zu teilen!

Das Obige ist der gesamte Inhalt dieser Ausgabe. Klicken Sie hier, um den Inhalt früherer Ausgaben zu lesen . Wenn Sie der Meinung sind, dass der Inhalt dieser Ausgabe gut ist , liken und teilen Sie ihn bitte.❤️

200 Yuan Geldstrafe und mehr als 1 Million Yuan beschlagnahmt You Yuxi: Die Bedeutung hochwertiger chinesischer Dokumente Musks Hardcore-Migrationsserver Solon für JDK 21, virtuelle Threads sind unglaublich! ! ! TCP-Überlastungskontrolle rettet das Internet- Flutter für OpenHarmony ist da. Die LTS-Periode des Linux-Kernels wird von 6 auf 2 Jahre wiederhergestellt. Go 1.22 behebt den Variablenfehler der For-Schleife. Svelte hat ein „neues Rad“ gebaut – Runen. Google feiert sein 25-jähriges Jubiläum
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/HelloGitHub/blog/10114751
Empfohlen
Rangfolge