Practice Archive

สรุปจากบทความ Code: Align the happy path to the left edge

เห็นบทความเรื่อง Code: Align the happy path to the left edge ที่กลุ่ม Golang Thailand ผู้พูดคือ คนเขียนหนังสือ Go Programming Blueprints นั่นเอง ซึ่งพูดในงาน Golang UK Conference ตั้งแต่ปี 2016 เห็นว่าน่าสนใจจึงนำมาสรุปไว้นิดหน่อย มาเริ่มกันเลย

Read More…

สรุปการอ่านหนังสือ Release It 2nd edition บทที่ 6 เรื่อง Stability Patterns

ในช่วงวันหยุดหยิบหนังสือ Release It 2nd edition มาอ่าน เน้นบทที่ 6 ว่าด้วยเรื่อง Stability Patterns ซึ่งอธิบายถึงรูปแบบของการวางสถาปัตยกรรมของระบบที่ดี เป็นแนวทางในการออกแบบระบบ เพื่อลด ขจัดปัดเป่า จากปัญหาต่าง ๆ ที่อาจจะเกิดขึ้น หรือลดความอันตรายจากข้อผิดพลาดต่าง ๆ ลงไป ไม่ใช่ต้องตื่นมากดึก ๆ เพื่อมาแก้ไขระบบ ไม่ใช่ต้องยกเลิกงานทั้งหมด เพื่อมาแก้ไขระบบ ถ้าเป็นแบบนี้คงไม่ต้องทำอะไรกันพอดี !! ดังนั้นมาสร้างระบบดี ๆ กันหน่อย

Read More…

มาดูผลการสำรวจเรื่อง High-performing DevOps 2018 จาก DORA กัน

จากบทความเรื่อง New research: what sets top-performing DevOps teams apart ทำการสรุปผลการสำรวจเรื่อง Accelerate: State of DevOps 2018: Strategies for a New Economy ว่าด้วยเรื่องของผลของการนำแนวคิด DevOps มาประยุกต์ใช้ ว่า deploy ระบบได้บ่อยไหม ว่า lead time ของการทำงานลดลงหรือรวดเร็วขึ้นไหม ว่าข้อผิดพลาดจากการเปลี่ยนแปลงต่าง ๆ มันลดน้อยลงไหม ว่าสามารถ recovery ระบบงาน จากความผิดพลาดได้รวดเร็วขึ้นไหม ดังนั้นมาดูผลสรุปจากแบบสำรวจนี้กัน น่าจะพอมีประโยชน์สำหรับใครที่นำแนวคิด DevOps เข้ามาใช้ในองค์กร

Read More…

สิ่งที่ทำให้นักพัฒนาไม่พอใจ !! สุดท้ายก็ …

นั่งคุยกับนักพัฒนามาพอสมควร ได้รับรู้ปัญหาเกี่ยวกับสิ่งที่ทำให้นักพัฒนาไม่พอใจ สุดท้ายทำให้นักพัฒนาเหล่านั้นต้องเปลี่ยนที่ทำงาน !! เหมือนเป็นศาลาคนเศร้าเลย มาดูกันว่ามีอะไรบ้าง

Read More…

[Part 3] ภาคจบสำหรับการพัฒนาระบบตามแนวคิด 12 Factor

มาทำความรู้จักกับ 4 ข้อสุดท้ายสำหรับ The Twelve-Factor App โดยในส่วนนี้จะเป็นส่วนของผู้ดูแลระบบ ประกอบไปด้วย Disposability Dev/prod parity Logs Admin processes มาดูในรายละเอียดกัน

Read More…

[Part 2] มาต่ออีก 4 ข้อ สำหรับการพัฒนาระบบตามแนวคิด 12 Factor

หลังจากที่ลองพัฒนาระบบด้วยภาษา Python ตามแนวคิด The Twelve Factor App มาแล้ว 4 ข้อคือ Codebases Dependencies Configs Backing services ซึ่งยังเหลืออีก 8 ข้อ ดังนั้นมาต่อกันให้จบ โดยทั้ง 8 ข้อนี้จะเข้ากันมาก ๆ กับโลกของ Containerization ในตัวอย่างจะเน้นไปที่ Docker เป็นหลัก มี Kubernetes มาผสมบ้างเล็กน้อย ปล. เขียนไปเขียนมาทำไมมันยาว ดังนั้นเพิ่มแค่ 4 ข้อเป็น 8 ก็แล้วกัน ที่เหลืออีก 4 ข้อ เอาไว้อีก blog มาเริ่มกันเลย ข้อที่ 5 Build, release, run Strictly separate build and run stages [&hellip

Read More…

[Part 1] ว่าง ๆ มาลองพัฒนาระบบด้วยภาษา Python ตามแนวคิด 12 Factor กัน

ช่วงหลังมีการพูดถึง The Twelve -Factor App กันเยอะ แต่ไม่ค่อยบอกหรือแสดงให้ดูว่ามันทำอย่างไรบ้าง ? ดังนั้นเราลองมาพัฒนาระบบงานแบบง่าย ๆ ตามแนวคิดนี้กันดู (ตามความเข้าใจที่มีนะ ผิดถูกก็ตามข้างล่างนี้) มาเริ่มกันดีกว่า ปล. ยิ่งรู้ว่าผิดเร็ว ก็จะทำถูกได้ไว

Read More…

มาดูโครงสร้าง code ของ Google I/O 2018 app for Android กัน

จาก session Architecture Components in Real Life (Android) ในงาน Mobile Conf 2018 มีคำถามหนึ่งที่น่าสนใจคือ ทาง Google ได้ปล่อย source code ของ Google I/O 2018 app ออกมา เหล่า Android developer ได้เข้าไปดู เข้าไปศึกษาหรือไม่ ? คำตอบที่ได้รับกลับมาคือ เงียบ (อาจจะมีคนเข้าไปดูก็ได้ แต่ไม่แสดงตัวเท่านั้นเอง) เป็นสิ่งที่แปลกมาก ๆ นะ (หรือเป็นเรื่องปกติไปแล้วนะ) ดังนั้นเหล่า Android developer มาลองศึกษากันหน่อย ว่า Google I/O 2018 app นั้นเขาพัฒนากันออกมาอย่างไร ? มีโครงสร้างอย่างไรบ้าง ? ดังนั้นมาลองดูกัน

Read More…

วันนี้เราลบ code ที่ไม่ใช้งาน แล้วหรือยัง ?

เพิ่งไปแบ่งปันเรื่องของ Code Quality มีหนึ่งเรื่องที่น่าสนใจคือ dead code หรือ code ที่ไม่ถูก execute หรือ code ที่ไม่ถูกใช้งาน หรือ code ที่ comment ไว้ ทั้ง ๆ ที่ใช้ version control หรือหนักสุดคือ code ที่สร้าง feature ที่ไม่มีผู้ใช้งาน คำถามคือ ทุกวันนี้เรายังดูแลรักษา code เหล่านี้ไว้กันหรือไม่ ? ลองตอบกันหน่อยนะ

Read More…

ระบบที่ดีควรมีสิ่งต่าง ๆ เหล่านี้บ้างนะ

ระหว่างรอรถกลับบ้าน ทำการสรุปสิ่งที่จำเป็นต่อการพัฒนาระบบงาน แต่ในปัจจุบันเราพยายามแยกระบบงานใหญ่ออกเป็น service เล็ก ๆ หรือบางคนอาจจะเรียกว่า Microservices สิ่งที่น่าสนใจคือ ในการพัฒนาระบบงานนั้น เราต้องคำนึงถึงอะไรบ้าง

Read More…