Category: Desenvolvimento

HtmlSlice: Gerador de Fragmentos HTML Reutilizáveis para Ruby

2025-01-02
HtmlSlice: Gerador de Fragmentos HTML Reutilizáveis para Ruby

HtmlSlice é uma gem Ruby que permite que classes Ruby gerem dinamicamente fragmentos HTML reutilizáveis. Ele aborda limitações de geradores HTML existentes, como problemas de escopo de instância do Markaby. HtmlSlice suporta uma ampla gama de tags HTML, incluindo tags vazias, e escapa com segurança o conteúdo HTML para evitar vulnerabilidades XSS. É leve e fácil de usar, adequado para gerar HTML de aplicativos inteiros ou apenas partes HTML. A integração com o Rails também é demonstrada.

Desenvolvimento

Ferramenta de Compilação Mill JVM: JARs de Assembly Executáveis Diretamente

2025-01-02

A ferramenta de compilação Mill JVM cria JARs de assembly que são diretamente executáveis, eliminando a necessidade do comando `java -jar`. Isso é conseguido adicionando um script shell ao início do arquivo JAR, que, em seguida, invoca o tempo de execução Java. Esse script é habilmente projetado para ser compatível com sistemas Unix e Windows, permitindo a executabilidade multiplataforma. O artigo detalha como isso funciona, aproveitando a natureza dos arquivos ZIP para concatenar um script de inicialização com o conteúdo do JAR para uma execução perfeita. Isso melhora significativamente a integração de programas Java em fluxos de trabalho de linha de comando.

Desenvolvimento ferramenta de compilação

FineCodeX: Um aplicativo que depende do JavaScript

2025-01-02

FineCodeX é um aplicativo que requer a ativação do JavaScript para funcionar corretamente. Isso significa que, se o JavaScript estiver desativado no seu navegador ou seu dispositivo não o suportar, você não poderá usar o FineCodeX. Certifique-se de que o JavaScript esteja ativado no seu navegador para uma experiência ideal.

Desenvolvimento

Rasterização por Raios em um Fim de Semana: Do Zero a Imagens Impressionantes

2025-01-02

Este tutorial ensina você a escrever um rastreador de raios em um fim de semana usando C++. Começando com a saída de imagens PPM básicas, ele introduz progressivamente conceitos como raios, câmeras, esferas e materiais, culminando em um renderizador capaz de produzir imagens anti-aliasing com materiais difusos e metálicos. O tutorial abrange matemática vetorial, interseção raio-esfera, cálculos de normais de superfície, abstração de materiais e profundidade de campo, fornecendo exemplos de código claros e renderizações bonitas. Mesmo sem experiência prévia em programação, você pode seguir em frente e construir seu próprio rastreador de raios.

Emulando a instrução FMAdd: Um mergulho profundo em floats de 32 bits

2025-01-02

Esta postagem aprofunda a emulação da instrução FMAdd (fused multiply-add) em hardware sem suporte nativo, focando especificamente em uma implementação SIMD de ponto flutuante de 32 bits. Ela explica a operação do FMAdd e como evitar erros de arredondamento duplo inerentes aos cálculos intermediários de ponto flutuante. O autor detalha uma técnica inteligente usando 'arredondamento para ímpar' e a precisão extra de floats de dupla precisão para eliminar erros de arredondamento, alcançando resultados precisos do FMAdd. A postagem também abrange brevemente o cálculo de resultados de adição precisos e termos de erro, prometendo um acompanhamento sobre o tratamento de floats de 64 bits.

Estrutura de Carreira de Engenharia do Dropbox: Um Mergulho Profundo

2025-01-02

O Dropbox divulgou sua Estrutura de Carreira de Engenharia, um guia projetado não como uma lista de verificação de promoção, mas como uma ferramenta para ajudar os engenheiros a entender as responsabilidades e o impacto em cada nível (por exemplo, Engenheiro de Software IC1 a IC7). Define responsabilidades principais e habilidades técnicas, enfatizando o impacto nos negócios como a métrica principal. Cada nível descreve os comportamentos esperados nos pilares Resultados, Direção, Talentos e Cultura. Os engenheiros trabalham com seus gerentes para definir metas trimestrais, usando a estrutura para orientar seu desenvolvimento e criar impacto duradouro.

Desenvolvimento estrutura de carreira

mitmproxy2swagger: Engenharia Reversa Automática de APIs REST

2025-01-02
mitmproxy2swagger: Engenharia Reversa Automática de APIs REST

