Practice Archive

สรุปบทความเรื่อง Write tests. Not too many. Mostly integration

ช่วงหลัง ๆ เรามักจะได้ยินรูปแบบการทดสอบระบบงานมากมาย ทั้ง ice cream testing, pyramid testing, cup cake testing รวมทั้งอีกหนึ่งแนวคิดคือ Trophy testing ซึ่งจะเน้นไปที่ทดสอบเฉพาะในส่วนที่จำเป็นมาก ๆ นั่นก็คือ Integration testing เป็นแนวคิดที่น่าสนใจมาก ๆ ก็เลยไปค้นหาข้อมูลเพิ่ม เลยเจอบทความเริ่มต้นคือ Write tests. Not too many. Mostly integration ทำการอธิบายได้ชัดเจน เลยนำมาแปลและสรุปไว้นิดหน่อย มาเริ่มกันเลย

Read More…

คำแนะนำสำหรับการเขียน code ด้วยภาษา Java

ในปี 2018 นั้นได้สอนและแนะนำเกี่ยวกับการพัฒนาระบบงานด้วยภาษา Java เยอะพอควร สิ่งที่หนึ่งที่มักจะแนะนำคือ เรื่องที่นักพัฒนาภาษา Java มักทำผิด ยกตัวอย่างเช่น ไม่รู้จัก JAVA_HOME ไม่รู้จัก CLASSPATH ไม่สามารถ compile และ run ผ่าน command-line ได้ ไม่ได้ใช้ความสามารถของ IDE ได้อย่างเต็มที่และถูกต้อง ซึ่งผมคิดว่า เป็นพื้นฐานมาก ๆ ที่ควรต้องรู้และเข้าใจ เพื่อช่วยทำให้เราแก้ไขปัญหาต่าง ๆ ได้อย่างถูกต้องมากยิ่งขึ้น แต่ก็มีเรื่องอื่น ๆ ที่อยากจะแนะนำอีกสักเล็กน้อย มาดูกันว่ามีอะไรบ้าง

Read More…

ว่าด้วยเรื่องของ Project ที่ล้มเหลว

นั่งอ่านหนังสือเกี่ยวกับการพัฒนา software มีเรื่องที่น่าสนใจคือ สาเหตุที่ทำให้ project มันล้มเหลวหรือ fail มาจากหลายสาเหตุมาก ๆ เลยสรุปไว้นิดหน่อย บางครั้งมีงานออกมาดีมาก แต่ทีมแตกกระจาย บางครั้งไม่มีงานออกมา แต่ทีมดีมาก บางครั้งทีมแย่และงานก็แย่ คำถามคือ คำว่าล้มเหลววัดจากอะไร ? ปล. ปกติเราน่าจะทำ product มากกว่า project กันอยู่แล้ว ดังนั้นไม่น่าจะ fail กันมากหรอก ใช่ไหมนะ

Read More…

พื้นฐานของการ monitor สิ่งต่าง ๆ ใน Docker

ในการจัดการ container ด้วย Docker นั้น เรื่องหนึ่งที่สำคัญมาก ๆ คือ การ monitoring นั่นเอง เราจะรู้ได้อย่างไรว่า Docker ทำงานอะไรบ้าง ? เราจะรู้ได้อย่างไรว่า แต่ละ container ใช้งาน CPU, Memory และ I/O เท่าไร ? สิ่งต่าง ๆ เหล่านี้เป็นคำถามที่ผู้ใช้งานใหม่ ๆ ต้องตอบให้ได้ ดังนั้นมาดูกันหน่อย ว่าทำอย่างไรได้บ้าง

Read More…

สรุปบทความเรื่อง Microservices Architecture ของ Medium.com Part 1

ทาง Medium.com ได้เขียนสรุปเกี่ยวกับแนวทางการนำ Microservice Architecture มาใช้งาน ซึ่งช่วยทำให้ทีมพัฒนาสามารถพัฒนาและส่งมอบระบบงานได้เร็วขึ้น พร้อมกับคุณภาพที่สูงขึ้น รวมทั้งยังช่วยทำให้แต่ละ service แยกกันพัฒนาและลดผลกระทบต่าง ๆ อีกด้วย ดังนั้นเรามาดูกันหน่อยว่า ทีมพัฒนาของ Medium.com เขาทำกันอย่างไรบ้าง ? จึงทำการสรุปจากบทความไว้นิดหน่อย

Read More…

สรุปจากบทความ 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…