Una comprobación de ancho rompió un kanji
Una comprobación de ancho rompió un kanji. Un nombre entró en una tabla de terminal y salió dañado. El apellido era 𠮷田. El primer carácter no es el común 吉. Es 𠮷 (U+20BB7). Este es un carácter poco común...
Frontend, backend and devops for the modern web.
Una comprobación de ancho rompió un kanji. Un nombre entró en una tabla de terminal y salió dañado. El apellido era 𠮷田. El primer carácter no es el común 吉. Es 𠮷 (U+20BB7). Este es un carácter poco común...
Cómo desplegar NestJS en el hosting compartido de Namecheap. Desplegar NestJS en el hosting compartido de Namecheap no es como desplegar un sitio estático o una aplicación PHP. No puedes simplemente subir archivos y ex...
Tu agente no rompió producción. Fue tu pipeline. Tu agente no rompió el entorno de producción. Fue tu pipeline. Muchos equipos utilizan agentes para abrir pull requests. Utilizan CI para verificar el lint…
Prueba flujos de cambio de correo electrónico en React sin confundir los enlaces. Cambiar el correo de una cuenta parece algo insignificante, pero en realidad es una fuente importante de errores de prueba. Los testers suelen confundir la confirmación...
Construí un editor CAD en el navegador y luego le enseñé a un LLM a usarlo. Le pregunté a mi aplicación: "¿Cuántas puertas y ventanas hay?" La IA respondió con las cantidades. Luego añadió algo...
My CI/CD Pipeline Passed for 3 Months — Then I Read the Logs Green checkmarks feel good. Every pull request passed. Every deploy worked. Then a user reported a broken feature. It…
Todas las optimizaciones detrás de una puntuación perfecta en Lighthouse. Ejecuto Lighthouse en mi sitio constantemente. Se mantiene en 100 en cada ejecución local y en 100 en el Real Experience Score de Vercel. Estas sc…
HTTP acaba de recibir su primer método nuevo en 20 años. Es probable que ya hayas hecho esto antes. Necesitas buscar productos. Tus filtros de búsqueda son demasiado grandes para una URL. Para solucionar esto, utilizas...
Esto es lo que aprendí como desarrollador de PHP sincrónico sobre PHP asincrónico. Trabajé con Laravel durante años. Usaba PHP sincrónico. Llega una solicitud, se ejecuta un proceso y se envía una respuesta. Nunca...
Prueba correos de invitación de React sin colisiones en la bandeja de entrada. Los entornos de vista previa fallan cuando los flujos de invitación inundan una bandeja de entrada de QA compartida. Un tester abre el enlace incorrecto. Otro toma un mensaje antiguo...
Mi agente de programación recordaba las sesiones, pero no el trabajo. Un agente de programación puede mantener un hilo activo y, aun así, parecer olvidadizo. Me encontré con este problema mientras construía CliGate. Corregí la continu…
Diseño para usuarios que no pueden ver. Apple dedicó su conferencia magistral a pedir a los desarrolladores que hicieran las aplicaciones más hermosas. Presentaron nuevos efectos de transparencia y bordes refinados. No puedes...
HISTORIA DE OAUTH: DE LAS CONTRASEÑAS A LOS ESTÁNDARES GLOBALES. Lo ves todos los días. Haces clic en "Iniciar sesión con Google" o "Iniciar sesión con GitHub". No escribes una contraseña. Entras al sitio de forma insta...
Cómo las empresas utilizan la IA generativa más allá de los chatbots. El verdadero cambio no está ocurriendo en las ventanas de chat. Está ocurriendo dentro de las herramientas que usas todos los días. Los chatbots eran solo la estrella...
Errores técnicos al gestionar 16 productos en Lovable y Supabase. Gestionamos 16 productos en Inithouse. Usamos Lovable y Supabase para todos ellos. Un solo equipo lo gestiona todo. Gestiona...
4 patrones de GitHub Actions para ETL en un monorepo. Ejecutar tres sitios desde un solo monorepo genera problemas. Te enfrentas a tres procesos ETL distintos, tres reconstrucciones de contenido y tres despliegues...
Construí mi propia plataforma de tunneling. Pasé tres días puliendo una aplicación web en mi portátil. Se veía perfecta. Luego intenté probarla en mi teléfono. Todo se rompió. Desarrollo local…
AWS para principiantes: S3, deduplicación y URLs presignadas. Deja de construir aplicaciones de juguete. Empieza a construir sistemas de producción. Si tu servidor es desechable, tus archivos no pueden vivir en su disco...
Cómo crear un modal de búsqueda para sitios de WordPress con contenido restringido por membresía. La mayoría de los tutoriales de búsqueda de WordPress terminan después de añadir un widget al encabezado. Esto no funciona cuando tienes contenido restringido como p...
Uso de IA para encontrar errores de autorización. Los programas de bug bounty están cambiando. Algunos programas han dejado de pagar recompensas. Otros han recortado los pagos en un 80%. La razón no es que la IA encuentre demasiados errores...
The Pragmatic Programmer: 20 Years Later I read The Pragmatic Programmer over two decades ago. Back then, it felt like a list of good practices. Today, after years of breaking sys…
A Garden That No One Asked For On June 21, I built a garden. I did not build a codebase or a dashboard. I built ALICE Garden. It lives on a local URL when I work and in a GitHub r…
Cómo construimos flujos de trabajo de publicación seguros para los clientes. La mayoría de la automatización de redes sociales falla porque trata la publicación como el trabajo completo. Para el trabajo con clientes, la publicación es solo el último paso. El/La r…
Por qué tu sitio web basado en 'vibes' podría no posicionarse nunca en Google. Un fundador me mostró un sitio web impresionante el mes pasado. Tenía animaciones fluidas y un texto impecable. Lo construyó en una tarde us...