O mitmproxy2swagger é uma ferramenta poderosa que converte automaticamente o tráfego capturado pelo mitmproxy em especificações OpenAPI 3.0. Isso permite que você faça engenharia reversa automática de APIs REST simplesmente executando seus aplicativos e capturando o tráfego. Ele suporta arquivos de fluxo mitmproxy e arquivos HAR exportados das ferramentas de desenvolvedor do navegador. Para usá-lo, capture o tráfego com o mitmproxy, salve-o como um arquivo e, em seguida, execute o mitmproxy2swagger, especificando o arquivo de entrada, o arquivo de saída e o prefixo da API. A primeira execução gera um esquema inicial que requer edição manual para remover caminhos indesejados. Uma segunda execução gera a especificação OpenAPI completa com base no esquema editado, opcionalmente incluindo dados de exemplo.

Desenvolvimento

Zasper: Um IDE supercarregado para Ciência de Dados

2025-01-02
Zasper: Um IDE supercarregado para Ciência de Dados

Zasper é um novo IDE desenvolvido do zero para ciência de dados, oferecendo grande concorrência, pegada de memória mínima e velocidade excepcional. É perfeitamente adequado para aplicativos de dados estilo REPL, sendo os notebooks Jupyter um exemplo. Atualmente, o Zasper tem suporte total para Mac e suporte limitado para Linux. Os benchmarks mostram que ele usa 75% menos RAM e CPU do que o JupyterLab. Criado por Prasun Anand, visa ser uma solução gratuita e de código aberto que roda localmente, maximizando o poder dos computadores modernos.

Desenvolvimento

Autodesk apaga postagens antigas do fórum: Revolta de desenvolvedores

2025-01-02

O anúncio da Autodesk de arquivar (e efetivamente apagar) conteúdo de fóruns com mais de 10 anos provocou indignação na comunidade de desenvolvedores. Amostras de código valiosas, soluções e anos de experiência compartilhada estão prestes a desaparecer, deixando os desenvolvedores que dependem desse recurso com perdas significativas. Embora a Autodesk cite a melhoria da pesquisa e da experiência do usuário como justificativa, os desenvolvedores criticam a medida como 'monumentalmente estúpida', acusando a empresa de destruir o conhecimento da comunidade e danificar os relacionamentos de longo prazo. Muitos estão migrando para plataformas alternativas como TheSwamp e GitHub.

Kotaemon: Ferramenta RAG de código aberto para conversar com seus documentos

2025-01-02
Kotaemon: Ferramenta RAG de código aberto para conversar com seus documentos

Kotaemon é uma ferramenta de código aberto baseada em Geração Aumentada por Recuperação (RAG) que permite conversar com seus próprios documentos. Possui uma interface limpa e amigável, suportando vários Modelos de Linguagem Grandes (LLMs), como OpenAI, Azure OpenAI e LLMs locais. Seja você um usuário final realizando QA de documentos ou um desenvolvedor construindo seu próprio pipeline RAG, o Kotaemon fornece ferramentas convenientes e uma interface de usuário personalizável. Ele suporta vários tipos de arquivos e oferece recursos avançados, como QA multimodal, raciocínio complexo e configurações personalizáveis.

Desenvolvimento

Mercure: Solução de comunicação em tempo real rápida e confiável

2025-01-02
Mercure: Solução de comunicação em tempo real rápida e confiável

Mercure é uma solução aberta, fácil, rápida, confiável e eficiente em termos de bateria para enviar atualizações de dados para navegadores da web e outros clientes HTTP. É ideal para publicar atualizações assíncronas e em tempo real de recursos servidos por APIs da web, alimentando aplicativos web e móveis reativos. O protocolo e uma implementação Go pronta para produção, juntamente com bibliotecas e uma imagem Docker, estão disponíveis no GitHub. Uma versão gerenciada e altamente escalonável também é oferecida em Mercure.rocks.

Blogs apodrecem, Wikis esperam: Uma jornada de migração de um desenvolvedor

2025-01-02

Um desenvolvedor escreveu em seu site que blogs são como mercadorias desatualizadas, destinadas a apodrecer; enquanto wikis são como um abismo sem fim, esperando para ser explorado e escrito. Ele está migrando seu site para um novo sistema wiki, compartilhando seus pensamentos sobre blogs versus wikis e sua jornada na construção de um novo site. Ele argumenta que wikis refletem melhor a natureza dinâmica e comunitária do conteúdo, enquanto blogs parecem uma vitrine estática. Ele convida todos a se juntarem ao seu novo wiki, criando colaborativamente um espaço online vibrante e em constante evolução.

(j3s.sh)
Desenvolvimento migração de site

AROS OS 2024: Um Ano de Progresso Significativo em Direção ao 64 bits

