.Net Developer roadmap 2024

.Net Developer roadmap 2024.

Apprendimento delle basi dello sviluppatore:

  • Assicurarsi di conoscere le nozioni di base elencate di seguito.
  • Capire come funziona Internet.
  • Protocolli HTTP / HTTPS.
  • Concetti di API.
  • Codici di stato HTTP.
  • Imparare i concetti di programmazione orientata agli oggetti.
  • Migliorare le capacità di risoluzione dei problemi.
  • Imparare le strutture dati e gli algoritmi di base.
  • Essere fluenti nella ricerca di soluzioni su Internet.
  • Acquisire familiarità con i prompt di ChatGPT.
  • Imparare GIT in modo approfondito.
  • Esplorare GitHub con un uso pratico.

Nel mondo di .NET Developer roadmap 2024

Per iniziare a lavorare con .NET, è necessario apprendere le seguenti nozioni di base.

Conoscere l’ecosistema .NET.

  • Imparare le sintassi e le caratteristiche di base del linguaggio C#. C# 12 è l’ultima versione del linguaggio che viene fornita con .NET 8.
  • Iniziare dalle basi, costruendo una semplice applicazione .NET Console.
  • Imparare a conoscere le variabili, gli if, gli else, i while e tutti gli elementi di base.
  • Diventare esperti nell’uso dei comandi .NET CLI.
  • Padroneggiare IDE come Visual Studio o altro editor di codice come Visual Code.
  • Comprendere la gestione dei pacchetti NuGet.
  • Concentrarsi solo su .NET 6 o superiore. Idealmente, .NET 8 è ciò che si dovrebbe guardare.

C# avanzato

  • Una volta apprese le nozioni di base, si può procedere avanti.
  • Imparare le basi delle pratiche di codice pulito (“clean code”).
  • Comprendere i vari modelli di progetto C#. Usare la .NET CLI!
  • Esercitarsi a scrivere codice disaccoppiato.
  • Comprendere le interfacce, l’iniezione di dipendenza e l’inversione di dipendenza.
  • Imparare i principi SOLID.
  • I design pattern sono importanti. Conoscerne almeno alcuni.
  • Partecipare a revisioni paritetiche/contributi open source per ottenere più feedback.
  • Non complicare il codice, mantenerlo semplice e pulito
  • Leggere molto codice! Ci sono tonnellate di progetti C# open-source su GitHub
  • Scrivere test unitari

Fondamenti di database nel .Net Developer roadmap 2024

Un passo fondamentale nel percorso di apprendimento.

  • Imparare a conoscere la progettazione dei database e i concetti correlati.
  • È necessario conoscere le sintassi SQL.
  • Aggiungete anche le Stored Procedures (non è detto che venga usato regolarmente, ma è bene conoscerle).
  • Capire quali sono i database relazionali e quali quelli NoSQL e quando scegliere, cosa scegliere.
  • Conoscere le ottimizzazioni dei database.
  • Lavorare con RDMS come PostgreSQL, MSSQL, ecc. come MongoDB, AWS DynamoDB, Azure ComsosDB, ecc,

ASP.net Core
E’ bene concentrarsi su ASP.NET Core e sullo sviluppo web. Si utilizza questa
tecnologia per costruire potenti API.

  • Creare un’API Web ASP.NET Core di esempio e imparare le basi.
  • Comprendere il ciclo di vita di una richiesta in un’applicazione ASP.NET Core.
  • Conoscere i controllori e le API minimali.
  • Comprendere i middleware.
  • Instradamento.
  • Filtri e attributi.
  • Varie architetture API come API REST, GraphQL e gRPC.
  • Convenzioni dell’API REST.
  • Comprendere il modello MVC.
  • Come caricare le configurazioni e il pattern IOptions.
  • Cicli di vita dei servizi (Scoped, Transient e Singleton), e
  • Iniezione di dipendenza (DI).
  • Autenticazione e autorizzazione
  • Metodi di estensione.
  • Gestione delle eccezioni con IExceptionHandler.

ORM: Mappatura relazionale degli oggetti
Una tecnica per creare un ponte tra le classi C# e un database vero e proprio. In altre parole, un modo affidabile per integrare le applicazioni .NET con un database.


