Category: Desenvolvimento

Dilema de segurança do verificador eBPF: um novo ambiente de execução isolado

2025-04-15

O eBPF, uma tecnologia fundamental no kernel do Linux, enfrenta vulnerabilidades de segurança e desafios de complexidade em seu verificador. Os pesquisadores propõem uma mudança de paradigma: definir programas BPF como aplicativos de modo kernel que exigem isolamento dedicado. Um novo ambiente de execução foi projetado para isolar programas BPF, aumentando a segurança e a escalabilidade do eBPF. Esta pesquisa investiga o verificador eBPF do Linux v6.16, revelando propriedades de segurança, dilemas de capacidade e dilemas de correção em sua análise de caminho completo. Uma estrutura de segurança híbrida combinando verificação e isolamento é proposta, apontando para um futuro mais seguro para o eBPF.

Desenvolvimento verificação de programa

Componentes de Servidor React: Desvendando a Busca de Dados do Frontend

2025-04-15

Este artigo explora como os Componentes de Servidor React resolvem as complexidades da busca de dados do frontend. APIs REST tradicionais têm dificuldades em acompanhar as necessidades em evolução da IU, levando à redundância de dados ou dados insuficientes. O autor propõe uma abordagem BFF (Backend for Frontend), introduzindo o conceito de ViewModel no backend, permitindo que o servidor retorne diretamente os dados específicos de que cada componente precisa. Decompondo as funções ViewModel em unidades menores e utilizando a sintaxe JSX, é alcançado um acoplamento estreito entre os componentes e a lógica de carregamento de dados, resultando em uma arquitetura frontend eficiente e fácil de manter. Este método é semelhante em espírito ao Async XHP, integrando perfeitamente a busca de dados e a renderização da IU, mas evita as limitações do Async XHP em aplicativos altamente interativos.

Desenvolvimento Busca de Dados

Uma Aventura Curiosa Implementando RNG e Cosseno em Nix Funcionalmente Puro

2025-04-15
Uma Aventura Curiosa Implementando RNG e Cosseno em Nix Funcionalmente Puro

Este post detalha a experiência do autor ao implementar um gerador de números aleatórios e uma função cosseno no NixOS, uma distribuição Linux construída na linguagem Nix. A natureza puramente funcional do Nix apresenta desafios ao trabalhar com aleatoriedade do sistema e funções matemáticas padrão. O autor explora várias abordagens, incluindo o uso do `runCommandLocal` do Nix e implementações de listas infinitas personalizadas, superando em última análise as peculiaridades de cache e chamadas de função para alcançar o objetivo. A jornada destaca a flexibilidade e o poder do Nix, mas também expõe algumas limitações de seus recursos.

Desenvolvimento

MeshCore: Uma Biblioteca Leve de Rede Mesh LoRa

2025-04-15
MeshCore: Uma Biblioteca Leve de Rede Mesh LoRa

MeshCore é uma biblioteca C++ leve e portátil que permite roteamento de pacotes multi-hop para projetos embarcados usando LoRa e outros rádios de pacotes. Projetada para redes resilientes e descentralizadas que funcionam sem acesso à internet, ela suporta vários dispositivos LoRa e oferece binários pré-compilados para facilitar a gravação usando ferramentas como Adafruit ESPTool. MeshCore equilibra simplicidade e escalabilidade, fornecendo funcionalidade semelhante ao Meshtastic e Reticulum, mas com foco em aplicações embarcadas. Ideal para comunicação off-grid, resposta a emergências e implantações de IoT.

Desenvolvimento Rede Mesh

Resonate: Análise Espectral de Baixa Latência, Memória e Custo Computacional

2025-04-15

Resonate é um algoritmo de baixa latência, baixo consumo de memória e baixo custo computacional para avaliar informações espectrais perceptualmente relevantes de sinais de áudio (e outros). Ele se baseia em um modelo de ressonador usando a Média Móvel Exponencialmente Ponderada (EWMA) para acumular contribuições de sinal em torno de frequências de ressonância. Sua formulação iterativa compacta permite atualizações eficientes com operações aritméticas mínimas por amostra, sem exigir buffer. Resonate calcula em tempo real estimativas de conteúdo espectral perceptualmente relevantes; a memória e a complexidade computacional por amostra escalam linearmente com o número de ressonadores, independentemente da contagem de amostras de entrada. Implementações de código aberto em Python, C++ e Swift estão disponíveis, juntamente com aplicativos de demonstração.

