Pelatihan Automated Testing with ASP.NET Core

Pada tanggal 16-20 September 2019 telah dilaksanakan pelatihan dengan Judul Automated Testing with ASP.NET Core 2.2. Peserta dari pelatihan ini adalah pengembang aplikasi web dari RSUD Margono, Purwokerto, Jawa Tengah.

Pelatihan kali ini membahas metode testing yang dilakukan pada pengembangan aplikasi yaitu Unit Testing, Integration Testing, dan UI Testing. Tools yang digunakan adalah ASP.NET Core 2.2, xUnit, dan Selenium Web Driver. Setelah itu topik dilanjutkan dengan bahasan tentang konsep DevOps dan implementasinya seperti CI/CD Pipelines (tools menggunakan Visual Studio Team Services/Azure DevOps).

Daftar Materi

  • Introduction to Automated Testing
  • Introduction to Unit Testing
  • Installation xUnit
  • Using Assert Technique
  • Data Driven Test
  • Advanced Techniques
  • Stated-based and interaction-based test
  • Testing in isolation with Moq
  • What integration testing is
  • Dependency Inversion
  • Gateway design pattern
  • Dependency Injection Container
  • Functional UI testing with Selenium
  • Using Selenium IDE
  • Using Selenium Web Driver with C#
  • Selenium Visual Studio Integration
  • Organizing Test Code
  • What is DevOps
  • Azure DevOps Board
  • Continuous Integration & Continuous Delivery (CI/CD Pipeline)
  • Azure DevOps Pipeline

5

Pelatihan Modern Web Application wtih ASP.NET Core 2.2

Pada tanggal 9-13 September 2019 telah dilaksanakan pelatihan dengan Judul Modern Web Application with ASP.NET Core 2.2. Peserta dari pelatihan ini adalah pengembang aplikasi web dari RSUD Margono, Purwokerto, Jawa Tengah.

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

2

Pelatihan Modern React and Redux Front-End Framework

Pada tanggal 22-24 Agustus 2019 telah dilangsungkan pelatihan inhouse dengan topik Modern React and Redux Web Front-End Framework. Peserta dari pelatihan kali ini adalah pengembang aplikasi web dari PT Focus Inti Solusi, Jakarta.

Materi yang dibahas pada pelatihan ini adalah mengembangkan aplikasi Web menggunakan React dan Redux, pada pelatihan ini peserta akan diajak membuat beberapa contoh aplikasi dengan menggunakan React dan Redux sehingga lebih mudah untuk memahami konsep-konsep yang diajarkan.

Adapun materi yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Pengenalan React
  • Menggunakan Boilerplate Projects
  • Project Setup, Taste of JSX, More on JSX, Import Statements
  • ReactDOM vs React, Differences Between Component Instances and Component Classes
  • Render Targets, Component Structure, Youtube Search API Signup
  • Export Statements, Class-Based Components
  • Handling User Events, Introduction to State
  • More on State, Controlled Components
  • Breather and Review, Ajax Requests with React, Youtube Search Response
  • Refactoring Functional Components to Class Components, Props, Building Lists with Map
  • List Item Keys, Video List Items, Detail Component and Template Strings
  • Handling Null Props, Video Selection, Styling with CSS, Searching for Videos, Throttling Search Term Input
  • Modeling Application State, What is Redux?, More on Redux, Even More on Redux
  • Managing App State with Redux, Connecting Redux to React
  • Implementation of a Container Class, Containers and Reducers Review
  • Actions and Action Creators, Binding Action Creators, Creating an Action
  • Consuming Actions in Reducers, Conditional Rendering
  • Reducers and Actions Review, Intermediate Redux: Middleware
  • Component Setup, Controlled Components and Binding Context, Form Elements in React
  • Working with API’s, Introduction to Middleware
  • Ajax Requests with Axios, Redux-Promise in Practice
  • Avoiding State Mutations in Reducers, Building a List Container, Mapping Props to a Render Helper
  • Adding Sparkline Charts, Making a Reusable Chart Component, Labeling of Units
  • Google Maps Integration
  • React Router + Redux Form, Exploring the Posts Api
  • Installing React Router, Setting Up React Router, Route Configuration, Nesting Of Routes
  • Form Validation, ReactRouter and ReduxForm

2

Pelatihan Building RESTful API with ASP.NET Core Web API 2.2

Pada tanggal 14-16 Agustus 2019 telah dilaksanakan pelatihan inhouse dengan Judul RESTful API with ASP.NET Core Web API 2.2. Peserta dari pelatihan ini adalah pengembang aplikasi web dari PT Focus Inti Solusi, Jakarta.

