Prossimi eventi

Nessun evento in arrivo

primi passi con lo unit testing

Introduzione allo Unit Testing – Ancona, 6 marzo 2019

La scrittura di test automatici nello sviluppo software è ormai di fondamentale importanza, in quanto permette di:

  1. Individuare e correggere molto prima, già in fase di sviluppo, i bug.
  2. Sviluppare e testare più velocemente il codice, riducendo di molto le volte in cui bisogna ricorrere al debugger.
  3. Essere molto più confidenti che una modifica fatta ad un “vecchio” pezzo di codice non “rompa” tutto il resto e non funzioni più niente (ovviamente scoprendolo quando ormai si è rilasciato in produzione!).

Questi sono “solo” 3 di una quindicina di benefici che sono riuscito ad elencare, ottenibili utilizzando una pratica durante lo sviluppo del codice: la scrittura di test automatici.

Con questo workshop vogliamo introdurre gli sviluppatori ai test automatici, una pratica purtroppo non ancora conosciuta e utilizzata quanto meriterebbe, che può cambiare radicalmente il modo con cui scriviamo il codice, portandolo verso un approccio più “ingegneristico”.

Faremo una panoramica sulle varie tipologie di test e sui benefici che possono portare, approfondendo in particolare i test unitari (unit test) e d’integrazione (integration test).

In un workshop successivo (di cui seguiranno nei prossimi giorni i dettagli) saranno approfonditi ulteriori argomenti come i test end-to-end, il “Property Based Testing” ed il “Mutation Testing”.

I test automatici sono un argomento trasversale ai linguaggi di programmazione, perciò potrete seguire il workshop a prescindere da quale linguaggio utilizziate.

Non è richiesto l’utilizzo del computer.

Speaker: Stefano Ottaviani

Location
CoWo Ancona – Via Primo Maggio 20, Ancona (zona UCI Cinemas) – https://goo.gl/maps/jhSnGg1FF5p

devmarche-angularandbeyond

Angular and Beyond – Ancona, 7 dicembre 2018

devmarche-angularandbeyond

 

Angular è una piattaforma per lo sviluppo di applicazioni web nata dai laboratori Google e disponibile con licenza open source.
Negli anni è diventato un strumento molto potente e versatile, utile non solo per la scrittura di SPA (Single Page Application), ma anche per lo sviluppo di applicazioni mobile e addirittura desktop.

In questa giornata su Angular “e dintorni”, vedremo infatti come Angular possa essere impiegato per lo sviluppo web, per realizzare app mobile (anche con diversi approcci, in particolare confronteremo NativeScript e Ionic) o applicazioni desktop grazie all’uso di Electron.

E, chicca della giornata, vedremo persino come generare un’intera SPA Angular usando un framework realizzato in C# (ma lo stesso sistema potrebbe essere “ricostruito” in qualsiasi linguaggio/tecnologia server-side). Un approccio non molto comune, ma che può dare notevoli vantaggi agli sviluppatori che hanno maggiore dimestichezza con i linguaggi “da backend”, come appunto il C#, e non hanno invece molta familiarità con le tecnologie per il frontend web. E che, cosa da non sottovalutare, permette inoltre di gestire con maggiore tranquillità le breaking changes introdotte di volta in volta nelle nuove major release di Angular.

 

 

Speakers

 

Michele Aponte - CEO/CTO Blexin srl

michele-aponteMichele Aponte è cofondatore e presidente della community DotNetCampania, con la quale organizza eventi tecnici inerenti le tecnologie Microsoft sul territorio campano.

Attualmente è cofondatore e CEO di Blexin Srl, dove si occupa di sviluppo web e mobile su piattaforma Microsoft.

E’ MCP, MCTS, MCPD e MCT. Dal 1 Gennaio 2011 è Microsoft MVP nella categoria Asp.Net/IIS

LinkedinTwitterGitHub

