• แจกฟรี Template สำหรับ Web Application แบบไทยๆ


    แจกฟรี! Template สำหรับ Web Application หน้าตาเว็บแอพแบบไทยๆ เอาไปใช้กันแบบไม่มีเงื่อนไข หลังจากค้นหาดูจากหลายๆ ที่ก็ไม่โดนใจและการนำไปใช้งานไม่เหมาะสมเท่าที่ควร… เลยทำเองซะเลยจากประสบการณ์ คิดว่าหน้ากากแบบนี้เหมาะกับระบบสารสนเทศแบบไทยๆ (แบบทางราชการ) หลังจากการศึกษาและสำรวจรูปแบบมาจากหลากหลายที่ ส่วนของ source code ที่นำมาใช้และมีการปรับแต่ดังนี้ (จัดเต็ม..เวอร์ชั่นล่าสุด ณ 14/8/2558)

    >> Read More <<

  • จดหมายหลอกลวง 10/8/58


    นี่คือจดหมายหลอกลวง อย่างได้หลงเชื่อ อย่าคลิกลิงค์ใดๆ

    >> Read More <<

  • การวัดระยะทางบน Google Earth


    จากบทความที่แล้ว การทำแผนที่ Buffer 300 เมตร สถานที่หรือบริเวณห้ามขายเครื่องดื่มแอลกอฮอล์รอบ มอ. ทำให้สามารถมองเห็นภาพพื้นที่ห้ามฯ ได้ชัดเจนยิ่งขึ้น แต่ยังคงมีหลายๆท่านอยากรู้ว่าร้านนี้ ร้านนั้น จะอยู่ในเขตโซนนิ่งหรือเปล่า? วันนี้เลยมานำเสนอวิธีง่ายๆ ในการตรวจสอบด้วยตัวเอง ด้วยการวัดระยะทางจากสถานศึกษา ไปยังร้านที่เราสงสัยว่าจะอยู่ในข่ายโซนนิ่งหรือไม่? ขั้นตอน เปิดโปรแกรม Google Earth ถ้ายังไม่ได้ติดตั้งคลิกที่นี่เพื่อดาวน์โหลดโปรแกรม จากประกาศสำนักนายกฯ ในข้อ 1 ห้ามผู้ใดขายเครื่องดื่มแอลกอฮอล์ในสถานที่หรือบริเวณซึ่งอยู่ในระยะ 300 เมตร จากรั้วหรือแนวเขตของสถานศึกษาระดับอาชีวศึกษาหรือสถาบันอุดมศึกษาทั้งของรัฐและเอกชน ฉะนั้นเราต้องสร้างขอบเขตสถานศึกษาก่อน (ขั้นตอนนี้สามารถข้ามได้) คลิกไอคอน เพิ่มรูปหลายเหลี่ยม > คลิกลงบนแผนที่ที่เป็นขอบเขตสถานที่ > กำหนดให้พื้นที่เป็นแบบโปร่งแสง เพื่อแสดงเฉพาะเส้นขอบเขต > คลิก ตกลง จากนั้นจะเริ่มทำการวัดระยะทาง โดยคลิกที่ไอคอนไม้บรรทัด > กำหนดหน่วยระยะทางเป็น เมตร คลิก 1 ครั้งที่จุดเริ่มต้นบริเวณแนวเขตสถานศึกษา > คลิก 1 ครั้งที่จุดปลายทางสถานบันเทิงที่ต้องการตรวจสอบ จะเห็นว่า pop-up แสดงระยะทาง หากต้องการไปตรวจสอบจุดต่อไป…

    >> Read More <<

  • การทำแผนที่ Buffer 300 เมตร สถานที่หรือบริเวณห้ามขายเครื่องดื่มแอลกอฮอล์รอบ มอ.


    ตอนนี้เป็นกระแสที่กำลังมาแรงเรื่องการจัดระเบียบสถานบันเทิงหรือสถานที่จำหน่ายเครื่องดื่มแอลกอฮอล์ที่ใกล้บริเวณสถานศึกษา วันนี้เลยจะนำเสนอการทำ buffer 300 เมตร ตามประกาศสำนักนายกรัฐมนตรี เรื่อง กำหนดสถานที่หรือบริเวณห้ามขายเครื่องดื่มแอลกอฮอล์รอบสถานศึกษา พ.ศ.2558 โดยห่างจาก มหาวิทยาลัยสงขลานครินทร์ วิทยาเขตหาดใหญ่ เพื่อเราได้ตรวจเช็คว่า ร้านหรือสถานบันเทิงใดบ้างที่อยู่ในเขตพื้นที่ห้ามฯ* * ทั้งนี้เงื่อนไขต่างๆ เป็นไปตามเงื่อนไขในประกาศสำนักนายกรัฐมนตรีฯ โดยใช้ basemaps จากบทความที่แล้ว การติดตั้ง (OpenLayers Plugin) Google Satellite บน QGIS ขั้นตอน เปิดโปรแกรม QGIS > นำเข้าขอบเขต มอ. ด้วยคำสั่ง Add Vector Layer > เลือก shape file ขึ้นมา จะปรากฏ Layer หรือชั้นข้อมูลขอบเขตพื้นที่ มอ. ขึ้นมา นำเข้าแผนที่ Google Satellite ด้วยการคลิกที่เมนู Web > OpenLayers plugin > Google maps…

    >> Read More <<

  • การติดตั้ง (OpenLayers Plugin) Google Satellite บน QGIS


    Google Maps เริ่มมีบทบาทและได้รับความนิยมในการนำไปใช้ในการแปลภาพถ่ายในด้านทรัพยากรธรรมชาติและสิ่งแวดล้อม หรือรวมไปถึงเรื่องการใช้ประโยชน์ที่ดิน เพื่อนำไปจัดทำฐานข้อมูลภูมิสารสนเทศ หรือ GIS มากยิ่งขึ้น ด้วยความที่เป็นปัจจุบันหรือ update ค่อนข้างที่จะเป็นปัจจุบันหรือใกล้เคียงปัจจุบัน อีกทั้งผู้ใช้สามารถเข้าถึงได้ง่าย ใช้งานง่าย นักภูมิสารสนเทศ หรือนัก GIS หรือคนที่ทำงานด้าน GIS จึงมักจะเลือกที่จะนำมาใช้ในการแปลภาพถ่าย หรือเรียกว่า การสำรวจระยะไกล (Remote Sensing : RS) วันนี้เลยอยากจะนำเสนอ plugin ตัวนึงที่น่าสนใจ นั่นคือ OpenLayers plugin for QGIS 2.8 เพื่อใช้ในการนำเข้า Google Satellite เป็น BaseMaps (แผนที่ฐาน) ในการแปลภาพถ่าย   *** ส่วนใครที่ใช้ ArcGIS ก็ลองแวะเข้าไปอ่านวิธีการ การติดตั้งและใช้งาน ArcGoogle for ArcGIS เพื่อใช้ Google Satellite เป็นแผนที่ฐาน ได้นะคัับ ^^   ขั้นตอน…

    >> Read More <<

  • Dual Boot Ubuntu 14.04 & Windows 8.1 in UEFI


    เหตุการณ์สมมติจึงใช้ VirtualBox ตั้งค่า VirtualBox ดังภาพ (ขอข้ามวิธีการสร้างเครื่องใหม่บน VirtualBox ไปเลยนะครับ คิดซะว่าชำนาญแล้ว โดยขนาด HDD ที่ต้องการ 100GB เป็นอย่างน้อย) โดยเลือก option ที่เขียนว่า Enable EFI (special OSes Only) และในช่อง  Boot Order: ให้เลื่อนเป็น Optical แล้วตามด้วย Hard Disk แล้วกด OK เมื่อเปิดเครื่องจะได้หน้าจอดังภาพ แสดงว่า BIOS ของเรากลายเป็น UEFI เรียบร้อยแล้ว เลือกแผ่น Ubuntu 14.04 ให้ต่อเข้ากับ Device reset เครื่อง เลือก *Try Ubuntu without installing รอจนได้ Windows Manager แล้วดับเบิ้ลคลิก Install…

    >> Read More <<

  • ใช้ google script ทำ mail merge เนื้อหาเมลที่มี pre-filled form URL


    จากตอนที่แล้ว “ใช้ google script ทำ mail merge เนื้อหาเมลที่มี link” เรารู้วิธีใส่ link ไปในเนื้อหาเมล ในตอนนี้เราจะมาเปลี่ยน static link เป็น dynamic link (คือ link ที่มีการอ้างชื่อ cell จึงเป็น link ที่เปลี่ยนแปลงไปตามค่าที่อยู่ใน cell) จุดประสงค์ก็เพื่อส่ง link ให้ผู้ที่รับอีเมลกรอกข้อมูลลง google form ที่มีข้อมูลให้บางส่วนแล้ว (pre-filled form) ซึ่งเป็นข้อมูลของผู้รับอีเมลแต่ละคนที่แตกต่างกัน เช่น ให้มีฟิลด์ ชื่อ และ หน่วยงาน ไว้แล้ว เป็นต้น เมื่อเปิดฟอร์มจึงไม่ต้องกรอกชื่อ และ หน่วยงาน แต่ยังสามารถแก้ไขได้หากต้องการ แล้วให้กรอกข้อมูลเพิ่มในส่วนอื่น ๆ สมมติ 1. เรามี google sheet ชื่อ members…

    >> Read More <<

  • ใช้ google script ทำ mail merge เนื้อหาเมลที่มี link


    ผมใช้ Yet another mail merge ซึ่งเป็น add-on เพื่อส่งอีเมลเรื่องเดียวกันไปยังเพื่อนๆจำนวนหนึ่ง ก็ใช้งานได้ดีมา 5 ครั้งแล้ว แต่พอครั้งหลังนี้ ผมต้องการส่งอีเมลที่ในเนื้อหามี link ให้ผู้ที่รับอีเมลสามารถคลิกเพื่อเปิดอ่านได้ แต่ลองหลายวิธีที่จะส่งด้วยวิธีที่เคยใช้ add-on ตัวนี้ก็จะแสดงเป็นข้อความ ไม่แสดงเป็น link ในอีเมล (อันนี้ต้องบอกก่อนว่า คาดว่าผู้ใช้ส่วนใหญ่ใช้โปรแกรมอีเมลที่มีการแสดงผลมากกว่าข้อความธรรมดา) ค้นหาดูก็พบว่า ต้องเปลี่ยนวิธีทำมาเป็นวิธีเขียน google script เพื่อส่ง mail merge แทน วิธีทำ ดังนี้ 1. สร้าง google sheet ตั้งชื่อ myusers 1.1 sheet แรก ตั้งชื่อ Data ที่มีคอลัมน์ ดังนี้ รายการที่, ชื่อ, คณะ, อีเมล, link1, link2 1.2 sheet สอง…

    >> Read More <<

  • รู้จักกับ Algebraic Specification


    สวัสดีครับ หลังจากใช้เวลานานในการคิดว่าจะเขียนอะไรดี ก็คิดได้ว่านำเอาความรู้ที่ได้จากการไปเรียนทบทวนเรื่องวิศวกรรมซอฟต์แวร์มาเล่าสู่กันฟังดีกว่า เรื่องที่จะเล่านี้ก็คือ การเขียน Specification ในรูปแบบหนึ่งซึ่งอาจจะใหม่สำหรับบางคน เรียกว่า Algebraic Specification (ชื่อภาษาไทยว่าอะไร ไปหาเอาเองนะครับ) Algebraic Specification เป็นรูปแบบหนึ่งของ Formal Specification (อย่าเพิ่งงงนะครับ) ในการเขียน specification รูปแบบนี้จะใช้คณิตศาสตร์เข้ามาช่วยเพื่อให้เห็นการติดต่อระหว่าง module หรือ component ที่ชัดเจน แล้วมันต่างจากที่เขียนอยู่ยังไง? ถ้าคุณเขียน specification พรรณนาด้วยภาษามนุษย์ยาวเป็นหน้า ๆ อันนั้นเรียกว่า form-based specification ครับ เป็นวิธีการเขียนที่มนุษย์อ่านแล้วเข้าใจมากกว่า แต่ในการใช้ภาษาเขียนนั้น อาจจะเกิดความกำกวมได้ครับ ประเภทที่คนอ่าน อ่านแล้วงง อ่านแล้วรู้สึกว่ามีหลายความหมายหรือเข้าใจไม่ชัดเจนซึ่งอาจเป็นผลมาจาก Requirement definition และ Requirement specification ที่กำกวมเช่นเดียวกัน ดังนั้นจึงมีผู้ปราดเปรื่องบางท่านคิด Algebraic specification ขึ้นมาซึ่งหน้าตาเป็นดังนี้ ARRAY (Elem: [Undefined -> Elem])…

    >> Read More <<