O interesse é o melhor professor, HelloGitHub faz você se interessar por programação!
Introdução
HelloGitHub compartilha projetos interessantes de código aberto de nível básico no GitHub.
Existem projetos práticos, tutoriais introdutórios, tecnologia negra, livros de código aberto, projetos de código aberto de grandes fabricantes, etc., cobrindo uma variedade de linguagens de programação Python, Java, Go, C/C++, Swift... Vamos você sente o encanto do código aberto em pouco tempo, interesse-se por programação!
A seguir está o conteúdo desta edição|Atualizado no dia 28 de cada mês
Projeto C
1. freeswitch : uma plataforma telefônica de código aberto para operadoras. Esta é uma estrutura de comunicação de código aberto que suporta vários protocolos de comunicação, como SIP e WebRTC. Como um soft switch multifuncional, pode ser usado para criar vários serviços de voz e mensagens, como sistemas telefônicos corporativos, call centers virtuais e videoconferências. serviços, etc.
2. NetHack : Um jogo Roguelike com uma longa história. Este é um jogo clássico independente do tipo Roguelike. O jogador jogará como um explorador de masmorras para encontrar o misterioso colar Yendor. A interface do jogo é composta por caracteres ASCII. Possui características de alto grau de liberdade, alta dificuldade, geração aleatória de mapas e morte permanente.
3. rt-thread : Sistema operacional IoT pequeno e bonito. Este é um sistema operacional de código aberto da Internet das Coisas iniciado pelo povo chinês e possui excelente adaptabilidade e escalabilidade. Ele pode ser executado em núcleos muito pequenos em chips ARM Cortex-M0, em sistemas ARM Cortex-M3/4/7 de tamanho médio e até mesmo em ARM Cortex-A de 64 bits com vários núcleos, MIPS32/64 e outros processadores de diferentes arquiteturas. . Ele também fornece componentes e pacotes de software ricos em recursos para ajudar os desenvolvedores a construir rapidamente produtos de sistemas embarcados. Compartilhando de @Arkimidong
Projeto C#
4. g-helper : Um substituto leve para o ASUS Ultron Center. Este projeto é uma alternativa de código aberto ao ASUS Notebook Ultron Control Center (software de controle de notebook para jogos). Possui as características de uma interface simples e uso extremamente baixo de recursos do sistema. Suporta alternância contínua de modos de placa gráfica, ajuste de taxa de atualização da tela, curva do ventilador, consumo de energia, iluminação do teclado e outras funções.
5. WingetUI : gerenciador de pacotes do Windows com interface. Este projeto é uma interface de usuário projetada para ferramentas de gerenciamento de pacotes de linha de comando comumente usadas no Windows, como Winget, Scoop, Pip, NPM, .NET Tool, etc. Possui uma interface amigável, um design bonito e suporta chinês. Por meio dele, você pode facilmente baixar, instalar, atualizar e desinstalar qualquer software publicado no gerenciador de pacotes e outros aplicativos diários, como navegadores, leitores de PDF, etc.
Projeto C++
6. cppinsights : observe o código C++ da perspectiva do compilador. Esta é uma ferramenta de desenvolvimento baseada em Clang. Ela pode converter o código-fonte em resultados de derivação do compilador, permitindo aos usuários compreender profundamente o mecanismo interno do código da perspectiva do compilador. Pode ser usada para demonstrar e explicar árvores de sintaxe abstratas (AST). ) e C++ Novos recursos da linguagem.
7. Stellarium : um software de simulação astronômica de código aberto. Este projeto é um artefato obrigatório para entusiastas da astronomia. Ele pode simular/exibir com precisão a cena do céu estrelado acima de sua cabeça, incluindo estrelas, constelações, planetas, cometas e outros corpos celestes. , ampliando para observação e ilustrando constelações. Ele fornece clientes para várias plataformas, incluindo Windows, Linux, macOS, iOS e Android.
8. VideoPipe : Uma estrutura de análise e estruturação de vídeo multiplataforma. Este é um framework para análise e estruturação de vídeos, escrito em C++, com poucas dependências e fácil de usar. É como um pipeline onde cada nó é independente um do outro e pode ser combinado para construir diferentes tipos de pipelines de análise de vídeo. É adequado para cenários como estruturação de vídeo, pesquisa de imagens, reconhecimento facial e análise comportamental na área de segurança (). como detecção de incidentes de trânsito). Compartilhamento de @zhouzhi
Vá projeto
9. congelar : uma ferramenta de terminal para gerar imagens de código. Este projeto pode converter trechos de código e saída de terminal em imagens nos formatos PNG, SVG e WebP. É desenvolvido na linguagem Go. Caracteriza-se pela instalação simples e facilidade de uso. imagens personalizadas através do modo interativo.
# macOS or Linux
brew install charmbracelet/tap/freeze
# Arch Linux (btw)
pacman -S freeze
# Nix
nix-env -iA nixpkgs.charm-freeze
10. Jaeger : uma plataforma de rastreamento de links distribuídos de código aberto. Este projeto é inspirado em Dapper e OpenZipkin, uma plataforma distribuída de rastreamento de cadeia de chamadas criada e de código aberto pela Uber. Pode ser usado para monitorar e diagnosticar aplicações distribuídas (microsserviços). Suas funções incluem suporte para vários idiomas, rastreamento de link completo, entrega de contexto, indicadores de desempenho, visualização e alarmes, etc. Compartilhando de @太卡
11. opengist : uma alternativa de código aberto ao GitHub Gist. O projeto armazena código ou fragmentos de texto em um repositório Git, e os usuários podem visualizar e modificar o conteúdo por meio de comandos Git ou da Web, semelhante ao serviço Gist do GitHub. É de código aberto, auto-hospedado e oferece suporte à criação de trechos públicos/privados, destaque de sintaxe, pesquisa de código, incorporação em outros sites e histórico de modificações.
Projeto Java
12. CompreFace : Sistema de reconhecimento facial gratuito e de código aberto. Este projeto fornece serviços REST API para reconhecimento facial, detecção, verificação, detecção de pose de cabeça, reconhecimento de gênero e idade, que podem ser facilmente integrados a qualquer sistema sem conhecimento de aprendizado de máquina. Seu backend é escrito em Java, o reconhecimento facial é implementado com base em FaceNet e InsightFace e também oferece suporte à implantação do Docker.
13. fdroidclient : loja de aplicativos Android gratuita e de código aberto. Este projeto é o cliente Android da F-Droid, uma loja de aplicativos especializada na coleta de diversos softwares Android de código aberto (FOSS). A maioria deles são aplicativos gratuitos e sem anúncios. Se você encontrar um carregamento lento de recursos, poderá resolver o problema configurando uma fonte espelhada.
Projeto JavaScript
14. cmdk : componente React do menu de comando rápido e sem estilo. Este projeto pode ajudar os desenvolvedores a implementar facilmente um menu de comando intuitivo e rico em recursos, semelhante ao menu interativo evocado pela tecla de atalho ⌘K, melhorando assim a experiência interativa do usuário e adequado para diversas aplicações web. Compartilhado por @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. esboço : documento de código aberto e ferramenta de gerenciamento da base de conhecimento da equipe. Esta é uma ferramenta online de edição e colaboração de documentos desenvolvida com React e Node.js. Possui uma interface bonita, funções ricas, é compatível com Markdown e suporta implantação em chinês e Docker. Além disso, oferece clientes para Windows, macOS, iOS e Android, que podem ser usados como wiki privado ou plataforma interna de documentação e base de conhecimento para pequenas e médias empresas.
16. Photo-Sphere-Viewer : biblioteca JavaScript para exibir um panorama esférico de 360°. Este é um visualizador de fotos panorâmicas desenvolvido com base em Three.js, que oferece interação amigável e funções ricas. Ele suporta uma variedade de formatos e funções de panorama, incluindo panorama 2:1, panorama hexaédrico, blocos de panorama, texto de exibição, panorama de vídeo, etc. Compartilhado por @wanzij
17. strapi : o CMS sem cabeça de código aberto líder mundial. Este é um sistema de gerenciamento de conteúdo totalmente gratuito e sem interface desenvolvido em JavaScript/TypeScript. Ele possui uma API pronta para uso e um painel de gerenciamento amigável, além de recursos como gerenciamento de permissões, segurança padrão e facilidade de SEO. Como um dos sistemas de gerenciamento de conteúdo de código aberto mais populares atualmente no GitHub, o Strapi se tornou o CMS preferido de muitas empresas da Fortune 500. Compartilhado por @greatYe
18. tailwind-landing-page-template : modelo de página de destino gratuito e de código aberto. Este projeto é um modelo de landing page construído com base em TailwindCSS, React e Next.js. Possui uma interface bonita, código simples e design online. É adequado para criar rapidamente homepages de empresas, landing pages de eventos, etc.
git clone 项目
yarn install
yarn dev
# http://localhost:3000
Projeto Kotlin
19. Breezy-weather : um aplicativo meteorológico minimalista para Android. Este é um aplicativo de clima muito focado em design, usando a linguagem de design Material Design. É simples e limpo, gratuito, sem anúncios e compatível com chinês. Ele pode exibir vários dados meteorológicos, como precipitação, qualidade do ar, previsão horária, clima ao vivo, pólen, umidade, etc.
Projeto Python
20. zona de perigo : uma ferramenta que converte documentos não confiáveis em PDFs seguros. Este é um projeto de código aberto que garante a segurança dos documentos. Ele pode converter arquivos PDF, documentos de escritório ou imagens potencialmente perigosas (fontes desconhecidas, anexos de e-mail) em um ambiente sandbox isolado para gerar arquivos PDF seguros.
21. ótimas tabelas : Use Python para criar lindas tabelas. Esta biblioteca Python pode ser usada para criar tabelas úteis e bonitas. Ele fornece um conjunto de componentes de tabela para ajudar os desenvolvedores Python a criar facilmente belas tabelas de dados, combinando diferentes partes da tabela, como cabeçalhos de tabela, rodapés de tabela, rótulos de linha (stubs) e rótulos de chave inglesa (etiquetas de chave inglesa). Compartilhado por @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 : biblioteca Python para controlar eletrodomésticos inteligentes Xiaomi. Este projeto fornece uma biblioteca Python e ferramentas de linha de comando que podem ser usadas para controlar dispositivos usando os protocolos miIO e MIoT da Xiaomi. Com ele, os usuários podem se comunicar facilmente e controlar remotamente dispositivos inteligentes Xiaomi, incluindo robôs de varredura, lâmpadas, purificadores de ar, etc., o que é muito adequado para desenvolvedores que gostam de sistemas domésticos inteligentes DIY.
23. undetected-chromedriver : biblioteca Python que ignora a detecção anti-rastreamento. Este é um patch otimizado do Selenium WebDriver projetado especificamente para evitar que a automação do navegador acione mecanismos anti-bot. Ele pode ocultar as características do navegador (impressões digitais) e é muito conveniente de usar, assim como uma biblioteca de terceiros para 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. wasreader : Um assistente abrangente de leitura e anotações do WeChat. Este é um cliente de desktop de leitura WeChat escrito com base em PySide6. Ele não apenas suporta a função de leitura de livros, mas também possui um modo de notas, que pode visualizar todas as suas notas de leitura, sublinhados populares e outros conteúdos.
Projeto ferrugem
25. grex : uma ferramenta de linha de comando que gera expressões regulares automaticamente. Talvez seja útil quando você não sabe escrever regex. Este projeto é uma ferramenta de linha de comando desenvolvida em linguagem Rust. Ela pode retornar expressões regulares correspondentes com base no conteúdo de amostra fornecido pelo usuário. Compartilhado por @size_t
26. sqlx : poderoso kit de ferramentas SQL assíncrono Rust. Esta é uma verdadeira biblioteca SQL assíncrona, totalmente desenvolvida em linguagem Rust, suportando bancos de dados PostgreSQL, MySQL, MariaDB e SQLite. Ele fornece funções como verificação em tempo de compilação de instruções de consulta e cache automático de instruções, tornando a interação entre a linguagem Rust e o banco de dados SQL fácil e eficiente.
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. Zero-to-production : Crie um serviço de comunicação por e-mail do zero usando Rust. Este projeto é apenas o código-fonte do projeto de suporte para o livro "Zero To Production In Rust" e não fornece o livro. Este livro apresenta como usar Rust para construir um serviço de comunicação por e-mail do zero, incluindo todo o processo de configuração do ambiente de desenvolvimento, processo de integração contínua, desenvolvimento de API back-end, tratamento de erros e implantação.
Projeto rápido
28. pika : seletor de cores nativo para macOS. Esta é uma ferramenta de seleção de cores projetada especificamente para macOS. É gratuita, rápida e fácil de usar, permitindo encontrar rapidamente os valores das cores na tela.
29. lembretes-menubar : ferramenta minimalista de lembrete da barra de menu do macOS. Esta é uma pequena ferramenta desenvolvida em SwiftUI que pode visualizar/lembrar itens de tarefas na barra de menu do macOS. É pequeno em tamanho, simples de interagir e possui uma interface refrescante. Suporta funções como inicialização, vários idiomas (incluindo chinês), contagem de exibição da barra de menu, teclas de atalho e outras funções.
outro
30. cat-catch : plug-in de navegador para detecção de mídia de código aberto. Este plug-in de navegador chamado "Cat's Claw" pode ajudá-lo a listar os endereços de download de recursos de música e vídeo na página atual.
31. contêineres : uma coleção de imagens de contêineres para vários softwares de código aberto. Este projeto é uma coleção de contêineres Docker mantidos e de código aberto pela BitNami, incluindo vários softwares, sistemas e aplicativos da web de código aberto. Eles foram otimizados e as vulnerabilidades verificadas, permitindo a implantação com um clique com Docker, facilitando a implantação de aplicativos sem a necessidade de processos complicados de instalação e configuração.
docker pull bitnami/APP
docker pull bitnami/APP:[TAG]
32. ServiceLogos : Uma coleção de logotipos super fofos. Este é um armazém usado para armazenar vários logotipos feitos por Sawaratsuki. Esses logotipos são lindamente feitos e fofos, incluindo marcas registradas de linguagens de programação, frameworks, ferramentas e principais mídias sociais™️.
33. ungoogled-chromium : um navegador Chrome mais puro. Este projeto é um navegador que remove os serviços do Google do navegador Chrome, mantendo todas as funcionalidades do navegador.
34. rastreador de tempo de atividade na web : um plug-in de navegador que rastreia seu tempo de atividade online. Este é um plug-in de navegador de código aberto e sem anúncios que registra seu tempo de navegação em diferentes sites e fornece estatísticas intuitivas. Ele suporta funções como contagem do tempo de navegação por dia e hora, filtragem de sites interferentes e exportação de dados.
Livros de código aberto
35. como aprender robótica : um guia de autoaprendizagem para robótica. Este guia foi elaborado para alunos não graduados, para ensiná-los a aprender robótica. Ele contém conhecimento essencial, livros introdutórios recomendados, projetos práticos e métodos avançados para ajudar os leitores a se tornarem gradualmente um excelente engenheiro robótico.
36. llm-universe : "Aprendizado prático de desenvolvimento de aplicativos de grandes modelos". Este projeto é um tutorial de desenvolvimento de aplicativos de modelo grande projetado para desenvolvedores novatos. O conteúdo cobre a introdução do conceito de grandes modelos, como chamar APIs de grandes modelos, construção de bases de conhecimento, construção de aplicativos RAG (Retrieval-Augmented Generation) e métodos de avaliação, etc.
aprendizado de máquina
37. langchain : Uma estrutura para construir aplicativos LLM. LLM é um modelo de aprendizagem profunda em grande escala pré-treinado com base em big data. Este projeto permite que o LLM acesse novos conjuntos de dados sem retreinamento. Ele fornece vários módulos necessários para desenvolver aplicações LLM, incluindo as funções de conexão de fontes contextuais e raciocínio baseado em LLM, facilitando o desenvolvimento de diversas aplicações suportadas por LLMs, como chatbots, bases de conhecimento e extração de informações.
38. LLaMA-Factory : Uma estrutura projetada especificamente para o ajuste fino do LLM. Este é um projeto de código aberto que facilita o ajuste fino de grandes modelos de linguagem. Ele oferece suporte a vários modelos, como LLaMA, Mistral, ChatGLM, etc., bem como recursos como pré-treinamento incremental, treinamento de modelo de recompensa e níveis de precisão. Ele apresenta algoritmos avançados e técnicas práticas de ajuste fino e fornece ferramentas de monitoramento convenientes para facilitar aos usuários acompanhar o progresso dos experimentos.
39. ollama : Ferramentas para executar vários LLM localmente. Esta é uma ferramenta escrita em linguagem Go. É usada para instalar, iniciar e gerenciar modelos de linguagem de grande escala localmente com um comando. Suporta modelos grandes como Llama 3, Gemma, Mistral, etc., e é adequado para Windows, sistemas operacionais macOS e Linux.
40. vanna : Converse com seu banco de dados SQL. Este projeto usa tecnologia de banco de dados LLM+RAG+ para permitir aos usuários consultar o banco de dados SQL por meio de linguagem natural e usar o SQL gerado para responder às suas perguntas.
afinal
Graças aos amigos que participaram do compartilhamento de projetos de código aberto, mais entusiastas de código aberto são bem-vindos ao HelloGitHub para auto-recomendar/recomendar projetos de código aberto. Se você encontrar um projeto interessante no GitHub, clique aqui para compartilhá-lo com todos!
Há algum projeto de código aberto nesta questão que lhe interesse? Em caso afirmativo, deixe uma mensagem e me avise. Se você ainda não viu o suficiente, pode clicar para ler as edições anteriores.
Obrigado por ler. Se você acha que o conteúdo desta edição é bom, curta e compartilhe❤️
Decidi desistir do software industrial de código aberto . Grandes eventos - OGG 1.0 foi lançado, a Huawei contribuiu com todo o código-fonte do Ubuntu 24.04 LTS foi oficialmente demitido . ". O Fedora Linux 40 foi lançado oficialmente. Uma conhecida empresa de jogos lançou novos regulamentos: os presentes de casamento dos funcionários não devem exceder 100.000 yuans. A China Unicom lança a primeira versão chinesa Llama3 8B do mundo do modelo de código aberto. Pinduoduo é condenado a compensar 5 milhões de yuans por concorrência desleal Método de entrada na nuvem doméstica - apenas a Huawei não tem problemas de segurança de upload de dados na nuvem.