สร้าง API Document กับ .NET Core ง่ายๆ ด้วย Swagger

เมื่อโปรแกรเมอร์เขียน API เสร็จ และส่งให้ทีมอื่นๆไปใช้งานต่อ จะต้องอธิบายวิธีการใช้งานด้วย แต่ที่ต้องทำ คือควรมีเอกสารการใช้งาน หรือเรียกว่า API Document ส่งให้กับผู้ใช้เสมอๆ หรือเก็บไว้อ้างอิงที่ใดที่หนึ่ง

แต่กระนั้น โปรแกรมเมอร์อย่างเรามักไม่ชอบทำ API Document หรอกครับ เขียนๆไปแค่ให้มี สิ่งที่ได้มักเป็นเอกสารที่ใช้งานได้บ้างไม่ได้บ้าง เพราะเป็นภาษาที่คนเขียนเข้าใจแค่ตัวเอง หรือตัวอย่างไม่ชัดเจน หรือมีข้อมูลใช้งานไม่ครบถ้วน หนักไปกว่านั้นคือ บ่นว่าไม่มีเวลา แล้วก็ไม่ทำมันซะเลย (แต่มีเวลาไปอธิบายให้ผู้ใช้ทีละคนๆ 555)

ดังนั้น จะดีกว่าไหม ถ้าเราเขียนโค้ด API เสร็จ แล้วมีเครื่องมือสร้าง API Document ให้เราได้เลยอัตโนมัติ, อ่ะ ตอบแทนละกัน “ดีว่ะ!” Continue reading “สร้าง API Document กับ .NET Core ง่ายๆ ด้วย Swagger” »

ลองเล่น Visual Studio Team Services มันก็เจ๋งดีนะ ฟรีด้วย

เพิ่งเข้ามาเหยียบย่างในโลก Microsoft Developer เลยมีโอกาสไปเห็น Tools ตัวหนึ่งที่ชื่อว่า Visual Studio Team Services (VSTS) โดยมันเป็นระบบที่ช่วยให้ทำงานร่วมกันได้อย่างมีประสิทธิภาพ (Collaborative Tools) จากการถามผู้ใช้สาย Microsoft มา เขาบอกว่ามันเหมือนกับ​ Team Foundation Server (TFS) พอสมควร ซึ่งใครเคยใช้ TFS มาแล้ว ก็ไม่ต้องเปลี่ยนพฤติกรรมอะไรมากนัก Continue reading “ลองเล่น Visual Studio Team Services มันก็เจ๋งดีนะ ฟรีด้วย” »

ว่าด้วยเรื่องของ Microservices

มีคำถามบ่อยๆที่เจอมา ว่า Microservices คืออะไร บางทีก็กางแบบมาให้ดูว่า สิ่งที่ทำ เรียกว่า Microservies หรือเปล่า เลยขอสรุปบล็อกไว้นิดนึง

Microservices คืออะไร

ถ้าเราจะต้องออกแบบระบบ หรือไปสังเกตว่าระบบไหนเป็น Microservices สามารถสังเกตจากคุณลักษณะ 6 ข้อ ของมันได้ดังต่อไปนี้ Continue reading “ว่าด้วยเรื่องของ Microservices” »

ว่าด้วยเรื่อง “หนี้ทางเทคนิค” (Technical Debt) ทำไมต้องใส่ใจ

“Technical Debt” คืออะไร

“Technical Debt” ถ้าแปลตรงตัวก็คือ “หนี้ทางเทคนิค” โดยถูกใช้ครั้งแรกจากลุง Ward Cunningham ในขณะที่ลุงทำ Software ทางด้านการเงิน ชื่อ WyCash แล้วลุงต้องการสื่อสารให้เจ้านายที่รู้เรื่องทางด้านการเงินเข้าใจว่า ถ้าไม่แก้ปัญหาทางด้านเทคนิคหรือไม่ทำมันให้ดี แล้วปล่อยมันทิ้งไว้ ก็อุปมาเหมือนเป็นหนี้สะสมไปเรื่อยๆ แถมยังต้องชดใช้ดอกเบี้ยในอนาคตด้วยอีกนะ! Continue reading “ว่าด้วยเรื่อง “หนี้ทางเทคนิค” (Technical Debt) ทำไมต้องใส่ใจ” »

ตรวจสอบคุณภาพของ Code ด้วย SonarQube

โปรแกรมเมอร์ส่วนใหญ่จะมุ่งมั่นพัฒนา Software ให้เสร็จตามเวลาที่กำหนด จนบางทีก็ละเลยแบบตั้งใจและไม่ได้ตั้งใจ ที่จะทำให้ Source Code ที่เขียน มีคุณภาพหรืออย่างน้อยก็ได้ตามมาตรฐานที่มันควรจะเป็น

เรื่องเหล่านี้บางคนอาจไม่ค่อยอินเท่าไร หากทำงานคนเดียว หรืองานที่เร่งด่วนมากๆ (“งานร้อน” นั่นหละ) โดยเฉพาะงานทำครั้งเดียวเสร็จ ส่ง รับเงิน แล้วก็แยกย้าย.. แต่กับอีกหลายคนที่ต้องทำงานเป็นทีม หรือมี QA , CTO, Team Lead คอยเข้ามาตรวจสอบการทำงานของ Software และ Review Code อยู่สม่ำเสมอ ก็คงต้องปวดหัวกลับมาแก้งานรายชั่วโมง จนไม่ต้องทำมาหากิน

วันนี้เลยเอาเครื่องมือว้าวๆ ตัวหนึ่งชื่อ SonarQube มาให้ลอง มันเป็นตัวที่ช่วยตรวจสอบคุณภาพของ Source Code ให้เราได้แบบอัตโนมัติ  Continue reading “ตรวจสอบคุณภาพของ Code ด้วย SonarQube” »