Back End Development and APIs

stack ของ servers

จนถึงตอนนี้ คุณคงจะคุ้นกับการใช้ JavaScript ทางด้าน Frond-end เพื่อเพิ่มการโต้ตอบในหน้าเพจ, แก้ปัญหาอัลกอริทึม หรือสร้าง SPA แล้ว แต่ว่า JavaScript ยังมีสามารถที่ใช้ในด้าน Back-end หรือส่วนของเซิร์ฟเวอร์อีกด้วย ซึ่งทำหน้าที่ในการสร้างเว็บแอปพลิเคชันทั้งหมด .

ในปัจจุบัน วิธีหนึ่งที่ได้รับความนิยมมากที่สุดในการสร้างแอปพลิเคชัน คงจะเป็นการสร้างผ่านไมโครเซอร์วิส ซึ่งเป็นแอปพลิเคชันโมดูลาร์ขนาดเล็กที่ทำงานร่วมกันเพื่อสร้างภาพรวมที่ใหญ่ขึ้น

ใน Back-End Development และ APIs Certification นั้น คุณจะได้เรียนรู้วิธีเขียนแอปแบบ Back-End ด้วย Node.js และ npm (Node Package Manager) นอกจากนี้คุณยังจะได้สร้างเว็บแอปพลิเคชันด้วย Express Framework และสร้างไมโครเซอร์วิสของ People Finder ด้วย MongoDB และไลบราลี่ Mongoose อีกด้วย

Courses

npm (Node Package Manager) คือ เครื่องมือ command line ที่ใช้ในการติดตั้ง สร้าง และแชร์ package ของโค้ด JavaScript ที่เขียนขึ้นใน Node.js ซึ่งใน npm มีโอเพ่นซอร์ส package มากมาย ที่สามารถนำมาใช้ได้เลย ดังนั้นก่อนที่จะเริ่มทำโปรเจคของคุณ ให้คุณใช้เวลาในการศึกษาเพิ่มเติม เพื่อที่คุณจะได้ไม่ต้องสร้างโค้ดใหม่สำหรับบางสิ่ง ที่มีอยู่แล้วใน npm เช่น การทำงานเกี่ยวกับวันที่หรือการดึงข้อมูลจาก API

ซึ่งในหลักสูตรนี้ คุณจะได้เรียนรู้พื้นฐานของการใช้ npm รวมถึงวิธีการทำงานกับ package.json และวิธีการจัดการ dependencies ที่คุณติดตั้งไว้

Node.js คือ JavaScript แบบ runtime ที่มีไว้เพื่อช่วยให้นักพัฒนาสามารถเขียนโปรแกรม Back-end (Server-side) ใน JavaScript ได้อย่างราบรื่นขึ้น ซึ่ง Node.js มาพร้อมกับโมดูล Build-in ที่เป็นโปรแกรมอิสระขนาดเล็ก สามารถช่วยในเรื่องนี้ได้ บางโมดูลหลัก (core module) รวมถึง HTTP ที่ทำหน้าที่เหมือนกับเป็นเซิร์ฟเวอร์ และ File System ซึ่งเป็นโมดูลสำหรับอ่านและแก้ไขไฟล์

ซึ่งในหลักสูตรล่าสุดที่คุณเรียน วิธีการติดตั้งและจัดการ package จาก npm ซึ่งเป็นคอลเล็กชัน(Collections) ของโมดูลย่อย ซึ่ง package เหล่านี้สามารถช่วยให้คุณสร้างแอปพลิเคชันขนาดใหญ่และซับซ้อนยิ่งขึ้นได้

Express คือ เฟรมเวิร์กของเว็บแอปพลิเคชันไลท์เวท (lightweight web application framework) และเป็นหนึ่งใน package ที่นิยมใช้บน npm, ซึ่ง Express ช่วยให้การสร้างเซิร์ฟเวอร์และจัดการการกำหนดเส้นทางสำหรับแอปพลิเคชันของคุณง่ายขึ้นมาก ซึ่งช่วยจัดการสิ่งต่างๆ เช่น นำผู้คนไปยังหน้าที่ถูกต้องเมื่อพวกเขาเยี่ยมชม ปลายทางบางอย่าง เช่น

/blog

ในหลักสูตรนี้ คุณจะได้เรียนรู้พื้นฐานของ Node และ Express รวมถึงวิธีการสร้างเซิร์ฟเวอร์ ที่ให้บริการไฟล์ต่างๆ และจัดการคำขอต่างๆ จากเบราว์เซอร์อีกด้วย

MongoDB เป็นแอปพลิเคชันฐานข้อมูลที่เอาไว้เก็บเอกสารใน JSON (หรือ record) ซึ่งคุณสามารถนำใช้ได้ในแอปพลิเคชันของคุณได้เลย ซึ่งแตกต่างจาก SQL ที่เป็นฐานข้อมูลอีกรูปแบบหนึ่ง ที่เก็บข้อมูลแบบเป็นตารางที่ตั้งไว้ล่วงหน้า(Preset table) ส่วน Mongo นั้นจะจัดเก็บที่เกี่ยวข้องทั้งหมดใน record ที่เดียว ซึ่ง Mongo นั้นเป็นฐานข้อมูลที่ไม่เกี่ยวข้องกับฐานข้อมูล "NoSQL" เลย

Mongoose เป็น package ยอดนิยมบน npm ที่มักจะติดตั้งควบคู่ไปกับ Mongo, ด้วย Mongoose ของคุณสามารถใช้ออปเจ็คแบบธรรมดาของ JavaScript แทน JSON ได้ ซึ่งทำให้การทำงานกับ Mongo ทำได้ง่ายขึ้น นอกจากนี้ยังช่วยให้คุณสร้างบูลปริ้นท์ (blueprint) ในเอกสารของคุณที่ เรียกว่า Schema ได้อีกด้วย เพื่อเป็นการป้องกัน ไม่ให้คุณบันทึกข้อมูลผิดประเภทโดยที่ไม่ได้ตั้งใจหรือทำให้เกิดข้อผิดพลาดบั๊ก (Bugs) ในภายหลัง

ในหลักสูตรของ MongoDB และ Mongoose คุณจะได้เรียนรู้เกี่ยวกับพื้นฐานของการทำงานกับข้อมูลถาวร รวมถึงวิธีการตั้งค่าโมเดล และการบันทึก การลบ และการค้นหาเอกสารในฐานข้อมูลดาต้าเบสอีกด้วย

คุณคงอาจจะทำงานกับ API มาก่อนหน้านี้ แต่ตอนนี้เมื่อคุณรู้จักกับ npm, Node, Express, MongoDB และ Mongoose แล้ว ก็ถึงเวลาสร้างแอปพลิเคชันของคุณเอง ให้คุณใช้ความคิดเกี่ยวกับสิ่งที่คุณได้เรียนรู้มาจนถึงปัจจุบัน เพื่อสร้าง microservices 5 ตัวที่แตกต่างกัน ซึ่งจะเป็นแอปพลิเคชันขนาดเล็กที่มีขอบเขตที่จำกัด

หลังจากสร้างแอปพลิเคชันเหล่านี้ คุณจะมี microservices API เจ๋งๆ 5 ตัวที่คุณสามารถเอาไปอวดเพื่อน ครอบครัว หรือนายจ้างของคุณได้ และคุณอาจจะได้เป็น Back-End Development รุ่นใหม่ที่ยอดเยี่ยมรวมถึงยังได้รับ APIs Certification อีกด้วย

ดู Certificate อื่นๆ ของเราดังต่อไปนี้ (แนะนำว่าควรทำตามลำดับ)