"BonjourGitHub" numéro 97

L'intérêt est le meilleur professeur, HelloGitHub vous intéresse à la programmation !

Introduction

HelloGitHub partage des projets open source intéressants d'entrée de gamme sur GitHub.

github.com/521xueweihan/HelloGitHub

On y trouve des projets pratiques, des tutoriels d'introduction, de la technologie noire, des livres open source, des projets open source de grands fabricants, etc., couvrant une variété de langages de programmation​​Python, Java, Go, C/C++, Swift... Let vous ressentez le charme de l'open source en peu de temps, intéressez-vous à la programmation !


Voici le contenu de ce numéro|Mis à jour le 28 de chaque mois

projet C

1. freeswitch : une plateforme téléphonique open source de qualité opérateur. Il s'agit d'un cadre de communication open source qui prend en charge plusieurs protocoles de communication tels que SIP et WebRTC. En tant que commutateur logiciel polyvalent, il peut être utilisé pour créer divers services vocaux et de messagerie, tels que les systèmes téléphoniques d'entreprise, les centres d'appels virtuels et la vidéoconférence. prestations, etc.

2. NetHack : Un jeu Roguelike avec une longue histoire. Il s'agit d'un jeu autonome classique de Roguelike. Le joueur incarnera un explorateur de donjon pour trouver le mystérieux collier Yendor. L'interface du jeu est composée de caractères ASCII et présente les caractéristiques d'un degré élevé de liberté, d'une difficulté élevée, d'une génération de cartes aléatoires et d'une mort permanente. Les joueurs l'appellent un jeu auquel on peut jouer toute une vie.

3. rt-thread : Petit et beau système d'exploitation IoT. Il s'agit d'un système d'exploitation open source pour l'Internet des objets lancé par des Chinois et doté d'une excellente personnalisation et évolutivité. Il peut fonctionner sur de très petits cœurs sur des puces ARM Cortex-M0, sur des systèmes ARM Cortex-M3/4/7 de taille moyenne, et même sur des processeurs ARM Cortex-A 64 bits multicœurs, MIPS32/64 et d'autres processeurs d'architectures différentes. . Il fournit également des composants et des progiciels riches en fonctionnalités pour aider les développeurs à créer rapidement des produits système embarqués. Partage de @Arkimidong

Projet C#

4. g-helper : Un remplacement léger pour ASUS Ultron Center. Ce projet est une alternative open source à ASUS Notebook Ultron Control Center (logiciel de contrôle des ordinateurs portables de jeu). Il présente les caractéristiques d'une interface simple et d'une utilisation extrêmement faible des ressources système. Il prend en charge la commutation transparente des modes de la carte graphique, le réglage du taux de rafraîchissement de l'écran, la courbe du ventilateur, la consommation d'énergie, l'éclairage du clavier et d'autres fonctions.

5. WingetUI : Gestionnaire de packages Windows avec interface. Ce projet est une interface utilisateur conçue pour les outils de gestion de packages de ligne de commande couramment utilisés sous Windows, tels que Winget, Scoop, Pip, NPM, .NET Tool, etc. Il possède une interface conviviale, un beau design et prend en charge le chinois. Grâce à lui, vous pouvez facilement télécharger, installer, mettre à jour et désinstaller n'importe quel logiciel publié sur le gestionnaire de packages et d'autres applications quotidiennes, telles que des navigateurs, des lecteurs PDF, etc.

projet C++

6. cppinsights : Regardez le code C++ du point de vue du compilateur. Il s'agit d'un outil de développement basé sur Clang. Il peut convertir le code source en résultats de dérivation du compilateur, permettant aux utilisateurs de comprendre en profondeur le mécanisme interne du code du point de vue du compilateur. Il peut être utilisé pour démontrer et expliquer les arbres de syntaxe abstraite (AST). ) et C++ Nouvelles fonctionnalités du langage.

7. Stellarium : un logiciel open source de simulation astronomique. Ce projet est un artefact incontournable pour les passionnés d'astronomie. Il peut simuler/afficher avec précision la scène du ciel étoilé au-dessus de votre tête, y compris les étoiles, les constellations, les planètes, les comètes et autres corps célestes. Il prend en charge des fonctions telles que la sélection de l'heure et du lieu. , zoomant pour l'observation et illustrant les constellations. Il fournit des clients pour plusieurs plates-formes, notamment Windows, Linux, macOS, iOS et Android.

