No account yet?
 
 
You are here:: High Scalable Real-Time Web Application with Node.JS and Redis
 
 

High Scalable Real-Time Web Application with Node.JS and Redis

Categories : Software Technology
Posted by : rungnapa | Posted On : Tuesday, 24 October 2017 15:53
Training Date : 09 October 2018 - 11 October 2018
03 July 2018 - 05 July 2018

02 April 2018 - 05 April 2018
Please Login before registering . No account ? signup here
กรุณา ล็อกอิน ก่อนลงทะเบียน หรือสร้างบัญชีผู้ใช้ใหม่ได้ ที่นี่
Time : 18 Hour(s)
Days : 3 Day(s)
Duration : 09:00 - 16:00
Fee : 12,000 THB (Excluded Vat 7%)
Language : Thai
Instructor : Mr.Paiboon Panusbordee
Objectives :

ในการสร้าง Web Application ที่มีความสามารถในการโต้ตอบกับผู้ใช้แบบ Real-Time นั้นไม่ใช่เรื่องง่าย จำเป็นต้องใช้ทักษะและความรู้เฉพาะทางที่ไม่เหมือนการพัฒนา Web Application ทั่วไป หากใช้ความรู้เดิมๆ จะเป็นการใช้เครื่องมือที่ไม่เหมาะกับงาน และสร้างความยุ่งยากในการพัฒนาเป็นอย่างมาก การสร้างให้รองรับคนใช้จำนวนมากๆ ก็ยังเป็นเรื่องท้าทายมาก จึงมีบริการ Cloud Service ออกมาช่วยมากมายเช่น Chat Cloud Service, Firebase แต่หากมีจำนวนคนเยอะเกินไประดับหนึ่งจะเสียค่าใช้จ่ายแพงมาก และการต้องใช้ Third Party Service จะทำให้ไม่สามารถควบคุมโครงสร้างระบบได้ 100% อีกทั้งยังต้องพึ่งพิงคนอื่น วัตถุประสงค์ของการเข้ารับการอบรมในวิชานี้คือให้สามารถสร้าง Real-Time Web Application ที่มีการใช้งานของผู้ใช้หลายคนร่วมกันพร้อมๆ กันและเห็นการเปลี่ยนแปลงทันที เช่น Chat Room, Real Time Analytic, Trello, Google Docs, Game Online, เว็บประมูลของ รวมไปถึงWeb Application ที่ต้อง Update ข้อมูลตลอดเวลาเช่น ตลาดหุ้น, ราคาทอง หรือแม้แต่ Twitter ที่จะเห็น Tweet ใหม่ๆ โดยไม่ต้อง refresh โดยอัตโนมัติได้เป็นอย่างดี สอนโดยผู้มีประสบการณ์จริงสร้างระบบให้คนเข้าใช้หลักแสนคนต่อวันมาแล้ว

Who Should Attend :

          กลุ่มลูกค้าเป้าหมาย

         1. นักพัฒนา Website, Startup หรือองค์กร ที่มีระบบการโต้ตอบกับผู้ใช้แบบ Real-Time เช่น Chat Room, Collaborative Tools,
             Real-Time Analytic, Game Online, Stock Exchange, Auto Refresh

         2. นักพัฒนาที่ต้องการขยายขอบเขตความรู้ด้าน Scalability ด้วย Node.JS

         3. นักพัฒนาที่สนใจการใช้งาน Web Socket ใน Scale ใหญ

         คุณสมบัติของผู้เข้าร่วมอบรม :
        > มีพื้นฐานการสร้าง Web Application ทั่วไปทั้ง HTML และ Javascript

Benefits :

ประโยชน์ที่ผู้เข้าอบรมได้เรียนรู้:

  1. ได้ความรู้การสร้างสถาปัตยกรรม Website ที่ push ข้อมูลเข้าหาผู้ใช้โดยที่ไม่ต้อง Refresh เอง

  2. เข้าใจความแตกต่างระหว่างการสร้าง Website แบบ Synchronous และ Asynchronous

  3. เข้าใจการใช้งาน Redis และงานที่เหมาะสมกับ Redis

  4. สามารถโยกย้ายข้อมูลที่เหมาะสมลง Redis และ MySQL ในเวลาที่เหมาะสมได้

  5. สามารถสร้างคำสั่ง Redis ของตนเองด้วย Lua Scripting ได้

  6. สามารถสร้าง Node.JS Application ใน Scale ขนาดใหญ่ รองรับการกระจายตัวไปหลาย server

Course Outline :

วันที่ 1

พื้นฐาน Node.JS และ Asynchronous Programming
แนะนำ Javascript ES6
Node.JS คืออะไร
แนะนำพื้นฐาน Asynchronous Programming, Event Loop, Single Thread
การ Handle Error
ปัญหา Callback Hell
การใช้งาน Promise, Async, Await
ติดตั้ง Node.JS และ NPM เรียนรู้การติดตั้ง Library ผ่าน command line

วันที่ 2

ตัวอย่าง Real-Time Application ในชีวิตจริงที่สามารถประยุกต์สร้างได้
ติดตั้ง Socket.io เพื่อลองสร้างระบบ Chat Room ด้วย Web Socket อย่างง่าย
การเชื่อมต่อ Node.JS เข้ากับฐานข้อมูล MySQL
การใช้ Connection Pool
รู้จัก Redis In-Memory Database
Command พื้นฐานของ Redis
การใช้ Redis ร่วมกับ Socket.io
เปรียบเทียบข้อดี ข้อเสีย การเก็บบันทึกข้อมูลใน Disk และ Memory
การตั้งเวลา Sync ข้อมูลระหว่าง Redis และ MySQL

วันที่ 3

Advanced Scalability
ปัญหา Race Condition ใน Real-Time Application
พื้นฐานการใช้งาน Lua Scripting ใน Redis
การใช้งาน Pub/Sub ใน Redis
การ Scale Node.JS ให้รันได้หลาย Core และหลาย Server
Log Management
การ Update Code แบบ Zero Down Time
การติดตั้ง Keymetrics เพื่อ Monitor Process ผ่าน Cloud Service ฟรี

Payment Condition :

Payment can be made by:

    1. Cash or Credit Card or Bank Cheque payable to “Software Park Thailand #2” (a post-dated cheque is not accepted) on the first day of the service or within the last day of the service.
     2. Account transfer and send the proof of the payment (the deposit slip) via fax or email to fax no. 02-583-2884 or email ttd@swpark.or.th

        2.1 Siam Commercial Bank, Chaengwattana Branch
             Saving Account Number: 324-2-56262-0
             Account Name: Software Park Thailand#2

        2.2 Krungsri Bank, Chaengwattana (Software Park) Branch
             Saving Account Number: 329-1-34850-3
             Account Name: Software Park Thailand#2

Notes:
- Withholding tax (3%) is exempt.
- Should you need to withdraw, you must send the notice of the withdrawal in writing no later than 7 working days before the commencement date. The cancellation less than 7 days will be subject to a fine of 40% of the fee.
- Software Park Thailand reserves the rights to cancel courses due to unforeseen circumstances.

Contact Person :

For more information, contact our course coordinator on:

Name: Ms. Kotchaphan Aokdeelert

Tel: +66-2583-9992 Ext. 1425

Fax: +66-2583-2884

Email: kotchaphan.aokdeelert@nstda.or.th, ttd@swpark.or.th

You are encouraged to use the course schedule as a guide to plan your training. The schedule is accessible at www.swpark.or.th for more information.