Código Aberto Mensal "HelloGitHub" Edição 88

O interesse é o melhor professor, o HelloGitHub faz você se interessar por programação!

Introdução

O HelloGitHub compartilha projetos de código aberto interessantes e básicos no GitHub.

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

Existem projetos práticos, tutoriais introdutórios, tecnologia negra, livros de código aberto, projetos de código aberto de Dachang, etc., abrangendo várias linguagens de programação Python, Java, Go, C/C++, Swift... Deixe você sentir o charme de open source em pouco tempo, se interesse por programação!


O seguinte é o conteúdo desta edição|Atualizado no dia 28 de cada mês

projeto C

1. memreduct : Um aplicativo de gerenciamento de memória compacto. Esta é uma ferramenta de gerenciamento de memória do Windows que pode monitorar a memória do computador e limpar o cache do sistema em tempo real. É pequeno em tamanho (6 MB), tem um efeito óbvio de liberação de memória e é compatível com o Windows XP e versões superiores.

2. naxsi : Um firewall Nginx eficiente e fácil de usar. Este é um firewall de aplicativo da web Nginx profissional que pode ser usado para se defender contra injeção de SQL, ataques de XSS, etc. Adota o método de defesa da lista branca, a configuração da regra é simples, a função é poderosa e suporta os modos de interceptação e aprendizado. O modo de aprendizado pode auxiliar na descoberta de ataques desconhecidos, gerando e otimizando regras de lista branca.

3. sem mais segredos : Simule o efeito de descriptografia de dados no filme no terminal. Esta é uma ferramenta de linha de comando que emula o efeito da descriptografia de dados no filme "Baby Boy" de 1992 no terminal. Ele pode exibir texto ASCII ou UTF-8 com um efeito de descriptografia no estilo de Hollywood.

$ ls -l | nms
$ ls -l | nms -a           // Set auto-decrypt flag
$ ls -l | nms -s           // Set flag to mask space characters
$ ls -l | nms -f green     // Set foreground color to green
$ ls -l | nms -c           // Clear screen
$ nms -v                   // Display version

4. opencv-mobile : uma biblioteca OpenCV mínima. Esta é uma biblioteca OpenCV que é mais de 10 vezes menor que a versão oficial. Ela corta os módulos e mantém apenas os módulos de computação mais básicos e funções comuns de processamento de imagem. É adequado para Android, iOS, Windows, Linux, macOS e outras plataformas.

projeto C#

5. FluentHub : um cliente GitHub atraente. Este é um cliente GitHub escrito em C#, projetado com Fluent Design, com uma interface limpa e elegante, adequado para sistemas Windows.

6. wincompose : Método de entrada de símbolo especial gratuito. Esta é uma pequena ferramenta do Windows que permite inserir facilmente símbolos especiais e Emoji. Ele possui milhares de símbolos especiais e Emoji integrados e oferece suporte à combinação de teclas personalizadas para inserir rapidamente caracteres especiais.

Projeto C++

7. clink : ferramenta de aprimoramento de linha de comando do Windows. Este projeto permite que o cmd.exe nativo do Windows tenha autocompletar poderoso, histórico, edição de linha e outras funções semelhantes a bash, assim como em um terminal Linux. Compartilhado de @孤惊枪手

8. miniob : de 0 a 1 tutorial prático do kernel do banco de dados. Este projeto é um projeto de aprendizado baseado no protótipo do curso de banco de dados da Huazhong University of Science and Technology, desenvolvido em conjunto pela equipe da OceanBase e várias universidades, a partir do zero. Possui uma estrutura simples e um código conciso, além de explicações em texto e tutoriais em vídeo, mas também tópicos do superficial ao profundo. Através do método de teoria + combate real, ajude os iniciantes a entender rapidamente as funções e sinergias dos módulos do kernel, melhore a capacidade de codificação de engenharia e ajude a se destacar em entrevistas e empregos. Compartilhamento de @wangyunlai

Projeto CSS

9. layui : Biblioteca de componentes de IU da Web para desenvolvedores de back-end. Esta é uma biblioteca gratuita de componentes de IU da Web que adota o modelo de desenvolvimento HTML/CSS/JS ecológico original. Está pronta para uso sem ferramentas de construção, fácil de usar, interface do usuário simples e refrescante e é profundamente apreciada pela maioria dos usuários. -end desenvolvedores.

Vai projeto

10. compress : Uma poderosa biblioteca de compressão de linguagem Go. Este projeto contém uma variedade de algoritmos de compactação, suporta algoritmo de compactação em tempo real zstandard, algoritmo de compactação de versão otimizada Snappy S2, etc., e também pode ser usado para substituir bibliotecas padrão, como gzip, zip e zlib.

