บทความ

บทที่ 2 จะเป็นโค้ดตัวอย่างในการรับค่าจาก API ด้วยคชสาร (สามารถรับค่าด้วยวิธีใดๆก็ได้ เนื่องจากเป็นการรับค่าด้วยวิธี GET ธรรมดา) ซึ่ง API จะคืนค่าผลลัพท์เป็น JSON กลับมา
API เป็นจุดเด่นอย่างหนึ่งของคชสาร เนื่องจากคชสารเป็นเฟรมเวอร์คที่มีประสิทธิภาพสูงทำให้การสร้าง API ด้วยคชสารจะได้ประสิทธิภาพที่ดีกว่า สามารถรองรับจำนวนรีเควสพร้อมๆกันได้มากกว่าเฟรมเวอร์คอื่นๆ
จากข้อมูลตัวอย่าง มี owner_id หลายรายการที่ไม่ซ้ำกัน และแต่ละ owner_id ก็มีข้อมูล id อีกหลายรายการด้วยกัน โดยที่ในแต่ละ owner_id จะมี id ไม่ซ้ำกัน โจทย์ต้องการหา id ล่าสุดของแต่ละ owner_id
เราสามารถ Query ข้อมูลสถานที่ ที่อยู่รอบๆจากตำแหน่ง ลองติจูด และ ละติจูดที่บันทึกไว้ในฐานข้อมูลได้ โดยอาศัยการคำนวณแบบพื้นฐาน
Dev ทุกคนคงเคยได้ยินประโยคที่บอกว่า ใช้ Index (ดัชนี) สิเพื่อให้ Query ข้อมูลจากฐานข้อมูลได้เร็วขึ้น แต่ก็มีจำนวนมากที่ไม่รู้จะใช้ยังไง หรือไม่รู้ว่ามันทำให้เร็วขึ้นได้ยังไง
หลายๆคนในช่วงนี้คงมีโอกาศได้พบกับปรากฎการณ์เว็บไซต์สีเทาของคนไทยไปกันถ้วนทั่ว ซึ่งคงเป็นปรากฎการณ์ที่ไม่เคยเห็นกันมาก่อนเป็นแน่ในวงการเว็บไซต์
Intro Page หรือ Landing Page มีชื่อเรียกเป็นภาษาไทยว่า หน้าต้อนรับ ใช้สำหรับแสดงข้อมูลอะไรบางอย่างก่อนที่จะเข้าสู่เว็บไซต์จริงๆ เช่น อาจแสดง logo หรือคำเตือน เพื่อให้กดยอมรับก่อน หรือใช้ในการแสดงโฆษณาก่อนที่จะเข้าสู่เนื้อหา
โมดูลสุดท้ายที่จะพูดถึงคือโมดูลห้องสนทนาหรือแชตนั่นเอง จุดประสงค์ของการแสดงตัวอย่างการใช้งานโมดูลแชต ก็เพื่อให้เห็นวิธีการอย่างง่ายในการใช้งาน API ร่วมกับคชสาร
ในบทนี้ผมจะเขียนถึงการสร้างโมดูลสมุดเยี่ยม Guest Book เนื่องจากผมมองว่าโมดูลสมุดเยี่ยมนี่แหละที่สามารถอธิบายความสามารถของคชสารได้หลายอย่าง ในแบบที่ไม่ซับซ้อนนัก
ตอนนี้เราจะมาพูดถึงส่วนของแอดมินกันบ้าง กระบวนการโดยทั่วไปจะไม่มีอะไรแตกต่างจากเวิร์คช้อปก่อนหน้า เนื่องจากเราไม่ได้เปลี่ยนแปลงกระบวนการใดๆ ในส่วนนี้ สิ่งที่แตกต่างไปจะมีเพียงส่วนที่เกี่ยวข้องกับ เมนูและหน้าเพจเท่านั้น
ในเวิร์คช้อบนี้ defaultController หรือ Index Index Controller จะมีความแตกต่างจากเวิร์คช้อปก่อนหน้าเพียงนิดเดียวในส่วนของการโหลดโมดูลที่ต้องการ
ในเวิร์คช้อปชุดนี้ผมจะหยิบเอา เวิร์คช้อป CMS อย่างง่าย เก็บข้อมูลเป็นไฟล์ มาพัฒนาต่อ โดยนำมาเปลี่ยนวิธีจัดเก็บข้อมูลเมนูและหน้าเพจลงฐานข้อมูลแทน