Pelatihan .NET Core Microservices

Pada tanggal 18-21 Juli 2022 telah diadakan pelatihan onsite dengan topik .NET Microservices. Peserta dari pelatihan ini adalah developer dari PT Focus Inti Solusi, Jakarta Selatan.

Microservices adalah suatu architecture yang dipakai sebagai model dalam pembuatan aplikasi cloud yang modern. Di dalam microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam processnya sendiri. Masing-masing dari aplikasi tersebut saling berkomunikasi melalu API (Application Programing Interface). Manfaat utama dalam mempergunakan microservices adalah agar team developer mampu mengembangkan aplikasi secara cepat dan mudah untuk di scale dengan membuat komponen-komponen dari aplikasi berjalan secara independen sehingga dapat memenuhi kebutuhan bisnis yang terus menerus berubah.
Apa yang membedakan Architecture Microservices dengan pendekatan yang lebih tradisional seperti Monolithic Architecture adalah bagaimana framework ini memecah aplikasi menjadi fungsi intinya. Setiap fungsi ini disebut sebagai service, dapat dibangun dan dijalankan secara independen, yang berarti service tersebut dapat berfungsi (dan gagal) tanpa berdampak negatif pada fungsi-fungsi yang lain.
Pelatihan ini akan memberikan pemahaman tentang bagaimana membangun layanan microservices menggunakan .NET Core 6. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • RESTful Web API dengan ASP.NET Core 6
  • Entity Framework Core
  • DTO with AutoMapper
  • Data Layer & API Controllers
  • Docker & ASP.NET Core 6 Image
  • Publishing to Docker Hub
  • Container Network & Linking
  • Kubernetes Architecture
  • Kubernetes (yaml, NodePort, ClusterIP)
  • Synchronous Communication between services
  • API Gateway with nGinx Ingress Controller
  • SQL Server, Persistance Volume Claim, & Kubernetes Secret
  • Asynchronous Communication with Message Bus (RabbitMQ)
  • Study Case

Training Web Development with ASP.NET Core 6

Pada tanggal 9-13 Mei 2022, telah diadakan pelatihan dengan topik Web Development with ASP.NET Core 6. Peserta dari pelatihan ini adalah developer dari Information System Dept, Universitas Atmajaya Yogyakarta.

Pada pelatihan ini peserta mendapatkan materi tentang framework terbaru untuk pengembangan aplikasi web menggunakan teknologi Microsoft yaitu ASP.NET Core 6. ASP.NET Core 6 adalah framework yang di modern yang dapat berjalan pada banyak platform yang berbeda (Multiplatform). ASP.NET Core juga didesain agar optimal untuk dijalankan pada platform Cloud dan juga bersifat open source. Adapun daftar materi yang disampaikan pada pelatihan ini adalah sebagai berikut:

  • Introduction to .NET Core & ASP.NET Core
  • Web Server (Kestrel, IIS)
  • IDE Visual Studio Community 2019 / Visual Studio Code
  • .NET Core SDK & Runtime
  • ASP.NET Core Architecture
  • ASP.NET Routing
  • ASP.NET Controller
  • ASP.NET Model
  • ASP.NET View
  • Dependency Injection Concept
  • ASP.NET Core Middleware
  • Strongly Type ASP.NET MVC View
  • ASP.NET Core Helpers & Tag Helper
  • Partial View
  • View Component
  • View Layout
  • Micro ORM with Dapper
  • Entity Framework Core
  • EF Migrations
  • ASP.NET Security (ASP.NET Identity)
  • Authentication & Authorization
  • Deployment to Azure Cloud
  • Study Case

Pelatihan UI/UX Design with Figma (PT Shimano Batam)

Pada tanggal 4-7 April 2022 telah diadakan pelatihan dengan topik UI/UX Design with Figma. Peserta dari pelatihan ini adalah ui/ux engineer dari PT Shimano, Batam, Indonesia.

