Language , framework ? it doesn’t matter

Node.js ကို စသုံးတုန်းကတော့ အတော်ကို သဘောကျပြီးတော့ Node.js နဲ့ ပဲ web ကော script တွေပါ အကုန် ရေးဖြစ်တယ်။ အခု project တစ်ခုကို ပြန်လုပ်တော့ ဘာနဲ့ မြန်မြန်ပြီးမလဲဆိုပြီး စဉ်းစားတော့ slim framework ကို စဉ်းစားမိပြီး slim နဲ့ ပဲ လုပ်လိုက်တာ တော်တော်လေးကို မြန်မြန်ဆန်ဆန် ပြီးသွားတယ်။ Front end ကိုတော့ HTML , jQuery ပဲ သုံးထားပြီး backend ကိုတော့ restful ကို slim နဲ့ လုပ်လိုက်တာ ပြီးသွားတယ်။ Database ကတော့ အရင် အဟောင်း data ရှိတဲ့ အတွက်…More

Learn from Node.js Production on server

App အသစ် တစ်ခုအတွက် backend ကို Node.js ကို Express JS framework အသုံးပြုပြီးရေးထားတယ်။ Database ကို Mongodb ကို သုံးထားတယ်။ လက်ရှိတော့ ဘာ data မှ ထွေထွေထူးထူး မရှိသေးသလို Data တွေ အများကြီး ရှိလာစရာလည်း အကြောင်း မရှိဘူးထင်တယ်။ Node.js ကို production အဆင့်ကို ပို့ရတာ ထင်ထားတာ ထက် ပိုပြီး ရှုပ်တယ်။ PHP နဲ့ ယှဉ်ရင်တော့ မလွယ်ကူလောက်တာ အမှန်ပဲ။ လက်ရှိ Node.js ကို Nginx နဲ့ proxy ကို သုံးပြီး run ထားတယ်။ Real time web…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

Should we use Node.js

အခုတလော Node.js နဲ့ တော်တော်ရေးဖြစ်တယ်။ အဓိကတော့ Backend ပိုင်းပေါ့။ Front End ပိုင်းကတော့ မလုပ်ဖြစ်တာ တော်တော်ကြာပြီလို့ ဆိုရမယ်။ Backend တည်ဆောက်တဲ့ အခါမှာ အရင်က PHP ကိုယ်ပိုင် framework Ava ကို သုံးဖြစ်တယ်။ အခု Node.js ကို သုံးတဲ့အခါမှာတော့ Espresso ကို သုံးဖြစ်တယ်။ Espresso ကို သုံးရင်း ကိုယ်ပိုင် framework လေး ရေးကြည့်ချင်စိတ် ပေါက်လာတယ်။ နောက်ပြီး Google Go နဲ့ Node.js က ဘာ ပိုမှန်လဲဆိုတာကို ငြင်းနေကြတာတွေကိုလည်း ဖတ်ဖြစ်တယ်။ ယေဘူယျပြောရရင်တော့ Go က ပိုမှန်တယ်လို့ ဆိုရမယ်။ သို့ပေမယ့် ဘာ…More

MVC

MVC ဆိုတာ Model View Controller ဆိုတာ လူတိုင်း သိနေလောက်ပါပြီ။ သို့ပေမယ့် တော်တော်များများက MVC နဲ့ framework ဆက်စပ်နေတယ်လို့ ထင်ကြပါတယ်။ CodeIgniter က MVC သုံးထားတယ်။ Symfony လည်း MVC သုံးထားတာပဲ။ CakePHP လည်း MVC ပဲ။ ဒါပေမယ့် သုံးပုံ သုံးနည်း မတူကြဘူး။ MVC ဆိုတာ တကယ်တန်းတော့ framework နဲ့ သက်ဆိုင်တာ မဟုတ်တဲ့ architectural pattern တစ်ခုပါ။ အခုတလော ExpressJs ကို သုံးပြီး Mongodb နဲ့ ရေးနေရင်းနဲ့ MVC pattern အကြောင်း သဘောပေါက်လာတယ်။ ပုံမှန် သမာရိုးကျ Web…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

Asynchronous problem in Node.js

Node.js ကို သုံးနေရင်းသိလာတာက Node.js က Asynchronous ဖြစ်တာကို သိလာတယ်။ Asynchronous ဆိုတော့ ရေလည်မိုက်တာပေါ့ လို့ တွေးထင်ကောင်း ထင်ပါလိမ့်မယ်။ သို့ပေမယ့် ပြဿနာလေးတွေက ရှိလာပြန်ကော။ ပြဿနာ မပြောခင် asynchronous ကြောင့် ကောင်းတာလေးတွေ ရှိပါတယ်။ Database ဖတ်နေတာကို တောက်လျှောက် စောင့်ပြီး တခြားဘာမှ မလုပ်နိုင်ပဲ ဖြစ်နေတာမျိုးတွေ မဖြစ်တော့ဘူးပေါ့။ Asynchronous ကောင်းကျိုးကို ကျွန်တော်တို့ jquery မှာ ajax တွေ မှာ တွေ့ခဲ့ပြီးပါပြီ။ ထွေထွေထူးထူး ပြောစရာ မရှိပါဘူး။ သို့ပေမယ့် Node.js မှာ ပြဿနာလေး ရှိပါတယ်။ ဒီ code လေးကို တချက်ကြည့်လိုက်ပါ။ အဲဒီ code ကို…More

Callback in Node.js

Node.js ကို ရေးရင်းနဲ့ တစ်ခု ထူးခြားလာတာကို တွေ့တယ်။ Node.js ဟာ javascript နဲ့ တူသလား ဆိုတော့ ဟုတ် javascript ပါ။ သို့ပေမယ့် မတူပါဘူးလို့ ပြောရမယ့် အဆင့် တစ်ခုထိရောက်နေပြီ ဆိုတာကို သတိထားမိတယ်။ ဘာလို့ ဒီလို ဆိုရတာလဲဆိုတော့ javascript မှာ စဉ်းစားပုံနဲ့ node.js မှာ စဉ်းစားပုံက ကွာခြားလာတာတွေ ကြောင့်ပါ။ လက်ရှိ javascript မှာ ဆိုရင် အများအားဖြင့် အောက်ကလို မျိုး ရေးကြပါတယ်။ သို့ပေမယ့် node.js မှာတော့ အများအားဖြင့် callback နဲ့ ရေးကြတယ်။ callback နဲ့ function return က မတူပေမယ့် callback…More