ประสบการณ์ การเป็นกรรมการตัดสินการแข่งขันเว็บไซต์

ได้รับเกียรติไปเป็นคณะกรรมการตัดสินแข่งขันทักษะการ(สร้างระบบ)ขายสินค้าออนไลน์ (e-commerce) ในการประชุมวิชาการ องค์การนักวิชาชีพในอนาคตแห่งประเทศไทย การแข่งขันทักษะวิชาชีพ ทักษะพื้นฐาน ระดับภาค ภาคกลาง ครั้งที่ 24 ประจำปีการศึกษา 2559 วันที่ 6-10 ธันวาคม 2559 ณ วิทยาลัยเทคนิคชัยนาท ซึ่งมีสถาบันอาชีวศึกษาในภาคกลางเข้าร่วมทั้งหมด 14 ทีม ทีมละ 2 คน ซึ่งอุปกรณ์ทุกอย่างทางผู้จัดจะเตรียมไว้ให้ ทั้งคอมพิวเตอร์ที่ใช้แข่งขัน เครื่องแม่ข่ายและเนื้อหาของสินค้า โดยการแข่งขันนั้นมีกติกาที่เป็นมาตรฐานระดับชาติ เป็นผู้ออกกติกาที่ใช้แข่งขัน ในครั้งแรกที่ผมเห็นกติกานี้ผมอยู่ในฐานะของที่ปรึกษา นศ.ที่จะเข้าแข่งขัน โจทย์ที่ให้มานั้นคือ สร้างระบบ e-commerce เกือบสมบูรณ์ ในเวลา 6 ชั่วโมง ซึ่งมันน้อยมาก ๆ ในความรู้สึกผม เพราะแค่คิดว่าจะขายอะไรนั้นก็ยากเต็มทนแล้ว โดยครั้งแรกทีเห็นนั้นผมมีอติกับการกติกาการแข่งขันนี้มาก เพราะมันดูเป็นการตีกรอบความคิด “เด็กไม่สามารถสร้างสรรค์สิ่งที่นอกเหนือจากนี้ได้เลยหรือ?” คำถามใจในผมตอนนั้น จนครั้งนี้มาเป็นกรรมการถึงได้เข้าใจว่า การประเมินทักษะ ทำไมถึงต้องออกกติกาแบบนี้ เนื่องจากเป็นการวัดมาตรฐานวิชาชีพ ซึ่งคะแนนที่ให้มา 100 คะแนน ก็มีการให้ค่าน้ำหนักแตกต่างกันออกไป ซึ่งจะลำดับไปตามหัวข้อต่างๆ …

วิธีเปลี่ยนหน้าในตาราง DataTables ด้วยปุ่มลูกศรซ้าย-ขวา

ด้วยความสามารถของ DataTables ที่ได้รับการยอมรับกันดีอยู่แล้วเรื่องการจัดการข้อมูลในรูปแบบตาราง ทำให้เราสามารถค้นหา, จัดเรียง, กรอง, ข้อมูลต่างๆ ได้อย่างง่ายดายมากๆ จากที่เมื่อก่อนต้องมานั่งเขียน SQL code ให้ ORDER BY ตามสิ่งที่ต้องการให้เรียง เพื่อให้ table แสดงผลได้ตามต้องการ ซึ่งก็เป็นภาระที่คนเขียน code เองต่างขยาด และไม่อยากไปเตะต้องมันอีก เพราะงานมันจุกจิกและซ้ำซาก สิ่งที่จะแนะนำต่อจากนี้ไม่ใช่วิธีการใช้งาน dataTable แต่จะเสริมเรื่องของการใช้ “ปุ่มลูกศร” allow key บน keyboard ในการเปลี่ยนหน้า เนื่องจากรู้สึกว่ามันง่ายกว่ามานั่งคลิกไปทีละหน้าๆ ซึ่งค่อนข้างเสียเวลา มาดูวิธีที่แสนง่ายกันเลย ตาม code นี้จะนำ API ของมันมาใช้ คือ page() และ draw() รายละเอียดตามลิงค์ Page – https://datatables.net/reference/api/page() Draw – https://datatables.net/reference/api/draw() นำมาใช้งานในรูปแบบนี้ จากนั้นเราก็สามารถที่จะกดปุ่มลูกศร ซ้าย เพื่อย้อนกลับ และลูกศรขวา เพื่อถัดไปได้แล้ว

ATOM #4 – วิธีการพิมพ์ code จาก atom editor