2025-01-02
AROS OS 2024: Um Ano de Progresso Significativo em Direção ao 64 bits

2024 foi um ano excepcional para o sistema operacional AROS. O sistema principal Deadwood recebeu atualizações importantes em seus ramos de 32 bits e 64 bits, incluindo um emulador de 64 bits para compatibilidade com 32 bits. Distribuições principais como AROS One e Tiny AROS foram atualizadas, oferecendo suporte aprimorado para software e jogos. As recomendações de hardware foram expandidas, dando as boas-vindas ao A600GS. Destaques de software incluíram o navegador Odyssey atualizado com um mecanismo WebKit mais recente, um novo lançamento do editor de texto Final Writer e ports de jogos clássicos como Wipeout Rewrite e Doom 3. Em geral, o AROS deu passos significativos em 2024, preparando o cenário para um futuro de 64 bits.

Desenvolvimento 64 bits

SvarDOS: DR-DOS renascido como um sistema operacional de código aberto

2025-01-02
SvarDOS: DR-DOS renascido como um sistema operacional de código aberto

SvarDOS, um sistema operacional de código aberto baseado em DR-DOS, recentemente fez a transição de ser uma distribuição FreeDOS para ter seu próprio kernel EDRDOS. Ele pode ser executado em PCs 8086 ou 8088 e possui um gerenciador de pacotes com capacidade de rede. Embora a instalação padrão seja incrivelmente pequena, seu repositório robusto contém mais de 400 pacotes, incluindo drivers de rede, editores e jogos. O SvarDOS requer mais configuração manual do que o FreeDOS, mas seus recursos poderosos e mecanismo de atualização online o tornam um sistema operacional retro notável.

Desenvolvimento SO de código aberto

O Trabalho de Cola é Considerado Prejudicial: Um Guia de Sobrevivência para Engenheiros Eficazes

2025-01-02

Este artigo explora o conceito de "trabalho de cola" na engenharia de software. Embora crucial para a eficiência da equipe (por exemplo, atualização de documentação, tratamento de dívidas técnicas), esse trabalho pouco glamoroso muitas vezes não é recompensado, prejudicando os engenheiros que o priorizam. O autor argumenta que as empresas não recompensam o trabalho de cola porque querem que os engenheiros se concentrem na entrega de recursos, não em melhorias de eficiência geral. A estratégia eficiente é aplicar o trabalho de cola de forma tática aos projetos pelos quais você é responsável, garantindo seu sucesso, em vez de espalhar esforços de forma pouco eficaz. Isso não é uma política de escritório cínica; é baseado na realidade da baixa eficiência em grandes empresas e na priorização do crescimento sobre ganhos de eficiência de curto prazo.

Rails 8: Surpreendentemente Ótimo para Projetos Individuais

2025-01-01

Após construir e implantar um novo aplicativo Rails 8, ficou claro: o Rails é incrível, especialmente para projetos pequenos com um único desenvolvedor. O novo guia de Introdução é excelente, guiando você do zero a um aplicativo pronto para produção com autenticação, cache, texto enriquecido, CI e um banco de dados – tudo sem muita dificuldade. O Rails 8 simplifica a configuração do banco de dados, tornando o SQLite pronto para produção. A configuração de CI integrada e os minutos gratuitos do Github Actions tornam a integração contínua muito fácil. Um novo gerador de autenticação fácil de usar e uma implantação simplificada aprimoram ainda mais a experiência. O Rails 8 torna o desenvolvimento eficiente e acessível, mesmo para desenvolvedores solo.

Desenvolvimento

ClearSpace: Desintoxicação digital para reduzir o tempo de tela

2025-01-01
ClearSpace: Desintoxicação digital para reduzir o tempo de tela

ClearSpace é um aplicativo projetado para ajudar os usuários a reduzir o tempo de tela. Ele combate o vício em celular oferecendo recursos como limites de tempo de aplicativo, bloqueadores de distrações, ferramentas de gerenciamento de foco e formação de hábitos baseados em desafios. O aplicativo também inclui relatórios de tempo de tela, parceiros de responsabilização e exercícios de respiração conscientes para promover hábitos digitais mais saudáveis e melhorar o bem-estar digital.

Otimização Não Intuitiva: Acelerando Uniões de Caminhos no Skia

2025-01-01
Otimização Não Intuitiva: Acelerando Uniões de Caminhos no Skia