11. feishu2md : Uma ferramenta para converter documentos Feishu em Markdown. Esta é uma pequena ferramenta escrita em Go, que pode baixar documentos Feishu como arquivos Markdown. Ele pode ser usado sem instalação e download e suporta três métodos de uso: linha de comando, Docker e online.

12. pop : Uma ferramenta para enviar e-mails no terminal. Esta é uma ferramenta de e-mail de linha de comando escrita em Go. Ela suporta TUI e uso de linha de comando. Também pode ser combinada com outras ferramentas por meio de pipelines para obter funções como a escrita de e-mails por IA.

pop < message.md \
    --from "[email protected]" \
    --to "[email protected]" \
    --subject "Hello, world!" \
    --attach invoice.pdf

13. URLFinder : Uma ferramenta para extrair rapidamente informações de páginas da web. Este projeto pode rastrear informações rapidamente, como endereços de URL em páginas da Web, interfaces de API em arquivos JS, etc., e oferece suporte a rastreamento em lote, rastreamento detalhado e modos de rastreamento seguro.

projeto java

14. antlr4 : Uma poderosa ferramenta de geração de analisadores. A gramática ANTLR concisa pode construir um analisador léxico e um parser e gerar mais de 10 códigos de idioma de destino (Java/C++/Python, etc.) de um arquivo, que são usados ​​principalmente para análise de texto, leitores de arquivo de configuração e código legado conversores, analisador JSON, etc.

grammar Expr;
prog:   (expr NEWLINE)* ;
expr:   expr ('*'|'/') expr
    |   expr ('+'|'-') expr
    |   INT
    |   '(' expr ')'
    ;
NEWLINE : [\r\n]+ ;
INT     : [0-9]+ ;

projeto javascript

15. Flowise : Use arrastar e soltar para criar aplicativos de modelo grande. Este projeto permite personalizar o processo de modelo grande (LLM) por meio da visualização e arrastar e soltar componentes, criar facilmente aplicativos LLM e oferecer suporte à inicialização do serviço com um clique do Docker.

16. habitica : desenvolva bons hábitos jogando jogos de RPG. Este é um jogo de RPG de desenvolvimento. Ao concluir um item de tarefa real, você receberá a experiência correspondente e moedas de ouro. À medida que seu nível aumenta, mais formas de jogar serão abertas, como comprar equipamentos, chocar animais de estimação, ocupações, habilidades exclusivas, masmorras de equipe, etc.

17. jsnes : Um simulador de máquina vermelho e branco escrito em JavaScript. Este é um emulador de jogo de NES escrito em JavaScript, que pode ser incorporado diretamente em uma página da Web ou usado como uma biblioteca no Node.js.

// Initialize and set up outputs
var nes = new jsnes.NES({
  onFrame: function(frameBuffer) {
    // ... write frameBuffer to screen
  },
  onAudioSample: function(left, right) {
    // ... play audio sample
  }
});

// Read ROM data from disk (using Node.js APIs, for the sake of this example)
const fs = require('fs');
var romData = fs.readFileSync('path/to/rom.nes', {encoding: 'binary'});

// Load ROM data as a string or byte array
nes.loadROM(romData);

// Run frames at 60 fps, or as fast as you can.
// You are responsible for reliable timing as best you can on your platform.
nes.frame();
nes.frame();
// ...

// Hook up whatever input device you have to the controller.
nes.buttonDown(1, jsnes.Controller.BUTTON_A);
nes.frame();
nes.buttonUp(1, jsnes.Controller.BUTTON_A);
nes.frame();
// ...

18. react-login-page : Um belo componente de página de login do React. Componentes React para criar rapidamente páginas de login, incluindo mais de uma dúzia de páginas de login empacotadas com interfaces legais e plug-and-play. Compartilhado de @王楚江

19. talk : um aplicativo de vídeo online que pode ser usado imediatamente. Este é um aplicativo de vídeo on-line P2P construído com base no WebRTC. É gratuito, não requer download e registro e pode ser usado imediatamente.

Projeto Kotlin

20. Squircle-CE : Editor de código em telefones Android. Este editor de código móvel gratuito suporta mais de 30 linguagens de programação, como C, C++, Go, Python, Java, etc., e também possui funções como realce de sintaxe, preenchimento automático, gerenciamento de arquivos e estilo de código.

Projeto Python

21. cudf : Uma biblioteca Python de processamento de banco de dados que suporta GPU. É equivalente a pandas que suporta GPU, e a velocidade de processamento de dados decola diretamente. Fornece uma API semelhante ao pandas que suporta carregamento, mesclagem, agregação e filtragem para manipular dados.

