Giuggioli.dev

Sito personale di Andrea Giuggioli

Seguimi qui:

A volte scrivo articoli di programmazione, ne trovi alcuni di seguito.

Articoli di programmazione
Introduzione alle Monadi in C#, gestione delle Eccezioni e dei Valori Null
Introduzione alle Monadi in C#, gestione delle Eccezioni e dei Valori Null
Read full article
C#: Currying ed applicazione parziale delle funzioni
C#: Currying ed applicazione parziale delle funzioni
Read full article
C# è un linguaggio multi-paradigma, vediamo come si adatta a quello funzionale
C# è un linguaggio multi-paradigma, vediamo come si adatta a quello funzionale
Read full article
Piccola introduzione all'immutabilità in C#
Piccola introduzione all'immutabilità in C#
Read full article
Benefici, Tipi di Rendering Configurabili e Deploy
Benefici, Tipi di Rendering Configurabili e Deploy
Read full article
Breve introduzione per capire cosa è Flutter prima di affondarci i denti
Breve introduzione per capire cosa è Flutter prima di affondarci i denti
Read full article
Qualche esempio di JSX che può tornarci utile
Qualche esempio di JSX che può tornarci utile
Read full article
E' un gioco carino e divertente da sviluppare
E' un gioco carino e divertente da sviluppare
Read full article
E' possibile usare Data Annotations per validare le classi anche fuori dal contesto ASP.NET MVC, ed è molto comodo...
E' possibile usare Data Annotations per validare le classi anche fuori dal contesto ASP.NET MVC, ed è molto comodo...
Read full article
Prima parte: introduzione su come costruire un videogame utilizzando solo un canvas e la buona vecchia programmazione
Prima parte: introduzione su come costruire un videogame utilizzando solo un canvas e la buona vecchia programmazione
Read full article
Come aggiungere SignalR per la comunicazione bidirezionale in tempo reale, nelle nostre applicazioni Blazor
Come aggiungere SignalR per la comunicazione bidirezionale in tempo reale, nelle nostre applicazioni Blazor
Read full article
Il Design Pattern Inversion of Control permette di disaccoppiare le dipendenze tra oggetti rendendoli più indipendenti possibile. Dependency Injection è un pattern che consente di ottenere efficacemente IOC
Il Design Pattern Inversion of Control permette di disaccoppiare le dipendenze tra oggetti rendendoli più indipendenti possibile. Dependency Injection è un pattern che consente di ottenere efficacemente IOC
Read full article
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il primo principio: S ovvero Single Responsibility Principle
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il primo principio: S ovvero Single Responsibility Principle
Read full article
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il secondo principio: O ovvero Open/Closed Principle
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il secondo principio: O ovvero Open/Closed Principle
Read full article
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il terzo principio: L ovvero Liskov Substitution Principle
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il terzo principio: L ovvero Liskov Substitution Principle
Read full article
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il quarto principio: I ovvero Interface Segregation Principle
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il quarto principio: I ovvero Interface Segregation Principle
Read full article
Partiamo dalle basi per capire come rendere il nostro applicativo più usabile
Partiamo dalle basi per capire come rendere il nostro applicativo più usabile
Read full article
C# 9 introduce il nuovo tipo record. Vediamo in modo rapido in cosa differisce da class e struct
C# 9 introduce il nuovo tipo record. Vediamo in modo rapido in cosa differisce da class e struct
Read full article
Una semplice implementazione MVP per rendere testabili le logiche UI in Blazor
Una semplice implementazione MVP per rendere testabili le logiche UI in Blazor
Read full article
Molti sviluppatori credono di scrivere codice asincrono semplicemente aggiungendo queste 2 paroline magiche. La realtà è molto diversa.
Molti sviluppatori credono di scrivere codice asincrono semplicemente aggiungendo queste 2 paroline magiche. La realtà è molto diversa.
Read full article
React Native mette a disposizione la classe AsyncStorage per persistere i nostri dati. Vediamo un piccolo set di funzioni che ne facilitano l'uso in associazione alla serializzazione e deserializzazione di oggetti
React Native mette a disposizione la classe AsyncStorage per persistere i nostri dati. Vediamo un piccolo set di funzioni che ne facilitano l'uso in associazione alla serializzazione e deserializzazione di oggetti
Read full article
Scrivere test chiari ed uniformi è cruciale per l'attività di un Team. Un buon modo è scriverli usando alcune funzioni di appoggio comuni a tutti gli sviluppatori.
Scrivere test chiari ed uniformi è cruciale per l'attività di un Team. Un buon modo è scriverli usando alcune funzioni di appoggio comuni a tutti gli sviluppatori.
Read full article
Giochiamo con queste due classi C# che permettono di eseguire codice asincrono facilmente nelle nostre applicazioni
Giochiamo con queste due classi C# che permettono di eseguire codice asincrono facilmente nelle nostre applicazioni
Read full article
L'ereditarietà? Bella ma non ci vivrei. Meglio una bella composizione con la sua interfaccia in mezzo a tanto polimorfismo!
L'ereditarietà? Bella ma non ci vivrei. Meglio una bella composizione con la sua interfaccia in mezzo a tanto polimorfismo!
Read full article
Cosa sono i 3 principi DRY, KISS, and YAGNI e come possono aiutarci a scrivere codice migliore
Cosa sono i 3 principi DRY, KISS, and YAGNI e come possono aiutarci a scrivere codice migliore
Read full article
Per chi sceglie la strada degli ORM, spesso il dilemma è: mi affido ad un ORM "tutto incluso" che astragga del tutto la persistenza dei dati, oppure mi basta una libreria leggera e scattante che mi dia maggiore controllo sul database?
Per chi sceglie la strada degli ORM, spesso il dilemma è: mi affido ad un ORM "tutto incluso" che astragga del tutto la persistenza dei dati, oppure mi basta una libreria leggera e scattante che mi dia maggiore controllo sul database?
Read full article
Switch-Case è una struttura di controllo molto utilizzata ma poco manutenibile; scopriamo come implementare una logica più flessibile
Switch-Case è una struttura di controllo molto utilizzata ma poco manutenibile; scopriamo come implementare una logica più flessibile
Read full article
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il quinto principio: D ovvero Dependency Inversion Principle
I 5 principi SOLID della programmazione a oggetti fungono da base per progettare sistemi robusti e manutenibili. Vediamo il quinto principio: D ovvero Dependency Inversion Principle
Read full article
Il Design Pattern Observer permette di far comunicare i nostri oggetti, permettendo ad un oggetto detto soggetto di inviare notifiche ad uno o più altri oggetti osservatori.
Il Design Pattern Observer permette di far comunicare i nostri oggetti, permettendo ad un oggetto detto soggetto di inviare notifiche ad uno o più altri oggetti osservatori.
Read full article
Servant mette a disposizione dei metodi ad un set di classi, che possono quindi essere condivisi e non risiedere nelle classi stesse
Servant mette a disposizione dei metodi ad un set di classi, che possono quindi essere condivisi e non risiedere nelle classi stesse
Read full article
Il Design Pattern Strategy permette di eseguire un determinato algoritmo a runtime, selezionato tra più algoritmi alternativi
Il Design Pattern Strategy permette di eseguire un determinato algoritmo a runtime, selezionato tra più algoritmi alternativi
Read full article
Memento permette di memorizzare lo stato di un oggetto esternamente, per poi richiamarlo all'occorrenza
Memento permette di memorizzare lo stato di un oggetto esternamente, per poi richiamarlo all'occorrenza
Read full article
Decorator sfrutta l'ereditarietà per estendere le funzionalità di un determinato oggetto
Decorator sfrutta l'ereditarietà per estendere le funzionalità di un determinato oggetto
Read full article
Il Design Pattern Mediator incapsula la logica con cui più oggetti interagiscono tra loro, evitano che debbano dialogar direttamente
Il Design Pattern Mediator incapsula la logica con cui più oggetti interagiscono tra loro, evitano che debbano dialogar direttamente
Read full article
Cosa è il DDD, quali sono i concetti chiave e soprattutto come può aiutarci a scrivere applicazioni migliori
Cosa è il DDD, quali sono i concetti chiave e soprattutto come può aiutarci a scrivere applicazioni migliori
Read full article
Esaminiamo con dei semplici esempi pratici in cosa consistono le differenze tra questi elementi del linguaggio C#
Esaminiamo con dei semplici esempi pratici in cosa consistono le differenze tra questi elementi del linguaggio C#
Read full article
Il design pattern Facade permette di avere accesso a sottoinsiemi complessi tramite una singola interfaccia
Il design pattern Facade permette di avere accesso a sottoinsiemi complessi tramite una singola interfaccia
Read full article
Il Design Pattern Command permette di disaccoppiare il codice che esegue una determinata azione, da quello che serve alla sua esecuzione
Il Design Pattern Command permette di disaccoppiare il codice che esegue una determinata azione, da quello che serve alla sua esecuzione
Read full article
Una piccola classe per gestire la strategia di caching degli oggetti. Il codice di esempio è scritto in C# e sfrutta il design pattern Memoizer, unito al blocco delle risorse (Lock)
Una piccola classe per gestire la strategia di caching degli oggetti. Il codice di esempio è scritto in C# e sfrutta il design pattern Memoizer, unito al blocco delle risorse (Lock)
Read full article
Per incrementare le prestazioni in lettura spesso un Indice si mostra risolutivo. SQLServer ci aiuta ad individuare quali Indici risultano mancanti
Per incrementare le prestazioni in lettura spesso un Indice si mostra risolutivo. SQLServer ci aiuta ad individuare quali Indici risultano mancanti
Read full article
Come il TDD può aiutarti nello sviluppo delle applicazioni. Una buona pratica di progettazione che comporta tanti vantaggi nello sviluppo e nella manutenzione di ogni applicazione.
Come il TDD può aiutarti nello sviluppo delle applicazioni. Una buona pratica di progettazione che comporta tanti vantaggi nello sviluppo e nella manutenzione di ogni applicazione.
Read full article