Alessandro Giorgetti - Software Developer SID srl

alessandro-giorgettiSoftware Architect wannabe: un ingegnere microelettronico con la passione dell’informatica.
Sempre pronto ad imparare, mettersi alla prova e condividere esperienze e quel poco di conoscenza acquisita nel corso del tempo.

Tra i fondatori delle community DotNetMarche e DevMarche, attivo come speaker ed organizzatore di eventi; negli ultimi anni scopro la passione per lo sviluppo di soluzioni basate su sistemi distribuiti.

LinkedinTwitterGitHub

Stefano Ottaviani - Software Engineer Smart Mobile srl

stefano-ottaviani Cofondatore della community DevMarche (e prima di allora di altri user group come DotNetMarche e XPUG Marche): si “diverte” ad organizzare eventi dedicati allo sviluppo software, soprattutto nelle amate Marche.

Attualmente è Sofware Architect in Smart mobile Srl, ma si occupa di mobile sin dai tempi di Palm OS.

Oltre al mobile, è particolarmente interessato alle metodologie agili e a Domain Driven Design.

LinkedinTwitter

Alessio Marinelli - Software Developer Antos srl

alessio-marinelliSoftware developer in costante ricerca di nuove cose da imparare.

Nerd e gamer di vecchia scuola, con la passione per tutto ciò che può essere smontato, modificato e rimontato in modo diverso.
Spiccata propensione al collezionismo di vinili, fumetti, retroconsole e Lego.

Attualmente è sviluppatore software in Antos srl, dove segue il settore manufacturing e le tecnologie IoT e cloud.

Linkedin – GitHub

 

