บทความ Excel, Access, SQL Server, ASP.NET, Windows, Database, IT
การอ่าน 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 ในประเด็นที่เกี่ยวข้องกับการสื่อสารข้อมูลในเครือข่าย

ตั้งค่าตาม Best Practice ทันทีตั้งแต่ตอนติดตั้ง Microsoft SQL Server 2019
ผู้เขียนติดตาม Microsoft SQL Server 2019 จาก Community Technology Previews (CTPs) จนตอนนี้ออก Release Candidate (RC) แรกออกมาแล้ว สิ่งหนึ่งที่ผู้เขียนพอใจมากคือมีการตั้งค่าระดับ Instance ตาม Best Practice ที่ควรจะเป็นให้ตั้งแต่ตอนติดตั้งเลย ดังนี้

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