Desenvolvimento

LightlyTrain: Treinamento de modelos mais rápido, sem necessidade de rótulos

2025-04-15
LightlyTrain: Treinamento de modelos mais rápido, sem necessidade de rótulos

O LightlyTrain traz o pré-treinamento auto-supervisionado para pipelines de visão computacional do mundo real. Ele utiliza seus dados não rotulados para reduzir drasticamente os custos de rotulagem e acelerar a implantação do modelo. Integra-se facilmente em fluxos de trabalho existentes; apenas algumas linhas de código são necessárias para pré-treinar modelos em seus dados de imagem e vídeo não rotulados usando várias arquiteturas suportadas por bibliotecas como Torchvision, Ultralytics e TIMM. Escalonável para milhões de imagens, o LightlyTrain melhora significativamente o desempenho do modelo para conjuntos de dados pequenos e grandes, permitindo que você exporte modelos para ajuste fino ou inferência. Nenhuma experiência em aprendizado auto-supervisionado é necessária.

Chroma: Simulando daltonismo para melhorar a acessibilidade em jogos

2025-04-15
Chroma: Simulando daltonismo para melhorar a acessibilidade em jogos

Chroma é uma ferramenta projetada para simular vários tipos de daltonismo, auxiliando desenvolvedores de jogos e equipes de acessibilidade a testar experiências de jogos para usuários daltônicos. Simula três tipos principais: Protanopia, Deuteranopia e Tritanopia, oferecendo alto desempenho, precisão e uma interface fácil de usar. Chroma funciona sobre qualquer jogo, independentemente do mecanismo, fornecendo simulação em tempo real, facilidade de captura de tela e configurações personalizáveis. Um problema conhecido durante a construção do CMake envolve uma biblioteca CPPWinRT desatualizada; recomenda-se o uso do Visual Studio 2022 ou a instalação do pacote NuGet Microsoft.Windows.CppWinRT.

Desenvolvimento simulação de daltonismo

SourceHut combate a raspagem agressiva de LLMs

2025-04-15

O SourceHut, uma plataforma dedicada a servir software de código aberto, está combatendo ativamente a raspagem agressiva de dados por modelos de linguagem grandes (LLMs). Eles argumentam que as empresas de LLM não têm direito aos dados de seus usuários e declararam explicitamente que não farão acordos de compartilhamento de dados com nenhuma empresa, mesmo que sejam pagos. O SourceHut implantou o Anubis para proteger seus serviços e atualizou seus termos de serviço para limitar estritamente a raspagem de dados, permitindo apenas usos como indexação de mecanismos de busca, pesquisa de acesso aberto e arquivamento. Eles enfatizam que os dados pertencem aos seus usuários e sua responsabilidade é garantir que os dados sejam usados no melhor interesse de seus usuários, não para lucro comercial ou treinamento de modelos de LLM.

Desenvolvimento

PgDog: Um Proxy Inteligente para o PostgreSQL com Sharding

2025-04-15
PgDog: Um Proxy Inteligente para o PostgreSQL com Sharding

O PgDog é um proxy de rede que intercepta toda a comunicação entre clientes e servidores do PostgreSQL, compreende SQL para inferir destinos de consultas e não requer alterações no código do aplicativo. Ele analisa consultas SQL, extrai chaves de particionamento, usa a função de hash de particionamento integrada do PostgreSQL e direciona consultas ao shard de banco de dados correto. O artigo detalha como o PgDog lida com protocolos simples e estendidos, consultas entre shards e operações de COPY distribuídas, permitindo, em última análise, o sharding do PostgreSQL e a velocidade de ingestão de dados em escala linear.

Desenvolvimento

Rust: Uma Espada de Dois Gumes de Eficiência e Desafios

2025-04-15
Rust: Uma Espada de Dois Gumes de Eficiência e Desafios

O autor compartilha sua experiência de dois anos usando Rust para escrever o backend de um produto B2B SaaS. Rust possui desempenho excepcional, ferramentas excelentes, segurança de tipo e mecanismos robustos de tratamento de erros. No entanto, o sistema de módulos e o desempenho de build apresentam desafios. Embora o verificador de empréstimo seja poderoso, ele tem uma curva de aprendizado íngreme. A programação assíncrona, embora complexa, oferece alto desempenho. No geral, a experiência com Rust é positiva, mas requer uma cuidadosa consideração das compensações.

