• มารู้จัก Web Element Locator กัน


    ทำไม Tester ต้องรู้จัก Web Element Locator ก็เพราะว่าทุกสิ่งทุกอย่างที่ทุกคนเห็นบนหน้าเว็บ มันคือ Web Element และ Robot Framework ก็รู้จัก หน้าเว็บจาก  Element Locator ที่เหล่า Tester กำหนดให้ในแต่ละ Test script นั่นเองค่ะ ดังนั้น Tester ควรจะต้องรู้จัก Element Locator และวิธีการใช้งานค่ะ ตัวอย่าง Locator ของ Selenium library ดังรูป Element Locator มีหลายประเภท ดังนี้ 1. Id Element ที่มีการกำหนด id ไว้ ซึ่งเราควรจะเลือกใช้ locator นี้ค่ะ มีความเสถียรมากสุด เพราะถึงแม้ว่าจะมีการเปลี่ยนย้ายตำแหน่งของ Element นี้ จะไม่กระทบ Test script…

    >> Read More <<

  • Run automated test ด้วย Chrome แบบที่ไม่มี web browser แสดงขึ้นมา (Headless Mode)


    สืบเนื่องจากการทำ Automated test แล้วรำคาญการเปิดหน้าต่างการทำงานขึ้นมา เพราะอยากจะรู้แค่ผลลัพธ์ก็เท่านั้น วันนี้เลยมาเสนอ Headless Mode feature เป็นของ Chrome สามารถ run automated test ด้วย Chrome แบบที่ไม่มี web browser แสดงขึ้นมา หรือที่เรียกกันว่า Headless Mode นั่นเองค่ะ ไม่ต้องDownload อะไรใด ๆ เลย เพียงแค่เราติดตั้ง Chrome เท่านั้นก็สามารถใช้งาน feature นี้ได้แร่ะ (Version 60 ขึ้นไป) ขั้นตอนมาดูกันเลย ในตัวอย่างนี้จะเป็นการเขียน Code ทดสอบด้วย Selenium Library จ้า การตั้งค่า Headless Mode คำสั่งดังนี้ ตัวอย่าง Test script สำหรับรันเทส web แบบ Headless mode…

    >> Read More <<

  • วิธีเชื่อมต่อ PostgreSQL จาก python


    ในการเชื่อมต่อกับ PostgreSQL จาก Python นั้น จะต้องใช้ Package ‘psycopg2’ คำสั่งในการติดตั้งคือ วิธีการเรียกใช้จาก python import numpy as np import pandas as pd import matplotlib.pyplot as plt import psycopg2 from IPython.display import display, HTML # used to print out pretty pandas dataframes import matplotlib.dates as dates import matplotlib.lines as mlines %matplotlib inline plt.style.use(‘ggplot’) # specify user/password/where the database is…

    >> Read More <<

  • วิธีสร้าง User บน PostgreSQL ให้สามารถเข้าถึงฐานข้อมูลได้แบบ Read-Only


    บันทึกเอาไว้สั้น ๆ ในที่นี้ ต้องการสร้างผู้ใช้ ‘username’ ให้มีรหัสผ่านเป็น ‘userpasswordgohere’ ให้สามารถใช้งาน ‘someschema’ โดยให้ใช้เฉพาะ ‘SELECT’ ได้กับทุก Tables ใน someschema บน PostgreSQL ใช้คำสั่งนี้ ในการสร้างและ Grant สิทธิ์ จบ

    >> Read More <<

  • python #07 Sentiment Analysis – IMDB


    ต่อจาก python #06 – Sentiment Analysis ด้วย Keras + Tensorflow เนื่องจากเรา Train โมเดล ด้วย ประโยคเพียง 9 ประโยค ซึ่งประกอบด้วยคำ 19 คำ เมื่อถูกทดสอบด้วยคำที่ “ไม่เคยเจอมาก่อน” ก็จะไม่สามารถวิเคราะห์ได้ถูกต้องนัก ยิ่ง ถ้าเจอกับประโยคที่ ไม่มีคำที่เคยเจออยู่เลย ก็จะได้ Zero Vector ไปเลย (ในทางเทคนิค สามารถตั้งค่าห้ Unknown Word มี Index = 1 ได้) แก้ไขอย่างไร ? ตอนนี้ เปรียบเหมือนโมเดลเป็นเด็กเล็ก รู้จักคำแค่ 19 คำ พอมีคำใหม่ ๆ มาก็จะไม่เข้าใจ วิธีการคือ ต้องสอนคำใหม่ ๆ และรูปแบบประโยคใหม่ ๆ ให้เค้า…

    >> Read More <<

  • StayFocusd ~ Extension


    สำหรับ Blog ที่2 ในรอบปีงบนี้ จะขอว่าด้วยเรื่อง Extension บน Chrome ที่เรียกว่า StayFocusd !! StayFocusd คืออะไร แล้วเจ้าตัวนี้เนี่ยมันทำอะไรได้บ้าง ? มา ไม่ต้องเกริ่นไปเกริ่นมามากมาย เรามาเริ่มทำความรู้จักกันเลยดีกว่า StayFocusd เป็น Extension อีกตัวนึงที่ช่วยเพิ่มประสิทธิภาพในการทำงานของเราด้วยการ “บังคับ” และ “จำกัด” เวลาที่ตัวเราเองใช้ไปกับเว็บไซต์ต่างๆ ที่ทำให้เราเสียเวลา เว็บที่หัวหน้าเรามองว่าไม่มีประโยชน์ (แต่มันมีประโยชน์ทางจิตใจกับเราไง หัวหน้าไม่เข้าใจหนูหรอกกกกกก T T) extension อันนี้เหมาะมาก สำหรับใครที่ติด Social Network เปิด youtube อัพเดทสถานะบน facebook ดูซีรีย์เกาหลีออนไลน์ ดูละครย้อนหลังผ่าน line tv เข้า shopee lazada บลาๆ จนถึงระดับที่ทำให้เสียการเสียงาน ลองมาใช้ StayFocusd กันดูเถอะ เบื้องต้นมันจะให้เรานำเว็บไซต์ที่เรามองละ ว่ามีแนวโน้มที่จะสูบเวลาของเราไปโดยเปล่าประโยชน์…

    >> Read More <<

  • python #06 – Sentiment Analysis ด้วย Keras + Tensorflow


    บทความนี้กล่าวแบบทางเทคนิค ไม่เน้นวิชาการ ทฤษฏีมากนัก Sentiment Analysis เป็นตัวอย่างที่ดีของการเริ่มต้นทำงานด้าน NLP (Natural Language Processing) เริ่มจากหาตัวอย่างประโยค (Inputs) และเป้าหมาย (Labels) แยกคำจากประโยค (Tokenization) แปลงให้เป็นตัวเลข (Word Representation) แล้วสอน NN (Train) วัดผล (Test/Evaluate) แล้วนำไปใช้ โดยป้อนประโยคเข้าไป แล้วดูว่า โมเดลของเราจะจัดให้เป็น Labels ใด (ในตัวอย่างนี้จะเป็น Multiclass (Multinomial) Classification) ดู Jupyter Notebook Input สมมุติเรามีตัวอย่างประโยคประมาณนี้แบ่งเป็น Positive, Neutral, Negative เพื่อไว้ใส่เพิ่มเติมได้ แล้วเอามารวมกันเป็น data โดยแปลงเป็น Numpy Array เพื่อสะดวกในการ Tokenization ต่อไป Tokenization ใน Keras มีเครื่องมือให้แล้ว…

    >> Read More <<

  • ติดตั้ง Let’s Encrypt Certificate สำหรับ SSL Sites บน IIS


    หลังจากที่พี่หนุ่ม คณกรณ์ หอศิริธรรม  ได้เขียนเรื่อง วิธีติดตั้ง HTTPS ด้วย Certificate ของ Let’s Encrypt ไปแล้วนั้น ก็จะมาถึงทางฝั่ง Windows กันบ้าง ซึ่งจะติดตั้งผ่านเครื่องมือ บน Command Line ครับ ตัวอย่างนี้จะเป็นวิธีการติดตั้งโดยใช้เครื่องมือที่ชื่อว่า WinACME ซึ่ง ดาวน์โหลดได้ที่นี่ (จริงๆ มีหลายตัวให้เลือกใช้ครับ ซึ่งส่วนใหญ่จะเป็นการพัฒนาผ่าน ACME API มีทั้งแบบเป็น Command Line, Power shell และเป็น GUI ครับ) หลังจากดาวน์โหลดไฟล์มาแล้ว ผม Extract ไปไว้ที่ C:\LetsEncryptSSL จากนั้นก็เปิด Command Prompt ด้วยสิทธิ Administrator(เปิดด้วยสิทธิ Administrator เพื่อให้มีการสร้าง Schedule Task ในการ Renew Cert. โดยอัตโนมัติครับ) จากนั้นทำการเรียกด้วยคำสั่ง letsencrypt…

    >> Read More <<

  • python #05 – การ Save/Load ตัวโมเดลจาก Keras แล้วนำไปใช้ใน Production Server


    ต่อจาก python #03 – Train/Validation/Test and Accuracy Assessment with Confusion Matrix เมื่อสร้าง Neural Network Model แล้วทำการ Train/Test ปรับค่า Hyper parameters จนได้ผลเป็นที่พอใจแล้ว (Accuracy และ Confusion Matrix ให้ค่าที่รับได้) ก็สามารถเก็บ Model นี้เอาไว้ใช้งานภายหลัง ไม่ต้องเริ่มต้น Train ใหม่ โดยใช้คำสั่ง ก็จะได้ไฟล์ (ตามตัวอย่างนี้) ชื่อ example_model.h5 สามารถนำไปใช้บนเครื่อง Production ได้ โดยเรียกใช้งานด้วยคำสั่ง จากนั้น ก็จะสามารถใช้ mode.predict() เพื่อใช้งานได้ตามต้องการ ต่อ การสร้าง RESTful API สำหรับใช้งานจริง ง่าย ๆ ด้วย Flask และ…

    >> Read More <<