import cudf, requests
from io import StringIO

url = "https://github.com/plotly/datasets/raw/master/tips.csv"
content = requests.get(url).content.decode('utf-8')

tips_df = cudf.read_csv(StringIO(content))
tips_df['tip_percentage'] = tips_df['tip'] / tips_df['total_bill'] * 100

# display average tip by dining party size
print(tips_df.groupby('size').tip_percentage.mean())

22. fastapi-users : gerenciamento de usuários FastAPI pronto para uso. Este projeto pode integrar rapidamente as funções de registro de usuário e autenticação de identidade no projeto FastAPI e oferece suporte a funções como registro, login, redefinição de senha, verificação de e-mail, OAuth2 e autenticação personalizada.

23. fastkafka : Integre facilmente a biblioteca Python do Kafka para seus serviços da web. Uma biblioteca Python baseada em Pydantic e AIOKafka, que pode ser usada para desenvolver rapidamente programas Python assíncronos que interagem com Kafka.

from fastkafka import FastKafka
from pydantic import BaseModel, Field
from fastkafka._components.logger import get_logger

logger = get_logger(__name__)

class HelloWorld(BaseModel):
    msg: str = Field(
        ...,
        example="Hello",
        description="Demo hello world message",
    )

kafka_brokers = {
    "demo_broker": {
        "url": "<url_of_your_kafka_bootstrap_server>",
        "description": "local demo kafka broker",
        "port": "<port_of_your_kafka_bootstrap_server>",
    }
}

app = FastKafka(kafka_brokers=kafka_brokers)
@app.consumes()
async def on_hello_world(msg: HelloWorld):
    logger.info(f"Got msg: {msg}")

24. networkx : Uma poderosa biblioteca de análise de rede Python. Esta é uma biblioteca Python para criar, manipular e pesquisar estruturas de rede complexas. Ela possui estruturas de dados e algoritmos de grafos comumente usados ​​e suporta a geração de grafos não direcionados (Graph), gráficos direcionados (DiGraph), múltiplos gráficos não direcionados ( MultiGraph), o MultiDiGraph pode ser usado em cenários como pesquisa em teoria dos grafos, prototipagem e ensino.

# 查找无向图中两个节点的最短路径
&gt;&gt;&gt; import networkx as nx
&gt;&gt;&gt; G = nx.Graph()
&gt;&gt;&gt; G.add_edge("A", "B", weight=4)
&gt;&gt;&gt; G.add_edge("B", "D", weight=2)
&gt;&gt;&gt; G.add_edge("A", "C", weight=3)
&gt;&gt;&gt; G.add_edge("C", "D", weight=4)
&gt;&gt;&gt; nx.shortest_path(G, "A", "D", weight="weight")
['A', 'B', 'D']

25. rpg_tactical_fantasy_game : RPG baseado em turnos desenvolvido com pygame. Este é um jogo baseado em turnos de estratégia 2D escrito em Python, com menos dependências de projeto e código simples, até mesmo um novato em Python pode entendê-lo. Na verdade, o autor não é bom em fazer jogos baseados em turnos, mas como gosta de jogar esse tipo de jogo, ele tem esse projeto.

projeto de ferrugem

