สวัสดี Microlith !!!

จากบทความเรื่อง The evolution of scalable microservices นั้น ทำการอธิบายเกี่ยวกับ microservice ได้อย่างน่าสนใจ โดยเฉพาะในเรื่อง Microlith หรือ Micro Monolith ดังนั้นจึงทำการสรุปไว้นิดหน่อยดังนี้

Read More…

สรุปการแบ่งปันเรื่อง ความสวยงามของ BAD code

มีโอกาสไปพูดในงาน Code mania 101 ในช่วง Flash talk 5 นาที ซึ่งเรื่องที่เสนอไปคือ มาเขียน BAD code กัน มีเป้าหมายเพื่อ ชี้ให้เห็นความสวยงาม หรือ ประโยชน์จาก BAD code นั่นเอง

Read More…

[Docker CE Edge] มาลองใช้งาน Multi-stage build สำหรับสร้าง image กัน

วันนี้ไปดู release note ของ Docker edge version (v17.05.0 ce) พบว่า มีความสามารถที่กำลังต้องการคือ Multi-stage build ซึ่งช่วยทำให้การสร้าง image ของระบบงานได้ง่าย และสะดวกขึ้น ที่สำคัญยังช่วยลดขนาดของ image อีกด้วย มาลองใช้งานกันดู

Read More…

แค่คำว่า Good Enough มันคงยังไม่พอนะ !!

ในการพัฒนา software นั้น นักพัฒนาต้องการวิธีที่ เร็วที่สุดเท่าที่จะทำได้ สั้นที่สุดเท่าที่จะทำได้ ใช้ค่าใช้ง่ายน้อยที่สุดเท่าที่จะทำได้ แต่สิ่งที่ขาดไปไม่ได้เลยคือ คุณภาพที่ดี (ซึ่งมักถูกมองข้ามหรือตัดทิ้งไป) ยิ่งกับ source code ยิ่งสำคัญมาก ๆ คำถามที่น่าสนใจคือ เราให้ความสำคัญต่อคำว่าคุณภาพของ code ที่สร้างขึ้นมาหรือไม่ ? หรือว่าแค่ให้มันทำงานได้ดีก็พอแล้ว ? เราเห็นถึงความสำคัญของการดูแลรักษาในระยะยาวหรือไม่

Read More…

กรุณาระบุ version ของ library ที่ใช้ให้ชัดเจน

หลังจากที่ทำการ review หลาย ๆ ระบบ พบปัญหาคล้าย ๆ กันคือ ไม่ยอมระบุ version ของ library ที่ใช้งาน หรือทำการระบุ version แบบเป็นช่วง ปัญหาที่พบประกอบไปด้วย ใช้ library version ไหนกันแน่ เมื่อ library ที่ใช้มีการ upgrade ก็พังกันหมด build ผ่านบ้างไม่ผ่านบ้าง test ผ่านบ้างไม่ผ่านบ้าง เจอ bug แปลก ๆ อีก สาเหตุหลัก ๆ มาจากคนใช้งาน หรือตัว package manager ที่ใช้งานกัน

Read More…

การทดสอบเกี่ยวกับ Exception ใน JUnit 5

วันนี้ลองใช้งาน Junit 5 ในงานนิดหน่อย พบว่าหลาย ๆ อย่างจาก JUnit 4 มันหายไป หลายอย่างเพิ่มมา ทั้งทำให้ยากและง่ายขึ้น มีสิ่งหนึ่งที่น่าสนใจคือ การทดสอบกับ Exception เนื่องจากของเดิมจาก JUnit 4 นั้นมีทางเลือกให้เยอะ ทั้ง try-catch (ไม่ควรทำนะ) ทั้ง @Rule ทั้ง expected ใน @Test ใน JUnit 5 นั้นไม่มี แต่ได้เพิ่ม assertion มาให้เลย ดังนั้นลองมาใช้งานกันดูหน่อย

Read More…

Stack Overflow ช่วย developer กว่า 1 ล้านคนออกจากโปรแกรม Vim ได้ !!!

อ่านเจอบทความเรื่อง Stack Overflow: Helping One Million Developers Exit Vim เป็นเรื่องที่ไม่เชื่อก็ต้องเชื่อ เพราะว่าข้อมูลมันบอกอย่างนั้น นั่นคือมีคนเข้ามาดูคำถาม How to exit the Vim editor ? มากกว่า 1 ล้านครั้ง แสดงว่า Vim มันใช้ยากจริง ๆ นะ !!

Read More…

[Docker] แก้ไขปัญหาเรื่อง JVM กิน memory เยอะเกินเหตุ !!

ปัญหาที่มักพบเจอเกี่ยวกับการสร้าง Container สำหรับ JVM คือ การกำหนดขนาดของ memory ให้นั่นเอง ซึ่งพบว่า ถึงแม้จะกำหนดขนาดของ memory ตอนสร้าง container ไปแล้ว แต่ตัว JVM มันก็ยังมีค่าของ Max Heap Size (Estimated) เป็นค่าที่สูงกว่า

Read More…

ก้าวแรกสู่สังเวียน Angular

การเริ่มต้นศึกษาสิ่งใหม่ ๆ มันยากเสมอ Angular ก็เช่นกัน ถ้าไปฟังจากนักพัฒนาที่ใช้งานแล้ว พบว่า มันมีความซับซ้อนมาก ๆ แลดูว่าจะยากต่อการใช้งาน ซึ่งมันก็ไม่ผิดแต่อย่างใด ดังนั้นจะขอแนะนำการเริ่มต้นศึกษา Angular ไว้นิดหน่อย รวมทั้งความรู้พื้นฐานไว้นิดหน่อย น่าจะเป็นประโยชน์บ้างเล็กน้อย

Read More…

[Android] ใช้ Factory pattern สำหรับการสร้าง ViewModel object

จาก blog เรื่อง [Android] ลองใช้ ViewModel class จาก Architecture Component กันหน่อย มีคำถามว่า ถ้าอยากให้การสร้าง ViewModel ส่วนงามมากขึ้น แนะนำให้ใช้งาน Factory pattern มาช่วย !!! มันทำอย่างไร ? ดังนั้นจึงมาตอบคำถามไว้นิดหน่อย

Read More…