.NET Core เป็นเครื่องมือตัวล่าสุดในตระกูล .NET ของ Microsoft ที่ร้อนแรงมากๆ ในตอนนี้ ซึ่งโดดเด่นมากๆ ในเรื่องของประสิทธิภาพ และการรองรับการขยายตัวระบบได้ดี (High performance & Highly Scalable)
ซึ่งมี Dev คนหนึ่งชื่อ Shehryar Khan ได้แชร์ 20 Libraries ของ .NET Core เอาไว้บนอินเตอร์เน็ต แล้วอ.บอนด์ก็แปะมาในกลุ่มอีกที พลเห็นว่าน่าจะมีประโยชน์สำหรับหลายๆ คน ขอเอามาสรุปเป็นภาษาไทยไว้ที่นี่ครับ
LiteDB
LiteDB เป็นฐานข้อมูลแบบฝังตัวแบบ NoSQL (NoSQL embedded database) ลักษณะเด่นของมันคือ เล็ก, เร็ว เบา และสุดท้ายที่ขาดไม่ได้คือฟรีครับ
LiteDB มีความเหมือนกับ SQLite นั่นคือมันเก็บข้อมูลไว้ในไฟล์ๆ เดียวด้วย
ข้อดีมีดังนี้ครับ
- รองรับ LINQ
- เก็บข้อมูลในรูปแบบ Document
- รองรับการเข้ารหัส Datafile Encryption ที่ใช้ DES (AES)
- ทำ index ใน document field ได้ด้วย
CacheManager
CacheManager เป็นส่วนจัดการ Cache ที่เราจำเป็นต้องในในระบบต่างๆ ซึ่งเขียนในรูปแบบของภาษา C#
- รองรับกลไกของระบบ Cache หลายแบบ
- Developer ไม่ต้องนั่งปวดหัว จัดการ cache แบบต่างๆ ด้วยตัวเอง
Smidge
Smidge เป็นตัวจัดการบีบอัด CSS และ JavaScript สำหรับ ASP.NET Core ที่มีประสิทธิภาพสูง
รองรับการทำ minification, combination, และบีบอัดไฟล์ library ต่างๆ ที่ใช้ใน ASP.NET Core
BCrypt.Net-Core
BCrypt มักใช้ในการเพิ่มความปลอดภัยใน .NET Application ไม่ว่าจะเป็นเว็บแอพ หรือโปรแกรมคอมพิวเตอร์ เช่นการ hash รหัสผ่านเป็นต้น
สำหรับตัวนี้เป็นตัวที่แปลงมารองรับการใช้งานใน .NET Core นั่นเอง ใครย้ายโค้ดจากโปรเจค .NET เดิมมา สามารถสลับมาใช้ตัวนี้โดยที่ไม่ต้องเปลี่ยน namespace แต่อย่างใด
AspNetCore.Diagnostics.HealthChecks
ตัวมอนิเตอร์ระบบสวยๆ และปัจจุบันได้ทำหน้าตามาใช้Microsoft Health Checks ที่เพิ่มมาใน ASP.NET Core 2.2 แล้วด้วย
รองรับการทำงานกับฐานข้อมูลยอดนิยมต่างๆ เช่น
- MySql
- Sql Server
- Sqlite
- MongoDB
- Amazon S3
- Postgres
- Elasticsearch
- DynamoDb และอื่นๆ อีกมากมาย
FluentEmail
ส่งอีเมลล์ได้จากระบบที่เขียนด้วย .NET Core. มีส่วนเสริมที่ติดตั้งเพื่อปรับแต่งการทำงานมากมาย และรองรับเทมเพลตของ Email
ตัวอย่างโค้ดที่ใช้ส่ง Email แสดงถึงความง่าย
var email = Email
.From("[email protected]")
.To("[email protected]", "bob")
.Subject("hows it going bob")
.Body("yo dawg, sup?")
.Send();
UnitConversion
ใช้ในการแปลงค่ายอดนิยมในแอพพลิเคชั่นที่สร้างด้วย .NET Core
รองรับการแปลงค่าต่างๆ ดังนี้
- มวลวัด
- เวลา
- พื้นที่
- ระยะทาง
- จำนวนนับ
FastReport
FastReport เป็นตัวสร้างรายการ (report generator) สำหรับ .NET Core 2.x/.Net Framework 4.x. เราสามารถใช้ FastReport ใน MVC แอพพลิเคชั่นหรือ Web API ก็ได้
สามารถดึงข้อมูลได้หลายรูปแบบเช่น XML, JSON, CSV, MySql, MSSQL, Oracle, Postgres, SQLite, MongoDB, Couchbase, RavenDB.
autocomplete
ระบบ autocomplete ที่เรียบง่าย รองรับการใช้งานทั้งบนคอมพิวเตอร์ Desktop, เว็บ และ cloud ว่ากันว่าเป็น 1 ใน autocomplete library ที่ค้นหาเร็วที่สุดตัวหนึ่ง
รองรับ Input ทุกรูปแบบ รวมถึงการอ่านค่าโดยตรงจากไฟล์ในระบบ
AppMetrics
เอาไว้ใช้ตรวจวัดการใช้งานภายในแอพพลิเคัชั่นได้หลายๆ แบบ เป็นแบบ Cross Platform ด้วย
เช่นการนับจำนวนผู้เข้าใช้งาน, อัตราการส่ง request เพื่อขอข้อมูล, เวลาที่ใช้ในการ query ข้อมูลจาก database
รองรับการแสดงข้อมูลแบบ Counters, Meters, Gauges, Histograms และ Timers เป็นต้น
sharpcompress
SharpCompress เป็น library กลุ่มบีบอัด และแตกไฟล์
รองรับ
- zip
- rar
- 7zip
- tar
- bzip2
- gzip
HashLib
ตามชื่อเลยครับ เรามาสามารถเอาไว้ hash ไฟล์, streams, หรือข้อมูลต่างๆ ได้
รองรับอัลกอริทึมหลายแบบ เช่น กลุ่ม sha3 round 2 และ round 3
nopCommerce
nopCommerce เป็นระบบตะกร้าสินค้า e-commerce ที่ว่ากันว่าดีที่สุดตัวหนึ่ง
ใช้งานได้ฟรี ปรับแต่งได้เยอะ แถมติดตั้งง่าย
ที่สำคัญยังมีระบบ Search engine และออกแบบ URL ของเว็บไซต์สินค้าที่อ่านง่ายอีกด้วย
MailKit
สามารถใช้สร้าง Client ที่รองรับมาตรฐานการทำงานของระบบ Email แบบ RFC-compliant SMTP, POP3, and IMAP
cscore
Library สำหรับทำการกับไฟล์เสียง เขียนจาก C#.NET ทั้งหมด
สามารถใช้
- เล่นไฟล์เสียง
- บันทึกเสียง
- เข้ารหัส หรือถอดรหัส codecs แบบต่างๆ
- ใส่ effects ได้อีก
NetOffice
NetOffice รองรับการต่อยอด และการทำงานแบบอัตโนมัติกับกลุ่มไฟล์ Microsoft Office อย่าง
- Excel
- Word
- Outlook
- PowerPoint
- Access
- Project
- Visio
ที่โคตรดี ก็คือไม่จำกัดเวอร์ชั่นใช้งาน สามารถใช้ได้กับไฟล์ของ Microsoft Office เวอร์ชั่น 2000 เป็นต้นมาจนถึงปัจจุบัน
SSH.NET
ได้รับแรงบันดาลใจจากโครงการ Sharp.SSH ซึ่งถูกสร้างใหม่ทั้งหมด จึงไม่มีการอ้างอิงโค้ดจากโครงการอื่นๆ
ตัวเครื่องมือนี้มีคำสั่ง SSH ให้ใช้ในรูปแบบ Sync และ Async รวมไปที่ SFTP ที่รองรับการใช้งานทั้ง 2 แบบด้วย
รองรับการลงชื่อเข้าใจแบบ 2 ชั้น (2-factor authentication) หรือระดับที่สูงกว่า
It provides SSH commands using Sync & Async methods. SFTP functionality also supports Sync & Async operations. Supports two-factor or higher authentication as well.
SignalR
ASP.NET SignalR เป็นเครื่องมือสำหรับนักพัฒนาสาย ASP.NET ที่ทำให้เราสามารถเพิ่ม ความสามารถแบบ real-time เข้าในไปในเว็บแอพพลิเคชั่นของเรา applications.
“real-time web” คือกลไกที่ทำให้ Server สามารถส่งข้อมูลมาให้ฝั่งผู้ใช้ที่เชื่อมต่ออยู่ได้ เราจึงเรียกว่า real time ซึ่งต่างจากแบบปกติที่ฝั่ง client ต้องขอข้อมูลจาก server เสมอ
C-Sharp-Algorithms
สายอัลกอริทึมต้องชอบตัวนี้ เพราะมันรวมอัลกอรึทึม และโครงสร้างข้อมูลแบบต่างๆ ไว้มากกว่า 35 แบบ
ออกแบบแบบ Object-Oriented และถูกใช้ในการเรียนการสอนด้วย
Nancy
Nancy เป็น Framework ขนาดเบาที่ถูกใช้ในการจัดการติดต่อกับ Web API ใน .NET Framework/Core และ Mono (Xamarin หรือ .NET Mobile นั่นเอง)
Nancy ออกแบบมาให้ทำงานกับรีเควสแบบ GET, POST, PUT, DELETE, HEAD, OPTIONS, & PATCH และจัดการกับค่า Response ที่ได้รับกลับมาในไม่กี่บรรทัดเท่านั้น ทำให้ Developer มีเวลาไปทำงานกับส่วนอื่นได้มากขึ้น