8. VideoPipe : Un framework de structuration et d'analyse vidéo multiplateforme. Il s'agit d'un framework d'analyse et de structuration vidéo, écrit en C++, avec peu de dépendances et facile à utiliser. C'est comme un pipeline où chaque nœud est indépendant les uns des autres et peut être combiné pour créer différents types de pipelines d'analyse vidéo. Il convient à des scénarios tels que la structuration vidéo, la recherche d'images, la reconnaissance faciale et l'analyse comportementale dans le domaine de la sécurité ( comme la détection des incidents de la circulation). Partage de @zhouzhi

Aller au projet

9. freeze : un outil terminal pour générer des images de code. Ce projet peut convertir des extraits de code et la sortie du terminal en images aux formats PNG, SVG et WebP. Il est développé en utilisant le langage Go. Il se caractérise par une installation simple et une facilité d'utilisation. Il prend en charge une seule commande pour générer des images. images personnalisées via le mode interactif.

# macOS or Linux
brew install charmbracelet/tap/freeze

# Arch Linux (btw)
pacman -S freeze

# Nix
nix-env -iA nixpkgs.charm-freeze

10. Jaeger : une plateforme open source de suivi de liens distribués. Ce projet s'inspire de Dapper et OpenZipkin, une plateforme distribuée de suivi de chaîne d'appels créée et open source par Uber. Il peut être utilisé pour surveiller et diagnostiquer des applications distribuées (microservices). Ses fonctions incluent la prise en charge de plusieurs langues, le traçage de liens complets, la livraison de contexte, les indicateurs de performance, la visualisation et les alarmes, etc. Partage depuis @太卡

11. opengist : Une alternative open source à GitHub Gist. Le projet stocke des fragments de code ou de texte dans un référentiel Git, et les utilisateurs peuvent afficher et modifier le contenu via des commandes Git ou sur le Web, similaire au service Gist de GitHub. Il est open source, auto-hébergé et prend en charge la création d'extraits publics/privés, la coloration syntaxique, la recherche de code, l'intégration sur d'autres sites Web et l'historique des modifications.

Projet Java

12. CompreFace : système de reconnaissance faciale gratuit et open source. Ce projet fournit des services API REST pour la reconnaissance faciale, la détection, la vérification, la détection de la position de la tête, la reconnaissance du sexe et de l'âge, qui peuvent être facilement intégrés dans n'importe quel système sans connaître l'apprentissage automatique. Son backend est écrit en Java, la reconnaissance faciale est implémentée sur la base de FaceNet et InsightFace et prend également en charge le déploiement de Docker.

13. fdroidclient : boutique d'applications Android gratuite et open source. Ce projet est le client Android de F-Droid, une boutique d'applications spécialisée dans la collecte de divers logiciels Android open source (FOSS). La plupart d'entre elles sont des applications gratuites et sans publicité. Si vous rencontrez un chargement lent des ressources, vous pouvez résoudre le problème en configurant une source miroir.

Projet Javascript

14. cmdk : menu de commandes rapide et sans style, composant React. Ce projet peut aider les développeurs à implémenter facilement un menu de commandes intuitif et riche en fonctionnalités, similaire au menu interactif évoqué par la touche de raccourci ⌘K, améliorant ainsi l'expérience interactive de l'utilisateur et adapté à diverses applications Web. Partagé par @Daaihang Wong

import { Command } from 'cmdk'

const CommandMenu = () => {
  return (
    <Command label="Command Menu">
      <Command.Input />
      <Command.List>
        <Command.Empty>No results found.</Command.Empty>

        <Command.Group heading="Letters">
          <Command.Item>a</Command.Item>
          <Command.Item>b</Command.Item>
          <Command.Separator />
          <Command.Item>c</Command.Item>
        </Command.Group>

        <Command.Item>Apple</Command.Item>
      </Command.List>
    </Command>
  )
}

15. aperçu : outil open source de gestion de documents et de bases de connaissances d'équipe. Il s'agit d'un outil d'édition de documents et de collaboration en ligne développé avec React et Node.js. Il possède une belle interface, des fonctions riches, est compatible avec Markdown et prend en charge le déploiement en chinois et Docker. De plus, il fournit des clients pour Windows, macOS, iOS et Android, qui peuvent être utilisés comme wiki privé ou comme plate-forme interne de documentation et de base de connaissances pour les petites et moyennes entreprises.

16. Photo-Sphere-Viewer : Bibliothèque JavaScript permettant d'afficher un panorama de sphère à 360°. Il s'agit d'une visionneuse de photos panoramiques développée sur la base de Three.js, offrant une interaction conviviale et des fonctions riches. Il prend en charge une variété de formats et de fonctions panoramiques, notamment le panorama 2:1, le panorama hexaédrique, les vignettes panoramiques, l'affichage de texte, le panorama vidéo, etc. Partagé par @wanzij

