สวัสดี ruby’s duckie คนดีคนเดิมจ้าาาาาา ✨ หลังจากที่ได้เรียน mini gemini bootcamp จาก web ที่สอน data ที่เก่งที่สุดจาก พี่ทอย Data Rockie ก็อดไม่ได้ที่จะ Document แบ่งปัน รวมถึงเก็บไว้อ่านเองด้วยยยยยยยย เยี่ยมเลยละ 😆👍🏻 มาเรื่มกันดีกว่า อิอิ
Software 101
เป็นชุดคำสั่งที่ทำให้ระบบคอมพิวเตอร์ทำงานได้ มักจะถูกแบ่งออกเป็น 2 ส่วน :
frontend หน้าที่เราสามารถมองเห็น มีปุ่มต่างๆให้เรากด กรอก login เข้าไปในระบบ
Backend จะทำการเช็ค Sysmtem -> ทำให้สามารถส่งข้อมูลกลับไปได้ ว่าคนที่ login เข้ามามี acount แล้วหรือยัง ถ้ายังก็จะส่งกลับไปว่า “You Don’t Have Account, Please Sign in”
Software = Data ทั้งสองเรื่องนี้แทบจะเป็นเรื่องเดียวกัน เพราะทั้งคู่สามารถสร้าง Value ให้เราได้
🚀 Frontend ส่ง request ไปหา Backend , Backend ส่ง Respond ไปที่ Frontend
โดยทั้งสองส่วนนี้จะมี API (Application Programming Interface) ทำหน้าที่เป็นเหมือน ผู้สื่อสาร หรือสะพานเชื่อมส่งข้อมูลข้ามไปข้ามมา เหมือนเป็น translator ให้หลายๆ ภาษา โดยจะมี Role ว่าต้องส่งข้อมูลหรือ protocal แบบไหนถึงจะสามารถคุยกับ backend ได้เข้าใจ ซึ่งข้อมูลที่ได้สิ่งนั้นคือ respond ที่ Backend ส่งให้
💻 Logic ในโลกของ Software และการเขียนโปรแกรมง่ายๆ
มันคือกระบวนการในการเขียนโปรแกรมมีเอาไว้เพื่อ Process Data ลองนึกถึงสมการง่าย ๆ ของชีวิต เช่น
ถ้ายอดซื้อเกิน 1,000 บาท ให้ลด 10% แต่ถ้าเป็นสินค้าหมวดไอที ไม่ต้องลด 💖
เหมือนเป็นระบบที่เราต้องเขียนให้โปรแกรมวิ่งตามระบบที่เราตั้งเอาไว้
🌐 Build Our Server
ก่อนที่เราจะเริ่มสร้าง simple API server เราต้องทำอะไรบ้างง ?
- Create working directory file ด้วย mkdir Api-101 จากนั่น cd เข้าไปในไฟล์
- เรียก Gemini Cli ขึ้นมาเพื่อมาได้เลย โดยจะให้ทำการ mock CRM Mini Databse ขึ้นมาง่ายๆ ซัก 10 customers !
hi gemini ! Build a lightweight, local CRM API server (port 8000) using only vanilla Node.js (no Express or external
frameworks)and http library.
this is requirement.
1. Mini CRM customersCreate a database.xml file to serve as a mini-database. Include 10 sample CRM contact records.
2. Use the native http module to handle requests.
lets plan how to do this. Keep it simple.
Genimi จะเรียก @Plan mode ขึ้นมา ให้เรา Allow ตาม Step ได้เลยย จากนั้นเราจะ Save plans เอาไว้อ่านในอนาคตว่าเราทำอะไรไปบ้าง ลังจากที่เรา OK กับ Plan ที่สร้างมาเเล้วให้เราสั่งให้ gemini รันให้ได้เลยย ~ 🚀 ซึ่งเราจะไปดื่มน้ำ กินกาแฟหรือไปซักผ้าก็ได้ระหว่างนี้ แต่ๆ ไม่ทันได้ลุกหรอ 😂 แปปเดียวก็เสร็จจจจจจ สุดยอดดดดด !! หลังจากเสร็จจะมีข้อความบอกว่า
เอ้ยย อย่าเพิ่งลุกไปกาแฟ ฉันทำเสร็จแล้ว ruby ! นายมาทดสอบ api ต่อได้เลย 🤯 😱
เริ่มตื่นเต้นขึ้นมาแล้วเลยละทุกคนน จะเห็นว่าเราจะได้มา 3 ไฟล์ ประกอบด้วย
- ours_plan.md
- database.xml
- server.js
แล้วเราทำการเริ่มเชื่อม API ของเราเองได้เลย ผ่าน teminal ด้วยคำสั่ง node server.js แล้วเอาลิงค์ locolhost ไปใส่ใน brower ได้เลยย ถ้าไม่มีปัญหาอะไรจะได้ xml data structure ออกมาแบบนี้

**API Endpoint **✨ คือส่วนที่เป็น http://localhpst:8000/api/custumers
✅ Query Parameter
เรา Add Query filter id ในไฟล์ server.js ของเรา เพื่อที่เราจะได้สามารถ query data มาได้
hi gemini ! looks good. Can you add query parameter id to filter data base on customer id. 😆
เมื่อเราลอง test server ที่ id 1, 2 แล้วจะได้ return custumer id ที่เรา query ไปออกมา และถ้าหาก test ?id = 99 แล้วพบว่าไม่มีจะขึ้นว่า 404 Not Found

จากนั้นให้เราทำการ test ดูว่า ?id=9 มีไหม อย่าลืม node server.js ก่อนใน server run on และ ทุกครั้งที่เราเสร็จงานเราต้องทำการปิด server ของเราด้วยห้ามลืม control + C
จบแล้ว เป็นยังไงติดขัดตรงไหน สามารถมาแชร์กันได้เลยเด้ออออ 😆 สามารถไปอ่านต่อเต็มๆ ได้ที่ Ruby Duckie จะมีเนื้อหาที่น่าสนใจเช่นๆๆ การ Deployments ขึ้น Cloudflare, การใช้ Gemini Web base ในการ Vibe Coding !! แล้วเจอออกันน

Comments