Category: Uncategorized

  • ShopifAI?

    Vaya tráfico que hay hoy. La gente cuando llueve no sabe conducir, me queda por lo menos 1h para llegar al almacén. Esto que puede parecer ficción, lo vamos a tener en 2025. Vas a poder gestionar tu negocio mientras conduces hablando con la IA, y además, probablemente, dejarás de usar el ordenador, incluso el…

  • Named Arguments en TypeScript

    Una de las cosas que más me cabrea a la hora de programar es perder tiempo, y hoy he perdido dos horas por un bug absurdo: Imagina un método que cancela un pedido. Este método se llama desde 2 sitios diferentes en Vue, uno de ellos funciona, el otro no. Por más que miraba, no…

  • Rescatando aplicaciones Legacy de PHP

    En el año 1994, desarrollar páginas web era algo bastante complicado. Casi todo el mundo usaba CGI que se programa en C o PERL, y resultaba muy engorroso. Por aquella época Rasmus, ideo una serie de herramientas para hacer páginas webs personales, y lo llamó PHP (Personal Home Page Tools.) En los años sucesivos empresas…

  • Los problemas del patrón Active Record

    Ruby on Rails, Laravel, CodeIgniter, etc.. todos usan el patrón Active Record, el cual permite un desarrollo super rápido. Es sencillo de usar, fácil de aprender, buen rendimiento, pero.. ¿por qué acaban mal los proyectos cuando escalan? La idea general de este patrón es simple: Por cada tabla de la base de datos, tenemos una…

  • Optimizando PHP: N+1 Queries

    Uno de los mayores problemas que suelen tener las aplicaciones, y que a menudo pasa desapercibido, es la realización de la misma operación repetidamente dentro de un bucle. Cómo cada operación dura muy poco y la base de datos no se “queja”, suele pasar desapercibido a la hora de monitorizar el rendimiento. Si usas Sentry,…

  • DTOs & Resources

    No quiero convenceros de nada, sólo quiero contar la reflexión que hemos hecho después de muchas líneas de código y muchos refactorings. Seguro que muchas veces has escuchado que los DTO (Data Transfer Object) deben ser planos, sin lógica de negocio, con tipos básicos. ¿Por qué? La idea de los DTOs nació con la necesidad…

  • Lenguajes no tipados

    Hay muchos defensores de los lenguajes no tipados (y tipado dinámico), @dhh creador de Ruby on Rails, es uno de ellos. Hoy quiero explicar el porqué otros pensamos que está equivocado. Pongamos un ejemplo sencillo. Tenemos una aplicación que devuelve por API recetas, para ello usaremos un DTO. Todo funciona correctamente, pero de pronto un…