Canonical Livepatch Service

Canonical Livepatch Service Apply critical kernel patches without rebooting. โฆษณา Fixes are applied automatically, without restarting your system Reduces downtime, keeping your Ubuntu LTS systems secureand compliant Included as part of all Ubuntu Advantage for Infrastructuresupport packages ใครควรใช้ เครื่อง ubuntu 16.04 ขึ้นไป เริ่มได้ เปิดเว็บ https://auth.livepatch.canonical.com/ เลือก Ubuntu user แล้วกดปุ่ม Get your Livepatch token ก็จะไปหน้านี้ กด Accept all and visit site ก็ให้ log in ให้เรียบร้อย หากยังไม่ได้สมัคร user ของ Ubuntu one ก็ให้เลือก I don’t have an Ubuntu One account เพื่อสร้าง account หลังจากกด Create account ให้ไปเช็คเมล์ที่ใช้ลงทะเบียนแล้วกด verify ก็จะได้หน้าที่มี Token สำหรับลงทะเบียน ติดตั้งโปรแกรมชื่อ canonical-livepatch ด้วยคำสั่ง เมื่อติดตั้งเสร็จได้ผลลัพธ์ว่า canonical-livepatch 9.5.5 from Canonical✓ installed แล้วต่อด้วยคำสั่ง copy จากในเว็บได้เลย โดย $TOKEN คือค่าที่ได้จากในหน้าเว็บ ก็จะได้ผลว่าประมาณว่า Successfully enabled device. Using machine-token: xxxxxxxxxxx เสร็จ!!! แบบง่ายๆ และงงๆ และสำหรับ 1 email address สามารถใช้ token เดียวกันได้ 3 เครื่อง สำหรับผู้ใช้ฟรี!! ตั้งแต่ใช้มาประมาณ 1 ปีครึ่ง ก็ไม่รู้ว่ามีอัพเดตอะไรบ้างเหมือนกัน กรั่กๆ ตรวจสอบสถานะของ canonical-livepatch ด้วยคำสั่ง ก็จะได้ประมาณว่า จบขอให้สนุก อ้างอิง https://ubuntu.com/security/livepatch

Read More »

ตรวจสอบการสะกดคำด้วย 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 4.สร้างโฟลเดอร์สำหรับเก็บไฟล์คำตัวอย่าง sentense_list.txt โดยมีบรรทัดละ 1 คำ เพื่อทำการโหลดข้อมูลเข้ามาให้ Library ประมวลผล และเก็บไฟล์ผลลัพธ์ไว้ที่ suggest_result.txt นำไปวางไว้ที่ [ProjectPath]/bin/Debug 5. จากนั้นก็เขียนโค้ดในไฟล์ Program.cs ดังนี้ 6.จากนั้นทำการ Run แบบ Debug จะปรากฎหน้าจอ Command Line แสดงข้อความ Processing… รอจนเห็นคำว่า Process Complete. แสดงว่าทำการประมวลผลเสร็จแล้ว 7.ผลลัพธ์จะถูกบันทึกลงในไฟล์ suggest_list.txt ดังรูป ในตัวอย่างนี้ เป็นเพียงโปรเจคสำหรับทดสอบการเรียกใช้งาน และดูผลลัพธ์ของ Library เท่านั้น การนำไปใช้งานร่วมกับระบบยังต้องการ การประยุกต์ให้เหมาะสมกับแต่ละระบบ แต่ก็หวังว่าจะเป็นประโยชน์กับคนที่กำลังหาเครื่องมือที่ใช้ตรวจสอบการสะกดคำให้กับระบบของตัวเองอยู่ไม่มาก ก็น้อยครับ

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 Notify stickerPackageID กับ stickerID ดูได้จาก sticker_list pictureUrl คือ url ของรูปภาพที่ต้องการจะส่งผ่าน Line Notify ตัวอย่างการเรียกใช้ฟังก์ชัน LineNotify(“DwNQ7NQxrG8wgEaoUKvjgWKh1n08rxxxxxx”,”สวัสดีชาวโลก” , 1 , 10 , “https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png”); ผลที่ได้

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. จะปรากฏหน้าต่าง Default Profile ซึ่งใน Oracle 11 เป็นต้นไป หลังจากติดตั้งและสร้าง Database แล้ว ใน Default Profile จะมีการตั้งค่าเริ่มต้นไว้ดังรูป โดย Default Profile จะมีผลกับ user ที่ถูกสร้างใหม่ และค่าที่ทำให้ user หมดอายุโดยอัตโนมัติก็คือ “Expire in (days)” นั่นเอง จึงเป็นที่มาของการที่ user expire เองโดยที่ไม่ได้มีการเข้าไปแก้ไขข้อมูลใด ๆ ของ user นี้ 7. การแก้ไขไม่ให้ user ที่สร้างใหม่ expire อัตโนมัติ ทำได้โดยการแก้ค่า “Expire in (days)” ให้เป็น UNLIMITED เมื่อแก้ไขแล้ว user ใหม่ที่ถูกสร้างหลังจากนี้ก็จะใช้งานได้ตลอดไม่มีวัน expire แต่ส่วนของ user ที่เคยสร้างไปก่อนหน้านี้ ผู้พัฒนาจะต้องเข้าไปปรับแก้วันที่ expire เป็นราย user ไป

