← All writing

Day 22 - Mongo

· Aung Ko Man

Laptop displaying software code
Illustrative photo by AltumCode on Unsplash.

ကျွန်တော် မွန်ဂို တိုင်းပြည်ကို ရောက်လာတာ တာဝန်မှူးကျလို့လည်း ပါတယ်။ ပုံမှန်ဆိုရင် laptop ဒါမှမဟုတ် phone ကို ကြည့်နေတက်တဲ့ ကျွန်တော်က တာဝန်မှူးလည်း လုပ်ရရော computer screen က မျက်နှာခွာရတယ်။

ဒီအတိုင်းချည်းလည်း ထိုင်စောင့်မနေချင်တာနဲ့ ဆရာအိမောင်ရဲ့ API လို-တို-ရှင်း ဖတ်ဖြစ်တယ်။ Webservice ဆိုရင် စာတမ်းလုပ်တုန်းက အပြန်ပြန်အလှန်လှန်ဖတ်ခဲ့ပြီးသားဆိုတော့ သိပ်ပြီး ပြန်ဖတ်ဖို့ စိတ်ပါလှတာ မဟုတ်ဘူး။ တစ်ခါလာလဲ resource / method blah blah blah

Joy Fielding ရဲ့ စာတမ်းလည်း ဖတ်ခဲ့တော့ ကိုယ်အဆင်ပြေသလို ရေး ရတာပဲဆိုပြီး နေနေတာ။ အဲ့မှာ ဘာသွားတွေ့လည်း ဆိုရင် mongo။

Mongo ကို အရင် Rock Star Developer မှာ ဖတ်တုန်းက ဘယ်လိုမှ နားမလည်၊ စက်မှာ setup လုပ်တဲ့အပိုင်းကို ဖတ်ရင်း လည်ထွက်နေတာ ဆိုတော့ မထိတွေ့ဖြစ်ခဲ့တဲ့ နည်းပညာထဲမှာ ပါတယ်။

ဒီနယ်ပယ်မှာ အလုပ်လုပ်တာပဲ ကြာလာလို့လားမသိ၊ ဒီတစ်ခေါက်ဖတ်ကြည့်တော့ နားလည်းသလိုလို ရှိလာတယ်။ ဒါနဲ့ စက်မှာတင်ပြီး စမ်းကြည့်တာ အဆင်ပြေတယ်။ အဲ့အထိ Project ဘက်ကို မလှည့်သေးဘူး။ ဒီအတိုင်းပဲ ကိုယ့်ဝသီ စက်ထဲမှာ ကြုံသမျှ အကုန်တင်တယ်၊ node, python, wsl , ruby ။ ဆိုတော့ အခုတစ်ခေါက်က mongo အလှည့်ပေါ့။

အဲ့မှာ ကိုယ်နောက်ဆုံးရေးနေတဲ့ Project အတွက် backend tech stack က မဆုံးဖြတ်ရသေးဘူး။ ဒါနဲ့ပဲ အခွင့်အခါသင့်တာနဲ့ Express + Mongo ကိုင်မယ်ကွာ ဆိုပြီး ရေးလိုက်တာ။ CRUD လောက်အထိတော့ ပျော်စရာပါပဲ။ ဒါတောင် connection error handling နဲ့ သုံးရက်လောက် ကြာသွားသေးတယ်။

နောက်ပိုင်း call back hell နဲ့ ကြုံလာတော့ ORM တစ်ခုခုကို တောင့်တလာတယ်။ ဟုတ်တယ် PHP မှာတုန်းက redbean နဲ့ သာယာနေတာကို ၊ ဘာ async တွေ၊ callback တွေမှ မလိုဘူး။ query လည်း မလိုဘူး :D>

mongo မှာ mogoose ရှိသတဲ့ ODM/ORM ပဲ ဆိုတာနဲ့ နှစ်ခုတွဲပြီး သုံးဖြစ်သွားတယ်။ အခုထိတော့ အဆင်ပြေနေတုန်းပဲ။