Apakah Anda seorang desainer atau pengembang, ada kalanya Anda perlu membuat gambar rangka (wireframe) atau prototipe. Membuat prototipe dan gambar rangka adalah cara paling efisien untuk merencanakan dan menguji konsep sebelum melakukan proses penulisan kode yang memakan waktu dan mahal.
Jika Anda mendesain apa pun mulai dari situs web hingga aplikasi seluler, Anda memerlukan alat untuk membuat prototipe dan gambar rangka yang efisien. Untuk keperluan tersebut dapat menggunakan Figma. Figma memiliki semua fitur yang anda butuhkan untuk membuat prototipe yang menarik. Anda dapat menggunakan prototipe ini untuk mendapatkan umpan balik pelanggan, menguji konsep UI baru, berkomunikasi antara desainer dan pengembang, dan banyak lagi.
Pada pelatihan ini, anda akan belajar untuk merancang prototipe pertama anda. Setelah membuat prototipe pertama, maka anda akan diperkenalkan ke fitur-fitur penting yang ada pada Figma.
Pada pelatihan ini akan banyak latihan untuk merancang prototipe. Anda juga dapat membagikan prototipe anda dan mendapatkan umpan balik dari pengguna.

Adapun materi yang dibahas adalah sebagai berikut:

  • Figma Introduction
    • Quick Orientation
    • Loading a Project
    • Creating a Mobile Design Prototype
    • Finalizing Your Design
  • Learning Figma Interface
    • Desktop vs Web Based Version Of Figma
    • The Figma Plugin Architecture
    • Figma Mirror
    • Figma Menus
    • Figma Tools
    • Figma Design Versioning
    • Figma Files and Exports
  • Pages, Frames, Grids and Components   
    • Creating and Managing Pages
    • Using Frames
    • Understanding Layout Grids
    • Figma Components
  • Shapes with Figma
    • Drawing Shapes
    • Creating Groups
    • Fill, Stroke, and Effects
    • Aligning Shapes
    • Combining Shapes
  • The Pen Tool
    • Drawing Shapes with the Pen
    • Drawing Curves
    • Editing Shapes with the Pen
    • The Pencing Tool
    • Type and Typhography
    • Adding Type to Figma Project
    • Using Lorem Ipsum Text
  • Figma Workflow              
    • Material Design for IOS with Figma
    • Material Design for Android with Figma
    • Creating your own style libraries.
    • Figma Team Features
  • Study Case

Pelatihan .NET Microservices (PT EPSON)

Pada tanggal 14-18 Maret 2022 telah diadakan pelatihan dengan topik .NET Microservices. Peserta dari pelatihan ini adalah backend developer dari PT EPSON, Batam, Indonesia.

Microservices adalah suatu architecture yang dipakai sebagai model dalam pembuatan aplikasi cloud yang modern. Di dalam microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam processnya sendiri. Masing-masing dari aplikasi tersebut saling berkomunikasi melalu API (Application Programing Interface). Manfaat utama dalam mempergunakan microservices adalah agar team developer mampu mengembangkan aplikasi secara cepat dan mudah untuk di scale dengan membuat komponen-komponen dari aplikasi berjalan secara independen sehingga dapat memenuhi kebutuhan bisnis yang terus menerus berubah.
Apa yang membedakan Architecture Microservices dengan pendekatan yang lebih tradisional seperti Monolithic Architecture adalah bagaimana framework ini memecah aplikasi menjadi fungsi intinya. Setiap fungsi ini disebut sebagai service, dapat dibangun dan dijalankan secara independen, yang berarti service tersebut dapat berfungsi (dan gagal) tanpa berdampak negatif pada fungsi-fungsi yang lain.
Pelatihan ini akan memberikan pemahaman tentang bagaimana membangun layanan microservices menggunakan .NET Core 6. Adapun materi yang dibahas pada pelatihan ini meliputi:

  • RESTful Web API dengan ASP.NET Core 6
  • Entity Framework Core
  • DTO with AutoMapper
  • Data Layer & API Controllers
  • Docker & ASP.NET Core 6 Image
  • Publishing to Docker Hub
  • Container Network & Linking
  • Kubernetes Architecture
  • Kubernetes (yaml, NodePort, ClusterIP)
  • Synchronous Communication between services
  • API Gateway with nGinx Ingress Controller
  • SQL Server, Persistance Volume Claim, & Kubernetes Secret
  • Asynchronous Communication with Message Bus (RabbitMQ / Kafka)
  • Study Case

Pelatihan Web Application & Network Penetration Testing (PT Shimano)

Pada tanggal 7-11 Maret 2022 telah diadakan pelatihan dengan topik Web Application & Network Penetration Testing. Peserta dari pelatihan ini adalah network administrator dan pengembang dari PT Shimano, Batam, Indonesia.

