Agenda

19 marzo

10:00

Welcome – opening and intro 

Chiara Russo, Codemotion

Michela Bertaina, Codemotion

Luca Fregoso, Codemotion

10:25

TRACK 1

TRACK 2

  • DevSecOps e sicurezza delle applicazioni: i 3 casi d’uso che non puoi ignorare
    DEVOPS, Intermedio. Italiano

    La metodologia DevSecOps ha acceso i riflettori sulla responsabilità degli sviluppatori durante tutto il ciclo di vita del software. Quali sono gli strumenti a disposizione degli attori coinvolti per armonizzare i processi e rilasciare applicazioni sicure by design? In questo workshop capiremo come integrare dei controlli di sicurezza continui nella pipeline CI/CD e individuare le vulnerabilità nel codice che possono sfuggire ai test di sicurezza. Inoltre, scopriremo come proteggere le applicazioni a runtime mentre stiamo rimediando alle vulnerabilità emerse o ancora sconosciute.

    Requisiti

    • Competenze di sviluppo in ambito enterprise (Java, .NET, etc)
    • Conoscenza di base del linguaggio SQL
    • Conoscenze di base di gestione degli OS Unix-like o Windows

Emilio Tonelli, Dynatrace

Michelangelo Uberti, Dynatrace

  • Don't be express when you can be fastify
    BACKEND, Intermedio. Italiano

    Nel 2024 ci sono ancora developer che iniziano nuovi progetti NodeJs utilizzando express, senza conoscere le criticità che questa scelta potrebbe portare.

    Esiste una soluzione che permette di fare tutto ciò che fa express, ma in modo più veloce e sicuro, il suo nome è fastify.

    In questo workshop, impareremo: cos’è fastify, come fare il setup, come creare endpoint REST e come funziona il suo plugin system.

    Al termine del workshop avremo le basi per creare applicazioni web altamente performanti e sicure.

    Requisiti

    • Conoscenza di NodeJs e JavaScript/TypeScript
    • Mac o PC con NodeJs installato preferibilmente la LTS (attualmente la v20)
    • git installato nella macchina
    • IDE o editor per sviluppare a piacere (VSCode, WebStorm, Neovim etc etc)

Luca Del Puppo, Nearform

12:10

TRACK 1

TRACK 2

  • Open Telemetry per l’osservabilità centralizzata
    DEVOPS, Intermedio. Italiano

    Il progetto OpenTelemetry (OTEL) di CNCF ha l’obiettivo di costruire un framework per l’osservabilità delle applicazioni; punto fondamentale del progetto è l’essere agnostico rispetto a vendor e tool, permettendo l’utilizzo di un ampio set di strumenti di back-end per la conservazione dei dati raccolti. OpenTelemetry si concentra quindi solamente sulla raccolta dei dati (tracce, metriche e log). In questo workshop andremo ad instrumentare un’applicazione Java per la raccolta della telemetria, la quale verrà gestita per mezzo di Grafana Stack deployato all’interno di un cluster Kubernetes.

    Requisiti

    • Installazione Docker Per utenti Mac o Windows, configurare le risorse dedicate a Docker come indicato nella sezione “Settings for Docker Desktop”
    • Installazione kind
    • Installazione helm
    • Installazione helmfile
    • Basi di Docker, Kubernetes e sviluppo applicazioni Java

Simone Ripamonti, Bitrock

Simone Esposito, Bitrock

  • TDD from back to front of your app with Vitest
    BACKEND, Intermedio. Inglese

    In this workshop, we will learn how to write secure code for our TypeScript applications using Test-Driven Development approach, using Vitest and other supporting library. We will start with defining the unit tests for our backend APIs in Node and frontend code in React, then moving up to more advanced topics such as mocking and spying for integration tests. We will also learn the benefits of TDD (Test Driven Development), get familiar with Vitest syntax and best practices. By the end of the workshop, we will be ready to develop a testing plan for our application, including testing both expected functionalities and unexpected errors.

    Requisiti

    • JavaScript, TypeScript, VSCode, Nodejs and a working laptop

Maya Shavin, Microsoft

13:55

TRACK 1

