บทความ Excel, Access, SQL Server, ASP.NET, Windows, Database, IT
การดู Critical Path ของโครงการ ใน Microsoft Project
ปัญหาหนึ่งที่ผู้จัดการโครงการพบบ่อย ๆ ก็คือ ระหว่างที่ดำเนินโครงการ มีงานบางงานมีปัญหาเกิดขึ้น เช่นวัตถุดิบมาช้ากว่าที่คาดการณ์ไว้ หรือพนักงานต้องการลาในวันทำงาน ผู้จัดการโครงการจะตัดสินใจแก้ปัญหาอย่างไร หากอนุมัติไปแล้วงานที่เกี่ยวข้องกับวัตถุดิบหรือพนักงานดังกล่าวจะเสร็จช้ากว่ากำหนด จะทำให้วันเสร็จสิ้นของทั้งโครงการต้องเลื่อนไปหรือไม่ ซึ่งก็จะมีผลต่อค่าปรับและความน่าเชื่อถือขององค์กรในอนาคต ปัญหาในลักษณะนี้สามารถป้องกันได้ โดยการพิจารณาว่างานที่เกิดปัญหาขึ้นอยู่ใน Critical Path หรือไม่

การดูค่าใช้จ่ายโครงการแยกตามเดือนด้วย Microsoft Project
โครงการขนาดใหญ่มักมาพร้อมกับงานย่อย(tasks)จำนวนมาก และมีการกำหนดการใช้งานทรัพยากรที่หลากหลาย ไม่ว่าจะเป็นวัตถุดิบ คน หรือค่าใช้จ่ายอื่น ๆ และแน่นอนว่าผู้จัดการโครงการต้องนำข้อมูลเหล่านี้มาใช้ในการตัดสินใจและแก้ปัญหาได้อย่างรวดเร็ว โปรแกรม Microsoft Project เป็นโปรแกรมที่ถูกสร้างขึ้นเพื่ออำนวยความสะดวกให้กับผู้จัดการโครงการขนาดใหญ่โดยเฉพาะ ซึ่งสิ่งที่สำคัญที่สุดในโครงการคงหนึไม่พ้นการควบคุมและบริหารค่าใช้จ่ายให้อยู่ภายใต้งบประมาณที่ได้กำหนดไว้

การอ่าน Query Execution Plan ตอนที่ 1
บทความนี้ต่อจากบทความ “เตรียมพร้อมก่อนอ่าน Execution Plan” หากผู้อ่านเปิดมาเจอบทความแล้วยังไม่ได้อ่านบทความแรกผู้เขียนแนะนำให้อ่านก่อน เพราะจะได้ทราบถึงขั้นตอนการประมวลผลคิวรี่ว่ามีกลไกเช่นไร สำหรับบทความนี้ผู้เขียนจะใช้ 2 เครื่องมือเป็นหลักคือ Microsoft SQL Server Management Studio (SSMS) และ Sentryone Plan Explorer หากผู้อ่านต้องการทำตามตัวอย่างในบทความ ก็สามารถหาดาวน์โหลดได้จาก https://www.sentryone.com/plan-explorer

มีอะไรใหม่ใน .NET Core 2 และ C# 7 : Pattern Matching ด้วยคำสั่ง Switch
ในภาษา C# เวอร์ชัน 7.0 การตรวจสอบเพื่อการจับคู่รูปแบบ (Pattern Matching: PM) ด้วยคำสั่ง if และ switch ได้รับการพัฒนาให้ดียิ่งขึ้น ยืดหยุ่นกว่าเดิม เขียนโค้ดได้สะดวกขึ้น แต่เดิมการทำ PM ด้วยหลักวัตถุวิธีเราจะสร้างคลาสฐานเป็นแบบ “abstract” จากนั้นจะใช้กรรมวิธีสืบคุณสมบัติเป็นคลาสลูกหลาย ๆ แบบตามต้องการ ส่วนเก็บข้อมูลและโค้ดเพื่อจัดการข้อมูลจะถูกผนึกไว้เป็นหน่วยเดียวกัน ซึ่งเป็นการ “เชื่อมแน่น” (tight coupling) ในกรณีที่เราต้องการการ “เชื่อมหลวม” (loose coupling) เราจะแยก ส่วนเก็บข้อมูลและโค้ดเพื่อจัดการข้อมูลออกจากกัน จากนั้นทำ PM ด้วยคำสั่ง if และ switch ซึ่งหากมีรูปแบบจำนวนวนมาก โค้ดจะยืดยาวเยิ่นเย้อ