17. strapi : le premier CMS open source sans tête au monde. Il s'agit d'un système de gestion de contenu entièrement gratuit et sans tête développé en JavaScript/TypeScript. Il dispose d'une API prête à l'emploi et d'un panneau de gestion convivial, et est livré avec des fonctionnalités telles que la gestion des autorisations, la sécurité par défaut et la convivialité du référencement. En tant que l'un des systèmes de gestion de contenu open source les plus populaires actuellement sur GitHub, Strapi est devenu le CMS de choix pour de nombreuses entreprises Fortune 500. Partagé par @greatYe

18. tailwind-landing-page-template : modèle de page de destination gratuit et open source. Ce projet est un modèle de page de destination construit sur la base de TailwindCSS, React et Next.js. Il possède une belle interface, un code simple et une conception en ligne. Il convient pour créer rapidement des pages d'accueil d'entreprise, des pages de destination d'événements, etc.

git clone 项目
yarn install
yarn dev
# http://localhost:3000

Projet Kotlin

19. breezy-weather : Une application météo Android minimaliste. Il s'agit d'une application météo très axée sur le design, utilisant le langage de conception Material Design. Il est simple et propre, gratuit, sans publicité et prend en charge le chinois. Il peut afficher diverses données météorologiques telles que les précipitations, la qualité de l'air, les prévisions horaires, la météo en direct, le pollen, l'humidité, etc. pour l'heure suivante.

Projet Python

