Practice Archive

งานของ 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…

เราจะทำการ refactor code ที่ไ่ม่มีชุดการทดสอบอย่างไรดี ?

Refactoring เป็นวินัยที่นักพัฒนา software ที่ดีพึงกระทำ เพื่อทำการปรับปรุงโครงสร้าง code ให้ดียิ่งขึ้น โดยไม่ทำการเปลี่ยนแปลงพฤติกรรมการทำงาน นั่นคือ ถ้าทำงานถูกอย่างไร ก็ต้องถูกอย่างนั้น ถ้าทำงานผิดอย่างไร ก็ต้องผิดอย่างนั้น (จะทำไปทำไม ?)

Read More…

[แปล] การพัฒนา Basecamp app สำหรับ Android ด้วยภาษา Kotlin ทั้งหมด

อ่านบทความเรื่องการพัฒนา Android app ของ Basecamp ซึ่งมีความน่าสนใจตรงที่ทำการพัฒนาด้วยภาษา Kotlin ทั้งหมด ทางทีมพัฒนาได้เล่าและสรุปประสบการณ์ในการพัฒนา ตั้งแต่เริ่มจน publish app ออกมาให้ทุกคนได้ใช้ รวมระยะเวลากว่า 1 ปี ดังนั้นจึงนำมาแปลและสรุปในสิ่งที่น่าสนใจไว้นิดหน่อย

Read More…

เรื่องผิดปกติที่มักเกิดขึ้นเป็นปกติสำหรับ Standup Meeting

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

Read More…

ปัญหาที่มักพบเจอกับระบบ 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…