Practice Archive

Technical Debt ค่าใช้จ่ายที่เรามักทำมอง[ไม่]เห็น

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

Read More…

แก้ไข Bug หรือข้อผิดพลาดกันอย่างไร ?

วันนี้เจอ Bug หรือข้อผิดพลาดในระบบงานที่ดูแล จึงเกิดคำถามว่า ถ้าเราเจอ Bug กัน เราจะทำอย่างไรบ้าง

Read More…

อธิบายแนวคิด YAGNI และ KISS แบบง่าย ๆ

อ่านบทความเรื่องการจัดการงานที่ทำ โดยหนึ่งในแนวคิดที่แนะนำคือ  YAGNI (You aren’t gonna need it) KISS (Keep it short and simple)

Read More…

สรุปเรื่องการใช้งาน Boolean ในระบบงาน

จากบทความเรื่อง Don’t Use Boolean Arguments, Use Enums เป็นบทความที่อธิบายให้เห็นว่า การใช้ boolean นั้น มีข้อดีและข้อเสียอะไรบ้าง เป็นสิ่งที่นักพัฒนาควรเข้าใจว่า ทำไมเราต้องใช้ และ ทำไมเราจึงต้องหลีกเลี่ยง จึงทำการสรุปไว้นิดหน่อย รวมกับสิ่งที่เจอมาในระบบงานต่าง 

Read More…

เหตุผลของคนที่ไม่เขียน Test

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

Read More…

ว่าด้วยเรื่อง Remote Development Productivity จาก Microsoft

จากบทความ Helping our developers stay productive while working remotely ของ Microsoft เป็นคำแนะนำสำหรับการจัดการ productivity ของ Developer ที่ต้องทำงานในรูปแบบ Remote กันมากขึ้น หรือ Work From Home โดยให้คำแนะนำกว้างไปถึงทั้งองค์กร

Read More…

สรุปจากบทความเรื่อง How to Protect Your Virtual Meetings from Zoombombing

จากปัญหาเรื่อง security ของ Zoom เป็นโปรแกรมสำหรับประชุม online ที่ได้รับความนิยม ทำให้หลาย ๆ บริษัท หรือหลายประเทศประกาศห้ามใช้งาน โดยที่ทาง Zoom ก็ได้ประกาศหยุดเพิ่ม feature และมาแก้ไขปัญหาช่องโหว่ต่าง ๆ อย่างเร่งด่วน

Read More…

แนวคิด TCR (Test && Commit || Revert) คืออะไร ?

เห็น VDO ใน YouTube ของคุณ Kent Beck  เรื่อง Understanding Legacy Code with TCR (test && commit || revert) แต่สิ่งที่สนใจคือ แนวคิดและแนวปฏิบัติที่ใช้งานคือ  TCR (Test && Commit || Revert) มันคืออะไรนะ และทำอย่างไร

Read More…

ปัญหาและแนวทางแก้ไขปัญหาของทีม (Developer Team Performance)

อ่านบทความจากการทำแบบสำรวจเมื่อปี 2018 (เก่าแล้ว แต่น่าจะมีโยชน์) เป็นเรื่อง Developer Team Performance :: Why your team slows down and What to do about it จากการสำรวจได้ข้อมูลที่น่าสนใจมากมาย เนื่องจากมีสาเหตุมากมายที่ส่งผลให้ทีมช้าลง ทั้งจากภายนอกและภายใน ล้วนนำไปสู่การส่งมอบงานที่ล่าช้าและไม่ตรงตามที่คาดหวัง แน่นอนว่า มันเกิดขึ้นบ่อยมาก !!!

Read More…

สร้าง Build pipeline (Build -> Test -> Release) ของระบบงานด้วย GitHub Actions

เรื่องที่สำคัญของการพัฒนา software คือ ขั้นตอนการ build, test, release และ deploy เป็นอย่างไรบ้าง ในการพัฒนาที่ดี น่าจะต้องวางแผนและกำหนดขั้นตอนการทำงานไว้ ซึ่งเราจะเรียกขั้นตอนเหล่านี้ว่า Build pipeline (workflow) นำมาจากแนวคิดของ Continuous Integration และ Continuous Delivery โดยในบทความนี้ จะนำ GitHub Actions มาสร้างกระบวนการเหล่านี้ มาเริ่มกันเลย

Read More…