ไปงานมหกรรมซอฟต์แวร์โอเพนซอร์สแห่งประเทศไทย ครั้งที่ 12

งานมหกรรมซอฟต์แวร์โอเพนซอร์สแห่งประเทศไทย ครั้งที่ 12 จัดที่ สถาบันการจัดการปัญญาภิวัฒน์ จ.นนทบุรี เป็นงานสัมมนาที่ดี วิทยากรที่มาบรรยายก็มีความรู้และทำงานอยู่ในภาคธุรกิจจริง สามารถถ่ายทอดได้เห็นภาพการนำโอเพนซอร์สซอฟต์แวร์ไปใช้งาน เนื้อหาสาระโดยสรุป กิจกรรมที่น่าสนใจได้แก่ – โซนงาน 1. โซนงานสัมมนา Conference/Seminar การสัมมนา/เสวนา ที่มีเรื่องราวโอเพนซอร์สซอฟต์แวร์ที่น่าสนใจ ตั้งแต่ระดับผู้ใช้งานตามบ้านทั่วไป ระดับองค์กรธุรกิจ ผู้ประกอบการ ระดับภาคการศึกษา รวมถึงบริการออนไลน์ที่น่าสนใจ 2. โซนห้องอบรมย่อย Workshop 3. โซนห้องจัดแสดงนิทรรศการ/บูธประชาสัมพันธ์ Exhibition – มอบรางวัล Open Source Award ประจำปี 2014 ซึ่งในปีนี้ พระวิภัทร ปัาวุฑฺโฒ (วิภัทร ศรุติพรหม) ได้รับรางวัลซึ่งเป็น 1 ใน 3 รางวัลที่แจกในปีนี้ (ร่วมแสดงความยินดี) – keynote topic 2 เรื่องคือ 1. Digital Economy based on Open Data and Open Access Approach โดย ดร.วิรัช ศรเลิศล้ำวาณิช เป็นเรื่องราวเกี่ยวกับการนำเสนอแนวทางในการสนองตอบนโยบายประเทศในเรื่อง Digital Economy โดยวิทยากรนำเสนอว่า ในโลกอินเทอร์เน็ตปัจจุบัน เต็มไปด้วยข้อมูลทั้งแบบมีโครงสร้างและไม่มีโครงสร้างเช่น facebook เป็นต้น และเป็นแหล่งข้อมูลที่เปิดให้ทุกคนนำสิ่งต่างๆที่โพสต์กันอยู่ใน social network นำไป process เพื่อให้ได้ข้อมูลเป็นสถิติเพื่อใช้ในการทำธุรกิจได้ หรือสามารถรับทราบความเป็นไปในสังคมแบบเรียลไทม์ได้ 2. Open in the cloud from Microsoft Openness (Microsoft) โดยตัวแทนจากไมโครซอฟต์ เป็นเรื่องราวเกี่ยวกับการนำเสนอ Microsoft Azure ผลิตภัณฑ์ที่รองรับการทำงานแบบ cloud ทำให้ไม่ว่าผู้ใช้จะใช้ open source server หรือ software ก็สามารถรันบน cloud จากการใช้ผลิตภัณฑ์ตัวนี้ได้ แบบมีค่าใช้จ่ายที่คิดตามการเลือกใช้งานและเวลาที่ใช้งาน ซึ่งสามารถเลือกได้ว่าต้องการทรัพยากรเท่าไร ติดตั้ง server ใหม่ได้ในเวลาอันสั้นโดยการเลือก template ที่ต้องการ – หัวข้อสัมมนาอื่นๆอีกมากมาย เช่น 1. OpenStack : คุณดำรงศักดิ์ รีตานนท์ แนะนำให้ความรู้เบื้องต้น 2. Social Media เพื่อการประชาสัมพันธ์ : คุณชีพธรรม ไตรคำวิเศษ เล่าให้ฟังขายไอเดียเรื่องคนไทยอ่อนประชาสัมพันธ์ และนำเสนอ Tweet deck (https://tweetdeck.twitter.com/) การใช้แอพ Tweetdeck สำหรับการใช้ Twitter แบบเหนือเมฆ 3. Open Source และเทคโนโลยีเบื้องหลังระบบขนาดใหญ่ : คุณกิตติรักษ์ ม่วงมิ่งสุข เล่าเรื่อง facebook และ google ใช้ open source software ในเบื้องหลังการให้บริการ 4. Wireless & Web Application Security with KALI Linux : อ.ขจร สินอภิรมย์สราญ เล่าเรื่องเกี่ยวกับระบบปฏิบัติการ Linux ที่ปรับแต่งเพิ่มเติมซอฟต์แวร์ในการเจาะระบบเพื่อใช้ในการเรียนรู้การรักษาความปลอดภัย ด้วยเวลาที่จำกัดจึงเล่าให้ฟังในส่วน Wireless LAN ถึงวิธีการและซอฟต์แวร์ที่ใช้ในการเจาะ Symmetric and Asymmetric Encryption 5. Open Source Experience in DTAC : คุณทวิร พาณิชย์สมบัติ เล่าถึงประสบการณ์ในการนำโปรแกรมที่พัฒนาด้วย tools ต่างๆที่เป็น open source เข้าไปใช้งานทดแทนโปรแกรมเดิมที่มีค่าใช้จ่ายของ tools ที่ใช้ในการพัฒนา และเล่าให้ฟังถึงการปรับตัวของโปรแกรมเมอร์ในองค์กรที่ได้นำโปรแกรมใหม่นี้เข้าไปให้ใช้ ซึ่งต้องปรับตัวเองในการค้นคว้าหาคำตอบจากอินเทอร์เน็ตแทนการรอคอย vender ให้ความช่วยเหลือ 6. Open

Read More »

วิธีการใช้ Google Sheets เป็นระบบเฝ้าระวังเว็บไซต์ (Website Monitoring) จากภายนอกองค์กร

ในการเฝ้าระวังบริการเว็บไซต์ขององค์กร (Website Monitoring) ผู้ดูแลระบบมักจะจัดทำจากภายในระบบเครือข่ายขององค์กร แต่ไม่ได้เฝ้าระวังจากภายนอกระบบเครือข่ายขององค์กร ทำให้ไม่ทราบว่าภายนอกสามารถเข้าถึงเว็บไซต์ดังกล่าวได้หรือไม่ จาก “วิธีการใช้ Google Sheets เป็นฐานข้อมูล” ซึ่งได้กล่าวถึงพื้นฐานการพัฒนา Google Apps Script เพื่อใช้ต่อยอดความสามารถของ Google Sheets สามารถนำมาประยุกต์ใช้เพื่อเฝ้าระวังบริการเว็บไซต์จากภายนอกระบบเครือข่ายขององค์กรได้ (จาก Google Cloud Infrastructure เลยทีเดียว) ขั้นตอนในการทำ ในโปรเจค ProjectMyDB สร้างไฟล์ monitoring.gs ดังภาพ ประกอบด้วย 3 ฟังก์ชัน คือ function check_website(url) {     var response = UrlFetchApp.fetch(url, {muteHttpExceptions: true});   return response.getResponseCode(); } function doLog(timestamp, responseCode, timeDiff) {   var ss = SpreadsheetApp.openByUrl(‘https://docs.google.com/a/psu.ac.th/spreadsheets/d/1HJmyqiBYC_AEATmdUWakLgHFyYGqSqeqSA8xEw-8o-c/edit’);   SpreadsheetApp.setActiveSpreadsheet(ss);   SpreadsheetApp.setActiveSheet(ss.getSheetByName(“Log”));   var activeSheet=ss.getActiveSheet();   activeSheet.appendRow([timestamp, responseCode, timeDiff]); } function getTime() {   var startTime = new Date() ;   var responseCode=check_website(“http://www.psu.ac.th”);   var endTime = new Date() ;   var timeDiff = endTime-startTime;     doLog(Utilities.formatDate(new Date(), “GMT+7”, “yyyyMMdd-HHmmss”) , responseCode , timeDiff); } check_website ใช้ UrlFetchApp เพื่อ url ของเว็บไซต์ แล้วรีเทิร์นผล Response Code ของ HTTP Protocol กลับไป doLog ใช้สำหรับเพิ่มค่า timestamp, responseCode และ timeDiff (เวลาในการตอบสนอง) ลงใน Sheet “Log” ใน Google Sheets ที่กำหนดไว้ getTime ใช้คำนวนเวลาตั้งแต่เริ่มต้น แล้วเรียกใช้ฟังก์ชั่น check_website และ จับเวลาที่สิ้นสุด จากนั้นคำนวนเป็นเวลาในการตอบสนอง (timeDiff) แล้ว เรียกฟังก์ขัน doLog เพื่อเขียนข้อมูลต่อไป สร้าง Trigger ด้วยเมนู Resources > Current project’s triggers เลือกฟังก์ชัน getTime กำหนดเป็น Time-driven ทำงานในหน่วยนาที (Minute timmer) และ ทำงานทุกๆ 5 นาที แล้วกดปุ่ม Save ผลการทำงาน และการสร้าง Chart ประกอบทำให้สามารถเห็นแนวโน้มได้ จากตัวอย่างข้างต้น ทำให้เห็นว่า การใช้ Google Apps Script ร่วมกับ Google Sheet สามารถสร้างระบบเฝ้าระวังเว็บไซต์จากภายนอกองค์กรได้อย่างง่ายๆ และไม่มีค่าใช้จ่าย ทำให้เห็นภาพการใช้งานจากภายนอกได้เป็นอย่างดี

Read More »

วิธีการใช้ Google Sheets เป็นฐานข้อมูล

Google Sheets เป็นหนึ่งใน Google Apps ซึ่งเป็น Application Suite ของ Google ประกอบด้วย ในการใช้งานทั่วไป Google Apps สามารถตอบสนองการใช้งานได้เป็นอย่างดี แต่เมื่อต้องการทำกิจกรรมบางอย่างที่นอกเหนือไปจากการใช้งานพื้นฐาน ผู้ใช้สามารถพัฒนาเพิ่มเติมได้เอง ด้วย Google Apps Script Google Apps Script เป็น Scripting Language ที่อยู่บนพื้นฐานของภาษา JavaScript สามารถใช้งานได้และพัฒนาต่อยอดได้ทันทีโดยไม่ต้องติดตั้งอะไรเพิ่มเติมอีกแล้ว สามารถเรียกใช้ Google Service ต่างๆได้มากมาย รวมถึง Google Sheets เพื่อสร้าง เมนูพิเศษ หรือ Macro เพื่อให้การทำงานที่ทำหลายๆขั้นตอนลดลงเหลือเพียงแค่คลิกเดียว อีกทั้งยังสามารถตั้งเวลาให้ทำงานอัตโนมัติ หรือ ตั้ง Trigger เพื่อให้ทำงานเมื่อเกิด Action ต่างๆได้อีกด้วย Google Apps Script มี 3 ชนิด ได้แค่ Standalone, Bound to Google Apps และ Web App ซึ่งจะสามารถใช้งานร่วมกับ Google Sites ได้อีกด้วย (Sites Gadget) รายละเอียดสามารถอ่านเพิ่มเติมได้ที่ Google Apps Script ในที่นี้ จะแสดงตัวอย่างการประยุกต์ใช้ Google Apps Script แบบ Standalone เพื่อพัฒนาให้ Google Sheets ทำหน้าที่เป็นฐานข้อมูล และจะนำไปสู่การต่อยอดเป็น วิธีการใช้ Google Sheets เป็นระบบเฝ้าระวังเว็บไซต์ (Website Monitoring) จากภายนอกองค์กร เพื่อตรวจสอบระยะเวลาในการตอบสนอง ( Response Time) ของเว็บไซต์ ได้อีกด้วย วิธีการใช้งาน Google Apps Script แบบ Standalone ใน Google Drive คลิก New > More > Connect more apps ในชื่อ search ใส่คำว่า script แล้วกด Enter จะพบ Google Apps Script แล้วกดปุ่ม Connect จากนั้น ใน Google Drive ให้คลิกที่ New > More > Google Apps Script จากนั้นให้คลิก Close ได้เลย จะได้พื้นที่โปรเจค (Project) ในการพัฒนา Google Apps Script โดยในแต่ละโปรเจคจะประกอบไปด้วยหลายๆไฟล์ Google Apps Script ได้ ในการพัฒนา Google Apps Script นั้น จะต้องเขียนในรูปแบบของฟังก์ชั่น (Function) เพื่อให้สะดวกในการใช้งานต่างๆ ตัวอย่างเช่น มี Google Sheets อยู่ใน Google Drive ดังภาพ มีรายละเอียดดังนี้ ชื่อของ SpreadSheet คือ “ฐานข้อมูลของฉัน” ประกอบไปด้วย Sheet ชื่อ “Sheet1” และ “Log” มี URL คือ https://docs.google.com/a/psu.ac.th/spreadsheets/d/1HJmyqiBYC_AEATmdUWakLgHFyYGqSqeqSA8xEw-8o-c/edit ต่อไปเป็นขั้นตอนการเขียน Google Apps Script เพื่อติดต่อกับ Google Sheet ข้างต้น เพื่อเขียนข้อมูลลงไป โดยตั้งชื่อโปรเจคนี้ว่า ProjectMyDB ตั้งชื่อไฟล์ว่า SheetDB.gs และตั้งชื่อฟังก์ชั่น “editSheet” ดังภาพ

Read More »

สร้างแบบฟอร์มลงทะเบียนออนไลน์ด้วย Google Form ให้ปิดการลงทะเบียนแบบอัตโนมัติเมื่อครบตามจำนวนที่ต้องการ

อีกหนึ่งปัญหาของการใช้งาน Google Form เพื่อสร้างแบบฟอร์มลงทะเบียนออนไลน์ ที่ผมได้เจอมากับตัวเองคือ ไม่สามารถจำกัดจำนวนผู้ที่มาลงทะเบียนแบบออนไลน์ได้ ทั้ง ๆ ที่การจัดอบรม/สัมมนาต่าง ๆ เราประกาศว่า “รับจำนวนจำกัด” จึงเป็นที่มาของการหาคำตอบในครั้งนี้ครับ ว่า… “ทำอย่างไร ให้แบบฟอร์มลงทะเบียนออนไลน์ (Google Form) สามารถปิดการลงทะเบียนได้ เมื่อมีผู้สมัครครบตามจำนวนที่ต้องการ ?” ** หมายเหตุ ** การใช้ Script : formLimiter v.1.0.2 นี้ จะสามารถใช้ได้กับ Google Spreadsheets “เวอร์ชั่นเก่า” เท่านั้นครับ เวอร์ชั่นปัจจุบัน ไม่สามารถใช้งานได้ เนื่องจาก Google ได้มีการเปลี่ยนแปลงการใช้งานของ Script ใหม่จาก Script Gallery ไปเป็น Add-ons ครับ Script Gallery ==> Add-ons ซึ่ง formLimitter นั้น ผู้พัฒนายังไม่ได้พัฒนาเข้าไปอยู่ใน Add-ons  จึงทำให้หลาย ๆ ท่าน ที่สร้าง Google Spreadsheets ด้วยเวอร์ชั่นปัจจุบัน ไม่สามารถใช้งาน Script อันนี้ได้ครับ ดังนั้น หากผู้ใช้งาน ต้องการใช้ Script ดังกล่าว แนะนำว่าให้สร้าง Google Spreadsheets ด้วยเวอร์ชั่นเก่า นะครับ สามารถเข้าไปสร้างผ่านลิงค์ด้านล่างนี้ได้เลยครับผม goo.gl/pprjA5 1. ไปที่มุมมองของ View responses จากนั้น คลิกเมนู Tools > เลือก Script gallery… แล้วค้นหา Script ที่ชื่อว่า “formLimiter” ในช่อง Search แล้วคลิกปุ่ม Search เมื่อปรากฎ  “formLimiter v.1.0.2” ให้ดำเนินการติดตั้ง โดยคลิกปุ่ม Install คลิกปุ่ม Continue > ปุ่ม Accept > และปุ่ม Close เป็นอันเสร็จเรียบร้อย 2. จะเห็นว่ามีเมนูที่ชื่อว่า formLimiter ปรากฎเพิ่มขึ้นมาใหม่ จากนั้นให้ คลิกเมนู formLimiter > เลือก Run initial configuration เพื่อเปิดการใช้งาน Script เมื่อเปิดการใช้งานเรียบร้อย เมนูย่อยจะเปลี่ยนไปดังภาพด้านล่าง ให้ คลิกเลือก Settings 3. ในส่วนนี้จะเป็นการกำหนดเงื่อนไขของการ “ปิดแบบฟอร์มการลงทะเบียนออนไลน์” ซึ่งจะมีด้วยกัน 3 เงื่อนไขให้เลือกใช้ ดังนี้  3.1  date and time – ใช้ในกรณีที่กำหนดให้ปิดการลงทะเบียนเป็นช่วงของเวลา โดยไม่จำกัดจำนวนผู้สมัคร 3.2  max number of form response – ใช้ในกรณีที่ต้องการรับผู้สมัครแบบจำกัดจำนวน 3.3  spreadsheet cell value – ใช้ตรวจสอบเงื่อนไขตามค่าของข้อมูลใน cell จะปิดการลงทะเบียนเมื่อข้อมูลใน cell ตรงกับค่าที่ได้กำหนดไว้ ในส่วนนี้ผมขอให้เลือกเป็น spreadsheet cell value นะครับ โดยให้กำหนดเงื่อนไขในลักษณะดังนี้ ช่องแรก ให้ระบุ Cell ที่ใช้เป็น “Sheet2!A1” และ ช่องสอง ให้ระบุจำนวนที่ต้องการรับลงทะเบียน (ในที่นี้ผมกำหนดรับที่ 50 คน) แนะนำว่า ให้นำเครื่องหมายถูกออก เนื่องจากระบบจะทำการส่งเมลทุกครั้งที่มีการลงทะเบียน อาจทำให้เกิดอีเมลขยะจากการแจ้งเตือนเป็นจำนวนมากได้ (กรณีที่รับผู้สมัครจำนวนมาก) จากนั้น คลิกปุ่ม Save settings เป็นอันเสร็จสิ้น 4. ขณะนี้เรายังอยู่ในหน้าของ View response ให้ทำการสร้าง “Sheet2” เพิ่มขึ้นอีกหนึ่ง เพื่อใช้ในการนับจำนวนผู้สมัคร (ดังภาพ) โดยให้กำหนดเงื่อนไขใน Cell

Read More »