Event Storming: วิธีออกแบบ Software Architecture Partitioning
ต้องอ่าน 2 บทความนี้ก่อน
ต้องอ่าน 2 บทความนี้ก่อน
ลองนึกภาพร้านก๋วยเตี๋ยวเจ้าเก่าที่ขายดีมา 20 ปี วันดีคืนดีพี่มาวินมารีวิวลง TikTok แล้วลูกค้าทะลักเข้ามา 10 เท่า เตาเดิม หม้อเดิม พนักงานเท่าเดิม แต่ Order เพิ่...
หากเปรียบ Event Storming เป็นนิทานเรื่องหนึ่ง บทเกริ่นนำคงจะเป็นการกล่าวถึง 3 ดินแดนสำคัญของจุดเริ่มต้นการเดินทางในครั้งนี้ ดินแดนเหล่านั้นได้แก่ Big Picture Le...
รู้หรือไม่ว่าจริงๆ AI มันมีมานานแล้วนะ เวลาที่เราพิมพ์แล้ว Keyboard ในโทรศัพท์จะขึ้น Suggestions นั่นคือ AI มาทำความเข้าใจว่า AI เดาคำอย่างไร จาก Language Models ถึง Large Language Models
ธรรมชาติของมนุษย์ล้วนปรารถนาจะเติบโต เรียนรู้ และก้าวข้ามข้อผิดพลาดในตนเอง บ่อยครั้งเรากลับไม่ล่วงรู้ว่าพฤติกรรมบางอย่างได้ส่งผลกระทบหรือสร้างความเจ็บปวดให้ผู้อ...
โดยปกติผมมักจะเริ่มเนื้อหาด้วยการอธิบายความหมายของหัวข้อที่ต้องการจะเขียน เช่น Software Architecture คืออะไร แต่สำหรับครั้งนี้ ผมขอสารภาพเลยว่าผมก็เองก็ยังไม่สา...
“คันหลังนะหนุ่ม ลุงจะไปส่งแก๊ส” เห็นได้ชัด ผมไม่ได้โชดดีเหมือนวันก่อน เมื่อถึงตึกผมได้แต่ถอนหายใจเบาๆ อีกครั้งและเดินไปแลกบัตรขึ้นตึกที่ฝ่ายต้อนรับ
องค์กรประกอบด้วยหน่วยงานย่อย ๆ หลากหลายส่วน หากนิยามหน่วยงานย่อย ๆ เหล่านั่นว่า “Subdomain” การที่องค์กรจะทำงานเพื่อให้บรรลุผลสำเร็จตามเป้าหมาย ต้องอาคัยแรงผลัก...
หลังจากผ่านกระบวนการศึกษาและหาความเรียนรู้ ก้าวต่อไปคือการนำไปใช้ให้เกิดประโยชน์
ในโลกที่หมุนวนอย่างไม่หยุดนิ่ง ทั้งการเงิน เทคโนโลยี และการตัดสินใจที่ต้องเร่งรัด ลูป คือชายหนุ่มที่ก้าวเข้ามาสู่เส้นทางนี้ด้วยความมุ่งมั่น เขาเริ่มทำงานวันแรกใ...
Saga ถูกพูดถึงครั้งแรกในปี 1987 () โดย Hector Garcia-Molina และ Kenneth Salem พวกเขาเสนอวิธีการแก้ปัญหา LLTs (Long Lived Transactions) และถูกพูดถึงอีกครั้งในปี ...
Keycloak เป็นระบบการจัดการข้อมูลซึ่งพัฒนาโดย Red Hat ช่วยให้การรักษาความปลอดภัยสำหรับแอปพลิเคชันและบริการที่ทันสมัยเป็นเรื่องง่าย บลา ๆๆๆ
OAuth 2.0 แนะนำให้ใช้ Authorization code ด้วย Proof Key for Code Exchange () มันคืออะไร ทำไมต้องใช้ และมันทำงานอย่างไร
ในบทความนี้เราจะพาเปิดคอม เข้าสู่ท้องของน้อง Moby Dock ปลาวาฬตัวใหญ่ยักษ์ โดยมีสมาชิกคือเจ้า Gopher ผู้ปกครองดินแดน Legacy systems ที่มีความปรารถนานำส่งสารสำคัญให้เจ้า Rocket Turtle ในดินแดนแห่งใหม่นามว่า Event driven architecture
ในบทความนี้เราจะมาประยุกต์ใช้ Sidecar pattern เพื่อนำ Logic ของ Authentication ออกจาก Application Layer พร้อมกับ Reuse ใช้กับ Service อื่นๆ โดยที่ไม่ต้องสนใจเรื่องของ Programming Language
วิธีการ migrate จาก monolith ไปสู่ microservices แบบไปทีละเล็กไปทีละน้อย
Technical Debt ถูกเรียกครั้งแรกโดย Ward Cunningham ในปี 1992 มาทำความรู้จักและลองมองจากมุมของ scrum teams กัน
Event-carried state transfer (ECST) มักนำมาใช้เมื่อเราไม่ต้องการให้ระบบยึดติดกันเกินไป ในบทความนี้จะมาพูดถึงรูปแบบของ ECST และ ตัวอย่าง Message schema ที่นิยมใช้กัน
ก่อนที่เราจะเริ่ม Implementing Domain-Driven Design ควรรู้จัก Business domain และ Subdomain ซึ่งเป็นเรื่องสำคัญที่ทำให้เราเข้าใจองค์กรของเรามากขึ้น
Domain Model เป็นวิธีการที่ให้ความสำคัญกับ business logic เป็นอันดับแรก ไม่ว่าจะเป็นชื่อตัวแปร ชื่อ function สิ่งเหล่าเราได้จาก domain experts
Transaction Script และ Active record คือ implementing domain logic ที่ได้รับความนิยมมาอย่างยาวนาน เราจะมาทำความรู้จักและค่อยๆ ทำความเข้าใจไปที่ละ step พร้อมตัวอย่าง code การเปลี่ยนจาก Transaction Script ไป Active record
Event notifications หนึ่งใน pattern ที่ได้รับความนิยมสำหรับ EDA ในบทความนี้เราจะมาทำความรู้จักความหมายและตัวอย่างของ messages
บางครั้ง application ก็ไม่สามารถเริ่มทำงานได้ทันที ถ้า kubernetes restart container เพราะว่า application ยัง setup ไม่เสร็จจะเกิดการ loop restart ได้
ปัญหาการตั้งชื่อด้วยคำ Nouns ที่เป็น เอกพจน์(singular) หรือ พหูพจน์(plural) ยังเป็นสิ่งที่โต้เถียงกัน ว่า GET /resources หรือ GET /resource ใครถูก? ใครผิด?
code smells ที่น่ารักอีก 1 ตัว มาดูวิธีจัดการกับความน่ารักของ smell นี้กัน โดยอ้างอิงจากหนังสือ Refactoring
เปรียบเทียบระหว่าง Widgets กับ helper methods การ Refactoring และ Effort ที่คุณต้องจ่าย