“We have failover.” That sounds reassuring. But when real failure hits… many systems still go down — hard. Why? Because failover is easy to configure — but extremely hard to make reliable at global scale. Here are the most common ways failover fails in production: RDS Multi-AZ enabled Kubernetes failover configured Looks good on paper. Reality: Takes minutes instead of seconds Gets stuc
SOFTWARE ARCHITECTURE & REFACTORING 3 Domain-Centric Architectures Every Software Architect Should Know The first concern of the architect is to make sure that the house is usable; it is not to ensure that the house is made of brick. — Uncle Bob The expression domain is occurring in software bibles for a very long time now and is heavily discussed in the book Domain-Driven
How we moved from a fragile loop-based payout system to a reliable, idempotent, and traceable architecture. On paper, payouts sound simple: Customer places an order Platform collects payment Platform pays the seller That's it. Until you try to do it at scale. In any marketplace or fintech system, money flows across multiple parties: Sellers / vendors Delivery partners Platform fees Discounts, vouc
Namespace ဆိုတာကို အရိုးရှင်းဆုံး အဓိပ္ပာယ်ဖွင့်ရရင်တော့ ကုဒ်တွေကို စနစ်တကျ စုစည်းသိမ်းဆည်းထားတဲ့ "ကွန်တိန်နာ (Container)" သို့မဟုတ် "နာမည်ပေးစနစ်" တစ်ခု ဖြစ်ပါတယ်။ အောက်ပါ အချက်အလက်တွေနဲ့ အကျယ်တဝင့် လေ့လာကြည့်ရအောင် - ၁။ ဘာကြောင့် Namespace ကို သုံးရတာလဲ? (The "Why") • ကွန်ပျူတာထဲမှာ Homework.docx ဆိုတဲ့ နာမည်တူ ဖိုင်နှစ်ခုကို Folder တစ်ခုတည်းမှာ သိမ်းလို့မရပါဘူး။ • ဒါပေမဲ့ English ဆိုတဲ့ Folder
using System; namespace TourOfCsharp; class Program { static void Main() { // This line prints "Hello, World" Console.WriteLine("Hello, World"); } } အထက်ပါ "Hello, World" ပရိုဂရမ်သည် System namespace ကို ရည်ညွှန်းသည့် using directive တစ်ခုဖြင့် စတင်ထားပါသည်။ နိမ့်မြင့်စဉ်အလိုက် ဖွဲ့စည်းပုံ (Namespaces) ဥပမာအားဖြင့်- System namespace ထဲတွင် ပရိုဂရမ်ထဲမှာ အသုံးပြုထားသေ
Compiler နဲ့ Interpreter ဘာကွာလဲ Compiler နဲ့ Interpreter နှစ်ခုလုံးဟာ ကိုယ်ရေးထားတဲ့ High-level code (C#, Python, Java) တွေကို ကွန်ပျူတာနားလည်တဲ့ Machine code အဖြစ် ပြောင်းပေးတဲ့ "ဘာသာပြန်ဆရာ" တွေ ဖြစ်ကြပါတယ်။ ဒါပေမဲ့ သူတို့ ဘာသာပြန်ပုံချင်းကတော့ အခြေခံအားဖြင့် ကွာခြားပါတယ်။ ၁။ အလုပ်လုပ်ပုံ (Process) • Interpreter: ကုဒ်ကို တစ်ကြောင်းချင်းစီ ဖတ်ပါတယ်။ ပထမတစ်ကြောင်းကို ဖတ်တယ်၊ ဘာသာပြန်တယ်၊ ချက်ချင်
Vibe coding is a good starting point, but it is not where serious AI-assisted development ends. The next step is agentic engineering: using AI coding agents inside a controlled engineering workflow, with context, tests, review and clear boundaries. Vibe coding often focuses on the generated output: Ask for feature -> get code -> run it -> ask for fixes Agentic engineering focuses on the system ar
Is your website throwing 502 errors whenever an external API starts lagging? It is a common engineering grind where slow dependencies choke your server and kill your response times. The fix is not adding more resources. It is about changing how you handle work. Stop making users wait for external processes to finish. Offload heavy tasks to background jobs and queues. Distinguish between workers