Apakah Anda seorang developer web, infrastructure engineer, atau network administrator maka pemahaman tentang keamanan bagaimana aplikasi diserang adalah kunci untuk mempertahankannya. Dalam pelatihan ini anda akan mempelajari kerangka kerja pengujian penetrasi aplikasi web dan network infrastructure. 

Adapun materi yang disampaikan adalah sebagai berikut:

NoMateri
1Mengenal Penetration Testing
-Berbagai standar pentest
-Tahap-tahap pentest
Hacking dan Berbagai Jenis Serangan
-Definisi hacking dan hacker mindset
-Jenis-jenis serangan melalui jaringan komputer
2CVE
-Definisi CVE
-Vulnerability vs Exposure
-Penomoran CVE
-CVSS dan NVD
3Web Application Pentesting – Metodologi Serangan
-Langkah-langkah dalam melakukan pentesting
Web Application Pentesting – Struktur Aplikasi Web
-Request and Response
-HTTP Header
-Struktur URL
-Encoding
4OWASP Top 10
-Mengenal OWASP Top 10
-Daftar terbaru OWASP Top 10
-Perbandingan dan perkembangan daftar OWASP Top 10
5Metasploit – Mengenal Metasploit
-Sejarah singkat
-Berbagai versi metasploit
-Instalasi lab: kali linux, metasploitable 2, dan metasploitable 3
-Struktur direktori dan modul-modul metasploit
-Berbagai tool metasploit
6MSF Console
-Perintah dasar msfconsole
-Database dan msfconsole
-Enumerasi dengan msfconsole: nmap
7Vulnerability Scanning
-Memadukan metasploit dengan nessus
-Metasploit exploitation
-Exploitation to metasploitable 3
8Post-exploitation
-Meterpreter basic
-More about meterpreter
9Introduction to Burp Suite
-History of Burp Suite
-Burp Suite Editions
-Setting up web application pentesting: external vs internal browser
-OWASP BWA
10Burp Suite attack on OWASP 
-Site map
-Message editor
-Repeater, Decoder, Intruder
11Burp Suite attack on OWASP 
-Burp Suite HTTPS trust
-Project and user options
-Spider and Scanning
-Authentication – account renumeration, bypassing authentication
12Burp Suite attack on OWASP 
-Authorization – local/remote file include, IDOR
-Session Management – cookie, CSRF
-Business Logic – data validation, file upload
13Burp Suite attack on OWASP 
-Input validation check 
-cross site scripting, HTTP verb tampering
-HTTP parameter pollution, SQL injection
-Advance attack using Burp Suite
14Exercise – network/server pentest on real-world/own server
15Exercise – web application pentest on real-world/own server

Online Training: Azure DevOps (PT Asuransi Tugu Pratama)

Pada tanggal 10-11 Februari 2022 telah diadakan pelatihan dengan topik Azure DevOps. Peserta dari pelatihan ini adalah pengembang dari PT Asuransi Tugu Pratama, Jakarta, Indonesia.

DevOps bukan merupakan framework atau workflow. DevOps adalah budaya yang modern pada dunia bisnis. DevOps memastikan kolaborasi dan komunikasi antar software engineer / developer (Dev) dan IT operations (Ops) berjalan dengan baik. Dengan DevOps perubahan membuat proses produksi lebih cepat, sumber daya lebih mudah untuk dibagikan, dan sistem berskala besar lebih mudah untuk dikelola dan dirawat.

Pelatihan ini akan membahas gambaran umum tentang DevOps movement dengan berfokus pada nilai inti CAMS (culture, automation, measurement, and sharing). Pada pelatihan ini akan dibahas beberapa metodologi dan tools (Azure DevOps) yang dapat diadopsi oleh organisasi untuk beralih ke DevOps, bagaimana penerapan prinsip-prinsip agile dan lean project management management.

Topik yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Apa itu DevOps
  • Pengenalan Azure DevOps
  • Memilih pendekatan agile yg akan digunakan
  • Bekerja dengan Azure Boards
  • Apa itu Delivery Plan
  • Pengaturan environment yg akan digunakan
  • Merencanakan sprint menggunakan Delivery Plans
  • Apa itu Azure Pipeline
  • Membuat Pipeline
  • Multiple konfigurasi pipeline
  • Memilih code workflow strategy
  • Bagaimana membuat pull request pada github
  • Push change dan mentrigger pipeline
  • Pelacakan build history
  • Penambahan rule review pada saat pull request
  • Apa itu Automated Testing?
  • Menambahkan unit testing pada aplikasi
  • Menjalankan unit testing pada pipeline
  • Menambahkan testing widget pada dashboard
  • Menjalankan code coverage testing
  • Memperbaiki failed test
  • Apa itu Azure Artifacts
  • Membuat package pada Azure Artifacts
  • Membuat Release pipeline stage
  • Apa itu continuous delivery
  • Deploy app to Azure App Services
  • Monitor health pipeline
  • Membuat multistages pipeline (dev, staging)