TRACK 2

  • Dev Ops e Low su Oracle Cloud Infrastructure: una guida pratica
    DEVOPS, Intermedio. Italiano

    Durante il workshop Oracle Cloud Infrastructure DevOps e Oracle APEX impareremo a realizzare con APEX una Social Application multi-device integrata con i servizi di Artificial Intelligence di OCI. Inoltre, scopriremo come sfruttare i servizi Oracle Cloud Infrastructure come Autonomous Database e Kubernetes insieme agli strumenti di sviluppo. La sessione pratica assicura una comprensione concreta di queste potenti risorse, consentendo ai partecipanti di elevare le loro capacità di gestione e sviluppo applicativo con i servizi Oracle Cloud.

    Requisiti

    • Conoscenza Oracle Database and Oracle APEX è desiderabile ma non necessaria
    • Conoscenza base di Oracle Cloud Infrastructure (OCI)
    • Conoscenza dei tool CI/CD
    • Conoscenza con Database e SQL è desiderabile ma non necessaria

Andrea Di Placido, Oracle

Paolo Bellardone, Oracle

  • Playwright, scelgo te!
    FRONTEND, Intermedio. Italiano

    Il mondo Javascript è caratterizzato dall’abbondanza di strumenti e librerie.

    La categoria della quale Playwright fa parte non è da meno: negli anni abbiamo visto nascere strumenti come Puppeteer, Protractor, WebDriver IO, Cypress ecc..

    Playwright, la cui prima versione è stata pubblicata nel 2020 da Microsoft, è stato progettato per rispondere alle esigenze di avere uno strumento “moderno”, affidabile, veloce, con un’API in grado di automatizzare test su tutti i browser più conosciuti.

    Requisiti

    • Conoscenze base di Javascript/Typescript
    • Opzionali:
      Conoscenze di una o più librerie come React.js, Svelte, Vue.js
    • Ambiente Node.js per provare esempi

Luigi Colombi, Jointly

15:40

TRACK 1

TRACK 2

  • From code programming to prompt programming: use AI to improve your productivity
    EMERGING TECHNOLOGIES, Intermedio. Italiano.

    In questo workshop interattivo scopriremo le funzionalità di Duet AI for Developers, una soluzione basata su Generative AI che ha l’obiettivo di aumentare la produttività e migliorare l’esperienza di chi sviluppa software.
    Vedremo, attraverso esempi ed esercizi pratici in Python e Java, come usare Duet AI per generare codice da prompt in linguaggio naturale, usare il completamento automatico, generare unit test e documentare codice esistente.
    Per gli esempi e gli esercizi useremo diversi ambienti di sviluppo come VS Code, IntelliJ e Cloud Workstations con Code OSS.

    Requisiti

    • Conoscenza base Python o Java
    • Browser moderno e connettività internet
    • Creazione di account su explore.qwiklabs.com (possibile farlo durante il workshop)

Giovanni Galloro, Google

Fabrizio Pazzella, Google

  • Da Macro a Micro: il micro frontend nella pratica
    FRONTEND, Intermedio. Italiano

    Sviluppare un’interazione potrebbe essere più impegnativo che creare un frontend: le PWA, molteplici dispositivi mobile, il desktop e la visualizzazione in auto non sono gli unici contendenti nell’arena. Creare un’applicazione richiede infatti più composizione che sviluppo. Come raggiungere tutto ciò?

    Requisiti

    • Sviluppo web in generale: Docker, NodeJs e Javascript/Typescript

Emanuele Pajoro, Wefox

Francesco Catalano, Wefox

17:25

TRACK 1

TRACK 2

  • Serverless Rust su AWS Lambda "for fun and profit"
    EMERGING TECHNOLOGIES, Intermedio. Italiano

    Esploriamo l’incrocio tra la flessibilitá di AWS Lambda e le performance di Rust, scoprendo perché Rust è la scelta perfetta per dominare questo ambiente innovativo e dinamico.
    Durante la sessione scriveremo la prima funzione Lambda “Hello World” utilizzando Rust, scopriremo poi come testarla localmente e come rilasciarla in produzione.
    Esploreremo poi un caso d’uso piú concreto sviluppando un’API in Rust da rilasciare con SAM per gestire la definizione dell’infrastruttura secondo la metodologia IaC (Infrastructure as Code).
    Questo workshop, oltre alle conoscenze pratiche, darà l’ispirazione per trasformare il modo di sviluppare applicazioni puntando a pratiche e tecnologie innovative come Serverless e Rust.

    Requisiti

     

    Più dettagli sugli requisiti a questo link