20. dangerzone : Un outil qui convertit les documents non fiables en PDF sécurisés. Il s'agit d'un projet open source qui garantit la sécurité des documents. Il peut convertir des fichiers PDF, des documents bureautiques ou des images potentiellement dangereuses (sources inconnues, pièces jointes d'e-mails) dans un environnement sandbox isolé pour générer des fichiers PDF sécurisés.

21. great-tables : Utilisez Python pour créer de magnifiques tableaux. Cette bibliothèque Python peut être utilisée pour créer des tableaux utiles et esthétiques. Il fournit un ensemble de composants de tableau pour aider les développeurs Python à créer facilement de superbes tableaux de données en combinant différentes parties du tableau, telles que les en-têtes de tableau, les pieds de page, les étiquettes de ligne (stubs) et les étiquettes de clé (étiquettes de clé). Partagé par @Ted LI

from great_tables import GT
from great_tables.data import sp500

# Define the start and end dates for the data range
start_date = "2010-06-07"
end_date = "2010-06-14"

# Filter sp500 using Pandas to dates between `start_date` and `end_date`
sp500_mini = sp500[(sp500["date"] >= start_date) & (sp500["date"] <= end_date)]

# Create a display table based on the `sp500_mini` table data
(
    GT(sp500_mini)
    .tab_header(title="S&P 500", subtitle=f"{start_date} to {end_date}")
    .fmt_currency(columns=["open", "high", "low", "close"])
    .fmt_date(columns="date", date_style="wd_m_day_year")
    .fmt_number(columns="volume", compact=True)
    .cols_hide(columns="adj_close")
)

22. python-miio : bibliothèque Python pour contrôler les appareils électroménagers intelligents Xiaomi. Ce projet fournit une bibliothèque Python et des outils de ligne de commande qui peuvent être utilisés pour contrôler des appareils utilisant les protocoles miIO et MIoT de Xiaomi. Grâce à lui, les utilisateurs peuvent facilement communiquer avec et contrôler à distance les appareils intelligents Xiaomi, notamment les robots de balayage, les ampoules, les purificateurs d'air, etc., ce qui convient très bien aux développeurs qui aiment les systèmes de maison intelligente DIY.

23. undetected-chromedriver : bibliothèque Python qui contourne la détection anti-crawling. Il s'agit d'un correctif Selenium WebDriver optimisé spécialement conçu pour empêcher l'automatisation du navigateur de déclencher des mécanismes anti-bot. Il peut masquer les caractéristiques du navigateur (empreintes digitales) et est très pratique à utiliser, tout comme une bibliothèque tierce pour Python.

import undetected_chromedriver as uc
driver = uc.Chrome(headless=True,use_subprocess=False)
driver.get('https://nowsecure.nl')
driver.save_screenshot('nowsecure.png')

24. wasader : Un assistant complet de lecture et de prise de notes WeChat. Il s'agit d'un client de bureau de lecture WeChat écrit sur la base de PySide6. Il prend non seulement en charge la fonction de lecture de livres, mais dispose également d'un mode note, qui peut afficher toutes vos notes de lecture, les soulignements populaires et d'autres contenus.

Projet Rouille

25. grex : Un outil de ligne de commande qui génère automatiquement des expressions régulières. Peut-être que cela s'avère utile lorsque vous ne savez pas comment écrire des regex. Ce projet est un outil de ligne de commande développé en langage Rust. Il peut renvoyer des expressions régulières correspondantes basées sur l'exemple de contenu fourni par l'utilisateur. Il peut être utilisé comme bibliothèque ou outil de ligne de commande. Partagé par @size_t

26. sqlx : Puissante boîte à outils SQL asynchrone Rust. Il s'agit d'une véritable bibliothèque SQL asynchrone, entièrement développée en langage Rust, prenant en charge les bases de données PostgreSQL, MySQL, MariaDB et SQLite. Il fournit des fonctions telles que la vérification des instructions de requête au moment de la compilation et la mise en cache automatique des instructions, rendant l'interaction entre le langage Rust et la base de données SQL simple et efficace.

use sqlx::postgres::PgPoolOptions;
// use sqlx::mysql::MySqlPoolOptions;
// etc.

#[async_std::main] // Requires the `attributes` feature of `async-std`
// or #[tokio::main]
// or #[actix_web::main]
async fn main() -> Result<(), sqlx::Error> {
    // Create a connection pool
    //  for MySQL/MariaDB, use MySqlPoolOptions::new()
    //  for SQLite, use SqlitePoolOptions::new()
    //  etc.
    let pool = PgPoolOptions::new()
        .max_connections(5)
        .connect("postgres://postgres:password@localhost/test").await?;

    // Make a simple query to return the given parameter (use a question mark `?` instead of `$1` for MySQL/MariaDB)
    let row: (i64,) = sqlx::query_as("SELECT $1")
        .bind(150_i64)
        .fetch_one(&pool).await?;

    assert_eq!(row.0, 150);

    Ok(())
}

27. zéro en production : créez un service de communication par e-mail à partir de zéro en utilisant Rust. Ce projet n'est que le code source du projet de support pour le livre "Zero To Production In Rust" et ne fournit pas le livre. Ce livre présente comment utiliser Rust pour créer un service de communication par courrier électronique à partir de zéro, y compris l'ensemble du processus de configuration de l'environnement de développement, le processus d'intégration continue, le développement d'API back-end, la gestion des erreurs et le déploiement.

Projet Swift

28. pika : Sélecteur de couleurs natif pour macOS. Il s'agit d'un outil de sélection de couleurs conçu spécifiquement pour macOS. Il est gratuit, rapide et facile à utiliser, vous permettant de trouver rapidement les valeurs de couleur sur l'écran.

29. rappels-menubar : outil de rappel minimaliste de la barre de menu macOS. Il s'agit d'un petit outil développé à l'aide de SwiftUI qui peut afficher/rappeler des éléments de tâche dans la barre de menus macOS. Il est de petite taille, simple en interaction et possède une interface rafraîchissante. Il prend en charge des fonctions telles que le démarrage, le multilingue (y compris le chinois), le nombre d'affichages de la barre de menus, les touches de raccourci et d'autres fonctions.

autre

30. cat-catch : plug-in de navigateur de détection de médias open source. Ce plug-in de navigateur appelé « Cat's Claw » peut vous aider à répertorier les adresses de téléchargement des ressources musicales et vidéo sur la page actuelle.

31. conteneurs : Une collection d'images de conteneurs pour divers logiciels open source. Ce projet est une collection de conteneurs Docker maintenus et open source par BitNami, comprenant divers logiciels, systèmes et applications Web open source. Ils ont été optimisés et analysés les vulnérabilités, permettant un déploiement en un clic avec Docker, facilitant ainsi le déploiement d'applications sans avoir besoin de processus d'installation et de configuration fastidieux.

docker pull bitnami/APP
docker pull bitnami/APP:[TAG]

32. ServiceLogos : Une collection de logos super mignons. Il s'agit d'un entrepôt utilisé pour stocker divers logos créés par Sawartsuki. Ces logos sont magnifiquement réalisés et mignons, y compris les marques déposées des langages de programmation, des frameworks, des outils et des principaux médias sociaux™️.

33. ungoogled-chromium : Un navigateur Chrome plus pur. Ce projet est un navigateur qui supprime les services Google du navigateur Chrome, conservant ainsi toutes les fonctionnalités du navigateur.

34. web-activity-time-tracker : Un plug-in de navigateur qui suit votre temps d'activité en ligne. Il s'agit d'un plug-in de navigateur open source et sans publicité qui enregistre votre temps de navigation sur différents sites Web et fournit des statistiques intuitives. Il prend en charge des fonctions telles que le comptage du temps de navigation par jour et par heure, le filtrage des sites Web interférents et l'exportation de données.

Livres open source

35. comment-apprendre-la robotique : Un guide d'auto-apprentissage de la robotique. Ce guide est conçu pour les non-majeurs pour leur apprendre à apprendre la robotique. Il contient des connaissances essentielles, des manuels d'introduction recommandés, des projets pratiques et des méthodes avancées pour aider les lecteurs à devenir progressivement un excellent ingénieur en robotique.

36. llm-universe : "Apprentissage pratique du développement d'applications de grands modèles". Ce projet est un didacticiel de développement d'applications à grande échelle conçu pour les développeurs novices. Le contenu couvre l'introduction du concept de grands modèles, comment appeler des API de grands modèles, la création de bases de connaissances, la création d'applications RAG (Retrieval-Augmented Generation) et de méthodes d'évaluation, etc.

apprentissage automatique

37. langchain : Un framework pour créer des applications LLM. LLM est un modèle d'apprentissage profond à grande échelle pré-entraîné basé sur le big data. Ce projet permet à LLM d'accéder à de nouveaux ensembles de données sans recyclage. Il fournit divers modules nécessaires au développement d'applications LLM, y compris les fonctions de connexion de sources contextuelles et de raisonnement basé sur LLM, facilitant le développement de diverses applications prises en charge par les LLM, telles que les chatbots, les bases de connaissances et l'extraction d'informations.

38. LLaMA-Factory : Un framework spécialement conçu pour peaufiner le LLM. Il s'agit d'un projet open source qui facilite le réglage fin de grands modèles de langage. Il prend en charge plusieurs modèles tels que LLaMA, Mistral, ChatGLM, etc., ainsi que des fonctionnalités telles que la pré-formation incrémentielle, la formation de modèles de récompense et les niveaux de précision. Il présente des algorithmes avancés et des techniques pratiques de réglage fin, et fournit des outils de surveillance pratiques pour permettre aux utilisateurs de suivre la progression des expériences.

39. ollama : Outils pour exécuter divers LLM localement. Il s'agit d'un outil écrit en langage Go. Il est utilisé pour installer, démarrer et gérer localement des modèles de langage à grande échelle avec une seule commande. Il prend en charge les grands modèles tels que Llama 3, Gemma, Mistral, etc., et convient à Windows. Systèmes d'exploitation macOS et Linux.

40. vanna : Discutez avec votre base de données SQL. Ce projet utilise la technologie de base de données LLM+RAG+ pour permettre aux utilisateurs d'interroger la base de données SQL via un langage naturel et d'utiliser le SQL généré pour répondre à vos questions.

enfin

Grâce aux amis qui ont participé au partage de projets open source, davantage de passionnés d'open source sont invités à venir sur HelloGitHub pour s'auto-recommander/recommander des projets open source. Si vous trouvez un projet intéressant sur GitHub, cliquez ici pour le partager avec tout le monde !

Y a-t-il des projets open source dans ce numéro qui vous intéressent ? Si tel est le cas, laissez-moi un message et faites-le moi savoir ~ Si vous n'en avez pas encore vu assez, vous pouvez cliquer pour lire les numéros précédents.

Merci d'avoir lu. Si vous pensez que le contenu de ce numéro est bon, aimez-le et partagez -le❤️

J'ai décidé d'abandonner les logiciels industriels open source. OGG 1.0 est sorti, Huawei a contribué à tout le code source. Ubuntu 24.04 LTS a été officiellement publié. L'équipe de Google Python Foundation a été tuée par la "montagne de merde de code" . ". Fedora Linux 40 a été officiellement lancé. Une société de jeux bien connue a publié de nouvelles réglementations : les cadeaux de mariage des employés ne doivent pas dépasser 100 000 yuans. China Unicom lance la première version chinoise Llama3 8B au monde du modèle open source. Pinduoduo est condamné à compenser 5 millions de yuans pour concurrence déloyale Méthode de saisie dans le cloud domestique - seul Huawei n'a aucun problème de sécurité de téléchargement de données dans le cloud.
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/HelloGitHub/blog/11059487
conseillé
Classement