Road to Full Stack Developer

  • TTFS01
  • Classroom
  • Fundamental
  • Thai | 0
Full Stack Developer

เริ่มก้าวแรกของการเป็น Full Stack Developer แบบครบ จบ ในหลักสูตรเดียว หลักสูตรนี้เป็นตัวช่วยที่จะทำให้คุณมีพื้นฐานทั้งด้านภาษาโปรแกรมมิ่ง , เครื่องมือที่จำเป็นต้องใช้ และการจัดการโครงสร้างระบบ ทั้งส่วนของ Backend และ Frontend

Course description

Time
Days :
10 Day(s)
Duration :
60 Hour(s)
Time :
09:00:00 - 16:00:00
Training Date :
08-11, 22-24 May and 7-9 Jun
Status :
ปิดรับลงทะเบียน (ชั่วคราว)
Instructor
Language :
Thai
Venue
Venue :
Software Park Training Room 3rd floor, Software Park Building Chaengwattana Road, Pakkred
Type :
Classroom
Road to Full Stack Developer

Full Stack เป็น stack ยอดนิยมที่นักพัฒนาทั่วโลกใช้กันอย่างแพร่หลายในการพัฒนาซอฟต์แวร์ โดยเฉพาะ Software ระบบสำหรับใช้ภายในองค์กร (Enterprise Software) ในหลักสูตรนี้จะเน้นไปที่การเชื่อมโยงกันของแต่ละ Stack อันได้แก่ 

M = MongoDB, MySQL

E = Express

A = Angular, R = React

N = NodeJS, NestJS

โดยในหลักสูตรนี้จะพาทำ workshop ที่ประกอบรวมกันที่ 4 ส่วนให้เป็นชิ้นงานที่สามารถนำไปพัฒนาต่อยอดเพื่อใช้งานต่อไปได้

ในหลักสูตรนี้จะทำการสร้างระบบ Backend ด้วย NodeJS และสามารถให้ผู้เรียนเลือกได้ว่าจะใช้ตัวไหนเป็น Frontend อันได้แก่ Angular, React ซึ่งตัว NodeJS นั้นเป็นภาษาที่ง่ายต่อการเรียนรู้ สะดวกในการต่อยอด อีกทั้งยังมี community ขนาดใหญ่รองรับในการใช้งาน จึงเป็นภาษาที่เหมาะสมในการเรียนรู้สำหรับนำไปต่อยอดพัฒนา Application ได้หลายหลายรูปแบบ เช่น PWA, Mobile Application, Web Application เป็นต้น

Angular เป็น Web Framework ตัวนึงที่พัฒนาโดยบริษัท Google ที่ได้รับความนิยมเป็นอย่างสูง เหมาะสำหรับพัฒนา Web Application โดยเฉพาะระบบ Enterprise Software เนื่องจากเป็น Framework ที่มีความครบถ้วนในตัวเอง เป็น Framework ที่เหมาะสำหรับพัฒนาระบบงานใหญ่ ๆ

ReactJS เป็น Java Script Library ตัวนึงที่ได้รับความสนใจเป็นอย่างมากในขณะนี้ เนื่องด้วยเป็น Library ที่มีจุดเด่นสำคัญคือ Virtual DOM ทำให้ทำงานได้เร็วมากเมื่อเทียบกับ Framework อื่น ๆ ทั่วไป อีกทั้งเป็น Library ที่สามารถนำมาพัฒนาต่อยอดได้อย่างง่ายดาย มีประสิทธิภาพสูง เป็นที่ยอมรับในหมู่นักพัฒนา web application อีกทั้งยังสามารถพัฒนาต่อยอดไปทำ mobile application ได้ด้วย (React Native)

TypeScript เป็น Super Script ของ Java Script เพื่อช่วยให้การพัฒนาโปรแกรมด้วยภาษา Java Script มีความยืดหยุ่นสูงขึ้น มีความเป็น OOP, ทำให้สามารถ scale ขนาด Project ได้อย่างง่ายดายและมีประสิทธิภาพ

เพื่อให้ผู้เรียนได้เรียนรู้ถึงวิธีการพัฒนาซอฟต์แวร์ ในรูปแบบ Full Stack โดยจะใช้  NodeJs ร่วมกับ Framework NestJS ในการทำ REST API และใช้ Angular, React ในส่วนของการทำ UI โดยในหลักสูตรนี้จะแสดงให้เห็นถึงการเชื่อมโยงกันระหว่าง NodeJs กับ Angular, React ว่ามีการสื่อสารกันอย่างไร ในคอร์สเน้นไปที่การทำ Workshop เพื่อให้ได้เรียนรู้และเข้าใจการทำงานแบบ Full stack