เปลี่ยนชื่อเดือนภาษาไทยให้เป็นชื่อเดือนภาษาอังกฤษใน Microsoft Access ด้วยฟังก์ชัน Choose
กลุ่มฟังก์ชัน Program Flow นั้นมี 3 ฟังก์ชันในหมวดหมู่นี้ ได้แก่ 1. ฟังก์ชัน IIF แนวทางการใช้เหมือนฟังก์ชัน IF ใน MS Excel 2. ฟังก์ชัน Switch 3. ฟังก์ชัน Choose จะกล่าวถึงกันในบทความนี้ค่ะ

มีอะไรใหม่ใน .NET Core 2 และ C# 7 : App ไม่ค้างตอนอ่านไฟล์ใหญ่
.NET Core version ที่ออกใหม่ก็จะใช้งานกับภาษา C# version ใหม่สุดได้ .NET Core version ปัจจุบันคือversion 2.1 สนับสนุนภาษา C# version 7.1 ส่วนversionต่อไปคือ 3.0 จะสนับสนุนภาษา C# version 8.0 ในหัวข้อนี้เราจะมาดูตัวอย่างการเขียนโค้ด การทำงานกับซิปไฟล์ (zip file) ด้วยภาษา C# ใน.NET Core ว่าเหมือนหรือแตกต่างกับการเขียนภาษา C# ใน .NET Framework หรือไม่อย่างไร

สูตรคำนวณหามูลค่าเงินตามเวลาในอนาคต ด้วยฟังก์ชั่น FV
ใน Microsoft Excel มีความสามารถในการคำนวณด้านการเงิน (Finance Functions) มากมาย ไม่ว่าจะเป็นการคำนวณ PV, PMT, IRR, FV, NPER, NPV เป็นต้น ซึ่งบทความในวันนี้จะแนะนำสูตรสำหรับการหามูลค่าเงินในอนาคต หรือ Future Value (FV) กันครับ

เตรียมพร้อมก่อนอ่าน Execution Plan
มีคนถามเข้ามาพอสมควรเวลาที่ผู้เขียนแสดง Query Execution Plan และวิเคราะห์ประสิทธิภาพให้ฟัง ทั้งในหลักสูตรที่ผู้เขียนบรรยายหรือสรุปผลประสิทธิภาพให้ลูกค้าฟัง ส่วนใหญ่อยากทราบว่ารายละเอียดของแต่ละตัวดำเนินการที่แสดงหมายถึงอะไร ผู้เขียนก็อยากจะเล่ามันทุกตัวแต่บางครั้งมันเล่ายากมาก เพราะหลายๆ ตัวต้องรู้ถึงโครงสร้างตารางทั้งแบบ Rowstore และ Columnstore ต้องรู้ถึงโครงสร้าง Indexes ทั้งแบบ Rowstore และ Columnstore เช่นกัน อีกทั้งยังต้องเข้าใจลำดับการประมวลผลของคำสั่ง เข้าใจถึงการเกิด Parallelism จิปาถะไปหมด ผู้เขียนขอเริ่มจากการทำความเข้าใจขั้นตอนการประมวลผลคิวรี่กันก่อนดีกว่า

มีอะไรใหม่ใน .NET Core 2 และ C# 7 : การทำงานกับซิปไฟล์ (zip file)
.NET Core version ที่ออกใหม่ก็จะใช้งานกับภาษา C# version ใหม่สุดได้ .NET Core version ปัจจุบันคือversion 2.1 สนับสนุนภาษา C# version 7.1 ส่วนversionต่อไปคือ 3.0 จะสนับสนุนภาษา C# version 8.0 ในหัวข้อนี้เราจะมาดูตัวอย่างการเขียนโค้ด การทำงานกับซิปไฟล์ (zip file) ด้วยภาษา C# ใน.NET Core ว่าเหมือนหรือแตกต่างกับการเขียนภาษา C# ใน .NET Framework หรือไม่อย่างไร

การใช้ Socket Class เพื่อส่งและรับข้อมูลกับ Server HTTP ใน .NET Core 2 และ C# 7
สำหรับบทความนี้จะกล่าวถึงคุณสมบัติที่ถูกปรับปรุงใหม่ของภาษาซีชาร์ป 7.0 และ .NET Core 2.0 ในประเด็นที่เกี่ยวข้องกับการสื่อสารข้อมูลในเครือข่าย
