
อ่านไปเจอเรื่อง Path to Production พบว่าน่าสนใจมาก ๆ โดยเป็น workshop หรือ แนวทางในการทำงานร่วมกันที่ทำงานเป็นแบบ cross functional team/peopleนั่นคือ เป็นการทำงานข้ามแผนกหรือส่วนการทำงานมากมาย

จากกลุ่มสมาคม programmer นั้น มีคำถามเกี่ยวกับการเก็บข้อมูลรูปว่าทำอย่างไรดี โดยทางเลือกที่แนะนำกันมา ประกอบไปด้วย ทำการ encode ข้อมูลรูปก่อน จากนั้นค่อยเก็บ เก็บเป็น binary ลง database เช่น BLOB (Binary Large OBject) เก็บรูปลง disk แล้วเก็บเฉพาะ path และชื่อรูปลง database ใช้งาน CDN (Content Delivery Network)

จากบทความของ Slack เรื่อง How we design out APIs at Slackทำการสรุปแนวทางในการออกแบบ API ของระบบออกมาว่าเป็นอย่างไรบ้างเพื่อช่วยทำให้ผู้ใช้งานหรือ developer ใช้งานง่ายขึ้นอีกทั้งช่วยให้การดูแลรักษา API ง่ายขึ้นด้วยซึ่งควรต้องคิดตั้งแต่การออกแบบกันเลยทีเดียวมิเช่นนั้นแทนที่จะได้ API ที่ดีมีประโยชน์ กลับได้ของที่แย่ ๆ ออกมาโดยมีแนวทางของการออกแบบดังนี้

จากการสอนและแนะนำเรื่องการออกแบบ API (Application Programming Interface) ที่ดีไม่ว่าจะเป็น code ไม่ว่าจะเป็น RESTFul API ก็ตามAPI เหล่านั้นควรมีคุณสมบัติต่าง ๆ ดังนี้ ออกแบบในมุมมองของคนใช้งาน ไม่ใช่มุมมองขอคนสร้าง ง่ายต่อการเรียนรู้และใช้งาน โดยเอกสารเป็นสิ่งสุดท้ายที่ควรอ่าน ยากต่อการใช้งานผิด ง่ายต่อการดูแลรักษาในระดับ code ซึ่งทำให้พัฒนาและต่อยอดได้ง่าย ต้องมีความสัมพันธ์กับความต้องการต่าง ๆ

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

ช่วงนี้ว่างจากงาน เลยนั่งเขียนระบบงานเอาไว้ใช้เอง ซึ่งเป็นระบบ CRM เล็ก ๆ ง่าย ๆ โดยมี requirement ดังต่อไปนี้ การจัดการข้อมูลบริษัทที่ทำงานด้วย การจัดการชื่อผู้ติดต่อของแต่ละบริษัท การจัดการเรื่องสัญญาการทำงานของแต่ละบริษัท ประกอบไปด้วย การ training, coaching, consuling และ project มาเริ่มพัฒนาในส่วนของ Entity ดีกว่า

ปัจจุบัน developer ต้องทำงานกับ code แบบไหนกันนะ ? ทำงานกับ legacy code, ugly code หรือ beautiful code กันอยู่นะ ? จากที่ทำงานมานั้น มักจะอยู่กับ ugly code มากกว่านะ ซึ่งมันไม่น่าจะใช่เรื่องปกติของการพัฒนา software หรือเปล่านะ ? คำถามที่มักได้ยินมาตลอดคือ แล้วเราควรที่จะ rewrite หรือ refactor มันดีล่ะ