Read More »

สวัสดี PDPA :)

สำหรับ Blog นี้ ทางผู้เขียนขอพูดถึง PDPA เบื้องต้นละกัน คิดว่านาทีนี้จากไม่อยากรู้จัก ก็ต้องมาทำความรู้จักกันไว้บ้างแล้วแหละ !! ต้องขอบอกก่อนเลยว่า ในยุคปัจจุบันที่มีการพัฒนาของเทคโนโลยีแบบก้าวกระโดด การเข้าถึงอุปกรณ์ต่างๆ ที่ง่ายขึ้น รวมไปถึงการเข้าใช้งาน Internet แบบเข้าถึงได้ทุกที่ทุกเวลา ทุกเพศทุกวัย และมีการใช้งานที่กำลังขยายเป็นวงกว้าง ส่งผลให้เกิดโลกออนไลน์ที่มีขนาดใหญ่ และสิ่งต่างๆ เหล่านี้นี่แหละที่เราทุกๆ คน หากต้องการเข้าใช้งาน เราก็จะต้องแลกมาด้วยการใส่ข้อมูลเข้าไป ผลจากสิ่งต่างๆ ที่มีความทันสมัย และสะดวกสบายเหล่านั้น มันก็จะมีผลบางอย่างที่เดินตามหลังเรามาแบบติดๆ ผลกระทบที่เห็นได้ชัดอย่างนึงเลยก็คือเรื่องของ “ข้อมูลส่วนบุคคล“ ที่อาจจะมีผู้ไม่หวังดีสามารถที่จะเลือกใช้ช่องโหว่ของเทคโนโลยีเหล่านั้นมาก่อปัญหา และหลายครั้งก็นำมาซึ่งความเดือดร้อน หรือสร้างความเสียหายให้แก่เจ้าของข้อมูล เราจึงจำเป็นต้องมีกฏหมายขึ้นมา เพื่อกำหนดหลักเกณฑ์ มาตรการ กำกับดูแล และคุ้มครองข้อมูลส่วนบุคคลดังกล่าว นั่นก็คือ “PDPA“ พระเอกของเราในวันนี้นั่นเอง PDPA คืออะไร ? PDPA (Personal Data Protection Act, B.E. 2562(2019)) ก็คือพระราชบัญญัติคุ้มครองส่วนบุคคล พ.ศ.2562 ซึ่งประเทศไทยได้ประกาศในราชกิจจานุเบกษาไปเมื่อ วันที่ 27 พฤษภาคม 2562 และได้มีผลบังคับใช้ไปเมื่อวันที่ 28 พฤษภาคม 2562 ไปแล้วในบางส่วน และเมื่อวันที่ 27 พฤษภาคม 2563 ถือเป็นวันที่ พ.ร.บ. ดังกล่าวมีผลบังคับใช้ตามกฏหมายทั้งฉบับ ข้อมูลส่วนบุคคล คืออะไร? ถ้าว่ากันตาม PDPA ดังกล่าว จะให้ความหมายของคำว่า “ข้อมูลส่วนบุคคล” ไว้ดังนี้ “ข้อมูลเกี่ยวกับบุคคลซึ่งทำให้สามารถระบุตัวบุคคลนั้นได้ ไม่ว่าทางตรงหรือทางอ้อม โดยข้อมูลของผู้ถึงแก่กรรม และข้อมูลนิติบุคคล ไม่ถือเป็นข้อมูลส่วนบุคคลตาม พ.ร.บ.นี้” ตัวอย่างข้อมูลส่วนบุคคล (Personal Data) ชื่อ – นามสกุล, เลขประจำตัวประชาชน, เลขประกันสังคม, เลขประจำตัวผู้เสียภาษี เป็นต้น ที่อยู่, เบอร์โทรศัพท์, วันเกิด, อีเมล, การศึกษา, เพศ, อาชีพ, รูปถ่าย ข้อมูลทางการเงิน ข้อมูลส่วนบุคคลที่มีความละเอียดอ่อน (Sensitive Personal Data) เช่น ข้อมูลทางการแพทย์หรือสุขภาพ, เชื้อชาติ, ความคิดเห็นทางการเมือง, ความเชื่อทางศาสนาหรือปรัชญา, พฤติกรรมทางเพศ เป็นต้น PDPA เกี่ยวกับใคร ? เอาจริงๆ ผู้เขียนมองว่าเกี่ยวกับทุกคนนะ และอย่างน้อยๆ เราควรรู้ข้อมูลเหล่านี้ไว้บ้างไม่มากก็น้อย เพื่อไว้ในการช่วยรักษาสิทธิของเราเอง เจ้าของข้อมูลส่วนบุคคล (Data Subject) คือ บุคคลที่ข้อมูลระบุไปถึง ผู้ควบคุมข้อมูลส่วนบุคคล (Data Controller) คือ บุคคลหรือนิติบุคคลซึ่งมีอำนาจหน้าที่ “ตัดสินใจ” เกี่ยวกับการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคล ผู้ประมวลผลข้อมูลส่วนบุคคล (Data Processor) คือ บุคคลหรือนิติบุคคลซึ่งดำเนินการเกี่ยวกับการเก็บรวบรวม ใช้ หรือเปิดเผยข้อมูลส่วนบุคคล “ตามคำสั่งหรือในนามของผู้ควบคุมข้อมูลส่วนบุคคล” ทั้งนี้บุคคลหรือนิติบุคคลซึ่งดำเนินการดังกล่าว ต้องไม่เป็นผู้ควบคุมข้อมูลส่วนบุคคล หากหน่วยงาน / องค์กรของเราต้องการใช้ข้อมูลเหล่านี้ ต้องทำอย่างไร ? กรณีที่ต้องมีการประมวลผลข้อมูลส่วนบุคคลด้วยการยินยอม ผู้ควบคุมข้อมูล (Data Controller) ต้องดำเนินการขอความยินยอมจากเจ้าของข้อมูลก่อนการประมวลผลข้อมูล ดังนี้ ต้องอธิบายให้ชัดเจนถึงวัตถุประสงค์ในการประมวลผลข้อมูลที่ขอความยินยอม ต้องระบุประเภทของข้อมูลที่นำไปใช้ ต้องมีข้อความที่เข้าถึงได้ง่าย อ่านเข้าใจ และไม่เป็นภาษาในทางกฏหมายจนเกินไป ไม่เป็นการบังคับ ต้องให้สิทธิอิสระแก่เจ้าของข้อมูลในการให้หรือไม่ให้ความยินยอม ห้ามกำหนดการให้ความยินยมเป็นเงื่อนไขในการให้บริการ กรณีเป็นผู้เยาว์อายุไม่ถึง 20 ปี คนไร้ความสามารถ คนเสมือนไร้ความสามารถ การขอความยินยอมต้องได้จากผู้ใช้อำนาจปกครอง ผู้อนุบาล หรือผู้พิทักษ์ด้วย บทลงโทษหากเราไม่ปฏิบัติตาม PDPA เพื่อให้ข้อมูลส่วนบุคคลถูกนำไปใช้ในทางที่เหมาะสม ใช้ในทางที่เป็นประโยชน์ การให้ข้อมูลในแต่ละครั้งจำเป็นจะต้องมีการพิจารณาอย่างรอบคอบและถี่ถ้วน เพราะหากไม่ปฏิบัติตาม พ.ร.บ. ดังกล่าวแล้วนั้นหน่วยงาน องค์กร หรือผู้ควบคุมข้อมูล อาจได้รับโทษ ดังนี้ ความรับผิดทางแพ่ง ตามความเสียหายที่เกิดขึ้นจริง และอาจต้องชดใช้ค่าสินไหมทดแทนเพิ่มขึ้นอีก โดยสูงสุดไม่เกิน 2 เท่าของค่าเสียหายที่แท้จริง โทษทางอาญา จำคุกสูงสุดไม่เกิน 1 ปี หรือปรับไม่เกิน 1 ล้านบาท หรือทั้งจำทั้งปรับ โทษทางปกครอง ปรับสูงสุดไม่เกิน 5 ล้านบาท จริงๆแล้ว รายละเอียดที่เราควรรู้ หรือควรเตรียมพร้อมรับมือเกี่ยวกับ

Read More »