Git Worktree: Trabaja en Varias Ramas sin Stash

Llevas tres archivos editados en una rama de feature, sin nada confirmado, cuando un compa帽ero te avisa de un null pointer en producci贸n. El movimiento habitual es hacer git stash, cambiar a main, arreglarlo, hacer push, y luego git stash pop con la esperanza de que nada de tu feature a medias dependiera de los archivos que acabas de tocar. git worktree evita todo ese baile. Hace checkout de la rama del hotfix en una segunda carpeta, junto a la de tu feature, y ambas comparten el mismo repositorio. ...

24 de octubre de 2026 路 5 min 路 1061 palabras 路 SpaghettiCoder

Git Reset vs Revert vs Restore: C贸mo Deshacer Cambios

Ejecuta git reset --hard sobre un commit que tu equipo ya baj贸 y acabas de dejar tu historial en desacuerdo con el suyo. Ejecuta git revert sobre un typo que no has subido y a帽ades un commit innecesario al log. Git tiene cuatro comandos para deshacer cambios, restore, reset, commit --amend y revert, y no son intercambiables. Elige el equivocado y el resultado es que no pasa nada, o pasa mucho m谩s de lo que quer铆as. ...

3 de octubre de 2026 路 7 min 路 1368 palabras 路 SpaghettiCoder

T煤neles SSH: Redirecci贸n de Puertos Local, Remota y Din谩mica

驴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. ...

24 de septiembre de 2026 路 8 min 路 1553 palabras 路 SpaghettiCoder

Cach茅 de Dependencias en GitHub Actions

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. ...

23 de septiembre de 2026 路 6 min 路 1276 palabras 路 SpaghettiCoder

C贸mo Exponer un Servidor Local con Cloudflare Tunnel

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. ...

23 de septiembre de 2026 路 8 min 路 1509 palabras 路 SpaghettiCoder

Git Bisect: C贸mo Encontrar el Commit que Rompi贸 tu C贸digo

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. ...

22 de septiembre de 2026 路 6 min 路 1211 palabras 路 SpaghettiCoder

Qu茅 Es el DNS y C贸mo Funciona la Resoluci贸n de Nombres

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. ...

21 de septiembre de 2026 路 8 min 路 1562 palabras 路 SpaghettiCoder

Qu茅 Es TLS y C贸mo Funciona el Cifrado HTTPS

Qu茅 protege TLS realmente en una conexi贸n HTTPS Carga una p谩gina por http:// sin cifrar en una red que no controlas, un aeropuerto o el router de una cafeter铆a, y todo lo que env铆as viaja como texto legible. La ruta de la URL, las cookies, los campos del formulario, la contrase帽a en un POST de login: cualquiera en esa red con un sniffer de paquetes lo lee al vuelo. TLS, Transport Layer Security, es el protocolo que corta eso. Se sit煤a entre TCP y el protocolo de aplicaci贸n, as铆 que cuando HTTP empieza a hablar, la conexi贸n ya est谩 cifrada y ligada a una identidad de servidor verificada. HTTPS es HTTP corriendo sobre esa conexi贸n en lugar de una en texto plano. ...

20 de septiembre de 2026 路 11 min 路 2150 palabras 路 SpaghettiCoder

Qu茅 Es una Cola de Mensajes y C贸mo Usarla

Un endpoint de checkout que redimensiona la imagen de un producto, env铆a un email de confirmaci贸n y actualiza un motor de recomendaciones antes de responder con 200 OK es tan r谩pido como su paso m谩s lento. Si uno solo hace timeout, toda la petici贸n falla. Una cola de mensajes permite que el endpoint entregue ese trabajo como mensajes y responda de inmediato, mientras workers separados lo recogen a su propio ritmo. ...

18 de septiembre de 2026 路 7 min 路 1394 palabras 路 SpaghettiCoder

Qu茅 es Terraform y C贸mo Funciona el Infrastructure as Code

Cualquier recurso cloud que hayas creado haciendo clic en una consola web (una VM, un load balancer, un registro DNS) tambi茅n se puede describir en un archivo de texto y crear con un solo comando. El archivo vive en git, pasa por una pull request y reproduce el mismo setup en una segunda cuenta sin que nadie tenga que recordar qu茅 nueve ajustes cambi贸 a mano. Eso es lo que hace Terraform. ...

17 de septiembre de 2026 路 8 min 路 1602 palabras 路 SpaghettiCoder