ในรอบ 8 วันที่ผ่านมา เป็นช่วงเวลาที่มีโอกาศแบ่งปันความรู้เยอะน่าดู
จึงทำการสรุปเอาไว้นิดหน่อย
พร้อมเอกสารต่าง ๆ รวมทั้ง source code ไว้นิดหน่อย
ซึ่งประกอบไปด้วย
- เรื่อง TDD with Golang จำนวน 2 วัน
- เรื่อง application monitoring จำนวน 1 วัน
- เรื่อง TDD with Java จำนวน 2 วัน
- เรื่อง Introduction to Microservice จำนวน 2 วัน
- เรื่อง Automation testing with Android จำนวน 1 วัน
เรื่อง TDD with Golang จำนวน 2 วัน
มีโอกาสเดินทางไปแบ่งปันที่จังหวัดเชียงใหม่ เนื้อหาหลัก ๆ ประกอบไปด้วย- พื้นฐานของภาษา Golang สำหรับผู้เริ่มต้น
- เรียนรู้เรื่องการเขียนชุดการทดสอบด้วยภาษา Golang ด้วย testing package
- เรียนรู้การสร้างระบบ REST APIs ด้วยภาษา Golang ด้วย net/http package
- เรียนรู้การทดสอบ REST APIs ด้วย Postman, Silk และ Robotframework
เรื่อง Application monitoring จำนวน 1 วัน
ก่อนหน้านี้ทำการแบ่งปันเรื่อง การพัฒนาระบบ REST APIs ด้วย Spring boot ไปนิดหน่อย ดังนั้นสิ่งที่ผู้พัฒนาต้องใส่เพิ่มเข้าไปในระบบคือ ระบบ monitoring โดยสิ่งที่แบ่งปันไปประกอบไปด้วย- ทำการจัดเก็บข้อมูลต่าง ๆ ของการใช้งาน REST APIs ใน Prometheus ซึ่งเป็น Time serie database เหมาะกับข้อมูลการใช้งานมาก ๆ
- ระบบ REST APIs ต้องมี endpoint สำหรับเก็บข้อมูลต่าง ๆ ในรูปแบบของ Prometheus
- ทำการแสดงผลในรูปแบบ graph สวย ๆ ด้วย Grafana ซึ่งดึงข้อมูลจาก Prometheus มานั่นเอง
เรื่อง TDD with Java จำนวน 2 วัน
เป็น course ที่จัดโดยสถาบัน IMC ซึ่งจะจัดสอนทุก ๆ 3 เดือน โดยในครั้งนี้ทำการแบ่งปันเรื่องต่าง ๆ ดังนี้- ทำความเข้าใจเกี่ยวกับแนวคิด TDD (Test-Driven Development)
- ลงมือเขียน test กันตามแนวคิด TDD
- เรียนรู้เกี่ยวกับ JUnit ซึ่งเป็น library สำหรับเขียน unit test สำหรับภาษา Java
- เรียนรู้การนำ Test Double มาใช้งานเช่น Stub และ Mock เป็นต้น
- เรียนรู้เกี่ยวกับ SOLID ซึ่งเป็นแนวคิดในการออกแบบและพัฒนาที่น่าสนใจ
- เรียนรู้เกี่ยวกับการทดสอบในส่วนของ User Interface ด้วย Selenium
เรื่อง Introduction to Microservice จำนวน 2 วัน
เป็นเรื่องราวเกี่ยวกับ Microservice ที่ผมไปสอนให้กับนักศึกษาเป็นเวลา 1 เทอม ซึ่งทำการยุบและสรุปเนื้อหาให้อยู่ภายใน 2 วัน โดยมีคนสนใจลงทะเบียนมาเรียนรู้และรับการแบ่งปันด้วย มีเนื้อหาดังนี้- ทำความเข้าใจเกี่ยวกับวิวัฒนาการของ Architecture ของระบบตั้งแต่ Monolith จนมาถึง Microservice
- ทำความเข้าใจเกี่ยวกับ RESTful APIs
- ทำการออกแบบ service โดยนำเอา Service Design Blueprint มาประยุกต์ใช้งาน ซึ่งทำให้เข้าใจกันมากขึ้น
- ทำการพัฒนา service ด้วยภาษาต่าง ๆ ทั้ง Java, Golang และ NodeJS
- ทำการทดสอบ service ต่าง ๆ ด้วย Postman, Silk และ Robotframework
- ทำการ monitoring service ด้วย Prometheus และ Grafana เช่นเดิม
เรื่อง Automation testing with Android จำนวน 1 วัน
เป็น private class ซึ่งเป็นการแนะนำให้รู้จักกับการทดสอบแบบอัตโนมัติสำหรับ Android App โดยการทดสอบ Android app นั้นประกอบไปด้วย- การทดสอบที่ต้องการ Emulator/Device ด้วย Espresso
- การทดสอบที่ไม่ต้องการ Emulator/Device ด้วย JUnit4