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


    จากที่ผู้เขียนช่วงนี้ได้มีการทำกราฟใน Crystal Report ทำไปทำมาผลปรากฎว่า กราฟไม่แสดงรูปซะงั้น (ไหงเป็นแบบนี้ได้หว่าาาาาา T T) จึงได้ลองค้นหาข้อมูลและพบว่า ต้องเพิ่ม Config เพิ่มเติมเข้าไปใน ” Web.config “ตาม Code ด้านล่างเลยจ้าาาา ส่วนแรก “System.web” ส่วน “httpHandlers”โดย Version จะต้องเป็น Version Crystal Report ที่เราใช้งานอยู่ อย่าลืมตรวจสอบให้ตรงกันด้วยนะ ส่วนที่สอง “System.webServer” ส่วน “handlers”โดย Version จะต้องเป็น Version Crystal Report ที่เราใช้งานอยู่ อย่าลืมตรวจสอบให้ตรงกันด้วยนะ หวังว่า Blog นี้จะช่วยเหลือท่านที่ประสบปัญหาเดียวกันอยู่นี้ไม่มากก็น้อยนะคะ แล้วพบกันใหม่ Blog หน้าค่าาาาาา 🙂

    >> Read More <<

  • 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 ทั้งหมด…

    >> Read More <<

  • แปลงรูปภาพ ให้เป็นตัวอักษร


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

    >> Read More <<

  • การเชื่อมต่อ 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 เพิ่งเท่านี้ก็จะสามารถใช้งานได้ แต่ยังเป็นแบบเลือกได้ว่าจะ…

    >> Read More <<

  • การเชื่อมต่อ 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 เสร็จให้ทำการกด…

    >> Read More <<

  • ทดสอบเชื่อมต่อ 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/…

    >> Read More <<

  • การติดตั้ง Postman


    โปรแกรม Postman เป็นโปรแกรมสำหรับทดสอบเรียกใช้ Rest Web Service และทดสอบ OAuth              โปรแกรมที่ได้รับความนิยมเป็นอย่างสูงในการทดสอบใช้งาน Rest และ OAuth  ตัวหนึ่งมีชื่อว่า Postman ซึ่งสามารถเรียกใช้ได้ทั้ง Windows, Linux และ Mac ซึ่งเมื่อก่อนจะเป็น Extension ของ Google Chrome แต่หลังจาก Chrome Update ครั้งใหญ่ได้มีเปลี่ยนเป็นโปรแกรมติดตั้งแยกเฉพาะ โดยมีวิธีติดตั้งดังนี้ 1) ทำการ Download โปรแกรม ที่นี่ https://www.getpostman.com/downloads/ 2) ทำการติดตั้ง Postman 3) จากนั้นจะปรากฏหน้า Login ถ้า Login ก็จะมีระบบช่วยจำค่าต่าง ๆ ที่เคยตั้งไว้ แต่ถ้าไม่ต้องการ Login ก็กดตามรูปเลยครับ…

    >> Read More <<

  • เรียนรู้เทคโนโลยี OAuth2


    OAuth2 คืออะไร ทำไมต้องใช้              OAuth2 คือมาตรฐานหนึ่งของระบบยืนยันตัวตน และจัดการสิทธิ์การเข้าใช้งานระบบต่าง ๆ เป็นมาตรฐาน rfc6747[1] ที่ใช้สำหรับ Client เชื่อมต่อกับ Server ที่ใช้ในการ Authen & Authorize เพื่อให้ได้รับสิ่งที่เรียกว่า Access Token เพื่อใช้แทน Username และ Password (สามารถใช้อย่างอื่นเพื่อขอ Token ก็ได้) เพื่อนำไปใช้กับบริการอื่น ๆ ทำให้มีความปลอดภัยมากขึ้น รวมถึงบอกว่าทำมีสิทธิ์ทำอะไรได้บ้างกับบริการนั้น ๆ (จริง ๆ แล้วถ้า Access Token หลุดก็เอาไปเข้าระบบอื่น ๆ ได้ อาจจะต่างตรงแค่ไม่เห็น Password) โดยแนะนำต้องใช้คู่กับ https อีกชั้นเพื่อความปลอดภัยสูงสุด โดยแสดงภาพคร่าว ๆ เป็น Protocol…

    >> Read More <<

  • Refresh ข้อมูลในกรณีที่ฐานข้อมูลมีการอัพเดทใน LINQ และ Entity Framework (Refresh Query in LINQ)


    จากปัญหาที่เคยเจอในกรณีที่ฐานข้อมูลมีการอัพเดทไปแล้ว พอ Select ข้อมูลออกมาข้อมูลไม่ refresh ในกรณีนี้จะยกตัวอย่างการใช้งานฟังก์ชัน reload ของ System.Data.Entity.Infrastructure public class DbEntityEntry where TEntity : class // Summary:// Reloads the entity from the database overwriting any property values with values // from the database. The entity will be in the Unchanged state after calling this// method.public void Reload(); โดยการใช้งานนั้นจะยกตัวอย่างตามโค้ดด้านล่าง ProjectEntities pe = new ProjectEntities(); var…

    >> Read More <<