Education

NodeJS for Enterprise, ASP.NET Core with Design Pattern


NodeJS for Enterprise 2.0


แชร์ประสบการณ์และเทคนิคในการออกแบบ Web Api Pattern  ด้วย NodeJS ซึ่งเป็นภาษา JavaScript ที่มีความยืดหยุ่น วางโครงสร้างโค้ดและฟีเจอร์อย่างไรให้ช่วยลดข้อผิดพลาดและเพิ่มความรวดเร็วในการพัฒนาฟีเจอร์ใหม่ๆ รูปแบบการเรียนการสอน เป็นการบรรยาย แสดงตัวอย่างซอร์สโค้ด และเล่าถึง Use case ว่าทำไมเลือกใช้วิธีการดังกล่าว มี lab ให้ดูโค้ด


คอร์สนี้เหมาะกับใคร


  • ผู้มีความรู้พื้นฐาน JavaScript

  • ผู้สนใจเทคโนโลยี Non- Blocking I/O การเขียนโปรแกรมแบบ Asynchronous

  • ผู้เขียนโปรแกรมแบบ Strong Type แล้วอยากบริหารจัดการการเขียนโค้ดสำหรับ Dynamic Type

  • ผู้สนใจพัฒนา Web Api ด้วย NodeJS, Open Source  ที่มีขนาด Community ใหญ่มาก


สิ่งที่ต้องเตรียม


1. Laptop Ram Available 250MB+ เนื้อที่ดิสก์ 400 Mb +


