Un modo alternativo per rimanere aggiornati sul mondo .NET e tutto ciò che ci gira attorno: dai nuovi rilasci, ad articoli e post che troveremo particolarmente interessanti. Non mancheranno sicuramente le community ed i loro eventi. Ed un pizzico di architetture e problematiche di tutti i giorni.
…
continue reading
Delphi Podcast è il primo podcast italiano dedicato a Delphi: il linguaggio di programmazione (e ambiente di sviluppo) per Windows, Mac, Android, iOS e Linux! Definirlo "show" o "trasmissione" è improprio e riduttivo: Delphi Podcast è un appuntamento audio che, puntata dopo puntata, cercherà di affrontare gli argomenti tecnici che più interessano ai programmatori, in particolare quelli che usano Delphi, ma anche tecnologie, librerie e tecniche utili anche ad altri. Si parlerà di temi sia pra ...
…
continue reading
Il 12 novembre è stato rilasciato .NET 9, e nella puntata di oggi vedrò di elencarti le principali novità...ma che vedremo man mano in dettaglio nelle prossime puntate. https://devblogs.microsoft.com/dotnet/announcing-dotnet-9/?WT.mc_id=DT-MVP-4021952 https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-13?WT.mc_id=DT-MVP-4021952 https:…
…
continue reading
Concludiamo il percorso nel modo dei test parlando di TDD (Test Driven Development), una pratica dell'Extreme Programming che si basa sullo scrivere prima i test e poi il codice. https://martinfowler.com/bliki/TestDrivenDevelopment.html https://learn.microsoft.com/en-us/visualstudio/test/quick-start-test-driven-development-with-test-explorer?view=v…
…
continue reading
FluentMigrator è una libreria che permette la gestione degli aggiornamenti del database sfruttando la modalità fluent. Molto simile alle migration di EntityFramework, ma di più facile scrittura e lettura. Buon ascolto https://fluentmigrator.github.io/ https://github.com/fluentmigrator/fluentmigrator https://fluentmigrator.github.io/articles/compari…
…
continue reading
Ecco un altro tool che entra a pieno titolo tra quelli indispensabili. Dev Proxy permette di simulare errori (ma non solo) in modo da testare la resilienza delle nostre applicazioni, oppure di utilizzare dei mock per ridurre il numero di chiamate verso servizi a pagamento, e molto altro. https://github.com/microsoft/dev-proxy https://learn.microsof…
…
continue reading
Oggi ti voglio parlare di due comode utility, una utile per la cancellazione di dati presenti nel database, così da prepararlo ad una fase di test, ed la seconda utility è Testcontainers, che permette la gestione di container docker direttamente da codice C#, così da poter creare, avviare, eliminare container direttamente dai nostri test. - https:/…
…
continue reading
La parte di arrange di un test è quella che richiede più tempo, ed ecco che AutoFixture e Bogus ci possono venire in aiuto, andando a popolare i nostri oggetti con valori fake, senza doverlo fare noi. https://autofixture.github.io/ https://github.com/bchavez/Bogus #unittest #dotnet #AutoFixture #Bogus #dotnetinpillole…
…
continue reading
Oggi ti voglio far conoscere un'ulteriore libreria di mock chiamata NSubstitute, che nel corso dell'ultimo anno ha avuto una crescita di utilizzo non da poco, questo dovuto anche ad un problema inerente Moq avvenuto un anno fa. https://nsubstitute.github.io/ https://youtu.be/BKozFlV2kUs https://sogue.medium.com/transitioning-from-moq-to-nsubstitute…
…
continue reading
Per testare il codice al meglio, abbiamo bisogno di isolare il codice da molte dipendenze, e Moq risolve proprio questo, dandoci la possibilità di creare con facilità dei mock di interfacce e classe da cui il nostro codice dipende. https://github.com/devlooped/moq https://learn.microsoft.com/it-it/shows/visual-studio-toolbox/unit-testing-moq-framew…
…
continue reading
Migliorare la scrittura e la leggibilità dei nostri test è fondamentale, e FluentAssertions ci aiuta proprio in questo, permettendoci di utilizzare la modalità fluent per scrivere le asserzioni tramite una ricca serie di extension-method. https://fluentassertions.com/ https://github.com/fluentassertions/fluentassertions #dotnetinpillole #FluentAsse…
…
continue reading
Può tornare comodo testare con degli Unit-Test anche l'output (e il comportamento) di componenti Blazor, e bUnit serve proprio a questo. Utile per chi ha librerie di componenti che riutilizza in N progetti. https://bunit.dev/ https://blazordev.it/articoli/testing-dei-componenti-blazor-con-bunit/ https://learn.microsoft.com/en-us/aspnet/core/blazor/…
…
continue reading
Ecco un argomento molto discusso, molti li conoscono ma pochi li usano. Con la puntata di oggi voglio dare il via ad un percorso alla scoperta del mondo dei Test, iniziando oggi con un'introduzione agli Unit Test. https://amzn.to/3TdJFJI https://learn.microsoft.com/en-us/visualstudio/test/unit-test-basics?view=vs-2022 https://learn.microsoft.com/en…
…
continue reading
5 anni di podcast, 5 anni di noi! Oggi ti voglio parlare di Playwright, uno strumento che permette di fare test e2e in applicazioni web, davvero completo e di facile utilizzo. Ne avevo già parlato in passato, ma non si sbaglia mai a ripetere le cose importanti. Se hai bisogno di integrarlo in Blazor, ecco da dove patire: https://www.youtube.com/wat…
…
continue reading
Ed ecco la puntata 255 da quel 2 settembre 2019, quando il podcast iniziò. Di contenuti ne sono passati davvero molti, e sono super soddisfatto di tutti i feedback ricevuti. Ora però è giunto il momento di una pausa per ricaricare le batterie, ma tranquilli che ci risentiamo il 2 settembre 2024, per festeggiare i 5 anni ed iniziare una nuova stagio…
…
continue reading
EFCoreVisualizer è entrata a pieno titolo tra quelle estensioni assolutamente da avere se usi Entity Framework, in quanto permette di visualizzare i piani di esecuzione delle query generate direttamente da dentro Visual Studio. https://marketplace.visualstudio.com/items?itemName=GiorgiDalakishvili.EFCoreVisualizer SQL Nexus invece è uno strumento c…
…
continue reading
Dopo esser diventato matto per trovare un FileManager che funzionasse perfettamente in Blazor, ho deciso di parlare nuovamente dei componenti di UI di terze parti, affrontando alcune criticità di questi.Di Andrea Dottor
…
continue reading
Ma è così difficile saper fare debug sul proprio codice? A quanto pare si. Vedo sempre più spesso sviluppatori non sapere come trovare cosa ha scatenato un'eccezzione. Un pò come pubblicare il codice per il solo fatto che questo compila. https://learn.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour?view=vs-2022 https://learn.microso…
…
continue reading
Quante volte sei stato in dubbio se referenziare Microsoft.Data.SqlClient o System.Data.SqlClient, ecco, goggi voglio chiaristi questo dubbio. Per approfondire la cosa: Ecco un esempio di logiche di retry: https://gist.github.com/andreadottor/908e93989025c8ea37008d7d1457fce9 https://devblogs.microsoft.com/dotnet/introducing-the-new-microsoftdatasql…
…
continue reading
Con l'ultima preview, Visual Studio si arricchisce di un nuovo Resource Explorer, che permette di vedere tutti i file di risorse e tutte le lingue da un'unica finestra, ma non solo. In questa puntata vediamo di fare un po' il punto della situazione. https://devblogs.microsoft.com/visualstudio/introducing-the-revamped-visual-studio-resource-explorer…
…
continue reading
DuckDB nasce dai limiti di SQLite ed aggiunge tutta una serie di funzionalità pensate per poter analizzare dati provenienti da fonti diverse/esterne andando a fruttare la sintassi SQL. Nel sito viene riportato come "DuckDB is a fast in-process analytical database"...ne parliamo in questo episodio. https://duckdb.org/ https://duckdb.org/why_duckdb h…
…
continue reading
Microsoft ha rilasciato (da tempo) in preview i Smart Components, dei componenti che permettono di aggiungere con facilità funzionalità di AI alle nostre applicazioni, in modo estremamente semplice. Un buon punto di partenza per capire come avvicinarsi a questo mondo. https://devblogs.microsoft.com/dotnet/introducing-dotnet-smart-components/ https:…
…
continue reading
Seguo le evoluzioni di .NET Aspire dal suo annuncio (la .NET Conf dello scorso anno) e la scorsa settimana abbiamo avuto l'annuncio del suo rilascio ufficiale. Nella puntata di oggi te ne parlo. https://devblogs.microsoft.com/dotnet/dotnet-aspire-general-availability/ https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview #dotn…
…
continue reading
Ebbene si, usare un'architettura a monolite non indica scrivere "codice spaghetti" o avere un'accozzaglia di funzionalità buttate a casaccio. Anche un monolite, se scritto bene, può (e ne sono certo) essere la soluzione ideale di partenza di quasi tutte le applicazioni. Oggi ne parliamo. Ti consiglio di leggere il libro di Dino Esposito "Clean Arch…
…
continue reading
Le community giocano un ruolo fondamentale per la convisione e formazione, eppuro sono poco conosciute, e gli eventi (gratuiti) non hanno la partecipazione che meritano. Nella puntata di oggi faccio uno sfogo/pensiero su questi aspetti che ritengo abbiano una importanza notevole. Satya Nadella Hit refresh https://amzn.to/44GSXlY XE One Day - Rethin…
…
continue reading
Da un commento arrivato ad un mio video, prendo la palla al balzo per parlare di come poter organizzare il codice delle nostre Classi/Struct/Interface. https://youtu.be/LltUUCX1rbk?si=0hmpD_1aw-n5pqsj #visualstudio #csharp #partialclasses #region #codestylesDi Andrea Dottor
…
continue reading
Esistono tool davvero utili, ma spesso sottovalutati e poco usati, ed è proprio il caso di VS Live Share, un tool pensato per migliorare la collaborazione da remoto durante la scrittura del codice. https://visualstudio.microsoft.com/services/live-share/ #VisualStudio #LiveShare #dotnetinpillole #podcast…
…
continue reading
Fody è un tool che permette di modificare l'IL dei nostri assembly in fase di build andando ad integrare e/o sostituire del codice utilizzando vari addin, in base alle nostre necessità. Un tool che può automatizzare il "lavoro sporco". https://github.com/Fody/Home https://github.com/Fody/Home/blob/master/pages/addins.md #fody #dotnet #visualstudio…
…
continue reading
Possiamo chiamare la puntata di oggi "pensieri sparsi", dai prossimi appuntamenti, ad alcune grosse novità in Visual Studio 17.10 Preview 3, ed infine un pensiero che deriva da un articolo di Alberto Acerbis. https://www.xedotnet.org/eventi/one-day-rethink-application/ https://blazorconf.it/ https://gab2024pn.1nn0va.it/ https://tabyaconf.dev/ https…
…
continue reading
StyleCop è un tool che analizza lo stile di scrittura del codice e permette di imporre delle regole a riguardo che, se non rispettate, vanno a generare degli errori di compilazione, così da forzare lo sviluppatore a rispettarli. Estremamente utile per far sì di avere uno stile di scrittura uniforme nell'intero progetto. https://github.com/DotNetAna…
…
continue reading
Oggi vi porto alla scoperta di Bruno ( https://www.usebruno.com/ ), un'API client che permette di condividere le collection tramite git (o altri source control), e che funziona anche offline. Trovate a questo link un confronto con Postman, che porta alla luce tutti i vantaggi di Bruno: https://www.usebruno.com/compa... #bruno #usebruno #apiclient #…
…
continue reading
Il 18 marzo Microsoft Research annuncia la v1 di Garnet, un cache-store nato per superare a livello di performance tutte le attuali alternative. Supporta il protocollo RESP, il che lo rende utilizzabile da tutti i client Redis. https://microsoft.github.io/garnet/ https://github.com/microsoft/garnet https://www.microsoft.com/en-us/research/blog/intr…
…
continue reading
Oggi vi parlo di NATS, una tecnologia di connettività/messaggistica free, open-source, e di semplice utilizzo. Dispone di un client C# che lo rende un perfetto compagno per le nostre applicazioni. https://nats.io/ https://github.com/nats-io/nats.net.v2 https://docs.nats.io/nats-concepts/overview/compare-nats https://www.linkedin.com/pulse/choosing-…
…
continue reading
Blazor Web App, e quindi la possibilità di usare Blazor non solo per la parte client ma anche per il SSR, è arrivato con .NET 8 e sono passati 4 mesi. Nella puntata di oggi ti voglio parlare delle mie impressioni su questa enorme novità. Ecco alcune issue che sto monitorando: BlazorWebView needs a way to enable overriding ResolveComponentForRenderM…
…
continue reading
Per chi utilizza NuGet per condividere il codice tra più applicazioni si sarà scontrato con il dover togliere la dipendenza dai package NuGet per referenziare il progetto con il codice per l'aggiunta di una funzionalità, e poi fare l'operazione inversa per il rilascio/commit. Bene, i tool che vi presento in questa puntata permettono di semplificare…
…
continue reading
Spesso ci troviamo a testare la logica delle nostre API Rest scrivendo Unit Test, o le andiamo a provare con tool che verificano che rispondano in modo corretto. Oggi vi parlo di un tool, RESTler, capace di verificare che le nostre API Rest siano anche sicure. "RESTler is the first stateful REST API fuzzing tool for automatically testing cloud serv…
…
continue reading
Ho scoperto da poco che è stato introdotto in Polly il supporto alla Chaos Engineering, una modalità per testare la resilienza delle nostre applicazioni e sistemi. Trovo la cosa di assoluto interesse ed oggi ve ne parlo. https://www.pollydocs.org/chaos/ https://devblogs.microsoft.com/dotnet/resilience-and-chaos-engineering/ https://github.com/App-v…
…
continue reading
Dev Tunnel permette di esporre in modo sicuro delle applicazioni in sviluppo verso internet, il tutto perfettamente integrato in Visual Studio, a portata di click. https://devblogs.microsoft.com/dotnet/dev-tunnels-a-game-changer-for-mobile-developers/?WT.mc_id=DT-MVP-4021952 https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/?WT.mc_id=DT…
…
continue reading
Sempre più sviluppatori si stanno avvicinando al mondo .NET e a C#. In questo episodio vi dico da quali video tutorial poter iniziare ad apprendere le basi di .NET, C#, ASP.NET e Blazor. https://dotnet.microsoft.com/en-us/learn/videosDi Andrea Dottor
…
continue reading
Una puntata dedicata a capire l'evoluzione di .NET, dal suo primo rilascio .NET Framework 1.0 fino ad oggi con .NET 8. E vediamo di capire perché .NET ad oggi è una scelta vincente per moltissimi applicativi. https://devblogs.microsoft.com/dotnet/why-dotnet/ https://dotnet.microsoft.com/en-us/platform/why-choose-dotnet https://en.wikipedia.org/wiki…
…
continue reading
Oggi vi parlo di una libreria (che sulla carta) sembra davvero interessante, e che permette di orchestrare/gestire la logica della nostra applicazione tramite workflow e activities. Il servizio è Temporal.io e da poco ha un SDK anche per .NET. - https://temporal.io/ - https://github.com/temporalio/... - https://github.com/temporalio/...…
…
continue reading
Gestire nel migliore dei modi la registrazione e autenticazione degli utenti nei nostri applicativi, non è sempre facile ed immediato, specialmente se vogliamo rimanere al passo con gli ultimi standard. Auth0 lo fa nel migliore dei modi, e oggi ne parliamo. https://auth0.com/Di Andrea Dottor
…
continue reading
Si ritorna a parlare di documentazione del codice, ed oggi vi presento un tool in grado di generare un sito web statico a partire dal nostro codice commentato. https://dotnet.github.io/docfx/ https://submain.com/ghostdoc/ https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/Di Andrea Dottor
…
continue reading
.NET 8 è una versione LTS (verrà supportata per 3 anni) e porta con se un incremento medio delle performance del 20%...solo questi motivi rispondono alla domanda di oggi, e sono una buona motivazione per pianificare una migrazione. https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/…
…
continue reading
Un'altra puntata a parlare di privacy e dati personali, oggi grazie al pacchetto Microsoft.Extensions.Compliance.Redaction che ci può facilitare nell'operazione. https://learn.microsoft.com/it-it/dotnet/api/microsoft.extensions.compliance.redaction?view=dotnet-plat-ext-8.0 https://andrewlock.net/redacting-sensitive-data-with-microsoft-extensions…
…
continue reading
Lo sviluppo di applicazioni Cloud-Native è sempre di maggiore interesse, ed ecco che .NET Aspire arriva a gamba tesa, fornendo tutta una serie di strumenti che possono migliorare il nostro lavoro a riguardo. https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview https://youtu.be/z1M-7Bms1Jg?si=vYFXu2riOVVOgyw7 https://github.co…
…
continue reading
Continua il percorso alla scoperta delle novità arrivate con .NET 8, e oggi parliamo di compilazione Native AOT. https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ https://learn.microsoft.com/en-us/aspnet/core/fundamentals/native-aot https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/ https://devblogs.microsoft…
…
continue reading
Con .NET 8 arrivano novità anche per ASP.NET Identity. La possibilità di esporre il tutto tramite API rest e la possibilità di generare tutte le pagine di ASP.NET Identity come Razor Component (*.razor) per il nuovo template Blazor web App. https://devblogs.microsoft.com/dotnet/whats-new-with-identity-in-dotnet-8/ https://devblogs.microsoft.com/dot…
…
continue reading
C# 12, arrivato con .NET 8, porta con sé poche novità, ma davvero di largo utilizzo e che vanno a semplificare la scrittura del codice. https://devblogs.microsoft.com/dotnet/announcing-csharp-12/Di Andrea Dottor
…
continue reading
Il 14 novembre è stato rilasciato .NET 8, e con questa versione Blazor è ufficialmente un framework "full-stack web UI" il che vuol dire che non è più utile solo per la parte client delle nostre applicazioni, ma ora anche per poter generare codice statico (lato server) con un bel pò di funzionalità interessanti. Inizia oggi il percorso alla scopert…
…
continue reading
E' stato rilasciato RAD Studio 12 Athens, ovvero la nuova versione della suite che comprende Delphi e C++Builder. Si tratta di una versione che contiene un discreto numero di cambiamenti, tutti da esplorare. Me ne sono già occupato a poche ore dal rilascio ufficiale installando e testando questa release in una live su Twitch, che potete trovare sot…
…
continue reading
Può capitare di voler riutilizzare codice scritto in un'altra tecnologia (.NET, Node.js) per velocizzare la parte di sviluppo e per la mancanza di un SDK per la piattaforma attuale. Ecco che node-api-dotnet risolve questa cosa, e lo fa con la massima eleganza ed efficacia. https://github.com/microsoft/node-api-dotnet https://www.nuget.org/packages/…
…
continue reading