มันเป็นปัญหาระดับโลกเลยก็ว่าได้ ที่ Editor ฟรีๆ ดีๆ มักจะมี function การใช้งานไม่ค่อนครบถ้วน แต่ก็ใช้ว่าจะหา package อื่นๆมาติดตั้งแทนไม่ได้ อันนี้เป็นอีก package หนึ่งที่อยากแนะนำ ใช้สำหรับการพิมพ์ code ที่เขียนออกมา โดยใช้ package ที่ชื่อ Export Html https://github.com/nobuhito/atom-export-html วิธีการติดตั้ง package ไปดูได้จากที่นี่ > ATOM #2 – การติดตั้ง Packages เมื่อติดตั้งเรียบร้อยแล้ว มาดูหน้า Setting ว่าเราสามารถตั้งค่าอะไรได้บ้าง Font Size – ตั้งขนาด font Line Number – ตั้งความโปร่งแสงให้เลขแถว Line Number Use – แสดงเลขแถวหรือไม่? Open Browser – อันนี้ติ๊กไว้ครับ ถ้าเอาออก จะหาไฟล์ไม่เจอ …

ATOM #3 – การติดตั้ง Atom Linter PHP บน Windows

เจ้า Linter นี้ใช้สำหรับดักจับเวลาเรา coding มันจะแสดง error และ warning ขึ้นมาทันที โดยเราไม่ต้องไปเสียเวลา compile หรือเปิดหน้าเว็บดูใหม่นั่นเอง มันช่วยให้ code ใช้เวลาสั้นลงและมีคุณภาพมากยิ่งขึ้น มาว่ากันเรื่องการติดตั้ง package linter-php สำหรับ Windows ที่ลงพวก WAMP, XAMPP, AppServ เป็นต้น หรือใครจะติดตั้งแบบอื่นก็ไม่ว่ากัน ติดตั้ง Package linter-php ด้วยการเข้าไปที่ Settings > Install > พิมพ์ lint php ดังภาพ จะพบ linter-php ให้กด install แล้วรอ จนกว่าจะเสร็จ เราจะมีเริ่มขึ้นตอนการตั้งค่าเพื่อให้มันใช้งานกับ Windows ได้ ให้คลิกที่ Open Config Folder จากนั้นเปิดไฟล์ config.cson ขึ้นมา ซึ่งในตัวอย่างของ …

ข้อพึงระวัง ในการใช้ PDO Transaction กับ auto_increment

ผมมีปัญหาเกี่ยวกับการใช้ transaction ซึ่งเดิมผมสร้าง table ไว้ 3 ตาราง เป็น MyISAM แต่ตอนหลังพบปัญหาข้อมูลไม่ถูกต้อง จึงเปลี่ยนเป็น InnoDB เพื่อทำ foreign key เชื่อมกัน ปัญหาที่พบคือ บางครั้ง INSERT ข้อมูลไปแล้วทั้ง 3 ตารางพร้อมกัน ข้อมูลมันติดค้างอยู่ใน transaction ซักพักก็ rollback ออกมา ทั้งที่ได้ข้อมูลครบถ้วนทุกอย่าง (พอ insert ผมลอง select ดู ซึ่งเท่าที่คิดน่าจะไป select จากใน trancaction ออกมาแสดง ) ปัญหานี้ทำให้ field ที่เป็น PK {auto increment} เลขมันรันต่อไปแล้ว แต่ record กลับไม่มี ปัญหาต่อมาคือ try INSERT ไปแล้ว ไม่แจ้ง error …

วิธีแก้ select2 ส่งค่า tag multiple ได้ไม่ครบ

ใส่ไว้เตือนความจำหน่อยกับการใช้ select2 jquery plugin สมมุติ select option เราหน้าตาเป็นแบบนี้ จากนั้นเราใช้เจ้า select2 เข้ามาจับเพื่อให้ได้ผลลัพท์หน้าตาแบบนี้ แต่เจ้ากรรม เมื่อเรา post ไป กลับกลายเป็นว่ามันได้รับแค่เพียงคำว่า “ถุงลมโป่งพอง” แต่ที่จะเป็นค่าทั้งหมดที่เราได้ select เอาไว้ นั่นเป็นเพราะเราหลงลืมบางสิ่งไป! การที่เราจะส่งค่าหลายๆค่าไปนั้น มันไม่ใช่การส่งข้อความต่อๆกันยาวๆ แต่มันจะส่งไปในรูปแบบของ Array ภาพด้านบนสุดจะมีการ ตรวจสอบด้วย print_r() เพื่อดูว่าค่าที่ส่งไปถูกต้องครบถ้วนหรือไม่!  วิธีแก้คือ ให้เราใส่ [] เข้าไปใน name property ของ select ดังตัวอย่าง แค่นี้ผลลัพท์ก็ได้ออกมาครบถ้วนตามต้องการแล้ว แนะนำ – https://select2.github.io/