Luciano Mammino, fourTheorem

  • Costruire componenti accessibili: un approccio pratico con Web Components
    FRONTEND, Intermedio. Italiano

    Nel panorama sempre più dinamico dello sviluppo frontend, garantire l’accessibilità è essenziale per raggiungere un vasto pubblico e rispettare gli standard del settore.

    Esploreremo l’importanza di rendere i componenti web accessibili e gli approcci pratici per raggiungere questo obiettivo, utilizzando Web Components.

    Attraverso esempi concreti vedremo come integrare l’accessibilità nei flussi di sviluppo frontend, migliorando così l’esperienza per tutti gli utenti sul web.

    Requisiti

    • conoscere js e/o i web component

Diana Bernabei, Inclusio

20 marzo

10:00

Welcome – opening and intro 

Michela Bertaina, Codemotion

Luca Fregoso, Codemotion

10:15

TRACK 1

TRACK 2

  • Prendersi cura delle API
    BACKEND, Intermedio. Italiano.

    Nel panorama dello sviluppo software moderno, garantire l’affidabilità e la conformità delle API è diventato un obiettivo cruciale. Questo workshop si propone di esplorare l’uso di Spectral, uno strumento open-source di linting e validazione per descrizioni di API. Spectral offre un approccio versatile alla validazione, permettendo di applicare regole personalizzate e standard dell’industria per migliorare la coerenza, la sicurezza e l’usabilità delle API. Nel corso del workshop ne verrà illustrato l’uso applicato a un caso di studio.

    Requisiti

    • Docker
    • capacità di effettuare deploy di applicazioni su docker
    • conoscenza dell’ edit di yaml
    • conoscenza di OPENAPI
    • conoscenza di ASYNCAPI

Andrea Poltronieri, RGI

  • Armageddon - Road to Data Heaven
    AI-ML, Intermedio. Italiano.

    Nell’era dell’AI e dei big data, l’essere data-driven è tra gli obiettivi dichiarati da una sempre più vasta platea di aziende. Ma come si coltiva una cultura data-driven? Siamo sicuri che basti costruire un’efficiente data platform?
    In questo workshop scopriremo come Teams, Power Apps e Power Automate possono rappresentare l’acqua e il fertilizzante necessari per coltivare la data-driven culture tanto desiderata.

    Requisiti

    • Data Analytics, Power Platform, Power BI

Luigi De Poli, Danieli & C. Officine Meccaniche S.p.A.

12:00

TRACK 1

TRACK 2

  • Best practices e pattern per affrontare preparati la modernizzazione tecnologica
    EMERGING TECHNOLOGIES, Intermedio. Italiano.

    La modernizzazione tecnologica dei sistemi legacy è uno degli aspetti fondamentali della Trasformazione Digitale. Approcciare questa attività, in particolare su servizi critici, richiede una forte comprensione dell’architettura esistente, identificando i punti critici per pianificare una strategia di migrazione graduale. Best practices e pattern standard possono guidare efficacemente il processo garantendo continuità di servizio, monitorando costantemente il progresso e valutando l’impatto delle modifiche per assicurare una transizione sicura.

    Requisiti

Francesco Del Re, Almaviva

  • Web3, Build your first application
    EMERGING TECHNOLOGIES, Intermedio. Italiano

    Web3, spesso descritto come il web decentralizzato, introduce tecnologie innovative come la blockchain. Ma quanto incide tutto ciò nella vita di uno sviluppatore?
    In questo workshop scopriremo alcuni casi d’uso di app Web3 e quali sono gli ingredienti necessari per sviluppare con successo app decentralizzate.
    Partendo da un’applicazione Web2 e integrando i tool necessari, creeremo la nostra prima applicazione decentralizzata.

    Requisiti

    • un buon IDE o editor
    • browser chrome e installazione di un wallet Metamask (preferibile averlo già installato e configurato)
      – node.js (useremo npm come package manager)
      – conoscenze base di sviluppo frontend