Desenvolvimento

arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

2025-04-15
arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem novos recursos do arXiv diretamente em nosso site. Indivíduos e organizações que trabalham com o arXivLabs abraçaram e aceitaram nossos valores de abertura, comunidade, excelência e privacidade dos dados do usuário. O arXiv está comprometido com esses valores e trabalha apenas com parceiros que os respeitam. Tem uma ideia para um projeto que agregará valor à comunidade do arXiv? Saiba mais sobre o arXivLabs.

Desenvolvimento

Visualizador de Log Gigante: Navegue instantaneamente em arquivos de texto de 4 TB

2025-04-15
Visualizador de Log Gigante: Navegue instantaneamente em arquivos de texto de 4 TB

Cansado de esperar para abrir arquivos de log enormes? O `giant-log-viewer` carrega instantaneamente arquivos de texto de até 4 TB com uma pegada de memória minúscula, usando apenas ~80 MB de memória de heap JVM. Ele suporta codificação UTF-8 e ASCII, mas tem limitações: não lida com linhas com mais de 1 MB, emojis ou sistemas sem GUI; atualmente, ele só funciona no Windows, macOS e Linux. Embora não seja tão rico em recursos quanto o `less`, é perfeito para navegar rapidamente em logs gigantes por meio de arrastar e soltar ou atalhos de teclado. O projeto é de código aberto no GitHub, e doações são bem-vindas para ajudar o desenvolvedor a assinar os executáveis.

Por que projetos de código aberto importantes não devem usar o GitHub

2025-04-15

Milhares de projetos de código aberto cruciais permanecem no GitHub apesar da aquisição pela Microsoft, levantando sérias preocupações sobre controle e segurança. O autor argumenta que a hostilidade passada da Microsoft em relação ao código aberto e suas aquisições, como a do npm, revelam uma estratégia de controle, e não de apoio genuíno. O artigo incentiva a migração para servidores Git auto-hospedados ou alternativas independentes como Codeberg, NotABug e sourcehut para garantir independência e segurança, evitando a dependência de uma única entidade — a Microsoft — para o destino de código vital.

Desenvolvimento

Utilitário de pesquisa ASCII em Ada: Um tutorial completo

2025-04-15

Este artigo detalha a criação de um utilitário de pesquisa ASCII de linha de comando escrito em Ada. O utilitário imprime a tabela ASCII completa ou, dado um valor hexadecimal, binário, octal ou decimal, fornece o código e o nome do caractere ASCII correspondente. O autor guia meticulosamente o leitor pelo processo de desenvolvimento, cobrindo a configuração do ambiente, a implementação do código e o tratamento de erros. Um link para o código fonte completo no GitHub é fornecido. Este artigo é adequado para leitores com alguma experiência em programação e oferece insights valiosos sobre programação Ada e desenvolvimento de ferramentas de linha de comando.

Desenvolvimento

MCP-Shield: Protegendo seus servidores de Protocolo de Contexto de Modelo

2025-04-15
MCP-Shield: Protegendo seus servidores de Protocolo de Contexto de Modelo

O MCP-Shield é uma ferramenta para escanear e detectar vulnerabilidades em seus servidores MCP (Protocolo de Contexto de Modelo). Ele identifica riscos de segurança como ataques de envenenamento de ferramentas, canais de exfiltração de dados e escalações de origem cruzada. A ferramenta suporta vários métodos de configuração e opcionalmente integra o Claude AI da Anthropic para análise mais aprofundada. Padrões comuns de vulnerabilidade detectados incluem envenenamento de ferramentas com instruções ocultas, shadowing de ferramentas e modificação de comportamento, canais de exfiltração de dados e violações de origem cruzada. Por exemplo, ele pode identificar uma ferramenta de calculadora que secretamente tenta acessar chaves privadas SSH. O MCP-Shield visa ajudar desenvolvedores e auditores de segurança a proteger seus servidores MCP e suporta a verificação antes de adicionar novos servidores, durante auditorias de segurança, durante o desenvolvimento e após as atualizações.

Decifrador Lógico de Igualdade UUID: força bruta em AES-256-CBC

