Git Worktree: Lavorare su Pi霉 Branch Senza Stash

Sei a met脿 di un feature branch, tre file modificati e niente ancora committato, quando un collega ti scrive per un crash da null pointer in produzione. La mossa classica 猫 git stash, checkout di main, risolvi, pusha, poi git stash pop sperando che il lavoro a met脿 non dipendesse dai file da cui sei appena scappato. git worktree salta tutto questo. Fa il checkout del branch di hotfix in una seconda cartella, accanto al tuo feature branch, entrambe appoggiate sullo stesso repository. ...

24 ottobre 2026 路 5 minuti 路 1029 parole 路 SpaghettiCoder

Git Reset vs Revert vs Restore: differenze e come usarli

Esegui git reset --hard su un commit che il tuo team ha gi脿 scaricato e la tua storia smette di corrispondere alla loro. Esegui git revert su un typo che non hai ancora pushato e aggiungi un commit inutile al log. Git ha quattro comandi per annullare le cose: restore, reset, commit --amend e revert, e non sono intercambiabili. Scegli quello sbagliato e il risultato 猫 che non succede niente, oppure succede molto pi霉 di quanto volevi. ...

3 ottobre 2026 路 7 minuti 路 1360 parole 路 SpaghettiCoder

Tunnel SSH: Port Forwarding Locale, Remoto e Dinamico

Come raggiungere un database che ascolta solo su localhost? Un鈥檌stanza Postgres su un server remoto 猫 collegata a 127.0.0.1 di proposito. Nessuno sulla rete pu貌 raggiungerla, solo i processi in esecuzione su quella stessa macchina. Il tuo laptop non 猫 quella macchina, quindi psql -h remote-server -p 5432 fallisce prima ancora di arrivare all鈥檃utenticazione. Aprire la porta al mondo vanifica il motivo per cui era stata collegata al loopback. Quello che ti serve 猫 prendere in prestito, per qualche minuto e dal tuo terminale, la vista che la macchina remota ha di 127.0.0.1. Quando fai login, SSH ha gi脿 una connessione cifrata e autenticata aperta tra le due macchine. Il port forwarding riutilizza quella connessione per trasportare traffico diverso dalla tua shell. ...

24 settembre 2026 路 7 minuti 路 1454 parole 路 SpaghettiCoder

Cache delle Dipendenze in GitHub Actions

Un workflow che esegue npm ci a ogni push scarica dal registry le stesse centinaia di pacchetti ogni volta, anche quando il lockfile non cambia da una settimana. Su un progetto con un albero di dipendenze reale sono uno o due minuti persi prima ancora che parta il primo test, e li paghi di nuovo a ogni push e a ogni pull request. actions/cache conserva quei download tra un鈥檈secuzione e l鈥檃ltra e te li restituisce quando non 猫 cambiato nulla di rilevante. ...

23 settembre 2026 路 6 minuti 路 1266 parole 路 SpaghettiCoder

Come Esporre un Server Locale con Cloudflare Tunnel

Perch茅 nessuno fuori dalla tua rete raggiunge localhost Un provider di webhook ha bisogno di un URL su cui fare POST, e il tuo server 猫 fermo su localhost:3000. Oppure un collega vuole vedere il branch che stai eseguendo, o il tuo telefono deve raggiungere il server di sviluppo per controllare un layout. Il server 猫 su. Ma niente fuori dalla tua rete riesce a raggiungerlo. Il port forwarding sul router funzionerebbe, ma espone il tuo IP di casa e richiede accesso da amministratore che spesso non hai. Cloudflare Tunnel prende la strada opposta. cloudflared, un piccolo demone che fai girare accanto al tuo server, apre una connessione in uscita verso l鈥檈dge di Cloudflare, e Cloudflare rimanda il traffico indietro attraverso quella connessione. Non apri nessuna porta in entrata e non ti serve un IP pubblico. ...

23 settembre 2026 路 8 minuti 路 1493 parole 路 SpaghettiCoder

Git Bisect: Trovare il Commit che ha Introdotto un Bug

La test suite 猫 verde da tre settimane. Oggi npm test fallisce su un鈥檃sserzione che non ha niente a che fare con quello che hai appena modificato, e git log v1.4.0..HEAD mostra 340 commit di quattro persone dall鈥檜ltima release, di cui qualcuno era sicuro che funzionasse. Leggere ogni diff ti costa una giornata. Fare checkout di commit a caso 猫 pi霉 veloce, ma resta comunque non un piano. git bisect trasforma tutto questo in una ricerca binaria. Gli dai un commit che sai essere buono e uno che sai essere rotto; lui fa il checkout del commit a met脿 tra i due e aspetta che tu lo testi e riporti il risultato. Ogni risposta dimezza l鈥檌ntervallo. 340 commit si risolvono in al massimo 9 test, perch茅 2^9 = 512. ...

22 settembre 2026 路 6 minuti 路 1157 parole 路 SpaghettiCoder

Cos'猫 il DNS e Come Funziona la Risoluzione dei Nomi

Cosa fa davvero il DNS a ogni richiesta Ogni richiesta verso example.com inizia con una ricerca che non ha niente a che fare con la tua applicazione: qualcosa deve trasformare quel nome in un indirizzo IP prima che un solo pacchetto TCP lasci la macchina. Quella traduzione 猫 il DNS, il Domain Name System, e gira a ogni richiesta, che il client sia un browser, curl, o un servizio backend che ne contatta un altro tramite hostname. ...

21 settembre 2026 路 8 minuti 路 1522 parole 路 SpaghettiCoder

Cos'猫 TLS e Come Funziona la Crittografia HTTPS

Cosa protegge davvero TLS su una connessione HTTPS Carica una pagina in http:// puro su una rete che non controlli, un aeroporto o il router di un bar, e tutto quello che invii viaggia come testo leggibile. Il percorso dell鈥橴RL, i cookie, i campi del form, la password in un POST di login: chiunque su quella rete con uno sniffer di pacchetti li legge mentre passano. TLS, Transport Layer Security, 猫 il protocollo che blocca questo scenario. Si inserisce tra TCP e il protocollo applicativo, quindi quando HTTP inizia a parlare la connessione 猫 gi脿 cifrata e legata a un鈥檌dentit脿 server verificata. HTTPS 猫 semplicemente HTTP eseguito su quella connessione invece che su una in chiaro. ...

20 settembre 2026 路 10 minuti 路 2070 parole 路 SpaghettiCoder

Cos'猫 una Coda di Messaggi e Come Usarla

Un endpoint di checkout che ridimensiona l鈥檌mmagine di un prodotto, invia un鈥檈mail di conferma e aggiorna un motore di raccomandazione prima di rispondere con 200 OK 猫 veloce quanto il suo passaggio pi霉 lento. Se anche uno solo va in timeout, l鈥檌ntera richiesta fallisce. Una coda di messaggi permette all鈥檈ndpoint di passare quel lavoro come messaggi e rispondere subito, mentre worker separati lo prendono in carico con i propri tempi. ...

18 settembre 2026 路 7 minuti 路 1371 parole 路 SpaghettiCoder

Cos'猫 Terraform e Come Funziona l'Infrastructure as Code

Ogni risorsa cloud che hai mai creato cliccando in una console web (una VM, un load balancer, un record DNS) si pu貌 descrivere anche in un file di testo e creare con un solo comando. Il file vive nel repository git, passa da una pull request, e riproduce lo stesso setup su un secondo account senza che nessuno debba ricordare quali nove impostazioni ha cambiato a mano. 脠 questo che fa Terraform. ...

17 settembre 2026 路 8 minuti 路 1539 parole 路 SpaghettiCoder