หลักสูตรนี้เหมาะกับใคร

  • นักพัฒนาระบบ
  • นักเรียนนักศึกษา
  • อาจารย์
  • ผู้ที่สนใจ

ความรู้พื้นฐาน :

  • มีความเข้าใจในการพัฒนาระบบงานไอทีเป็นอย่างดี
  • ­มีความรู้ด้านการเขียนโปรแกรม ภาษาใด ภาษานึง เช่น C#, Java, Python
  • ­มีพื้นฐานในการใช้ภาษา Html, CSS, Java script เบื้องต้น
  • มีความรู้ ความเข้าใจ ในการทำงานของ web application เป็นอย่างดี

  • เรียนรู้ภาษา NodeJS และสามารถนำไปประยุกต์ในการทำงานได้
  • เรียนรู้ภาษา JavaScript แบบลึกเพื่อนำไปใช้ร่วมกัน Framework
  • เรียนรู้วิธีการเขียนโปแกรมภาษา JavaScript แบบ TypeScript
  • เรียนรู้การใช้งาน Angular Frame work, React
  • เข้าใจหลักการพัฒนา REST API ด้วย NodeJS
  • เข้าใจหลักการพัฒนา Front-end ด้วย Angular, React
  • เรียนรู้วิธีการเชื่อมโยงกันระหว่าง  NodeJS และ Angular, React 

Backend Development

Day 1 Basic Node.js

พื้นฐานการพัฒนาโปรแกรมด้วย JavaScript

  • Code structure
  • Variables
  • Data types
  • Basic operators, math
  • Comparisons
  • Conditional branching
  • Logical operators
  • Loops: while and for
  • The switch statements
  • Functions
  • Arrow functions

ความรู้เบื้องต้นเกี่ยวกับ Node.js

  • ประวัติ ความเป็นมา สถานการณ์ที่เหมาะแก่การใช้งาน
  • การติดตั้ง (Installation)

Node.js การใช้งาน Core APIs

  • การติดตั้งและเรียกใช้ Modules
  • การประมวลผลข้อมูลแบบชนิดต่างๆ  (Data Manipulation) เช่น ข้อมูลแบบ Text, Binary, และ JSON เป็นต้น

Typescript เบื้องต้น

  • การพัฒนาโปรแกรมด้วย Typescript
  • การ compile Typescript ให้เป็น Javascript

การบริหารการประมวลผลแบบ Asynchronous (Asynchronous Control Flow) 

  • แบบแผนการทำงาน (Asynchronous Pattern)
  • การใช้งาน Asynchronous  Control Flow Module 

Day 2 การสร้าง web application ด้วย Nest.Js Framework

Nest.Js framework

  • การติดตั้ง และการเตรียมการ
  • การใช้งาน Web Template
  • การใช้งาน URL Routing
  • การใช้งาน Simple Route Middleware
  • การใช้งาน JWT ร่วมกับ Nest.js

การต่อเข้าหา Database MongoDB และ MySQL ด้วย TypeORM

  • การติดตั้ง และการเตรียมการ
  • การเขียน node ติดต่อ mysql ด้วย TypeORM

Automate Unit Test 

  • การติดตั้ง jest framework
  • การเขียน unit test ด้วย jest

Day 3 พัฒนา REST API ด้วย NodeJS

  • วิธีการพัฒนา REST API ด้วย NodeJS ร่วมกัน Framework NestJS
  • วิธีการเชื่อมต่อฐานข้อมูล My SQL ด้วย NodeJS
  • วิธีการพัฒนา CRUD, Pagination, Filter ด้วย NodeJS
  • มาทำความรู้จักกับ CORS และแนวทางการแก้ปัญหาใน NodeJS
  • ทำ Workshop พัฒนา REST API จัดการข้อมูล

Day 4 Docker

  • Get Started with Docker Technologies
  • Comparing Containers and Virtual Machines
  • Containers and Virtual Machines Together 
  • Docker engine
  • Docker Architecture 
  • Docker command 
  • Docker Network
  • How to create own docker image with Dockerfile
  • Docker compose
  • Continuous Integration and Continuous Deployment
  • Source code repository with GIT
  • DevOps Gitlab
  • Getting started with Gitlab
  • Continuous Integration with Gitlab
  • Continuous Inspection with Gitlab
  • Continuous Delivery with Gitlab
  • Distributed Builds
 Frontend Development