2025-04-15
Decifrador Lógico de Igualdade UUID: força bruta em AES-256-CBC

Um kit de ferramentas de descriptografia lógico de campo compacto que força bruta arquivos AES-256-CBC criptografados com UUID usando uma inicialização baseada em igualdade: xy = x / y. Isso demonstra uma busca determinística dentro de espaços de entropia definidos. Uma demonstração gera um arquivo criptografado com UUID com um sufixo estruturado. O `uuid_demobreaker.py` então varre linearmente o espaço UUID, aproveitando a igualdade como uma 'ignição' lógica - não uma heurística - para guiar a busca. O decifrador não adivinha, filtra ou usa atalhos probabilísticos; ele define e explora o espaço de busca diretamente.

Desenvolvimento

Execute Linux no seu navegador: JSLinux torna isso possível

2025-04-15

O JSLinux permite que você execute Linux e outros sistemas operacionais diretamente no seu navegador! O projeto suporta vários sistemas, incluindo Alpine Linux baseado em x86, Windows 2000 e FreeDOS, bem como Buildroot e Fedora baseados em riscv64. Os usuários podem escolher entre os modos de interface de console ou gráfica, fornecendo uma plataforma experimental conveniente para desenvolvedores e entusiastas. Isso representa um avanço significativo na emulação de sistema baseada na web.

A Ascensão das Ferramentas de Desenvolvimento de IA: O Fim do Desenvolvimento Front-End?

2025-04-15
A Ascensão das Ferramentas de Desenvolvimento de IA: O Fim do Desenvolvimento Front-End?

Dois anos atrás, surgiram previsões de que a IA substituiria os desenvolvedores de software humanos. Hoje, as ferramentas de IA desempenham um papel cada vez mais importante no desenvolvimento de software, mas funcionam mais como assistentes do que como substitutos. Embora a IA possa gerar código, ainda são necessários desenvolvedores humanos para orientação, edição e aprimoramento. Muitas tentativas de substituir completamente os desenvolvedores por IA falharam, pois a IA tem dificuldades com tarefas complexas e erros sutis. As ferramentas de IA aumentam a eficiência, mas não eliminam a necessidade de desenvolvedores humanos. O atual mercado de trabalho desafiador se deve em parte a fatores macroeconômicos e equívocos sobre a IA, e não à IA realmente substituindo os desenvolvedores. O futuro provavelmente envolverá uma colaboração mais estreita entre IA e desenvolvedores humanos, alcançando um efeito sinérgico.

Desenvolvimento

Engenharia Reversa de um Dispositivo Doméstico Inteligente ESP32: Controle Remoto e Integração com o Home Assistant

2025-04-15
Engenharia Reversa de um Dispositivo Doméstico Inteligente ESP32: Controle Remoto e Integração com o Home Assistant

Obcecado por conectar tudo ao Home Assistant, o autor enfrentou um purificador de ar elegante controlável apenas pelo aplicativo proprietário. Para alcançar automação perfeita, ele fez engenharia reversa no dispositivo baseado em ESP32. A análise do aplicativo revelou uma conexão WebSocket com um servidor na nuvem. Interceptando o tráfego de rede e usando um proxy UDP para encaminhar para o servidor na nuvem, os pacotes UDP foram capturados. Esses pacotes estavam criptografados. Desmontando o dispositivo, foi revelado um microcontrolador ESP32-WROOM-32D; o firmware foi extraído usando esptool. A análise revelou o uso da biblioteca mbedtls para criptografia, identificando AES-128-CBC como o algoritmo. Finalmente, um script Node.js foi escrito para executar um ataque man-in-the-middle (MITM), integrando o dispositivo ao Home Assistant.

Desenvolvimento

A Ilusão da 'Codificação por Vibração': Programas vs. Produtos

2025-04-15
A Ilusão da 'Codificação por Vibração': Programas vs. Produtos

Este artigo critica a noção popular de 'codificação por vibração', argumentando que muitos na área de tecnologia confundem programas e produtos. Programas são scripts rápidos e improvisados que resolvem tarefas específicas, muitas vezes sem robustez e compatibilidade entre plataformas. Produtos, no entanto, exigem design meticuloso, considerando codificação, internacionalização, concorrência, autenticação, telemetria, faturamento, branding, suporte móvel e implantação. As ferramentas de IA capacitam a criação rápida de programas, mas isso é fundamentalmente diferente do desenvolvimento de produtos, uma tarefa muito mais complexa.

