[แปล] เรื่องการนำ React มาใช้ของ Airbnb

เช้านี้อ่านบทความเรื่อง How Airbnb use React สัมภาษณ์กับคุณ Leland Richardson ตั้งแต่ต้นปีที่แล้ว (นานเลยนะ) ซึ่งเป็น Lead Engineer ที่ Airbnb และเป็น contributor หลักของ Enzyme มาดูกันว่า ทำไมถึงเลือก React มาใช้ ? ใช้งาน React อย่างไรบ้าง ? มีอุปสรรคและความท้าทายอะไรบ้าง ? จึงทำการแปลและสรุปสิ่งที่น่าสนใจไว้นิดหน่อย ถึงจะเก่าหน่อยแต่คิดว่าน่าจะมีประโยชน์

Read More…

10 สาเหตุหลักที่ทำให้ Developer ไม่มีความสุข !!

จากบทความเรื่อง What Are the Top 10 Causes for Unhappiness Among Developers ? ได้พูดถึงการศึกษาเรื่อง On the Unhappiness of Software Developers จึงนำมาแปลและสรุปไว้นิดหน่อย จากการศึกษาโดยพบว่ามีสาเหตุมากถึง 219 ข้อ (มันจะเยอะไปไหน) เพื่อให้เข้าใจได้ง่าย ๆ จึงแบ่งออกเป็น 2 กลุ่มคือ Internal cause คือสาเหตุมาจากตัว developer เอง External cause คือสาเหตุมาจากสิ่งอื่น ๆ ที่ developer ควบคุมไม่ได้ แถมส่งผลต่อ developer โดยตรงอีก ดังนั้นมาดู 10 สาเหตุหลัก ๆ กันดีกว่า

Read More…

เริ่มต้นการเปลี่ยนจาก Java ไปยัง Kotlin

ช่วงนี้มีโอกาสเข้าไปเปลี่ยนภาษาโปรแกรมสำหรับพัฒนาระบบงาน จากภาษา Java ไปยังภาษา Kotlin ซึ่งกำลังเนื้อหอมกันเลยทีเดียว ก็มีทั้งข้อดีและข้อเสียกันทั้งนั้น ซึ่งหลาย ๆ คนคงจะเห็นบทความเกี่ยวกับภาษา Kotlin ออกมาเพียบ ตั้งแต่ที่ภาษา Kotlin ได้เข้าไปเป็นหนึ่งในภาษาหลักสำหรับการพัฒนา Android app แต่สิ่งที่น่าสนใจคือ ขั้นตอนการปรับเปลี่ยนมากกว่า ว่าต้องเป็นอย่างไรบ้าง ? ดังนั้นจึงสรุปวิ่งที่ได้ลงมือทำไปไว้นิดหน่อย ซึ่งทำการเปลี่ยนแปลงจากระบบที่มีอยู่แล้ว !!! มาเริ่มกันเลย

Read More…

สรุปการแบ่งปันในรอบ 8 วันที่ผ่านมา

ในรอบ 8 วันที่ผ่านมา เป็นช่วงเวลาที่มีโอกาศแบ่งปันความรู้เยอะน่าดู จึงทำการสรุปเอาไว้นิดหน่อย พร้อมเอกสารต่าง ๆ รวมทั้ง source code ไว้นิดหน่อย ซึ่งประกอบไปด้วย เรื่อง TDD with Golang จำนวน 2 วัน เรื่อง application monitoring จำนวน 1 วัน เรื่อง TDD with Java จำนวน 2 วัน เรื่อง Introduction to Microservice จำนวน 2 วัน เรื่อง Automation testing with Android จำนวน 1 วัน มาเริ่มกันเลย

Read More…

สวัสดี 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…