Agenda

 

  • 09.00 Registrazione partecipanti
  • 09.30 Presentazione della giornata
  • Presentazione della giornata Presentazione della giornata
    Presentazione del DevMarche e delle sue attività, e overview delle sessioni della giornata previste in agenda
  • 10.00 Sessione 1 
    Primi passi con Angular e TypeScript (Alessio Marinelli) Primi passi con Angular e TypeScript (Alessio Marinelli)
    Prima volta con Angular?
    In questa sessione introduttiva vedremo le peculiarità chiave di Angular, celebre framework web di casa Google pensato per lo sviluppo di Single Page Applications, e TypeScript, il linguaggio di programmazione che estende JavaScript sviluppato da Microsoft per le grandi applicazioni.
  • 11.00 Sessione 2 
    Introduction to Reactive programming with RxJS (Alessandro Giorgetti) Introduction to Reactive programming with RxJS (Alessandro Giorgetti)
    Mai sentito parlare di Reactive Programming?
    Te la faccio breve, brevissima: è un “pattern architetturale” che promuove la costruzione di sistemi che siano Responsivi, Resilienti, Elastici ed Orientati ai Messaggi. Suona molto “roba da backend”… e invece no!
    Possiamo creare anche delle “UI reattive”, come? Con librerie quali RxJS. Vedremo alcuni dei concetti che stanno alla base delle applicazioni reattive ed introdurremo RxJS, una delle più note librerie per Reactive Programming in JavaScript.
  • 11.30 Coffee break
  • 12.00 Sessione 3
    Angular meets Rx: an overview of ngrx (Alessandro Giorgetti) Angular meets Rx: an overview of ngrx (Alessandro Giorgetti)
    RxJS è una della librerie principali per Reactive Programming in JavaScript basata sull’Observable pattern e sugli Observables.
    Occorre tuttavia “formalizzare” e fornire delle chiare linee guida per la costruzione di una UI Reattiva sfruttando le potenzialità offerteci da RxJS; @ngrx “Reactive libraries for Angular” fa proprio questo: mette a disposizione una serie di moduli e librerie che forniscono supporto ed implementazioni di riferimento per la creazione di applicazioni Event Driven (event sourcing applicato alla UI), gestione dello stato (seguendo il paradigma originariamente introdotto da Flux e Redux), degli “effetti collaterali” e tool di debugging.
  • 13.00 Lunch break
  • 14.00 Ripresa dei lavori
  • 14.15 Sessione 4
    Un framework sul framework: generare una SPA dinamicamente in Angular partendo da un backend .NET (Michele Aponte) Un framework sul framework: generare una SPA dinamicamente in Angular partendo da un backend .NET (Michele Aponte)
    Avevamo la necessità di realizzare il pannello di amministrazione della nuova versione del nostro CMS in modo che fosse una SPA dinamica e pluggabile a partire dalle informazioni che arrivano dal back-end: abbiamo scelto Angular e abbiamo creato dei componenti che dinamicamente generano la UI sulla base dello schema JSON, generato dinamicamente a partire dalla classi del backend scritto in .NET.
    Ne è venuto fuori un prodotto, che abbiamo chiamato Raptor, e che sarà presto rilasciato su GitHub come progetto open source. L’idea è mostrare come spingere Angular e .NET per automatizzare la generazione della UI in un sistema a plug-in che gestisca operazioni CRUD con logica business collegata mediante eventi sottoscrivibili e quindi personalizzabili.
    Si daranno per conosciute le basi dei framework Angular e .NET.
  • 15.15 Sessione 5
    Sviluppare applicazioni mobile con Angular e Typescript: NativeScript vs Ionic (Michele Aponte) Sviluppare applicazioni mobile con Angular e Typescript: NativeScript vs Ionic (Michele Aponte)
    Dopo aver investito su Angular per lo sviluppo web, possiamo riutilizzare quanto imparato per sviluppare app mobile per iOS e Android?
    La risposta è si e possiamo scegliere, sulla base dei nostri requisiti, tra realizzare una app nativa con NativeScript o ibrida con Ionic.
    Vedremo insieme potenzialità e limiti di entrambi gli approcci, cercando di capire quando scegliere uno piuttosto che l’altro, con un approccio molto pratico.
  • 16.15 Coffee break
  • 16.45 Sessione 6 
    Realizzare Applicazioni desktop con Electron e Angular (Michele Aponte) Realizzare Applicazioni desktop con Electron e Angular (Michele Aponte)
    Nonostante tutti dicano che il desktop è morto ci sono ancora tante applicazioni e utenti che vedono in una applicazione installabile sul proprio PC tanti vantaggi.
    Con Electron possiamo sfruttare le nostre competenze web per realizzare una application desktop multipiattaforma, che può sfruttare features del sistema operativo a cui una app web non può accedere.
    In questa sessione vedremo, con un approccio esclusivamente pratico, come realizzare con Electron e Angular una classica applicazione gestionale da installare sul nostro desktop.
  • 18.00 Chiusura dei lavori

 

Location

Università Politecnica delle Marche – Facoltà di Ingegneria
via Brecce Bianche 12, Ancona

Aula 160/3

https://goo.gl/maps/63DEhd7o8TP2

 

Sponsor

La giornata è realizzata in collaborazione con

blexin

 

Cena

A chiusura dell’evento e della stagione 2018 di attività del DevMarche stiamo organizzando una cena post-evento (il luogo sarà deciso anche in base al numero dei partecipanti).

Gli interessati a partecipare possono inviare una mail a info[@]dev.marche.it indicando nome, cognome ed eventuali preferenze e/o intolleranze alimentari (es. vegetariano, vegano, intollerante al lattosio, celiaco,…)

 

Registrazione

Per poter essere efficienti e garantire una buona organizzazione dell’evento dobbiamo purtroppo limitare il numero di partecipanti, per questo ti richiediamo di effettuare l’iscrizione se sono ancora disponibili dei posti.

L’evento è gratuito, ma la registrazione è obbligatoria. Se ti sei registrato ma non puoi partecipare (o hai cambiato idea) ti chiediamo di annullare la tua registrazione per liberare il tuo posto.