Online Training: RESTful API with ASP.NET Core 6 (PT Asuransi Tugu Pratama)

Pada tanggal 7-9 Februari 2022 telah diadakan pelatihan online dengan topik Building RESTful API with ASP.NET Core 6. Peserta dari pelatihan ini adalah tim pengembang dari PT Asuransi Tugu Pratama, Jakarta, Indonesia.

Pelatihan ini bertujuan untuk memberikan pengetahuan praktis tentang pengembangan web services (REST) dengan teknologi ASP.NET Core 6. ASP.NET Core 6 sendiri adalah framework yang mendukung pengembangan aplikasi backend (RESTful) web services yang modern dari Microsoft. ASP.NET Core 6 didesain untuk kebutuhan aplikasi backend yang membutuhkan performa tinggi dan bisa digunakan diberbagai platform (Linux, Windows, Container, etc). ASP.NET Core Web API juga sangat cocok untuk berjalan pada environment cloud. ASP.NET Core Web API juga memudahkan pengembang untuk membuat aplikasi backend yang dapat digunakan untuk berbagai macam aplikasi client seperti aplikasi web (ASP MVC, React, Blazor)  dan aplikasi mobile (Android, Ios, Xamarin Cross Platform).

Adapun materi yang disampaikan pada pelatihan ini adalah sebagai berikut:

  • Introduction to .NET 6 & ASP.NET Core 6
  • MVC Pattern & RESTful API
  • Minimal API
  • REST Constraints
  • Endpoint Routing
  • HTTP Method for access Resources
  • HTTP Status Code
  • Outer Facing vs Entity Model
  • DTO & Automapper
  • Filtering & Searching
  • Micro ORM with Dapper
  • Entity Framework Core
  • EF Migrations
  • Validating Data & Reporting Error
  • ASP.NET Security (ASP.NET Identity)
  • Authentication & Authorization
  • JWT (JSON Web Token)
  • JWT and ASP.NET Identity Integration
  • Claim based auth
  • Deployment to Cloud Services
  • Deploy API on container
  • Consuming RESTful API

Online Training: Cross-Platform Mobile Apps Development with Xamarin Forms (Chemstone Asia)

Pada tanggal 17-20 Januari 2022, telah dilaksanakan online training dengan judul Cross Platform Mobile Apps Development with Xamarin. Training diikuti oleh pengembang aplikasi mobile dari Chemstone Asia (PT. Mulya Adhi Paramita), Jakarta.

Tujuan dari online training ini adalah mengembangkan aplikasi mobile native multi platform (Android, IOS, dan Universal Windows Platform) dengan menggunakan teknologi Xamarin Forms 5.0.

Dengan menggunakan Xamarin, pengembang dapat menggunakan bahasa pemrograman C# dan .NET Framework untuk mengembangkan aplikasi mobile native cross platform. Dengan menggunakan .NET dan C# pengembang dapat membuat aplikasi mobile dengan platform Android, IOS, dan Windows 10. Keuntungan lainnya pengembang juga dapat menggunakan C# untuk membuat backend servicesnya, ini sangat cocok bagi pengembang yang sudah terbiasa bekerja di lingkungan .NET Platform dengan bahasa C#/VB.

Berikut adalah topik yang dibahas pada pelatihan ini:

  • Introduction to Xamarin Forms
  • Xamarin Layout with XAML
  • Pages Layout & Navigation
  • Basic Controls & Plugins
  • Styles & Theming
  • Binding Command
  • Display Data on ListView
  • Tab Pages, Navigation
  • Passing data between Page
  • MVVM Pattern with Xamarin Forms
  • Xamarin App Shell
  • Navigation with Xamarin App Shell
  • Local Data with SQLite
  • RESTful API
  • ASP.NET Web API (CRUD)
  • Consume REST API from Xamarin
  • Third Party Library (Chart, Table, etc)
  • Push Notification (FCM)
  • Release & Publish Apps
  • Packaging and Deployment
  • What Next .NET MAUI