{"id":24817,"date":"2023-12-04T11:00:00","date_gmt":"2023-12-04T10:00:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=24817"},"modified":"2023-12-04T17:46:20","modified_gmt":"2023-12-04T16:46:20","slug":"la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/","title":{"rendered":"La guida definitiva ai concetti fondamentali per i dev di oggi"},"content":{"rendered":"\n<p>In questa esaustiva serie di interviste e importanti contributi, presentata in collaborazione con Mauro Murru, Founder del <a href=\"https:\/\/www.gitbar.it\/\" class=\"ek-link\">podcast GitBar<\/a>, approfondiamo i concetti fondamentali per i dev, sia senior che junior, che quindi tutti dovrebbero conoscere per rimanere aggiornati sull&#8217;attuale industria tecnologica.<\/p>\n\n\n\n<p>Sviluppatori di alto livello hanno condiviso tecnologie chiave, termini e approcci che oggi stanno plasmando i rispettivi settori: dall&#8217;AI e ML all&#8217;<a href=\"https:\/\/www.codemotion.com\/magazine\/it\/open-source\/come-trovare-progetti-open-source-interessanti\/\" class=\"ek-link\">Open Source<\/a>, <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/backend-it\/architettura-del-software\/5-good-practies-architettura-dei-microservizi\/\" class=\"ek-link\">Microservizi <\/a>e metodologie Scrum. <\/p>\n\n\n\n<p>Ecco le loro intuizioni per la community Codemotion da apprezzare!<\/p>\n\n\n\t\t\t\t<div class=\"wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-057e10d5      \"\n\t\t\t\t\tdata-scroll= \"1\"\n\t\t\t\t\tdata-offset= \"30\"\n\t\t\t\t\tstyle=\"\"\n\t\t\t\t>\n\t\t\t\t<div class=\"uagb-toc__wrap\">\n\t\t\t\t\t\t<div class=\"uagb-toc__title\">\n\t\t\t\t\t\t\tIndice\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"uagb-toc__list-wrap \">\n\t\t\t\t\t\t<ol class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#ai-machine-learning-e-deep-learning\" class=\"uagb-toc-link__trigger\">AI, Machine learning e deep learning<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#ai-ml-e-dl\" class=\"uagb-toc-link__trigger\">AI, ML e DL<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#modello\" class=\"uagb-toc-link__trigger\">Modello<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#apprendimento\" class=\"uagb-toc-link__trigger\">Apprendimento<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#training-e-inferenza\" class=\"uagb-toc-link__trigger\">Training e inferenza<\/a><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#licenze-software\" class=\"uagb-toc-link__trigger\">Licenze Software<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#licenza-open-source\" class=\"uagb-toc-link__trigger\">Licenza open-source:<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#licenza-proprietaria\" class=\"uagb-toc-link__trigger\">Licenza proprietaria:<\/a><\/li><\/ul><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#microservizi\" class=\"uagb-toc-link__trigger\">Microservizi<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#divisione-in-microservizi\" class=\"uagb-toc-link__trigger\">Divisione in microservizi<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#conways-law\" class=\"uagb-toc-link__trigger\">Conway&#039;s Law\u00a0<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#kubernetes\" class=\"uagb-toc-link__trigger\">Kubernetes<\/a><li class=\"uagb-toc__list\"><a href=\"#big-data\" class=\"uagb-toc-link__trigger\">Big data<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#tipologie-di-dati\" class=\"uagb-toc-link__trigger\">Tipologie di dati<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#etl-e-elt\" class=\"uagb-toc-link__trigger\">ETL e ELT<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#bronze-silver-e-gold-data\" class=\"uagb-toc-link__trigger\">Bronze, silver e gold data<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#cloud\" class=\"uagb-toc-link__trigger\">Cloud<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#private-cloud-vs-on-premises\" class=\"uagb-toc-link__trigger\">Private cloud vs On-premises<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#vendor-lock-in\" class=\"uagb-toc-link__trigger\">Vendor Lock-in<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#cloud-governance\" class=\"uagb-toc-link__trigger\">Cloud governance<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#user-stories-e-product-ownership\" class=\"uagb-toc-link__trigger\">User stories e product ownership<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#product-owner-e-product-manager\" class=\"uagb-toc-link__trigger\">Product owner e Product manager<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#definition-of-ready-dor\" class=\"uagb-toc-link__trigger\">Definition of Ready (DoR):<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#definition-of-done-dod\" class=\"uagb-toc-link__trigger\">Definition of Done (DoD):<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#i-rischi-della-definition-of-ready-dor\" class=\"uagb-toc-link__trigger\">I rischi della Definition of Ready (DoR):<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#ui-e-ux-design\" class=\"uagb-toc-link__trigger\">UI e UX design<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#design\" class=\"uagb-toc-link__trigger\">Design:<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#atomic-design\" class=\"uagb-toc-link__trigger\">Atomic Design:<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/li><li class=\"uagb-toc__list\"><a href=\"#scrum\" class=\"uagb-toc-link__trigger\">Scrum<\/a><ul class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#fondazioni-scrum-si-basa-sullempirismo-e-il-lean-thinking\" class=\"uagb-toc-link__trigger\">Fondazioni &#8211; Scrum si basa sull\u2019empirismo e il Lean Thinking.<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#le-responsabilit\u00e0\" class=\"uagb-toc-link__trigger\">Le Responsabilit\u00e0<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#artefatti\" class=\"uagb-toc-link__trigger\">Artefatti<\/a><li class=\"uagb-toc__list\"><li class=\"uagb-toc__list\"><a href=\"#gli-eventi\" class=\"uagb-toc-link__trigger\">Gli Eventi<\/a><\/ul><\/ul><\/ul><\/ul><\/ul><\/ul><\/ul><\/ul><\/ol>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ai-machine-learning-e-deep-learning\">AI, Machine learning e deep learning<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/albertomassidda\/?originalSubdomain=uk\" class=\"ek-link\">Alberto Massidda<\/a>, Production Engineer @Meta<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ai-ml-e-dl\">AI, ML e DL<\/h3>\n\n\n\n<p><strong>AI<\/strong>: \u00e8 uno dei concetti fondamentali per i dev, nonch\u00e9 un concetto generale che comprende tutto ci\u00f2 che riguarda il rendere un computer, o un software, &#8220;intelligente&#8221;. L&#8217;IA si pu\u00f2 basare su regole (preprogrammate) o sull\u2019apprendimento (capacit\u00e0 di imparare da dati e esperienze).<\/p>\n\n\n\n<p><strong>Machine Learning:<\/strong> &#8220;lasciare che i computer imparino da soli&#8221; dandogli accesso a un grande set di dati e lasciandogli stabilire regole e pattern. L&#8217;output \u00e8 generato da modelli costruiti attraverso l&#8217;apprendimento da dati di addestramento.<\/p>\n\n\n\n<p><strong>Deep Learning (DL):<\/strong> sottocampo del machine learning che imita il principio di funzionamento del cervello biologico. Si basa sul processare un\u2019informazione attraverso pi\u00f9 &#8220;strati di profondit\u00e0&#8221;. Ogni strato di una rete neurale processa un diverso aspetto dei dati e poi passa ci\u00f2 che ha appreso al prossimo strato. L\u2019uscita riflette il \u201cpunto di vista\u201d di tutti gli strati.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-modello\">Modello<\/h3>\n\n\n\n<p><strong>Modelli Discriminativi in AI:<\/strong> imparano i confini decisionali dai dati di addestramento e usano questi confini per classificare i nuovi input. Applicabili a problemi di decisione e previsione, come generazione di prezzi immobiliari, riconoscimento di immagini, filtraggio dello spam.<\/p>\n\n\n\n<p><strong>Modelli Generativi in AI:<\/strong> stimano la distribuzione dei dati di addestramento, imparando cos\u00ec a generare esempi che appartengano ai pi\u00f9 sottogruppi. Sono utilizzati in diverse applicazioni, come la generazione di immagini, la sintesi vocale e la traduzione automatica.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-apprendimento\">Apprendimento<\/h3>\n\n\n\n<p><strong>Apprendimento Supervisionato:<\/strong> gli algoritmi apprendono da un insieme di dati etichettati. Ogni esempio di dati \u00e8 una coppia composta da un input e il corrispondente output desiderato (etichetta). L&#8217;obiettivo \u00e8 creare un modello che, dato un nuovo input, possa predire l&#8217;output corretto.<\/p>\n\n\n\n<p><strong>Apprendimento Non Supervisionato:<\/strong> si basa su dati non etichettati e cerca di trovare strutture o pattern nascosti nei dati. Questo pu\u00f2 essere utilizzato per raggruppare dati simili (clustering), ridurre la dimensionalit\u00e0 dei dati, o scoprire regole associative tra le loro caratteristiche.&nbsp;<\/p>\n\n\n\n<p><strong>Apprendimento Semi-Supervisionato:<\/strong> si trova a met\u00e0 strada tra l&#8217;apprendimento supervisionato e quello non supervisionato. Utilizza un grande insieme di dati non etichettati per indurre delle etichette automatiche che verranno poi&nbsp; utilizzate per addestrare un modello supervisionato. Utile quando le etichette dei dati sono costose o difficili da ottenere.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Lettura consigliata: <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/rilasciato-vite-5-quali-sono-le-novita-e-i-miglioramenti\/\" class=\"ek-link\">Rilasciato Vite 5: quali sono le novit\u00e0 e i miglioramenti?<\/a><\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-training-e-inferenza\">Training e inferenza<\/h3>\n\n\n\n<p><strong>Training in AI:<\/strong> \u00e8 la fase in cui un modello &#8220;impara&#8221; dai dati. L&#8217;algoritmo usa un set di dati di addestramento per regolare i suoi parametri interni e ottimizzare la sua performance.<\/p>\n\n\n\n<p><strong>Inferenza in AI:<\/strong> \u00e8 la fase in cui un modello gi\u00e0 addestrato viene utilizzato per fare previsioni su nuovi dati sconosciuti. L&#8217;inferenza \u00e8 l&#8217;applicazione pratica del modello.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-licenze-software\">Licenze Software<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/carlopiana\/\" class=\"ek-link\">Carlo Piana<\/a>, Founder &amp; Partner @Array Law<\/p>\n\n\n\n<p><strong>Licenza software:<\/strong> \u00e8 una dichiarazione legale che definisce i termini e le condizioni per l&#8217;utilizzo di un software. Quando acquisti, scarichi o installi del software, il produttore o il detentore dei diritti ti concede una licenza che stabilisce i diritti e gli obblighi relativi all&#8217;uso di quel software, in aggiunta ai diritti e ai doveri stabiliti dalla legge.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-licenza-open-source\">Licenza open-source:<\/h3>\n\n\n\n<p><strong>Accesso al codice sorgente:<\/strong> gli utenti possono ottenere, modificare e distribuire il codice sorgente in modo libero e trasparente.<\/p>\n\n\n\n<p><strong>Libert\u00e0 di utilizzo e distribuzione:<\/strong> offrono la libert\u00e0 di utilizzare, copiare, distribuire, modificare e ridistribuire il software senza restrizioni. Questa caratteristica promuove l&#8217;innovazione e la condivisione della tecnologia.<\/p>\n\n\n\n<p><strong>Attribuzione dell&#8217;autore:<\/strong> possono richiedere che venga attribuito il credito all&#8217;autore originale del software quando il codice sorgente viene utilizzato o distribuito.<\/p>\n\n\n\n<p><strong>Licenza copyleft:<\/strong> Alcune licenze includono clausole copyleft, come la GPL (GNU General Public License), che impongono che il software derivato o modificato debba essere distribuito con la stessa licenza Open Source del codice originale. Questo garantisce che le versioni derivate continueranno a essere Open Source. Una delle condizioni copyleft \u00e8 quella di condividere il completo codice sorgente corrispondente alle versioni modificate.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-licenza-proprietaria\">Licenza proprietaria:<\/h3>\n\n\n\n<p><strong>Accesso limitato al codice sorgente:<\/strong> non fornisce l&#8217;accesso al codice sorgente del software. Gli utenti ricevono solo il prodotto finale compilato, e non possono accedere, visualizzare o modificare il codice sorgente. Non \u00e8 Open Source, \u00e8 software proprietario, anche se gratuito.<\/p>\n\n\n\n<p><strong>Licenza a pagamento:<\/strong> richiedono spesso il pagamento di una licenza. Esistono diverse modalit\u00e0 di licenza, come licenze per singolo utente, licenze aziendali o licenze a tempo limitato.<\/p>\n\n\n\n<p>Quando si crea software, la legge riserva tutti i diritti all\u2019autore. Pertanto, se si intende concedere i permessi per renderlo Open Source, occorre effettuare una dichiarazione pubblica ed espressa, altrimenti tutti i diritti rimangono riservati. Ci\u00f2 non significa che il software diviene di pubblico dominio: infatti il titolare dei diritti pu\u00f2 consentire il libero utilizzo solo a determinate condizioni, tra le quali quelle copyleft. Tali condizioni debbono rispettare la Open Source Definition per essere considerati \u201cOpen Source\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-microservizi\">Microservizi<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/raibaz\/\" class=\"ek-link\">Mattia Tommasone<\/a>, Senior Developer Relations Engineer, Ads @Google<\/p>\n\n\n\n<p><strong>Modularit\u00e0<\/strong>: sono componenti indipendenti che eseguono funzioni specifiche all&#8217;interno di un&#8217;applicazione. Ognuno pu\u00f2 essere sviluppato, implementato e scalato separatamente dagli altri.<\/p>\n\n\n\n<p><strong>Indipendenza<\/strong>: ogni microservizio \u00e8 autonomo e pu\u00f2 essere sviluppato utilizzando linguaggi di programmazione, tecnologie e strumenti diversi.&nbsp;<\/p>\n\n\n\n<p><strong>Comunicazione tramite API:<\/strong> i microservizi comunicano tra loro attraverso API ben definite.&nbsp;<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.codemotion.com\/magazine\/it\/microservizi\/7-strumenti-per-migliorare-la-scalabilita-dei-microservizi\/\" class=\"ek-link\">Scalabilit\u00e0<\/a>: <\/strong>consentono di scalare in modo indipendente le singole componenti dell&#8217;applicazione in base alle esigenze di carico.&nbsp;<\/p>\n\n\n\n<p><strong>Isolamento dei fallimenti: <\/strong>grazie alla loro natura modulare, se uno dei microservizi fallisce, gli altri possono continuare a funzionare normalmente.&nbsp;<\/p>\n\n\n\n<p><strong>Sviluppo e distribuzione rapida:<\/strong> la modularit\u00e0 dei microservizi facilita lo sviluppo parallelo e l&#8217;implementazione continua. Ogni microservizio pu\u00f2 essere sviluppato, testato e distribuito in modo indipendente, accelerando il processo di sviluppo dell&#8217;applicazione.<\/p>\n\n\n\n<p><strong>Facilit\u00e0 di sostituzione e aggiornamento: <\/strong>grazie alla separazione dei microservizi, \u00e8 possibile sostituirne uno con un&#8217;implementazione migliore o aggiornarlo senza dover toccare gli altri. Ci\u00f2 semplifica l&#8217;evoluzione e l&#8217;aggiornamento delle singole componenti dell&#8217;applicazione.<\/p>\n\n\n\n<p><strong>Scalabilit\u00e0 orizzontale:<\/strong> i microservizi possono essere replicati e distribuiti su pi\u00f9 server in modo da distribuire il carico e aumentare le prestazioni dell&#8217;applicazione.<\/p>\n\n\n\n<p><strong>DevOps-friendly:<\/strong> l&#8217;architettura dei microservizi si presta bene all&#8217;approccio DevOps, in quanto facilita l&#8217;integrazione continua, il rilascio continuo e l&#8217;automazione dei processi di sviluppo, test e distribuzione.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Lettura consigliata: <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/sviluppo-videogiochi\/come-creare-un-console-emulator-in-python\/\" class=\"ek-link\">Come creare un Console Emulator in Python<\/a><\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-divisione-in-microservizi\">Divisione in microservizi<\/h3>\n\n\n\n<p><strong>Funzionalit\u00e0 coese:<\/strong> identificare le funzionalit\u00e0 del sistema che possono essere isolate e suddivise in microservizi separati. I microservizi dovrebbero essere coesi, cio\u00e8 contenere logiche di business correlate e fornire un&#8217;unit\u00e0 funzionale distinta.&nbsp;<\/p>\n\n\n\n<p><strong>Granularit\u00e0 adeguata: <\/strong>trovare un equilibrio nella dimensione dei microservizi. Devono essere sufficientemente piccoli da garantire la modularit\u00e0 e l&#8217;indipendenza, ma anche abbastanza grandi da poter gestire autonomamente una parte significativa della logica di business.&nbsp;<\/p>\n\n\n\n<p><strong>Limiti del dominio: <\/strong>identificare i limiti del dominio, cio\u00e8 i confini concettuali tra le diverse responsabilit\u00e0 dell&#8217;applicazione.<\/p>\n\n\n\n<p><strong>Comunicazione e interfacce: <\/strong>definire le modalit\u00e0 di comunicazione tra i microservizi. Solitamente si utilizzano API RESTful, messaggistica asincrona o eventi per consentire l&#8217;interazione tra i diversi servizi. \u00c8 importante stabilire chiaramente le interfacce e le contrattazioni delle API per garantire una comunicazione corretta e coerente.&nbsp;<\/p>\n\n\n\n<p>I<strong>solamento dei dati:<\/strong> considerare come gestire l&#8217;accesso ai dati da parte dei microservizi. Possono essere adottate diverse strategie, come il possesso esclusivo dei dati da parte di un microservizio, la replica dei dati tra i servizi o l&#8217;adozione di un modello di consistenza eventualmente consistente.&nbsp;<\/p>\n\n\n\n<p><strong>Gestione delle transazioni:<\/strong> valutare come gestire le transazioni tra i microservizi. Le transazioni distribuite possono essere complesse da implementare e gestire. Si possono adottare approcci come la compensazione dei processi o l&#8217;uso di event sourcing e CQRS (Command Query Responsibility Segregation) per garantire la consistenza dei dati.&nbsp;<\/p>\n\n\n\n<p><strong>Monitoraggio e tracciamento:<\/strong> pianificare come monitorare e tracciare le richieste e le risposte tra i microservizi. \u00c8 importante avere visibilit\u00e0 sulle prestazioni e sulle interazioni tra i servizi per diagnosticare e risolvere eventuali problemi.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-conway-s-law-nbsp\">Conway&#8217;s Law&nbsp;<\/h3>\n\n\n\n<p>Un altro tra i concetti fondamentali per i dev da tenere a mente \u00e8 inerente alle organizzazioni che progettano sistemi: esse sono vincolate a produrre progettazioni che sono copie delle strutture di comunicazione delle loro organizzazioni.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-kubernetes\">Kubernetes<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/serena-sensini\/\" class=\"ek-link\">Serena Sensini<\/a>, Enterprise Architect @Dedalus spa e Founder @TheRedCode<\/p>\n\n\n\n<p><strong>Kubernetes<\/strong><\/p>\n\n\n\n<p>E&#8217; un sistema open-source per l&#8217;automazione del deployment, la scalabilit\u00e0 e la gestione di applicazioni containerizzate. Il suo scopo principale \u00e8 fornire un framework per distribuire, mantenere e scalare applicazioni in modo efficiente e affidabile in diversi ambienti di hosting.<\/p>\n\n\n\n<p><strong>Master Node:<\/strong> Il nodo principale che controlla e gestisce il cluster Kubernetes.<\/p>\n\n\n\n<p><strong>Worker Node:<\/strong> \u00c8 responsabile dell&#8217;esecuzione dei container (applicazioni) nel cluster Kubernetes.<\/p>\n\n\n\n<p><strong>Kubelet<\/strong>: Agente che si esegue su ogni nodo e si assicura che i container siano in esecuzione in uno stato desiderato.<\/p>\n\n\n\n<p><strong>Kube-proxy: <\/strong>Mantieni le regole di rete sui nodi per consentire la gestione tra i diversi Services.<\/p>\n\n\n\n<p><strong>Pod<\/strong>: La pi\u00f9 piccola e semplice unit\u00e0 in Kubernetes, che rappresenta un singolo processo in un cluster composto da uno o pi\u00f9 container.<\/p>\n\n\n\n<p><strong>Service<\/strong>: Un&#8217;astrazione che definisce un set logico di pod per consentirne la comunicazione attraverso le componente di networking<\/p>\n\n\n\n<p><strong>Deployment<\/strong>: Fornisce aggiornamenti dichiarativi per i pod e i Replicaset.<\/p>\n\n\n\n<p><strong>ReplicaSet<\/strong>: Garantisce che un numero specificato di copie di un pod siano in esecuzione in qualsiasi momento.<\/p>\n\n\n\n<p><strong>ConfigMap e Secret:<\/strong> Meccanismi per fornire file di configurazione e\/o dati sensibili ai pod.<\/p>\n\n\n\n<p><strong>Namespace<\/strong>: consente la separazione logica e la definizione di una naming convention tra le risorse all&#8217;interno di un cluster.<\/p>\n\n\n\n<p><strong>Etcd<\/strong>: Conserva in modo affidabile la configurazione di stato del cluster.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Lettura consigliata: <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/i-5-migliori-siti-di-coding-challenge\/\" class=\"ek-link\">I 5 migliori siti di coding challenge<\/a><\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-big-data\">Big data<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/antonio-murgia\/\" class=\"ek-link\">Antonio Murgia<\/a>, Data Architect @Agile Labs<\/p>\n\n\n\n<p><em>I dati hanno una loro gravit\u00e0<\/em>.<\/p>\n\n\n\n<p>Il termine &#8220;big data&#8221; si riferisce a un volume eccezionalmente grande di dati che pu\u00f2 essere analizzato per rivelare schemi, tendenze e associazioni. Questo concetto, che \u00e8 senza dubbio tra i concetti fondamentali per i dev, \u00e8 in continua evoluzione e generalmente si riferisce a dati che sono cos\u00ec vasti o complessi che i metodi di elaborazione dei dati tradizionali sono inadeguati per gestirli.<\/p>\n\n\n\n<p><strong>Volume<\/strong>: quantit\u00e0 di dati.<\/p>\n\n\n\n<p><strong>Velocit\u00e0<\/strong>: velocit\u00e0 con cui i nuovi dati vengono generati e con cui i dati si spostano intorno.<\/p>\n\n\n\n<p><strong>Variet\u00e0<\/strong>: diverse tipologie di dati strutturati e non<\/p>\n\n\n\n<p><strong>Veridicit\u00e0<\/strong>: correttezza e affidabilit\u00e0 dei dati<\/p>\n\n\n\n<p><strong>Valore<\/strong>: l\u2019abilit\u00e0 e la possibilit\u00e0 di trasformare i dati in valore.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-tipologie-di-dati\">Tipologie di dati<\/h3>\n\n\n\n<p>I dati strutturati sono organizzati in un formato predefinito e facilmente analizzabile (es. database relazionale) mentre i dati non strutturati sono disorganizzati e non seguono una struttura specifica, rendendo pi\u00f9 complesso il loro processamento e analisi, come nel caso di testi, immagini o video.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-etl-e-elt\">ETL e ELT<\/h3>\n\n\n\n<p>Gli ETL (Extract, Transform, Load) sono processi che estraggono dati da varie fonti, li trasformano in un formato compatibile e poi li caricano in un data warehouse per l&#8217;analisi. Gli ELT (Extract, Load, Transform) invece, estraggono i dati, li caricano prima nel data warehouse e poi li trasformano all&#8217;interno dello storage stesso, spesso offrendo una maggiore efficienza per grandi volumi di dati.<\/p>\n\n\n\n<p>Un <strong>data warehouse<\/strong> \u00e8 un sistema centralizzato che archivia dati strutturati e raramente semi-strutturati, ottimizzati per l&#8217;analisi veloce e l&#8217;interrogazione.<\/p>\n\n\n\n<p>Un <strong>data lake<\/strong> \u00e8 un sistema che pu\u00f2 archiviare grandi volumi di dati strutturati e non strutturati, mantenendoli nel loro formato grezzo fino a quando non sono necessari per l&#8217;uso, offrendo maggiore flessibilit\u00e0.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-bronze-silver-e-gold-data\">Bronze, silver e gold data<\/h3>\n\n\n\n<p>I termini bronze, silver e gold si riferiscono a fasi di raffinazione dei dati: i bronze data sono dati grezzi e non elaborati, i silver data sono dati puliti e trasformati ma non pronti per il consumo finale, e i gold data sono dati raffinati, affidabili e pronti per l&#8217;analisi e il reporting<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cloud\">Cloud<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/andysal\/\" class=\"ek-link\">Andrea Saltarello<\/a>, CTO @Managed Designs e Founder @UGIdotNET<\/p>\n\n\n\n<p><strong>Public Cloud<\/strong>: Servizi di cloud offerti su Internet da fornitori terzi, accessibili a chiunque desideri sottoscrivere o acquistarli.<\/p>\n\n\n\n<p><strong>Private Cloud:<\/strong> Infrastruttura di cloud computing dedicata a un&#8217;organizzazione specifica, offrendo maggiore controllo e privacy.<\/p>\n\n\n\n<p><strong>Hybrid Cloud:<\/strong> Combinazione di cloud pubblici e privati, permettendo lo scambio e la condivisione di dati e applicazioni tra di essi, per ottenere una maggiore flessibilit\u00e0 e ottimizzazione dell&#8217;infrastruttura esistente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-private-cloud-vs-on-premises\">Private cloud vs On-premises<\/h3>\n\n\n\n<p>Le soluzioni on-premises sono fisicamente collocate e gestite all&#8217;interno delle strutture dell&#8217;organizzazione, richiedendo hardware e software dedicati, nonch\u00e9 personale IT per la manutenzione. <\/p>\n\n\n\n<p>Il private cloud, invece, offre un ambiente di cloud computing dedicato che \u00e8 ospitato in remoto, gestito dal fornitore di servizi, ma riservato esclusivamente all&#8217;organizzazione, fornendo maggiore scalabilit\u00e0 e flessibilit\u00e0 rispetto a un&#8217;implementazione on-premises.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vendor-lock-in\">Vendor Lock-in<\/h3>\n\n\n\n<p>Il &#8220;vendor lock-in&#8221; nel cloud si riferisce alla situazione in cui un&#8217;organizzazione diventa eccessivamente dipendente da un singolo fornitore di servizi cloud, rendendo difficile o costoso migrare a un altro fornitore.<\/p>\n\n\n\n<p>Prima di attuare azioni correttive \u00e8 necessario fare una stima del rischio, sia dal punto di vista della probabilit\u00e0 sia da quello del costo risultante nel caso si materializzasse. Ove tali fattori risultassero predominanti, occorre attuare una strategia per limitarne l\u2019impatto, strategia che include l&#8217;utilizzo di standard aperti e la progettazione di sistemi con la portabilit\u00e0 in mente, anche rinunciando a funzionalit\u00e0 rese disponibili out of the box dalla piattaforma cloud ed accettando il costo di realizzarle in casa o sostituirle con ulteriori prodotti\/servizi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cloud-governance\">Cloud governance<\/h3>\n\n\n\n<p>U altro tra i concetti fondamentali per i dev, \u00e8 l&#8217;insieme di regole, politiche e procedure che un&#8217;organizzazione implementa per gestire, monitorare e ottimizzare l&#8217;uso delle risorse cloud. Include la definizione di linee guida su come vengono selezionati, implementati e gestiti i servizi cloud all&#8217;interno dell&#8217;organizzazione.<\/p>\n\n\n\n<p><strong>Politiche e Linee Guida:<\/strong> Definizione di regole e procedure chiare per l&#8217;utilizzo dei servizi cloud.<\/p>\n\n\n\n<p><strong>Sicurezza e Conformit\u00e0:<\/strong> Assicurare che i servizi cloud siano conformi alle normative legali e ai requisiti di sicurezza dell&#8217;organizzazione.<\/p>\n\n\n\n<p><strong>Gestione dei Costi:<\/strong> Monitoraggio e controllo dei costi associati all&#8217;uso del cloud per evitare sprechi e sovraccarichi inaspettati.<\/p>\n\n\n\n<p><strong>Ottimizzazione delle Prestazioni:<\/strong> Garantire che le risorse cloud siano utilizzate in modo efficiente per fornire le prestazioni desiderate.<\/p>\n\n\n\n<p><strong>Gestione del Rischio:<\/strong> Valutazione e mitigazione dei rischi associati all&#8217;adozione del cloud, come la disponibilit\u00e0 e la resilienza.<\/p>\n\n\n\n<p><strong>Integrazione e Interoperabilit\u00e0:<\/strong> Assicurare che i servizi cloud siano integrati in modo uniforme con gli altri sistemi e tecnologie dell&#8217;organizzazione.<\/p>\n\n\n\n<p><strong>Monitoraggio e Reporting:<\/strong> Utilizzo di strumenti per monitorare l&#8217;uso, le prestazioni e la conformit\u00e0 dei servizi cloud, e creare report regolari per la leadership dell&#8217;organizzazione.<\/p>\n\n\n\n<p><strong>Responsabilit\u00e0 e Ruoli:<\/strong> Definizione chiara dei ruoli e delle responsabilit\u00e0 all&#8217;interno dell&#8217;organizzazione per la gestione e la governance dei servizi cloud.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Lettura consigliata: <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/sviluppo-web\/ottimizzazione-avanzata-delle-prestazioni-web\/\" class=\"ek-link\">Ottimizzazione avanzata delle prestazioni web<\/a><\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-user-stories-e-product-ownership\">User stories e product ownership<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/matteoguidotto\/\" class=\"ek-link\">Matteo Guidotto<\/a>, Senior Growth Product Manager @DaVinci Salute<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-product-owner-e-product-manager\">Product owner e Product manager<\/h3>\n\n\n\n<p>Il Product Owner tende ad avere un focus pi\u00f9 tattico e squadra-specifico, mentre il Product Manager tende ad avere un focus pi\u00f9 strategico e orientato al mercato. Tuttavia, in alcune organizzazioni, i ruoli possono essere fusi insieme o avere sovrapposizioni significative.<\/p>\n\n\n\n<p><strong>Ruolo guidato dall\u2019ascolto<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ascoltando attentamente il business, il Product Owner pu\u00f2 capire le loro esigenze, i loro problemi, e le loro aspettative, indispensabili per definire e prioritizzare i requisiti del prodotto.<\/li>\n\n\n\n<li>L&#8217;ascolto attivo \u00e8 essenziale per lavorare efficacemente con il team di sviluppo, per comprendere le loro sfide, le loro preoccupazioni, e i loro suggerimenti, oltre che per garantire che siano sulla giusta strada per raggiungere gli obiettivi del sprint.<\/li>\n\n\n\n<li>Ascoltando altri stakeholder (manager, marketing, \u2026), il Product Owner pu\u00f2 assicurarsi che il prodotto sia allineato con gli obiettivi aziendali e le strategie di mercato.<\/li>\n\n\n\n<li>Un buon ascolto \u00e8 essenziale per gestire e risolvere i conflitti che possono sorgere tra gli stakeholder o all&#8217;interno del team di sviluppo, facilitando la mediazione e la ricerca di soluzioni condivise.<\/li>\n\n\n\n<li>L&#8217;ascolto costruisce fiducia tra il Product Owner e gli stakeholder. Mostrare empatia e considerazione pu\u00f2 contribuire a creare relazioni di lavoro positive e produttive.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-definition-of-ready-dor\">Definition of Ready (DoR):<\/h3>\n\n\n\n<p>La <strong>Definition of Ready<\/strong> stabilisce i criteri che un elemento del product backlog deve soddisfare prima che possa essere considerato pronto per essere incluso in un sprint.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Chiarezza dei Requisiti, Accordo sullo Scopo, Stime (quando presenti), soluzione di tutte le dipendenze<\/li>\n<\/ul>\n\n\n\n<p>La <strong>DoR<\/strong> aiuta a prevenire malintesi e ritardi nel lavoro dello sprint, garantendo che il team inizi con aspettative e informazioni chiare.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-definition-of-done-dod\">Definition of Done (DoD):<\/h3>\n\n\n\n<p>La <strong>Definition of Done<\/strong>, d&#8217;altra parte, stabilisce i criteri che un elemento del product backlog deve soddisfare per essere considerato completato, es: <strong>Codice Scritto e Testato, Codice Revisato, Documentazione Completa, Clienti e Utenti Finali Soddisfatti<\/strong><\/p>\n\n\n\n<p>La <strong>DoD<\/strong> garantisce che ogni elemento completato soddisfi uno standard di qualit\u00e0 concordato e che sia realmente pronto per essere rilasciato, se necessario.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-i-rischi-della-definition-of-ready-dor\">I rischi della Definition of Ready (DoR):<\/h3>\n\n\n\n<p>Una DoR troppo rigida o dettagliata pu\u00f2 ridurre la flessibilit\u00e0 e la capacit\u00e0 del team di adattarsi ai cambiamenti. Pu\u00f2 essere interpretata in modo tale che solo il Product Owner \u00e8 responsabile della preparazione degli elementi del backlog, potenzialmente riducendo la collaborazione e la discussione all&#8217;interno del team su questi elementi. Pu\u00f2 dare un senso di falsa sicurezza, facendo credere che, se tutti i criteri sono soddisfatti, non ci saranno problemi durante lo sviluppo, il che non \u00e8 sempre vero.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ui-e-ux-design\">UI e <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/ux\/cambio-lavoro-divento-ux-designer\/\" class=\"ek-link\">UX design<\/a><\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/davide-di-pumpo\/\" class=\"ek-link\">Davide Di Pumpo<\/a>, Design Technologist @Amazon, e Paul Romero, UX &amp; Service Designer e Product Manager<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-design\"><strong>Design<\/strong>:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Processo Globale<\/strong>: \u00e8 un processo pi\u00f9 ampio che va oltre il semplice disegno. Include la pianificazione, la definizione degli obiettivi, la risoluzione dei problemi, la considerazione delle esigenze dell&#8217;utente e l&#8217;implementazione pratica di un concetto o di un prodotto.<\/li>\n\n\n\n<li><strong>Orientato agli Obiettivi<\/strong>: si concentra sull&#8217;ottenimento di risultati specifici o sull&#8217;adempimento di un obiettivo. Pu\u00f2 includere il pensiero strategico, la ricerca utente, l&#8217;ottimizzazione funzionale e la valutazione delle prestazioni.<\/li>\n\n\n\n<li><strong>Coinvolge Diverse Competenze<\/strong>: richiede spesso una gamma pi\u00f9 ampia di competenze, tra cui l&#8217;ingegneria, l&#8217;architettura, la psicologia dell&#8217;utente, la sostenibilit\u00e0 e molto altro.<\/li>\n<\/ul>\n\n\n\n<p><strong>Il processo<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Ricerca di mercato e dell&#8217;utente<\/strong>:<\/li>\n\n\n\n<li><strong>Analisi e Definizione dei Requisiti<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Definizione dei casi d&#8217;uso, Creazione di user personas<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Ideazione e Progettazione Concettuale<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Brainstorming, Prototipazione, Testing<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Progettazione dell&#8217;Interfaccia Utente (UI)<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Creazione di wireframe, Progettazione visuale, Creazione di prototipi interattivi<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Test Utente e Iterazione<\/strong>:\n<ul class=\"wp-block-list\">\n<li>User testing, Analisi dei risultati e iterazioni<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Sviluppo e Implementazione<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Collaborazione con il team di sviluppo, Test e controllo di qualita<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Lancio e Monitoraggio<\/strong>:.\n<ul class=\"wp-block-list\">\n<li>Lancio del prodotto, Monitoraggio dell&#8217;esperienza utente<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Nota bene: a seconda del progetto alcune di queste fasi possono essere omesse<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-atomic-design\">Atomic Design:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Atomi<\/strong>: sono gli elementi di base dell&#8217;interfaccia utente, come bottoni, campi di testo, icone o colori. Sono componenti semplici e riutilizzabili che fungono da mattoni fondamentali nella creazione di elementi pi\u00f9 complessi.<\/li>\n\n\n\n<li><strong>Molecole<\/strong>: sono gruppi di atomi che lavorano insieme per formare componenti pi\u00f9 avanzati. Un modulo di inserimento dati potrebbe essere una molecola composta da un campo di input, un pulsante e una label.<\/li>\n\n\n\n<li><strong>Organismi<\/strong>: Gli organismi sono componenti dell&#8217;interfaccia utente pi\u00f9 grandi e autosufficienti. Rappresentano sezioni complesse dell&#8217;interfaccia come barre di navigazione, intestazioni o card contenenti diverse molecole e atomi che cooperano insieme.<\/li>\n\n\n\n<li><strong>Template<\/strong>: I template forniscono una struttura di base per le pagine dell&#8217;interfaccia utente. Definiscono la disposizione generale degli organismi e delle molecole su una pagina, ma non contengono contenuti specifici.<\/li>\n\n\n\n<li><strong>Pagine<\/strong>: Le pagine rappresentano le istanze concrete delle interfacce utente complete, dove vengono inseriti i contenuti specifici. Sono la manifestazione finale del design e incorporano tutti gli altri elementi, dai template agli organismi, alle molecole e agli atomi.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-scrum\">Scrum<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/pauljesusbenitesromero\/\" class=\"ek-link\">Fabio Panzavolta<\/a>, Founder @Collective Genius e Independent Scrum Master<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-fondazioni-scrum-si-basa-sull-empirismo-e-il-lean-thinking\">Fondazioni &#8211; Scrum si basa sull\u2019empirismo e il Lean Thinking.<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Empirismo<\/strong>: la conoscenza deriva dall\u2019esperienza e le decisioni sono prese sulla base di fatti. Trasparenza, ispezione e adattamento sono i tre pilastri dell\u2019empirismo.<\/li>\n\n\n\n<li><strong>Lean Thinking<\/strong>: creazione di valore il pi\u00f9 velocemente possibile e riduzione dello spreco.<\/li>\n<\/ul>\n\n\n\n<p><a href=\"http:\/\/www.scrumguides.org\">www.scrumguides.org<\/a><\/p>\n\n\n\n<p>Valori &#8211; Scrum Professionale opera in un ambiente di Psychological Safety.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Coraggio<\/strong>: affermare le proprie idee, non nascondere fatti o informazioni relative al prodotto, rispettare i principi e gli elementi di Scrum.<\/li>\n\n\n\n<li><strong>Focus<\/strong>: concentrarsi a fare solo ci\u00f2 che \u00e8 utile alla creazione di valore, nel momento pi\u00f9 opportuno. Essere presente pienamente in ogni evento Scrum.<\/li>\n\n\n\n<li><strong>Apertura<\/strong>: abbracciare tutte le idee, di qualsiasi persona, senza giudizio e resistendo a ci\u00f2 che la propria esperienza potrebbe suggerire. Provare cose che non si sarebbero altrimenti provate.<\/li>\n\n\n\n<li><strong>Rispetto<\/strong>: di tutte le persone che ci circondano, come persone competenti e per tutte le idee e le proposte utili al miglioramento del prodotto.<\/li>\n\n\n\n<li><strong>Impegno<\/strong>: dare sempre il massimo per raggiungere gli obiettivi prefissati, impegnarsi a rispettare gli eventi Scrum.<\/li>\n<\/ul>\n\n\n\n<p><a href=\"http:\/\/www.thescrumvalues.org\">www.thescrumvalues.org<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-le-responsabilita\">Le Responsabilit\u00e0<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Product Owner<\/strong>: Responsabile della massimizzazione del valore del&nbsp; prodotto. Gestisce il Product Backlog.<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Developers<\/strong>: Composto dai professionisti che effettivamente creano il prodotto o il servizio, sono auto-organizzati e multidisciplinari, il che significa che hanno tutte le competenze necessarie per completare il lavoro, dalla progettazione allo sviluppo, al testing, marketing, ecc. Si impegnano a consegnare incrementi di prodotto completi e pronti per il rilascio al pi\u00f9 tardi alla fine di ogni Sprint.<\/li>\n\n\n\n<li><strong>Scrum Master<\/strong>: Responsabile dell\u2019efficacia dello Scrum Team attraverso la corretta comprensione e il corretto utilizzo di Scrum Facilita il processo Scrum, assicurando che vengano rispettate le regole e le pratiche del framework, aiuta il team Scrum a rimuovere ostacoli e a risolvere problemi che potrebbero impedire il raggiungimento degli obiettivi dello Sprint, promuove il miglioramento continuo e favorisce la crescita e la maturit\u00e0 del team.<\/li>\n\n\n\n<li><strong>Scrum Team<\/strong>: Composto da Product Owner, Developers e Scrum Master, \u00e8 auto-gestito e cross-funzionale.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-artefatti\">Artefatti<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Product Backlog<\/strong>: riflette la strategia del Product Owner ed \u00e8 un elenco emergente del lavoro da fare sul prodotto, Contiene il Product Goal.<\/li>\n\n\n\n<li><strong>Sprint Backlog<\/strong>: un sottoinsieme del Product Backlog che rappresenta le attivit\u00e0 e gli elementi selezionati dai Developers per uno specifico Sprint. Contiene lo Sprint Goal.<\/li>\n\n\n\n<li><strong>Incremento<\/strong>: uno step in avanti verso il raggiungimento del Product Goal. Deve soddisfare la Definition of Done, ossia essere completo, testato e pronto per il rilascio in produzione.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-gli-eventi\">Gli Eventi<\/h3>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li><strong>Sprint: <\/strong>\u00e8 il cuore pulsante di Scrum, l\u2019evento che contiene tutti gli altri eventi e che fornisce la frequenza regolare di ispezione e adattamento.<\/li>\n\n\n\n<li><strong>Sprint Planning<\/strong>: evento nel quale lo Scrum Team collabora per fissare lo Sprint Goal, fare le previsioni degli elementi pi\u00f9 importanti dal Product Backlog e definire. I Developers forniscono il dettaglio del lavoro necessario per completare almeno i primi elementi del Product Backlog selezionati.<\/li>\n\n\n\n<li><strong>Daily Scrum<\/strong>: \u00c8 un evento giornaliero dei Developers, che permette di pianificare le prossime 24 ore e capire se il lavoro fatto aumenta le probabilit\u00e0 di raggiungere lo Sprint Goal.<\/li>\n\n\n\n<li><strong>Sprint Review<\/strong>: evento informale e collaborativo durante il quale lo Scrum Team e gli Stakeholders ispezionano l\u2019incremento e forniscono feedback utile all\u2019adattamento del Product Backlog<\/li>\n\n\n\n<li><strong>Sprint Retrospective<\/strong>: Lo Scrum Team riflette sull&#8217;ultimo Sprint, identifica cosa \u00e8 andato bene e cosa pu\u00f2 essere migliorato, e pianifica le azioni correttive per il prossimo Sprint.&nbsp;<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>In questa esaustiva serie di interviste e importanti contributi, presentata in collaborazione con Mauro Murru, Founder del podcast GitBar, approfondiamo i concetti fondamentali per i dev, sia senior che junior, che quindi tutti dovrebbero conoscere per rimanere aggiornati sull&#8217;attuale industria tecnologica. Sviluppatori di alto livello hanno condiviso tecnologie chiave, termini e approcci che oggi stanno&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/\">Read more<\/a><\/p>\n","protected":false},"author":64,"featured_media":24932,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10283],"tags":[10317,11558,11561,11564],"collections":[],"class_list":{"0":"post-24817","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-dev-life-it","8":"tag-ai-it","9":"tag-gitbar-it","10":"tag-machine-learning-it","11":"tag-open-source-it","12":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>La guida definitiva ai concetti fondamentali per i dev di oggi<\/title>\n<meta name=\"description\" content=\"Scopri i concetti fondamentali per i dev spiegati da figure esperte nel loro settore in collaborazione con il podcast GitBar.\" \/>\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.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"La guida definitiva ai concetti fondamentali per i dev di oggi\" \/>\n<meta property=\"og:description\" content=\"Scopri i concetti fondamentali per i dev spiegati da figure esperte nel loro settore in collaborazione con il podcast GitBar.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-04T10:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-04T16:46:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1081\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Codemotion\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Codemotion\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/\"},\"author\":{\"name\":\"Codemotion\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c\"},\"headline\":\"La guida definitiva ai concetti fondamentali per i dev di oggi\",\"datePublished\":\"2023-12-04T10:00:00+00:00\",\"dateModified\":\"2023-12-04T16:46:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/\"},\"wordCount\":3769,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\",\"keywords\":[\"AI\",\"GitBar\",\"Machine Learning\",\"OpenSource\"],\"articleSection\":[\"Dev Life\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/\",\"name\":\"La guida definitiva ai concetti fondamentali per i dev di oggi\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\",\"datePublished\":\"2023-12-04T10:00:00+00:00\",\"dateModified\":\"2023-12-04T16:46:20+00:00\",\"description\":\"Scopri i concetti fondamentali per i dev spiegati da figure esperte nel loro settore in collaborazione con il podcast GitBar.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png\",\"width\":1920,\"height\":1081,\"caption\":\"Discover the fundamental concepts for devs explained by expert figures in their respective fields in collaboration with the GitBar podcast.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dev Life\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"La guida definitiva ai concetti fondamentali per i dev di oggi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c\",\"name\":\"Codemotion\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png\",\"caption\":\"Codemotion\"},\"description\":\"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.\",\"sameAs\":[\"https:\/\/x.com\/CodemotionIT\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"La guida definitiva ai concetti fondamentali per i dev di oggi","description":"Scopri i concetti fondamentali per i dev spiegati da figure esperte nel loro settore in collaborazione con il podcast GitBar.","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.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/","og_locale":"en_US","og_type":"article","og_title":"La guida definitiva ai concetti fondamentali per i dev di oggi","og_description":"Scopri i concetti fondamentali per i dev spiegati da figure esperte nel loro settore in collaborazione con il podcast GitBar.","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2023-12-04T10:00:00+00:00","article_modified_time":"2023-12-04T16:46:20+00:00","og_image":[{"width":1920,"height":1081,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","type":"image\/png"}],"author":"Codemotion","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Codemotion","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/"},"author":{"name":"Codemotion","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c"},"headline":"La guida definitiva ai concetti fondamentali per i dev di oggi","datePublished":"2023-12-04T10:00:00+00:00","dateModified":"2023-12-04T16:46:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/"},"wordCount":3769,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","keywords":["AI","GitBar","Machine Learning","OpenSource"],"articleSection":["Dev Life"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/","name":"La guida definitiva ai concetti fondamentali per i dev di oggi","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","datePublished":"2023-12-04T10:00:00+00:00","dateModified":"2023-12-04T16:46:20+00:00","description":"Scopri i concetti fondamentali per i dev spiegati da figure esperte nel loro settore in collaborazione con il podcast GitBar.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png","width":1920,"height":1081,"caption":"Discover the fundamental concepts for devs explained by expert figures in their respective fields in collaboration with the GitBar podcast."},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/la-guida-definitiva-ai-concetti-fondamentali-per-i-dev-di-oggi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Dev Life","item":"https:\/\/www.codemotion.com\/magazine\/it\/dev-life-it\/"},{"@type":"ListItem","position":3,"name":"La guida definitiva ai concetti fondamentali per i dev di oggi"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/201bb98b02412383686cced7521b861c","name":"Codemotion","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/cropped-codemotionlogo-150x150.png","caption":"Codemotion"},"description":"Articles wirtten by the Codemotion staff. Tech news, inspiration, latest treends in software development and more.","sameAs":["https:\/\/x.com\/CodemotionIT"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-600x600.png","author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png",1920,1081,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-300x169.png",300,169,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-768x432.png",768,432,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-1024x577.png",1024,577,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-1536x865.png",1536,865,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2.png",1920,1081,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-100x100.png",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-896x504.png",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/12\/Guide-of-Fundamental-Concepts-For-Todays-Devs-2-600x600.png",600,600,true]},"uagb_author_info":{"display_name":"Codemotion","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/codemotion-2\/"},"uagb_comment_info":0,"uagb_excerpt":"In questa esaustiva serie di interviste e importanti contributi, presentata in collaborazione con Mauro Murru, Founder del podcast GitBar, approfondiamo i concetti fondamentali per i dev, sia senior che junior, che quindi tutti dovrebbero conoscere per rimanere aggiornati sull&#8217;attuale industria tecnologica. Sviluppatori di alto livello hanno condiviso tecnologie chiave, termini e approcci che oggi stanno&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=24817"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24817\/revisions"}],"predecessor-version":[{"id":25058,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24817\/revisions\/25058"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/24932"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=24817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=24817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=24817"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=24817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}