DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
Continuous Integration con SQL Server. Come automatizzare i processi di build e di test su database SQL Server. Come includere SQL Server nei processi di Application Lifecycle Management (Database Lifecycle Management).
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
Continuous Integration con SQL Server. Come automatizzare i processi di build e di test su database SQL Server. Come includere SQL Server nei processi di Application Lifecycle Management (Database Lifecycle Management).
Dependency injection questa sconosciutaAndrea Dottor
L'uscita di ASP.NET Core ha portato a una maggiore diffusione dell'utilizzo della DI (Dependency Injection) ma spesso senza che lo sviluppatore sappia la sua reale utilità o potenzialità.
Dependency Injection, uno dei design pattern della programmazione OOP. Una best-practice dello sviluppo che può portare alla semplificazione del codice scritto, facilitare il disacoppiamento, e migliorare la testabilità.
In questa sessione vedremo cos'è la DI e come utilizzarla intelligentemente all'interno dei nostri progetti.
Slide dell'evento "XE One Day - Good code" tenuto il 15.09.2018.
Il codice è disponibile alla pagina dell'evento https://www.xedotnet.org/eventi/one-day-good-code/
Sessione per NetCampus 2015. La diffusione sempre più ampia di applicazioni sviluppate interamente in HTML5 e JS richiede l'adozione di processi di automazione per la fase di build, testing e rilascio. In questa sessione vedremo quali sono i principali strumenti a nostra disposizione per semplificare queste fasi dello sviluppo.
Xamarin.Forms is a framework for building cross-platform applications that share most of the UI codebase among the UWP, iOS and Android platforms. Due to the higher level of abstraction compared to Xamarin.Native, Xamarin.Forms applications may suffer from memory leaks and slow rendering times at the expense of the final user experience. In the session, we will explore the mechanisms used by Xamarin.Forms to translate abstract UI components into native ones, highlight with demos what are the main bottlenecks met by developer, how to solve them and get close to native performances.
Actions on Google e Alexa skills per .NET loversLorenzo Giudici
Evento #Aperitech 05/11/2019 organizzato da Codemotion.
Ospite: la community di Milano Chatbots con 5 talk per illustrare lo stato dell'arte dei chatbot e dei voicebot.
1° Talk tecnico:
"Google Home", "Alexa", "Skills", "Smart speaker"… ne sentiremo parlare (tanto) anche nel 2020 e noi sviluppatori .NET possiamo cavalcare l'onda perchè abbiamo tutti gli strumenti e le competenze necessarie.
VIDEO: https://youtu.be/tboHO_mj2uM
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#DotNetCampus
Visto il successo dello scorso anno, anche quest’anno il DotNetCampus ospita un Cert Path dedicato a chi vuole avvicinarsi al mondo delle certificazioni di prodotto e di tecnologia Microsoft. Microsoft, così come altre importanti aziende sul mercato, propone diversi percorsi di certificazione che ognuno può intraprendere, anche in autonomia, per guadagnare competenza e ottenere un riconoscimento. Una certificazione è generalmente un titolo che si ottiene dopo uno o più esami conseguiti con successo in un centro di formazione abilitato. Nel Cert Path vogliamo spiegarvi come affrontare alcuni esami di base per ottenere il titolo di MCP (Microsoft Certified Professional).
Async: scalabilità e responsiveness senza pari! @ CDaysMatteo Baglini
Per ottenere applicazioni scalabili con un consumo minimo di risorse e una UI sempre reattiva,
dobbiamo scrivere software che opera in maniera asincrona.
In questa sessione vedremo perchè è importante sfruttare questo tipo di programmazione e
quali strumenti mette a disposizione il .NET Framework.
http://www.communitydays.it/events/communitydays-2013/misc04/
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
In questa sessione vedremo come utilizzare Windows Azure per velocizzare e semplificare la realizzazione di applicazioni ASP.NET. Dallo sviluppo al deploy, passando per lo storage...andremo in dettaglio su varie funzionalità che ci faranno apprezzare ancora più la piattaforma Windows Azure.
Intelligenza artificiale nel mondo front-end - CodeGen2021Michele Aponte
Le applicazioni dell'intelligenza artificiale sono tantissime e ci permettono di andare a risolvere specifici problemi per dare valore alle nostre soluzioni: proviamo a immaginare una nuova User eXperience per le nostre applicazioni business che vada oltre pagine e forms e che sfrutti nuove tipologie di interazioni rese possibili dalle applicazioni della IA.
In ASP.NET Core 3.0 è stato introdotto il supporto a gRPC, una framework altamente performante per fare Remote Procedure Call (RPC). Leggero e molto efficiente, supportato da molti linguaggi, supporto ad una comunicazione bidirezionale, riduzione del consumo di banda...solo questi solo alcuni dei vantaggi che descrivono gRPC, e che durante la sessione cercheremo di capire se siano reali o meno.
Fatto sta che è una tecnologia assolutamente da conoscere e sfruttare nello sviluppo di app moderno, e non solamente in ambito web.
Codice: https://github.com/andreadottor/XE.Dottor.gRPC
Evento: https://www.xedotnet.org/eventi/grpc-and-c-optimising-night/
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!DotNetCampus
AppStudio e' un ambiente RAD web based per lo sviluppo di Universal App (Windows Phone 8.1 e Windows 8.1) per la visualizzazioni di sorgenti dati. In questa sessione vedremo come sia facile realizzare da zero un'app che acceda a sorgenti remote e come sia, infine, possibile personalizzare il codice sorgente per poter implementare le proprie personalizzazioni.
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEDotNetCampus
Questa sessione tratterà delle implementazioni di architetture robuste e scalabili, in scenari di sviluppo applicativi rientranti nella tipologia dei Software as a Service. In particolare vedremo come accopiare le feature e le necessità del SaaS con servizi propri presenti su Azure; con focus su web, servizi mobili, data, e notification.
"Don't call us, we'll call you" - AngularJS meets Event-Driven ArchitectureLuca Milan
Slides del talk del 21 Marzo al 1° AngularJS Day ad Ancona. Come realizzare una dashboard per consultare in tempo reale l'andamento dei piloti in una gara del MotoGP. Tutte le variazioni saranno notificate al client evitando il polling continuo al server. L'architettura dell'applicazione seguirà il paradigma della Command-Query-Responsibility-Segregation (CQRS) in 'salsa' REST.
Demo su: http://angularjsday.azurewebsites.net/
Dependency injection questa sconosciutaAndrea Dottor
L'uscita di ASP.NET Core ha portato a una maggiore diffusione dell'utilizzo della DI (Dependency Injection) ma spesso senza che lo sviluppatore sappia la sua reale utilità o potenzialità.
Dependency Injection, uno dei design pattern della programmazione OOP. Una best-practice dello sviluppo che può portare alla semplificazione del codice scritto, facilitare il disacoppiamento, e migliorare la testabilità.
In questa sessione vedremo cos'è la DI e come utilizzarla intelligentemente all'interno dei nostri progetti.
Slide dell'evento "XE One Day - Good code" tenuto il 15.09.2018.
Il codice è disponibile alla pagina dell'evento https://www.xedotnet.org/eventi/one-day-good-code/
Sessione per NetCampus 2015. La diffusione sempre più ampia di applicazioni sviluppate interamente in HTML5 e JS richiede l'adozione di processi di automazione per la fase di build, testing e rilascio. In questa sessione vedremo quali sono i principali strumenti a nostra disposizione per semplificare queste fasi dello sviluppo.
Xamarin.Forms is a framework for building cross-platform applications that share most of the UI codebase among the UWP, iOS and Android platforms. Due to the higher level of abstraction compared to Xamarin.Native, Xamarin.Forms applications may suffer from memory leaks and slow rendering times at the expense of the final user experience. In the session, we will explore the mechanisms used by Xamarin.Forms to translate abstract UI components into native ones, highlight with demos what are the main bottlenecks met by developer, how to solve them and get close to native performances.
Actions on Google e Alexa skills per .NET loversLorenzo Giudici
Evento #Aperitech 05/11/2019 organizzato da Codemotion.
Ospite: la community di Milano Chatbots con 5 talk per illustrare lo stato dell'arte dei chatbot e dei voicebot.
1° Talk tecnico:
"Google Home", "Alexa", "Skills", "Smart speaker"… ne sentiremo parlare (tanto) anche nel 2020 e noi sviluppatori .NET possiamo cavalcare l'onda perchè abbiamo tutti gli strumenti e le competenze necessarie.
VIDEO: https://youtu.be/tboHO_mj2uM
70-485: ADVANCED OF DEVELOPING WINDOWS STORE APPS USING C#DotNetCampus
Visto il successo dello scorso anno, anche quest’anno il DotNetCampus ospita un Cert Path dedicato a chi vuole avvicinarsi al mondo delle certificazioni di prodotto e di tecnologia Microsoft. Microsoft, così come altre importanti aziende sul mercato, propone diversi percorsi di certificazione che ognuno può intraprendere, anche in autonomia, per guadagnare competenza e ottenere un riconoscimento. Una certificazione è generalmente un titolo che si ottiene dopo uno o più esami conseguiti con successo in un centro di formazione abilitato. Nel Cert Path vogliamo spiegarvi come affrontare alcuni esami di base per ottenere il titolo di MCP (Microsoft Certified Professional).
Async: scalabilità e responsiveness senza pari! @ CDaysMatteo Baglini
Per ottenere applicazioni scalabili con un consumo minimo di risorse e una UI sempre reattiva,
dobbiamo scrivere software che opera in maniera asincrona.
In questa sessione vedremo perchè è importante sfruttare questo tipo di programmazione e
quali strumenti mette a disposizione il .NET Framework.
http://www.communitydays.it/events/communitydays-2013/misc04/
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
In questa sessione vedremo come utilizzare Windows Azure per velocizzare e semplificare la realizzazione di applicazioni ASP.NET. Dallo sviluppo al deploy, passando per lo storage...andremo in dettaglio su varie funzionalità che ci faranno apprezzare ancora più la piattaforma Windows Azure.
Intelligenza artificiale nel mondo front-end - CodeGen2021Michele Aponte
Le applicazioni dell'intelligenza artificiale sono tantissime e ci permettono di andare a risolvere specifici problemi per dare valore alle nostre soluzioni: proviamo a immaginare una nuova User eXperience per le nostre applicazioni business che vada oltre pagine e forms e che sfrutti nuove tipologie di interazioni rese possibili dalle applicazioni della IA.
In ASP.NET Core 3.0 è stato introdotto il supporto a gRPC, una framework altamente performante per fare Remote Procedure Call (RPC). Leggero e molto efficiente, supportato da molti linguaggi, supporto ad una comunicazione bidirezionale, riduzione del consumo di banda...solo questi solo alcuni dei vantaggi che descrivono gRPC, e che durante la sessione cercheremo di capire se siano reali o meno.
Fatto sta che è una tecnologia assolutamente da conoscere e sfruttare nello sviluppo di app moderno, e non solamente in ambito web.
Codice: https://github.com/andreadottor/XE.Dottor.gRPC
Evento: https://www.xedotnet.org/eventi/grpc-and-c-optimising-night/
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!DotNetCampus
AppStudio e' un ambiente RAD web based per lo sviluppo di Universal App (Windows Phone 8.1 e Windows 8.1) per la visualizzazioni di sorgenti dati. In questa sessione vedremo come sia facile realizzare da zero un'app che acceda a sorgenti remote e come sia, infine, possibile personalizzare il codice sorgente per poter implementare le proprie personalizzazioni.
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEDotNetCampus
Questa sessione tratterà delle implementazioni di architetture robuste e scalabili, in scenari di sviluppo applicativi rientranti nella tipologia dei Software as a Service. In particolare vedremo come accopiare le feature e le necessità del SaaS con servizi propri presenti su Azure; con focus su web, servizi mobili, data, e notification.
"Don't call us, we'll call you" - AngularJS meets Event-Driven ArchitectureLuca Milan
Slides del talk del 21 Marzo al 1° AngularJS Day ad Ancona. Come realizzare una dashboard per consultare in tempo reale l'andamento dei piloti in una gara del MotoGP. Tutte le variazioni saranno notificate al client evitando il polling continuo al server. L'architettura dell'applicazione seguirà il paradigma della Command-Query-Responsibility-Segregation (CQRS) in 'salsa' REST.
Demo su: http://angularjsday.azurewebsites.net/
Un design pattern è soluzione generale e riusabile ad un problema ricorrente; ma tutti i design patterns "classici" possono essere utilizzati in Javascript? Esistono design patterns tipici di Javascript? In questo talk vedremo quali design pattern classici si possono implementare in Javascript, e come, così come nuovi pattern possono sfruttare al massimo le caratteristiche del linguaggio.
Loosely Coupled Complexity - Unleash the power of your domain modelFrancesca1980
Common software architectures are full of well-established assumptions. But some of them are flawed, no longer valid or relevant. Changing the rules of the game using DDD, CQRS and Event Sourcing can lead to systems which are more scalable, maintainable and performing. And which are fun to code as well.
CQRS, ovvero: 2 stack, uno per "leggere" e l'altro per "scrivere". Se per "scrivere" abbiamo l'imbarazzo della scelta (Domain Model, Command, Event Sourcing, ...) per leggere, invece, apparentemente c'è poco da dire. "Apparentemente", appunto. Parliamone :-)
Strumenti di event driven analytics-sistemi evoluti di analisi degli eventiGabriele Marazzi
Le slide del Talk che ho tenuto il 4 luglio 2014 al Festival del WebMarketing a Roma. Organizzato da Gt Idea srl. Il talk aveva come obbiettivo quello di dare spunti utili per comprendere l'approccio culturale che vi è dietro l'analisi degli eventi, e non solo un mero elenco, o rassegna di tools e funzioni.
Assieme alla new economy ed all'avvento di internet ci sono stati diverse evoluzioni cui abbiamo assistito, il sorpasso del mobile sull'utilizzo del desktop, nel 2014 segna una fase. Ma anche la conoscenza che viene dall'approccio LEAN del Giappone degli anni 40 che oggi è largamente ripreso in diversi campi e non solo quello della produzione, è uno spunto interessante ed utile per comprendere una logica di analytics incentrata sulle persone, capace ad esempio di dare feedback che possono richiedere modifiche veloci.
Следвай вдъхновението си! (фестивал "Свободата да бъдеш - април 2016")Svetlin Nakov
"Следвай вдъхновението си!" е необикновен поучителен разказ за търсенето на истинското вдъхновение, за пътя на личностното и духовното израстване, за следването на мечтите, за успеха и неговата цена, за провалите и поуките по пътя, за поетите неправилни посоки и болезнените корекции на съдбата, за несломимия дух и доверието във вътрешната мъдрост, за непрестанното развитие и издигане на следващо ниво, за една безразсъдно смела амбиция довела до революция в ИТ образованието, за намирането на истинската мисия в живота, за автентичното лидерство, за ценностите и убежденията и тяхната еволюция, за вселенските закони и принципа "стъпка по стъпка", за намирането наподходящите за теб учения, вярвания, инструменти и методи, които работят конкретно за теб и те издигат на следващо ниво, за интуитивната преценка на хората, за ученето и усъвършенстването през целия живот, за откриването и следването на истинското призвание в живота, което всеки носи в себе си.
Професиите в ИТ индустрията: програмист, QA, админ, дизайнер, ИТ консултант, бизнес анализатор, специалист по дигитален маркетинг и други и как да придобием тези професии?
Светлин Наков @ УНСС
31 март 2016 г.
Dependency Injection and Inversion Of ControlSimone Busoli
This is a short presentation I gave back in 2008 at the UgiAlt.Net conference in Milan about inversion of control and dependency injection principles. Examples use Castle project's Windsor container.
“Le piattaforme di Cloud Computing (PaaS, Platform as a Service)”
Indirizzato a:
Architetti SW e CTO di ISV, Project Manager di System Integrator, CIO e IT Manager di imprese user.
Gli interventi avranno una forte connotazione tecnica e consentiranno ai partecipanti di cogliere gli aspetti che caratterizzano tre tra le piattaforme più evolute disponibili oggi sul mercato, ciascuna con peculiarità adatte a progetti di natura diversa.
Agenda
-Introduzione alle PaaS Fabio Cecaro, Cloud Architect e VP EuroCloud Italia
-Amazon Web Services Carlos Conde, Amazon Web Services
-Microsoft Windows Azure Fabio Santini, Microsoft Corp.
-Google App Engine Tom Grey, Google Corp.
-Debriefing Interazione con i partecipanti, moderatore Fabio Cecaro
-Q&A
XeDotNet meeting del 5 Marzo 2013
In questa sessione vedremo come Knockout.js permetta di scrivere codice JavaScript in modo pulito e organizzato, semplificando la scrittura del codice e la sua manutenzione. Come lo si utilizza KO? Quali vantaggi ci offre? Quali librerie ci vengono in aiuto? Quali sarebbe meglio evitare?
NerdyDog sviluppa applicazioni web in Ruby on Rails, il framework open souce MVC (Model View Controller) basato su Ruby.
Con Ruby on Rails , oppure RoR è possibile sviluppare applicazioni in modo semplice diminuendo la percentuale di codice che solitamente va a ripetersi nelle applicazioni.
Il pattern Model View Controller infatti è una pratica di programmazione che semplifica la separazione tra presentazione dei dati, logica della app e contenuti.
Le app sviluppate in Ruby on Rails sono particolarmente indicate per progetti dinamici, flessibili che necessitano aggiornamenti continui o ampliamenti futuri come possono essere ad esempio le Start up.
http://nerdydog.it/6-sviluppo-applicazioni
Lo Spring Framework viene ancora una volta incontro agli sviluppatori Java semplificandone la vita, questa volta vedremo come implementare facilmente uno strato servizi stateless da rendere disponibile remotamente nei diversi formati fruibili dalle diverse tecnologie client RIA, introducendo i concetti di Exporter e Proxy di Spring Remoting. Tutto questo tramite pura configurazione, via XML o annotation a seconda dei gusti, e con un esempio specifico in Flex con Spring BlazeDS Integration.
Alessandro Forte e Michele Aponte, co-fondatori di DotNetCampania, intervengono sul confronto tra i due pattern MVP e MVC per lo sviluppo di applicazioni Web.
ASP.NET Core 2.0 è stato ufficialmente rilasciato e porta con se parecchie novità come le Razor Pages, template aggiornati e l'integrazione con Application Insights migliorata. In questa cercheremo capiremo la vera maturità di questo framework, e quanto questo rilascio sia importante per noi dev.
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.
2. Un’applicativo web basato su un
“Domain Model” la cui persistenza
viene gestita da una “Unit of Work”
che utilizza il pattern “Data
Mapper” per la propria attività.
Il presentation layer poggia sul
framework ASP.NET MVC.
3. Le classi che potete vedere qui sopra rappresentano il nostro object model. Possiamo facilmente
distinguere entities e value objects,.
Ecco la nostra Specialità
4. Programmare è anche un esercizio
creativo.
Esistono però obiettivi: stabilità,
estensibilità, mantenibilità e
scalabilità che il programmatore
deve perseguire per scrivere codice
di qualità.
7. UI / Application
Services
DOMAIN MODEL
(Core & Services)
Infrastructure
(Nhibernate,Logging,Validation)
DB
Dependency
Resolver
(Unit/SM)
(ioc container)
8. • Presentation / UI
E’ responsabile della presentazione delle informazioni all’utente. Deve
interpretare i comandi inviati dall'utente all’interfaccia. Non contiene logiche di
business fatta eccezione per i meccanismi di navigazione (menù,screens).
• Application
Coordina l'attività dell’applicazione. Non contiene alcuna logica di business e in
possesso dello stato degli oggetti del dominio, ma può memorizzare lo stato di
avanzamento di tasks specifici (transazioni,sessione utente).
• Domain
Contiene il modello ad oggetti che rappresenta il dominio applicativo (stato e
comportamento dei business objects). E’ autonomo e indipendente e non
conosce i meccanismi di persistenza.
• Infrastructure
Trasversale a tutti i livelli precedenti. Implementa concretamente la persistenza
del dominio, e i cross-cutting concerns.
10. • Domain Model (cuore dell’applicazione)
• Repository
• Query Objects
• Unit Of Work (NHibernate)
• Service Locator / Dependency Resolver
•Inversion Of Control
11. 1) MARTIN FOWLER: Patterns of Enterprise
Application Architecture (libro)
2) Jeffrey Palermo: http://jeffreypalermo.com/ (blog)
3) Domain Driven Design:
http://domaindrivendesign.org/ (sito)
4) Robert Martin
http://butunclebob.com/ArticleS.UncleBob.PrinciplesO
fOod (articolo)