Skip to content

Month: March 2014

เปรียบเทียบความเร็วในการ render ของ template engine

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

ที่เคลมว่าเร็วที่สุดเขาก็ไม่ได้อ้างลอยๆ นะครับมี benchmark ทดสอบให้ดูด้วย (เลื่อนไปดูข้างล่าง) และในเว็บก็มีให้ลองใช้งานด้วย ผมดูแล้วเจอฟีเจอร์ที่น่าสนใจคือมันสามารถ include ส่วนอื่นมาต่อกันได้เหมือน PHP เลย

Handlebars template engine ที่น่าใช้อีกตัว

เมื่อนานมาแล้วผมเอา Mustache javascript template engine มาใช้แล้วพบว่ามันก็เป็น “Logic less” template engine จริงๆ เจอข้อเสียอยู่ 2 อย่างคือ

  1. ใช้กับ data model ที่เป็น JSON แปลกๆ แล้วใช้ลำบาก อันนี้จะว่า Mustache อย่างเดียวก็ไม่ถูกต้องว่าคนออกแบบ JSON structure ด้วย สรุปคือมันไม่ยืดหยุ่นเท่าไหร่
  2. if else ใช้ลำบากคือจริงๆ มันสามารถใช้ได้นะแต่ syntax ไม่สื่อโค้ดอ่านยาก

ในอนาคตวิศวะคอมอาจไม่มีสอนแล้ว

พาดหัวซะน่ากลัวแต่อยากบอกว่าโพสต์นี้เกิดจากการ “คาดเดา” ของผมล้วนๆ ครับ พอดีมีประเด็นเรื่อง “ทำไมจบวิศวะคอมทำไมซ่อม … ไม่ได้” เลยคิดหาคำตอบด้วยตัวเองแล้วก็แตกประเด็นมาเป็นประเด็นนี้ว่าทำไมในอนาคตวิศวกรรมคอมพิวเตอร์หรือ วิศวะคอมอาจจะไม่มีการสอนแล้ว ซึ่งก็พอสรุปตามความคิดเห็นส่วนตัวได้ดังนี้ว่า

ทำไมจบวิศวะคอมถึงซ่อม … ไม่ได้วะ?

หลายคนที่จบคอมคงจะเจอปัญหาโลกแตกจากคำถาม “ทำไมจบวิศวะคอมทำไมซ่อม … ไม่ได้” (ผมว่าเกิน 80% หละเอ้า) ซึ่งไอ้ “…” ในช่องว่างเนี่ยก็แล้วแต่คนจะสรรหามาใส่ทั้งซอฟต์แวร์และฮาร์ดแวร์และที่แย่ไปกว่านั้นคืออะไรก็ตามที่เสียบปลั๊กได้ มักจะถูกคาดหวังให้เราแก้ปัญหาได้หมด ทำไมคนอื่นถึงคาดหวังกับเราแบบนี้?

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