Introduzione al Domain Driven Design (DDD)DotNetMarche
In questa sessione si approfondirà il concetto di Domain Driven Design, un principio di progettazione che può essere visto come una “forma-mentis” per aiutare a concepire e modellare applicazioni enterprise che fanno un forte uso del Domain Model. Questa metodologia, introdotta da Eric Evans, mette in risalto il dominio applicativo di un progetto, costituendo quindi il collante tra il modello analitico e il modello implementativo e trovando la sua naturale applicazione in ambienti di sviluppo agili come Extreme Programming. Come completamento della sessione verranno esaminate alcune tecniche di Layering e pattern architetturali che ben si sposano con questa tecnica.
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
Visual Studio Online è uno strumento che fornisce molte funzionalità per l'ALM (Application Lifecycle management) e ad ogni release diventa sempre più completo, funzionale e davvero utile. Si tratta di una piattaforma completa e gratuita di strumenti per lo sviluppo e servizi utili per creare applicazioni multi-piattaforma, progettata per soddisfare i più alti requistiti a livello di disponibilità, scalabilità e complessità di sviluppo.
In questo webcast introduttivo, primo di una serie, vedremo quali sono le caratteristiche di questo strumento, impareremo come utilizzarlo per gestire il lavoro di ogni giorno e prenderemo confidenza con le sue funzionalità. Andremo infine alla scoperta delle nuove feature aggiunte alla suite.
Il buon programmatore - consigli pratici per una vita feliceAndrea Dottor
Lavorando come consulente mi sono trovato spesso di fronte a problematiche (a volte banali), ma che erano la causa di gravi problemi di performance dell'appliccazione realizzata, oppure più banali, ma che rendevano il codice meno manutenibile e gestibile, specialmente lavorando in team. Vedere che nel tempo, persone/realtà diverse, commettono gli stessi errori mi ha fatto pensare a questa sessione...dove intendo elencare i problemi più comuni, che per causa di tempo o scarsa conoscenza, vengono commessi, e proporre delle soluzioni semplici da poter applicare fin da subito. (ASP.NET, ma non solo)
Lavorare con applicazioni Brownfield: il caso di 39x27.comSimone Chiaretta
La maggior parte dei progetti software sono progetti legacy. Anche progetti nuovi possono essere considerati legacy se non pensati correttamente. In questa sessione vedremo gli step per portare un progetto legacy verso un progetto facile da manutenere, testare ed estendere.
E lo faremo usando come caso reale 39x27.com, un sito per il tracking di salite in bicicletta.
Slide della presentazione tenuta il 23 Gennaio 2010 alla 5° UGIALT.NET Conference.
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
Impara React sfruttando le tecnologie più recenti (Eduard Capanu).pptxEduardCapanu
React evolve velocemente con strumenti come Vite.js, Remix, e Next.js, richiedendo aggiornamenti continui delle competenze per gestire nuovi progetti con successo.
Che tu abbia già esperienza con React o che sia alle prime armi, questo talk ti offrirà una nuova prospettiva sulle ultime tendenze di questo framework e ti mostrerà le best practice per la creazione e la configurazione di un progetto.
Esploreremo le ultime innovazioni di React e scopriremo come sfruttare efficacemente le nuove funzionalità per lanciare un nuovo progetto senza intoppi, dalla scelta del framework e della tecnologia, alla configurazione iniziale più adatta.
Vedremo tutti i passaggi chiave per realizzare un progetto React in modo efficiente e impareremo, tra le altre cose, che non sempre ‘create-react-app’ è l’opzione migliore per iniziare un nuovo progetto.
Event link: https://thecmmbay.com/eventi/impara-react-sfruttando-le-tecnologie-piu-recenti-r97r9y7l6
In questa sessione faremo una panoramica a 360 gradi su Blazor, la nuovissima tecnologia Microsoft nata da una (geniale :-) idea di Steve Sanderson per lo sviluppo di applicazioni Web client basate su WebAssembly.
Nell'introduzione parlemermo brevemente di WebAssembly, spiegando di cosa si tratta e del perché questa tecnologia abbia tutte le premesse per portare uno dei più grandi "disruptive changes" nel modo di sviluppare applicazioni Web client. Passeremo poi a Blazor esaminandone prima gli aspetti architetturali e procedendo con un behind the scenes per svelare in che modo avviene la "magia" dell'interazione con il browser. Verranno poi presentate le feature che questa tecnologia offre (template project su VS, components, layouts, binding, dependency injection, hosting) sia attraverso slides che, di pari passo, con delle demo di un'applicazione funzionante realizzata in Blazor. Vedremo poi quali sono le problematiche legate a performance, deployment e distribuzione parlando delle possibili future ottimizzazioni. Infine chiuderemo con un confronto tra Blazor e i maggiori framework ora in uso per lo sviluppo di applicazioni Web client (Angular, Vue, Knockout, ecc.) e con alcune considerazioni sull'impatto che Blazor e tecnologie simili potrebbe avere a cascata per lo sviluppo Web futuro, in una sorta di "butterfly effect" nel mondo Web client.
Introduzione al Domain Driven Design (DDD)DotNetMarche
In questa sessione si approfondirà il concetto di Domain Driven Design, un principio di progettazione che può essere visto come una “forma-mentis” per aiutare a concepire e modellare applicazioni enterprise che fanno un forte uso del Domain Model. Questa metodologia, introdotta da Eric Evans, mette in risalto il dominio applicativo di un progetto, costituendo quindi il collante tra il modello analitico e il modello implementativo e trovando la sua naturale applicazione in ambienti di sviluppo agili come Extreme Programming. Come completamento della sessione verranno esaminate alcune tecniche di Layering e pattern architetturali che ben si sposano con questa tecnica.
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
Visual Studio Online è uno strumento che fornisce molte funzionalità per l'ALM (Application Lifecycle management) e ad ogni release diventa sempre più completo, funzionale e davvero utile. Si tratta di una piattaforma completa e gratuita di strumenti per lo sviluppo e servizi utili per creare applicazioni multi-piattaforma, progettata per soddisfare i più alti requistiti a livello di disponibilità, scalabilità e complessità di sviluppo.
In questo webcast introduttivo, primo di una serie, vedremo quali sono le caratteristiche di questo strumento, impareremo come utilizzarlo per gestire il lavoro di ogni giorno e prenderemo confidenza con le sue funzionalità. Andremo infine alla scoperta delle nuove feature aggiunte alla suite.
Il buon programmatore - consigli pratici per una vita feliceAndrea Dottor
Lavorando come consulente mi sono trovato spesso di fronte a problematiche (a volte banali), ma che erano la causa di gravi problemi di performance dell'appliccazione realizzata, oppure più banali, ma che rendevano il codice meno manutenibile e gestibile, specialmente lavorando in team. Vedere che nel tempo, persone/realtà diverse, commettono gli stessi errori mi ha fatto pensare a questa sessione...dove intendo elencare i problemi più comuni, che per causa di tempo o scarsa conoscenza, vengono commessi, e proporre delle soluzioni semplici da poter applicare fin da subito. (ASP.NET, ma non solo)
Lavorare con applicazioni Brownfield: il caso di 39x27.comSimone Chiaretta
La maggior parte dei progetti software sono progetti legacy. Anche progetti nuovi possono essere considerati legacy se non pensati correttamente. In questa sessione vedremo gli step per portare un progetto legacy verso un progetto facile da manutenere, testare ed estendere.
E lo faremo usando come caso reale 39x27.com, un sito per il tracking di salite in bicicletta.
Slide della presentazione tenuta il 23 Gennaio 2010 alla 5° UGIALT.NET Conference.
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
Impara React sfruttando le tecnologie più recenti (Eduard Capanu).pptxEduardCapanu
React evolve velocemente con strumenti come Vite.js, Remix, e Next.js, richiedendo aggiornamenti continui delle competenze per gestire nuovi progetti con successo.
Che tu abbia già esperienza con React o che sia alle prime armi, questo talk ti offrirà una nuova prospettiva sulle ultime tendenze di questo framework e ti mostrerà le best practice per la creazione e la configurazione di un progetto.
Esploreremo le ultime innovazioni di React e scopriremo come sfruttare efficacemente le nuove funzionalità per lanciare un nuovo progetto senza intoppi, dalla scelta del framework e della tecnologia, alla configurazione iniziale più adatta.
Vedremo tutti i passaggi chiave per realizzare un progetto React in modo efficiente e impareremo, tra le altre cose, che non sempre ‘create-react-app’ è l’opzione migliore per iniziare un nuovo progetto.
Event link: https://thecmmbay.com/eventi/impara-react-sfruttando-le-tecnologie-piu-recenti-r97r9y7l6
In questa sessione faremo una panoramica a 360 gradi su Blazor, la nuovissima tecnologia Microsoft nata da una (geniale :-) idea di Steve Sanderson per lo sviluppo di applicazioni Web client basate su WebAssembly.
Nell'introduzione parlemermo brevemente di WebAssembly, spiegando di cosa si tratta e del perché questa tecnologia abbia tutte le premesse per portare uno dei più grandi "disruptive changes" nel modo di sviluppare applicazioni Web client. Passeremo poi a Blazor esaminandone prima gli aspetti architetturali e procedendo con un behind the scenes per svelare in che modo avviene la "magia" dell'interazione con il browser. Verranno poi presentate le feature che questa tecnologia offre (template project su VS, components, layouts, binding, dependency injection, hosting) sia attraverso slides che, di pari passo, con delle demo di un'applicazione funzionante realizzata in Blazor. Vedremo poi quali sono le problematiche legate a performance, deployment e distribuzione parlando delle possibili future ottimizzazioni. Infine chiuderemo con un confronto tra Blazor e i maggiori framework ora in uso per lo sviluppo di applicazioni Web client (Angular, Vue, Knockout, ecc.) e con alcune considerazioni sull'impatto che Blazor e tecnologie simili potrebbe avere a cascata per lo sviluppo Web futuro, in una sorta di "butterfly effect" nel mondo Web client.
1. A seguire, una breve presentazione del mio profilo:
Sono un Software Architect, Analista, Developer Senior, specializzato in
applicazioni Java Enterprise e SOA con più di 15 anni di esperienza che mi hanno
portato ad approcciare le problematiche più diverse e i contesti più esigenti e
mi hanno insegnato a essere aperto e assertivo a seconda degli scenari nei quali
mi trovavo.
Mi piace descrivermi come un appassionato di questo lavoro con conoscenze di
"nicchia" e una visione ad alto spettro del progetto non volendo però perdere
contatto con la realizzazione del software vera e propria., In gergo potrei dire
che mi piace .... anzi, trovo essenziale "sporcarmi le mani con il codice".
Avendo visto maturare questo settore negli anni e passare le tecnologie più
disparate ho scelto di focalizzare la mia professionalità sull'integrazione di
sistemi, in particolare con un occhio di riguardo alle architetture orientate ai
servizi e alla gestione dinamica dei processi di business
Le applicazione SOA a me più familiari sono Tibco Buisness Works e Oracle SOA
(certificato Weblogic Integration) come soluzioni legacy e pilastri a cui fare
riferimento, ma anche Apache ServiceMix, Mule3, e poi i vari BPM come jBPM,
Activiti, OpenSynphony e Bonita.
Oltre, natualmente, Spring Core come framework di riferimento per implementare i
componenti richiesti e Spring Integration e/o Apache Camel per implementare
ulteriori strati di integrazione.
Mi sono spesso proposto durante la fase iniziale del progetto ad occuparmi del
set-up dell'ambente di programmazione. ambiente composto possibilmente dai
seguenti componenti evoluti (frameworks,servers):
- Un distributore sincronizzato di codice (CVS, SVN, GitHub, PVCN, ecc..)
- Un motore di compiilazione con la possibilità di gestire task e condizioni, di
impostare parametri che rendano la compilazione dinamica, (Preferibilmente
maven2/3 ma anche Ant, Gant, Gradle, Raven, Ivy, insommma sarebbe un bel
capitolo da approfondire)
- Vari framework di testing sia unitari (Junit, UnitNG che funzionali
(Selenium), e ne regression
- Frameworks per l'analisi del codice, qualità , metriche, (Io consiglio Sonar,
Cobertura/Emma/CoCoCo, Mcahve)
- Issue Tracker (Jira, Trac o Redmine) e possibilmente anche un modulo di
gestione parallela di attività (che non tutti gli Issues Tracker svolgono);
naturalmente il tutto coadiuvato da un Framework di Continuous Integration come
Jenkins
Mi sono dilungato su questo aspetto perchè secondo me è fondamentale all'inizio
di un progetto perdere un pò di tempo per tirare su un'infrastruttura che
rispetti due paradigmi:
- ciò che non compila non deve essere committato
- l'integrazione continua deve essere bi-direzionale e ripritinabile
(ovvero, la configurazione ideale, quella a cui vorrei tendere utopicamente,
dovrebbe prevedere un sistema di screenshoots che permetta un back-up on-the-
fly da-a, {teoricamente}, qualsiasi situazione "...nel tempo e nello spazio..."
Attualmente sono dipendente con contratto a tempo determinato CCNL Commercio
2°livello.
La retribuzione attuale, ragionando in termini di R.A.L., di 42000 annui su 14
mensilità (ovvero 2000 euro al mese netti), costituisce il mio desiderata in
materia di richiesta economica, salvo richieste di trasferta e/o trasferimenti.
---------- RICHARD GENNARO ----------
Software Architect SOA/ESB/BPM Expert
=====================================
e-mail : richardgennaro@gmail.com
=====================================
Mobile : +39.334.71.56.742
Tel/Fax.: +39. 06.65.52.010
=====================================