[{"data":1,"prerenderedAt":402},["ShallowReactive",2],{"tag-sviluppo":3},[4,200,356],{"id":5,"title":6,"body":7,"categories":180,"coverImage":182,"date":183,"description":184,"extension":185,"lang":186,"legacy":187,"meta":188,"navigation":189,"path":190,"seo":191,"stem":192,"sticky":187,"tags":193,"translation":198,"updated":198,"__hash__":199},"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":9,"toc":167},"minimark",[10,14,19,22,27,30,34,37,41,44,48,51,55,63,73,78,81,84,88,96,115,118,122,128,135,139,146,149,152,156],[11,12,13],"p",{},"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.",[15,16,18],"h2",{"id":17},"woocommerce-vs-magento-perché-scegliere-woocommerce","WooCommerce vs Magento: perché scegliere WooCommerce?",[11,20,21],{},"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:",[23,24,26],"h4",{"id":25},"facilità-duso","Facilità d'uso",[11,28,29],{},"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.",[23,31,33],{"id":32},"flessibilità-e-personalizzazione","Flessibilità e personalizzazione",[11,35,36],{},"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.",[23,38,40],{"id":39},"costi","Costi",[11,42,43],{},"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.",[23,45,47],{"id":46},"supporto-della-comunità","Supporto della comunità",[11,49,50],{},"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.",[15,52,54],{"id":53},"migrazione","Migrazione",[11,56,57,58,62],{},"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 è ",[59,60,61],"strong",{},"perfetta per le piccole imprese",".",[11,64,65,66,72],{},"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 ",[59,67,68],{},[69,70,71],"em",{},"replatforming"," per proseguire le vendite su WooCommerce.",[74,75,77],"h3",{"id":76},"i-vantaggi-di-una-transizione-fluida","I Vantaggi di una transizione fluida",[11,79,80],{},"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,82,83],{},"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.",[74,85,87],{"id":86},"magento-2-e-wordpress-autenticazione-a-confronto","Magento 2 e WordPress: autenticazione a confronto",[11,89,90,91,95],{},"WordPress utilizza una tecnologia chiamata ",[92,93,94],"code",{},"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,97,98,99,102,103,108,109,114],{},"Magento 2, d'altra parte, utilizza un algoritmo di hashing delle password più complesso. Da un lato infatti utilizza ",[92,100,101],{},"sodium"," (incluso in PHP dalla versione 7.2), dall'altro utilizza una tecnica chiamata ",[59,104,105],{},[69,106,107],{},"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 ",[59,110,111],{},[69,112,113],{},"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,116,117],{},"Questa sostanziale differenza nel processo di hashing delle password le rende incompatibili quando importate direttamente da Magento a WordPress e viceversa.",[74,119,121],{"id":120},"approcci-comuni","Approcci comuni",[11,123,124,125,62],{},"La soluzione più comune è quella di forzare il reset delle password degli utenti. Questo può essere un processo fastidioso per gli utenti e ",[59,126,127],{},"può portare a una perdita di traffico e di fiducia",[11,129,130,131,134],{},"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 ",[59,132,133],{},"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à.",[15,136,138],{"id":137},"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,140,141,142,145],{},"Dopo aver letto miriadi di articoli fuorvianti, ho deciso di sporcarmi le mani e di analizzare la classe ",[92,143,144],{},"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,147,148],{},"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,150,151],{},"Gli utenti possono dunque effettuare il login su WordPress con le loro password Magento 2 esistenti, rendendo la transizione trasparente.",[15,153,155],{"id":154},"open-source","Open Source",[11,157,158,159,166],{},"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 ",[160,161,165],"a",{"href":162,"rel":163},"https://github.com/enricodeleo/wp-password-migration-magento/",[164],"nofollow","GitHub"," per eventuali contribuzioni da parte di altri dev.",{"title":168,"searchDepth":169,"depth":169,"links":170},"",2,[171,172,178,179],{"id":17,"depth":169,"text":18},{"id":53,"depth":169,"text":54,"children":173},[174,176,177],{"id":76,"depth":175,"text":77},3,{"id":86,"depth":175,"text":87},{"id":120,"depth":175,"text":121},{"id":137,"depth":169,"text":138},{"id":154,"depth":169,"text":155},[181],"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.","md","it",false,{},true,"/migrare-da-magento-2-a-woocommerce-la-sfida-delle-password",{"title":6,"description":184},"migrare-da-magento-2-a-woocommerce-la-sfida-delle-password",[194,195,196,197],"sviluppo","magento","wordpress","plugin",null,"aP_S8x6lK8ccb_kMckBZFI1u7HhNqT1OVB-bXwZIp7Q",{"id":201,"title":202,"body":203,"categories":338,"coverImage":339,"date":340,"description":341,"extension":185,"lang":186,"legacy":187,"meta":342,"navigation":189,"path":343,"seo":344,"stem":345,"sticky":187,"tags":346,"translation":198,"updated":198,"__hash__":355},"articles/le-scelte-devops-che-influenzeranno-il-tuo-prossimo-progetto.md","Le scelte DevOps che influenzeranno il tuo prossimo progetto",{"type":8,"value":204,"toc":328},[205,212,216,219,222,226,229,233,236,240,243,247,250,257,273,280,291,295,298,305,309,312,315,318,322,325],[11,206,207,208,211],{},"Negli ultimi anni, il ",[59,209,210],{},"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.",[15,213,215],{"id":214},"automazione-su-larga-scala","Automazione su larga scala",[11,217,218],{},"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,220,221],{},"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.",[15,223,225],{"id":224},"cloud-native-e-kubernetes","Cloud-native e Kubernetes",[11,227,228],{},"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.",[15,230,232],{"id":231},"devsecops","DevSecOps",[11,234,235],{},"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.",[15,237,239],{"id":238},"intelligenza-artificiale-e-machine-learning-nel-devops","Intelligenza Artificiale e Machine Learning nel DevOps",[11,241,242],{},"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.",[15,244,246],{"id":245},"microservizi-e-serverless","Microservizi e Serverless",[11,248,249],{},"Sia i microservizi che l'architettura serverless rappresentano due approcci importanti per lo sviluppo e il deployment di applicazioni.",[11,251,252,253,256],{},"I ",[59,254,255],{},"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:",[258,259,260,264,267,270],"ul",{},[261,262,263],"li",{},"Scalabilità: Poiché ogni servizio può essere scalato in modo indipendente, le risorse possono essere allocate in modo più efficiente.",[261,265,266],{},"Flessibilità di sviluppo: Diversi team possono lavorare su diversi servizi in parallelo.",[261,268,269],{},"Isolamento: Se un servizio fallisce, non influisce sugli altri servizi.",[261,271,272],{},"Velocità di implementazione: I servizi più piccoli possono essere sviluppati e implementati più rapidamente.",[11,274,275,276,279],{},"Il computing ",[59,277,278],{},"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:",[258,281,282,285,288],{},[261,283,284],{},"Nessuna gestione dei server: gli sviluppatori possono concentrarsi sulla scrittura del codice invece che sulla gestione dell'infrastruttura.",[261,286,287],{},"Scalabilità automatica: l'infrastruttura può scalare automaticamente in base al carico di lavoro.",[261,289,290],{},"Costi basati sull'utilizzo: si paga solo per il tempo durante il quale il codice è in esecuzione.",[15,292,294],{"id":293},"observability","Observability",[11,296,297],{},"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,299,300],{},[301,302],"img",{"alt":303,"src":304},"Coding","https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/pexels-mikhail-fesenko-9553905.jpg",[15,306,308],{"id":307},"infrastruttura-come-codice-iac-e-lascesa-del-gitops","Infrastruttura come Codice (IaC) e l'ascesa del GitOps",[11,310,311],{},"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,313,314],{},"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,316,317],{},"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.",[15,319,321],{"id":320},"levoluzione-verso-il-noops","L'evoluzione verso il NoOps",[11,323,324],{},"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,326,327],{},"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":168,"searchDepth":169,"depth":169,"links":329},[330,331,332,333,334,335,336,337],{"id":214,"depth":169,"text":215},{"id":224,"depth":169,"text":225},{"id":231,"depth":169,"text":232},{"id":238,"depth":169,"text":239},{"id":245,"depth":169,"text":246},{"id":293,"depth":169,"text":294},{"id":307,"depth":169,"text":308},{"id":320,"depth":169,"text":321},[181],"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":202,"description":341},"le-scelte-devops-che-influenzeranno-il-tuo-prossimo-progetto",[347,194,348,349,350,351,352,353,278,354,232],"devops","architettura","tendenze","docker","kubernates","container","iass","git","aalL-8VvjMOgpJEOVc3rjCOU4bo4xRaDAHEv-kGUBqU",{"id":357,"title":358,"body":359,"categories":385,"coverImage":387,"date":388,"description":389,"extension":185,"lang":186,"legacy":189,"meta":390,"navigation":189,"path":391,"seo":392,"stem":393,"sticky":187,"tags":394,"translation":198,"updated":198,"__hash__":401},"articles/vincitori-allo-startup-weekend-catania.md","Vincitori allo Startup Weekend Catania",{"type":8,"value":360,"toc":383},[361,376],[11,362,363,364,367,368,371,372,375],{},"L'esperienza di ",[59,365,366],{},"Verticalismi"," continua a dare grandi soddisfazioni. Ieri 26 Maggio siamo usciti tra i vincitori dello ",[59,369,370],{},"Startup Weekend di Catania",". Cosa vuol dire? Beh, al momento ancora poco ma di certo ho in parte sperimentato quello che credo sia ",[59,373,374],{},"orgoglio paterno"," :) oltre ad una nuova spinta nella direzione dell'innovazione e  nella voglia di fare ed imparare.",[11,377,378,379,382],{},"Grandissima esperienza anche sul piano umano  professionale. Tra alti e bassi è stata una tre giorni davvero ",[59,380,381],{},"molto"," intensiva che è riuscita a non pesare. Tutta bella gente dai partecipanti agli ospiti ai coaches ed organizzatori che mi hanno fatto sentire una volta tanto in un ambiente vivo e dinamico, connesso con il mondo, anche qui nel mio amatissimo meridione d'Italia. Dalle pendici dell'Etna possiamo fare il futuro, non dimentichiamocelo!",{"title":168,"searchDepth":169,"depth":169,"links":384},[],[386],"flusso","https://i2.wp.com/enricodeleo.s3.eu-south-1.amazonaws.com/images/cover.jpg","2013-05-27T16:43:22.000Z","L'esperienza di Verticalismi continua a dare grandi soddisfazioni.",{},"/vincitori-allo-startup-weekend-catania",{"title":358,"description":389},"vincitori-allo-startup-weekend-catania",[395,396,397,398,399,194,400],"giovani","idee","impresa","innovazione","startup","verticalismi","eTNR3osa0e8qODXehDE1FAXdsvvxsPliAdvH_R0-pM8",1784577235844]