O autor encontrou gargalos de desempenho ao realizar operações de união de caminhos em um grande número de caminhos de gráficos vetoriais usando o Skia. A abordagem inicial ingênua de unir caminhos iterativamente era lenta, e embora o construtor de caminhos do Skia oferecesse otimização, ainda não era suficientemente rápido. Ao mergulhar profundamente nos detalhes internos das operações de caminho do Skia, descobriu-se que o número de curvas em cada caminho afetava significativamente o desempenho. Ao dividir a união de caminhos em intervalos menores e aplicar recursivamente uma estratégia de dividir e conquistar, o autor conseguiu uma aceleração significativa, superando, em última análise, o método padrão do Skia. Surpreendentemente, aumentar o número de operações de união por meio desse método resultou em um processamento mais rápido.

Desenvolvimento em Sandbox: Um Ano em uma Máquina Virtual

2025-01-01

Para evitar os problemas de um ambiente de desenvolvimento desordenado, o autor mudou para uma configuração de máquina virtual. Executando o Ubuntu 24.04 no VMware Fusion Pro em um macOS, todas as ferramentas e extensões de desenvolvimento residem dentro da VM, fornecendo um espaço de trabalho seguro e isolado. Embora algumas conveniências, como o compartilhamento de área de transferência perfeita, sejam perdidas, a experiência geral é tranquila, com impacto mínimo no desempenho da máquina host. O autor considera que essa abordagem oferece benefícios de estabilidade e segurança a longo prazo, superando os pequenos inconvenientes.

Glean do Meta: Indexação de código em larga escala

2025-01-01
Glean do Meta: Indexação de código em larga escala

O Meta lançou o Glean, um sistema de indexação de código open source projetado para eficiência e escalabilidade. O Glean coleta e processa informações de código-fonte, fornecendo-as a ferramentas de desenvolvedor por meio de uma linguagem de consulta flexível chamada Angle. Sua indexação incremental inovadora aborda os desafios de bases de código massivas, permitindo recursos como navegação de código, pesquisa e geração de documentação. A versatilidade do Glean suporta diversas linguagens e esquemas de dados personalizados, tornando-o um recurso valioso para desenvolvedores.

Desenvolvimento indexação de código

Design de Software é Construção de Conhecimento: Um Estudo de Caso

2025-01-01
Design de Software é Construção de Conhecimento: Um Estudo de Caso

Uma empresa terceirizou seu serviço de integração para um fornecedor SaaS e, posteriormente, decidiu criar um sistema de substituição interno, SVC, devido a preocupações com custos. Uma engenheira altamente qualificada, X10, completou o desenvolvimento do SVC de forma independente. No entanto, as equipes subsequentes lutaram para manter e modificar o sistema, experimentando uma eficiência extremamente baixa. O artigo analisa o motivo: o resultado do desenvolvimento de software não é código, mas a compreensão dos engenheiros do sistema e de sua lógica de negócios — uma 'teoria'. Após a saída de X10, a equipe carecia dessa 'teoria', levando a dificuldades na manutenção do sistema, tornando-o semelhante a uma 'casa mal-assombrada'. O autor argumenta que o design de software deve se concentrar na construção de conhecimento para facilitar a compreensão e a manutenção por equipes subsequentes, evitando a criação de 'sistemas legados'.

De Next.js para React puro: Aumento de velocidade do ComfyDeploy

2025-01-01

A equipe do ComfyDeploy migrou seu painel do Next.js para React puro, reduzindo o tempo de compilação de 3 minutos para 18 segundos e o tempo de recarga instantânea para menos de 200 ms. Isso foi motivado por problemas com os tempos de compilação lentos do Next.js, testes de API difíceis e altos custos de API do Vercel à medida que seu projeto crescia. A mudança para React com TanStack Router e Rspack melhorou drasticamente a eficiência do desenvolvimento e os forçou a otimizar o design da API e a estrutura do código. Embora tenham perdido alguns recursos do Next.js, eles consideraram as compensações válidas, resultando em compilações mais rápidas, uma experiência de desenvolvimento mais agradável e uma arquitetura mais otimizada.

Desenvolvimento

Tratamento de Tempo em Common Lisp: A Solução LOCAL-TIME

2025-01-01

Este artigo mergulha nas complexidades do tratamento de tempo em Common Lisp e apresenta a solução do autor: a biblioteca LOCAL-TIME. Ele acompanha a evolução da representação do tempo humano, de notações imprecisas e dependentes de contexto para notações científicas precisas, destacando o caos introduzido por fatores políticos como o horário de verão. O LOCAL-TIME usa uma representação eficiente baseada em fixnum, integra dados de fuso horário mundial e lida com vários cálculos de tempo e conversões de formato, evitando assim erros decorrentes de representação imprecisa de tempo — como o infame problema do Y2K.

Desenvolvimento Tratamento de Tempo

