Case Study: ระบบประเมินผลออนไลน์ด้วย Google Sheets แบบแก้ไขได้เฉพาะส่วนของตนเอง แต่มองเห็นของคนอื่นได้ด้วย

โจทย์มีอยู่ว่า ต้องการระบบประเมินผล Online ให้อาจารย์จากหลาย ๆ มหาวิทยาลัย จำนวน 5 ท่าน ประเมินผลการทำงาน ในมุมมองต่าง ๆ แยกตาม Sheet และ ในแต่ละมุมมอง อาจารย์แต่ละท่าน สามารถเลือกตัวเลือกจาก Dropdown ในคอลัมน์ของตนเองในแต่ละหัวข้อย่อย แต่ในขณะเดียวกัน สามารถมองเห็นได้ด้วยว่า อาจารย์ท่านอื่นให้คะแนนหัวข้อย่อยนั้นว่าอย่างไร แต่จะไม่สามารถแก้ไขของท่านอื่น หรือ แก้ไขส่วนอื่น ๆ ได้ มีระบบสรุปคะแนนอัตโนมัติ เริ่มกันเลย ลองคลิกไปดูตัวอย่างได้ที่นี่ สร้าง Google Sheets โดยมีทั้งหมด 5 Sheets แต่ละ Sheet มีคอลัมน์แรก เป็นรายการที่จะประเมิน คอลัมน์ B – F เป็นส่วนที่ผู้ประเมินแต่ละท่านใช้ในการประเมิน ชีตที่ 1 -3 เป็น มุมมองในการประเมิน ชีตที่ 4 เป็น Rubric … Read more

Virtual data center with OpenNebula

