ในรอบ 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

โดยเอกสารต่าง ๆ และตัวอย่าง source code อยู่ที่ Github :: Up1 :: TDD with Golang

เรื่อง 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 เช่นเดิม

โดยเอกสารต่าง ๆ และตัวอย่าง source code อยู่ที่ Github :: Up1 :: Microservice และ Course Microservice

เรื่อง Automation testing with Android จำนวน 1 วัน

เป็น private class ซึ่งเป็นการแนะนำให้รู้จักกับการทดสอบแบบอัตโนมัติสำหรับ Android App
โดยการทดสอบ Android app นั้นประกอบไปด้วย

  • การทดสอบที่ต้องการ Emulator/Device ด้วย Espresso
  • การทดสอบที่ไม่ต้องการ Emulator/Device ด้วย JUnit4

รวมทั้งการทำ Stress testing ด้วย Monkey testing
ซึ่งเป็นพื้นฐานที่เหล่านักพัฒนา Android app ต้องเข้าใจ
และสามารถนำไปประยุกต์ใช้งาน เพื่อให้เกิดประโยชน์ได้

Tags: