Practice Archive

ปัญหาที่มักพบเจอกับระบบ Continuous Delivery ของ Mobile app

ในการสร้างระบบ Continuous Integration และ Continuous Delivery สำหรับ Mobile นั้น มีหลายสิ่งอย่างที่ควรคำนึงถึง ไม่ว่าจะเป็น จำนวนของ device ที่แตกต่าง การออกแบบของแต่ละ platform การพัฒนา โครงสร้างของ code การทดสอบ การ deploy การ release โดยสิ่งที่เราต้องการคือ feedback loop ที่รวดเร็ว แน่นอนว่ามันย่อมรวดเร็วกว่าระบบอื่น ๆ อย่างมาก ดังนั้นสิ่งที่เราควรต้องทำการวางแผนงาน จากนั้นลงมือทำและสร้างมันขึ้นมาดังนี้

Read More…

เมื่อ Google ปล่อย API Design Guide ออกมา

ต้นเดือนมีนาคมที่ผ่านทาง Google ได้ปล่อย API Design Guide ออกมา ซึ่งเป็นแนวทางสำหรับการออกแบบ API ต่าง ๆ ของ Google ไม่ว่าจะเป็น Cloud API และ Google API อื่น ๆ มาตั้งแต่ปี 2014 โดยเป้าหมายของเอกสารชุดนี้เพื่อ ช่วยทำให้การทำงานร่วมกันได้ดียิ่งขึ้นประกอบไปด้วย Simple Consistent Easy-to-use

Read More…

DevOps :: Three ways principle จากหนังสือ The Phoenix Project

จากหนังสือ The Phoenix Project มีเนื้อหาที่สนใจเกี่ยวกับ DevOps มากมาย หนึ่งในนั้นคือ Three ways ซึ่งเป็น principle สำคัญสำหรับ การทำความเข้าใจเกี่ยวกับ DevOps การวางแผนเกี่ยวกับ DevOps การนำเอาแนวคิด DevOps มาประยุกต์ใช้งาน ประกอบไปด้วย Flow principle Feedback principle Continual learning principle มีรายละเอียดดังนี้

Read More…

[แปล] C.A.R.E คือคุณสมบัติของนักพัฒนา software ที่ดี

จากบทความเรื่อง Software Engineer Traits ทำการสรุปคุณสมบัติที่จำเป็นสำหรับนักพัฒนา software ที่ดี ต้องประกอบไปด้วย 4 อย่างดังนี้ Curiosity Awareness Resoluteness Empathy จึงทำการแปลและสรุปไว้นิดหน่อย มาเริ่มกันเลย

Read More…

สรุปจากการอ่านหนังสือ The Passionate Programmer

ช่วงวันหยุดหยิบหนังสือ The Passionate Programmer มาอ่าน โดยเนื้อหาในหนังสือประกอบไปด้วย 5 ส่วนรวมทั้งหมดมี 53 หัวข้อ จึงทำการสรุปไว้นิดหน่อย น่าจะมีประโยชน์สำหรับการพัฒนา software บ้าง

Read More…

ข้อผิดพลาดที่มักเกิดกับการพัฒนา Mobile App

ในการพัฒนา Mobile app นั้นแตกต่างจาก Web app และ Desktop app มากมาย แต่กลับพบสิ่งที่ผิดพลาดสำหรับการพัฒนา Mobile app มากมาย เนื่องจากยังใช้แนวคิดจากการพัฒนาระบบอื่น ๆ มาใช้ จึงทำการสรุปสิ่งที่ผิดพลาดไว้นิดหน่อย

Read More…

เขียน Unit Test กันดี ๆ หน่อยนะ

สัปดาห์ที่ผ่านมามีโอกาสแบ่งปันประสบการณ์เรื่อง การเขียน Unit test โดยเป็นสิ่งที่นักพัฒนาทุกคนควรทำ ถ้าเขียน code ได้แล้วก็เขียน Unit test ได้เช่นกัน ที่สำคัญ code ของ Unit test นั้น ต้องได้รับการดูแลเยี่ยง production code นั่นคือ ต้องทำการดูแลและปรับปรุงให้ดีขึ้นอยู่เสมอ มิฉะนั้นมันจะมาทำร้ายเราแน่นอน

Read More…

[แปล] ทำความเข้าใจเกี่ยวกับ TDD และ Unit test กันอีกสักหน่อย

เช้านี้นั่งอ่านบทความเก่า ๆ ที่เก็บเอาไว้คือ 5 Common Misconceptions About TDD & Unit Tests อธิบายเกี่ยวกับความเข้าใจผิดเกี่ยวกับ TDD และ Unit Test จึงทำการแปลและสรุปเนื้อหาบางส่วนไว้นิดหน่อย

Read More…

[Tips] แนะนำการทดสอบแบบอัตโนมัติสำหรับ Mobile app

ความท้าทายสำหรับการทดสอบ Mobile app ประกอบไปด้วย การทดสอบบน device จริง ๆ และหลากหลาย การทดสอบแบบ parallel เพื่อทำให้การทดสอบรวดเร็วขึ้นมาก การจัดการ code ของการทดสอบ เช่นลด code ที่ซ้ำซ้อน รวมไปถึงการ reuse การทดสอบบน environment ที่เหมือนจริง การทดสอบบน environment ต่าง ๆ เช่น ความเร็วของ network, สถานะของ battery การทดสอบเมื่อมี interrupt ต่าง ๆ เช่น มีสายเรียกเข้า, มี notification และ การทำงานใน background process การทำ stress testing เช่นทำการทดสอบหรือใช้งาน app เป็นเวลานาน ๆ เพื่อดูการจัดการ resource ของ app

Read More…

ว่าด้วยเรื่องของ source code

เรื่องที่ถกเถียงกันประจำสำหรับการเขียน code ประกอบไปด้วย Tab vs Space ใช้อะไรดี ? ใช้ 2 หรือ 4 space แทน Tab หรือไม่ ? เขียน {} หรือไม่ ? เขียน { ในบรรทัดไหน ? Naming convention เป็นอย่างไร  camel case หรือ snake case ? ตั้งชื่อต่าง ๆ เป็นอย่างไร ? ถ้าเขียน test จะตั้งชื่ออย่างไรดี

Read More…