Active User Count By Date in Mongodb

Active user ကို သိချင်သည့် အခါမှာ user app ကို login ဝင်တိုင်း log မှတ်ပါတယ်။ id user_id created_at 1 1 2019-04-12 2 1 2019-04-13 3 2 2019-04-12 4 2 2019-04-13 5 3 2019-04-13 6 4 2019-04-13 7 4 2019-04-13 8 1 2019-04-13 9 3 2019-04-13 MySQL အရ အောက်ပါ အတိုင်း ရေးပါတယ်။ SELECT COUNT(DISTINCT user_id),created_date From login_user where created_date >=…More

Mongodb University

Mongodb University ကို သိတာကတော့ တော်တော်ကြာပြီ။ စသိကာစက အဓိက Mongodb for DBAs ဖြစ်တာကြောင့် မတက်ဖြစ်လိုက်ဘူး။ ပြီးခဲ့တဲ့ မတ်လမှ mongodb for node.js ကို တွေ့တာနဲ့ တက်ဖြစ်လိုက်တယ်။ မတ် လ ၂၄ ရက်ကနေ စပြီးတော့ မေလ ၁၃ ရက်နေ့ အထိ ကြာတယ်။ တစ်ပတ်ကို အခန်း ၁ ခန်းနဲ့ စုစုပေါင်း Final exam အပါအဝင် ၇ ပတ် ရှိတယ်။ ပထမ အပတ်ကတော့ လွယ်တယ်။ နောက်ပိုင်းတွေမှာတော့ ရုံးက အလုပ်နဲ့ ဆိုတော့ သောကြာနေ့ည ဒါမှမဟုတ် စနေ တနင်္ဂနွေမှ သာ စာလုပ်ဖြစ်တော့တယ်။ သင်တာတွေကတော့…More

Don’t forget callback

သောကြာနေ့က Server Side ပိုင်းကို prototype ကို Node.js သုံးပြီး ရေးထားတာကို real data နဲ့ စမ်းကြည့်တော့ ပြဿနာ တက်နေတယ်။ Request ပို့လိုက်ပေမယ့် respond က ပြန်မလာဘူး ဖြစ်နေတယ်။ Test data နဲ့ စမ်းတာကတော့ အကုန် အဆင်ပြေတယ်။ ရေးထားတာက callback တွေကို ဆင့်ကာ ဆင့်ကာ ခေါ်ထားတာကို တွေ့ရမှာပါ။ Node.js မှာ callback တွေ ဆင့်ကာ မခေါ်ချင်ရင် event commit လုပ်လို့ရပါတယ်။ Async ဖြစ်တဲ့အတွက်ကြောင့် sync လိုမျိုး line bye line ပုံစံ မျိုးထက် ပိုစဉ်းစားရခက်တယ်။ non-blocking, asynchronous…More

I like Mongodb

သောကြာနေ့က Backend Admin Panel ကို App တစ်ခု အတွက် ရေးဖြစ်တယ်။ Client က Email ကို ထပ်ဖြည့်ချင်တယ်။ Account တစ်ခုမှာ Email က one or more ပါမယ်။ ပုံမှန် သမာရိုးကျ MySQL သုံးမယ်ဆိုရင် ကျွန်တော် တို့ အနေနဲ့ Email field တစ်ခု ထပ်ဖြည့်ရမယ်။ Email one or more ဖြစ်တယ်ဆိုတဲ့ အတွက် ကြောင့် table ဆောက်သင့်တယ်။ မဆောက်ဘဲနဲ့ comman ကို သုံးပြီး ထားမယ်ဆိုလည်း ဖြစ်တယ်။ အနည်းဆုံးတော့ Field တစ်ခု ထပ်ဖြည့်ရမယ်။ နောက်ပြီး UI ပိုင်း…More

ExpressJS

ပြီးခဲ့တဲ့ ရုံးပိတ်ရက်က ExpressJS ကို အသုံးပြုပြီး project လေး တစ်ခုလုပ်ဖြစ်သွားတယ်။ ExpressJS ဆိုတာကတော့ Node.js အတွက် web framework တစ်ခုပါ။ ExpressJS က Sinatra ကို အခြေခံထားပြီး connect middleware ကို အသုံးပြုထားပါတယ်။ ပုံမှန် Node.js နဲ့ ရေးရင် ရပေမယ့် Restful API နဲ့ အဆင်မပြေပါဘူး။ တော်တော် အချိန်ပေးရပါတယ်။ ExpressJS ကို သုံးလိုက်တာ တော်တော်လေးကို လွယ်သွားတယ်။ Mobile အတွက် Admin Panel တစ်ခုဖန်တီးရာမှာလည်း Jade Template နဲ့ ရေးရတော့ ပုံမှန် သမာရိုးကျ HTML ရေးရတာထက်တော့ မြန်ပါတယ်။More

Real time Todo list Tatoo

Tatoo အကြောင်းကိုတော့ mz blog မှာ ရေးထားခဲ့ဖူးပါတယ်။ Myanmar Link မှာ node.js အကြောင်းပြောရင်းနဲ့ web socket အကြောင်းလည်း မေးမြန်းလို့ ပြောမိပါတယ်။ ဒါနဲ့ web socket ကို သုံးပြီး real time app sample လေး တစ်ခုလောက် ရေးပြမယ်လို့ စဉ်းစားမိတာကနေ လက်ရှိ ရေးထားတဲ့ tatoo ကို socket.io ကို သုံးပြီး real time လေး ဖြစ်အောင် ပြန်ပြင်ထားလိုက်ပါတယ်။ source code ကိုတော့ github မှာ ရနိုင်ပါတယ်။ database ကိုတော့ Mongodb သုံးထားပြီး technology ကိုတော့ node.js ကို…More

NoSQL — Part 2

အပိုင်း ၁ မှာတော့ Data Stores တွေ အကြောင်းပြောပြီးပါပြီ။ Relational Database မှာ limit less indexing နဲ့ အရမ်းကောင်းမွန်တဲ့ SQL language ရှိပါတယ်။ ဒါကြောင့် Relational Database ဟာ dynamic ဖြစ်ပြီး လူသုံးများနေရတာပါ။ NoSQL မှာတော့ limited ဖြစ်နေတဲ့ query နဲ့ indexing ရှိနေပါတယ်။ နောက်ပြီး JSON လိုမျိုးတွေက SQL language လို Query တွေ ရေးလို့ရမှာ မဟုတ်ပါဘူး။ NoSQL မှာ query ရေးသားတာက Database တစ်ခုနဲ့ တစ်ခုမတူသလို Stores ပေါ်မှာ မူတည်ပြီးတော့လည်း query ရေးသားပုံတွေက…More