Soumaya Erradi, Scaling parrots

13:45

TRACK 1

TRACK 2

  • Accessibility driven development
    FRONTEND, Intermedio. Inglese

    Exploring accessibility and creating accessible websites.

    We will start with an introduction to accessibility and move towards examples and hands-on exercises.

    This will include practical examples of inaccessible code and how to fix those. We will see how accessibility can improve our website usability and how everyone benefits from it.

    The objective of this workshop is that the participants get a clear understanding of the concepts of accessibility and a rich hands-on experience that will enable them to apply the concepts learned within their projects/frameworks and contribute toward a more inclusive and accessible digital world.

    Requisiti

    • experience with frontend development, workable knowledge of html, css, and javaScript
    • A browser (preferable chrome)
    • Optional: install NVDA software if you have Windows

Anuradha Kumari, VodafoneZiggo

  • La ruota reinventata (ancora) una volta?
    FRONTEND, Intermedio. Italiano

    Avete la sensazione di déjà vu nei progetti? Già visto, già fatto? Scopriremo la libreria DCX React library con componenti comuni di React che ci consentirà di consegnare i progetti rapidamente, riducendo costi e tempi.
    Ci sono molte librerie disponibili in React che possono aiutarci ad aumentare la nostra produttività, tuttavia, la maggior parte di esse include molto CSS e risulta difficile da personalizzare in base alle esigenze del nostro progetto, dcx-react-library è una libreria React agnostica che offre un insieme di componenti pronti all’uso nel nostro progetto.

    Requisiti

    • IDE (VS Code)
    • Github
    • Javascript
    • React
    • CSS & SCSS
    • HTML

Gentian Polovina, Capgemini

Daniele Zurico, Capgemini

15:30

TRACK 1

TRACK 2

  • Create your own v0 exploiting generative AI
    EMERGING TECHNOLOGIES, Intermedio. Italiano

    L’AI generativa sta rivoluzionando lo sviluppo del software. Il recente rilascio di v0 da parte di Vercel è uno dei tanti esempi. Bellissimo! Peccato però che ogni azienda ha il suo design system, la sua libreria di componenti, i suoi standard interni e v0 non li supporta (per ora).

    In questo workshop, vogliamo provare a costruire insieme una versione semplificata di v0, in grado di generare a partire da prompt testuali del codice che utilizzi una specifica libreria di componenti e che aderisca ad un design system, sfruttando alcuni dei più comuni pattern dello sviluppo di app basate su LLM (RAG, in-context learning, multi-stage reasoning).

    Alla fine avremo compreso alcune tecniche di base per l’integrazione di AI Generativa in un progetto software e come si potrebbe sfruttare per il supporto al lavoro di tutti i giorni.

    Requisiti

    • NodeJS >= 20 e un IDE installato
    • Conoscenze HTML, CSS
    • Conoscenze di base TypeScript
    • Un pizzico di Node

Luca Micieli, xtream

Riccardo Zoncada, xtream

  • The bees are important: use SDKs wisely
    BACKEND, Intermedio. Italiano

    È risaputo che se le api si estinguessero, molte cose nel mondo (se non il mondo stesso) scomparirebbero.

    Lo stesso vale per le API di terze parti: la maggior parte dei vendor forniscono un SDK per il nostro linguaggio. Se da un lato questo accelera la produttività, dall’altro rallenta le prestazioni e ci rende dipendenti dai bug dell’SDK o dalle vulnerabilità della supply chain, che non sempre vengono affrontate con la velocità che ci si aspetterebbe. Inoltre, non si ha mai a che fare direttamente con l’API e questo elimina la pressione esercitata sui vendor per un’API progettata a misura di sviluppatore.

    Scopriremo come, nella maggior parte dei casi, non sia necessario un SDK, poiché è possibile codificare da soli tutto ciò di cui si ha bisogno utilizzando una semplice chiamata HTTP.

    Requisiti

    • Nessuno

Paolo Insogna

17:00

Wrap up

17:00

Wrap up

L'agenda potrebbe subire variazioni

 Passa all’azione con gli hands-on workshop!
PRENDI IL TUO BIGLIETTO
© Copyright Codemotion S.p.A. Via Marsala, 29/H, 00185 Roma P.IVA 12392791005