Ruby 3.4: Conexões Mais Rápidas, Rastros de Exceções Mais Limpos e Código Mais Conciso

2025-01-01

O Ruby 3.4 chegou! Chris Sinjakli destaca três melhorias principais: um nome de parâmetro de bloco padrão `it` para código mais limpo; a implementação do RFC8305 (Happy Eyeballs Version 2) para um tratamento significativamente melhor de conexões de socket TCP, especialmente em redes de pilha dupla (IPv4 e IPv6); e rastros de exceções mais claros para facilitar a depuração. Essas melhorias aumentam a produtividade do desenvolvedor e demonstram o compromisso da equipe do Ruby com a experiência do desenvolvedor.

Desenvolvimento

API Parrot: Engenharia Reversa de APIs HTTP de Qualquer Site com Facilidade

2025-01-01

O API Parrot é uma ferramenta poderosa projetada para fazer engenharia reversa das APIs HTTP de qualquer site. Ele possui um proxy HTTP integrado para fácil gravação de tráfego de rede, analisa dados para identificar endpoints relevantes e entender as relações entre eles. Os usuários podem personalizar funções, especificando parâmetros de entrada/saída, excluindo dados irrelevantes e exportando as funções personalizadas como código JavaScript para integração perfeita em seus aplicativos. O API Parrot simplifica a automação de processos de negócios, integração de sistemas e raspadores de dados, mesmo de sites sem APIs públicas.

Desenvolvimento engenharia reversa de API

A Magia da Programação Metaliguística: Simplificando Código com Interpretadores

2025-01-01
A Magia da Programação Metaliguística: Simplificando Código com Interpretadores

Este artigo explora o poder da programação metalinguística, especificamente usando interpretadores para simplificar código complexo. O autor usa a simplificação de expressões Lisp como exemplo, mostrando como construir um interpretador Scheme de 80 linhas e 30 regras pode realizar uma tarefa que, de outra forma, exigiria milhares de linhas de código. A chave é mudar o paradigma de programação para correspondência de regras baseada em dados, evitando duplicação significativa de código. Embora não seja mágica, o autor argumenta que essa abstração metalinguística é uma ferramenta poderosa que merece maior exploração.

Aplicativo Web Mastodon Requer JavaScript

2025-01-01

Uma publicação de Eric Hellman no tilde.zone revela uma atualização de um projeto de longo prazo: o uso do aplicativo web Mastodon requer a ativação do JavaScript ou, alternativamente, o uso de um aplicativo nativo do Mastodon. Isso sugere trabalho de melhoria do cliente web ou da experiência do usuário para o Mastodon.

Desenvolvimento

Notion: Seu espaço de trabalho tudo-em-um

2025-01-01
Notion: Seu espaço de trabalho tudo-em-um

Notion é um espaço de trabalho unificado que combina notas, gerenciamento de tarefas, wikis e bancos de dados em uma única plataforma. Ele oferece ferramentas flexíveis e poderosas para ajudá-lo a organizar informações, gerenciar projetos, colaborar em equipe e criar fluxos de trabalho personalizados. Seja para uso pessoal ou colaboração em equipe, o Notion se adapta às suas necessidades, aumentando sua produtividade.

Desenvolvimento plataforma de colaboração

Keeper (YC) Contrata Engenheiro Fullstack Sênior

2025-01-01
Keeper (YC) Contrata Engenheiro Fullstack Sênior

A Keeper, uma empresa apoiada pelo Y Combinator que desenvolve software para contabilistas, está contratando um Engenheiro Fullstack Sênior. A vaga exige 3+ anos de experiência em desenvolvimento de aplicativos web com React e Node.js, proficiência em TypeScript, APIs REST e bancos de dados. A Keeper oferece salário e participação acionária competitivos e tem como missão capacitar os contabilistas com ferramentas eficientes.

Desenvolvimento Engenheiro Fullstack

ShredOS: Apagador de Disco Seguro para Todos os Processadores

2025-01-01
ShredOS: Apagador de Disco Seguro para Todos os Processadores

ShredOS é uma distribuição Linux leve e inicializável, construída com Buildroot, projetada para a exclusão segura de discos. Ele apresenta o nwipe, uma ferramenta poderosa que oferece vários métodos de limpeza, incluindo conformidade com o DoD 5220.22-M, e suporta processadores de 32 e 64 bits. Inicializável a partir de USB ou CD, o ShredOS não requer instalação e fornece uma interface amigável. Ele também inclui utilitários como smartmontools e hdparm para diagnóstico e manutenção de disco.

1 2 183 184 185 187 189 190 191 201 202