Author: niti.c

  • บันทึกการติดตั้งเพื่อใช้งานบริการระบบยืนยันตัวตน PSU Passport (Authentik)

    ปัจจุบันบระบบยืนยันตัวตนแบบ 2 ขั้นตอน (2FA) หรือ MFA ถูกผลักดันให้ใช้งานกันอย่างแพร่หลาย ทั้งนี้เพื่อยกระดับการรักษาความปลอดภัยของระบบสารสนเทศ คณะการแพทย์แผนไทย ม.อ. มีความมุ่งหมายที่จะเปลี่ยนแปลงระบบล๊อกอินของระบบสารสนเทศต่างๆ ทั้งหมดของคณะให้เป็น 2FA ตามนโยบายความปลอดภัยของมหาวิทยาลัยฯ ด้วย

    ต่อไปนี้จะแสดงตัวอย่างการ implement ระบบเพื่อติดตั้งใช้งาน PSU Passport (Authentik) ด้วยภาษา PHP

    (more…)
  • Google Form ระบบรับสมัครพร้อมสร้างไฟล์ PDF และส่งสำเนาไฟล์ให้ผู้สมัคร ฟรีไม่จำกัด

    ขออธิบายหลักการทำงานคราวๆ ของระบบนะครับ คือเมื่อผู้สมัครทำการกรอกข้อมูลที่ Google Form แล้วระบบจะทำการบันทึกข้อมูลลง Google Sheets ตามปกติ หลังจากนั้นก็จะนำข้อมูลไปสร้างเป็นไฟล์ PDF ให้พร้อมสำเนาไฟล์ PDF ให้ผู้สมัครทางอีเมล์

    (more…)
  • [กันลืม] ปรับแต่ง MySql/Mariadb ให้โหลดข้อมูลได้เร็วขึ้น

    เพื่อให้ดาต้าเบส (Database) ทำงานได้อย่างเต็มประสิทธิภาพและสามารถใช้ทรัพยาการของเครื่องเซิร์ฟเวอร์ (Server) ได้เต็มศักยภาพของเครื่องเมื่อติดตั้งเสร็จก็จะควรมีการปรับแต่งค่าให้เหมาะสมกับการใช้งาน

    • สำหรับ Linux ให้แก้ไขไฟล์ /etc/mysql/my.cnf
    • สำหรับ Windows (XAMPP) ให้แก้ไขไฟล์ C:\xampp\mysql\bin\my.ini

    มาเริ่มกันเลย! ปัจจุบัน MySql/Mariadb เวอร์ชั่นใหม่จะใช้เอนจินแบบ InnoDB เป็นค่าเริ่มต้น ฉะนั้นเราจะโฟกัสความสำคัญเฉพาะการตั้งค่า InnoDB โดยเฉพาะค่า innodb_buffer_pool_size ควรกำหนดให้ไม่เกิน 70-80% ของขนาด RAM มีตัวย่างการค่าคอนเฟิกดังนี้

    (สมมุติสเปกเครื่องเซิร์ฟเวอร์ CPU 4 core  RAM 4 GB)

    # InnoDB Settings
    default_storage_engine          = InnoDB
    innodb_buffer_pool_instances    = 1     # Use 1 instance per 1GB of InnoDB pool size
    innodb_buffer_pool_size         = 1G    # Use up to 70-80% of RAM
    innodb_file_per_table           = 1
    innodb_flush_log_at_trx_commit  = 0
    innodb_flush_method             = O_DIRECT
    innodb_log_buffer_size          = 8M
    innodb_log_file_size            = 256M
    innodb_stats_on_metadata        = 0
    

    คำสั่งคิวรีที่ใช้ตรวจสอบค่าที่เหมาะสมของ innodb_buffer_pool_size

    SELECT CEILING(Total_InnoDB_Bytes*1.6/POWER(1024,3)) RIBPS FROM
    (SELECT SUM(data_length+index_length) Total_InnoDB_Bytes
    FROM information_schema.tables WHERE engine='InnoDB') A;
    

    เมื่อใช้ดาต้าเบสไปได้ 1-2 สัปดาห์ ให้ใช้คำสั่งคิวรีนี้เพื่อใช้ตรวจสอบว่าหน่วยความจำ GB จริงที่ถูกใช้โดย InnoDB Data ใน InnoDB Buffer Pool ในขณะนี้ถูกใช้งานไปเท่าไร

    SELECT (PagesData*PageSize)/POWER(1024,3) DataGB FROM
    (SELECT variable_value PagesData
    FROM information_schema.global_status
    WHERE variable_name='Innodb_buffer_pool_pages_data') A,
    (SELECT variable_value PageSize
    FROM information_schema.global_status
    WHERE variable_name='Innodb_page_size') B;
    

    และมีค่าอื่นๆ อีกเช่น

    join_buffer_size = 1M
    read_buffer_size = 1M
    sort_buffer_size = 2M
    read_rnd_buffer_size = 1M
    

    เสร็จแล้วให้บักทึก และ Restart การทำงาน MySql/Mariadb ใหม่อีกครั้ง

    แนะนำบทความเพื่อศึกษาเพิ่มเติม : Tuning MySQL : สำรวจตัวเองและเข้าใจตัวแปร

    อ้างอิง

  • รู้จักเอแจ๊กซ์ (AJAX) และการใช้งาน

    AJAX ย่อมาจากคำว่า Asynchronous JavaScript and XML ซึ่งหมายถึงการพัฒนาเว็บแอพพลิเคชั่นที่ประมวลผลในเบื้องหลังเป็นเทคนิคในการพัฒนาเว็บแอปพลิเคชันเพื่อให้สามารถโต้ตอบกับผู้ใช้ได้ดีขึ้น ทำให้ความรู้สึกการใช้งานโปรแกรมเหมือนกับเดสก์ท็อปแอปพลิเคชัน

    ปกติแล้วในภาษาสคริปต์ที่ใช้งานกับเว็บไซต์จะมีการทำงานประมวลผลแบบเป็นลำดับ (synchronous) โดยที่คำสั่งแรกจะต้องประมวลผลให้เสร็จสิ้นก่อนแล้วถึงจะทำงานในคำสั่งถัดไป แต่กระบวนการทำงานแบบเอแจ๊กซ์เมื่อบราวเซอร์ (Browser) ร้องขอข้อมูลไปยังเซิร์ฟเวอร์ (Server) บราวเซอร์จะไปทำงานคำสั่งถัดไปทันที (asynchronous) โดยที่ไม่ต้องรอการตอบกลับจากเซิร์ฟเวอร์ก่อน

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

    ตัวอย่างโค้คการทำงาน AJAX ของโดยใช้ jQuery

    $.ajax({
        	type: 'GET',
        	url: 'send-ajax-data.php',
        	dataType: "JSON", // data type expected from server
        	success: function (data) {
               	console.log(data);
        	},
        	error: function(error) {
               	console.log('Error: ' + error);
        	}
    });
    

    และปัจจุบันในการเขียน JavaScript เพื่อเรียกใช้งาน AJAX นั้นเราไม่จำเป็นต้องพึ่งพา jQuery อีกต่อไปแล้วซึ่งสามารถเขียนโค้ดการทำงานได้ดังนี้

    วิธีที่ 1  ใช้ XMLHttpRequest [1]

    var request = new XMLHttpRequest();
    request.open('GET','https://tutorialzine.com/misc/files/my_url.html', true);
    
    request.onload = function (e) {
        if (request.readyState === 4) {
    
            // Check if the get was successful
            if (request.status === 200) {
                console.log(request.responseText);
            } else {
                console.error(request.statusText);
            }
        }
    };
    
    // Catch errors:
    request.onerror = function (e) {
        console.error(request.statusText);
    };
    
    request.send(null);
    

    วิธีที่ 2 ใช้ Fetch API [2]

    fetch('./api/some.json')
      .then(
        function(response) {
          if (response.status !== 200) {
            console.log('Looks like there was a problem. Status Code:' +
     response.status);
            return;
          }
    
          // Examine the text in the response
          response.json().then(function(data) {
            console.log(data);
          });
        }
      )
      .catch(function(err) {
        console.log('Fetch Error :-S', err);
      });
    

    อ้างอิง:

    https://tutorialzine.com/2014/06/10-tips-for-writing-javascript-without-jquery [1]

    https://developers.google.com/web/updates/2015/03/introduction-to-fetch [2]

    https://www.javascripttutorial.net/javascript-fetch-api/  

    วิดีโอ: https://www.youtube.com/watch?v=F1TECaRf-uA&feature=youtu.be&t=2375

  • รู้จักการจัดการข้อมูล JSON และการใช้งาน

    รูปแบบข้อมูล JSON เป็นมาตรฐานในการแลกเปลี่ยนข้อมูลระหว่างเซิฟเวอร์และไคลเอนต์ที่ได้รับความนิยมในปัจจุบันซึ่งได้ถูกนำไปใช้งานอย่างแพร่หลายเช่นการเขียนโปรแกรมโดยใช้เทคนิค AJAX, RESTFul, เขียนคอนฟิกไฟล์ หรือการพัฒนา API เป็นต้น

    ด้วยคุณสมบัติของ JSON ที่เป็นไฟล์ประเภทข้อความ (Text based) ขนาดเล็กน้ำหนักเบา เป็นมาตรฐานกลางทุกภาษาสามารถใช้งานได้ง่ายทั้งการอ่านและเขียนที่มนุษย์สามารถอ่านเข้าใจได้ง่าย

    อักขระมาตารฐานของ JSON

    1. เครื่องหมาย “:” ใช้สำหรับแยกค่า name และ value
    2. เครื่องหมาย “,” ใช้สำหรับแยกข้อมุล name-value ในแต่ละคู่
    3. เครื่องหมาย “{” และ “}” ระบุว่าข้อมูลเป็นออบเจ็ค
    4. เครื่องหมาย “[” และ “]” ระบุว่าข้อมูลเป็นอาเรย์
    5. เครื่องหมาย “” (double quotes) ใช้เขียนค่า name-value ใน JSON

    ตัวอย่างการเขียนค่า Json

    – จำนวน 1 คู่

    "name" : "value"

    – หากมีมากกว่า 1 คู่ ให้ใช้เครื่องหมายคอมมา , (comma) ในการแยกเป็นคู่

    "name" : "value", "name" : "value", "name": "value"

    – ต้วอย่าง JSON object

    {
      "name" : "mama papa",
      "email" : "mama@email.com",
    };
    

    ชนิดข้อมูลของ JSON มี 6 ชนิด คือ

    1. strings
    2. numbers
    3. objects
    4. arrays
    5. booleans
    6. null or empty

    – ตัวอย่างการใช้งานชนิดข้อมูล

    {
       "text" : "This is Sting",
       "number" : 210,
       "object" :  {
                        "name" : "abc",
                        "popularity" : "immense"
                    },
       "arary" : ["1","2","3"], 
       "empty" : ,  	
       "booleans" : true
    }
    

    การใช้งาน JSON ร่วมกับภาษา JavaScript

    – ตัวอย่างการแสดงค่า JSON objects

    var user = {
       "name" : "mama papa",
       "email" : "mama@email.com",
    };
    
    console.log("The name is:  " +user.name);
    console.log("email is:  " +user.email);
    
    //output
     The name is: mama papa
     email is: mama@email.com

    – ตัวอย่างการแสดงค่า JSON objects ใน array

    var students = [{
       "name" : "สมชาย",
       "age" :  "29",
       "gender" : "ผู้ชาย"
    },
    {
       "name" : "สมหญิง",
       "age" : "27",
       "gender" : "ผู้หญิง"
    }];
    
    console.log(students[0].age);  //output: 29
    console.log(students[1].name); //output: สมหญิง

    – ตัวอย่างการแสดงค่า JSON objects ใน objects

    var cars = {
      "toyota" : {
         "type" : "vios",
         "year" :  "2018"
      },
      "honda" : {
         "type" : "city",
         "year" : "2015"
      }
    }
    
    console.log(cars.toyota.type); //output: vios
    console.log(cars.honda.year); //output: 2015

    ทริปเล็กๆน้อยๆ

    ในการใช้งาน JSON ในภาษา JavaScript มีฟังก์ชั่นที่เราใช้งานบ่อยๆ อยู่ 2 ฟังก์ชัน คือ

    1. JSON parser สำหรับแปลง JSON object เป็น javascript object ตัวอย่างเช่น
    var myJSObject = JSON.parse(students);

     2. JSON stringify สำหรับแปลง JavaScript object เป็น JSON text

    var jsonText= JSON.stringify(myJSObject);

    (*ข้อควรระวังอย่าสับสนระหว่าง JSON object กับ  javascript object เพราะมันเป็นคนละอย่างกันนะครับ [3])

    ทริปเพิ่มเติมสำหรับการใช้งานร่วมกับภาษา PHP จะมีฟังก์ชั่น json_encode เพื่อส่งข้อมูล json ไปให้ฝั่ง javascript ไปใช้งานต่ออีกที หากเราต้องการที่จะแปลงข้อมูลให้เป็น javascript object เพื่อจะให้เรานำข้อมูล json ไปทำงานต่อไปได้ง่ายขึ้นสามารถทำดังนี้

    var jsonText= JSON.stringify(myJsonFormPHP);
    var myJSObject = JSON.parse(jsonText);

    Reference:

    https://beginnersbook.com/2015/04/json-tutorial/

    https://restfulapi.net/json-data-types/

    Javascript Object VS JSON(JavaScript Object Notation) มันคนละเรื่องกัน ? [3]

  • ไม่มีเวลา, ไม่มีเงิน, ไม่มีปัญหา: ต้นไม้ต้นแรกแห่งความสำเร็จ

    สวัสดีครับวันนี้ผมมีเรื่องราวที่จะมาช่วยสร้างแรงบันดาลใจให้กับทุกคนในช่วงวิกฤตโควิท-19 ให้กลับมาลุกขึ้นมาสู้อีกครั้งและเป็นแรงบันดาลใจให้กับคนที่มีความฝันที่อยากจะสร้างเกม

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

    จุดเริ่มต้นมาจากมีเพื่อนคนนึงได้แนะนำการใช้งานโปรแกรม Unity (โปรแกรมสำหรับสร้างเกม) เมื่อเดวิดเห็นครั้งแรกก็พูดกับตัวเองว่า “ฉันรู้ว่าฉันจะต้องสร้างเกม” จึงเริ่มฝึกฝนการใช้งานโปรแกรมและทำงานอย่างหนักจนกระทั้งได้ปล่อยเกมแรกบน Steam ที่ชื่อว่า Home is Where One Starts… 

    ผลปรากฏว่าได้รับคำวิจารณ์จากเหล่าเกมเมอร์อย่างล้นหลามว่าเป็นเกมที่ “ห่วย” สิ้นดี แต่อย่างน้อยมันก็ทำให้ความฝันของเดวิดกลายเป็นจริงและได้มีอาชีพเป็น Unity technical artist ที่บริษัท The VOID ได้รับหน้าที่ในการสร้างงาน VR ให้กับเกมดังๆ มากมาย อาทิเช่น  Ghostbusters Dimension, Avengers: Damage Control, และ Star Wars: Secrets of the Empire.

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

    เกม The First Tree จึงถือกำเนิดขึ้น เดวิดจึงเริ่มสร้างเกมตามแนวทางของตัวเอง… แต่แน่นอนว่ามันไม่ใช่เรื่องง่ายเลย เพราะเค้าต้องทำงานประจำและต้องเลี้ยงดูลูกคนใหม่ เค้าเริ่มจัดตารางเวลาและทำมันถึงแม้จะไม่ชอบก็ตาม ทุกคืนที่ทำงานเกมของตัวเองก็เกือบจะยอมแพ้หลายครั้ง แต่ติดตรงที่เดวิดต้องการให้ผลงานนี้บอกเล่าเรื่องราวและแบ่งปันบนโลกใบนี้  เค้าจึงทำการตลาดทุกในสัปดาห์ เพราะรู้ตัวว่าถ้าไม่มีทำการเปิดตัวเกมจะทำให้เกมเค้าล้มเหลว 100% จนในที่สุดในเดือนกันยายน ปี 2560 เกม The First Tree ก็ปล่อยบน Steam ได้สำเร็จ

    เดวิดแทบจะไม่อยากจะเชื่อสายตาตัวเองว่าเกมที่เป็นงานอดิเรกชิ้นเล็กๆ ที่ทำหลังเลิกงานจะประสบความสำเร็จได้ขนาดนี้ เกมของเค้าติดอันดับหน้าแรกของ Steam 5 วัน ความสำเร็จครั้งนี้ทำให้ชีวิตของเค้าเปลี่ยนแปลงไปทันที เดวิดลาออกจากงานประจำแล้วมาเริ่มทำเกมอินดี้แบบเต็มเวลา พร้อมเริ่มสร้างเว็บไซต์  Game Dev Unlocked เพื่อถ่ายทอดเทคนิคและความรู้การสร้างเกม การทำการตลาด ให้กับเหล่านักสร้างเกมที่มีความฝันแบบเดียวกัน

    ปิดท้ายด้วยคลิปเรื่องราวชีวิตของเดวิดที่บอกกับเราว่า ไม่มีเวลา, ไม่มีเงิน, ไม่มีปัญหา เพราะถ้าเรามี passion ทำในสิ่งที่เรารักก็จะประสบความสำเร็จอย่างแน่นอนครับ

  • [สภากาแฟ] ว่าด้วยเรื่องสายงานคนไอที 2020

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

    ด้วยความที่เทคโนโลยีมันเปลี่ยนแปลงอย่างรวดเร็วโดยเฉพาะสายโปรแกรมเมอร์ จนเกิดอาการซ๊อคตามไม่ทันไม่รู้จะจับอะไรก่อนดี มันดูสับสนวุ่นวายไปหมด จนกระทั่ง 2-3 ปี มานี้เริ่มจับทางถูกพอทำให้ไม่ตกขบวนบ้าง

    ได้รับอีเมล์จากไมโครซอฟท์ หัวข้อ “Join our Apps & Infrastructure sessions at the Open Source Virtual Summit” ลองเข้าไปอ่านรายเอียดดูว่ามีอะไรน่าสนใจบ้าง

    พบว่าหัวข้อการอบรมแบ่ง 3 track ใหญ่ๆ ได้แก่

    1. Apps & Infrastructure
    2. Developer
    3. Data & AI

    เห็นได้ชัดว่าสายงานคนไอที 2020 ถ้าแบ่งแบบหยาบน่าจะเป็น 3 ลู่วิ่งนี้… ลู่วื่งที่ 1. Apps & Infrastructure เป็นของสาย System Admin หรือ SysAdmin เกี่ยวกับการสร้างโครงสร้างพื้นฐาน ออกแบบ วางระบบ แน่นอนว่าต้องเกี่ยวข้องกับ Cloud ทำยังไงให้มีโครงสร้างระบบพื้นฐานที่ดีสามารถี่รันแอพที่ตอบโจทย์ผู้ใช้งานได้ และต้องมีความรู้เรื่องเทคโนโลยีคอนเทนเนอร์ เช่น Docker Kubernetes ฯลฯ

    …สังเกตว่าสายไอที Network เพียวๆ ที่เป็นฮาร์แวร์จะถูกแยกลู่ออกไปเลย คงเป็นผู้เชี่ยวชาญด้านๆ นั้น ได้แก้ Data Center คอนฟิก Switch ซึ่งไม่มาแตะซอฟแวร์มากนัก  

    ลู่วื่งที่ 2 Developer อันนี้สายโปรแกรมเมอร์ล้วนๆ รักไม่มุ่งแต่มุ่งโฟกัสที่พัฒนาแอพอย่างเดียว โค้ดคือชีวิตอย่าไปให้เค้าแตะเรื่อง Infrastructure มากนัก เทรนก็เลยมาแนว Serverless แบบไม่ต้องห่วงหน้าพะวงหลัง เน้นการพัฒนาแอพให้ดี เรื่องวุ่นวายปล่อยให้ Cloud จัดการให้

    ลู่วิ่งที่ 3 Data & AI ยุดสมัยนี้ของมันต้องมี… แยกมากันชัดๆโฟกัสไปเลยว่าจะเอาดีทางสายนี้ สำหรับผมความคิดเห็นที่จะพูดถึงลู่นี้ไม่มีเพราะไม่รู้ 555 เพราะไม่เคยแตะเลย แต่ใครมาเอาดีสายนี้รับรองว่าอนาคตสดใสแน่นอนครับ

    สุดท้ายฝากลิงค์งานสามารถเข้าคลิกดู agenda ได้ : https://info.microsoft.com/AP-AzureMig-WBNR-FY20-03Mar-18-OpenSourceVirtualSummit-4491_01Registration-ForminBody.html

  • แชร์ประสบการณ์การสอบวิทยานิพนธ์ออนไลน์ผ่านระบบวิดีโอคอลด้วยงบประมาณศูนย์บาท (Zoom)

    สืบเนื่องจากที่ได้ไปอบรมการใช้งานโปรแกรม Zoom ณ ศูนย์คอมพิวเตอร์ ม.อ. ที่ผ่านมาประกอบกับนโยบายของคณะที่ต้องการลดค่าใช้จ่ายในเรื่องค่าเดินทางของผู้ทรงคุณวุฒิ เพื่อมาสอบวิทยานิพนธ์ของนักศึกษาบัณฑิตศึกษา จึงได้ทดลองใช้จัดสอบวิทยานิพนธ์ออนไลน์ผ่านระบบวิดีโอคอลด้วยงบประมาณศูนย์บาทโดยใช้อุปกรณ์เครื่องไม้เครื่องมือที่มีอยู่แล้ว ดังนี้

    เครื่องมือ

    1. เครื่องคอมพิวเตอร์ Lenovo all in one c340 ที่ติดตั้งในห้องเรียนอยู่แล้วกับเครื่องโปรเจกตอร์
    ผลการค้นหารูปภาพสำหรับ lenovo all in one c240
    1. กล้อง WebCam Microsoft LifeCam Studio พร้อมขาตั้งกล้อง
    ผลการค้นหารูปภาพสำหรับ microsoft webcam
    1. ไมโครโฟนไร้สาย Boya BY-WM8 Pro K2
    ผลการค้นหารูปภาพสำหรับ Boya BY-WM8 Pro K2

    ผลการใช้งานระบบ

    • โปรแกรม Zoom สามารถใช้งานได้ดี ระบบมีความเสถียรในเรื่องของสัญญาณภาพและเสียง ให้ความรู้สึกเหมือนพูดคุยโต้ตอบแบบ RealTime ไม่ดีเลย์แม้ใช้งานบนเครือข่าย WIFI 2.4 GHz
    • ภาพและเสียงคมชัดทั้งสองฝ่าย สามารถแชร์ภาพจากหน้าจอได้
    • โปรแกรมใช้งานง่าย โดยที่ผู้ทรงฯ สามารถใช้งานได้เองโดยไม่ต้องมีผู้ช่วย

    ข้อจำกัดและอุปสรรคที่พบ

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

    ภาพบรรยายกาศในวันสอบ…

  • [Share and Tell] การจัดประชุมแบบ E-Meeting ด้วยโปรแกรม Microsoft Teams

    1.ชื่อโครงงาน

    การจัดประชุมแบบ E-Meeting ด้วยโปรแกรม Microsoft Teams

    2. เป้าหมาย

    • เพื่อประยุกต์การใช้งานโปรแกรม Microsoft Teams มาช่วยบริหารจัดการประชุมแบบ E-Meeting เพื่อลดและทดแทนการใช้กระดาษ ทำให้องค์กรประหยัดค่าใช้จ่ายในการทำสำเนาเอกสารประกอบประชุม
    • เพื่อผลักดันและส่งเสริมการใช้งานโปรแกรม Microsoft Teams ในองค์กร ความตั้งใจสูงสุดคือเป็นองค์กรต้นแบบในการใช้งานโปรแกรม Microsoft Teams ในการติดต่อสื่อสารและการทำงานร่วมกันเป็นทีม

    3. เครื่องมือ

    • เครื่องคอมพิวเตอร์ (PC/Laptop) สำหรับงานเลขานุการ
    • สมาร์ทโฟนหรือแท็บเล็ตพร้อมติดตั้งแอป Microsoft Teams สำหรับผู้เข้าร่วมประชุม (*เพื่อความเหมาะสมในการจัดประชุม ผู้เข้าร่วมประชุมควรใช้โน๊ตบุ๊ค)

    4.การดำเนินการ

    • สืบเนื่องจากเป็นนโยบายจากฝ่ายบริหารมอบหมายให้งานเทคโนโลยีสารเทศจัดหาระบบ E-Meeting มาใช้ในการจัดประชุมต่างๆ ภายในคณะ
    • ทางเลือก 1.พัฒนาเอง หรือ 2.แบบสำเร็จรูป เลือกข้อ 2. เหตุผลเนื่องจากผู้ใช้อยากได้ระบบใช้งานเร็วๆ และคณะไม่กำลังคนพัฒนา
    • สำรวจเครื่องมือที่เหมาะสมเริ่มส่องดูว่าคณะอื่นๆ ใช้โปรแกรมอะไรกันบ้าง ส่วนใหญ่ใช้ Sci E-meeting
    • มาจบลงที่โปรแกรม Microsoft Teams ทดลองมาดัดแปลงและประยุกต์การใช้งานพบว่าสามารถใช้งานได้ดี เหตุผลคือไม่ต้องลงทุนด้านอินฟาฯและติดตั้งระบบเอง มีความปลอดภัย รองรับการใช้งานสมาร์ทโฟนหรือแท็บเล็ต สามารถใช้งานด้วยบัญชี Office 365 ของมหาวิทยาลัยได้ฟรี
    • วางแผนการถ่ายทอด การจัดทำคู่มือและวิดีโอสอนการใช้งาน
    • สอน workshop ให้งานเลขานุการก่อน เมื่อใช้งานคล่องแล้วโปรโมตการใช้งานให้บุคลากรทุกคน
    • ค่อยๆ ปรับพฤติกรรมผู้เข้าร่วมประชุม ทดลองการประชุมโดยเปิดเอกสารจากแอป Microsoft Teams ผ่านสมาร์ทโฟนหรือแท็บเล็ต และแบบกระดาษ (ผู้เข้าร่วมประชุมต้อง print มาเอง)
    • ประเมินผลเพื่อปรับปรุงและแก้ไขต่อไป

    5.เพิ่มเติม

    ต่อยอดการใช้งานฟีเจอร์และฟังก์ชั่นการทำงานอื่นๆ ในโปรแกรม Microsoft Teams เช่น การแจ้งเตือนการประชุมทางอีเมล์ด้วยปฎิิทิน การแชต การโทร และวิดีโอคอลทดแทนการใช้โทรศัทพ์แบบตั้งโต๊ะในอนาคต

    สไลด์แนะนำการใช้งาน : https://drive.google.com/file/d/1YDC1VaPlIMV0WAD1xYMhCrT19VmklyF4/view?usp=sharing

    สำหรับเว็บไซต์คู่มือการใช้งาน http://www.ttmed.psu.ac.th/meeting และขอขอบคุณข้อมูลการใช้งานจากพี่วิบูลย์ที่ได้จัดทำเว็บ Microsoft Teams https://teams.in.psu.ac.th/ มา ณ ที่นี้ด้วยครับ