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 bersama PT Mulya Adhi Paramita

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 PT. Mulya Adhi Paramita (ChemStationAsia), 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

Online Training: Cross-Platform Mobile Apps Development with Xamarin Forms (PT United Can)

Pada tanggal 10-14 Januari 2022, telah dilaksanakan online training dengan judul Cross Platform Mobile Apps Development with Xamarin. Training diikuti oleh pengembang aplikasi mobile dari PT United Can Company Ltd, 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

Pelatihan Modern Web Application wtih ASP.NET Core 3

Pada tanggal 19-23 January 2020 telah dilaksanakan pelatihan inhouse dengan Judul Modern Web Application with ASP.NET Core 3.0. Peserta dari pelatihan ini adalah pengembang aplikasi web dari PT Mastersystem Infotama. Pelatihan ini dilaksanakan secara inhouse di kantor PT Mastersystem, Sudirman 7.8 Tower 1, 25th floor, Jakarta

Pengajar pada pelatihan ini adalah Bapak Erick Kurniawan yang merupakan salah satu Microsoft MVP (Most Valuable Professional) di bidang Development Technology (ASP.NET Core, Xamarin Cross Platform, & Blazor).

Pada pelatihan ini peserta akan mendapatkan materi tentang framework terbaru untuk pengembangan aplikasi web menggunakan teknologi Microsoft yaitu ASP.NET Core 3.0. ASP.NET Core 3.0 adalah framework yang di didesain ulang dari awal oleh Microsoft untuk 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.

Daftar Materi

  • 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
  • Strongly Type ASP.NET MVC View
  • ASP.NET Helpers & Tag Helper
  • Partial View
  • View Component
  • View Layout
  • Integrasi dengan Javascript
  • Micro ORM with Dapper
  • Entity Framework Core
  • EF Migrations
  • ASP.NET Security (ASP.NET Identity)
  • Authentication & Authorization
  • Deployment to Azure Cloud
  • Study Case

1

Pelatihan REST API Security (PT Pamapersada Nusantara)

Pada tanggal 10-12 April 2019 telah dilaksanakan inhouse training dengan topik REST API Security. Peserta dari pelatihan ini adalah pengembang aplikasi mobile dari PT Pamapersada Nusantara. Pelatihan ini dilangsungkan di Pusat Pelatihan PT Pamapersada di Cileungsi, Bogor.

Dengan semakin popular nya aplikasi mobile dan aplikasi dengan arsitektur microservices maka pengetahuan tentang keamanan pada aplikasi tersebut semakin dibutuhkan, sehingga dapat meminimalkan serangan yang mungkin terjadi.

Tujuan dari pelatihan ini adalah membahas berbagai macam serangan dan ancaman keamanan pada aplikasi backend berbasis REST API.

Adapun materi yang disampaikan pada pelatihan REST API Security ini adalah sebagai berikut:

-Introduction

  • The Age of the API
  • The Hidden Nature of API Security
  • What Exactly Is an API?
  • What’s the Scope of This Course?
  • Introducing Supercar Showdown
  • Introducing the Vulnerable Mobile App

· Discovering Device Communication With APIs

  • Who Are We Protecting Our APIs From?
  • Proxying Device Traffic Through Fiddler
  • Interpreting Captured Data in Fiddler
  • Intercepting Mobile App Data in Fiddler
  • Discovering More About Mobile Apps via Fiddler
  • Filtering Traffic in Fiddler
  • Alternate Traffic
  • Interception Mechanisms

· Leaky APIs and Hidden APIs

  • Introduction
  • Discovering Leaky APIs
  • Securing a Leaky API
  • Discovering Hidden APIs via Documentation Pages
  • Discovering Hidden APIs via robots.txt
  • Discovering Hidden APIs via Google
  • Securing Hidden API

