{"id":78701,"date":"2025-11-26T11:51:48","date_gmt":"2025-11-26T19:51:48","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=78701"},"modified":"2026-01-12T12:20:09","modified_gmt":"2026-01-12T20:20:09","slug":"ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it","status":"publish","type":"post","link":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/","title":{"rendered":"Ho Insegnato a Mia Nonna a Codificare Vibe (Ecco Cosa \u00c8 Successo)"},"content":{"rendered":"<div class=\"tldr-block\" style=\"display: none;\">\n\t<div class=\"svg\">\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 119.25 37.8\">\n\t<g>\n\t\t<g>\n\t\t\t<path fill=\"#ffffff\" d=\"M23.4,6.93h-8.1v24.57h-7.2V6.93H0V0h23.4v6.93Z\" \/>\n\t\t\t<path fill=\"#ffffff\" d=\"M45,24.57v6.93h-18.45V0h7.2v24.57h11.25Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M90.9,15.75c0,8.91-6.61,15.75-15.3,15.75h-12.6V0h12.6c8.68,0,15.3,6.84,15.3,15.75ZM83.97,15.75c0-5.4-3.42-8.82-8.37-8.82h-5.4v17.64h5.4c4.95,0,8.37-3.42,8.37-8.82Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M105.57,21.15h-3.42v10.35h-7.2V0h12.6c5.98,0,10.8,4.81,10.8,10.8,0,3.87-2.34,7.38-5.81,9.13l6.71,11.56h-7.74l-5.94-10.35ZM102.15,14.85h5.4c1.98,0,3.6-1.75,3.6-4.05s-1.62-4.05-3.6-4.05h-5.4v8.1Z\" \/>\n\t\t<\/g>\n\t\t<path\n\t\t\tfill=\"#0173ec\"\n\t\t\td=\"M53.97,37.8h-5.4l1.8-13.27h7.2l-3.6,13.27ZM49.02,12.55c0-2.34,1.93-4.27,4.27-4.27s4.27,1.94,4.27,4.27-1.93,4.27-4.27,4.27-4.27-1.94-4.27-4.27Z\"\n\t\t \/>\n\t<\/g>\n<\/svg>\n\t<\/div>\n\t<div class=\"tldr-wrap\">\n\t\t\n\n<ul class=\"wp-block-list\">\n<li>Vibe coding permette a chiunque di costruire app funzionali attraverso la conversazione con l&#8217;IA, ma il <a href=\"https:\/\/cset.georgetown.edu\/publication\/cybersecurity-risks-of-ai-generated-code\/\">48%<\/a> del codice generato dall&#8217;IA contiene difetti di sicurezza.<\/li>\n\n\n\n<li>Insegnare a mia nonna a costruire un&#8217;app per il monitoraggio del giardino ha mostrato esattamente dove il vibe coding riesce e fallisce catastroficamente.<\/li>\n\n\n\n<li>La violazione dell&#8217;app <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tea_(app)\">TEA del 2025<\/a> ha esposto come lo sviluppo rapido senza revisione della sicurezza crei app che funzionano meravigliosamente mentre nascondono vulnerabilit\u00e0.<\/li>\n\n\n\n<li>Puoi costruire prototipi velocemente. Renderli pronti per la produzione richiede competenza.<\/li>\n\n\n<\/ul>\n\n\n\n\n\t<\/div>\n<\/div>\n\n<p>Mia nonna ha gestito fogli di calcolo per inventari di una compagnia tessile per 40 anni. Calcola sconti composti nella sua testa pi\u00f9 velocemente di quanto la maggior parte delle persone possa fare con i calcolatori, ma non ha nessuna esperienza di programmazione.&nbsp;<\/p>\n\n\n<p>Quando ho suggerito di costruire insieme un&#8217;app di tracciamento del giardino usando l&#8217;IA, il suo scetticismo \u00e8 stato quasi istantaneo.<\/p>\n\n\n<p>Dopo due ore, aveva un&#8217;applicazione web funzionante finch\u00e9 non abbiamo chiesto un&#8217;ulteriore modifica e l&#8217;app si \u00e8 interrotta. Questa \u00e8 una storia troppo comune di programmazione intuitiva.&nbsp;<\/p>\n\n\n<p>Ora, ho un Framework per comprendere quale atmosfera la codifica effettivamente offre rispetto a quello che promette, cos\u00ec puoi guardare oltre l&#8217;hype del marketing e utilizzare realmente il prodotto.&nbsp;<\/p>\n\n\n<h2 id=\"h-first-what-is-vibe-coding\" class=\"wp-block-heading\">Prima, Cos&#8217;\u00e8 Il Vibe Coding?<\/h2>\n\n\n<p>Vibe coding consiste nel <strong>costruire software descrivendo ci\u00f2 che desideri in inglese semplice e lasciando che l&#8217;IA scriva il codice per te.&nbsp;<\/strong><\/p>\n\n\n<p>L&#8217;ex direttore dell&#8217;IA di Tesla e cofondatore di OpenAI Andrej Karpathy ha coniato il termine nel febbraio 2025 quando ha <a href=\"https:\/\/x.com\/karpathy\/status\/1886192184808149383?lang=en\">twittato<\/a>: &#8220;<em>C&#8217;\u00e8 un nuovo tipo di codifica che chiamo &#8216;vibe coding&#8217;, dove ti abbandoni completamente alle vibrazioni, abbracci le esponenziali e dimentichi che il codice esista<\/em>.&#8221;&nbsp;<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1291\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding.webp\" alt=\"Tweet di Andrej Karpathy che descrive l'approccio di programmazione vibe in cui si affida molto agli assistenti di codifica IA e al copia-incolla piuttosto che alla comprensione del codice.\" class=\"wp-image-77857 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-300x242.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-1024x826.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-768x620.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-1536x1239.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-600x484.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-1200x968.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-730x589.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-1460x1178.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-784x633.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-1568x1265.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/01_what_is_vibe_coding-877x708.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1291;\" \/><\/figure>\n\n\n<p>Il post ha fatto il boom con oltre 5 milioni di visualizzazioni, catturando un approccio di sviluppo che si stava gi\u00e0 diffondendo nella comunit\u00e0 tecnologica.&nbsp;<\/p>\n\n\n<p>Invece di imparare linguaggi di programmazione e combattere con la sintassi, dici semplicemente all&#8217;IA cosa vuoi costruire. L&#8217;IA genera il codice. Diventi un product manager piuttosto che un programmatore, concentrato su cosa dovrebbe fare l&#8217;app anzich\u00e9 su come farla funzionare.<\/p>\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n<h3 class=\"wp-block-heading\" id=\"h-why-does-vibe-coding-matter-now\">Perch\u00e9 La Programmazione Vibe \u00c8 Importante Ora?<\/h3>\n\n\n<p><a href=\"https:\/\/www.mckinsey.com\/capabilities\/people-and-organizational-performance\/our-insights\/five-fifty-the-skillful-corporation\">Il 87% delle aziende<\/a> affronta carenze di talenti o si aspetta di affrontarle nei prossimi anni, secondo McKinsey.<a href=\"https:\/\/qubit-labs.com\/it-talent-gap-still-growing\/\">&nbsp;<\/a><\/p>\n\n\n<p>Strumenti di codifica IA come Bolt.new, Lovable, Replit Agent e Cursor promettono di risolvere questo problema migliorando la produttivit\u00e0 degli sviluppatori esistenti e permettendo ai non sviluppatori di testare rapidamente le loro idee.<\/p>\n\n\n<p>I numeri confermano l&#8217;entusiasmo:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Nel marzo 2025, Y Combinator ha rivelato che il <a href=\"https:\/\/techcrunch.com\/2025\/03\/06\/a-quarter-of-startups-in-ycs-current-cohort-have-codebases-that-are-almost-entirely-ai-generated\/\">25% del loro batch invernale 2025<\/a> aveva il 95% dei loro codebase generati da IA.<\/li>\n\n\n\n<li>Nell&#8217;aprile 2025, il CEO di Microsoft, Satya Nadella, ha rivelato che il <a href=\"https:\/\/www.cnbc.com\/2025\/04\/29\/satya-nadella-says-as-much-as-30percent-of-microsoft-code-is-written-by-ai.html\">20\u201330%<\/a> del codebase \u00e8 stato scritto da IA.<\/li>\n\n\n\n<li>Un quarto delle startup<a href=\"https:\/\/techcrunch.com\/2025\/03\/06\/a-quarter-of-startups-in-ycs-current-cohort-have-codebases-that-are-almost-entirely-ai-generated\/\"> della corrente coorte di YC<\/a> hanno codebase quasi interamente generati da IA.<\/li>\n\n\n\n<li>Il CEO di Google, Sundar Pichai, ha riportato cifre simili, affermando che <a href=\"https:\/\/blog.google\/inside-google\/message-ceo\/alphabet-earnings-q3-2024\/#search:~:text=Today%2C%20more%20than%20a%20quarter%20of%20all%20new%20code%20at%20Google%20is%20generated%20by%20AI%2C%20then%20reviewed%20and%20accepted%20by%20engineers.%20This%20helps%20our%20engineers%20do%20more%20and%20move%20faster\">oltre il 25% del codice di Google<\/a> \u00e8 generato da IA.<\/li>\n\n\n<\/ul>\n\n\n<p>Siamo passati dall&#8217;autocompletamento di base alla scrittura di intere applicazioni con un minimo input umano.&nbsp;<\/p>\n\n\n<p>Ma le stesse caratteristiche che rendono la programmazione vibe accessibile, come l&#8217;input in linguaggio naturale, la generazione autonoma del codice e la gestione automatica della complessit\u00e0, creano seri problemi quando la tua app deve crescere oltre quella prima versione.&nbsp;<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-what-can-you-actually-build-with-vibe-coding\">Cosa Puoi Effettivamente Costruire con Vibe Coding?<\/h3>\n\n\n<p>Quando puoi effettivamente costruire con la programmazione vibrazionale dipende da tre cose:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Quanto deve essere complessa la tua app<\/li>\n\n\n\n<li>Se riesci a individuare codice scadente e falle di sicurezza<\/li>\n\n\n\n<li>Se sai quando smettere di aggiungere funzionalit\u00e0<\/li>\n\n\n<\/ul>\n\n\n<p>Se le esigenze della tua app sono semplici e riesci a identificare le lacune tecniche e a resistere all&#8217;aggiunta di funzionalit\u00e0 non necessarie, il vibe coding pu\u00f2 aiutarti a ottenere risultati funzionali rapidamente.<\/p>\n\n\n<p>Tuttavia, man mano che la complessit\u00e0 aumenta o se hai bisogno di costruire applicazioni di livello produttivo, la revisione professionale e la pianificazione architettonica diventano imprescindibili.<\/p>\n\n\n<p>L&#8217;esperienza di mia nonna nella creazione di un&#8217;app per il monitoraggio di un giardino ha mostrato esattamente dove sono questi limiti.<\/p>\n\n\n<h2 id=\"h-what-happened-in-hour-one-simple-instructions-worked\" class=\"wp-block-heading\">Cosa \u00c8 Successo Nella Prima Ora? Semplici Istruzioni Hanno Funzionato<\/h2>\n\n\n<p>Ci sono almeno una dozzina di piattaforme di codifica AI come Bolt, Lovable, OpenAI Code, Claude Code, Google Opal, ecc.&nbsp;<\/p>\n\n\n<p>Abbiamo iniziato con l&#8217;<a href=\"https:\/\/developers.openai.com\/codex\/ide\/\">estensione OpenAI Codex in VS Code<\/a> perch\u00e9 avevo gi\u00e0 un abbonamento, ma ti consiglierei di iniziare con Bolt.new, Lovable o Vercel per un&#8217;esperienza di programmazione pi\u00f9 visiva e coinvolgente.&nbsp;<\/p>\n\n\n<p>Il nostro primo suggerimento:<em> &#8220;Crea un&#8217;app per il monitoraggio del giardino dove posso registrare cosa ho piantato, quando l&#8217;ho piantato e quanto ho raccolto. Includi un modo per vedere quali piante hanno dato i migliori risultati in ogni stagione.&#8221;<\/em><\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1525\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex.webp\" alt=\"Cursor AI IDE che mostra un piano multistep per la costruzione di un'app di tracciamento per giardini con lista di compiti e interfaccia di chat per assistenza IA.\" class=\"wp-image-77858 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-300x286.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-1024x976.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-768x732.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-1536x1464.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-600x572.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-1200x1144.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-730x696.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-1460x1392.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-784x747.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-1568x1495.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/02_our_first_prompt_codex-877x836.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1525;\" \/><\/figure>\n\n\n<p><strong>Questo prompt ha funzionato perch\u00e9 conteneva tre elementi fondamentali:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Struttura dati chiara<\/strong> (nome della pianta, data di piantagione, quantit\u00e0 di raccolto, stagione)<\/li>\n\n\n\n<li><strong>Output definito<\/strong> (confronto delle prestazioni per stagione)<\/li>\n\n\n\n<li><strong>Contesto di utilizzo specifico<\/strong> (monitoraggio del giardino personale)<\/li>\n\n\n<\/ul>\n\n\n<p>In pochi minuti, Codex ha generato un&#8217;applicazione completa. Aveva un database SQLite con tabelle per <em>piante, semine e raccolte<\/em>, endpoint API REST per operazioni CRUD, un frontend Python con tabelle di dati e moduli di input, e uno stile di base con CSS.<\/p>\n\n\n<p>Aveva anche alcuni dati dimostrativi per impostazione predefinita.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1301\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default.webp\" alt=\"Interfaccia dell'app Garden Tracker che mostra quattro schede di piante con dettagli per Fragola, Cetriolo, Pomodoro e Basilico, inclusi le date di piantagione e i record di raccolta.\" class=\"wp-image-77859 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-300x244.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-1024x833.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-768x624.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-1536x1249.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-600x488.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-1200x976.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-730x594.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-1460x1187.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-784x637.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-1568x1275.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/03_generated_application_demo_data_by_default-877x713.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1301;\" \/><\/figure>\n\n\n<p>L&#8217;applicazione web <em>sembrava<\/em> buona. Questa \u00e8 la superpotenza del coding per sensazioni ed \u00e8 anche il suo pi\u00f9 grande pericolo. Ma prima di approfondire ci\u00f2, lascia che ti spieghi cosa succede realmente dietro al pensiero di Codex. Ho giocato con l&#8217;app, capito cosa avevamo e cosa ci serviva ancora.&nbsp;<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-what-happened-behind-the-interface\">Cosa \u00c8 Successo Dietro L&#8217;Interfaccia<\/h3>\n\n\n<p>Il codice generato ha preso decisioni architettoniche per un&#8217;applicazione singolo utente. Lo schema del database poteva gestire facilmente nuove voci. L&#8217;API seguiva le convenzioni RESTful. I componenti del frontend erano separati logicamente.&nbsp;<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"802\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface.webp\" alt=\"Editor Visual Studio Code che mostra il codice TypeScript per un'app di monitoraggio del giardino con il file models.ts aperto che visualizza le interfacce Plant e PlantLog.\" class=\"wp-image-77860 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-300x150.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-1024x513.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-768x385.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-1536x770.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-600x301.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-1200x602.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-730x366.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-1460x732.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-784x393.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-1568x786.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/04_what_happened_behind_the_interface-877x440.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/802;\" \/><\/figure>\n\n\n<p>Tuttavia, ho notato che non sono state prese in considerazione misure di sicurezza critiche per impostazione predefinita. Non c&#8217;era validazione degli input, nessun strato di autenticazione, nessuna limitazione della frequenza, nessuna considerazione delle vulnerabilit\u00e0 da iniezione SQL e nessuna crittografia.<\/p>\n\n\n<p><strong>L&#8217;architettura dell&#8217;agente IA presumeva un singolo utente fidato in un ambiente controllato.<\/strong><\/p>\n\n\n<p>Considerando che questo era un progetto per mia nonna e nessun altro, queste omissioni sono rischi gestibili. Tuttavia, per chiunque consideri di utilizzare vibe coding per creare un&#8217;applicazione web multiutente, questi sono rischi di sicurezza critici che semplicemente non possono essere ignorati.&nbsp;<\/p>\n\n\n<p>Spesso vedo discussioni su questo su Reddit o PostStatus: gli sviluppatori riescono a iterare sul codice generato dall&#8217;IA perch\u00e9 identificano queste lacune e implementano adeguati livelli di sicurezza. Gli utenti non tecnici vedono un&#8217;app funzionante e presumono che sia pronta per la produzione.<\/p>\n\n\n<h2 id=\"h-what-happened-in-hour-two-feature-creep-became-obvious\" class=\"wp-block-heading\">Cosa \u00c8 Successo Nella Seconda Ora? L&#8217;Aumento Delle Funzionalit\u00e0 \u00c8 Diventato Evidente<\/h2>\n\n\n<p>L&#8217;app ha funzionato come previsto, e questo momento di svolta ha aiutato mia nonna a costruire fiducia. Mia nonna ha iniziato a pensare a dei miglioramenti. Qui emergono le limitazioni della programmazione di vibe.<\/p>\n\n\n<p>Abbiamo provato una richiesta di funzionalit\u00e0: <em>&#8220;Aggiungi la possibilit\u00e0 di caricare foto di ogni pianta cos\u00ec posso vedere come apparivano in diverse fasi di crescita.&#8221;<\/em><\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1298\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex.webp\" alt=\"Interfaccia Cursor IA che mostra il progresso nell'implementazione della funzionalit\u00e0 di caricamento foto per piante con suddivisione dei compiti e stato di completamento.\" class=\"wp-image-77861 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-300x243.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-1024x831.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-768x623.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-1536x1246.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-600x487.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-1200x974.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-730x592.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-1460x1184.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-784x636.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-1568x1272.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/05_feature_request_codex-877x711.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1298;\" \/><\/figure>\n\n\n<p>Questa apparentemente semplice richiesta ha innescato una cascata di complessit\u00e0 architettonica.<\/p>\n\n\n<p><strong>Modifiche richieste allo schema del database e al modulo dell&#8217;applicazione:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Nuova tabella foto con colonne: id, plant_id (chiave esterna), photo_url, upload_date, growth_stage<\/li>\n\n\n\n<li>Definizione della relazione tra piante e foto (uno-a-molti)<\/li>\n\n\n\n<li>Strategia di migrazione per i dati esistenti<\/li>\n\n\n<\/ul>\n\n\n<p><strong>Modifiche al backend necessarie:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Endpoint per il caricamento di file con gestione del form multipart<\/li>\n\n\n\n<li>Soluzione di archiviazione file (filesystem locale vs. cloud storage)<\/li>\n\n\n\n<li>Nuovi endpoint API per operazioni CRUD su foto<\/li>\n\n\n\n<li>Aggiorna gli endpoint esistenti delle piante per includere i dati della foto<\/li>\n\n\n<\/ul>\n\n\n<p><strong>Modifiche al frontend richieste:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Componente di input file con funzionalit\u00e0 drag-and-drop<\/li>\n\n\n\n<li>Funzionalit\u00e0 di anteprima immagine<\/li>\n\n\n\n<li>Visualizzazione di gallerie fotografiche per ogni pianta<\/li>\n\n\n\n<li>Aggiorna le schede delle piante esistenti per mostrare le miniature<\/li>\n\n\n\n<li>Stati di caricamento per il progresso dell&#8217;upload<\/li>\n\n\n<\/ul>\n\n\n<p>OpenAI Codex ha tentato di implementare tutto simultaneamente. L&#8217;ultimo modello GPT5-Codex-High \u00e8 riuscito a far funzionare il tutto entro circa 5 minuti dall&#8217;inserimento del prompt.&nbsp;<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1774\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity.webp\" alt=\"Pagina di dettaglio della pianta Garden Tracker per il Cetriolo che mostra la cronologia del raccolto con due voci, raccolto totale di 5,60 libbre e sezione di caricamento foto.\" class=\"wp-image-77862 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-271x300.webp 271w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-924x1024.webp 924w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-768x852.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-1385x1536.webp 1385w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-600x665.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-1200x1331.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-730x809.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-1460x1619.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-784x869.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-1568x1739.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/06_codex_cascade_of_architectural_complexity-877x972.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1774;\" \/><\/figure>\n\n\n<p>Il problema \u00e8 che ha creato codice difettoso e insicuro. Ecco cosa si \u00e8 rotto:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>La struttura originale della tabella <em>piante<\/em> \u00e8 cambiata<\/li>\n\n\n\n<li>I componenti del frontend che facevano riferimento al vecchio schema hanno smesso di funzionare<\/li>\n\n\n\n<li>Sono emersi conflitti CSS tra i nuovi componenti delle foto e l&#8217;UI esistente (come visibile nello screenshot)<\/li>\n\n\n<\/ul>\n\n\n<p>E poi c&#8217;era il problema dell&#8217;iper-ingegnerizzazione: Codex ha generato un sistema complesso con elaborazione delle immagini non necessaria e dati acquisiti per ogni foto, ecc.<\/p>\n\n\n<p>Ogni tentativo di correzione introduceva nuovi problemi. Aggiorna lo schema del database, interrompi l&#8217;API. Risolvi l&#8217;API, interrompi il frontend. Risolvi i problemi del frontend, scopri nuovi bug nel backend. Il codice che funzionava perfettamente con 200 righe di codice ora si estendeva per 1.500 righe con dipendenze interconnesse.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-the-non-extensible-architecture-trap\">La Trappola Dell&#8217;Architettura Non Estensibile<\/h3>\n\n\n<p>L&#8217;architettura dell&#8217;app \u00e8 stata ottimizzata <em>solo<\/em> per ci\u00f2 che abbiamo chiesto nella prima ora. Con il vibe coding, devi essere molto specifico, ed \u00e8 quella la parte difficile per i non sviluppatori.<\/p>\n\n\n<p>Non sapresti cosa significa un&#8217;architettura estensibile se l&#8217;IA la implementasse.<\/p>\n\n\n<p>Se hai un&#8217;app semplice pronta e poi hai bisogno di estenderla, un&#8217;architettura non estensibile significherebbe riscrivere il codice da zero per l&#8217;IA.&nbsp;<\/p>\n\n\n<p><strong>Ipotesi architettoniche dalla prima ora:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Design a tabella unica (ragionevole per dati semplici)<\/li>\n\n\n\n<li>Query dirette API-database (veloci per operazioni con molte letture)<\/li>\n\n\n\n<li>Definizioni di componenti in linea (accettabili per interfacce utente piccole)<\/li>\n\n\n\n<li>Nessuna separazione tra logica di business e accesso ai dati (adatto per semplici operazioni CRUD)<\/li>\n\n\n<\/ul>\n\n\n<p><strong>Perch\u00e9 queste ipotesi sono diventate vincoli:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Il design a singola tabella ha impedito una corretta modellazione dei dati relazionali per le foto<\/li>\n\n\n\n<li>Le query dirette richiedevano una riscrittura completa quando lo schema cambiava<\/li>\n\n\n\n<li>I componenti integrati significavano che le modifiche si propagavano attraverso l&#8217;intero codice<\/li>\n\n\n\n<li>L&#8217;assenza di un livello di logica aziendale significava che ogni funzionalit\u00e0 interagiva direttamente con il database<\/li>\n\n\n<\/ul>\n\n\n<p>Eravamo oltre il punto di non ritorno. Troppo codice esisteva per essere abbandonato. Ogni tentativo di correzione consumava pi\u00f9 token cercando di salvare un&#8217;architettura che non poteva supportare i nuovi requisiti.<\/p>\n\n\n<h2 id=\"h-what-happened-in-hour-three-token-exhaustion-and-barely-functional-code-emerged\" class=\"wp-block-heading\">Cosa \u00c8 Successo Nella Terza Ora? Esaurimento Dei Token E Codice Appena Funzionante Emergono<\/h2>\n\n\n<p>Dopo che la funzionalit\u00e0 di caricamento delle foto ha funzionato, abbiamo tentato ulteriori miglioramenti.<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>&#8220;Aggiungi categorie per i tipi di piante (verdure, erbe, fiori)&#8221;<\/li>\n\n\n\n<li>&#8220;Mostra raccomandazioni di piantagione in base alla stagione&#8221;<\/li>\n\n\n\n<li>&#8220;Permettimi di segnare le piante come preferite&#8221;<\/li>\n\n\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1030\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code.webp\" alt=\"Cursore IA che mostra il completamento della costruzione dell'app di monitoraggio del giardino con funzionalit\u00e0 aggiunte tra cui categorie di piante, consigli stagionali e preferiti con codice visibile.\" class=\"wp-image-77863 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-300x193.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-1024x659.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-768x494.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-1536x989.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-600x386.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-1200x773.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-730x470.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-1460x940.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-784x505.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-1568x1009.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/07_token_exhaustion_and_barely_functional_code-877x565.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1030;\" \/><\/figure>\n\n\n<p>Ogni richiesta seguiva lo stesso schema: Codex tentava un&#8217;implementazione approfondita per alcune richieste apparentemente semplici, introduceva cambiamenti radicali, creava soluzioni sovraingegnerizzate e consumava migliaia di token cercando di risolvere i bug risultanti.<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"932\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-1024x932.webp\" alt=\"Cruscotto Garden Tracker che mostra raccomandazioni stagionali, elenco di piante con verdure e azioni, e la sezione delle tue piantagioni con le schede di Cetriolo e Basilico.\" class=\"wp-image-77864 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-1024x932.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-300x273.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-768x699.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-1536x1399.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-600x546.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-1200x1093.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-730x665.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-1460x1330.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-784x714.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-1568x1428.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations-877x799.webp 877w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/08_implementations.webp 1600w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/932;\" \/><\/figure>\n\n\n<p>L&#8217;app funziona molto bene, e mia nonna era soddisfatta del risultato.&nbsp;<\/p>\n\n\n<p>Come sviluppatore, per\u00f2, potevo chiaramente vedere che eravamo all&#8217;ultimo stadio in termini di codice. Alcune funzionalit\u00e0 in pi\u00f9 e l&#8217;app sarebbe stata un disastro.&nbsp;<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"620\" height=\"421\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/IMAGE-9.png\" alt=\"Meme di SpongeBob che mostra Patrick frustrato al computer con il testo Funziona? e No, \u00e8 rotto, ma non romperlo.\" class=\"wp-image-77865 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2025\/11\/IMAGE-9.png.webp 620w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/IMAGE-9-300x204.png 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2025\/11\/IMAGE-9-600x407.png.webp 600w\" data-sizes=\"(max-width: 620px) 100vw, 620px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 620px; --smush-placeholder-aspect-ratio: 620\/421;\" \/><\/figure>\n\n\n<p>via <a href=\"https:\/\/imgflip.com\/i\/tc9hy\">Imgflip<\/a><\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-why-is-this-such-a-common-problem\">Perch\u00e9 Questo \u00c8 Un Problema Cos\u00ec Comune?<\/h3>\n\n\n<p>Gli agenti di codifica sono solo grandi modelli linguistici &#8220;sollecitati&#8221; a produrre codice.&nbsp;<\/p>\n\n\n<p>Quindi hanno tutti i problemi che hanno i grandi modelli di linguaggio, inclusi:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Non essere specifici su ci\u00f2 che ci si aspetta da loro<\/li>\n\n\n\n<li>Inventarsi chiamate a funzioni casuali (allucinazioni)<\/li>\n\n\n\n<li>Scrivere codice complicato per obiettivi semplicistici<\/li>\n\n\n<\/ul>\n\n\n<p>Inoltre, man mano che la cronologia della chat aumenta, gli agenti di codifica raggiungono i loro <a href=\"https:\/\/www.ibm.com\/think\/topics\/context-window\">limiti della finestra di contesto<\/a>.&nbsp;<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Decisioni architettoniche originali e le loro ragioni<\/li>\n\n\n\n<li>Modifiche successive e le loro interdipendenze<\/li>\n\n\n\n<li>Bug attuali e le loro cause principali<\/li>\n\n\n\n<li>Funzionalit\u00e0 desiderate per nuove caratteristiche<\/li>\n\n\n<\/ul>\n\n\n<p>Ogni nuovo prompt veniva interpretato isolatamente senza una piena comprensione della storia dell&#8217;architettura. L&#8217;IA proponeva soluzioni che avevano senso per singole funzionalit\u00e0, ma creavano conflitti sistemici quando integrate con il codice esistente.<\/p>\n\n\n<p>Questa <a href=\"https:\/\/www.reddit.com\/r\/ClaudeAI\/comments\/1kivv0w\/the_ultimate_vibe_coding_guide\/\">guida su Reddit sottolinea<\/a>: <em>&#8220;Quando la chat diventa molto grande, apri semplicemente una nuova. La finestra di contesto dell&#8217;IA \u00e8 limitata. Se la chat \u00e8 molto grande, dimenticher\u00e0 tutto ci\u00f2 che \u00e8 precedente, dimenticher\u00e0 qualsiasi schema e design, e inizier\u00e0 a produrre risultati scadenti.&#8221;<\/em><\/p>\n\n\n<p>Ma aprire una nuova chat significava perdere tutto il contesto di ci\u00f2 che esisteva. Fornire quel contesto consumava token. Anche con un contesto &#8220;riassunto&#8221;, ci mancano ancora dettagli importanti quando si tratta di codice.&nbsp;<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-we-faced-the-tea-app-problem-at-a-smaller-scale\">Abbiamo Affrontato Il Problema Dell&#8217;App TEA Su Una Scala Minore<\/h3>\n\n\n<p>L&#8217;app TEA ha dimostrato questo preciso schema di fallimento su scala di produzione. Lanciata nel 2023 come piattaforma di sicurezza femminile, \u00e8 cresciuta rapidamente fino a 1,6 milioni di utenti.&nbsp;<\/p>\n\n\n<p><strong>Allora, nel luglio 2025, \u00e8 fallito catastroficamente:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>La violazione:<\/strong> Ricercatori di sicurezza hanno scoperto un bucket di Firebase non protetto contenente 72.000 immagini utente, incluse 13.000 selfie di verifica e documenti di identit\u00e0 governativi. Un secondo database ha esposto 1.1 milioni di messaggi privati.<\/li>\n\n\n\n<li><strong>I fallimenti tecnici:<\/strong> Chiavi API codificate nel codice sorgente, bucket Firebase accessibile pubblicamente senza autenticazione, nessuna protezione in esecuzione e nessun strato di revisione della sicurezza. Gli esperti hanno collegato queste vulnerabilit\u00e0 a pratiche di codifica basate sul &#8220;vibe&#8221;, dove la velocit\u00e0 di sviluppo delle funzionalit\u00e0 ha eclissato l&#8217;architettura di sicurezza.<\/li>\n\n\n\n<li><strong>L&#8217;esito:<\/strong> Un postatore anonimo di 4chan ha scoperto e condiviso gli strumenti di download. Cause collettive depositate entro 48 ore. La piattaforma \u00e8 stata chiusa. Costo medio della violazione: 4,88 milioni di dollari.<\/li>\n\n\n<\/ul>\n\n\n<p>Il fallimento del TEA presenta lo stesso schema che abbiamo sperimentato a una scala cos\u00ec ridotta, il che mi fa chiedere perch\u00e9 le persone non verificano il codice generato dall&#8217;IA.&nbsp;<\/p>\n\n\n<p>Avevamo un&#8217;implementazione iniziale che funzionava bene; tuttavia, l&#8217;aggiunta di funzionalit\u00e0 ha complicato l&#8217;architettura, le considerazioni sulla sicurezza sono state trascurate per le nuove funzionalit\u00e0 e le vulnerabilit\u00e0 sistemiche sono state inconsapevolmente lasciate aperte all&#8217;exploit.<\/p>\n\n\n<h2 id=\"h-how-to-vibe-code-without-experiencing-the-same-problems-we-did\" class=\"wp-block-heading\">Come Usare Il Codice Senza Incorrere Nei Stessi Problemi Che Abbiamo Affrontato Noi<\/h2>\n\n\n<p>Se non sei uno sviluppatore, \u00e8 impossibile evitare completamente i problemi. Tuttavia, ci sono modi per minimizzare i problemi.&nbsp;<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-start-with-ruthless-feature-minimalism\">1. Inizia Con Un Minimalismo Impietoso Delle Funzionalit\u00e0<\/h3>\n\n\n<p>Definisci il set minimo assoluto di funzionalit\u00e0 prima di scrivere il primo prompt, ma resiti sempre alla tentazione di aggiungere funzionalit\u00e0 durante lo sviluppo iniziale.<\/p>\n\n\n<p><strong>Framework di definizione dell&#8217;ambito efficace:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>Elenca tutte le funzionalit\u00e0 desiderate<\/li>\n\n\n\n<li>Identifica le 3-5 funzionalit\u00e0 che convalidano la tua ipotesi di base<\/li>\n\n\n\n<li>Costruisci solo quelle funzionalit\u00e0 nella versione uno<\/li>\n\n\n\n<li>Lancia, convalida e itera<\/li>\n\n\n<\/ol>\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Non dare indicazioni come, &#8216;Costruiscimi questa intera funzionalit\u00e0.&#8217; L&#8217;IA alluciner\u00e0 e produrr\u00e0 codice pessimo. Suddividi qualsiasi funzionalit\u00e0 in almeno 3-5 richieste sequenziali.<\/em><\/p>\n\n\n<\/blockquote>\n\n\n<p>Se non riesci a identificare il set minimo di funzionalit\u00e0, utilizza la &#8220;<strong>Modalit\u00e0 piano<\/strong>&#8221; o la &#8220;<strong>Modalit\u00e0 chat<\/strong>&#8221; disponibili nella maggior parte degli strumenti di codifica IA.&nbsp;<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1715\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode.webp\" alt=\"Interfaccia Claude Code che mostra lo stato vuoto con personaggio in pixel art e invito a digitare \/model per selezionare lo strumento di codifica IA.\" class=\"wp-image-77866 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-280x300.webp 280w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-955x1024.webp 955w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-768x823.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-1433x1536.webp 1433w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-600x643.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-1200x1286.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-730x782.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-1460x1565.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-784x840.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-1568x1681.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/10_claude_plan_mode-877x940.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1715;\" \/><\/figure>\n\n\n<p>Questo ti permette di dire all&#8217;agente ci\u00f2 che desideri in linguaggio naturale e consente all&#8217;IA di capire come suddividere l&#8217;app in singole funzionalit\u00e0 o file.&nbsp;<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-commit-to-git-after-every-working-feature\">2. Fai il Commit su Git Dopo Ogni Funzionalit\u00e0 Funzionante<\/h3>\n\n\n<p>Per chi non \u00e8 uno sviluppatore, il controllo di versione pu\u00f2 sembrare complicato, ma \u00e8 un&#8217;aggiunta necessaria. Git \u00e8 uno strumento di controllo di versione che crea punti di ripristino quando l&#8217;aggiunta di funzionalit\u00e0 compromette la funzionalit\u00e0 esistente.&nbsp;<\/p>\n\n\n<p><strong>Flusso di lavoro Git per la programmazione vibe:<\/strong><\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>Inizializza il repository prima del primo prompt<\/li>\n\n\n\n<li>Effettua il commit dopo la versione di lavoro iniziale<\/li>\n\n\n\n<li>Crea un nuovo ramo per ogni aggiunta di funzionalit\u00e0<\/li>\n\n\n\n<li>Effettua commit frequenti durante lo sviluppo della funzionalit\u00e0<\/li>\n\n\n\n<li>Testa accuratamente prima di unire al ramo principale<\/li>\n\n\n<\/ol>\n\n\n<p>Puoi dire all&#8217;agente di programmazione di tua scelta di farlo per te se non ti senti a tuo agio con i <a href=\"https:\/\/www.dreamhost.com\/blog\/git-commands\/\">comandi Git<\/a>.&nbsp;<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-design-for-extension-in-initial-prompts\">3. Progetta Per L&#8217;Estensione Nei Prompt Iniziali<\/h3>\n\n\n<p>Il tuo primo prompt definisce il codice sorgente. I prompt semplici ti forniranno un&#8217;app funzionante fino a quando non inizierai a richiedere nuove funzionalit\u00e0.&nbsp;<\/p>\n\n\n<p>Invece, richiedi un&#8217;architettura estensibile fin dall&#8217;inizio.&nbsp;<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prompt iniziale inefficace:<\/strong> &#8220;Crea un&#8217;app per tracciare il giardino dove posso registrare ci\u00f2 che ho piantato e raccolto.&#8221;<\/li>\n\n\n\n<li><strong>Prompt iniziale efficace:<\/strong> &#8220;Crea un&#8217;app per tracciare il giardino con uno schema di database estensibile che possa accomodare funzionalit\u00e0 future. Utilizza un&#8217;architettura modulare dove i componenti del frontend, i punti di accesso API e l&#8217;accesso al database sono separati. Includi una documentazione chiara dello schema e della struttura API per modifiche future.&#8221;<\/li>\n\n\n<\/ul>\n\n\n<p>Questo aumenta inizialmente l&#8217;utilizzo dei token. Tuttavia, quando inizi ad aggiungere nuove funzionalit\u00e0, l&#8217;IA non dovr\u00e0 sprecare token per rifattorizzare il vecchio codice per adattarlo alle richieste.&nbsp;<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-choose-tools-based-on-architectural-stability\">4. Scegli Strumenti Basati Sulla Stabilit\u00e0 Architettonica<\/h3>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bolt.new, Replit agent, e Lovable:<\/strong> Ottimo per prototipi a sessione singola e facile implementazione. Scarsa per l&#8217;aggiunta di funzionalit\u00e0 multi-sessione. L&#8217;architettura diventa progressivamente pi\u00f9 fragile con ogni modifica.<\/li>\n\n\n\n<li><strong>Claude\/OpenAI\/Gemini coding agents:<\/strong> A volte utili per la codifica complessa, ma possono sembrare pi\u00f9 complicati rispetto alle web-app visuali che abbiamo visto in precedenza.<\/li>\n\n\n\n<li><strong>DreamHost Liftoff:<\/strong> Ottimo come base WordPress con schemi di estensibilit\u00e0 collaudati. L&#8217;architettura di WordPress \u00e8 progettata per la modifica e l&#8217;aggiunta di plugin. Questo risolve il problema dell&#8217;architettura non estensibile partendo da una base estensibile collaudata.<\/li>\n\n\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-implement-security-from-hour-one\">5. Implementa La Sicurezza Dalla Prima Ora<\/h3>\n\n\n<p>Simile all&#8217;estensibilit\u00e0, desideri integrare la sicurezza fin dal primo comando. Quindi, insieme alla richiesta di un&#8217;architettura estensibile e modulare, desideri anche aggiungere componenti orientati alla sicurezza al comando iniziale.<\/p>\n\n\n<p><strong>Ecco un esempio di come aggiungerei sicurezza al primo prompt:<\/strong> <em>&#8220;Costruisci un&#8217;app di monitoraggio del giardino con hashing della password bcrypt, validazione dell&#8217;input su tutti i campi, query SQL parametrizzate per prevenire attacchi di iniezione, limitazione della frequenza su tutti gli endpoint API e segreti memorizzati in variabili d&#8217;ambiente mai esposti al codice frontend.&#8221;<\/em><\/p>\n\n\n<p><strong>Se stai sviluppando un&#8217;app orientata ai clienti, ecco alcune cose da tenere a mente:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Non fidarti mai dei dati del cliente\u2014valida e sanifica dal lato server<\/li>\n\n\n\n<li>Mantieni i segreti nelle variabili di ambiente<\/li>\n\n\n\n<li>Verifica i permessi per ogni azione<\/li>\n\n\n\n<li>Usa messaggi di errore generici\u2014log dettagliati solo per gli sviluppatori<\/li>\n\n\n\n<li>Implementa controlli di propriet\u00e0 per prevenire l&#8217;accesso ai dati non autorizzato<\/li>\n\n\n\n<li>Proteggi le API con limiti di frequenza<\/li>\n\n\n<\/ul>\n\n\n<p>Comprendere <a href=\"https:\/\/www.dreamhost.com\/blog\/guide-to-generative-ai\/\">come funziona l&#8217;IA generativa<\/a> ti aiuta a riconoscere quando l&#8217;IA fa delle ipotesi di sicurezza che creano vulnerabilit\u00e0.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-6-know-when-to-start-fresh-vs-continue\">6. Quando Iniziare Da Capo Vs Continuare<\/h3>\n\n\n<p>Riconosci i segnali che indicano che continuare sprecher\u00e0 token.<\/p>\n\n\n<p><strong>Inizia da zero quando:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Il consumo di token supera i 300k senza funzionalit\u00e0 operative<\/li>\n\n\n\n<li>Ogni correzione di bug introduce due nuovi bug<\/li>\n\n\n\n<li>Le modifiche architetturali compromettono diverse funzionalit\u00e0 esistenti<\/li>\n\n\n\n<li>La cronologia della chat supera i 30 scambi<\/li>\n\n\n\n<li>Non puoi spiegare l&#8217;architettura attuale del codice<\/li>\n\n\n<\/ul>\n\n\n<p><strong>Continua quando:<\/strong><\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Le nuove funzionalit\u00e0 si integrano perfettamente con il codice esistente<\/li>\n\n\n\n<li>Le correzioni di bug risolvono problemi senza effetti collaterali<\/li>\n\n\n\n<li>Il consumo di token rimane entro i budget<\/li>\n\n\n\n<li>L&#8217;architettura rimane comprensibile<\/li>\n\n\n<\/ul>\n\n\n<p>Quando l&#8217;IA sbaglia e procede nella direzione sbagliata, tornare indietro, modificare il prompt e inviarlo nuovamente sarebbe molto meglio che completare questo codice scadente.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-7-review-with-ai-security-analysis\">7. Revisione Con Analisi di Sicurezza IA<\/h3>\n\n\n<p>Dopo aver costruito la funzionalit\u00e0 principale, copia l&#8217;intero codice sorgente su Gemini 2.5 Pro per un&#8217;analisi di sicurezza completa. Preferisco questo modello di linguaggio a causa della sua ampia finestra di contesto di due milioni di token, cos\u00ec puoi spostare l&#8217;intera base di codice al suo interno.&nbsp;<\/p>\n\n\n<p><strong>Prompt di Revisione Della Sicurezza:<\/strong> <em>&#8220;Comportati come un esperto di sicurezza. Analizza questo intero codice sorgente alla ricerca di vulnerabilit\u00e0. Identifica i rischi di iniezione SQL, le vulnerabilit\u00e0 XSS, le debolezze nell&#8217;autenticazione, i difetti nell&#8217;autorizzazione, l&#8217;esposizione delle credenziali e qualsiasi problema del Top 10 OWASP. Fornisci specifiche ubicazioni del codice e raccomandazioni per la rimediazione.&#8221;<\/em><\/p>\n\n\n<p>Questo approssima una revisione della sicurezza professionale a una frazione del costo.&nbsp;<\/p>\n\n\n<p>Non \u00e8 sufficiente per il dispiegamento in produzione, ma identifica i difetti catastrofici nei prototipi prima che raggiungano gli utenti.<\/p>\n\n\n<h2 id=\"h-when-does-vibe-coding-make-business-sense\" class=\"wp-block-heading\">Quando Ha Senso il Vibe Coding per il Business?<\/h2>\n\n\n<p>Non devi scartare del tutto la programmazione vibe solo perch\u00e9 al momento non \u00e8 in grado di creare applicazioni complesse. Ecco alcuni casi in cui penso che un prototipo o un&#8217;app codificata con vibe abbia effettivamente senso.<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Validazione Rapida Del Concetto:<\/strong> Costruisci prototipi in ore per testare l&#8217;interesse del mercato. Il costo medio di validazione \u00e8 sceso da $15,000\u2013$100,000+ a meno di $500. Utilizza il coding vibrazionale per rispondere: &#8220;I clienti lo desiderano abbastanza da usarlo?&#8221;<\/li>\n\n\n\n<li><strong>Automazione Dei Processi Interni:<\/strong> Fornisci strumenti al tuo team dove controlli l&#8217;accesso e accetti una maggiore tolleranza al rischio perch\u00e9 il raggio di esplosione rimane limitato. Gli strumenti interni possono evolvere verso la sicurezza invece di richiederla dal primo giorno.<\/li>\n\n\n\n<li><strong>Specificazione Pre-Sviluppo:<\/strong> Comprendi i requisiti prima di<a href=\"https:\/\/www.dreamhost.com\/blog\/how-to-hire-web-developer\/\"> assumere sviluppatori<\/a> per ridurre la costosa incomprensione. I prototipi codificati vibrazionalmente fungono da documenti interattivi dei requisiti.<\/li>\n\n\n\n<li><strong>MVP per la Raccolta Fondi:<\/strong> Dimostra la funzionalit\u00e0 agli investitori essendo trasparente sulla maturit\u00e0 tecnica. Molti startup utilizzano MVP codificati vibrazionalmente per assicurarsi finanziamenti iniziali, poi ricostruiscono correttamente con team professionali.<\/li>\n\n\n<\/ul>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-when-professional-development-becomes-non-negotiable\">Quando lo Sviluppo Professionale Diventa Indispensabile<\/h3>\n\n\n<p>Le applicazioni rivolte al cliente che elaborano qualsiasi dato utente richiedono una revisione della sicurezza professionale. Il costo di un&#8217;implementazione errata della sicurezza supera qualsiasi risparmio derivante dalla programmazione improvvisata.<\/p>\n\n\n<p>Alcuni casi in cui necessiti di una revisione professionale includono:&nbsp;<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Autenticazione multi-utente<\/li>\n\n\n\n<li>Elaborazione dei pagamenti<\/li>\n\n\n\n<li>Archiviazione delle informazioni personali<\/li>\n\n\n\n<li>Distribuzione pubblica<\/li>\n\n\n\n<li>Situazioni che comportano requisiti di conformit\u00e0 (come GDPR, CCPA, HIPAA)<\/li>\n\n\n<\/ul>\n\n\n<p>L&#8217;amministratore delegato di Microsoft ha rivelato che <a href=\"https:\/\/www.cnbc.com\/2025\/04\/29\/satya-nadella-says-as-much-as-30percent-of-microsoft-code-is-written-by-ai.html\">il 30% del codice dell&#8217;azienda<\/a> \u00e8 ora generato da IA. Anche Google ha riportato <a href=\"https:\/\/abc.xyz\/investor\/events\/event-details\/2025\/2025-Q1-Earnings-Call\/\">cifre simili<\/a>. Entrambi mantengono estesi processi di revisione della sicurezza, test automatizzati e supervisione umana.&nbsp;<\/p>\n\n\n<p>Il dispiegamento in produzione richiede precauzioni simili indipendentemente dal metodo di generazione del codice.<\/p>\n\n\n<p>Comprendere <a href=\"https:\/\/www.dreamhost.com\/blog\/will-ai-replace-developers\/\">se l&#8217;IA sostituir\u00e0 gli sviluppatori<\/a> aiuta a stabilire aspettative realistiche su ci\u00f2 che puoi costruire e distribuire autonomamente. Esplora le <a href=\"https:\/\/www.dreamhost.com\/blog\/best-online-resources-learn-to-code\/\">migliori risorse online per imparare a programmare<\/a> per colmare il divario tra la creazione di prototipi di coding e i sistemi pronti per la produzione.<\/p>\n\n\n<h2 id=\"h-faqs-about-vibe-coding\" class=\"wp-block-heading\">Domande Frequenti Sul Vibe Coding<\/h2>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-what-is-vibe-coding-and-how-is-it-different-from-traditional-programming\">Cos&#8217;\u00e8 il Vibe Coding e in che modo si differenzia dalla programmazione tradizionale?<\/h3>\n\n\n<p>Vibe coding \u00e8 il processo di creazione di applicazioni descrivendo i requisiti in inglese semplice a un&#8217;IA, che genera il codice per te. A differenza della programmazione tradizionale, che richiede la conoscenza dei linguaggi di programmazione, il vibe coding sposta l&#8217;attenzione sulla gestione del prodotto e l&#8217;intento piuttosto che sulla codifica manuale.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-can-non-developers-build-production-ready-apps-using-vibe-coding\">Possono i non sviluppatori creare app pronte per la produzione usando il vibe coding?<\/h3>\n\n\n<p>Mentre la programmazione con vibe permette ai non sviluppatori di prototipare rapidamente applicazioni funzionali, la maggior parte del codice generato dall&#8217;IA manca della sicurezza e robustezza necessarie per il deployment in produzione. Detto questo, i prototipi creati con vibe sono ottimi per la validazione di concetti.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"h-what-are-the-biggest-risks-of-using-ai-generated-code-for-app-development\">Quali sono i maggiori rischi nell&#8217;uso di codice generato dall&#8217;IA per lo sviluppo di app?<\/h3>\n\n\n<p>I rischi pi\u00f9 significativi includono difetti di sicurezza (come la mancanza di validazione, autenticazione, limitazione della frequenza e protezione contro l&#8217;iniezione SQL), architettura non estensibile e l&#8217;aggiunta continua di funzionalit\u00e0 che porta a sistemi fragili o malfunzionanti. La violazione dell&#8217;app TEA \u00e8 un esempio di sviluppo rapido senza un&#8217;adeguata revisione della sicurezza, risultando in conseguenze catastrofiche.<\/p>\n\n<h3 class=\"wp-block-heading\" id=\"h-when-does-it-make-sense-to-use-vibe-coding-for-real-business-projects\">Quando ha senso utilizzare la programmazione vibe per progetti aziendali reali?<\/h3>\n\n<p>La programmazione Vibe \u00e8 ideale per la prototipazione rapida, gli strumenti interni, la specifica pre-sviluppo (raccolta dei requisiti) e i prototipi di minima per la raccolta fondi. Tuttavia, per applicazioni rivolte ai clienti o che elaborano dati sensibili, \u00e8 sempre necessario investire in sviluppo professionale e revisioni di sicurezza.<\/p>\n\n\n<h2 id=\"h-the-bottom-line-know-your-architectural-limits\" class=\"wp-block-heading\">La Linea Di Fondo: Conosci I Tuoi Limiti Architettonici<\/h2>\n\n\n<p>Mia nonna gestisce il suo semplice tracciatore per il giardino per uso personale. Ha anche aggiunto delle analisi funzionali (il pulsante della navbar non portava da nessuna parte prima) per vedere come sta andando il suo giardino.&nbsp;<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1572\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics.webp\" alt=\"Dashboard che mostra le analisi delle prestazioni delle piante con dati di due stagioni, evidenziando 22 raccolti di basilico in primavera e 5,6 libbre di cetrioli in estate\" class=\"wp-image-77867 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics.webp 1600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-300x295.webp 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-1024x1006.webp 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-768x755.webp 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-1536x1509.webp 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-600x590.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-1200x1179.webp 1200w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-730x717.webp 730w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-1460x1434.webp 1460w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-784x770.webp 784w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-1568x1541.webp 1568w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/11_functional_analytics-877x862.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1572;\" \/><\/figure>\n\n\n<p>Questa funziona come un&#8217;app per un singolo utente. Se stai costruendo una piattaforma per l&#8217;uso multi-client, potresti comunque creare prototipi codificati, MVP, ecc., per far partire le cose. Ma fare affidamento solo sulla codifica vibe senza capire cosa sta succedendo \u00e8 semplicemente ripetere la storia dell&#8217;app TEA.&nbsp;<\/p>\n\n\n<p>Vibe coding democratizza la creazione di software introducendo nuove responsabilit\u00e0. Puoi costruire app in 30 minuti. Tuttavia, devi comprendere i limiti architettonici, le implicazioni di sicurezza e i modelli di consumo dei token prima di distribuirli agli utenti.<\/p>\n\n\n<p>Il futuro appartiene ai costruttori che comprendono il divario tra prototipo e produzione.&nbsp;<\/p>\n\n\n<p>Pronto a costruire la tua prima app web? Inizia con <a href=\"https:\/\/www.dreamhost.com\/features\/ai-website-builder\/\">DreamHost Liftoff<\/a> per una programmazione con vibrazione alimentata da WordPress che include un&#8217;architettura estensibile, hosting gestito, infrastruttura di sicurezza e scalabilit\u00e0 provata fin dal primo giorno. Costruisci velocemente. Estendi in sicurezza. Possiedi il tuo codice.<\/p>\n\n\n\n<div class=\"article-cta-shared article-cta-small article-cta--product\">\n\t<div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/03\/product-cta-pro-services-design-877x586.webp 1x, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2024\/03\/product-cta-pro-services-design.webp 2x\"  \/><\/div>\n\n\t<a href='https:\/\/www.dreamhost.com\/pro-services\/design\/' class='link-top' target='_blank' rel='noopener noreferrer'>\n\t\t<span>Pro Services &#8211; Design<\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\" width=\"15\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\n\t<div class=\"content-btm\">\n\t\t<h2 class=\"h2--md\">\n\t\t\tBeautiful Websites, Designed From Scratch\n\t\t<\/h2>\n\t\t<p class=\"p--md\">\n\t\t\tStand out from the crowd with a modern WordPress website that\u2019s 100% unique to you.\n\t\t<\/p>\n\n\t\t        <a\n            href=\"https:\/\/www.dreamhost.com\/pro-services\/design\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            See More                    <\/a>\n\n\t<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>La mia nonna ha gestito fogli di calcolo per l&#8217;inventario di una compagnia tessile per 40 anni. Calcola sconti composti nella sua mente pi\u00f9 velocemente di quanto molte persone possano fare con i calcolatori, ma non ha alcuna esperienza di programmazione. Quando le ho proposto di costruire insieme un&#8217;app per il monitoraggio del giardino usando l&#8217;IA, il suo scetticismo \u00e8 stato quasi istantaneo. Due ore dopo, aveva gi\u00e0 un sito web funzionante [\u2026]<\/p>\n","protected":false},"author":1058,"featured_media":77870,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"","toc_headlines":"[[\"h-first-what-is-vibe-coding\",\"Prima, Cos'\u00e8 Il Vibe Coding?\"],[\"h-what-happened-in-hour-one-simple-instructions-worked\",\"Cosa \u00c8 Successo Nella Prima Ora? Semplici Istruzioni Hanno Funzionato\"],[\"h-what-happened-in-hour-two-feature-creep-became-obvious\",\"Cosa \u00c8 Successo Nella Seconda Ora? L'Aumento Delle Funzionalit\u00e0 \u00c8 Diventato Evidente\"],[\"h-what-happened-in-hour-three-token-exhaustion-and-barely-functional-code-emerged\",\"Cosa \u00c8 Successo Nella Terza Ora? Esaurimento Dei Token E Codice Appena Funzionante Emergono\"],[\"h-how-to-vibe-code-without-experiencing-the-same-problems-we-did\",\"Come Usare Il Codice Senza Incorrere Nei Stessi Problemi Che Abbiamo Affrontato Noi\"],[\"h-when-does-vibe-coding-make-business-sense\",\"Quando Ha Senso il Vibe Coding per il Business?\"],[\"h-faqs-about-vibe-coding\",\"Domande Frequenti Sul Vibe Coding\"],[\"h-the-bottom-line-know-your-architectural-limits\",\"La Linea Di Fondo: Conosci I Tuoi Limiti Architettonici\"]]","hide_toc":false,"footnotes":""},"categories":[15036],"tags":[],"class_list":["post-78701","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-it"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ho Insegnato a Mia Nonna a Codificare Vibe (Ecco Cosa \u00c8 Successo) - DreamHost Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ho Insegnato a Mia Nonna a Codificare Vibe (Ecco Cosa \u00c8 Successo)\" \/>\n<meta property=\"og:description\" content=\"La mia nonna ha gestito fogli di calcolo per l&#039;inventario di una compagnia tessile per 40 anni. Calcola sconti composti nella sua mente pi\u00f9 velocemente di quanto molte persone possano fare con i calcolatori, ma non ha alcuna esperienza di programmazione. Quando le ho proposto di costruire insieme un&#039;app per il monitoraggio del giardino usando l&#039;IA, il suo scetticismo \u00e8 stato quasi istantaneo. Due ore dopo, aveva gi\u00e0 un sito web funzionante [\u2026]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-26T19:51:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-12T20:20:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/1460x1095_blog_hero_how_to_vibe_code-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"1095\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Ian Hernandez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ian Hernandez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ho Insegnato a Mia Nonna a Codificare Vibe (Ecco Cosa \u00c8 Successo) - DreamHost Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/","og_locale":"en_US","og_type":"article","og_title":"Ho Insegnato a Mia Nonna a Codificare Vibe (Ecco Cosa \u00c8 Successo)","og_description":"La mia nonna ha gestito fogli di calcolo per l'inventario di una compagnia tessile per 40 anni. Calcola sconti composti nella sua mente pi\u00f9 velocemente di quanto molte persone possano fare con i calcolatori, ma non ha alcuna esperienza di programmazione. Quando le ho proposto di costruire insieme un'app per il monitoraggio del giardino usando l'IA, il suo scetticismo \u00e8 stato quasi istantaneo. Due ore dopo, aveva gi\u00e0 un sito web funzionante [\u2026]","og_url":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2025-11-26T19:51:48+00:00","article_modified_time":"2026-01-12T20:20:09+00:00","og_image":[{"width":1460,"height":1095,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/1460x1095_blog_hero_how_to_vibe_code-1.webp","type":"image\/webp"}],"author":"Ian Hernandez","twitter_card":"summary_large_image","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Ian Hernandez","Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/#article","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/"},"author":{"name":"Ian Hernandez","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/220faf2464d5ae08e41cf5f3b28fdc96"},"headline":"Ho Insegnato a Mia Nonna a Codificare Vibe (Ecco Cosa \u00c8 Successo)","datePublished":"2025-11-26T19:51:48+00:00","dateModified":"2026-01-12T20:20:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/"},"wordCount":4071,"publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/1460x1095_blog_hero_how_to_vibe_code-1.webp","articleSection":["IA"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/","name":"Ho Insegnato a Mia Nonna a Codificare Vibe (Ecco Cosa \u00c8 Successo) - DreamHost Blog","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/#primaryimage"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/1460x1095_blog_hero_how_to_vibe_code-1.webp","datePublished":"2025-11-26T19:51:48+00:00","dateModified":"2026-01-12T20:20:09+00:00","breadcrumb":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/#primaryimage","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/1460x1095_blog_hero_how_to_vibe_code-1.webp","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2025\/11\/1460x1095_blog_hero_how_to_vibe_code-1.webp","width":1460,"height":1095,"caption":"I Taught My Grandma To Vibe Code (What Happened)"},{"@type":"BreadcrumbList","@id":"https:\/\/www-dev.dreamhost.com\/blog\/it\/ho-insegnato-a-mia-nonna-a-codificare-vibe-ecco-cosa-e-successo-it\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"Ho Insegnato a Mia Nonna a Codificare Vibe (Ecco Cosa \u00c8 Successo)"}]},{"@type":"WebSite","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website","url":"https:\/\/www-dev.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www-dev.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www-dev.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/220faf2464d5ae08e41cf5f3b28fdc96","name":"Ian Hernandez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/04\/ian-hernandez-dreamhost-150x150.png","caption":"Ian Hernandez"},"description":"Ian is a Product Designer based in Los Angeles, California. He is responsible for driving brand and product design at DreamHost, developing and maintaining our internal design system, and writing frontend code when he can. In his free time, he enjoys walking his dog, learning history, and discovering new music online and irl. Connect with him on LinkedIn: https:\/\/www.linkedin.com\/in\/ianhernandez23\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/author\/ianh\/"}]}},"lang":"it","translations":{"it":78701,"es":77777,"en":77844,"de":78687,"pt":78730,"fr":78738,"pl":78752,"nl":78760,"uk":78899,"ru":78968},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/78701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1058"}],"replies":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/comments?post=78701"}],"version-history":[{"count":3,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/78701\/revisions"}],"predecessor-version":[{"id":78917,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/78701\/revisions\/78917"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/77870"}],"wp:attachment":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=78701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=78701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=78701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}