ทำ functional design อย่างง่ายด้วยโปรแกรม Sandcastle Help File Builder

เมื่อพัฒนาโปรแกรมเสร็จแล้ว ก็ถึงเวลาทำเอกสารการเขียนอธิบายโค้ดต่อ บางครั้งมันยุ่งยากเสียเวลา วันนี้มีวิธีที่สะดวกและรวดเร็วเพียงแค่เขียนอธิบายใน Class ที่เราต้องการอธิบาย เช่น Constructors, Properties, methods โดยทั่วไปแล้วการเขียน Logic ต่างๆ เพื่อนำไปใช้งานต่อหรืออ้างอิงโค้ดที่เราเขียนมักจะ build code เป็นไฟล์ .dll เพื่อให้ระบบอื่นมาเชื่อมต่อและเรียกใช้งานได้ โดยขั้นตอนแรกเราใช้โปรแกรม Sandcastle Help File Builder สามารถอ่านรายละเอียดเพิ่มเติมตามลิ้งก์ https://github.com/EWSoftware/SHFB/releases และ download และติดตั้งตามลิ้งก์ SHFBInstaller_v2019.11.17.0.zip 45.1 MB เมื่อติดตั้งเสร็จเรียบร้อย หน้าตาก็จะประมาณนี้ ก่อนอื่นเราต้องไปตั้งค่าการ build code ใน Visual Studio ในส่วนของ XML ตามไฮไลต์สีเหลือง จากนั้นก็กด Build ใน Visual Studio เมื่อ build เสร็จ เราจะได้ไฟล์ .dll และ .xml เมื่อได้ไฟล์ .dll และ .xml เรียบร้อยแล้ว ก็เพิ่มในโปรแกรม Sandcastle Help File Builder โดยไปที่เมนู File > Project Explorer > Documentation Sources > Add Documentation Source เมื่อเลือกไฟล์ .dll และ .xml เรียบร้อยแล้ว ผลลัพธ์ที่ได้แสดงตามภาพ จากนั้นตั้งค่าเมนู Help File ตามตัวอย่างข้างล่าง จากนั้นตั้งค่าเมนู Visibility ตามตัวอย่างข้างล่าง เมื่อตั้งค่าโปรแกรมเสร็จเรียบร้อยแล้ว ไปที่เมนู Documentation > Build Project รอโปรแกรมประมวลผลสักครู่ เราก็จะได้ไฟล์ .chm ออกมา เมื่อเปิดไฟล์ .chm เราก็จะได้ผลลัพธ์ Help File ตามรูปแบบที่แสดงตามภาพด้านล่าง

Read More »

วิธีทำให้ตั้ง password ใน windows server ได้ตามที่ต้องการ

เมื่อ create user ใหม่ใน windows server เราจะต้องตั้ง password ตามกฏที่ windows server กำหนดมาให้ถ้าตั้งไม่ตรงตามกฎ windows server จะไม่ยอมให้สร้าง userอย่างเช่นสร้าง user ชื่อ sysadmin แล้วตั้ง password ว่า sysadmin123จะไม่สามารถสร้าง user ได้ ซึ่งจะมี error ขึ้นดังรูป วิธีแก้ให้สามารถตั้ง password ได้ตามที่ต้องการมีดังนี้ ที่หน้า Desktop ของ windows Server ให้ไปที่ปุ่มค้นหา(รูปแว่นขยาย) ตรง taskbar แล้วพิมพ์  gpedit.msc แล้วกดปุ่ม Enter ที่ keyboard ให้เลือกตามลำดับดังนี้ Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy. Double click ที่ Password must meet complexity requirements ให้เปลี่ยนจาก Enabled เป็น Disabled แล้วกด OK ลองสร้าง user ใหม่อีกที โดยตั้งชื่อเป็น sysadmin แล้วตั้ง password ว่า sysadmin123 จะเห็นว่าสามารถสร้าง user ได้แล้ว

