.NET 6 จับมือทำ
อธิบายทิศทางของบทความชุดนี้
บทความก่อนหน้านี้ ผมแนะนำแนวทางการใช้ VS Studio ซึ่งมี GUI ที่อำนวยความสะดวกในการช่วยพัฒนา .NET 6 Web API มาให้อย่างสะดวกรวดเร็วครับ แต่เราอาจจะยังไม่เข้าใจถึงโครงสร้างและไฟล์ต่างๆที่ VS Studio สร้างมาให้เราโดยอัฒโนมัติ และยังรวมไปถึงคำสั่งต่างๆที่ใช้เพื่อรันโปรแกรมของเราขึ้นมาได้ครับ
ในบทความนี้ผมจึงอยากจะชวนผู้อ่านมาร่วมเน้นการสอนพื้นฐานของการใช้งาน Tools และการพัฒนาโครงสร้าง Web API เพื่อนำมาเป็น Backend
ในการนำไปต่อยอดกับ Frontend อื่นๆในอนาคตนะครับ
เนื้อหาจะมีการเปรียบเทียบกับ VS Studio เป็นระยะๆนะครับ เพราะผมเพ้อคิดถึงความง่ายดายที่ VS Studio ช่วยทำให้อยู่ตลอดเลย แต่ก็ต้องลองตัดใจเพื่อหัดใช้และศึกษา VS Code ให้มากขึ้นครับ เหะๆ (- -”)
เผื่อผู้อ่านอยากศึกษาเรื่องของ ความแตกต่างระหว่าง ASP.NET Core และ ASP.NET 4.x, โครงสร้างและการทำงานของ Web API Project, Kestrel, Middleware, Nuget, Minimal APIs
เผื่อผู้อ่านสนใจ Fundamental ของ .NET ผมแนะนำบทความจาก Saladpuk นะครับ ของดีย์
ส่วน Async Programming ผมแนะนำบทความนี้นะครับ
จุดประสงค์ของบทความนี้
ตั้งใจให้ผู้อ่านได้แนวทางการพัฒนาและดูแล Web API ของเราได้อย่างเหมาะสม ยืดหยุ่น รองรับการเปลี่ยนแปลงที่เกิดขึ้นจากความต้องการของลูกค้า และติดตั้งบน Servers ต่างๆได้อย่างสะดวกนะครับ
เนื้อหาเลยจะไม่ได้เน้นลงลึกในแต่ละหัวข้อ แต่จะรวบรวมหัวข้อที่คิดว่าจำเป็นในการพัฒนา Web API ที่จำเป็นให้ได้มากที่สุดแทนครับผม มองเป็น Keyword ไว้ตามไปศึกษาเพิ่มเติมกันต่อก็ได้นะครับ เย้ ^^
- ติดตั้งโปรแกรมที่จำเป็นกับการพัฒนา Web API ด้วย .NET 6
- แนะนำ VS Code Extension เพื่อทำให้การพัฒนา .NET 6 ได้สะดวกขึ้น
- เข้าใจการใช้ .NET CLI ในการจัดการโปรเจ็ค, ฐานข้อมูล และการรันโปรแกรม
- ศึกษาโครงสร้างของไฟล์ใน .NET 6 โปรเจ็ค
- เข้าใจการ Debugging ด้วย VS Code
- เข้าใจแนวทางการพัฒนาโปรเจ็คให้ Source Code มีความยืดหยุ่นและดูแลรักษาได้ง่าย ด้วย Interface, Dependency Injection, Service Lifetimes, Clean Architecture
- หัดติดตั้งและเชื่อมต่อฐานข้อมูล PostgreSQL ด้วย Docker และ DBeaver
- หัดติดตั้งและเชื่อมต่อฐานข้อมูล MongoDB ด้วย Docker และ MongoDB Compass
- ทดลองใช้ Swagger OpenAPI
- ทดลองใช้งาน Postman ในการเรียก Web API
- ศึกษาเรื่อง IOption Pattern ในการเรียกใช้ Configuration File, Environment Variable
- ทดลองใช้งาน Entity Framework ด้วย Code First Migration, Seeding Data และ Database Context ด้วยการเชื่อมต่อไปที่ PostgreSQL
- ศึกษาเรื่อง Logging ด้วย Serilog และ Sink ด้วยการเชื่อมต่อไปที่ MongoDB
- ศึกษาเรื่อง User Authentication ด้วย .NET Core Identity and JSON Web Tokens
- ศึกษาการทำ Unit Testing ด้วย xUnit
- ทดลองพัฒนา Backgroud/Schedule Process ด้วย Hangfire
- ทดลองสร้างระบบ Health Check UI ด้วย AspNetCore.Diagnostics.HealthChecks
- เปรียบเทียบสิ่งที่ทำไปทั้งหมดในบทความกับ The Twelve Factors App
พร้อมแล้วลุยกันครับบบบ
- #0: เกริ่นนำ
- #1: ติดตั้งโปรแกรม
- #2: รวม Cheat Sheet
- #3: Empty Solution in GitHub
- #4: พัฒนาโครงสร้างของ Source Code
- #5: VS Code Debugging
- #6: Configuration
- #7: Dependency Injection & Service Lifetime
- #8: Domain Project
- #9: Core Project
- #10: Infra Project
- #11: API Project
- #12: Unit Testing
- #13: Logging and Monitoring
- #14:เพิ่มความปลอดภัยด้วย OAuth2 & OpenID Connect
- #15: Background Process & Scheduler
- #16: Health Checks
- #17: The Twelve-Factor App
- #18: Deployment — Docker
- #19: Deployment — Azure App Service
- #20: Deployment — Azure Container Apps
สรุป
ในบทความนี้เนื้อหาจะเยอะมากๆเลย ผมตั้งใจให้เป็นแบบนี้เพื่อวางรากฐานสำหรับสิ่งที่จำเป็นถ้าเราอยากจะพัฒนาโปรแกรมด้วย .NET 6 ครับผม ไม่ว่าจะเป็นเรื่องของ Tools ที่ใช้, เทคนิคต่างๆ เช่น Dependency Injection, Docker
ผมคาดหวังว่าเนื้อหาในบทความนี้จะเป็นประโยนช์กับผู้อ่านไม่มากก็น้อยนะครับ
Happy Coding
นายป้องกัน