[{"data":1,"prerenderedAt":971},["ShallowReactive",2],{"page-3":3},[4,343,452,547,725,878],{"id":5,"title":6,"body":7,"categories":325,"coverImage":327,"date":328,"description":329,"extension":330,"meta":331,"navigation":332,"path":333,"seo":334,"stem":335,"sticky":336,"tags":337,"__hash__":342},"articles/cambusa.md","Scopri Cambusa: il nuovo web framework Bun developer-friendly e performante",{"type":8,"value":9,"toc":308},"minimark",[10,19,24,32,35,42,45,52,59,64,91,98,105,109,147,151,167,171,202,215,221,224,250,256,259,285,289,292,296,299,304],[11,12,13,14,18],"p",{},"Nel panorama in continua evoluzione dello sviluppo web, avere gli strumenti giusti è fondamentale per costruire applicazioni robuste, scalabili e manutenibili. Oggi siamo entusiasti di presentare ",[15,16,17],"strong",{},"Cambusa",", un nuovo framework open source basato su Bun che promette di semplificare il processo di sviluppo, offrendo una struttura modulare e potente per creare applicazioni moderne.",[20,21,23],"h2",{"id":22},"perché-cambusa","Perché Cambusa?",[25,26,28,29],"h3",{"id":27},"_1-facilità-di-utilizzo","1. ",[15,30,31],{},"Facilità di Utilizzo",[11,33,34],{},"Cambusa è progettato per essere intuitivo e accessibile sia ai principianti che agli sviluppatori esperti. Con una curva di apprendimento rapida, puoi iniziare a costruire applicazioni complesse in pochissimo tempo.",[25,36,38,39],{"id":37},"_2-struttura-modulabile","2. ",[15,40,41],{},"Struttura Modulabile",[11,43,44],{},"Grazie alla sua architettura modulare, Cambusa ti permette di organizzare il codice in modo chiaro e gestibile. Separando logica di business, routing, e gestione del database, mantenere e scalare il tuo progetto diventa un gioco da ragazzi.",[25,46,48,49],{"id":47},"_3-gestione-avanzata-del-database","3. ",[15,50,51],{},"Gestione Avanzata del Database",[11,53,54,55,58],{},"Cambusa integra ",[15,56,57],{},"TypeORM",", uno dei più potenti Object-Relational Mapping (ORM) per Bun, offrendo supporto per diversi database come PostgreSQL, MySQL, MariaDB, SQLite, MongoDB, Oracle e MS SQL. Questo ti permette di interagire con il database in modo semplice e sicuro.",[60,61,63],"h4",{"id":62},"funzionalità-principali","Funzionalità Principali:",[65,66,67,74,80],"ul",{},[68,69,70,73],"li",{},[15,71,72],{},"Migrations Automatizzate:"," Gestisci le modifiche al tuo schema di database con facilità.",[68,75,76,79],{},[15,77,78],{},"Definizione dei Modelli:"," Definisci i tuoi modelli utilizzando un formato intuitivo basato su TypeORM.",[68,81,82,90],{},[15,83,84,85,89],{},"Sincronizzazione del Database (",[86,87,88],"code",{},"db:sync","):"," Sincronizza automaticamente i tuoi modelli con il database durante lo sviluppo.",[25,92,94,95],{"id":93},"_4-cli-potente","4. ",[15,96,97],{},"CLI Potente",[11,99,100,101,104],{},"Cambusa include una ",[15,102,103],{},"Command-Line Interface (CLI)"," versatile che semplifica molte operazioni comuni, come la generazione di controller, modelli, e la gestione delle migrazioni. Con comandi intuitivi, puoi velocizzare il tuo flusso di lavoro e concentrarti sulla scrittura del codice.",[60,106,108],{"id":107},"esempi-di-utilizzo-della-cli","Esempi di Utilizzo della CLI:",[65,110,111],{},[68,112,113,116],{},[15,114,115],{},"Generare un Nuovo Controller:",[117,118,123],"pre",{"className":119,"code":120,"language":121,"meta":122,"style":122},"language-bash shiki shiki-themes github-light github-dark","bun run bin/cambusa.js controllers:generate users/create\n","bash","",[86,124,125],{"__ignoreMap":122},[126,127,130,134,138,141,144],"span",{"class":128,"line":129},"line",1,[126,131,133],{"class":132},"sScJk","bun",[126,135,137],{"class":136},"sZZnC"," run",[126,139,140],{"class":136}," bin/cambusa.js",[126,142,143],{"class":136}," controllers:generate",[126,145,146],{"class":136}," users/create\n",[60,148,150],{"id":149},"avviare-il-server","Avviare il Server:",[117,152,154],{"className":119,"code":153,"language":121,"meta":122,"style":122},"bun run bin/cambusa.js lift\n",[86,155,156],{"__ignoreMap":122},[126,157,158,160,162,164],{"class":128,"line":129},[126,159,133],{"class":132},[126,161,137],{"class":136},[126,163,140],{"class":136},[126,165,166],{"class":136}," lift\n",[60,168,170],{"id":169},"gestire-le-migrazioni","Gestire le Migrazioni:",[117,172,174],{"className":119,"code":173,"language":121,"meta":122,"style":122},"bun run bin/cambusa.js migrations:generate AddUserTable\nbun run bin/cambusa.js migrations:run\n",[86,175,176,190],{"__ignoreMap":122},[126,177,178,180,182,184,187],{"class":128,"line":129},[126,179,133],{"class":132},[126,181,137],{"class":136},[126,183,140],{"class":136},[126,185,186],{"class":136}," migrations:generate",[126,188,189],{"class":136}," AddUserTable\n",[126,191,193,195,197,199],{"class":128,"line":192},2,[126,194,133],{"class":132},[126,196,137],{"class":136},[126,198,140],{"class":136},[126,200,201],{"class":136}," migrations:run\n",[11,203,204,206,207,210,211,214],{},[15,205,17],{}," è costruito su ",[15,208,209],{},"Bun"," ed ",[15,212,213],{},"ElysiaJS",", due tecnologie all'avanguardia che insieme offrono prestazioni eccezionali e una produttività senza pari nello sviluppo di applicazioni web.",[25,216,218],{"id":217},"bun-il-nuovo-motore-javascript-ad-alte-prestazioni",[15,219,220],{},"Bun: Il Nuovo Motore JavaScript ad Alte Prestazioni",[11,222,223],{},"Bun è un runtime JavaScript moderno che si distingue per la sua velocità e efficienza. Sviluppato per essere compatibile con l'ecosistema Node.js, Bun offre numerosi vantaggi:",[65,225,226,232,238,244],{},[68,227,228,231],{},[15,229,230],{},"Velocità Superiore:"," Bun è ottimizzato per eseguire il codice JavaScript più rapidamente rispetto a Node.js, riducendo significativamente i tempi di esecuzione e migliorando le prestazioni complessive delle applicazioni.",[68,233,234,237],{},[15,235,236],{},"Bundling Integrato:"," Con Bun, non è necessario utilizzare strumenti di bundling esterni come Webpack o Rollup. Bun integra un bundler ad alte prestazioni, semplificando il processo di compilazione e riducendo la complessità del progetto.",[68,239,240,243],{},[15,241,242],{},"Gestione dei Pacchetti Efficiente:"," Bun utilizza il proprio gestore di pacchetti, che è più veloce e leggero rispetto a npm o Yarn, permettendo di installare le dipendenze in pochi secondi.",[68,245,246,249],{},[15,247,248],{},"Supporto Migliorato per TypeScript:"," Bun offre un supporto nativo e ottimizzato per TypeScript, facilitando lo sviluppo di applicazioni tipizzate e riducendo gli errori a runtime.",[25,251,253],{"id":252},"elysiajs-un-framework-web-rapido-e-minimalista",[15,254,255],{},"ElysiaJS: Un Framework Web Rapido e Minimalista",[11,257,258],{},"ElysiaJS è un framework web leggero e altamente performante progettato per sfruttare al massimo le potenzialità di Bun. I suoi principali vantaggi includono:",[65,260,261,267,273,279],{},[68,262,263,266],{},[15,264,265],{},"Semplicità e Minimalismo:"," ElysiaJS si concentra sulla fornitura di un'API semplice e intuitiva, permettendo agli sviluppatori di creare applicazioni web rapidamente senza dover gestire configurazioni complesse.",[68,268,269,272],{},[15,270,271],{},"Alte Prestazioni:"," Ottimizzato per funzionare perfettamente con Bun, ElysiaJS garantisce tempi di risposta rapidi e una gestione efficiente delle richieste, ideale per applicazioni ad alta intensità di traffico.",[68,274,275,278],{},[15,276,277],{},"Flessibilità:"," ElysiaJS è modulare e facilmente estensibile, consentendo di aggiungere solo le funzionalità necessarie e mantenere il progetto leggero e manutenibile.",[68,280,281,284],{},[15,282,283],{},"Supporto per le Migrazioni:"," Integrandosi perfettamente con Bun, ElysiaJS facilita la gestione delle migrazioni del database, assicurando che le modifiche allo schema siano applicate in modo sicuro e coerente.",[25,286,288],{"id":287},"community-e-contributi-aperto","Community e Contributi Aperto",[11,290,291],{},"Essendo un progetto open source, Cambusa è aperto a contributi da parte della community.",[25,293,295],{"id":294},"conclusione","Conclusione",[11,297,298],{},"Cambusa è qui per rivoluzionare il modo in cui sviluppi applicazioni web con Bun. Con la sua struttura modulare, potente gestione del database e una CLI intuitiva, offre tutto ciò di cui hai bisogno per costruire applicazioni moderne e scalabili. Non vediamo l'ora di vedere cosa realizzerai con Cambusa!",[11,300,301],{},[15,302,303],{},"Inizia oggi stesso e contribuisci a rendere Cambusa ancora più straordinario!",[305,306,307],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":122,"searchDepth":192,"depth":192,"links":309},[310],{"id":22,"depth":192,"text":23,"children":311},[312,315,317,319,321,322,323,324],{"id":27,"depth":313,"text":314},3,"1. Facilità di Utilizzo",{"id":37,"depth":313,"text":316},"2. Struttura Modulabile",{"id":47,"depth":313,"text":318},"3. Gestione Avanzata del Database",{"id":93,"depth":313,"text":320},"4. CLI Potente",{"id":217,"depth":313,"text":220},{"id":252,"depth":313,"text":255},{"id":287,"depth":313,"text":288},{"id":294,"depth":313,"text":295},[326],"dev",null,"2024-09-21T00:02:51.000Z","Un Moderno Framework Bun Open-Source per lo Sviluppo Web Efficiente","md",{},true,"/cambusa",{"title":6,"description":329},"cambusa",false,[338,133,339,340,341],"backend","nodejs","api","framework","_3oHDANcdozwUQlSS3bQU5v6I7twlrO_-U2L-umMYtg",{"id":344,"title":345,"body":346,"categories":435,"coverImage":437,"date":438,"description":439,"extension":330,"meta":440,"navigation":332,"path":441,"seo":442,"stem":443,"sticky":336,"tags":444,"__hash__":451},"articles/apple-tv-video-game-emulatore-retro.md","La tua Apple TV potrebbe essere diventata uno dei migliori dispositivi per il retro gaming dall'oggi al domani",{"type":8,"value":347,"toc":428},[348,359,362,365,369,372,390,394,397,411,415,418,422,425],[11,349,350,351,354,355,358],{},"Che bella notizia per chi come me è amante dei giochi vintage/retro! Apple ha aggiornato le sue linee guida sull'App Store, permettendo l'inclusione di emulatori di giochi.\nTra questi, ",[15,352,353],{},"RetroArch"," è uno dei più interessanti, ora disponibile su iPhone, iPad e ",[15,356,357],{},"Apple TV",". Questo significa che possiamo finalemente trasformare i nostri dispositivi\nApple in macchine per il retro gaming senza ricorrere a complicati espedienti come la compilazione e/o la firma su applicazioni non ufficiali (cosa che per quanto non complessa\nrichiedeva una costante manutenzione e l'incorrere di errori!).",[20,360,353],{"id":361},"retroarch",[11,363,364],{},"RetroArch è un'app gratuita e open-source che funge da frontend per diversi emulatori e motori di gioco. Supporta oltre 70 sistemi di gioco, inclusi classici come NES, SNES, Sega Genesis, PlayStation 1, e molti altri. Con RetroArch, puoi giocare a una vasta gamma di giochi del passato, tutti in un'unica app",[20,366,368],{"id":367},"come-funziona-su-apple-tv","Come Funziona su Apple TV",[11,370,371],{},"Utilizzare RetroArch su Apple TV richiede qualche passaggio tecnico, ma niente di troppo complicato. Ecco come fare:",[373,374,375,378,381,384,387],"ol",{},[68,376,377],{},"Scarica RetroArch dall'App Store su Apple TV.",[68,379,380],{},"Apri RetroArch e annota l'indirizzo IP visualizzato.",[68,382,383],{},"Usa un client FTP sul tuo computer (come Filezilla) e collega l'IP per trasferire le ROM (i file dei giochi) sulla Apple TV.",[68,385,386],{},"Carica le ROM nella cartella \"downloads\" di RetroArch.",[68,388,389],{},"Seleziona \"Load Content\" nell'app RetroArch e scegli il gioco che vuoi avviare​.",[20,391,393],{"id":392},"funzionalità-di-retroarch","Funzionalità di RetroArch",[11,395,396],{},"RetroArch offre una serie di funzionalità avanzate che migliorano l'esperienza di gioco:",[65,398,399,402,405,408],{},[68,400,401],{},"Supporto per Netplay, che ti permette di giocare in multiplayer online.",[68,403,404],{},"Supporto per cheat, per quei momenti in cui vuoi un piccolo aiuto.",[68,406,407],{},"Shaders e overlay personalizzabili, che ti consentono di modificare l'aspetto grafico dei giochi.",[68,409,410],{},"Gestione avanzata della latenza, per un'esperienza di gioco più fluida​.",[20,412,414],{"id":413},"uninterfaccia-complessa-ma-potente","Un'Interfaccia Complessa ma Potente",[11,416,417],{},"L'interfaccia di RetroArch può sembrare complessa per i nuovi utenti, e la mancanza di una guida iniziale potrebbe risultare frustrante.\nTuttavia, una volta superata la curva di apprendimento, RetroArch si rivela un potente strumento per il retro gaming.\nPuoi utilizzare anche i controller Bluetooth per migliorare l'esperienza di gioco.",[20,419,421],{"id":420},"il-futuro-del-retro-gaming-su-apple","Il Futuro del Retro Gaming su Apple",[11,423,424],{},"L'apertura dell'App Store agli emulatori è un grande passo avanti per il retro gaming su dispositivi Apple. RetroArch è solo l'inizio: ci aspettiamo l'arrivo di\nmolti altri emulatori che permetteranno agli utenti di rivivere i giochi del passato sui loro dispositivi moderni.",[11,426,427],{},"Se sei un fan del retro gaming come il sottoscritto: questo è il momento di sfruttare davvero Apple TV per qualcosa di più che fare binge watching!",{"title":122,"searchDepth":192,"depth":192,"links":429},[430,431,432,433,434],{"id":361,"depth":192,"text":353},{"id":367,"depth":192,"text":368},{"id":392,"depth":192,"text":393},{"id":413,"depth":192,"text":414},{"id":420,"depth":192,"text":421},[436],"flusso","https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/Default_A_vibrant_Apple_TV_amidst_a_retro_gaming_scene_surroun_0.jpg","2024-07-06T16:06:29.000Z","Apple TV diventa una potente console di retro gaming con RetroArch e il suo supporto a ben 78 emulatori.",{},"/apple-tv-video-game-emulatore-retro",{"title":345,"description":439},"apple-tv-video-game-emulatore-retro",[445,446,447,448,449,450],"videogame","apple","tv","emulatori","retro","vintage","TnFTWtDdwim4ZfBNBMhCWn7_wtSgsckcr7724pnRers",{"id":453,"title":454,"body":455,"categories":533,"coverImage":534,"date":535,"description":536,"extension":330,"meta":537,"navigation":332,"path":538,"seo":539,"stem":540,"sticky":336,"tags":541,"__hash__":546},"articles/questo-mondo-non-ci-rendera-cattivi.md","Questo mondo non ci renderà cattivi",{"type":8,"value":456,"toc":529},[457,473,477,480,487,494,507,511,518,521],[11,458,459,460,464,465,468,469,472],{},"\"",[461,462,463],"em",{},"Questo mondo non mi renderà cattivo","\" è la nuova serie animata creata da Zerocalcare che ha catturato il mio cuore più di quanto già non mi aspettassi.\nSegue il grande successo di \"",[461,466,467],{},"Strappare lungo i bordi","\", ",[15,470,471],{},"con la quale non ha continuità narrativa"," e ci riporta nel mondo unico e affascinante di Zerocalcare, con i suoi personaggi\niconici come Zero, Sarah, Secco e l'Armadillo. Questa volta si aggiunge un nuovo personaggio, Cesare, il cui ritorno in città dopo anni di assenza dà il via ad una trama ricca di riflessioni.",[20,474,476],{"id":475},"la-serie","La serie",[11,478,479],{},"La serie, prodotta da Movimenti Production in collaborazione con BAO Publishing, esplora le grandi tematiche introspettive che hanno reso Zerocalcare uno dei nomi più popolari\ndella cultura italiana contemporanea: le contraddizioni della vita, la ricerca di se stessi e le difficoltà che si incontrano in questo percorso. Le sei puntate raccontano del\nritorno in città di un vecchio amico di Zerocalcare, che dopo anni di lontananza fatica a riconoscere il posto in cui è cresciuto.",[11,481,482,483,486],{},"Dal punto di vista estetico, come già successo per la serie precedente, ho trovato \"Questo mondo non mi renderà cattivo\" particolarmente familiare per le ambientazioni romane.\nAbitando anch'io nella capitale da qualche anno ed in un quartiere piuttosto popolare apprezzo la capacità di Zero di dipingere la sua (beh, ormai nostra) città in un ",[15,484,485],{},"perfetto bilanciamento\ntra fascino, brutture e contraddizioni anche dal punto di vista visivo",". Facendo un paragone con la scorsa serie, azzarderei che in questa ultima produzione il tratto è più \"elegante\".",[11,488,489,490,493],{},"Gli episodi di circa 30 minuti ciascuno (più lunghi di \"Strappare lungo i bordi\"), volano via in un soffio. Come sempre l'alternarsi di flashback e inserti divertenti anche talvolta nel\nbel mezzo di momenti emotivamente impegnativi mantiene alta l'attenzione, fornisce il contesto giusto senza ricorrere a spiegoni e sdrammatizza quanto basta per rendere questo mix agrodolce\ngodibile da vedere tutto d'un fiato. ",[15,491,492],{},"Zerocalcare è un ninja delle emozioni",": arriva all'improvviso colpisce forte e con una precisione chirurgica e sparisce nella nuvola di fumo di\nuna gag in un continuo rollercoaster di sensazioni.\nIo ho visto dalla prima all'ultima puntata tutto d'un fiato, e sono certo sarà così per la gran parte degli spettatori.",[11,495,496],{},[497,498,502],"a",{"href":499,"rel":500},"https://youtu.be/EIY7UF8B4II",[501],"nofollow",[503,504],"img",{"alt":505,"src":506},"Guarda il trailer","https://img.youtube.com/vi/EIY7UF8B4II/maxresdefault.jpg",[20,508,510],{"id":509},"la-voce-di-una-generazione","La voce di una generazione",[11,512,513,514,517],{},"Si è detto tante volte, e questa non è una eccezione. Zerocalcare coglie perfettamente il vissuto, i drammi, la psicologia dei millennial e non soltanto per i riferimenti culturali\n(sebbene questa volta credo siano in numero inferiore rispetto al solito) e per l'accurata scelta dei brani musicali che è quasi totalmente sovrapponibile ad una mia playlist su Spotify.\nSarà per questo che questo autore riceve una quantità di affetto fuori dal comune: basta contare le persone ad un qualsiasi evento al quale partecipa.\nIo in particolare, come lui aggrappato al mio lavoro come fosse l'unico scoglio in un oceano infinito, mi immedesimo terribilmente nello ",[461,515,516],{},"struggle"," che Zerocalcare rappresenta magistralmente\ncon le sue metafore sempre azzeccate circa l'avere parasossalmente successo e senso di inadeguatezza allo stesso tempo.",[11,519,520],{},"Questa connessione la sento ancora più mia se penso che ormai da oltre 10 anni ho modo di collaborare in diverse forme con BAO Publishing (la casa editrice che già dal primo libro ha creduto\nin Zerocalcare e che ha seguito anche il progetto delle serie Netflix con una capacità fuori dal comune di comprendere e valorizzare il diverso media).\nNel mio piccolo(issimo) sono testimone oculare di un mix incredibile di umiltà, passione, grandissima qualità e sincerità sia dell'autore che dell'ecosistema Zerocalcare che credo siano unici e irripetibili\n(a proposito, devo correre a complimentarmi!)",[11,522,523],{},[15,524,525,526,528],{},"Fatevi un regalo, segnate subito \"",[461,527,463],{},"\" per la vostra prossima serata Netflix.",{"title":122,"searchDepth":192,"depth":192,"links":530},[531,532],{"id":475,"depth":192,"text":476},{"id":509,"depth":192,"text":510},[436],"https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/questo-mondo-non-mi-rendera-cattivo.jpeg","2023-06-10T10:06:29.000Z","La serie animata (di Zerocalcare) che ho atteso di più quest'anno è su Netflix",{},"/questo-mondo-non-ci-rendera-cattivi",{"title":454,"description":536},"questo-mondo-non-ci-rendera-cattivi",[542,543,544,545],"netflix","serie","cartoni","fumetti","YJtRXuGlRTJCqLx_ZQxylZvwbbCB38vpDXRTJoAjVHY",{"id":548,"title":549,"body":550,"categories":710,"coverImage":712,"date":713,"description":714,"extension":330,"meta":715,"navigation":332,"path":716,"seo":717,"stem":718,"sticky":336,"tags":719,"__hash__":724},"articles/migrare-da-magento-2-a-woocommerce-la-sfida-delle-password.md","Migrare da Magento 2 a WooCommerce: La Sfida delle Password",{"type":8,"value":551,"toc":700},[552,555,559,562,566,569,573,576,580,583,587,590,594,601,610,614,617,620,624,631,650,653,657,663,670,674,681,684,687,691],[11,553,554],{},"Mi sono imbattuto in una sfida interessante: creare un plugin per WordPress che permettesse una migrazione senza soluzione di continuità degli utenti da Magento 2 a WooCommerce. Sembra semplice, vero? Lo pensavo anche io, prima di rendermi conto che mi trovavo di fronte a un terreno inesplorato, senza una libreria, un plugin o una guida a cui fare riferimento. Lasciatemi spiegare.",[20,556,558],{"id":557},"woocommerce-vs-magento-perché-scegliere-woocommerce","WooCommerce vs Magento: perché scegliere WooCommerce?",[11,560,561],{},"Quando si tratta di scegliere una piattaforma di e-commerce, WooCommerce e Magento sono due dei nomi più popolari che vengono in mente. Entrambi offrono un'ampia gamma di funzionalità che possono aiutare a costruire un negozio online robusto. Tuttavia, ci sono diverse ragioni per cui potresti voler scegliere WooCommerce su Magento. Ecco alcuni dei vantaggi principali:",[60,563,565],{"id":564},"facilità-duso","Facilità d'uso",[11,567,568],{},"WooCommerce è noto per la sua facilità d'uso. È un plugin di WordPress, il che significa che si integra perfettamente con qualsiasi sito WordPress esistente. Se hai già familiarità con WordPress, allora imparare a usare WooCommerce sarà un gioco da ragazzi. Magento, d'altra parte, ha una curva di apprendimento più ripida e può essere più complicato da configurare e gestire.",[60,570,572],{"id":571},"flessibilità-e-personalizzazione","Flessibilità e personalizzazione",[11,574,575],{},"WooCommerce offre una grande flessibilità quando si tratta di personalizzare il tuo negozio. Ci sono migliaia di temi e plugin disponibili che ti permettono di aggiungere nuove funzionalità e cambiare l'aspetto del tuo negozio con facilità. Magento offre anche molte opzioni di personalizzazione, ma può richiedere più competenze tecniche per apportare modifiche significative.",[60,577,579],{"id":578},"costi","Costi",[11,581,582],{},"WooCommerce è un plugin gratuito, il che lo rende una scelta eccellente per le piccole imprese o per chi è alle prime armi con l'e-commerce. Anche se ci sono costi associati all'hosting del tuo sito e all'acquisto di temi o plugin premium, questi costi sono generalmente più bassi rispetto a quelli di Magento. Magento offre una versione gratuita (Magento Open Source), ma per accedere a tutte le funzionalità e al supporto dovrai optare per estensioni premium o a Magento Commerce, ad un costo significativo.",[60,584,586],{"id":585},"supporto-della-comunità","Supporto della comunità",[11,588,589],{},"Sia WooCommerce che Magento hanno comunità di sviluppatori attive, ma la comunità di WordPress (e quindi di WooCommerce) è molto più grande. Questo significa che è più facile trovare risorse, tutorial e soluzioni a problemi comuni con WooCommerce.",[20,591,593],{"id":592},"migrazione","Migrazione",[11,595,596,597,600],{},"Mentre Magento può essere una scelta eccellente per le grandi imprese che necessitano di una soluzione di e-commerce robusta, WooCommerce offre una soluzione più accessibile e user-friendly che è ",[15,598,599],{},"perfetta per le piccole imprese",".",[11,602,603,604,609],{},"Per questi motivi, talvolta le imprese di piccole dimensioni che hanno adottato Magento inizialmente, si trovano in difficoltà con costi e rigidità difficilmente sostenibili ed optano per un'attività di ",[15,605,606],{},[461,607,608],{},"replatforming"," per proseguire le vendite su WooCommerce.",[25,611,613],{"id":612},"i-vantaggi-di-una-transizione-fluida","I Vantaggi di una transizione fluida",[11,615,616],{},"Una delle principali preoccupazioni quando si migra da una piattaforma all'altra è la frizione percepita dall'utente finale, che potrebbe incidere negativamente sulle conversioni.",[11,618,619],{},"Se mantenere la struttura generale del sito ecommerce familiare (o addirittura identica) ed il catalogo intatto è ragionevolmente semplice, non lo è quando si tratta di autenticazione.",[25,621,623],{"id":622},"magento-2-e-wordpress-autenticazione-a-confronto","Magento 2 e WordPress: autenticazione a confronto",[11,625,626,627,630],{},"WordPress utilizza una tecnologia chiamata ",[86,628,629],{},"phpass"," per l'hashing delle password. Si tratta di un framework di hashing delle password di dominio pubblico portatile per l'uso in applicazioni PHP.",[11,632,633,634,637,638,643,644,649],{},"Magento 2, d'altra parte, utilizza un algoritmo di hashing delle password più complesso. Da un lato infatti utilizza ",[86,635,636],{},"sodium"," (incluso in PHP dalla versione 7.2), dall'altro utilizza una tecnica chiamata ",[15,639,640],{},[461,641,642],{},"hash stretching"," per aumentare la sicurezza delle password hashate. Questo comporta l'hashing della password più volte (per di più con l'aggiunta di una stringa casuale detta ",[15,645,646],{},[461,647,648],{},"salt"," che ne aumenta ulteriormente la complessità).\nQuesto approccio rende il processo di hashing estremamente intensivo dal punto di vista computazionale, il che può aiutare a rallentare un attaccante che sta cercando di indovinare la password.",[11,651,652],{},"Questa sostanziale differenza nel processo di hashing delle password le rende incompatibili quando importate direttamente da Magento a WordPress e viceversa.",[25,654,656],{"id":655},"approcci-comuni","Approcci comuni",[11,658,659,660,600],{},"La soluzione più comune è quella di forzare il reset delle password degli utenti. Questo può essere un processo fastidioso per gli utenti e ",[15,661,662],{},"può portare a una perdita di traffico e di fiducia",[11,664,665,666,669],{},"Un'altra soluzione diffusa è quella di introdurre un meccanismo che verifichi la correttezza della password attraverso un login via API verso la vecchia piattaforma. Ciò però comporta la ",[15,667,668],{},"necessità di mantenere attiva ed accessibile a tempo indefinito la vecchia piattaforma",". Per di più in caso di down di quest'ultima il meccanismo fallirà.",[20,671,673],{"id":672},"la-mia-soluzione-insegnare-a-wordpress-come-comprendere-le-password-di-magento","La mia soluzione: insegnare a WordPress come comprendere le password di Magento",[11,675,676,677,680],{},"Dopo aver letto miriadi di articoli fuorvianti, ho deciso di sporcarmi le mani e di analizzare la classe ",[86,678,679],{},"Encryptor"," di Magento 2 per comprenderne a pieno l'algoritmo (e sì, avevo dapprima provato a\nchiedere a chatGPT4, con esito fallimentare). Da questo studio è scaturito un plugin WordPress leggerissimo che consente a WordPress di interpretare gli hash generati su Magento.",[11,682,683],{},"Il plugin si aggancia alla funzione di autenticazione di WordPress e verifica che l'hash importato dal database Magento 2 corrisponda alla password inserita, per poi eventualmente procedere\na creare un nuovo hash nativo di WordPress.",[11,685,686],{},"Gli utenti possono dunque effettuare il login su WordPress con le loro password Magento 2 esistenti, rendendo la transizione trasparente.",[20,688,690],{"id":689},"open-source","Open Source",[11,692,693,694,699],{},"In piena filosofia open source, e per contribuire ad ambedue le community ho deciso di rilasciare questo plugin sotto licenza GPL2 sia sul repository dei plugin di WordPresss che\nsu ",[497,695,698],{"href":696,"rel":697},"https://github.com/enricodeleo/wp-password-migration-magento/",[501],"GitHub"," per eventuali contribuzioni da parte di altri dev.",{"title":122,"searchDepth":192,"depth":192,"links":701},[702,703,708,709],{"id":557,"depth":192,"text":558},{"id":592,"depth":192,"text":593,"children":704},[705,706,707],{"id":612,"depth":313,"text":613},{"id":622,"depth":313,"text":623},{"id":655,"depth":313,"text":656},{"id":672,"depth":192,"text":673},{"id":689,"depth":192,"text":690},[711],"Dev","https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/migration.jpeg","2023-06-07T12:27:00.000Z","La vera sfida nel rendere fluida la migrazione tra Magento e WooCommerce (WordPress). Un viaggio nell'algoritmo di hashing delle password di Magento 2 e come ho risolto questo problema.",{},"/migrare-da-magento-2-a-woocommerce-la-sfida-delle-password",{"title":549,"description":714},"migrare-da-magento-2-a-woocommerce-la-sfida-delle-password",[720,721,722,723],"sviluppo","magento","wordpress","plugin","XMglEILjloRo_HKiYFSPtAoSKKAZ5VdYivsFrsy_yFQ",{"id":726,"title":727,"body":728,"categories":860,"coverImage":861,"date":862,"description":863,"extension":330,"meta":864,"navigation":332,"path":865,"seo":866,"stem":867,"sticky":336,"tags":868,"__hash__":877},"articles/le-scelte-devops-che-influenzeranno-il-tuo-prossimo-progetto.md","Le scelte DevOps che influenzeranno il tuo prossimo progetto",{"type":8,"value":729,"toc":850},[730,737,741,744,747,751,754,758,761,765,768,772,775,782,796,803,814,818,821,827,831,834,837,840,844,847],[11,731,732,733,736],{},"Negli ultimi anni, il ",[15,734,735],{},"DevOps"," è diventato uno standard di settore per lo sviluppo software. Questa pratica unisce lo\nsviluppo (Dev) e le operazioni IT (Ops), permettendo alle aziende di sviluppare e distribuire software più velocemente ed\nefficientemente. Oggi vorrei fare un riassunto delle ultime tendenze nel DevOps che possono influenzare le performance del tuo prossimo progetto.",[20,738,740],{"id":739},"automazione-su-larga-scala","Automazione su larga scala",[11,742,743],{},"L'automazione è sempre stata al cuore del DevOps, ma ora stiamo vedendo un'espansione dell'automazione a quasi ogni aspetto\ndel ciclo di vita dello sviluppo del software.",[11,745,746],{},"Questo include l'automazione dei test, del provisioning dell'infrastruttura, della gestione delle configurazioni, del monitoraggio\ne dell'analisi. L'obiettivo è ridurre l'errore umano, migliorare l'efficienza e permettere ai team di concentrarsi su compiti più\nimportanti.",[20,748,750],{"id":749},"cloud-native-e-kubernetes","Cloud-native e Kubernetes",[11,752,753],{},"Le applicazioni cloud-native stanno diventando la norma, grazie alla loro scalabilità, resilienza e flessibilità. Kubernetes,\nuna piattaforma open-source per l'orchestrazione dei container, sta diventando lo standard de facto per la gestione delle applicazioni\ncloud-native. Questa tendenza può aiutare a gestire in modo efficiente i workload complessi e a sfruttare al meglio il cloud.",[20,755,757],{"id":756},"devsecops","DevSecOps",[11,759,760],{},"La sicurezza sta diventando sempre più integrata nel ciclo di vita dello sviluppo delle applicazioni. DevSecOps, l'incorporamento\ndelle pratiche di sicurezza nel processo DevOps, sta diventando una necessità piuttosto che un'opzione. Questo significa che la\nsicurezza non è più solo un pensiero successivo, ma un aspetto centrale di tutto il processo di sviluppo e distribuzione. Security-by-design è il mantra di questi anni.",[20,762,764],{"id":763},"intelligenza-artificiale-e-machine-learning-nel-devops","Intelligenza Artificiale e Machine Learning nel DevOps",[11,766,767],{},"L'intelligenza artificiale e il machine learning stanno iniziando a giocare un ruolo importante nel DevOps. Possono aiutare a\nmigliorare l'efficienza operativa attraverso l'automazione e a fornire approfondimenti utili attraverso l'analisi dei dati.\nInoltre, possono aiutare a prevedere problemi prima che accadano, migliorando la resilienza e la disponibilità del sistema.",[20,769,771],{"id":770},"microservizi-e-serverless","Microservizi e Serverless",[11,773,774],{},"Sia i microservizi che l'architettura serverless rappresentano due approcci importanti per lo sviluppo e il deployment di applicazioni.",[11,776,777,778,781],{},"I ",[15,779,780],{},"microservizi"," sono un modello di architettura del software che suddivide un'applicazione in una serie di servizi più piccoli e gestibili. Questi servizi funzionano in modo indipendente l'uno dall'altro e comunicano attraverso un protocollo comune come ad esempio le richieste http oppure pub/sub su una coda condivisa. Ogni microservizio può essere sviluppato, implementato e scalato in modo indipendente, il che offre una serie di vantaggi:",[65,783,784,787,790,793],{},[68,785,786],{},"Scalabilità: Poiché ogni servizio può essere scalato in modo indipendente, le risorse possono essere allocate in modo più efficiente.",[68,788,789],{},"Flessibilità di sviluppo: Diversi team possono lavorare su diversi servizi in parallelo.",[68,791,792],{},"Isolamento: Se un servizio fallisce, non influisce sugli altri servizi.",[68,794,795],{},"Velocità di implementazione: I servizi più piccoli possono essere sviluppati e implementati più rapidamente.",[11,797,798,799,802],{},"Il computing ",[15,800,801],{},"serverless"," è un modello di esecuzione di codice in cui il provider di cloud gestisce l'infrastruttura del server. Gli sviluppatori scrivono solo il codice dell'applicazione, e il provider del cloud si occupa dell'allocazione delle risorse, della scalabilità e della manutenzione del server. I vantaggi del serverless includono:",[65,804,805,808,811],{},[68,806,807],{},"Nessuna gestione dei server: gli sviluppatori possono concentrarsi sulla scrittura del codice invece che sulla gestione dell'infrastruttura.",[68,809,810],{},"Scalabilità automatica: l'infrastruttura può scalare automaticamente in base al carico di lavoro.",[68,812,813],{},"Costi basati sull'utilizzo: si paga solo per il tempo durante il quale il codice è in esecuzione.",[20,815,817],{"id":816},"observability","Observability",[11,819,820],{},"L'osservabilità, che comprende il monitoring, la tracciabilità e i log, sta diventando sempre più importante. L'osservabilità non\nriguarda solo la raccolta di dati, ma anche la capacità di interpretarli e agire su di essi. Questa tendenza può aiutare a identificare\ne risolvere i problemi più rapidamente, migliorare la performance e ottimizzare l'esperienza dell'utente.",[11,822,823],{},[503,824],{"alt":825,"src":826},"Coding","https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/pexels-mikhail-fesenko-9553905.jpg",[20,828,830],{"id":829},"infrastruttura-come-codice-iac-e-lascesa-del-gitops","Infrastruttura come Codice (IaC) e l'ascesa del GitOps",[11,832,833],{},"L'IaC è una pratica in cui l'infrastruttura di rete viene gestita tramite codice, allo stesso modo in cui il software viene gestito.\nQuesto consente un'automazione, un monitoraggio e una manutenzione più efficaci dell'infrastruttura. Questa tendenza può portare a\nun'implementazione più rapida, una maggiore efficienza e una migliore replicabilità.",[11,835,836],{},"Nella maggior parte dei casi vorrai implementare questo approccio fruendo di Git, il sistema di controllo di versione\npiù diffuso, come singola fonte di verità per la gestione dell'infrastruttura IT.",[11,838,839],{},"Con il GitOps, ogni cambiamento all'infrastruttura o alla configurazione dell'applicazione viene implementato tramite un commit Git.\nQuesto permette di registrare facilmente ogni cambiamento, migliorando la visibilità e la responsabilità. Inoltre, grazie alla sua\nnatura dichiarativa, il GitOps facilita la gestione delle configurazioni complesse e la risoluzione dei problemi.",[20,841,843],{"id":842},"levoluzione-verso-il-noops","L'evoluzione verso il NoOps",[11,845,846],{},"Il NoOps (No Operations) è un concetto che sta guadagnando sempre più popolarità. L'idea è quella di automatizzare e astrarre le\noperazioni IT al punto che non siano più necessarie.",[11,848,849],{},"Con l'ascesa del cloud computing e dei servizi serverless, il NoOps sta diventando sempre più una realtà. Tuttavia, questo non\nsignifica che il ruolo delle operazioni IT stia scomparendo. Piuttosto, sta evolvendo verso ruoli più strategici, come l'architettura\ndel cloud e la gestione della sicurezza.",{"title":122,"searchDepth":192,"depth":192,"links":851},[852,853,854,855,856,857,858,859],{"id":739,"depth":192,"text":740},{"id":749,"depth":192,"text":750},{"id":756,"depth":192,"text":757},{"id":763,"depth":192,"text":764},{"id":770,"depth":192,"text":771},{"id":816,"depth":192,"text":817},{"id":829,"depth":192,"text":830},{"id":842,"depth":192,"text":843},[711],"https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/pexels-realtoughcandycom-11035393.jpg","2023-05-29T00:02:51.000Z","DevOps unisce sviluppo e operazioni, accelerando il rilascio di software, migliorando la qualità e promuovendo la collaborazione interfunzionale.",{},"/le-scelte-devops-che-influenzeranno-il-tuo-prossimo-progetto",{"title":727,"description":863},"le-scelte-devops-che-influenzeranno-il-tuo-prossimo-progetto",[869,720,870,871,872,873,874,875,801,876,757],"devops","architettura","tendenze","docker","kubernates","container","iass","git","o6OpcIUUFIBff3KkCClydithSw_ydcjN6Ur2BZAXuZE",{"id":879,"title":880,"body":881,"categories":959,"coverImage":960,"date":961,"description":962,"extension":330,"meta":963,"navigation":332,"path":964,"seo":965,"stem":966,"sticky":336,"tags":967,"__hash__":970},"articles/big-mouth-netflix-comedy-cartoon.md","Big Mouth: la nuova, quarta, stagione del racconto ironico (per adulti) sulla pubertà",{"type":8,"value":882,"toc":953},[883,887,900,903,908,912,915,918,922,928,931,934,939,950],[20,884,886],{"id":885},"big-mouth-4","Big Mouth 4",[11,888,889,890,893,894,899],{},"Ho appena finito di vedere l'intera nuova stagione di ",[15,891,892],{},"Big Mouth",", serie comedy a cartoni prodotta da ",[497,895,898],{"href":896,"rel":897},"https://www.netflix.com/n/77583035-75d3-4efe-b288-d71c097f0524",[501],"Netflix",".\nCirca 5 ore di visione che ho mangiato praticamente in una sera lo stesso giorno dell'uscita.",[11,901,902],{},"Al di là del mio intelligentissimo modo di spendere le mie serate, volevo cogliere l'occasione per raccomandare praticamente a tutti gli adulti che leggono queste pagine la visione di questa divertentissima serie.",[11,904,905],{},[503,906],{"alt":122,"src":907},"https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/big-mouth.jpg",[25,909,911],{"id":910},"stile-e-contenuto","Stile e contenuto",[11,913,914],{},"Dal punto di vista grafico la serie ricorda un po' lo stile di Seth MacFarlane (Griffin, American Dad, Cliveland Show) dalle marcate sproporzioni (come appunto le grandi bocche) comunque gradevoli da vedere, con una scelta dei colori brillante e piacevole.",[11,916,917],{},"Quanto secondo me interessante, comunque, non è tanto la realizzazione in sé quanto invece il contenuto che ruota intorno al racconto dei temibili cambiamenti che avvengono in adolescenza quando repentinamente si passa dall'essere bambini a ragazzi.",[25,919,921],{"id":920},"come-la-vedo-io","Come la vedo io",[11,923,924,925,600],{},"Ci siamo passati tutti: drammi, confusione, imbarazzo, paura del cambiamento.\nTemi delicati che probabilmente fanno tornare alla mente episodi del proprio vissuto, raccontati ironicamente attraverso ",[15,926,927],{},"un cattivo gusto talemente tremendo da essere divertente",[11,929,930],{},"La serie si esprime attraverso la narrazione delle esperienze dei protagonisti. Tutti ragazzini che frequentano la stessa scuola che inevitabilmente è per gran parte del tempo il luogo di riferimento della storia e che aiuta ad offrire uno scorcio sulla visione che hanno i ragazzini nei confronti degli insegnanti e quindi adulti, oltre che dei propri coetanei.",[11,932,933],{},"Ogni episodio segna un punto nella crescita dei personaggi, che dovranno fare i conti con esperienze che potranno potenzialmente insegnare loro qualcosa o segnarli indelebilmente.",[11,935,936],{},[503,937],{"alt":122,"src":938},"https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/0_iJfjYrpJ6Ks9rlJW.jpg",[11,940,941,942,945,946,949],{},"Sebbene il filo rosso sia il truce, ",[15,943,944],{},"esplicito"," (anche dal punto di vista visivo, non è indicata la visione a persone suscettibili), cambiamento fisico dovuto alla pubertà gli autori sono secondo me in grado di sfruttare il pretesto per toccare i temi della crescita di un individuo anche trasversalmente non facendosi mancare battuete esilaranti e un tocco di esoterismo. In ogni episodio, infatti, non mancano fantasmi e mostri (",[15,947,948],{},"degli ormoni"," in questo caso) per nulla eterei ma che influenzano concretamente la realtà dei ragazzi.",[11,951,952],{},"Da vedere.",{"title":122,"searchDepth":192,"depth":192,"links":954},[955],{"id":885,"depth":192,"text":886,"children":956},[957,958],{"id":910,"depth":313,"text":911},{"id":920,"depth":313,"text":921},[436],"https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/big-mouth-title.jpg","2020-12-04T16:06:29.000Z","La nuova stagione della serie prodotta Netflix conferma cattivissimo gusto e risate",{},"/big-mouth-netflix-comedy-cartoon",{"title":880,"description":962},"big-mouth-netflix-comedy-cartoon",[542,543,544,968,969],"streaming","comedy","kU-095lrsJrqPdJn-4uu-MaoA6GhqEAmrYTKbvOBxkE",1780867863220]