2. ติดตั้ง NodeJS version 6+ (https://nodejs.org/en/download/)


3. Command line พื้นฐาน  สร้าง ลบ เข้าถึงไดเรคทอรี


4. VSCode (https://code.visualstudio.com/download)


5. MongoDB version 3.2 +(https://www.mongodb.com/download-center#community)


เนื้อหา


วันที่ 1


  • Introduction and Installation  -> แนะนำ Nodejs และติดตั้งเครื่องมือที่เกี่ยวข้องในการพัฒนา ได้แก่ NodeJS, VSCode

  • Modules -> รู้จักการเขียน Module  ใน JavaScript

  • JavaScript ES6


------------------------ Break ------------------------


  • REST API

  • Setup MongoDB

  • Express Server

  • Asynchronous Callback

  • Beautiful Code with Promise, Async Await


------------------------ Launch ------------------------


  • Refactor code with OOP and Integrate with REST Api

  • Custom Module


------------------------ Break ------------------------


  • Unit and BDD Test with Mocha and Chai

  • Configuration Coding


------------------------ End ------------------------


วันที่ 2


  • Route Centralize

  • Smart Validation


------------------------ Break ------------------------


  • Log Center

  • Documentation


    ------------------------ Launch ------------------------


  • Authorization

  • Authentication


------------------------ Break ------------------------


  • Deployment with Docker

  • Monitoring

  • Q & A


------------------------ End ------------------------



Source Code: https://github.com/apaichon/node_enterprise


อาจมีการเปลี่ยนแปลงก่อนวันสอน



ASP.NET Core in Advanced

Learning from Project and Design Pattern

 ASP.NET Core กลับมาพลิกโฉมด้วยการเลิกปิดกั้นตัวเอง เปิดตัวเองเข้าสู่โลก  Opensource และ Container อย่างเต็มตัว สามารถทำงานบนระบบปฏิบัติการยอดฮิตอย่าง MacOS และ Linux ได้อีกด้วย ทำให้กับมาได้รับความนิยมอีกครั้ง นอกจากสามารถใช้ได้ฟรี ยังมีประสิทธิภาพสูงขึ้น อีกทั้งในองค์กรธุรกิจหลายแห่ง ยังเต็มไปด้วยเทคโนโลยี .NET ไม่ว่าจะเป็น VB หรือ C# ทำให้การปรับเปลี่ยนเทคโนโลยีเดิมมาใช้เทคโนโลยีใหม่ใช้เวลาเรียนรู้น้อยลงไม่ต้องเริ่มจากศูนย์ คอร์สนี้จะเรียนรู้จากโปรเจคระบบจองตั๋วคอนเสิรต์ ตั้งแต่กระบวนการออกแบบหน้าจอ การออกแบบ Software Architecture การเลือกใช้ OOP และ Design Pattern เพื่อให้การพัฒนามีระเบียบ อ่านโค้ดเข้าใจได้ง่าย ง่ายต่อการทดสอบ สร้างมาตรฐานการทำงานในทีม และเพิ่มความเร็วในการพัฒนาเมื่อเพิ่มฟีเจอร์ใหม่ๆ

คอร์สนี้เหมาะกับใคร

  • ผู้มีความรู้การพัฒนาแอพพลิเคชั่นด้วย C#.Net, ASP.NET

  • ผู้สนใจปรับเปลี่ยนจาก .NET เวอร์ชั่นเดิมให้รองรับ Container และ Cloud

  • นักพัฒนาที่อยากได้แนวทางการพัฒนาที่ช่วยลดเวลาการพัฒนาลง และนำโค้ดไปต่อยอดงานที่ทำอยู่

  • ผู้สนใจพัฒนา Web, Web Api ด้วย ASP.NET Core

    ผู้สนใจร่วมทำ Opensource ระบบจองตั๋ว จองโรงแรม ด้วย .NET Core และ Blockchain


สิ่งที่ต้องเตรียม


  1. OS Window, Mac, Linux

  2. Laptop Ram Available 250MB+ เนื้อที่ดิสก์ 400 Mb +

  3. ติดตั้ง .NET Core 2.2 + (https://dotnet.microsoft.com/download)

  4. VSCode (https://code.visualstudio.com/download)

  5. MongoDB version 3.2 +

(https://www.mongodb.com/download-center#community)

ตัวอย่างหน้าจอแอพ


เนื้อหา

วันที่ 1

  • Introduction and Installation  

    • แนะนำ .NET Core และติดตั้งเครื่องมือที่เกี่ยวข้องในการพัฒนา ได้แก่ .NET Core, VSCode

    • คุณลักษณะของ  Web ยุคใหม่ประกอบด้วยอะไรบ้าง

    • MVC Pattern

    • สร้างโปรเจค MVC Web Application

  • ออกแบบหน้าจอระบบจองตั๋วคอนเสิร์ต Prototype MyConcert Project

    • Design Concert List Page.

    • Design Concert Details Page.

    • Design Sign In Page.

    • Desing Book History Page.

  • เริ่มต้นวางเลย์เอาต์หน้าจอหลัก

    • ​Header

    • Content

    • Footer

------------------------ Break ------------------------

  • พัฒนาหน้าจอ Concert List Page

    • ออกแบบหน้าจอ

    • เขียน REST API เพื่อดึงข้อมูล Concert มาแสดง

    • เขียนโค้ดเชื่อมต่อ  Controller -> REST API -> Model-> View

    • เรียนรู้ Routing, Razor, Dependecy Injection

------------------------ Launch ------------------------


  • เรียนรู้ Multi-Tiers Application Design

    • DAL (Data Acess Layer) การพัฒนา dll สำหรับนำกลับมาใช้ได้ในโครงการอื่นๆ การใช้ Interface เพื่อรองรับการทำงานกับฐานข้อมูลหลายชนิด รวมไปถึง การพัฒนาเชิงวัตถุ OOP ในการสืบทอดคุณสมบัติการ Class แม่

    • ​BLL (Business Logic Layer) เลย์เยอร์สำหรับ Business Logic เพื่อรองรับการใช้ฟังก์ชั่นทางธุรกิจ
      Strategy Pattern เพื่อแบ่งแยกฟังก์ชั่นเป็นส่วน แต่สามารถเข้าถึงได้ด้วยวิธีการเดียวกัน เพื่อกำหนดมาตรฐาน นำกลับมาใช้ใหม่ได้แบบลดความกังวลกับผลข้างเคียงเมื่อมีการปรับ Requirement
      Factory Pattern เพื่อนำฟังก์ชั่นจาก Strategy Pattern มาประกอบร่างผลิตเป็น Component ใหม่ ตามหลักวิธีของ Composite Pattern
      เรียนรู้การทำรองรับหลายภาษาด้วย Globalization and localization

    • Facade เป็น ประตูหน้าด่านที่จะนำพาไปสู่ Layer อื่นๆ เหมือนการสั่งซื้อสินค้าออนไลน์แล้วลูกค้าไม่จำเป็นต้องรู้ว่าของมาจาก Stock โกดังไหน Shelf ไหน Facade จะทำหน้าที่นำ input ไป  process ต่อและส่งผลลัพธ์กลับไปให้ต้นทาง อีกทั้งประกอบด้วย Security (Authorization, Authentication, Logging)

* เนื้อหาส่วนของ Facade อาจจะแทนที่ด้วย   BLL ขึ้นอยู่กับความสมบูรณ์ของการเตรียมเนื้อหา

    • REST API สำหรับให้แอพ Platform ต่างๆเชื่อมต่อ

    • ASP.NET MVC Frontend

------------------------ Break ------------------------

  • พัฒนาหน้าจอ Concert Details Page แบบยังจองตั๋วไม่ได้


วันที่ 2

  • พัฒนาหน้าจอ Sign In Page ด้วย Facebook
    เรียนรู้ Singleton Pattern ด้วย Sign In Page แสดงจำนวนคนที่ Sign In อยู่ปัจจุบัน

  • ปรับหน้าจอ Concert Details Page ให้จองตั๋วได้ เรียนรู้ Transaction เพื่อไม่ให้เกิดการจองตั๋วซ้ำ

------------------------ Break ------------------------

  • พัฒนาหน้าจอ Book History Page

------------------------ Launch ------------------------

  • Unit Test

  • Deployment with Middleware Nginx

    • Install Nginx

    • Proxy by Nginx


------------------------ Break ------------------------

  • Monitoring

  • Q&A




02d9835fa61280d503d2d43ec2296639a1e5bb4c
Organized by
ขาเดฟ