Construindo Autenticação OTP do Zero: Desvendando HOTP e TOTP

2025-04-15
Construindo Autenticação OTP do Zero: Desvendando HOTP e TOTP

Este post mergulha profundamente no funcionamento interno dos algoritmos de Senha de Uso Único (OTP), HOTP e TOTP. Começando com a experiência do autor implementando autenticação no trabalho, ele explica os benefícios de segurança dos OTPs e detalha o processo de geração de OTP baseado em HMAC, incluindo hash de chave, cálculos de timestamp e geração final de código. Um aplicativo de demonstração criado pelo autor também é fornecido para os leitores aprenderem e testarem.

Desenvolvimento

ClipCapsule: Um gerenciador de área de transferência minimalista para Linux

2025-04-14
ClipCapsule: Um gerenciador de área de transferência minimalista para Linux

ClipCapsule é um gerenciador de área de transferência minimalista para Linux, construído com Go e WailsJS. Ele aumenta a produtividade permitindo que você gerencie e alterne entradas da área de transferência usando apenas atalhos de teclado - sem mouse ou GUI necessária. Atualmente em desenvolvimento, a GUI precisa estar aberta para que os atalhos funcionem, mas um daemon em segundo plano está em desenvolvimento para operação perfeita. Os principais recursos incluem fluxo de trabalho prioritário para teclado, histórico da área de transferência, reordenação dinâmica e armazenamento local apenas. A instalação envolve clonar o repositório, instalar o Wails e construir o aplicativo, possivelmente exigindo privilégios de sudo ou configuração manual de acesso ao dispositivo de entrada do teclado.

Modelo de segmentação de marca d'água de código aberto da Diffusion Dynamics: tecnologia central do clear.photo

2025-04-14
Modelo de segmentação de marca d'água de código aberto da Diffusion Dynamics: tecnologia central do clear.photo

A Diffusion Dynamics tornou público o código fonte da tecnologia central por trás de seu produto de remoção de marca d'água, clear.photo: um modelo de segmentação de marca d'água. Este modelo de aprendizado profundo gera máscaras que destacam as regiões da marca d'água, sendo excelente na segmentação de marcas d'água baseadas em logotipos. O projeto fornece um fluxo de trabalho completo para treinamento e inferência, incluindo geração de conjuntos de dados, treinamento de modelos e pós-processamento, e suporta ajuste fino em chips Apple M-series. Uma característica chave é sua estratégia de aumento de dados que randomiza os parâmetros da marca d'água, levando a um desempenho robusto. O objetivo é fornecer uma base clara e facilmente modificável para a construção de ferramentas mais complexas.

Podman Quadlets: Orquestração de contêineres leve

2025-04-14
Podman Quadlets: Orquestração de contêineres leve

Para casos de uso em menor escala ou desenvolvimento, o Kubernetes pode ser excessivo. Podman Quadlets oferece uma alternativa leve, usando systemd para gerenciar contêineres de forma declarativa e simplificar a implantação de aplicativos com vários contêineres. Arquivos de configuração simples (*.container, *.pod, *.image) permitem criar, iniciar e gerenciar contêineres, incluindo recursos como reinicializações automáticas. A extensão Podman Quadlet do Podman Desktop melhora a usabilidade com uma interface visual para gerenciar Quadlets, incluindo geração, edição e visualização de logs, tornando o gerenciamento de contêineres mais eficiente e menos complexo.

Desenvolvimento

Curso Intensivo de Amostragem de Monte Carlo: Amostragem por Rejeição e Mudança de Coordenadas

2025-04-14

Este artigo apresenta duas técnicas de amostragem cruciais em métodos de Monte Carlo: amostragem por rejeição e mudança de coordenadas. A amostragem por rejeição amostra uma região mais simples e filtra amostras com base em uma probabilidade de aceitação para atingir a amostragem de uma região complexa. O artigo fornece uma derivação detalhada da função de densidade de probabilidade para amostragem por rejeição e a estende para distribuições não uniformes. A mudança de coordenadas utiliza o determinante jacobiano para mapear amostras de uma região simples para uma região complexa, permitindo amostragem eficiente. O artigo usa o disco unitário como exemplo, demonstrando como atingir a amostragem uniforme usando transformação de coordenadas polares. Ambos os métodos têm suas vantagens e desvantagens; a amostragem por rejeição é simples e fácil de entender, mas sua eficiência depende da probabilidade de aceitação; a mudança de coordenadas é eficiente, mas requer encontrar transformações de coordenadas adequadas.