· API Manipulation and Parameter Tampering

  • Introduction
  • Defining Untrusted Data
  • Modifying Web Traffic in Fiddler
  • Manipulating App Logic by Request Tampering
  • Response Tampering
  • API Authentication and Authorization Vulnerabilities
  • Introduction
  • Identifying Authentication Persistence
  • The Role of Tokens
  • An Auth Token in Practice
  • An Overview of Authorization Controls
  • Identifying Client Controls vs. Server Controls
  • Circumventing Client Authorization Controls
  • Testing for Insufficient Authorization
  • Testing for Brute Force Protection
  • The Role of OpenID Connect and OAuth

· Working With SSL Encrypted API Traffic

  • MitM’ing an HTTPS Connection With Fiddler
  • Configuring Fiddler to Decrypt Encrypted Connections
  • Proxying Encrypted Device Traffic via Fiddler
  • Rejecting Invalid Certificates
  • Identifying a Missing Certificate Validation Check
  • Loading the Fiddler Certificate on a Device
  • SSL Behavior on a Compromised Device
  • Identifying Invalid Certificates
  • The Value Proposition of Certificate Pinning
  • Demonstrating Certificate Pinning

23

Azure Table Storage dengan ASP.NET MVC (Part 1)

Banyak developer yang tidak mengetahui apa itu azure table storage, dan ada sebagian developer yang belum tahu benar apa kegunaan dari azure table storage. Bagi kebanyakan developer pengalaman menggunakan table storage adalah menggunakan database relasional seperti SQL Server atau MySQL. Database relasional terdiri dari banyak table, dan setiap table memiliki kolom yang sudah terdefinisi secara jelas. Anda dapat mendefinisikan satu atau lebih kolom sebagai kolom identitas (primary key). Kolom identitas tersebut juga digunakan untuk merelasikan antar table.

Azure menyediakan beberapa cara untuk penyimpanan dan pengaturan data yaitu: SQL Azure untuk menyimpan relasional data, DocumentDb, Blob, dan Table Storage. Bagi developer yang familiar dengan relasional database, Azure Table Storage kadang dirasa janggal dan banyak yang belum paham dengan cara kerjanya.

Secara desain Azure table storage mempunyai potensi untuk menyimpan data dengan jumlah besar, dan menyediakan cara yang efisien untuk pengaksesan kembali datanya. Tidak seperti relational database yang memiliki berbagai macam aturan seperti constrain, relationship, view, store procedure, dll. Pada table storage anda hanya berurusan dengan data. Azure table menggunakan keys yang efisien untuk digunakan meng-query data. Anda juga dapat menggunakan PartitionKey untuk kebutuhan load balancing jika anda memutuskan untuk menyimpan data pada lebih dari satu server. Table storage juga tidak memiliki schema yang spesifik. Table storage hanya merupakan baris data yang terstruktur. Anda dapat memiliki table yang hanya menyimpan satu jenis tipe data saja atau dapat juga menyimpan beberapa jenis tipe data dalam satu table.

image

image 

Langkah pertama yang harus dilakukan adalah menambahkan Storage Account baru pada layanan Azure. Jika anda belum memiliki akun Microsoft Azure anda dapat mendaftar untuk mendapatkan versi trial pada url berikut https://azure.microsoft.com/en-us/pricing/free-trial/

Kemudian tambahkan Storage Account baru, pada contoh berikut

image

image

Pada tahap ini anda sudah berhasil untuk membuat Storage Account baru, pada tutorial selanjutnya kita akan membuat project ASP.NET MVC baru dan menambahkan Azure Table Storage dan Blob kedalam Storage Account yang sudah kita buat.

ASP.NET MVC Training with PT. Idea Domina Jakarta

Pada tanggal 20-25 April 2015 telah dilangsungkan pelatihan ASP.NET MVC yang diikuti oleh 8 orang developer dari PT.Idea Domina Jakarta. Pelatihan kali ini fokus pada pengembangan framework berbasis ASP.NET MVC, selanjutnya framework yang sudah dibangun dapat digunakan sebagai pondasi dari aplikasi yang lebih kompleks.

Detail daftar materi yang disampaikan pada pelatihan ini dapat di diunduh pada tautan berikut.

IMG_20150416_112629

ttd