OpenNebula เป็นชื่อของ open source software สำหรับทำ virtual data center เวอร์ชั่นล่าสุดคือ 5.6.1 (https://opennebula.org) ผมได้ทดลองในห้องปฏิบัติการ และเขียนเป็นขั้นตอนการติดตั้งจนกระทั่งได้ VM ขึ้นมา แต่ยังไม่ลงรายละเอียดถึงขั้นใช้งาน storage network ได้ ซึ่งจะได้ทดลองกันต่อไป ในตอนนี้ จะเรียกว่า basic set up ก็ได้นะ ในการ set up ระบบจริงตามคำแนะนำ แต่ละเครื่องควรมี network card 2 cards เพื่อแยกระหว่าง network ที่ให้บริการ กับ Management network การ set up จะต้องมีเครื่องที่เป็น Front-end เพื่อทำหน้าที่เป็น database และเว็บเพจสำหรับทำ configuration และสั่งการ และจะต้องมีเครื่องที่เป็น Hypervisor อย่างน้อย … Read more

django – as a Dialogflow Webhook #03

บทความนี้ จะกล่าวถึง การใช้ django ทำหน้าที่เป็น Webhook จาก Dialogflow ผ่าน Fulfillment ทาง HTTP Post Request ด้วย JSON object และ ทำการประมวลผล แล้วตอบกลับไปเป็น JSON Object เช่นกัน เพื่อให้ Dialogflow ตอบสนองต่อผู้ใช้ได้ตามต้องการ เช่น อาจจะให้ไปค้นข้อมูลจากฐานข้อมูลในองค์กรมาตอบ เป็นต้น ในมุมของ django django (ดี)จังโก้ ดีอย่างไร #01 ได้กล่าวถึงการสร้าง Web Application จาก Model โดยกำหนด Fields ต่าง ๆ จากนั้น django ก็จะสร้าง Web Form ต่าง ๆ ให้อัตโนมัติ และยังสามารถสร้าง Users ของระบบ พร้อมทั้ง กำหนดสิทธิ์การเข้าถึงของแต่ละคนได้อีกด้วย … Read more

Everything are connected together

“ทุกสรรพสิ่งเชื่อมต่อกัน” สวัสดี ผู้อ่านทุกท่านนะครับ นี่คือบทความฉบับปฐมภูมิของผู้เขียน ที่จะนำพาท่านไปพบกับบทความในอีกรูปแบบหนึ่ง ที่ผู้เขียนพยามสรรสร้างบทความนี้เพื่อให้เกิดแนวความคิดที่เรียบง่าย แต่ได้ไอเดีย เพื่อนำไปสร้างนวัตกรรมหรือนำไปประยุกต์ใช้งานกับหน้าที่การงาน ที่เราต่างร่วมกันทำเพื่อองค์กรของเราให้มีความก้าวหน้าอย่างยั่งยืนต่อไป กล่าวถึงหัวข้อที่ผู้เขียนเรื่อง “Everything are connected together” เป็นเรื่องราวที่ผู้เขียนได้สกัดมาจากงานที่ผู้เขียนปฏิบัติจริงและได้มีการดำเนินการมาเป็นระยะเวลา 2 ปี ตั้งแต่เริ่มตั้งไข่ จนกระทั่งเริ่มยืนและเดินได้ เติบโตขึ้นทีละเล็ก ทีละน้อย ค่อยๆ เพิ่มทักษะในการเรียนรู้ไปพร้อม ๆ กัน ในบทความนี้จะไม่เน้นเนื้อหาในเชิงลึก แต่จะนำเสนอแก่นสาร ที่รวบรวมแนวความคิดของผู้เขียนที่มีต่อการปฏิบัติงาน เพื่อนำเสนอไอดีย และแง่มุมต่าง ๆ ที่มันสะท้อนให้เห็นอะไรบางอย่างจากการปฏิบัติงาน เพื่อเป็นแนวทางให้กับผู้อ่านต่อไป ปัจจุบันโลกของเรามีการเปลี่ยนอย่างก้าวกระโดด โดยเฉพาะในด้านเทคโนโลยีตลอดจนเครื่องมือต่าง ๆ เกิดขึ้นมากมายให้เราเลือกนำมาใช้งาน สิ่งที่จะกล่าวต่อไปนี้คือ “ทุกสรรพสิ่งเชื่อมต่อกัน” เมื่ออ่านมาถึงจุดนี้ผู้อ่านคงจะเริ่มคิดถึงสิ่งต่าง ๆ ที่อยู่รอบตัวเรา ในชีวิตประจำวันที่เราใช้ Internet มันเชื่อมโยงทุกสิ่งอย่าง อย่างไรก็ตามในหลาย ๆ มิติของการเปลี่ยนแปลงมันก็เป็นไปตามธรรมชาติของมัน นั่นคือทุกอย่างล้วน เกิดขึ้น ตั้งอยู่ และดับไป ผู้เขียนพยามสะท้อนให้เห็นถึงความเป็นจริง หากเราจะก้าวไปข้างหน้า จงอย่างไปยึดติด … Read more

ELK #07 LogStash

จากที่ได้กล่าวถึงมายาวนานในเรื่อง ELK  และ  ELK #02 ที่ได้กล่าวถึงการติดตั้ง LogStash ไว้เบื้องต้น ในบทความนี้จะมาลงลึก ถึงกระบวนการทำงานของ LogStash ซึ่งเป็นส่วนสำคัญในการเปลี่ยนข้อมูล Unstructured ให้เป็น Structured ตอนนี้ เราจะทำงานใน /etc/logstash/conf.d/ Simple input – output plugin สร้างไฟล์ 01-input-file.conf มีเนื้อหาดังนี้ input { file { path => [“/tmp/input.txt”] mode => “tail” } } ในส่วนนี้ เป็นการกำหนดว่า ให้ LogStash อ่านไฟล์ /tmp/input.txt โดยให้อ่านบรรทัดล่าสุด (ต่อจาก Checkpoint ก่อนหน้า) เข้ามา โดยถ้าไม่กำหนด mode => “tail” ระบบจะอ่านไฟล์ก็ต่อเมื่อ มีการสร้างไฟล์ใหม่เท่านั้น สร้างไฟล์ 98-output-file.conf มีเนื้อหาดังนี้ … Read more