Otimizando o driver OLED ESP32: Velocidade vs. Suporte a fontes

2025-04-14
Otimizando o driver OLED ESP32: Velocidade vs. Suporte a fontes

O autor experimentou vários drivers para um display OLED SSD1306 em um ESP32, finalmente optando por um driver depreciado e modificado. Inicialmente, usou um driver Espressif, mas este só suportava uma única fonte. Tentativas subsequentes com LVGL e U8G2 apresentaram baixas taxas de atualização. O autor retornou ao driver depreciado e adaptou suas chamadas de API I2C para compatibilidade com o ESP-IDF mais recente, atingindo uma taxa de atualização de 40 Hz. Para adicionar suporte a fontes, a biblioteca nvbdflib foi integrada, analisando diretamente as fontes BDF e desenhando no buffer de quadro, resultando em atualização de alta velocidade e capacidade de fontes personalizadas.

Desenvolvimento Renderização de fontes

O Guia Pragmático para Programação Funcional: Macro sobre Micro

2025-04-14

Este ensaio argumenta contra a aplicação puramente micro-nível dos princípios da programação funcional em linguagens imperativas. Embora reconhecendo os benefícios da programação funcional, o autor argumenta que a substituição obsessiva de loops for por maps e reduces sem abordar preocupações arquitetônicas de alto nível muitas vezes produz ganhos mínimos ou até mesmo resultados negativos. O verdadeiro valor reside na adoção de princípios de macro-nível, como gerenciamento de mutação, simplificação de arquitetura e fortalecimento de sistemas de tipo. O autor defende uma abordagem pragmática, priorizando o design arquitetônico e a qualidade do código em vez da adesão estrita a micro-estilos funcionais, sugerindo que um portfólio de soluções 80/20 geralmente supera uma única abordagem 100/100.

Desenvolvimento

Implementando um mecanismo PEG simples em Janet: 10 linhas para o poder de análise

2025-04-14

Esta publicação mergulha na implementação de um mecanismo de Gramática de Expressão de Análise (PEG) na linguagem de programação Janet. Começando com conceitos fundamentais de PEG, o autor demonstra como construir um analisador PEG poderoso com um código surpreendentemente conciso. A função principal `match-peg` é explicada em detalhes, mostrando como expandir suas capacidades por meio de adições de operadores e recursão, culminando em um analisador de data no formato ISO 8601. Embora não esteja sem limitações, esta implementação ilustra efetivamente os princípios básicos e a implementação de PEGs, fornecendo insights valiosos para aqueles que estão aprendendo sobre PEGs e design de compiladores.

Desenvolvimento Analisador

Profiler C++ de Cabeçalho Único: utl::profiler

2025-04-14
Profiler C++ de Cabeçalho Único: utl::profiler

utl::profiler é uma biblioteca de perfil C++ de cabeçalho único que usa macros simples para medir o tempo de execução de segmentos de código e construir automaticamente um gráfico de chamadas. A biblioteca possui recursos como opções de estilo personalizáveis, segurança de thread e suporte para threads separadas. Ele reduz significativamente a sobrecarga usando intrínsecos x86. A biblioteca também suporta estilo personalizado e exportação de resultados para um arquivo.

Inferência de Tipos TypeScript sem Geração de Código a partir de Mensagens Protobuf

2025-04-14
Inferência de Tipos TypeScript sem Geração de Código a partir de Mensagens Protobuf

O protobuf-ts-types permite que você defina tipos de mensagem independentes de linguagem no formato proto e inferir tipos TypeScript diretamente sem geração de código. Ele usa inteligentemente os tipos literais de modelo do TypeScript. Embora atualmente seja uma prova de conceito e não suporte serviços, RPCs, campos oneof e map e importações, ele oferece um grande potencial para simplificar a integração do Protobuf com o TypeScript.

Desenvolvimento Inferência de Tipos
1 2 112 113 114 116 118 119 120 214 215