26. dm-ticket : ferramenta de compra automática de ingressos da Damai.com escrita em Rust. A ferramenta de coleta de ingressos do Damai.com suporta apenas a compra de ingressos na página H5 e não oferece suporte à seleção de assentos. Compartilhado de [ @Classmate Lin]( https://hellogithub.com/user/TDta5YXLVF7Aloj )

27. gping : Uma ferramenta de ping escrita em Rust. O projeto pode exibir os resultados do ping em tempo real na forma de um gráfico de linhas e oferece suporte aos sistemas operacionais Windows, Linux e macOS.

28. pot-desktop : um software de tradução de palavras multiplataforma. É uma ferramenta de tradução que suporta vários modos, como tradução de palavras, tradução de entrada e tradução de captura de tela, e é adequada para Windows, macOS e Linux.

Projeto Swift

29. alt-tab-macos : ferramenta de troca de janela alt-tab no macOS. Este é um aplicativo que traz a função de janela de alternância Alt-tab do Windows para o macOS. Ele suporta fechamento com um clique, tela cheia, aplicativos ocultos, aparência AltTab personalizada, teclas de atalho e outras funções.

outro

30. digital_video_introduction : Um tutorial explicando a tecnologia de vídeo. Este é um tutorial passo a passo da tecnologia em vídeo, desde o conceito básico até o funcionamento do codificador de vídeo, o conteúdo é de fácil compreensão, com imagens e textos.

31. immich : serviço de backup de fotos e vídeos de celular autoconstruído. Esta é uma solução de código aberto para fazer backup de fotos e vídeos em telefones iPhone e Android por si só e oferece suporte a funções como backup automático, multiusuário, álbuns compartilhados e visualização de fotos em tempo real.

32. og-aws : Um guia prático para AWS. Este é um guia de instruções escrito por engenheiros que usam a AWS, abrangendo fundamentos da AWS, gerenciamento de servidores, desenvolvimento de carreira e muito mais.

33. OpenCat : estrutura de estimação de robô quadrúpede de código aberto. Esta é uma estrutura de estimação de robô quadrúpede baseada em Arduino e Raspberry Pi, que permite controlar robôs quadrúpedes através da linguagem de programação C/C++/Python. O Doraemon em miniatura da empresa parece uma versão de brinquedo do cachorro mecânico de Boston.

34. SoftwareArchitect : O caminho para o arquiteto. Este é um guia de estudo que ensina como se tornar um arquiteto.

livros de código aberto

35. Book4_Power-of-Matrix : "Matrix Power". O livro apresenta vetores, matrizes, espaços vetoriais, decomposição de matrizes, cálculo, geometria espacial e muito mais, com ilustrações coloridas e código de exemplo Python.

36. Mecanismo de busca : "Tecnologia de mecanismo de busca". O autor do livro é um engenheiro de algoritmo de Xiaohongshu, e o conteúdo abrange os fundamentos dos mecanismos de pesquisa, aprendizado de máquina, classificação, recomendação de palavras de consulta, elementos que determinam a experiência do usuário etc., portanto, não se deixe enganar pelo título simples .

aprendizado de máquina

37. DeepFaceLive : Transmissão ao vivo em tempo real e programa de mudança de rosto de IA de vídeo. Este projeto pode realizar a mudança de rosto AI em tempo real nos personagens da câmera e arquivos de vídeo locais, e pode ser usado em transmissão ao vivo de PC, vídeo e outros cenários.

38. DeepSpeed : biblioteca de otimização de treinamento de deep learning de código aberto da Microsoft. Como todos sabemos, treinar um modelo grande (LLM) é uma coisa "demorada e cara". O projeto usa a tecnologia ZeRO++ para dividir o estado do modelo em cada GPU durante o treinamento e reduzir o tempo necessário para o treinamento melhorando a taxa de transferência. e custo. Compartilhado por @zhizhu

39. modelscope : modelo de IA como plataforma de compartilhamento de serviços. Mota é uma plataforma MaaS de código aberto fornecida pelo Alibaba Dharma Institute. Ele oferece aos desenvolvedores um serviço completo de experiência de modelo, raciocínio, treinamento, implantação e aplicação, equivalente à versão doméstica do Hugging Face. Compartilhado de @孤惊枪手

40. PPOxFamily : Um curso público básico sobre inteligência de decisão. Este curso espera abrir sua jornada de exploração de IA de tomada de decisão por meio de uma explicação detalhada do algoritmo de aprendizado por reforço profundo mais clássico, Proximal Policy Optimization (PPO). Ele contém vídeos, materiais teóricos, exercícios, códigos e amostras de aplicativos, que podem ajudar os iniciantes a entender rapidamente como usar o PPO para resolver vários problemas de inteligência de tomada de decisão. Compartilhado por @Fan

afinal

Obrigado aos amigos que compartilham desinteressadamente projetos de código aberto, dê as boas-vindas a mais entusiastas de código aberto para vir ao HelloGitHub para recomendar/recomendar projetos de código aberto. Se você encontrar um projeto interessante no GitHub, clique aqui para compartilhar com todos!

Acima está todo o conteúdo desta edição. Clique para ler o conteúdo das edições anteriores . Se você acha que o conteúdo desta edição não é ruim , curta e compartilhe❤️

Musk anunciou que o Twitter mudará seu nome para X e substituirá o logotipo Dan Abramov, desenvolvedor principal do React, anunciou sua renúncia ao Meta Esclarecimento sobre o plágio de MyBatis-Flex MyBatis-Plus OpenAI lançou oficialmente a versão Android do ChatGPT O ChatGPT para Android será lançado na próxima semana , Agora começou o pré-registro do navegador Arc lançado oficialmente 1.0, alegando ser um substituto para o Chrome Musk "comprado por zero yuan", roubou @x conta do Twitter VS Code compactação de ofuscação de nome otimizada, JS integrado reduzido em 20%! Bun 0.7, um novo tempo de execução JavaScript de alta velocidade , foi lançado oficialmente
{{o.name}}
{{m.name}}

Acho que você gosta

Origin my.oschina.net/HelloGitHub/blog/10091384
Recomendado
Clasificación