Entity Framework Core (altamente consigliato)

  • Approcci “Code First” e “Database First”.
  • Migrazioni e comandi CLI di .NET EF.
  • LINQ è il vostro amico.
  • Varie strategie di caricamento dei dati.
  • DbContext, filtri di query e schemi.
  • Intercettori in EF Core.
  • Dapper, se si cerca un modo più RAW per eseguire i comandi e le query SQL. Comandi e query SQL.
  • MongoDB, AWS DDB o altri driver e integrazioni di database NoSQL.
  • integrazione.

Autenticazione e autorizzazione
Un passo fondamentale nel percorso di apprendimento.

  • Capire perché abbiamo bisogno di autenticazione e autorizzazione.
  • Creare il proprio semplice sistema di Autenticazione in ASP.NET Core WebAPI consentendo a un utente di inviare un’e-mail/una password, di provare a crittografare la password e memorizzarla in un database.
  • Imparare ASP.NET Core Identity.
  • Endpoint di identità in .NET 8.
  • Utenti, ruoli e permessi.
  • Conoscere i cookie.
  • Token Web JSON (JWT).
  • Server di identità.
  • Autenticazione OpenID.
  • Protocolli OAuth 2.0 e diversi flussi di autenticazione.
  • Conoscere i fornitori di OAuth come KeyCloak, Auth0, AWS
  • Cognito o Azure AD.
  • Gestione delle richieste e dei permessi.
  • Multitenancy con Finbuckle.

Progettazione di sistemi e soluzioni
Dopo aver acquisito una conoscenza di base della costruzione di un’applicazione .NET, è necessario concentrarsi sull’apprendimento dei concetti di progettazione del sistema.
Meglio è iniziare a costruire applicazioni facili da mantenere e leggibili.


Sviluppare una buona conoscenza della progettazione del sistema per sistemi in pezzi più piccoli per risolvere i problemi.


Imparare a conoscere i Monolith e i Microservizi e capire quando utilizzarli.


Architettura guidata dagli eventi.
Praticare l’architettura pulita con la separazione delle preoccupazioni.
Architettura a fette verticali.
Concetti di Domain Driven – Eventi di dominio, oggetti di valore, modellazione del dominio ricca
contro la modellazione anemica del dominio, contesti vincolati.

Microservizi
Per costruire sistemi veramente disaccoppiati, è necessario conoscere i
I microservizi.

  • Quando usare i microservizi.
  • I compromessi e i vantaggi.
  • La comunicazione tra i servizi utilizzando broker di messaggi e
  • bus come RabbitMQ o Kafka.
  • Masstransit.
  • Sourcing degli eventi e coerenza eventuale.
  • Osservabilità.
  • Containerizzazione e orchestrazione.
  • Segreti.
  • Gateway API come YARP, Ocelot.
  • Bilanciamento del carico.
  • E molto altro ancora!

Testing
Questo è un aspetto che spesso tendiamo a saltare o a rimandare a un secondo momento. Ma assicuratevi di scrivere i casi di test.

  • Test unitari.
  • Test di integrazione.
  • Pacchetti NuGet xUnit / NUnit.
  • Asserzioni fluenti (consigliate).
  • Bogus per la generazione di dati fittizi.
  • K6 per i test di carico.
  • Programmazione guidata dai test. Rendere il codice testabile e garantire
  • una buona copertura del codice.

Caching

  • Una funzione cruciale per migliorare le prestazioni delle applicazioni Web.
  • Imparate i vari concetti di cache.
  • Tecniche di invalidazione della cache.
  • Scadenze della cache: finestra scorrevole, scadenza assoluta.
  • Caching in memoria / in processo.
  • Caching distribuito con Redis.
  • Caching a livello di applicazione (Response Caching, EF Caching).

Logging

  • Migliorare l’osservabilità delle applicazioni e il tracciamento dei bug.
  • Interfaccia ILogger di Microsoft
  • Serilog: Questo popolare pacchetto di logging è spesso l’unico
  • e rappresenta il mio strumento preferito per ogni nuovo progetto C# su cui lavoro!
  • progetto C# su cui lavoro!
  • Imparate a conoscere i vari sink.
  • Registrazione strutturata.
  • Registrazione SEQ Serilog per scopi di sviluppo.
  • Configurazioni e CoRelationId di Serilog.
  • NLog: una buona alternativa.
  • Imparate anche a conoscere Kibana e lo stack ELK!

(Fonte)

Innovaformazione, scuola informatica specialistica promuove la cultura IT fra privati ed aziende.

Nell’ambito dei corsi .Net trovate l’offerta formativa sul nostro sito su questo LINK.

INFO: info@innovaformazione.net – tel. 3471012275 (Dario Carrassi)