คอร์สเรียน JavaScript + Node.js ฉบับละเอียด สำหรับ Full-stack
คำอธิบายคอร์สเรียน
คอร์สเรียนนี้จะเป็นการสอนใช้งาน JavaScript และ Node.js แบบเต็มรูปแบบ สอนตั้งแต่ใช้งานไม่เป็นจนถึงระดับขั้นสูง พร้อมแนวทางการอ่าน API ต่างๆจาก Open Source ที่เราจะใช้งานจาก NPM และคำแนะนำอื่นๆอีกมากมาย
สิ่งที่คุณจะได้เรียนรู้
- มีชีทเป็นกระดาษสูตรโกง ช่วยสรุปหลังผู้เรียน เรียนจบไปแล้วแต่อาจจะลืมรูปแบบคำสั่งต่างๆได้
- มีแบบทดสอบ สำหรับการรับใบประกาศนียบัตรที่ออกให้โดยทาง SkillLane
- ได้เห็นวิธีการปฎิบัติจริง ที่ทำให้รู้จักคีย์ลัดต่างๆ และเทคนิคเสริมมากมายที่จะทำให้เราทำงานได้เร็วและง่ายขึ้น
- สอนโดยไม่เน้นสไลด์ สอนโดยเขียนให้ดูจริง และเห็นผลลัพธ์จริง พร้อมเล่าเรื่องเสริมตลอดเวลาการเรียนการสอน
- มีการเปิดวิธีการอ่านเอกสารผ่านออนไลน์ให้ดูโดยเฉพาะที่เว็บไซต์ MDN เพื่อหัดอ่านเอกสารต่อด้วยตนเองได้
- สามารถที่จะ Control Flow เพื่อให้ได้โปรแกรมที่ถูกต้องตามที่ต้องการ และเรียนการกำหนด Data Structure ที่จะกำหนดโครงสร้างได่อย่างถูกต้อง
- ทำความรู้จักกับ Algorithm มากมายที่จะช่วยให้เรารู้จักวิธีแก้ไขปัญหาที่พบเจอบ่อยๆในการเขียนโค้ด
- เรียนรู้วิธีการใช้งาน JavaScript อย่างขั้นสูง โดยเฉพาะส่วนของการใช้ Callback, Promise และ Async/Await ซึ่งเป็นส่วนสำคัญอย่างมากที่อาจจะทำให้เราเขียนโค้ดไม่ถูกต้องได้
- ทำความรู้จักเรื่อง Object-oriented Programming (OOP) และวิธีการอ่าน API Documents เพื่อให้เราสามารถใช้งาน Methods, Property ได้อย่างถูกต้อง
- เรียนรู้หัวข้อหลักของ JavaScript ที่จะมีปฏิสัมพันธ์กับเว็บของเราผ่าน Document Object Model (DOM)
- ทำความรู้จักกับ Utilities ต่างๆมากมาย ที่จะช่วยให้เราควบคุมข้อมูล และดำเนินการต่างๆได้อย่างถูกต้อง
- ทำความรู้จักกับ Libraries, Plugins เสริมมากมายสำหรับการใช้ JavaScript ร่วมกับหน้าเว็บของเรา ไม่ว่าจะเป็นเรื่องวันเวลา สร้างกราฟ แสดงป๊อปอัพ ข้อมูลในตาราง และอื่นๆอีกมากมาย
- เรียนรู้การใช้ Node.js เพื่อทำให้เราทำลายข้อจำกัดของ JavaScript ที่เดิมรันได้แค่บน Web Browser เท่านั้น เพื่อให้ประยุกต์เป็นโปรแกรมต่างๆได้อีกมากมาย
- ทำความรู้จักกับ ES Modules (ESM) และ CommonJS (CJS) เพื่อที่จะใช้ Node.js API ต่างๆมากมายให้ถูกต้อง
- สามารถจัดการกับไฟล์ต่างๆผ่าน Node.js และ HTTP ต่างๆเพื่อใช้การสื่อสารระหว่างโปรแกรม
- เรียนรู้วิธีการใช้ npm เพื่อทำการจัดการ Package ต่างๆที่มีบน Node.js ทั้งทาง Front-end และ Back-end
- ทำความรู้จักกับ Modules เสริมชื่อดังมากมาย ที่จะทำให้เราทำงานได้ง่ายยิ่งขึ้นระหว่าง JavaScript/Node.js
ประโยชน์ที่คุณจะได้รับ
- การเรียนภาษา JavaScript และใช้งานร่วมกับ Node.js จะทำให้ในภาษาโปรแกรมเดียว สามารถพัฒนา Application ได้อย่างหลากหลาย ไม่ว่าจะเป็น Web Application, Desktop Application, Mobile Application, Gaming, Web Server, AI และอื่นๆอีกมากมายขึ้นอยู่กับการประยุกต์ใช้งาน
- นอกจากนี้ยังเป็นภาษาที่ยอดนิยม ทั้งความง่ายการเขียน การได้เปรียบที่เรียนครั้งเดียวก็ต่อยอดได้มากมาย และชุมชนที่มีขนาดใหญ่อย่างมากที่ทำให้มี Community และ Ecosystem ที่ดีมากกว่าเดิม
- เหมาะกับสายงาน Full-stack Web Development โดยเฉพาะ และยังสามารถประยุกต์ใช้งานอย่างอื่นได้อีกมากมาย สอนครอบคลุมทั้งทาง Front-end และ Back-end อีกด้วย
- คุณรู้หรือไม่ว่า: ภาษา JavaScript ถูกจัดว่าเป็นภาษายอดนิยมอันดับหนึ่งประจำปี 2022 โดยอ้างอิงจาก survey.stackoverflow.co
- ภาษา JavaScript และ Node.js เป็นกลุ่มที่นิยมในการสมัครงานในไทย และมีความต้องการค่อนข้างสูง
- เป็นเครื่องมือที่เหมาะกับฟรีแลนซ์รับงานเขียนโปรแกรมทั่วไปอย่างมาก เพราะเรียนรู้ภาษาเดียวก็สามารถทำได้ทุกๆระบบ
ทักษะที่ผู้เรียนจะต้องมีก่อนเรียนคอร์สเรียนนี้
- ต้องสามารถเขียนภาษา HTML และ CSS เป็น หากคุณไม่เข้าใจวิธีการใช้งานแนะนำ คอร์สเรียน HTML + CSS โดยนครโค้ด
- สามารถอ่านและเขียนภาษาอังกฤษในระดับพื้นฐาน
- สามารถใช้งานอินเทอร์เน็ตโดยทั่วไปได้
เหมาะสำหรับ
- นักเรียนระดับประถมปลาย
- นักเรียนระดับมัธยม
- นักศึกษาที่กำลังศึกษาในสายงานที่เกี่ยวข้องกับการพัฒนาเว็บ
- ผู้ที่สนใจในสายงาน Web Development
- ผู้ที่สนใจในสายงาน Front-end และ Back-end
- ผู้ที่สนใจในสายงาน Full-stack Web Development
- ผู้ที่สนใจการสร้างเกมด้วยตนเอง
- ผู้ที่อยากจะเรียนครั้งเดียว แต่สามารถนำไปประยุกต์เขียนบนระบบต่างๆได้อย่างกว้างขวางกว่า
เนื้อหาที่มีทั้งหมด
บทนำ
-
แนะนำคอร์สเรียน JavaScript + Node.js
11:10 นาที -
ดาวน์โหลดสูตรโกง
00:10 นาที
บทที่ 1 JavaScript
-
1.1 Getting Started - เริ่มต้นการใช้งาน JavaScript
21:35 นาที -
1.2 Variable - ระบบตัวแปรใน JavaScript
20:16 นาที -
1.3 Type System - ระบบประเภทข้อมูลของแต่ละภาษาโปรแกรม
04:35 นาที -
1.4 Data Types - ประเภทข้อมูลใน JavaScript
13:50 นาที -
1.5 Number - ข้อมูลจำนวน
22:08 นาที -
1.6 String - ข้อมูลตัวอักขระและข้อความ
18:26 นาที -
1.7 Interaction - การปฏิสัมพันธ์กับผู้ใช้งานโดยพื้นฐาน
11:47 นาที -
1.8 Array - ข้อมูลหลายมิติ
17:47 นาที -
1.9 Object - ข้อมูลเชิงวัตถุ
25:27 นาที -
1.10 Compare Object - ปัญหาการเปรียบเทียบข้อมูล Object ต่าง ๆ
19:01 นาที -
1.11 Logic (if-else) - การเปรียบเทียบข้อมูล และการทำเงื่อนไข
35:02 นาที -
1.12 Logic (Shorthand) - การทำเงื่อนไขแบบสั้นลง
08:29 นาที -
1.13 Logic (switch-case) - การทำเงื่อนไขด้วยคำสั่ง switch-case
07:15 นาที -
1.14 Logic (Strict comparison) - การเทียบค่าแบบ Strict
06:09 นาที -
1.15 Logic (Default value) - การใช้เงื่อนไขเพื่อทำค่าเริ่มต้น
11:04 นาที -
1.16 Variable Scope - แนวทางใช้งานตัวแปรในขอบเขตต่าง ๆ
04:49 นาที -
1.17 Loop (while) - การวนจำนวนรอบตามเงื่อนไข
10:50 นาที -
1.18 Loop (do...while) - การวนจำนวนรอบแบบดำเนินก่อน ตรวจสอบภายหลัง
01:37 นาที -
1.19 Loop (for) - การวนจำนวนรอบแบบตามจำนวนข้อมูลที่แน่นอน
15:28 นาที -
1.20 Loop (Nested) - การวนจำนวนรอบแบบหลายขั้นลำดับ
12:29 นาที -
1.21 Loop (break, continue) - คำสั่งพิเศษสำหรับการหยุดหรือข้ามลูป
07:01 นาที -
1.22 Function - การสร้างชุดคำสั่งและวิธีการใช้งาน
22:12 นาที -
1.23 Built-in Function & window Object - การใช้ฟังก์ชันที่มีให้ และวัตถุใน window
06:55 นาที -
1.24 Function Expression - ฟังก์ชันแบบนิรนาม
11:40 นาที -
1.25 Rest & Spread Parameter - การใช้พารามิเตอร์ร่วมกับข้อมูล Array
10:25 นาที -
1.26 Destructuring Assignment - การคลายข้อมูลจาก Array, Object ออกมาเป็นตัวแปรต่าง ๆ
15:05 นาที -
1.27 Error Handler (throw, try, catch, finally) - จัดการปัญหาต่าง ๆ ที่อาจจะเกิดขึ้นในโค้ด
18:50 นาที -
1.28 Callback - การทำฟังก์ชันเรียกคืน เมื่อพร้อมใช้งาน และเทคนิคการจัดการปัญหา
21:32 นาที -
1.29 Object-oriented Programming (OOP) - การเขียนโปรแกรมเชิงวัตถุ
26:54 นาที -
1.30 OOP (Prototype) - การใช้ Prototype เพื่อดัดแปลงฟังก์ชันที่มีอยู่
09:46 นาที -
1.31 OOP (Getter/Setter) - การใช้ผู้ตั้งข้อมูลและกำหนดข้อมูลเป็นฟังก์ชัน
04:58 นาที -
1.32 OOP (Extends) - การต่อเติม Class ต่าง ๆ เข้าด้วยกัน
11:50 นาที -
1.33 Binding - การผูกมัดข้อมูลระหว่างฟังก์ชัน
16:27 นาที -
1.34 Recursive, Chaining - เทคนิคการใช้ฟังก์ชันอย่างต่อเนื่องรูปแบบต่าง ๆ
05:59 นาที -
1.35 Promise, Async/Await - การใช้ Asynchronous ใน JavaScript ฉบับสมบูรณ์
54:36 นาที -
1.36 Promise Methods - คำสั่งเพิ่มเติมที่มีใน Promise
10:54 นาที
บทที่ 2 Document Object Model (DOM)
-
2.1 Document Object Model (DOM) - บทนำการใช้งานโค้ด JavaScript เพื่อสร้างปฏิสัมพันธ์กับหน้าเว็บ HTML และ CSS
30:34 นาที -
2.2 Event - การตรวจสอบเหตุการณ์ที่จะเกิดขึ้นในหน้าเว็บ และดำเนินการใช้ Callback ตามเหตุการณ์ต่าง ๆ
01:02:28 นาที -
2.3 Attribute - การแก้ไขข้อมูล Attribute บน HTML
12:57 นาที -
2.4 Style - การแก้ไขข้อมูลบน CSS
13:04 นาที -
2.5 Class - การแก้ไขข้อมูล Class Attribute บน HTML
16:59 นาที -
2.6 Dataset - การใช้ข้อมูลพิเศษ เพื่อเชื่อมต่อระหว่าง HTML และ JavaScript
09:40 นาที -
2.7 Position - การเรียกข้อมูลตำแหน่ง HTML Element ต่าง ๆ
07:22 นาที -
2.8 Node, Element - การสร้าง HTML Element ขึ้นมาใหม่ และแก้ไขลงในหน้าเว็บผ่านโค้ด JavaScript
27:26 นาที -
2.9 Debugger - การตรวจสอบข้อมูล และค้นหาความผิดพลาดผ่าน Web Browser
09:15 นาที
บทที่ 3 JavaScript Methods & Utilities
-
3.1 Number - การดำเนินการกับข้อมูล Number
37:06 นาที -
3.2 String - การดำเนินการกับข้อมูล String
25:45 นาที -
3.3 Regular Expression - วิธีการเรียกข้อความเฉพาะส่วนที่ต้องการ
27:15 นาที -
3.4 Array - การดำเนินการข้อมูลกับ Array
41:50 นาที -
3.5 Object - การดำเนินการข้อมูลกับ Object
10:17 นาที -
3.6 Math - การใช้ฟังก์ชันทางคณิตศาสตร์
26:54 นาที -
3.7 Date - การใช้ฟังก์ชันเพื่อกำหนดวันเวลา
28:15 นาที -
3.8 Timer - การใช้ฟังก์ชันกำหนดช่วงเวลา
29:21 นาที -
3.9 URL - การใช้ฟังก์ชันเพื่อกำหนดรูปแบบ URL
24:20 นาที -
3.10 File Reader - การใช้ฟังก์ชันเพื่ออ่านไฟล์
18:18 นาที -
3.11 Fetch - การใช้ฟังก์ชันสำหรับเรียกใช้งาน HTTP (RESTful API) จากผู้อื่น
29:41 นาที -
3.12 Storage - การใช้ฟังก์ชันควบคุมข้อมูลที่เก็บผ่าน Web Browser
11:57 นาที -
3.13 Geolocation - การใช้ฟังก์ชันรับสถานที่ของอุปกรณ์
14:27 นาที
บทที่ 4 JavaScript Libraries (Modules)
-
4.1 jQuery - เปลี่ยนให้ JavaScript เป็นโค้ดที่สั้นลง
26:37 นาที -
4.2 Lodash - ฟังก์ชันช่วยเหลือเพิ่มเติม เพื่อจัดการกับชุดข้อมูล
49:22 นาที -
4.3 Numeral.js - จัดการกับข้อมูลตัวเลขเพิ่มเติม
11:14 นาที -
4.4 Luxon - จัดการกับข้อมูลวันและเวลาเพิ่มเติม
42:54 นาที -
4.5 Vanilla Lazyload - การทำให้หน้าเว็บเร็วขึ้นด้วยเทคนิค Lazyload
14:15 นาที -
4.6 NProgress - การเพิ่มแถบแสดงสถานะการโหลดบนหน้าเว็บ
08:42 นาที -
4.7 SweetAlert2 - การเพิ่มกล่องข้อความที่สวยงามกว่าเดิม
14:49 นาที -
4.8 ECharts - การแสดงกราฟและข้อมูลเชิงสถิติต่าง ๆ บนหน้าเว็บ
30:19 นาที -
4.9 DataTables (Vanilla) - การใช้ชุดข้อมูลตารางที่จัดการข้อมูลดีกว่าเดิม
22:45 นาที -
4.10 Quill - การใช้ Rich Text Editor เพื่อทำให้กล่องข้อความแทรกชุดรูปแบบได้
21:01 นาที -
4.11 Swiper - การสร้างรูปแบบเคลื่อนไหวด้วยการปัดหน้าจอ หรือเป็นภาพสไลด์ต่าง ๆ
06:54 นาที -
4.12 Tippy.js - การแสดง Tooltip ข้อความลอยบนหน้าเว็บ
07:32 นาที -
4.13 Masonry - การจัดเรียงรูปแบบแกลลอรี่
04:30 นาที -
4.14 simpleParallax.js - การทำภาพแบบพารัลแลกซ์
07:00 นาที -
4.15 JavaScript Framework - ทำความรู้จักกับ Framework อื่น ๆ เพิ่มเติม
14:19 นาที -
4.16 Tampermonkey (UserScript) - การสร้างสคริปส์ด้วยตนเองเพื่อเปิดใช้บน Web Browser
22:30 นาที
บทที่ 5 Node.js
-
5.1 Node.js - บทนำการใช้งาน Node.js
11:38 นาที -
5.2 Installation - การติดตั้งและใช้งาน
13:09 นาที -
5.3 Global Object - ข้อมูล Object ที่ใช้งานได้ทั่วไปบน Node.js
34:25 นาที -
5.4 CommonJS & ECMAScript Module - ระบบโมดูลใน JavaScript
25:55 นาที -
5.5 Debugger - การใช้ Debug บน Node.js
09:07 นาที -
5.6 util - ฟังก์ชันเสริมสำหรับคุณสมบัติเพิ่มเติม
15:13 นาที -
5.7 path - การกำหนดเส้นทางของไฟล์และโฟลเดอร์
25:41 นาที -
5.8 fs - การอ่านและแก้ไขไฟล์ในระบบ
32:58 นาที -
5.9 Event-driven - การกำหนดเหตุการณ์ต่าง ๆ
13:01 นาที -
5.10 Streaming - การนำข้อมูลอ่านและเขียนแบบ Stream
11:08 นาที -
5.11 HTTP (GET) - การเรียกข้อมูล HTTP (RESTful API) ผ่าน Node.js
15:45 นาที -
5.12 HTTP (POST) - การส่งข้อมูลแบบ POST ผ่าน Node.js
09:51 นาที -
5.13 Pipeline - การอ่านและเขียนไฟล์ร่วมกับ Steam
44:19 นาที
บทที่ 6 Node Package Management (NPM)
-
6.1 NPM - การจัดการโมดูลในโปรเจคของเรา
43:40 นาที -
6.2 Publish - การส่งโมดูลออกไปยัง Registry ของ npmjs.com
13:28 นาที -
6.3 eslint - การใช้ Linter เพื่อช่วยเหลือจัดรูปแบบโค้ดให้เหมือนกันทั้งโปรเจค
25:09 นาที -
6.4 dotenv - การกำหนด Environment Variable ผ่านไฟล์
16:37 นาที -
6.5 http-server - สร้างเว็บเซิร์ฟเวอร์จำลองผ่าน Node.js
04:32 นาที -
6.6 commander - การสร้าง CLI อย่างง่ายสำหรับการรับข้อมูลเมื่อใช้คำสั่งต่าง ๆ
33:11 นาที -
6.7 enquirer - วิธีทำแบบฟอร์มลงใน CLI
08:25 นาที -
6.8 cli-table - การแสดงผลแบบตารางใน CLI
03:51 นาที -
6.9 axios - การเรียก HTTP (RESTful API) ต่าง ๆ ที่ง่ายกว่าเดิม
39:32 นาที -
6.10 validator - ฟังก์ชันช่วยเหลือการตรวจสอบ String
20:31 นาที -
6.11 uuid - การสร้างรหัสไอดีแบบไม่ซ้ำกัน
06:51 นาที -
6.12 glob - การเลือกไฟล์และโฟลเดอร์ในรูปแบบ Glob
12:19 นาที -
6.13 xlsx - อ่านและสร้างเอกสาร Spreadsheet (Microsoft Office Excel)
31:51 นาที -
6.14 pdfmake - การสร้างเอกสาร PDF ด้วย Node.js
31:08 นาที -
6.15 sharp - แก้ไขและแปลงไฟล์รูปภาพผ่าน Node.js
18:36 นาที -
6.16 ffmpeg - แก้ไขและแปลงไฟล์วิดีโอผ่าน Node.js
14:16 นาที -
6.17 archiver - การบีบอัดไฟล์เป็น .zip
07:13 นาที -
6.18 @fakerjs/faker - การสร้างข้อมูลสุ่มสำหรับจำลองข้อมูล
17:40 นาที -
6.19 pm2 - การบริหารจัดการทรัพยากร และการรันระบบต่าง ๆ ใน Node.js
21:20 นาที
บทส่งท้าย
-
บทส่งท้ายการเรียนรู้ สำหรับแนวทางศึกษาต่อ
14:37 นาที
รีวิวจากผู้เรียน (ทั้งหมด 45 รีวิว คะแนนเฉลี่ย 4.8)
Natthaporn N.
ครอบคลุม เข้าใจง่าย
⭐⭐⭐⭐⭐
thanaphon s.
ชอบครับ แต่ยากใช้ได้
⭐⭐⭐⭐
Theeraphat C.
สอนดีมาก ๆ ครับ
⭐⭐⭐⭐⭐
Parinchat J.
สอนย่อยง่ายมากๆค่ะ ชอบมาก เรื่องที่เคยเรียนไม่รู้เรื่องก็มารู้เรื่องเพราะคอสนี้เลย แนะนำเลยค่ะ
⭐⭐⭐⭐⭐
Ratchanon T.
สอนละเอียด
⭐⭐⭐⭐⭐
mayasev s.
สอนเนื้อหาค่อนข้างครอบคลุม มีเทคนิดส่วนตัวที่ได้มาจากประสบการณ์การใช้งานจริง เรียนจบแล้วเอาไปใช้ได้จริงหาความรู้เพิ่มเติมอ่านต่อง่าย แต่ติดอยู่ 2 เรื่องคือ การออกเสียงภาษาอังกฤษไม่ถูกต้องฟังแล้วขัดใจเพราะค่อนข้างมีหลายคำ, อธิบายหัวข้อซับซ้อนยังไม่ดีพอเช่นเรื่อง class object แต่ให้อภัยได้
⭐⭐⭐
Wahohowahehheh w.
⭐⭐⭐⭐⭐
Jitkwan Y.
⭐⭐⭐⭐
Hasegawa K.
⭐⭐⭐⭐⭐
Peem R.
⭐⭐⭐⭐⭐
วิทยา ฯ.
⭐⭐⭐⭐⭐
kwanruthai p.
⭐⭐⭐⭐⭐
กาญจนา จั.
⭐⭐⭐⭐⭐
อัศวิน วิ.
⭐⭐⭐⭐⭐
Nat P.
⭐⭐⭐⭐⭐
วิทยา เ.
⭐⭐⭐⭐⭐
Supawit C.
⭐⭐⭐⭐⭐
Pranisa S.
⭐⭐⭐⭐⭐
สันติภาพ อ.
⭐⭐⭐⭐⭐
Manop A.
⭐⭐⭐⭐⭐
สุชาติ ส.
⭐⭐⭐⭐⭐
Ritthikrai K.
⭐⭐⭐⭐⭐
MonGJa. l.
⭐⭐⭐⭐⭐
Nattapong L.
⭐⭐⭐⭐
visut c.
⭐⭐⭐⭐⭐
Anuwat P.
⭐⭐⭐⭐⭐
tritasas p.
⭐⭐⭐⭐⭐
Aomm S.
⭐⭐⭐⭐⭐
Wee B.
⭐⭐⭐⭐⭐
Phumiphat M.
⭐⭐⭐⭐⭐
Panuwat K.
⭐⭐⭐⭐⭐
McFc P.
⭐⭐⭐⭐⭐
สรวิศ ก.
⭐⭐⭐⭐⭐
Thanakit C.
⭐⭐⭐⭐⭐
Inosuke H.
⭐⭐⭐⭐⭐
เด่นภูมิ น.
⭐⭐⭐⭐
นาย เปรื่องวิช ส.
⭐⭐⭐⭐⭐
Warintorn S.
⭐⭐⭐⭐⭐
Pongsapak N.
⭐⭐⭐⭐
วัชรพล เ.
⭐⭐⭐⭐⭐
phompasith s.
⭐⭐⭐⭐⭐
Nakhunkhun A.
⭐⭐⭐⭐⭐
บัลลังก์ ต.
⭐⭐⭐⭐⭐
Rachataphong L.
⭐⭐⭐⭐⭐
Mr.Jetcy p.
⭐⭐⭐⭐⭐