Pelatihan ini bertujuan untuk memberikan pengetahuan praktis tentang pengembangan web services (REST) dengan teknologi ASP.NET Core Web API. ASP.NET Core Web API adalah framework untuk pengembangan aplikasi backend (RESTful) web services yang modern dari Microsoft. ASP.NET Core 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 topik yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Introduction to .NET Core
  • Introduction to ASP.NET Core Web API
  • Introduction to ASP.NET Core Web API
  • ASP.NET Core Web API
  • Representational State Transfer
  • REST and Web API
  • HTTP Services using Web API
  • Using Fiddler
  • Web API dan HTTP
  • HTTP Response Codes
  • Http Response Exception
  • Implementing POST
  • Implementing PUT
  • Implementing DELETE
  • Accessing Database with ORM
  • Using Entity Framework
  • Using Dapper Micro ORM
  • Media Formatters dan Content Negotiation
  • Internet Media Types & Media Formatters
  • JSON and XML Formatters
  • Content Negotiation
  • Accept and Content-Type Headers
  • Using Query String
  • Custom Request Headers
  • Serialization
  • Binding, Validation and Routing
  • Membaca Raw HTTP Requests
  • Route Data, Query String dan Request Body
  • Binding for Simple Types
  • Binding for Complex Types
  • Routing in ASP.NET Web API
  • Using Default Routes
  • ASP.NET Core Web API CRUD (Create, Read, Update, Delete)
  • ASP.NET Core Web API Security
  • Authentication dan Authorization pada Web API
  • ASP.NET Core Identity
  • Role based Authorization
  • Token Based Authentication and Authorization
  • Deploy Web API to the Cloud
  • Deploy to Azure VM
  • Deploy to Azure App Services
  • Accessing Web API from Client Apps
  • Using REST Sharp Library for accessing API
  • Web Client
  • Mobile Client

1

Pelatihan Cloud Computing with Azure App & SQL Azure

Pada tanggal 24-26 July 2019 telah dilaksanakan pelatihan dengan judul Microsoft Azure Fundamental, peserta dari pelatihan ini adalah pengembang aplikasi dari PT Trisatria Persada Borneo, Balikpapan, Kaltim.

Adapun materi yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Introduction to Cloud Computing
  • Why Cloud Computing
  • Introduction to Microsoft Azure
  • Azure Subscription
  • Azure Portals
  • Azure IaaS with VM
  • IIS and Web Hosting Settings on Azure VM
  • Stopped and Deallocated Azure VM
  • Azure PaaS with Azure App Services
  • Create Azure App Services
  • App Services Settings
  • App Services Deploying Options
  • Deployment Slots
  • Deploy Web Apps / Backend Apps to Azure Services
  • SQL Azure / MySQL on Azure
  • Export SQL Db On-Premises to Azure

1

Pelatihan RESTful API with ASP.NET Core Web API 2.2

Pada tanggal 12-14 Juni 2019 telah dilaksanakan pelatihan inhouse dengan Judul RESTful API with ASP.NET Core Web API 2.2. Peserta dari pelatihan ini adalah pengembang aplikasi web dan mobile dari Information System Office Universitas Atma Jaya, Yogyakarta.

Pelatihan ini bertujuan untuk memberikan pengetahuan praktis tentang pengembangan web services (REST) dengan teknologi ASP.NET Core Web API. ASP.NET Core Web API adalah framework untuk pengembangan aplikasi backend (RESTful) web services yang modern dari Microsoft. ASP.NET Core 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 topik yang dibahas pada pelatihan ini adalah sebagai berikut:

  • Introduction to .NET Core
  • Introduction to ASP.NET Core Web API
  • Introduction to ASP.NET Core Web API
  • ASP.NET Core Web API
  • Representational State Transfer
  • REST and Web API
  • HTTP Services using Web API
  • Using Fiddler
  • Web API dan HTTP
  • HTTP Response Codes
  • Http Response Exception
  • Implementing POST
  • Implementing PUT
  • Implementing DELETE
  • Accessing Database with ORM
  • Using Entity Framework
  • Using Dapper Micro ORM
  • Media Formatters dan Content Negotiation
  • Internet Media Types & Media Formatters
  • JSON and XML Formatters
  • Content Negotiation
  • Accept and Content-Type Headers
  • Using Query String
  • Custom Request Headers
  • Serialization
  • Binding, Validation and Routing
  • Membaca Raw HTTP Requests
  • Route Data, Query String dan Request Body
  • Binding for Simple Types
  • Binding for Complex Types
  • Routing in ASP.NET Web API
  • Using Default Routes
  • ASP.NET Core Web API CRUD (Create, Read, Update, Delete)
  • ASP.NET Core Web API Security
  • Authentication dan Authorization pada Web API
  • ASP.NET Core Identity
  • Role based Authorization
  • Token Based Authentication and Authorization
  • Deploy Web API to the Cloud
  • Deploy to Azure VM
  • Deploy to Azure App Services
  • Accessing Web API from Client Apps
  • Using REST Sharp Library for accessing API
  • Web Client
  • Mobile Client

3

Pelatihan Cross Platform Mobile Development with Xamarin

Pada tanggal 27-29 May 2019 telah diadakan pelatihan inhouse dengan topik Cross Platform Mobile Development with Xamarin, peserta dari pelatihan ini adalah para pengembang aplikasi mobile dari Information System Office Universitas Atma Jaya Yogyakarta.

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

Dengan menggunakan Xamarin, pengembang dapat menggunakan bahasa pemrograman C# dan .NET Framework untuk mengembangkan aplikasi mobile native yang bersifat cross platform. Pengembang dapat satu kode yang dapat digunakan untuk membuat aplikasi dengan platform Android, IOS, dan Windows 10.

Adapun topik yang dibahas pada pelatihan ini adalah sebagai berikut:

    • Introduction to Xamarin Forms
    • Pages Layout & Navigation
    • Basic Controls & Plugins
    • Styles & Theming
    • Binding Command
    • Display Data on ListView
    • Local Data with SQLite
    • RESTful API
    • Consume REST API from Xamarin
    • Third Party Library (Chart, Table, etc)
    • MVVM Pattern with Prism Framework
    • Push Notification (FCM)
    • Release & Publish Apps
    • Packaging and Deployment
    • Study Case Simple LOB (Line Of Business Apps)

2

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