Angular

Day 5 Angular Framework

Module 1 :  Architecture Overview   

  • Basics of Typescript
  • Components, Bootstrap, and the DOM
  • Directives and pipes
  • Data binding

Module 2 : Components

  • Component metadata
  • The component selector
  • The component template
  • Property binding
  • Getting data to the component with input
  • Subscribing to component events with output

Module 3 : Directives and Pipes

  • Structural directives – nglf
  • Structural directives – ngFor

Module 4 : Directives and Pipes

  • Using directive values
  • Working with events in directives
  • Angular pipes – built in
  • Angular pipes – custom

Module 5 : Form

  • Angular Form
  • Template – driven forms
  • Model – driven forms
  • Validation – built in
  • Error handing

Day 6 Angular Framework #2

Module 6 : Dependency Injection and Services

  • How Angular does dependency injection
  • Services in Angular
  • Class constructor injection
  • Building a service

Module 7 : HTTP

  • The Angular 6 HTTP bundle
  • Using HTTP for GET calls
  • Using HTTP for POST, PUT, and DELETE calls

Module 8 : Routing

  • The Angular 6 routing bundle
  • Route configuration
  • Router outlets
  • Router links

Day 7 พัฒนา Web Application ด้วย Angular

เรียนรู้วิธีการดึงข้อมูลจาก NodeJS ผ่าน HttpClient

เรียนรู้วิธีกานำข้อมูลที่ได้จาก API มาใช้งาน

เรียนรู้วิธีการส่งข้อมูลจาก Angular ไปยัง NodeJS

ทำ Workshop พัฒนาโปรแกรมเพื่อเชื่อมโยงข้อมูลกับ NodeJS ผ่าน API

เรียนรู้วิธีการ Deploy โปรแกรมที่พัฒนาเสร็จแล้วด้วยวิธีการต่าง ๆ อันได้แก่

  • Deploy ด้วย Docker
  • Deploy ด้วย pm2
 React

Day 8 

  • โครงสร้าง ReactJS Project แบบ Type Script
  • การใช้งาน ReactJS Language (ES7 and JSX) เบื้องต้น
  • การใช้งาน React Component (Class and Functional) และ UI เบื้องต้น
  • การสร้าง Sub Component
  • เครื่องมือแปลง HTML ให้เป็น JSX
  • การใช้งาน Data Binding (Props and State)
  • การดัก Event ที่เกิดขึ้นกับ UI Components แต่ละตัวเช่น การ click ที่ Button, Input

Day 9 

  • การติดตั้ง Material UI Framework เพื่อใช้งานร่วมกับ ReactJS
  • การใช้งาน Material UI Framework สร้างหน้าแสดงผลข้อมูล
  • การใช้งาน Material UI Framework สร้าง Form สำหรับจัดการข้อมูล
  • การใช้งาน Redux (Unidirectional Data Flow)
  • การใช้งาน React Router
  • การส่งและรับค่าระหว่าง Pages

Day 10

  • การใช้งาน Redirect React Routing Page
  • การใช้งาน Secured React Routing Page
  • การใช้งาน Redux for Page Navigation

 

Payment can be made by:

  1. Cash or Credit Card or Bank Cheque payable to
    สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ or National Science and Technology Development Agency
    (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 email xxx@swpark.or.th

    • ธนาคารกรุงเทพ สาขาอุทยานวิทยาศาสตร์
      Saving Account Number: 080-0-00001-0
      Account Name: สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ

    • ธนาคารกรุงไทย สาขาตลาดไท
      Saving Account Number: 152-1-32668-1
      Account Name: สำนักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ

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:

Tel: +66-2583-9992 Ext. 81422

Email: patsorn@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. 

32,000 THB .

สำคัญ!!! กรุณารอการยืนยันเปิดการอบรมจากเจ้าหน้าที่ก่อนการชำระค่าลงทะเบียน

Enroll nowขออภัย ขณะนี้ปิดรับลงทะเบียนแล้ว

Course Detail :
Days :
10 Day(s)
Duration :
60 Hour(s)
Time :
09:00:00 - 16:00:00
Training Date :
08-11, 22-24 May and 7-9 Jun
Status :
ปิดรับลงทะเบียน (ชั่วคราว)

Instructor info
avatar
Mr.Sommai Krangpanich