จะทำระบบให้รองรับ Automated Test ได้อย่างไร (Testable)

ตอนที่หัดเขียน Automated  Test ผมเคยเจอปัญหาว่า โค้ดเก่าที่เขียนมา มันไม่รองรับการเขียน Unit Test, Integration Test เอาซะเลย แกะยากเหมือนกัน จนแล้วจนรอดก็ลองทำใหม่ แล้วฝึกกับโจทย์ไปเรื่อยๆ จนพอตกผลึกได้บ้าง ว่าถ้าจะทำระบบให้รองรับการ Test (Testable) จะต้องทำอย่างไร

วันก่อน มีน้องในทีมถามว่า “ผมจะเขียน Integration Test อย่างไรดี” ก็เลยได้ย้อนไปทบทวนประสบการณ์ หาข้อมูล และถามจากผู้รู้เพิ่มเติม จึงกลับไปเล่าให้น้องฟัง ก็คิดว่ามีประโยชน์ จึงอยากแชร์ไว้มาแลกเปลี่ยนความรู้กัน Continue reading “จะทำระบบให้รองรับ Automated Test ได้อย่างไร (Testable)” »

สร้าง 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” »

Ultra-Trail 100km – Panoramic 2017 (งานวิ่งอัลตร้าเทรลพาโนรามิก 2017)

ก่อนไปถึงเรื่องตอนวิ่ง ขอเกริ่นที่มาถึงร้อยที่สองภายในสามสิบวันสักหน่อยนึง ว่าไม่ใช่เพราะอีลิทแต่เพราะ อิ..

เป็นงานวิ่งที่ผมตั้งใจมาแค่ 50กม แต่จับพลัดจับผลูมีสัญญาใจกับปลา(อินี่แหละ) Pla Kusumapirome ว่าจะมาลากนางจบร้อยกิโลในงานถัดไป เพราะตอนไปโป่งแยง100กม นางมากับผมได้แค่70กม แล้วก็ DNF โครตน่าเสียดาย.. แล้วหลังจากนั้นนางก็ไปโดนหัวหน้าแก๊งของนางป้ายยาว่า ฟิตถึง ประสบการณ์มี ทำของมาแล้ว จะให้รอถึงปีหน้าเดี๋ยวของเสื่อม นางเลยรีบไปหา bib panoramic 100กม ในทันที แล้วก็มากระซิบผมว่า “ร้อยหน้าเรามาถึงแล้วนะ อีกสี่อาทิตย์ มาลากด้วย..” Continue reading “Ultra-Trail 100km – Panoramic 2017 (งานวิ่งอัลตร้าเทรลพาโนรามิก 2017)” »