4 pontos por GN⁺ 2025-08-08 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Compartilhamento de uma lista de conhecimentos amaldiçoados adquiridos durante o desenvolvimento do Immich
  • Organização de problemas inesperados encontrados em diferentes ambientes de software e infraestrutura
  • Menciona questões de ferramentas e linguagens, incluindo metadados EXIF, tratamento de espaços em branco em YAML, PostgreSQL
  • Alguns problemas se conectam diretamente à segurança, compatibilidade de plataforma e dependências de código aberto
  • Foca em casos reais e causas que desenvolvedores devem ficar atentos

Visão geral

O time de desenvolvimento do Immich divulgou uma lista de conhecimentos amaldiçoados que não quer mais precisar reaprender durante o projeto. Trata-se de uma relação de armadilhas e problemas inesperados encontrados diretamente em diversas ferramentas, linguagens e plataformas durante o desenvolvimento e operação de serviços reais.

Lista de conhecimento amaldiçoado

  • 4 de junho de 2025

    • O Actions do Zitadel é uma funcionalidade amaldiçoada
    • O recurso de script personalizado oferecido pelo Zitadel é baseado no motor JS, mas mostra limitações por não suportar grupos de captura nomeada em regex
  • 30 de maio de 2025

    • O Microsoft Entra suporta PKCE, mas não documenta isso no documento de descoberta do OpenID
    • Isso causa um problema em que o recurso existente não é detectado no cliente
  • 5 de maio de 2025

    • As informações de tamanho nos metadados EXIF das imagens podem ser diferentes da imagem real
    • Essa diferença pode causar erros em operações de recorte e redimensionamento
  • 1 de abril de 2025

    • O tratamento de espaços em YAML frequentemente se comporta de modo diferente do esperado
    • Por ser sensível à formatação, há risco de interpretação de conteúdo diferente da intenção
  • 20 de setembro de 2024

    • Arquivos ocultos do Windows não são abertos com a flag "w"
    • Combinado com a opção "hide dot files" do SMB, isso aumenta bastante a confusão no listagem e no processamento de arquivos
  • 7 de agosto de 2024

    • Em scripts Bash, é possível haver problema de carriage return (CRLF)
    • Se o Git converter automaticamente LF para CRLF no checkout, isso pode causar erros na execução do script
  • 7 de agosto de 2024

    • No Cloudflare Workers, o fetch aplica http por padrão mesmo quando o https é especificado
    • Isso pode causar problemas de rede, como loops de redirecionamento
  • 21 de julho de 2024

    • O compartilhamento de GPS em mobile remove silenciosamente os dados de GPS das imagens quando o app não tem permissão de localização
    • Impacta a precisão de serviços baseados em localização e a privacidade
  • 3 de julho de 2024

    • O NOTIFY do PostgreSQL funciona apenas dentro de transações
    • Ao usar com socket.io e postgres-adapter, ocorre gravação de WAL a cada 5 segundos, gerando carga
  • 3 de julho de 2024

    • Cada vez que um script npm é executado, é enviada uma solicitação HTTP ao registro npm
    • Portanto, realizar health check via script é ineficiente
  • 28 de junho de 2024

    • Alguns usuários da comunidade JavaScript forçaram a inclusão de cerca de 50 dependências de pacotes sob o pretexto de retrocompatibilidade
    • Todas essas dependências são mantidas pelo mesmo usuário
  • 25 de junho de 2024

    • A implementação do bcrypt usa apenas os primeiros 72 bytes da string
    • Os caracteres após isso são ignorados, tornando senhas longas sem efeito
  • 31 de janeiro de 2024

    • O objeto Date do JavaScript indexa ano e dia a partir de 1, e o mês a partir de 0
    • É uma estrutura fácil de causar confusão
  • 9 de janeiro de 2024

    • Em projetos CommonJS usando a opção --experimental-vm-modules do Node.js anterior à v20.8,
      • ocorre segfault ao carregar novamente módulos CommonJS em módulos ES, fazendo o Node.js crashar
  • 28 de dezembro de 2023

    • O limite de parâmetros do PostgreSQL é 65.535
    • Isso gera limitação de desempenho em inserções em massa com grandes conjuntos de dados
  • 26 de junho de 2023

    • Há APIs da web disponíveis apenas em Secure Contexts
    • Especificamente, APIs como a Clipboard funcionam apenas em ambientes https ou localhost
  • 23 de fevereiro de 2023

    • A implementação do remove do TypeORM afeta os dados de entrada
    • Remove também a propriedade id do objeto original

Conclusão

Esse tipo de conhecimento amaldiçoado aparece com frequência em cenários reais de desenvolvimento e operação de serviços. Para desenvolvedores, mapear previamente as restrições e problemas ocultos por ferramenta, linguagem e ambiente ajuda na resolução eficiente de problemas e no desenvolvimento de serviços mais estáveis.

Ainda não há comentários.

Ainda não há comentários.