Kerangka Materi
Pendahuluan Platform .NET Modern
- Runtime .NET 8, SDK, serta gambaran umum platform secara menyeluruh
- Perbandingan evolusi antara .NET Framework, .NET Core, dan .NET 8+
- Struktur proyek, target framework, serta dasar-dasar multi-targeting
- Penyiapan lingkungan pengembangan beserta alat-alat pendukungnya
Penggunaan Bahasa C# Modern dan Praktik Terbaik di Masa Depan
- Konsep records, init-only setters, serta pola penggunaan data yang tidak dapat diubah
- Perkembangan pembuatan pola baru dan ekspresi switch dalam bahasa C#
- Penggunaan tipe referensi nullable serta mekanisme keamanan yang diterapkan kompiler
- Praktik terbaik penggunaan async/await serta strategi pengelolaan aliran data yang efisien secara memori
- Konsep matematika generik, penggunaan abstraksi statis dalam antarmuka, dan API berorientasi kinerja tinggi
- Mempersiapkan basis kode agar siap menerima fitur-fitur terbaru C# 12 atau 13 di lingkungan .NET 8
Panduan Dasar ASP.NET Core dan Pembuatan Aplikasi
- Konsep pembangun host, alur kerja middleware, serta siklus permintaan HTTP
- Pilihan antara Minimal API atau implementasi berbasis controller: kriteria pemilihannya
- Pengelolaan pengaturan konfigurasi dan manajemen data rahasia untuk lingkungan tertentu
- Penanganan file statis, sistem routing, serta mekanisme pembentukan endpoint
- Konfigurasi kontainer injeksi dependensi beserta durasi kehidupan layanan yang diperlukan
Rancang Bangun dan Implementasi API REST
- Model kematangan desain REST, pendekatan model sumber daya, serta aturan penamaan URI yang tepat
- Penggunaan metode HTTP, pengaturan status kode, serta mekanisme negosiasi konten
- Proses validasi permintaan dan integrasi library FluentValidation untuk penanganan model data
- Strategi pembaruan versi API baik yang ditujukan publik maupun internal organisasi
- Pembuatan dokumentasi terpadu melalui OpenAPI serta antarmuka Swagger UI
- Pengujian integrasi API dengan memanfaatkan TestServer dan WebApplicationFactory
Injeksi Dependensi Tingkat Perusahaan serta Prinsip Inversi Kontrol
- Penerapan teknik constructor injection, pengaturan durasi kehidupan layanan, serta penanganan ketergantungan yang kompleks
- Pemanfaatan pola decorator dan factory dalam konteks kontainer terintegrasi .NET
- Integrasi library DI pihak ketiga seperti Scrutor untuk menambah fleksibilitas sistem
- Organisasi modul layanan berdasarkan fitur dengan pendekatan yang lebih modular dan berskala
- Penerapan mekanisme persilangan fungsional via middleware serta filter khusus
Logging, Konfigurasi, serta Penanganan Kesalahan Terpusat
- Pemanfaatan logging terstruktur melalui Microsoft.Extensions.Logging dan Serilog
- Pengaturan tingkat detail informasi log, skop kerja, pengayaan metadata, serta konfigurasi saluran penyimpanan data
- Implementasi middleware untuk menangani anomali sistem beserta alur penanganan kesalahan secara menyeluruh
- Penerapan standar RFC 7807 untuk merespons permasalahan sistem melalui format ProblemDetails
- Pengawasan kesehatan sistem, pengukuran telemetri, serta implementasi alat observabilitas lainnya
- Penetapan ID korelasi dan pengaturan mekanisme pelacakan distribusi data dalam arsitektur kompleks
Arsitektur Perangkat Lunak untuk Solusi .NET Skala Besar
- Penerapan prinsip-prinsip desain lapisan terpisah, pendekatan hexagonal architecture, dan Clean Architecture secara utuh
- Elemen-elemen pembentuk Domain-Driven Design yang dapat digunakan dalam konteks .NET
- Penerapan pola CQRS dan MediatR sebagai mediator antar modul aplikasi
- Gunaan pola Repository dan Unit-of-Work bersama EF Core untuk manajemen basis data terstruktur
- Konsep arsitektur Vertical Slice guna meningkatkan kohesi fitur utama secara mandiri
- Evaluasi strategis antara pendekatan monolitik, modular monolitik, atau migrasi penuh ke sistem Microservices
Keamanan Aplikasi Web dan API
- Penerapan mekanisme autentikasi: JWT, OAuth2, OpenID Connect, serta alur kerja otorisasi berbasis cookies
- Pendekatan kebijakan otorisasi yang menggabungkan klaim pengguna dan pengecekan akses secara dinamis terhadap sumber daya tertentu
- Enforcement protokol HTTPS, penerapan mekanisme HSTS, serta konfigurasi header keamanan tambahan
- Pembersihan input data pengguna, enkodean output yang efektif, serta strategi mitigasi terhadap risiko teridentifikasi dalam OWASP Top 10
- Implementasi batasan permintaan (rate limiting), konfigurasi kebijakan CORS, dan sistem proteksi anti-forgery yang andal
- Manajemen data rahasia lewat penyimpanan Azure Key Vault serta mekanisme rotasi otomatis berdasarkan lingkungan tertentu
Kualitas Kode, Kemudahan Pemeliharaan, dan Praktik Terbaik Pengembangan
- Penerapan standar penulisan kode, penggunaan EditorConfig, serta tool dotnet format untuk efisiensi pemrosesan kode
- Analisis statis menggunakan Roslyn Analyzer serta integrasi dengan alat SonarQube untuk inspeksi mendalam
- Penerapan unit testing melalui framework xUnit beserta pendekatan pembuatan mock lewat Moq atau NSubstitute
- Implementasi pengujian integrasi dan kontrak yang dapat dijalankan secara otomatis dalam lingkungan CI/CD
- Teknik refaktoring modul-modul lama agar tetap terpelihara meski telah digunakan selama bertahun-tahun
- Penerapan praktik dokumentasi efektif, pengaturan kontrak API, serta strategi pemindahan pengetahuan kepada tim pengembang lainnya
Strategi Modernisasi: Evaluasi Kode Lama Berbasis .NET Framework
- Analisis portofolio sistem: mengklasifikasikan aplikasi menurut tingkat krusialitas, kompleksitas, serta nilai bisnisnya
- Pemanfaatan alat .NET Upgrade Assistant dan analisator kompatibilitas untuk mengevaluasi migrasi
- Identifikasi komponen API yang sudah usang, ketergantungan platform khusus Windows, maupun kekurangan dukungan pihak ketiga
- Pertimbangan spesifik dalam transisi sistem yang menggunakan API eksklusif Windows maupun teknologi WCF masa lalu
- Penyusunan rencana migrasi terstruktur dengan prioritas pengembangan ditentukan berdasarkan tingkat risiko yang ada
Teknik Migrasi Bertahap dan Koeksistensi Sistem Lama serta Baru
- Penerapan pola Strangler Fig untuk bertahap mengganti sistem lama dengan komponen baru
- Strategi migrasi berbasis pendekatan API-first: mengekspos fungsionalitas .NET Framework lewat antarmuka REST terbaru
- Pembentukan jembatan komunikasi antar sistem menggunakan teknologi RabbitMQ, Azure Service Bus, atau Kafka
- Manajemen database yang memungkinkan koeksistensi modul lama dan baru dengan strategi versi skema basis data unik
- Pengelolaan simultan infrastruktur .NET Framework dan .NET 8 dalam konfigurasi jaringan tunggal
- Containerisasi elemen-elemen aplikasi modern untuk fleksibilitas operasional, sementara modul lama tetap dijalankan melalui platform IIS biasa
Praktikum Migrasi Terpadu dan Refleksi Akhir Pelatihan
- Penerapan alat Upgrade Assistant pada sebuah proyek lama yang menjadi contoh nyata migrasi
- Refaktoring konten aplikasi Web Forms atau layanan WCF agar mampu beroperasi sebagai API ASP.NET Core mutakhir
- Implementasi injeksi dependensi, sistem logging terintegrasi, serta struktur penanganan kesalahan di lingkungan yang baru dimodifikasi
- Penerapan mekanisme autentikasi dan otorisasi ke dalam komponen API hasil transformasi tadi
- Pengesahan integritas sistem melalui rangkaian pengujian menyeluruh mulai awal hingga akhir alur eksekusi program
- Diskusi penutup, sesi jawab pertanyaan umum, serta panduan strategis terkait rencana modernisasi lanjutan pasca pelatihan
Persyaratan
- Pengalaman dalam pemrograman C# serta prinsip-prinsip desain berorientasi objek
- Pemahaman mengenai konsep pengembangan web (HTTP, HTML, CSS, dan dasar-dasar JavaScript)
- Pengetahuan dasar tentang basis data relasional serta SQL
- Pengenalan sebelumnya terhadap .NET Framework atau ASP.NET akan sangat membantu, namun tidak wajib dikuasai
Audien
- Pengembang dan arsitek .NET yang ingin memodernisasi aplikasi lama berbasis .NET Framework
- Insinyur perangkat lunak yang hendak memasuki bidang pengembangan .NET skala perusahaan
- Pemimpin teknis yang bertanggung jawab atas perencanaan migrasi dan koeksistensi platform
- Staf DevOps serta tim infrastruktur yang menangani siklus hidup aplikasi .NET
Testimoni (2)
Interaktivitas dan solusi kode secara langsung
Eduard-Emanuel Zaharia - Kruk Italia
Kursus - Advanced Blazor
Diterjemahkan Mesin
kesempatan untuk praktik langsung dan kesabaran instruktur
sheena - Te Manawa Taki Trauma System
Kursus - Visual Studio 2022 IDE
Diterjemahkan Mesin