Month: March 2019

  • DevOps Meeting #1

    รวม Link ที่ใช้งานแลกเปลี่ยนเรียนรู้ DevOps Meeting #1

  • แนะนำการใช้เครื่องมือ Quick Analysis ใน Excel 2016 : ชุดคำสั่ง “Text”

    สำหรับ Excel 2016 ที่เราใช้งานอยู่เป็นประจำในชีวิตประจำวันนั้น มีเครื่องมือที่ช่วยอำนวยความสะดวกมากมาย จนบางครั้งเราจะลืมไปว่า มันสามารถช่วยอำนวยความสะดวกอะไรได้บ้าง สำหรับบทความนี้ จะกล่าวถึงคำสั่ง “Quick Analysis” ซึ่งอาจจะไม่ได้เป็นความรู้ใหม่สำหรับผู้ที่ได้ใช้อยู่เป็นประจำ หรือใช้อยู่แล้ว แต่ก็เพื่อเป็นความรู้ เป็นข้อมูลให้กับสำหรับคนที่ยังไม่เคยใช้แล้วกันนะค่ะ

    ก่อนอื่นเรามาสร้างข้อมูลสมมุติใน Excel ก่อนนะค่ะ ในที่นี้ทำการสร้างข้อมูลตารางการออกกำลังกาย และการพักผ่อน ในเดือนมีนาคมกันค่ะ ตามข้อมูลในรูปนะค่ะ

    การใช้ Quick Analysis ในชุดคำสั่ง “Text”
    ตั้งโจทน์กันก่อน เราจะมาหา Record ที่มีคำที่สนใจกันนะค่ะ
    สามารถทำได้โดย เลือกช่วงของข้อมูลที่ต้องการright click >> ทำการ right click >> เลือก Quick Analysis


    เลือก Formatting >> เลือก Text

    จะปรากฎหน้าจอ เพื่อให้กำหนดเงื่อนไข
    Format cell that contain the text : ให้ระบุคำที่ต้องการหา ในที่นี้ระบุ “Run”
    with : เป็นการดำเนินการ กรณีที่พบข้อมูลตามที่ต้องการ ในที่นี้จะเลือก “Yellow Fill with Dark Yellow Text”
    จากนั้นกดปุ่ม “OK” เพื่อยืนยันเงื่อนไขที่ระบุ

    ผลลัพธ์ที่ได้จะเป็นดังนี้

    ข้อมูลที่มีคำว่า “Run” อยู่ก็จะมีพื้นเป็นสีเหลือง ง่าย ๆ ใช่ไม๊ค่ะ

    สำหรับในชุดคำสั่ง “Formatting” ก็ยังมีคำสั่งอีกนะค่ะ ได้แก่
    Duplicate : หา Record ที่มีข้อความซ้ำกับกัน
    Unique : หา Recored ที่มีข้อความไม่ซ้ำกับ Record อื่น
    Equal To : หา Record ที่มีข้อความเหมือนกับคำที่ต้องการค้นหา ซึ่งจะคล้ายกับคำสั่ง “Text” ต่างกันที่ คำสั่ง “Equal To” จะต้องเหมือนเท่านั้น แต่ “Text” คือมีคำที่ต้องการอยู่ในข้อความ

    เอาแบบเริ่มต้นกันแค่นี้ก่อนนะค่ะ วันหลังจะมาบรรยายในชุดคำสั่งต่อไปให้ดูกันอีกนะค่ะ….ติดตามชมกันนะค่ะ

  • Toad : หากันจนเจอ (pass ที่เคย save ไว้)

    เคยไหม ที่คุณลืม password ที่คุณเคยเซฟไว้ใน Toad

    เคยไหม ที่วันนึงคุณต้องการใช้ password เหล่านั้นแต่คุณจำไม่ได้ ดูก็ไม่ได้ เพื่อนก็จำไม่ได้!!!

    วันนี้เรามีทริกที่จะสามารถดู password ที่เราเคย save ไว้ใน toad ได้ มาดูกันเล้ยยย!!!

    • ขั้นตอน 1 เลือก Schema ใดก็ได้ที่เรา login ได้ มาสักอัน
    • ขั้นตอน 2 เลือกเมนู DB Links และกดปุ่ม สร้าง
    • ขั้นตอน 3 ตั้งชื่อ DB Link (ตั้งอะไรก็ได้เพราะไม่ได้เอาไปใช้จริง) จากนั้นเลือก Database ที่ต้องการทราบ Password สุดท้ายกดปุ่ม “Show SQL”
    • ขั้นตอนสุดท้าย ดูที่บรรทัด identified by “xxx” โดย xxx คือ Password ที่เราต้องการ

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

    ออ…Version Toad ที่ใช้คือ 9.6.0.27 นะคะ
    ไม่แน่ใจว่า Version ที่สูงกว่านี้ยังใช้วิธีนี้ได้อีกรึเปล่า ><

    แล้วพบกันใหม่ Blog หน้านะคะ ^.^

  • CrystalReport : จัดการกราฟซ่อนแอบ

    จากที่ผู้เขียนช่วงนี้ได้มีการทำกราฟใน Crystal Report ทำไปทำมาผลปรากฎว่า
    กราฟไม่แสดงรูปซะงั้น (ไหงเป็นแบบนี้ได้หว่าาาาาา T T)

    จึงได้ลองค้นหาข้อมูลและพบว่า ต้องเพิ่ม Config เพิ่มเติมเข้าไปใน
    ” Web.config “
    ตาม Code ด้านล่างเลยจ้าาาา

    ส่วนแรก

    “System.web” ส่วน “httpHandlers”
    โดย Version จะต้องเป็น Version Crystal Report ที่เราใช้งานอยู่ อย่าลืมตรวจสอบให้ตรงกันด้วยนะ

    <configuration>
     <system.web> 
       <httpHandlers>       
          <add verb="GET" path="CrystalImageHandler*"/type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>     
       </httpHandlers>   
     </system.web>
    </configuration>

    ส่วนที่สอง

    “System.webServer” ส่วน “handlers”
    โดย Version จะต้องเป็น Version Crystal Report ที่เราใช้งานอยู่ อย่าลืมตรวจสอบให้ตรงกันด้วยนะ

    <configuration>
     <system.webServer>
       <validation validateIntegratedModeConfiguration="false"/>
         <handlers>
           <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler*" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/>
         </handlers>
     </system.webServer>
    </configuration>

    หวังว่า Blog นี้จะช่วยเหลือท่านที่ประสบปัญหาเดียวกันอยู่นี้ไม่มากก็น้อยนะคะ

    แล้วพบกันใหม่ Blog หน้าค่าาาาาา 🙂

  • Setup และ Teardown (Robot Freamwork)

    หลังจากที่เราเริ่มเขียน Test Script ไปสักพัก ก็จะเริ่มมี Test Step ที่เรามักต้องทำซ้ำ ๆ กัน เช่นเวลาเริ่มต้นและส่วนท้ายของ Test Script ทำให้ Test Script ของเราดูรก อ่านยาก มี Code ซ้ำ ๆ กันเต็มไปหมด และ Test Script เองก็มี Step ที่ไม่เกี่ยวกับการ Test ปนมาเพียบเลย

    วันนี้เลยขอเสนอให้ลองใช้ Setup และ Tear Down เพื่อช่วยลด Step เหล่านี้จาก Test Script ของเราดู โดย Setup และ Tear Down คืออะไรมารู้จักกัน

    Suite Setup = ก่อนที่จะเริ่ม Run Test ทั้งหมด จะต้องเริ่มการทำงานตัวนี้ก่อน

    Suite Teardown = หลังจาก Run Test เสร็จทั้งหมดแล้วจะสั่งให้ทำอะไรตอนสุดท้าย

    Test Setup = ก่อนที่จะเริ่มเข้า Test Case ให้เริ่มการกระทำนี้ก่อน

    Test Teardown = หลังจากจบ Test Case แต่ละ Case ให้ทำการกระทำนี้

    ตัวอย่าง

    จากรูปด้านบน ก่อนที่จะเริ่ม Run Test ทั้งหมด ให้เริ่มทำการเปิด Browser ก่อน เมื่อเริ่ม Test Case ให้แสดงคำว่า Start!!! และเมื่อจบ Test Case ให้แสดงคำว่า “Finish!!!” แล้วพอจบ Test ให้ทำการ ปิด Browser นี้

    ดังนั้น กรณีหากเรามี Case แค่ Case เดียวอาจจะไม่จำเป็นที่จะต้องใช้ Test Setup กับ Test Teardown ก็ได้ เพราะว่าเราสามารถใช้ Suite Setup ในการเริ่มต้น และ Suite Teardown ในการจบการกระทำเลยก็ได้

    ***สมมติว่า Test Case เรามี Pre-Condition ที่มี Step เหมือนกันทุก Test Case ก็ควรเอา Step นี้อยู่ใน Test Setup

    ข้อดีของ Setup และ Teardown

    • ลดความซ้ำซ้อนของแต่ละ Test Script ลง ช่วยให้ดูง่ายขึ้น
    • ช่วยทำให้เราโฟกัส กับสิ่งที่เราต้องการจะ Test ในแต่ละ Test Case ได้จริงๆ โดยไม่มี Setup Step และ Teardown Step มาทำให้ดูวุ่นวาย เกินความจำเป็น
    • ช่วยเครียร์ Test Environment เสมอก่อนจากรัน Test และหลังจากรัน Test เสร็จ
    • ถึง Test จะ Failed  แต่ Teardown ก็ยังทำงานต่อ จึงมั่นใจได้ว่า Test Environment ของเราสะอาดเสมอก่อนจะรัน Test ข้อต่อไป ^_^
  • แปลงรูปภาพ ให้เป็นตัวอักษร

    สำหรับ Blog ที่ 3 ในปีงบประมาณนี้ จะขอว่าด้วยเรื่องง่ายๆ ที่หลายๆ คนอาจไม่เคยรู้กันมาก่อน (มันง่ายจริงๆนะ ไม่ได้โม้ ) นั่นก็คือวิธีการแปลงรูปภาพ ให้กลายมาเป็นตัวอักษร หรือข้อความ

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

    อ๊าาาา … พอพูดมาจนถึงตอนนี้ หลายๆคนก็อาจจะคิดว่าก็มีตั้งหลายวิธีที่จะแปลงไฟล์รูปภาพให้ไปเป็นข้อความไง ทำไมไม่ใช้ละ ใช่!! มันก็มีหลายๆ โปรแกรมจริงนั่นแหละที่จะสามารถ convert รูปภาพให้เป็นตัวอักษรได้ แต่ไม่อยากลงโปรแกรมให้ยุ่งยากไง ก็อยากแค่คลิกขวาแล้วแปลงได้เลยง่ะ มันจะมีมั้ย ?? ตอบเลยว่า *** มี *** นั่นก็คือการแปลงรูปภาพ ให้กลายเป็นตัวอักษร ผ่านทาง Google Docs บน Google Drive นั่นเอง และไม่ใช่แค่รองรับการแปลงเป็นตัวอักษรภาษาอังกฤษเท่านั้นนะ แต่ยังรองรับการแปลงเป็นภาษาไทยได้ด้วย และไม่ใช่ได้ธรรมดานะ ยังถูกต้อง 100% ไปอี๊กกกก โอย!! เยี่ยมจริงๆ เยี่ยมจริงๆ ไม่บ่นมากละไปดูวิธีกันเลย let’s โกวววว

    Step 1. แนะนำให้เตรียมสแกนหรือถ่ายภาพข้อความที่ต้องการให้ชัด และ save เป็น .jpg หรือ .png ก็แล้วแต่ จากนั้นอัพโหลดขึ้น Google Drive ของเรา

    Step 2. เมื่ออัพโหลดเรียบร้อยแล้ว ให้ทำการ คลิกขวาที่รูป —> เลือกเปิดด้วย —> เลือก Google เอกสาร ดังรูป

    Step 3. รอแป๊บนึง Google Docs ก็จะเปิดขึ้นมา โดยด้านบนสุดจะเป็นภาพปกติต้นแบบของเรา ส่วนด้านล่างของหน้าเอกสารก็จะเป็นตัวอักษรที่แปลงมาจากรูปภาพให้เราโดยอัตโนมัติ ซึ่งเราก็จะสามารถ copy หรือนำข้อความที่แปลงมาได้นั้นไปใช้งานต่อได้เลย

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

    ขอขอบคุณข้อมูลข่าวสารดีดี
    – https://www.it24hrs.com

  • การเชื่อมต่อ OAuth2 ด้วย WordPress

    อยาก  Login ด้วย OAuth2 กับ WordPress ต้องทำอย่างไร

    สำหรับตัวอย่างนี้จะทำการติดตั้งบน WordPress 5.1 ผ่าน Plugin Simple Single Sign On

    • หลังจากติดตั้ง WordPress เสร็จ เข้าหน้า Administrator แล้วทำการกด Install เพื่อเข้าไปยังหน้าติดตั้ง Extension เพิ่มเติม ทำการเพิ่มปลั๊กอินใหม่ดังรูป

    • ทำการค้นหา single sign on และทำการ Install Now

    • จากนั้นทำการกด Activate

    • จากนั้นทำการตั้งค่าโดยข้าม Step 1 ไปตั้งค่า Step 2 เนื่องจากได้มีการตั้งค่า WP OAuth Server ให้รองรับไว้อยู่แล้ว

    • หลังจากนั้นทำการทดสอบ Login โดยกดปุ่ม Single Sign On

    เพิ่งเท่านี้ก็จะสามารถใช้งานได้ แต่ยังเป็นแบบเลือกได้ว่าจะ Login แบบ Local หรือผ่าน OAuth โดยอาจจะทำเป็นปุ่มในหน้าแรกเพื่อให้กด Login ก็ได้เช่นกัน

  • การเชื่อมต่อ OAuth2 ด้วย Joomla

    อยาก  Login ด้วย OAuth2 กับ Joomla ต้องทำอย่างไร

                 สำหรับตัวอย่างนี้จะทำการติดตั้งบน Joomla 3.9.3 ผ่าน Plugin MiniOrange OAuth Client

    • หลังจากติดตั้ง Joomla เสร็จ เข้าหน้า Administrator แล้วทำการกด Install เพื่อเข้าไปยังหน้าติดตั้ง Extension เพิ่มเติม

    • หลังจากนั้นกด Add Install from Web

    • ค้นหาชื่อ oauth

    • ติดตั้ง miniOrange OAuth Client 

    • หลังจากติดตั้งเสร็จให้ทำการเปิด Plugins เพิ่มเติมดังรูป

    • จากนั้นทำการตั้งค่าโดยสำหรับ miniOrange ต้องสมัครใช้งานก่อน เพราะมีทั้งแบบฟรีและไม่ฟรี แต่เราจะใช้เฉพาะในส่วนของฟรี

    • ในการสมัครต้องใส่ email และตั้งรหัสผ่าน

    • หลังจากติดตั้ง Joomla เสร็จให้ทำการกด Install เพื่อเข้าไปยังหน้าติดตั้ง Extension เพิ่มเติม

    • จากนั้นทำการตั้งค่าเกี่ยวกับ OAuth

    • สามารถกดทดสอบการ Authen ได้ที่ปุ่ม Test Configuration

    • จะปรากฎหน้า Login เพื่อเข้าสู่ระบบ

     

    •  

    • หลังจาก Login เสร็จจะคืนค่า User Profile ดังรูป

              ในการเอาไปใช้งานต่อให้ทำการสร้างปุ่ม ชี้ไปยัง http://localhost/joomla/?morequest=oauthredirect&app_name=other เพื่อเข้าใช้งาน OAuth ลองไปทำต่อดูครับ

  • ทดสอบเชื่อมต่อ OAuth2 ด้วย Postman

    ต้องการทดสอบใช้งาน OAuth2 แต่ยังไม่รู้เลยว่าต้องทำยังไง

                 ถ้าต้องการทดสอบเบื้องต้นว่า OAuth2 ใช้งานอย่างไร หรือต้องการทดสอบอะไรบางอย่างก็สามารถใช้  Postman ทดสอบได้เลยครับ โดยไม่ต้องเขียนโปรแกรม ซึ่งก่อนอื่นต้องทำการติดตั้งโปรแกรมให้เรียบร้อยก่อนจาก Link : https://sysadmin.psu.ac.th/2017/04/23/postman

    •  ตัวอย่างการเชื่อมต่อแบบ Authorization Code

    • จากนั้นทำการกรอกรายละเอียด ซึ่งรายละเอียดทางผู้ดูแลจะแจ้งให้ทราบเมื่อขอเปิดใช้บริการ

    • จากนั้นจะปรากฎหน้าให้ Login เข้าสู่ระบบ
    • หลังจาก Login ก็จะปรากฎหน้า Token นำไปใช้ขอบริการข้อมูล
    • จะได้ access_token ไปใช้งาน โดยจากตัวอย่างจะเห็นว่ามีระยะเวลาหมดอายุ 3600 วินาที หรือ 1 ชม.นั่นเอง ส่วนคำว่า bearer เป็นชนิดของ Token ซึ่งชนิดมีผลต่อรูปแบบความปลอดภัยที่แตกต่างกัน ซึ่งจะไม่ได้กล่าวถึงรายละเอียด ลองไปศึกษาดูครับ


    ในส่วนของ OAuth2 แบบอื่น ๆ ศึกษาเพิ่มเติมได้จาก https://sysadmin.psu.ac.th/2017/04/23/what-is-oauth2/ รวมถึงตัวอย่างการเชื่อมต่อ OAuth2 กับ UserGrid ได้ที่ https://sysadmin.psu.ac.th/2017/04/19/auth-role-usergrid/

    ======================

    References :

    [1] https://sysadmin.psu.ac.th/2017/04/23/postman

    [2] https://sysadmin.psu.ac.th/2017/04/23/what-is-oauth2/

    [3] https://sysadmin.psu.ac.th/2017/04/19/auth-role-usergrid/