Practice Archive

สรุปสิ่งที่น่าสนใจจาก paper เรื่อง Continuous Deployment of Mobile Software at Facebook (Showcase)

อ่านบทความเรื่อง Rapid release at massive scale จาก Facebook แล้วไปเจอ paper ที่ทาง facebook เขียนไว้คือ Continuous Deployment of Mobile Software at Facebook (Showcase) ตามจริงมี paper ที่เกี่ยวข้องอีกหลายฉบับเลย ใน paper ฉบับนี้มีความน่าสนใจในเรื่อง Release cycle ของ mobile app ทั้ง iOS และ Android การจัดเก็บข้อมูลต่าง ๆ ที่เกี่ยวกับการ release และ deployment การทดสอบระบบงาน มีการสรุปข้อมูลต่าง ๆ ของการพัฒนาอีกด้วย ดังนั้นมาดูกันนิดหน่อย

Read More…

ว่าด้วยเรื่องการทดสอบระบบงานกับ Database

มีคำถามเกี่ยวกับการทดสอบระบบงานกับพวก Database ชนิดต่าง ๆ ทั้ง RDBMS (Relational DataBase Management System) ทั้ง NoSQL เช่น Document, Key-value, Column และ Graph อีกทั้ง Time series ว่าจะทดสอบกันอย่างไรดี ? ต้องทำการ mock/stub database ไหม ? ต้องเขียน code อย่างไรเพื่อให้ทดสอบได้ง่าย (Testable) ? ต้องทำอย่างไร

Read More…

เกร็ดเล็กเกร็ดน้อยสำหรับ Android Developer มือใหม่

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

Read More…

สรุป Podcast ที่น่าสนใจสำหรับนักพัฒนาไว้นิดหน่อย

การเรียนรู้เรื่องต่าง ๆ อย่างต่อเนื่องสำหรับนักพัฒนา ไม่ว่าจะเรียนรู้จากหนังสือ ต่าง ๆ ไม่ว่าจะเรียนรู้จาก web/blog/article ต่าง ๆ ไม่ว่าจะเรียนรู้จาก course online ไม่ว่าจะเรียนรู้จาก podcast ไม่ว่าจะเรียกรู้ทางช่องทางใด ๆ ก็ตาม เป็นสิ่งที่จำเป็นและสำคัญอย่างมาก ดังนั้นจึงสรุป Poscast ที่น่าสนใจและที่ติดตามอยู่ไว้นิดหน่อย ใครสนใจก็ลองไปฟังหรือ download มาฟังเล่น ๆ ดูนะครับ น่าจะสะดวกสำหรับการฟังด้วยโทรศัพท์ มันสนุกดีนะ

Read More…

อะไรคือตัวการสำคัญที่ขัดขวางการทำ CI/CD

แนวคิด Continuous Integration และ Continuous Delivery/Deployment นั้น เป็นสิ่งที่สำคัญมาก ๆ สำหรับการพัฒนา software มันไม่ใช่เรื่องของ process เพียงอย่างเดียว มันไม่ใช่เรื่องของ tool เพียงอย่างเดียว มันไม่ใช่เรื่องของ culture เพียงอย่างเดียว มันไม่ใช่เรื่องของทีมพัฒนาเพียงอย่างเดียว แต่มันคือเรื่องของการเปลี่ยนจาก requirement มาเป็นสิ่งที่อยู่ในคนใช้หรือสร้างคุณค่าให้กับลูกค้าและบริษัทนั้น ๆ อย่างต่อเนื่องและมีคุณภาพ

Read More…

เราควรสร้าง Environment ต่าง ๆ ของระบบงานตอนไหนกัน ?

สิ่งที่น่าสนใจในการพัฒนา software คือ เราทำการเตรียม environment ต่าง ๆ เช่น ทั้ง Dev, Test/QA, UAT, Staging, Pre-Prod และ Prod กันตอนไหน ? ที่สำคัญคือ แต่ละ environment นั้นเหมือนหรือต่างกัน ? ซึ่งสิ่งต่าง ๆ เหล่านี้มันสะท้อนความสัมพันธ์ระหว่าง Development team และ Pre/Production team ว่าเป็นอย่างไร

Read More…

งานของ Developer เสร็จตอนไหน ?

เป็นคำถามที่ฟังดูแล้ว ไม่น่าจะมีอะไรเลย คือ งานของ Developer เสร็จตอนไหน ? คำตอบง่าย ๆ คือ ก็ตอนเขียน code เสร็จไงล่ะ !!

Read More…

มาเขียน code ที่ดีกว่าเดิมกันดีกว่า

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

Read More…

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

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

Read More…

สิ่งที่นักพัฒนาส่วนใหญ่ลืมก่อนการ commit code

เมื่อวานมีโอกาสแบ่งปันความรู้เรื่องการใช้งาน Version Control ด้วย Git ไป การ commit หรือบันทึกการเปลี่ยนแปลง การ push หรือการส่งการเปลี่ยนแปลงไปยัง remote repository การ pull หรือการดึงการเปลี่ยนแปลงจาก remote repository มายังเครื่องเรา ทั้งหมดนี้คือ การพูดคุยและการทำงานร่วมกันของทีมพัฒนา ยิ่งทำการ commit/push/pull บ่อย ๆ มากเพียงใด ปัญหาที่เกิดก็จะน้อยลงไป !! ลองคิดสิว่าระหว่าง commit บ่อย ๆ กับนาน ๆ ครั้ง แบบไหนจะดีกว่ากัน

Read More…