Practice Archive

Backend Developer จำเป็นต้องเรียนรู้อะไรกันบ้าง ?

หลังจากที่อ่านเรื่องของ Web Developer Roadmap 2018 แล้ว ซึ่งแนะนำเฉพาะส่วนของ Web Developer เท่านั้น แต่น่าจะมีส่วนของ Backend Developer บ้างนะ จึงทำการสรุปสิ่งที่น่าจะต้องรู้ไว้นิดหน่อย ซึ่งคิดว่าเป็นความรู้พื้นฐานแบบติดดินที่ควรรู้ไว้บ้าง

Read More…

สิ่งที่นักพัฒนาชอบทำผิด

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

Read More…

code ที่นักพัฒนาเขียนขึ้นมานั้น S.A.F.E ไหมนะ ?

สิ่งที่นักพัฒนา software ควรต้องรู้และเข้าใจสำหรับ code ที่เขียนคือ code ที่เขียนขึ้นมานั้นปลอดภัยหรือไม่ ? แน่นอนว่า นักพัฒนาบางคนอาจจะบอกว่า แค่เขียน code ให้เสร็จตามเวลาก็ถือว่าดีแล้ว ส่วนเรื่องของ security ไม่ใช่หน้าที่ ให้ทางฝ่าย security ดูเองก็แล้วกัน ถ้ามีเจอปัญหาอะไรก็แจ้งมา เดี๋ยวแก้ไขให้ !!

Read More…

นักพัฒนาต้องหัดแบ่งปัญหาใหญ่ ๆ เป็น ปัญหาเล็ก ๆ

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

Read More…

สรุปการย้ายระบบจาก Monolith ไปยัง Microservices ของ SHIFT Commerce

จากบทความเรื่อง SHIFT Commerce’s Journey: Deconstructing Monolithic Applications into Services ทำการอธิบายขั้นตอนการเปลี่ยนสถาปัตยกรรมระบบจาก Monolith ไปเป็น Microservices เป็นกรณีศึกษาที่น่าสนใจ จึงทำการสรุปไว้นิดหน่อย

Read More…

แนวคิดแย่ ๆ สำหรับนักพัฒนา !!

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

Read More…

อย่างน้อยก็ขอให้ทดสอบหน้าแรกก่อนนะ

มีโอกาสไปแบ่งปันเรื่องการทดสอบแบบอัตโนมัติสำหรับ Mobile app ทั้ง iOS และ Android คำถามที่น่าสนใจคือ ทุกวันนี้ Mobile app ที่พัฒนากันนั้น ทดสอบกันอย่างไร ? ทดสอบด้วยคนหรือแบบอัตโนมัติเป็นหลัก ? ถ้าทดสอบด้วยคน คำถามต่อมาคือ ทดสอบทุก ๆ feature ไหม

Read More…

ทำไม Developer ไม่เขียนชุดการทดสอบ

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

Read More…

เพื่อความเรียบง่ายของการใช้ Git ลบ branch เถอะนะ

คำถามที่น่าสนใจสำหรับการใช้งาน git คือ มี branch เยอะไหม ? มีปัญหาเกี่ยวกับการใช้ branch ไหม ? code ปัจจุบันที่ branch ไหน ? มีปัญหาในการ merge code ไหม

Read More…

สรุปการแบ่งปันเรื่อง Continuous Integration ด้วย Jenkins ที่ SWPark

สัปดาห์ที่ผ่านมามีโอกาสสอนและแบ่งปัน เรื่อง Continuous Integration and Delivery with Jenkins ที่ Software Park เป็นเวลา 2 วัน จึงทำการสรุปสิ่งที่สอนและแบ่งปันไว้นิดหน่อย

Read More…