design Archive

ทำความรู้จักกับ TypeSpec สำหรับการออกแบบ API

เห็นทาง Microsoft ได้ปล่อย TypeSpec ออกมาเป็นภาษาในการออกแบบ API (Application Programming Interface)อีกทั้งยังทำงานร่วมกับ OpenAPI, JSON Schema และ Protobuf ได้รูปแบบของภาษานั้นจะคล้าย ๆ กับ TypeScript และ C# นั่นเอง

Read More…

สรุปจากการอ่านบทความเรื่อง Redesigning Pinterest’s Ad Serving Systems with Zero Downtime

หลังจากการอ่านบทความเรื่อง Redesigning Pinterest’s Ad Serving Systems with Zero Downtimeเป็นการ redesign และ rewrite ระบบ Ads-serving platform ของ Pinterestเป็นระบบที่สร้างรายได้ให้บริษัทอย่างมากแต่ระบบที่ใช้งานมี technical debt เยอะ และ ซับซ้อนสูงมาก ๆทำให้ระบบมีปัญหาต่อการ scale อย่างมาก ล่มบ่อยรวมทั้ง business goal ที่เยอะขึ้น

Read More…

แนะนำ DrawDB เครื่องมือออกแบบสำหรับ Relational Database แบบ online

เห็นเครื่องมือชื่อว่า DrawDBเป็น editor สำหรับออกแบบ database นั่นเองสามารถใช้งานผ่านระบบ web application ได้เลยมี user interface ที่ใช้งานง่ายดี และ ฟรีด้วยสามารถนำมาติดตั้งที่ server ของเราได้เองเลย

Read More…

สรุปจาก Meetup :: MongoDB Data Modeling จากกลุ่ม MongoDB Thailand User Group

วันนี้มีโอกาสได้เข้าร่วมฟัง meetup เรื่อง MongoDB Data Modelingจากกลุ่ม MongoDB Thailand User Groupซึ่งมีหัวข้อต่าง ๆ เหล่านี้ ทำการสรุปจากสิ่งที่ได้ฟังดังนี้มาเริ่มกันเลย

Read More…

ว่าด้วยเรื่องของ Law of Demeter ในการออกแบบ service

จากบทความเรื่อง Law of Demeter (LoD) ในการเขียน code นั้นเพื่อช่วยลด coupling ระหว่าง classหรือเป็นแนวคิดที่ช่วยให้เรามีความรู้เกี่ยวกับปลายทางที่จะเรียกให้น้อยลงทำให้มีอิสระมากยิ่งขึ้น โดยถ้าเรานำแนวคิดนี้ มาใช้กับการแยก service ด้วยก็น่าจะได้ผลดีเช่นกันนะ

Read More…

ปัญหา race condition ของระบบงาน จะแก้หรือบรรเทาอย่างไรดี ​?

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

Read More…

ว่าด้วยเรื่อง Path to Production

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

Read More…

ว่าด้วยเรื่องของการเก็บรูปลง Database

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

Read More…

สรุปแนวทางการออกแบบ API ของ Slack

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

Read More…

สรุปปัญหาจากการออกแบบ API

สัปดาห์ที่ผ่านมา ทำการออกแบบ review และ พัฒนา API ของระบบงานพบว่าสิ่งที่ทำออกมานั้นมีปัญหาหลายอย่างไม่ว่าจะเป็นการพัฒนาที่ยากไม่ว่าจะเป็นการใช้งานที่ยากอีกดังนั้นจึงสรุปต้นเหตุที่ก่อให้เกิดปัญหาขึ้นมา

Read More…