4 puntos por GN⁺ 2025-08-08 | Aún no hay comentarios. | Compartir por WhatsApp
  • Lista compartida de conocimiento maldito adquirida durante el desarrollo de Immich
  • Se recopilan problemas inesperados encontrados en diversos entornos de software e infraestructura
  • Se mencionan inconvenientes de herramientas y lenguajes como metadatos EXIF, manejo de espacios en YAML y PostgreSQL
  • Algunos de estos temas se conectan directamente con seguridad, compatibilidad de plataforma y dependencias de código abierto
  • Se enfoca en casos reales y causas en las que los desarrolladores deben prestar atención

Resumen

El equipo de desarrollo de Immich comparte su lista de conocimiento maldito aprendido durante el desarrollo del proyecto, algo que no quisiera volver a experimentar. Es un listado de trampas y problemas inesperados que encontró de primera mano en varias herramientas, lenguajes y plataformas durante el desarrollo y la operación de servicios reales.

Lista de conocimiento maldito

  • 4 de junio de 2025

    • Las Actions de Zitadel son una función maldita
    • La función de scripts personalizados que ofrece Zitadel se basa en un motor JS, pero tiene una limitación porque no admite grupos de captura con nombre en expresiones regulares
  • 30 de mayo de 2025

    • Microsoft Entra admite PKCE, pero no lo especifica en el documento de descubrimiento de OpenID
    • Esto genera un problema de no detección por parte del cliente para una función que sí existe
  • 5 de mayo de 2025

    • La información de tamaño en los metadatos EXIF de una imagen puede diferir del tamaño real
    • Esta diferencia causa errores en operaciones de recorte y redimensionamiento
  • 1 de abril de 2025

    • El manejo de espacios en YAML se comporta de forma distinta a lo esperado en muchos casos
    • Es sensible al formateo y existe riesgo de que el contenido se interprete de una manera distinta a la intención
  • 20 de septiembre de 2024

    • Los archivos ocultos de Windows no se abren con la bandera "w"
    • Combinado con la opción "hide dot files" de SMB, aumenta la confusión en la navegación y procesamiento de archivos
  • 7 de agosto de 2024

    • En scripts Bash puede surgir un problema de retorno de carro (CRLF)
    • Si Git convierte automáticamente de LF a CRLF al hacer checkout, se producen errores al ejecutar el script
  • 7 de agosto de 2024

    • En Cloudflare Workers, fetch aplica HTTP por defecto aunque se indique HTTPS
    • Esto provoca problemas de red como bucles de redirección
  • 21 de julio de 2024

    • En móviles, el compartir GPS elimina silenciosamente la información GPS de las imágenes cuando la app no tiene permisos de ubicación
    • Esto afecta la precisión y la privacidad de los servicios basados en ubicación
  • 3 de julio de 2024

    • NOTIFY de PostgreSQL solo funciona dentro de una transacción
    • Al usarlo junto con el adaptador postgres de socket.io, se generan escrituras de WAL cada 5 segundos, lo que causa carga
  • 3 de julio de 2024

    • Al ejecutar scripts de npm, se envía una solicitud HTTP al registro de npm cada vez
    • Por eso, hacer health checks con scripts es ineficiente
  • 28 de junio de 2024

    • Unos pocos usuarios de la comunidad JavaScript agregaron de forma forzada más de 50 dependencias de paquetes con el argumento de la compatibilidad hacia atrás
    • Todos esos paquetes los administra la misma persona
  • 25 de junio de 2024

    • La implementación de bcrypt solo usa los primeros 72 bytes de una cadena
    • Las letras restantes se ignoran, por lo que una contraseña larga se vuelve inútil
  • 31 de enero de 2024

    • El objeto Date de JavaScript indexa el año y el día desde 1, pero el mes desde 0
    • Es una estructura fácil de confundir
  • 9 de enero de 2024

    • En Node.js antes de la versión 20.8, en proyectos CommonJS que usan la opción --experimental-vm-modules, cuando un módulo ES vuelve a cargar un módulo CommonJS
      • Ocurría un problema de segfault (fallo de segmentación) que hacía que Node.js se cerrara inesperadamente
  • 28 de diciembre de 2023

    • El límite de parámetros de PostgreSQL es de 65.535
    • Esto impone un límite de rendimiento en inserciones masivas de grandes conjuntos de datos
  • 26 de junio de 2023

    • Existen Web APIs que solo pueden usarse en Secure Contexts
    • Un ejemplo es la API de portapapeles, que solo funciona en entornos HTTPS o localhost
  • 23 de febrero de 2023

    • La implementación de remove de TypeORM afecta directamente al valor de entrada
    • Incluso elimina la propiedad id del objeto original

Conclusión

Este tipo de conocimiento maldito son trampas que se encuentran con frecuencia en entornos reales de desarrollo y operación de servicios. Si los desarrolladores identifican de antemano las restricciones y los problemas ocultos por herramienta, lenguaje y entorno, ayuda a una resolución de problemas más eficiente y al desarrollo de servicios más estables.

Aún no hay comentarios.

Aún no hay comentarios.