Read More »

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 »

สร้าง 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 Based แต่อย่างไรก็ตามยังคงต้องมี Certificate สำหรับการยืนยันตัวตนประกอบการสร้าง Token อยู่ดี ซึ่งสามารถเข้าไปสร้างได้ที่ developer.apple.com > Account > Key เลือกสร้างแบบApple Push Notifications service (APNs) 3. Web Server ที่สามารถเชื่อมต่อด้วย HTTPS, HTTP/2 ได้ สร้างโปรเจค Web API ในบทความนี้ใช้ Visual Studio 2019 Version 16.8.0 1.ไปที่ File > New > Project เลือกเทมเพลต ASP.NET Web Application (.Net Framework) กดปุ่ม Create 2.เลือกรูปแบบโปรเจคเป็นแบบ Web API กดปุ่ม Create 3.เมื่อสร้างโปรเจคสำเร็จจะได้ไฟล์ต่างๆดังรูป (Main.aspx, MainController.cs สร้างเองภายหลัง สามารถตั้งชื่ออื่นๆได้) 4.ทำการเพิ่ม Library dotAPNS ด้วย Nuget Manager โดยการคลิกขวาที่โปรเจค เลือกเมนู Manage Nuget Packages ค้นหาด้วยคำว่า dotAPNS จากนั้นกดปุ่ม Install 5. ในไฟล์ MainController.cs ทำการ using dotAPNS มาใช้งาน จากนั้นสร้าง Method ชื่อ SendPush (ไม่จำเป็นต้องชื่อนี้) โดยโค้ดการสร้าง Token และส่ง Push Notification ทั้งหมดมีดังนี้ จากโค้ดด้านบน สามารถทราบว่าส่วนไหนทำหน้าที่อะไรได้จาก Comment ครับ เพียงเท่านี้ก็สามารถ Publish และ Deploy Web API บน Server เพื่อทดสอบการใช้งานได้แล้ว อย่างไรก็แล้วแต่ Web API ดังกล่าวยังต้องการ การปรับแต่งให้เหมาะสมกับระบบของนักพัฒนาแต่ละท่าน แต่โดยขั้นตอนหลักๆก็มีเพียงเท่านี้ครับ 6.หน้าฟอร์ม และตัวอย่างโค้ดเรียกใช้งาน (อยู่ในหน้า Main.aspx,Main.aspx.cs เพื่อใช้ทดสอบการส่ง) สังเกตุว่าในส่วนของการส่งจาก Client อื่นๆผ่าน Web API นั้นต้องการเพียงแค่ HttpWebRequest, Newtonsoft.Json เท่านั้นทำให้มีขนาดเล็ก และลดปัญหาความเข้ากันได้ในการติดตั้ง Client ไปได้อย่างแน่นอนครับ ขั้นตอนที่มีความสำคัญแต่ยังไม่ได้กล่าวถึงในบทความนี้นั้นคือการขอ Token ระบุเครื่องเป้าหมายจากผู้ใช้ที่ติดตั้งแอปพลิเคชันของเราครับ เนื่องจากวิธีการจะจำเพาะกับเครื่องมือที่ใช้ในการพัฒนาแอปพลิเคชัน

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 ที่ Begin the task เลือกเป็น At startup ติ๊กที่ Delay task for แล้วเลือกเป็น 1 minute แล้วกดปุ่ม OK จะได้ผลดังรูป กดที่tab Actions แล้วกดปุ่ม New กดปุ่ม browse เลือก file bat ที่สร้างไว้ตอนต้น แล้วกดปุ่ม OK กดที่tab Conditions ตรงส่วนของ Network ให้ติ๊กหน้า Start only if the following network connection is available กดปุ่ม OK กดที่ปุ่ม OK อีกครั้งตามรูป จะมี task ที่สร้างขึ้นปรากฏดังรูป เมื่อมีการ start computer จะมีข้อความส่งไปทาง Line ดังรูป

Read More »