Gu铆as pr谩cticas y perennes para desarrolladores. Cada una se apoya en comandos reales y ejemplos que funcionan, y dice con claridad cu谩ndo no usar lo que explica.
Abajo est谩 todo, de lo m谩s reciente a lo m谩s antiguo.
Gu铆as pr谩cticas y perennes para desarrolladores. Cada una se apoya en comandos reales y ejemplos que funcionan, y dice con claridad cu谩ndo no usar lo que explica.
Abajo est谩 todo, de lo m谩s reciente a lo m谩s antiguo.
Tu frontend corre en http://localhost:5173, tu API en http://localhost:4000, y la llamada fetch que funcionaba sin problemas en Postman falla en el navegador con una pared de texto rojo: Access to fetch at 'http://localhost:4000/api/users' from origin 'http://localhost:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Es muy probable que tu servidor haya procesado esa petici贸n y devuelto un 200. El navegador se neg贸 a entregar la respuesta a tu JavaScript. ...
Abres una funci贸n para arreglar un bug de una l铆nea y cuarenta minutos despu茅s sigues rastreando qu茅 rama asigna qu茅 variable. Tres tareas que no tienen nada que ver entre s铆 est谩n soldadas en un solo bloque, y ninguna tiene nombre. Tiras de un hilo y no puedes saber cu谩les otros se mueven. Eso es spaghetti code, y el nombre no tiene nada que ver con la indentaci贸n ni el estilo de nombres. Describe el flujo de control: la ejecuci贸n salta entre condiciones como un fideo que cruza todos los dem谩s en el plato, y seguir un solo camino hasta el final significa tener cuatro niveles de if en la cabeza a la vez. ...
驴C贸mo llegar a una base de datos que solo escucha en localhost? Una instancia de Postgres en un servidor remoto est谩 enlazada a 127.0.0.1 a prop贸sito. Nada en la red puede alcanzarla, solo los procesos que corren en esa misma m谩quina. Tu port谩til no es esa m谩quina, as铆 que psql -h remote-server -p 5432 falla antes de llegar siquiera a la autenticaci贸n. Abrir el puerto al mundo anula la raz贸n por la que se enlaz贸 al loopback en primer lugar. ...
Un workflow que ejecuta npm ci en cada push descarga del registro los mismos cientos de paquetes cada vez, incluso cuando el lockfile no ha cambiado en una semana. En un proyecto con un 谩rbol de dependencias real eso son uno o dos minutos perdidos antes de que arranque el primer test, y los pagas de nuevo en cada push y en cada pull request. actions/cache conserva esas descargas entre ejecuciones y te las devuelve cuando no ha cambiado nada relevante. ...
Depurar un bug que solo ocurre en una m谩quina sin Visual Studio Un bug se reproduce en el servidor de pruebas y no en tu port谩til. El servidor de pruebas no tiene Visual Studio, e instalar un IDE completo ah铆 solo para poner un breakpoint no es una opci贸n. La depuraci贸n remota est谩 pensada exactamente para esto. Un programa standalone peque帽o corre en la m谩quina destino, tu Visual Studio local se conecta a 茅l por red, y obtienes breakpoints e inspecci贸n de variables sobre un proceso que no est谩 corriendo cerca de tu escritorio. ...
Por qu茅 nadie fuera de tu red puede llegar a localhost Un proveedor de webhooks necesita una URL a la que hacer POST, y tu servidor est谩 en localhost:3000. O un compa帽ero quiere probar la rama que tienes corriendo, o tu m贸vil necesita golpear el servidor de desarrollo para revisar un layout. El servidor est谩 levantado. Nada fuera de tu red puede alcanzarlo. Abrir un puerto en el router funcionar铆a, pero expone tu IP dom茅stica y necesita acceso de administrador que muchas veces no tienes. Cloudflare Tunnel toma el camino contrario. cloudflared, un daemon peque帽o que corres junto a tu servidor, abre una conexi贸n saliente hacia el borde de Cloudflare, y Cloudflare devuelve el tr谩fico a trav茅s de ella. No abres ning煤n puerto entrante y no necesitas una IP p煤blica. ...
Qu茅 hace diferente a un agente CLI de c贸digo de otro P铆dele a un agente CLI de c贸digo que arregle un test que falla y no te va a responder con una sugerencia. Lee la salida del test, abre el archivo, edita una l铆nea, vuelve a correr el test y avisa cuando pasa. Ese bucle es el producto, no la ventana de chat. El modelo que hay dentro del bucle se lleva la mayor parte de la atenci贸n, y tambi茅n es la parte que cambia m谩s r谩pido: los proveedores meten modelos nuevos cada pocos meses, y varios agentes te dejan elegir. Lo que se queda fijo es el harness que envuelve al modelo: qu茅 herramientas puede usar, c贸mo gestiona el contexto, qu茅 puede ejecutar sin preguntar, y d贸nde se ejecutan esos comandos. Dos agentes con el mismo modelo por dentro pueden comportarse de forma muy distinta por eso. El harness es lo que en realidad est谩s eligiendo. ...
Por qu茅 tantas llamadas a un LLM son en realidad una clasificaci贸n Buena parte del tr谩fico de LLM en producci贸n devuelve una sola palabra. Escalar este ticket o no. Spam o no spam. Cu谩l de seis handlers recibe este evento. Para conseguir esa palabra, mandas el prompt entero a un modelo de prop贸sito general, esperas mientras decodifica una respuesta token a token, y sacas un objeto JSON del resultado. Pagas el precio y la latencia de generar texto, y lo que vuelve es una decisi贸n que cabe en un enum. ...
La suite de pruebas lleva tres semanas en verde. Hoy npm test falla en una aserci贸n que no tiene nada que ver con lo que acabas de cambiar, y git log v1.4.0..HEAD muestra 340 commits de cuatro personas desde la 煤ltima release que alguien confirm贸 que funcionaba. Leer cada diff te cuesta un d铆a entero. Hacer checkout de commits al azar es m谩s r谩pido, pero sigue sin ser un plan. ...
Qu茅 hace el DNS en cada petici贸n Toda petici贸n a example.com empieza con una b煤squeda que no tiene nada que ver con tu aplicaci贸n: algo tiene que convertir ese nombre en una direcci贸n IP antes de que un solo paquete TCP salga de la m谩quina. Esa traducci贸n es el DNS, el Domain Name System, y se ejecuta en cada petici贸n, sea el cliente un navegador, curl o un servicio backend que llama a otro por hostname. ...