• ASP.NET API Security


    ปัจจุบันการพัฒนาโปรแกรมในรูปแบบของ API นั้นแพร่หลายมาก เนื่องจากจะทำให้โปรแกรมยืดหยุ่น สามารถพัฒนา Interface ไปในรูปแบบที่หลากหลาย ทั้ง Desktop, Mobile โดยเฉพาะการเรียก API ผ่าน http นั้น ถือว่าค่อนข้างที่จะยืดหยุ่นกับเกือบจะทุก platform ดังนั้น การรักษาความปลอดภัยให้กับ API เหล่านี้ เป็นสิ่งที่จำเป็นและสำคัญอย่างยิ่ง บทความนี้จะพูดถึง 2 เรื่องหลักๆ ได้แก่ การ Authentication และการ Authorization ดังนี้ครับ   Authentication เปรียบเสมือนกับการตรวจสอบว่าใครเป็นผู้ร้องขอ (request) ซึ่งอาจจะเป็นในลักษณะของ username/password หรือเป็น API Key จากใน HTTP Request Header ในบทความนี้จะขอข้ามการพูดถึงการ authentication ด้วย username/password เพราะเชื่อว่าสามารถทำกันได้อยู่แล้ว ไม่ว่าจะเป็นการเขียน provider เองหรือใช้ provider ที่มีมาให้กับ .net framework…

    >> Read More <<

  • การพัฒนา Unit Testing โดย MSTest test library (.NET Core)


    บทความนี้นำเสนอขั้นตอนการพัฒนา Unit Test อย่างง่ายโดยแสดงให่้เห็นการพัฒนาทีละขั้นตอน สำหรับระบบที่พัฒนาบน .NET Core โดยใช้ MSTest เพื่อทำความเข้าใจการพัฒนาแบบ test-driven development (TDD) ซึ่งในขั้นแรก เริ่มต้นด้วยการสร้าง source project ชื่อ “CalcTool” ใช้สำหรับการทดสอบ อยู่ภายใต้ folder “TestSample” ซึ่งขั้นตอนการสร้าง project สามารถดูได้จาก บทความ การพัฒนา Unit Testing โดย xUnit test library (.NET Core) ซึ่งจะได้ class “Calc” ซึ่งประกอบไปด้วย method “AbsAddByOne(int value)” ที่ยังไม่ได้เขียน code การทำงาน สร้าง test project ที่ใช้ MSTest library โดยเปิด command prompt เข้าไปที่…

    >> Read More <<

  • การพัฒนา Unit Testing โดย xUnit test library (.NET Core)


    บทความนี้นำเสนอขั้นตอนการพัฒนา Unit Test อย่างง่ายโดยแสดงให่้เห็นการพัฒนาทีละขั้นตอน สำหรับระบบที่พัฒนาบน .NET Core โดยใช้ xUnit เพื่อทำความเข้าใจการพัฒนาแบบ test-driven development (TDD) ซึ่งในขั้นแรก เริ่มต้นด้วยการสร้าง source project ที่จะใช้สำหรับการทดสอบ สร้าง folder “TestSample” และ sub folder ชื่อ “CalcTool”  จากนั้นเปิด command prompt เข้าไปที่ folder “CalcTool” เพื่อทำการสร้าง .NET Core project โดยใช้คำสั่ง dotnet new classlib rename class1.cs เป็นชื่อ calc.cs และเขียน code ดังนี้ using System; namespace CalcTool { public class Calc {…

    >> Read More <<

  • Itextsharp #3 คู่มือเทคนิคพื้นฐานการใช้งาน PdfTable สำหรับมือใหม่ ตอนที่ 1


    บทความนี้ผู้เขียนจะพูดถึงส่วนที่มีการทำงานในรูปแบบ Table สำหรับผู้ที่เริ่มต้นใหม่สามารถอ่านบทความ ตอนที่ 1 และ ตอนที่ 2 เพื่อความเข้าใจต่อเนื่องกันนะครับ ก่อนที่ผู้เขียนจะไปพูดถึงส่วนของการเขียนโปรแกรมนั้น ผู้เขียนอยากอธิบายเพื่อทำความเข้าใจให้กับผู้อ่านได้เห็นภาพได้ชัดเจนเกี่ยวลักษณะการทำงานของ Table ใน Itextsharp ต่อจากตอนที่แล้ว ที่ได้พูดถึงไว้แบบคร่าวๆ ตอนนี้เราจะลงรายละเอียดมากขึ้น ว่ามีการทำงานอย่างไร จากรูปตัวอย่างจะเป็นการแสดงส่วนของการทำงานในการสร้างTable ของโปรแกรม Itextsharp โดยเมื่อเราได้ทำการเพิ่ม pdfCell ลงไปใน pdfTable Itextsharp จะทำการนำ pdfCell มาเรียงต่อกันไปเรื่อยๆ และทำการอ้างอิงว่าในแต่ละ Row มีได้กี่ Collumn ตามที่ได้ระบุไว้ตอนสร้าง Table เมื่อมี Cell ครบตามกำหนดจะขึ้นRowใหม่ให้อัตโนมัติ แต่สิ่งที่ควรระวังคือ กรณีที่Rowนั้นๆมี Collumn ไม่ครบตามที่กำหนด โปรแกรมอาจไม่แสดงผลของส่วนนั้นได้ ซึ่งในตัวอย่างผู้เขียนได้กำหนดไว้ 3 Collumn ต่อ Row และได้เพิ่ม pdfCell ไปทั้งหมด 9 อันด้วยกันครับ เมื่อทำการแสดงผลจะได้ Table…

    >> Read More <<

  • ภาพสวยประกอบบน office ด้วย Pickit


    ในการนำเสนองานต่างๆ สิ่งที่ช่วยให้การนำเสนอดูน่าสนใจมากยิ่งขึ้น คือ รูปภาพและรูปแบบการจัดวาง ซึ่งใน office จะมี Add-in ที่ชื่อว่า Pickit ซึ่งเป็นเป็นเครื่องมือที่ช่วยการค้นหาภาพตามที่เราต้องการนำมาใช้ในงานนำเสนอของเราได้ มาดูขั้นตอนการใช้งานกันเลยค่ะ  1.เริ่มต้นเราต้องทำการติดตั้ง Add-in ซึ่งสามารถติดตั้งได้ใน Microsoft office (Word, excel, power point) ในที่นี้จะนำเสนอในส่วนของ power point ไปยังแท็บ INSERT > Store   2.เป็นหน้าจอ Apps for Office ในช่องค้นหา พิมพ์คำว่า “Pickit” เมื่อเจอรายการ “Picket Free Images” ให้กดปุ่ม Add 3.เมื่อติดตั้งโปรแกรมเรียบร้อย โปรแกรมจะปรากฎอยู่ด้านขวาของหน้าจอ 4.หากโปรแกรมไม่ขึ้นมาสามารถเรียกใช้โปรแกรมได้ที่ INSERT> My Apps > Pickit Free Images 5.จากนั้นพิมพ์ชื่อภาพที่ต้องการหรือเลือกภาพตามหมวดหมู่ต้องการได้ ในตัวอย่างนี้ข้อยกตัวอย่าง คำว่า…

    >> Read More <<

  • การส่งค่าจาก Models แบบ Multiple มายัง Single View


    โดยปกติแล้วใน MVC เราจะไม่สามารถส่งค่าที่อยู่ใน Models มามากกว่า 1 Models จาก Controller มายังวิวเดียวกันได้ ซึ่งจริงๆ แล้วมีเทคนิคที่จะทำให้สามารถส่งค่าผ่านมาได้โดยง่าย ดังหลายๆ วิธีต่อไปนี้   ดาวน์โหลด Source Code ได้ที่นี่ครับ   หมายเหตุ: ในตัวอย่างผมจะใช้ method GetTeachers() และ GetStudents() ร่วมกันในหลายวิธีนะครับ ตามนี้ครับ   1. ใช้ View Model View Model เป็น Class เดี่ยวๆ ที่อาจจะประกอบด้วยหลาย models อยู่ภายใน ซึ่งไม่ควรจะมี method อยู่ภายใน จากตัวอย่างข้างล่าง เป็น model ที่มี 2 properties ซึ่งจะต้องทำการ define strongly typed เพื่อให้…

    >> Read More <<

  • ไวรัส shortcut


    เหตุที่ตั้งชื่อบทความว่า ไวรัส shortcut ไม่ได้หมายความว่าไวรัสประเภทนี้ชื่อ shortcut แต่เป็นอาการทีเกิดขึ้นเมื่อไวรัสตัวนี้ทำงาน โดยสาเหตุและลักษณะอาการที่พบคือ เมื่อเรานำ flash drive หรืออุปกรณ์จำพวก removable drive (เช่น external hardisk) ไปใช้งานกับเครื่องคอมพิวเตอร์เครื่องใดเครื่องหนึ่ง ไฟล์ที่อยู่ใน flash drive หรือ removable drive จะหายไป และจะมีไฟล์ shortcut เกิดขึ้นแทนที่ โดย shortcut มักจะถูกตั้งชื่อเหมือนกับไฟล์ข้อมูลเดิมที่มีอยู่ ซึ่งหากเราเผลอเปิดไฟล์ shortcut ดังกล่าว ก็จะเป็นการไปเรียกไฟล์ไวรัสให้ทำงานนั่นเอง ส่วนไฟล์ข้อมูลเดิมนั้นไม่ได้หายไปไหน เพียงแต่เมื่อแรกเริ่มที่ติดไวรัสมานั้น ไฟล์เหล่านี้จะถูกซ่อนไว้ไม่ให้เห็นนั่นเอง   ตัวอย่างไฟล์ shortcut ที่ไวรัสสร้างขึ้น ข้อสังเกตุคือจะมีไอคอนเป็นแบบ shortcut (ไอคอนรูปลูกศร)   แนวทางการแก้ไข (ในบทความนี้จะยกตัวอย่างบน Windows 8.1) อันดับแรกสิ่งที่ต้องเตรียมคือ เครื่องคอมพิวเตอร์ที่ไม่ติดไวรัส เพื่อใช้สำหรับกำจัดไวรัสและกู้ข้อมูลที่อยู่ใน flash drive หรือ removable…

    >> Read More <<

  • สั่งให้ Excel พูดด้วยเครื่องมือ Speak Cells


    สำหรับ blog ในวันนี้ ทางผู้เขียนขอแนะนำเทคนิคการใช้งานเครื่องมือใน Quick Access Toolbar (QAT) ที่จะสามารถทำให้เราทำงานได้เร็วขึ้น โดยการเลือกเครื่องมือที่มีการใช้งานบ่อยๆ มาไว้ในที่ที่เข้าถึงง่าย   แล้ว Quick Access Toolbar คืออะไร ? อธิบายแบบง่ายๆ เลยนะ มันคือ แถบคำสั่งที่อยู่มุมบนด้านซ้ายของตัวโปแกรมชุด Office ไม่ว่าจะเป็น Excel, Word หรือ PowerPoint เพื่อให้เราสามารถเรียกใช้งานคำสั่งต่างๆ ได้อย่างรวดเร็ว ที่เราเห็นอยู่บ่อยๆ คือพวกปุ่ม Save, Undo, Redo นั่นแหละ   แล้วถ้าหากเราต้องการ Add คำสั่งอื่นๆ เพิ่มเข้ามาละ จะต้องทำยังไง ? วิธีการเพิ่มคำสั่งใน Quick Access Toolbar วิธีที่หนึ่ง สามารถ Add ได้จากปุ่มที่เห็นอยู่แล้ว ดูตัวอย่างได้ตามรูปด้านล่าง คลิกขวาบนคำสั่งที่ต้องการ จากนั้นเลือก Add to…

    >> Read More <<

  • Facebook Spam ที่หลอกมาเป็น “ข่าวสด”


    วันนี้พบเพื่อนคนนึง มีโพสต์ประหลาดๆขึ้นบน Profile ดังภาพ แต่พอลองเอา Mouse Over ดูพบว่า Link ไป khaosod.me/XXXXXX ลองมั่วตามไปดู พบว่าไปเปิด Web หนึ่ง เลียบแบบ kapook.com คาดว่า เกิดจาก ก่อนหน้านี้ไปคลิก Facebook App บางอย่าง ทำให้เกิดการ ให้สิทธิ์ App เขียน Wall ได้ วิธีแก้เคยเขียนไว้แล้วใน วิธีจัดการ Facebook Spam

    >> Read More <<