• ตรวจสอบการสะกดคำด้วย NHunspell (.Net Framework Library)


    สำหรับแอปพลิเคชันที่มีส่วนค้นหาแล้วนั้น หนีไม่พ้นคำถามจากผู้ใช้ว่า ถ้าสะกดคำผิดจะค้นเจอมั้ย (ก็ไม่เจอซิครับ) พร้อมยกตัวอย่างความสามารถในการแก้คำผิดของ Google, Bing ให้ฟัง สำหรับนักพัฒนาตัวคนเดียว หรือทีมงานเล็กๆ ที่ไม่สามารถใช้แนวทาง API แบบต้องมีค่าใช้จ่าย หรือ Machine Learning ที่ต้องใช้ความรู้เฉพาะด้าน ผมก็มี Library ขนาดเล็กที่อาศัยวิธีการทางสถิติ และไฟล์คลังคำศัพท์ (Dictionary) มาใช้งานไปก่อนครับ โดยได้ทำการทดสอบประสิทธิภาพเปรียบเทียบกับ PyThaiNLP, WeCantSpell.Hunspell มาแล้วทั้งในด้านความเร็ว และความถูกต้อง พบว่าดีที่สุด นั้นคือ NHunspell ขั้นตอนการนำมาใช้งาน ในตัวอย่าง เป็นการนำมาใช้งานร่วมกับ Console Application 1.เปิด Nuget Manager ด้วยการ คลิกขวาที่ชื่อโปรเจค เลือก Manage Nuget Packages 2.ค้นหา NHunspell เลือก Install 3.สร้างโฟลเดอร์สำหรับเก็บไฟล์ Dictionary โดยสามารถดาวส์โหลดได้จาก https://github.com/LibreOffice/dictionaries นำไปวางไว้ที่ [ProjectPath]/bin/Debug…

    >> Read More <<

  • สนุกๆ กับการกำหนดรูปแบบให้กับ Column ของ SharePoint List : Choice/Text Column


    Blog นี้เราจะมากำหนดรูปแบบการแสดงผล Column ของ SharePoint List กันนะคะ ซึ่งทำได้ง่าย ๆ สบาย ๆ อีกแล้วค่า โดยการกำหนดรูปแบบให้กับ Column ของ SharePoint List นั้น จะใช้  JSON text format นะคะ ไม่รู้จัก JSON มาก่อนจะทำได้หรือป่าว ? ได้สิคะ เพราะมีตัวอย่าง JSON ที่เราสามารถหยิบเอามาใช้และแก้ไขให้ตรงกันกับข้อมูลของเราได้ โดยที่ไม่ต้องเข้าใจ JSON ให้มากมายก็ได้ เหมือนกับผู้เขียน (แฮ่ ๆ) ถึงได้บอกไงละคะว่า ง่าย ๆ สบาย ๆ อีกแล้ว ส่วนใครที่เข้าใจและใช้ JSON อยู่แล้ว ก็ไม่ต้องพูดมากให้เจ็บคอ สบายบรื๋อออ แน่นอน Blog นี้ ผู้เขียนขอรวบรวมเอาการกำหนดรูปแบบให้กับ Column ที่มีชนิดฟิลด์ข้อมูลเป็น Choice…

    >> Read More <<

  • เขียน code ส่ง Line Notify ด้วย C#


    เริ่มต้นต้องประกาศ Using ก่อน ดังนี้ using System.Net;using System.IO; แล้วใส่ code ตามด้านล่างนี้ พารามิเตอร์ที่ต้องส่งมีดังนี้ lineToken วิธีการขอ Line Token ดูได้จากบทความ การส่ง Line Notify ด้วย Command Line message คือข้อความที่ต้องการจะส่งผ่าน Line Notify ในการทดสอบฟังก์ชันหรือใช้งานฟังก์ชันนี้เครื่องคอมพิวเตอร์ต้องทำการต่อ internet ด้วยถึงจะทำงานได้ ตัวอย่างการเรียกใช้ฟังก์ชัน LineNotify(“DwNQ7NQxrG8wgEaoUKvjgWKh1n08rxxxxxx”,”Hello World” ); ผลที่ได้ ถ้าหากต้องการให้ส่ง sticker หรือ รูปภาพไปด้วยให้ใส่ code ตามด้านล่างนี้ พารามิเตอร์ที่ต้องส่งมีดังนี้ lineToken วิธีการขอ Line Token ดูได้จากบทความ การส่ง Line Notify ด้วย Command Line message คือข้อความที่ต้องการจะส่งผ่าน Line…

    >> Read More <<

  • Oracle User expire โดยไม่ทราบสาเหตุ


    นักพัฒนาบางท่านที่เพิ่งเริ่มพัฒนาระบบบนฐานข้อมูล Oracle อาจจะเคยเจอปัญหาเมื่อใช้ Oracle ตั้งแต่เวอร์ชัน 11 เป็นต้นไป นั่นคือ เมื่อสร้าง user บน Oracle และใช้งานไปได้ซักระยะอยู่ ๆ user นี้ก็เกิดก็ expire โดยที่ไม่ได้มีใครเข้าแก้ไขการตั้งค่าของ user นี้ ซึ่งเหตุการณ์นี้อาจจะมีสาเหตุแบบเดียวกับที่จะนำเสนอในบทควาามนี้ก็เป็นได้ หมายเหตุ ในบทความนี้จะใช้ Oracle SQL Developer ซึ่งเป็นเครื่องมือในการเข้าถึงและจัดการฐานข้อมูล Oracle มาช่วยในการอธิบายเพื่อให้เห็นภาพได้ง่ายขึ้น ขั้นตอนการตรวจสอบที่มาของปัญหาและการแก้ไข login ด้วย sys ตรวจสอบการตั้งค่า Default Profile โดยเลือกเมนู View –> DBA 3. ในหน้าต่าง DBA เลือกเพิ่มการเชื่อมต่อโดย SYS 4. ไปที่การตั้งค่า Default Profile 5. คลิกขวาที่ Default แล้วเลือก Edit 6.…

    >> Read More <<

  • สวัสดี PDPA 🙂


    สำหรับ Blog นี้ ทางผู้เขียนขอพูดถึง PDPA เบื้องต้นละกัน คิดว่านาทีนี้จากไม่อยากรู้จัก ก็ต้องมาทำความรู้จักกันไว้บ้างแล้วแหละ !! ต้องขอบอกก่อนเลยว่า ในยุคปัจจุบันที่มีการพัฒนาของเทคโนโลยีแบบก้าวกระโดด การเข้าถึงอุปกรณ์ต่างๆ ที่ง่ายขึ้น รวมไปถึงการเข้าใช้งาน Internet แบบเข้าถึงได้ทุกที่ทุกเวลา ทุกเพศทุกวัย และมีการใช้งานที่กำลังขยายเป็นวงกว้าง ส่งผลให้เกิดโลกออนไลน์ที่มีขนาดใหญ่ และสิ่งต่างๆ เหล่านี้นี่แหละที่เราทุกๆ คน หากต้องการเข้าใช้งาน เราก็จะต้องแลกมาด้วยการใส่ข้อมูลเข้าไป ผลจากสิ่งต่างๆ ที่มีความทันสมัย และสะดวกสบายเหล่านั้น มันก็จะมีผลบางอย่างที่เดินตามหลังเรามาแบบติดๆ ผลกระทบที่เห็นได้ชัดอย่างนึงเลยก็คือเรื่องของ “ข้อมูลส่วนบุคคล“ ที่อาจจะมีผู้ไม่หวังดีสามารถที่จะเลือกใช้ช่องโหว่ของเทคโนโลยีเหล่านั้นมาก่อปัญหา และหลายครั้งก็นำมาซึ่งความเดือดร้อน หรือสร้างความเสียหายให้แก่เจ้าของข้อมูล เราจึงจำเป็นต้องมีกฏหมายขึ้นมา เพื่อกำหนดหลักเกณฑ์ มาตรการ กำกับดูแล และคุ้มครองข้อมูลส่วนบุคคลดังกล่าว นั่นก็คือ “PDPA“ พระเอกของเราในวันนี้นั่นเอง PDPA คืออะไร ? PDPA (Personal Data Protection Act, B.E. 2562(2019)) ก็คือพระราชบัญญัติคุ้มครองส่วนบุคคล พ.ศ.2562 ซึ่งประเทศไทยได้ประกาศในราชกิจจานุเบกษาไปเมื่อ วันที่…

    >> Read More <<

  • Remote ไปยังเครื่องคอมพิวเตอร์อื่นด้วย Chrome Browser


    การใช้งานเทคโนโลยีการทำงานระยะไกลหรือการ remote จากเครื่องคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่อง นับว่ามีความจำเป็นเพิ่มขึ้นมากในปัจจุบัน ซึ่งตัวระบบปฏิบัติการเองก็มีเครื่องมือรองรับ เช่น ใน Windows จะมี Remote Desktop นอกจากนี้ยังมีซอฟต์แวร์ที่รองรับการทำงานลักษณะนี้ เช่น TeamViewer หรือ AnyDesk ซึ่งบางซอฟต์แวร์หากใช้งานในลักษณะฟรี ก็อาจจะมีข้อจำกัดในการใช้งานบ้าง ดังนั้นในบทความนี้จะนำเสนอการใช้งาน remote ผ่าน chrome browser ซึ่งสามารถใช้งานได้ฟรี และค่อนข้างจะรองรับการทำงานทั่ว ๆ ไปได้ โดยไม่จำกัดเรื่องการเข้าใช้งาน (บางซอฟต์แวร์อาจจะมีการจำกัดจำนวนครั้งในการใช้งานในช่วงระยะเวลาหนึ่ง เป็นต้น) เตรียมการเบื้องต้นก่อนการใช้งาน ติดตั้ง chrome browser ทั้งฝั่งเครื่องต้นทางและฝั่งเครื่องปลายทาง เตรียมบัญชีผู้ใช้งานสำหรับ google หรือ google account เพื่อใช้สำหรับ remote ขั้นตอนการติดตั้งและตั้งค่า Extensions “Chrome Remote Desktop” การใช้งาน remote ผ่าน chrome browser นั้น อันดับแรกจะต้องทำการติดตั้ง Extensions…

    >> Read More <<

  • การตั้งค่า TeamViewer ให้ Remote ด้วย IP Address


    การตั้งค่า TeamViewer ให้ remote ด้วย IP Address จะช่วยให้เราจดจำ ID ได้ง่ายขึ้น และ ไม่จำเป็นต้อง remote ผ่าน Internet แต่ต้องเป็นเครื่องที่อยู่ใน network เดียวกัน มีวิธีการตั้งค่าดังนี้ เปิดโปรแกรม TeamViewer แล้วกดที่เมนู Extras 2 กดที่ Options 3. ที่ Incoming LAN connections ให้เลือกเป็น accept หรือ accept exclusively accept จะสามารถใช้ได้ทั้ง LAN และ Internet accept exclusively ใช้ได้แค่ LAN เท่านั้น เสร็จแล้วให้กดปุ่ม OK ถ้าเลือกเป็น accept ตรง Your ID จะแสดงเป็นตัวเลขแบบปกติ ซึ่งจะ…

    >> Read More <<

  • สร้าง Web API สำหรับส่ง iOS Push Notification ด้วย dotAPNS


    ความสามารถของแอปพลิเคชันในปัจจุบันที่จะขาดไม่ได้เลย อย่าง Push Notification นั้น สำหรับนักพัฒนาชาว .Net แน่นอนครับว่ามี Library มากมายให้เลือกใช้ ในบทความนี้ผมจะเล่าวิธีการหนึ่ง ที่ได้เลือกใช้เพื่อตอบโจทย์การเชื่อมต่อแอปพลิเคชันกับหลายๆฐานข้อมูล การที่เราจะไป Deploy ตัวส่ง (Sender) ไว้ทุกๆ Server นั้นในด้าน Compatibility, Configuration, Maintain นั้นมีปัญหาแน่นอน เพราะข้อกำหนดของ Apple นั้นมีหลายอย่างพอสมควร ก่อนที่ตัวส่งของเรา จะได้รับอนุญาตุให้ส่งข้อความไปหาผู้ใช้ได้ ดังนั้นการติดตั้ง Sender ในแบบ Web API ไว้เพียงที่เดียว แล้วให้ทุก Client ที่ต้องการส่งมาเรียกใช้งาน จึงเป็นการลดปัญหาข้างต้นได้ สิ่งที่จะต้องมี 1.KeyID, BundleID, TeamID ทั้งสามค่านี้สามารถดูได้จาก appstoreconnect ในรายละเอียดของแอปพลิเคชัน 2.Push Notification Certification (.p8) ในบทความนี้จะใช้วิธีการส่งแบบ Token Based ซึ่งมีความยืดหยุ่นและบำรุงรักษาได้ง่ายกว่า แบบ Certification…

    >> Read More <<

  • วิธีการส่ง Line Notify เมื่อมีการเปิดคอมพิวเตอร์


    เริ่มจากต้องทำการขอ Line Token ซึ่งดูได้จากบทความ การส่ง Line Notify ด้วย Command Line จากนั้นให้สร้าง bat file โดยเปิด notepad แล้วใส่คำสั่ง command line ดังนี้ curl -X POST -H “Authorization: Bearer Token” -F “message=XXX” https://notify-api.line.me/api/notify โดยที่ตัวอักษรสีแดงให้ทำการแทนที่ดังนี้Token แทนที่ด้วย Line Token ที่ขอไว้ตอนต้นXXX แทนที่ด้วย ข้อความที่ต้องการส่ง แล้วให้ save file ด้วยนามสกุล .bat เปิด Task Scheduler ขึ้นมา แล้วกดที่ Create Task ใส่ชื่อ task ที่ช่อง Name กดที่tab Triggers แล้วกดปุ่ม New…

    >> Read More <<