ว่าง ๆ มาปรับปรุงการทำงานของ Spring Boot ให้เร็วขึ้น

ปัญหาที่พบเจอในการทดสอบระบบที่พัฒนาด้วย Spring Boot เมื่อเริ่มเขียนชุดการทดสอบของระบบที่พัฒนาด้วย Spring Boot นั้น ชีวิตก็จะสบายขึ้นมาเยอะ เนื่องจาก Spring Boot ได้เตรียม Spring Boot Unit test หรือ Integration test มาให้อยู่แล้ว แต่ขั้นตอนการทำงานภายในนั้น มันจะทำการสร้าง context ขึ้นมาทุกครั้ง ดังนั้นผลที่ตามมาคือ “ความช้า” และนี่แหละคือปัญหาที่ต้องเจอ จะแก้ไขหรือปรับปรุงอย่างไร เพื่อให้ทำการทดสอบได้รวดเร็วขึ้น

Read More…

ว่าด้วยเรื่องของ Scope ในภาษา Go

เห็นในกลุ่มภาษา Go นั้นมี quiz เรื่องของ Declaration และ Scope ในภาษา Go รวมไปถึงเรื่องของ Block อีกด้วย อ่าน code ใน quiz แล้วยังงง ๆ เลยไปนั่งดู Specification ของภาษาหน่อย พบว่ามีรายละเอียดเยอะจริง ๆ ดังนั้นลองมาเขียน code กันหน่อย

Read More…

ลดละเลิกการเขียน Log เพื่อ Debug ระบบงานกันเถอะ

ในการพัฒนาระบบงานนั้น บ่อยครั้งนักพัฒนาชอบเขียน code แสดงผลการทำงานในส่วนต่าง ๆ ออกมายังหน้าจอหรือ console เพื่อทำให้รู้ว่า การทำงานในแต่ละส่วนเป็นอย่างไรบ้าง หรือบางครั้งก็ใช้เพื่อหาจุดที่ทำงานผิดพลาด หรือ งง ๆ เรามักเรียกกันว่า การ debug

Read More…

[Java] มาลองใช้งาน Test containers กัน

โดยปกติการทดสอบในระดับ integration test และ component นั้น มักจะทดสอบผ่านระบบจริง ๆ ซึ่งควบคุมได้ยาก ยกตัวอย่างเช่น การทดสอบกับ Database, Data store รวมไปถึงการทดสอบระดับ UI/Acceptance test ซึ่งต้องทดสอบผ่าน browser แน่นอนว่า การจัดการนั้นไม่ง่ายเลย แต่เมื่อเข้าสู่ยุคของ container แล้วนั้น เรื่องต่าง ๆ เหล่านี้จะง่ายขึ้น แต่แลกมาด้วยการเรียนรู้และเครื่องที่แรงขึ้น หนึ่งในเครื่องมือนั้นคือ Test containers ซึ่งเป็น library ที่พัฒนาด้วยภาษา Java 1.8 ที่สำคัญคือ ใช้งานร่วมกับ JUnit ได้เลย เหมาะมากสำหรับการทดสอบระบบงาน

Read More…

แนะนำ Play with Kubernetes

แนะนำแหล่งเรียนรู้เกี่ยวกับ Kubernetes (K8s) คือ Play with Kubernetes classroom เป็นระบบการเรียนรู้ผ่าน browser เหมือนกับ Play with Docker เลย ทำให้ไม่ต้องมาเสียเวลาในการติดตั้ง software ใด ๆ ซึ่งเหมาะมาก ๆ สำหรับผู้เริ่มต้น ประกอบไปด้วยเอกสารการใช้งาน มีทั้ง command line ให้ลองฝึกใช้งาน ดังนั้นมาใช้งานกันครับ

Read More…

เริ่มต้นเขียน Automation Test กันดีกว่า

มีโอกาสแบ่งปันเรื่องการทดสอบระบบงานแบบอัตโมมัติ (Automation Test) ทั้ง Web, API และ Mobile ใช้การทดสอบเป็นตัวหลักในการขับเคลื่อนการพัฒนา software เป็นสิ่งที่สำคัญและขาดไปไม่ได้เลย ช่วยทำให้เรามีความเชื่อมั่นต่อ code ที่เขียน อีกทั้งลดความกลัวจากการแก้ไข และช่วยให้เรากล้าทดลองทำในสิ่งใหม่ ๆ อีกด้วย แต่สำหรับการเริ่มต้นมันไม่ง่ายเลย จึงทำการสรุปสิ่งที่ควรจะรู้ไว้นิดหน่อย

Read More…

Link ต่าง ๆ เกี่ยวกับ Android จากงาน Google I/O 2018

นั่งดู VDO ของ session ต่าง ๆ จากงาน Google I/O 2018 รวมทั้งบทความต่าง ๆ พบว่ามันเยอะมาก ๆ เลยทำการสรุปไว้อ่านนิดหน่อย ไม่รู้ว่าจะอ่านและดูหมดหรือไม่

Read More…

ว่าง ๆ มาทำทำความรู้จักกับ Navigation Architecture Component

จากงาน Google I/O 2018 นั้นมีหลายสิ่งอย่างมาก ๆ สำหรับชาว Android จะเห็นได้ว่าทำการสรุปและรวบรวมชุดเครื่องมือต่าง ๆ ไว้ในชื่อใหม่ว่า Android Jetpack ซึ่งช่วยทำให้การพัฒนาง่ายและสะดวกขึ้น ลดจำนวน code ขยะหรือที่ไม่จำเป็นลงไป รวมทั้งช่วยพัฒนาระบบที่มีคุณภาพและเสถียรอีกด้วย บอกได้คำเดียวว่าเพียบ มีทั้งของเก่าและใหม่ มีตัวหนึ่งที่น่าสนใจคือ Navigation หรือ Navigation Architecture Component ดังนั้นมาทำความรู้จักกันหน่อย จะเข้าใจง่ายขึ้น ก็ต้องใช้งานสิ มาเริ่มกันเลย

Read More…

บันทึกการเขียน Unit test สำหรับ RxJava บน Android app ไว้นิดหน่อย

จดบันทึกไว้นิดหน่อยสำหรับการเขียน Unit test สำหรับทดสอบ Android app ที่พัฒนาด้วย Reactive for Java 2.x (RxJava) ซึ่งมีโครงสร้างง่าย ๆ คือ Presenter สำหรับควบคุมการทำงานหลักของระบบ Repository สำหรับจัดการการดึงข้อมูลจาก REST APIs โดยนำ RxJava มาใช้ในส่วนของ Presenter เพื่อทำงานกับการดึงข้อมูลจาก Repository คำถามที่ตั้งไว้คือ จะทำการทดสอบในส่วนของ Presenter อย่างไรดี ? เพราะว่ามีการใช้งานทั้ง Repository หนักกว่านั้นคือ RxJava นั่นเอง ดังนั้นมาเขียนชุดทดสอบกันดีกว่า

Read More…

Kotlin :: งง ๆ กับ keyword class และ object

เขียน code ด้วยภาษา Kotlin ไปเรื่อย ๆ ก็มักจะเจอ keyword class และ object อยู่ตลอด บางครั้งก็ใช้ class keyword บางครั้งก็ใช้ object keyword มาดูกันหน่อยสิ

Read More…