Asynchronous problem in Node.js

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

သို့ပေမယ့် Node.js မှာ ပြဿနာလေး ရှိပါတယ်။ ဒီ code လေးကို တချက်ကြည့်လိုက်ပါ။

အဲဒီ code ကို ကြည့်လိုက်ရင် မှန်တယ်လို့ ထင်ရတယ်။ သို့ပေမယ့် တကယ် run လိုက်ရင် result က အောက်ကလို ဖြစ်သွားတယ်။


Continue reading

Callback in Node.js

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

လက်ရှိ javascript မှာ ဆိုရင် အများအားဖြင့် အောက်ကလို မျိုး ရေးကြပါတယ်။

သို့ပေမယ့် node.js မှာတော့ အများအားဖြင့် callback နဲ့ ရေးကြတယ်။

callback နဲ့ function return က မတူပေမယ့် callback က ဘာ ပိုထူးလဲဆိုတော့ multi thread ပိုင်းတွေ မှာ သိသာပါတယ်။ function ကတော့ multi thread မသွားပဲ တဆင့်ခြင်းဆီ ကို သွားပါတယ်။ node.js မှာ database ဖတ်နေတဲ့ အပိုင်းနဲ့ တခြားဘက်မှာ data တွေ ထည့်နေတဲ့ အပိုင်း အပြိုင် ရေးထားလို့ရတာပေါ့။ နောက်ပြီးတော့ error checking ပိုင်းတွေမှာလည်း အသုံးဝင်လာပါတယ်။

Continue reading

Useful library for objective-c

Objective-C အခုတလော အရေးများလာရင်း တချို့ library လေးတွေ တော်တော်လေးကို အသုံးဝင်လှပါတယ်။ တနည်းပြောရင် မူရင်း SDK ထဲမှာ မပါဝင်ပဲ အခြား developer တွေ ရေးပေးထားတဲ့ library တွေပေါ့။ အဲဒီ အထဲမှာ ကျွန်တော် အသုံးများတဲ့ library လေးတွေကို ပြန်လည်စုစည်းပြီး တင်ပြလိုက်တာပါ။

JSON Framework

ဒီ library ကတော့ အသုံးအများဆုံးပဲ။ အဓိက အသုံးပြုဖြစ်တာက API တွေကို ခေါ်တဲ့အခါမှာ JSON string return ပြန်ပါတယ်။ အဲဒီ JSON ကို NSDictionary ပြောင်းဖို့အတွက် အဓိက အသုံးပြုဖြစ်ပါတယ်။

Zip Archive

iOS ကနေ တဆင့် upload ပြန်တင်တဲ့ အခါ ဒါမှမဟုတ် download ဆွဲချပြီး zip ပြန်ဖြည်တဲ့ အခါမှာ မရှိမဖြစ် လိုအပ်တဲ့ Library ပါ။ သာမာန် text data တွေကို zip လုပ်လိုက်တဲ့ အခါမှာ file size သိသိသာသာ သေးသွားပါတယ်။ အထူးသဖြင့် plist database တွေပေါ့။ လက်ရှိ dhamma stream project မှာ အသုံးပြုထားပါတယ်။

Audio Streamer

Audio player တစ်ခု ဖန်တီးတဲ့ အခါမှာ တော်တော် လေးကို အသုံးဝင်ပါတယ်။ iOS SDK မှာ ပါတဲ့ library ထက် ပိုမို အသုံးပြုရတာ လွယ်သလယ် ပိုမိုလည်း ကောင်းမွန်တယ်လို့ ဆိုရပါမယ်။ ဒီ library ကိုလည်း dhamma stream မှာ အသုံးပြုထားပါတယ်။

Build and Analyze Podcast

အခုတလော 5by5 Studio က Build and Analyze Podcast ကို တော်တော် နားထောင်ဖြစ်တယ်။ ရုံးသွား ရုံးပြန် စာတောင် မဖတ်တော့ပဲ Build and Analyze ကို ပဲ နားထောင်နေတာ ၁ ပတ်ကျော်နေပြီ။ တော်တော်လေးကို ကောင်းတယ်လို့ ဆိုရမယ်။ Build and Analyze ကို ရုံးမှာ အတူတူ လုပ်တဲ့ လုပ်ဖော်ကိုင်ဘက် က recommend လုပ်တာနဲ့ နားထောင်ဖြစ်သွားတယ်။ အဓိက နားထောင်ဖြစ်ရတဲ့ အကြောင်း ပြောတဲ့ သူက Marco Arment , Founder of Instapaper ဖြစ်တာ ကြောင့်လည်း ပါတာပေါ့။

Continue reading

I love rackspace

ဘာလိုလို နဲ့ rackspace server ပေါ်ရောက်တာ ၁၈ ရက်လောက် ရှိသွားပြီ။ အစတုန်းက Nginx နဲ့ စမ်းသုံးရင်းနဲ့ပဲ တော်တော်လေးကို အခက်တွေ့သွားတယ်။ Amazon ထက်စာရင် သုံးရတာ ပိုလွယ်သလို function တွေကလည်း amazon လောက်မပါဘူး။ တနည်းပြောရင် cloud လို့ ပြောပေမယ့် VPS ထက် နည်းနည်း သာရုံလောက်ပဲ ဆိုရမယ်။ Amazon မှာ ရတဲ့ function တွေ ထက်စာရင် တော်တော်လေးကို နည်းတယ်လို့ ဆိုရမှာပဲ။
Continue reading

Deadline

Deadline ဆိုတာ ကြားရတာနဲ့ ကြောက်ဖို့ ကောင်းလှတယ်။ ကျွန်တော်တို့တွေ ငယ်ငယ်တုန်းကတော့ deadline ကို ဆရာမတွေက သတ်မှတ်ပေးတယ်။ ဘာ deadline လဲဆိုတော့ အိမ်စာတွေပေါ့။ အိမ်စာတွေပေးပြီး အိမ်မှာ တွက်ခိုင်း ကျက်ခိုင်း ဖတ်ခိုင်း နောက်နေ့ ပြန်ဖြေ ပြန်ဆို စသည်ဖြင့် deadline သတ်မှတ်ပေးတယ်။ နောက်ပြီးတော့ စာမေးပွဲဆိုတဲ့ deadline ။ သူကတော့ တကယ့် deadline အစစ်။ ရှောင်လို့လည်း မရ။ စောစောပြီးချင်လည်း မရ။ နောက်ကျမှ ပြီးလို့လည်း မရတဲ့ deadline အကြီးစားကြီးပဲ။

ငယ်ငယ်ကတည်းကနေ တက္ကသိုလ်ပြီးသွားတဲ့ အထိ deadline တွေကို ဆရာ ၊ ဆရာမ တွေ သတ်မှတ်ပေးတာ ဒါမှမဟုတ် စာမေးပွဲဆိုတဲ့ deadline တွေနဲ့ပဲ ကြုံတွေ့ခဲ့ရတယ်။ ကိုယ်တိုင် deadline သတ်မှတ်ပြီး လုပ်ရတာဆိုတာ မရှိသလောက်ပေါ့။ ငယ်ငယ်က မှတ်မိသေးတယ်။ ကျောင်းမှာ သချာင်္ ပုစ္ဆာ တွေ အိမ်စာ အများကြီး ပေးတုန်းက အမေ့ကို စာ ခဏခဏ သွားသွားမေးဖူးတယ်။ နောက်ဆုံး အမေက အလွယ်ဆုံးနည်း ပြောလိုက်တယ်။ တိုး တာ ပါရင်ပေါင်း ။ ကွာခြားတာ ဆိုရင် နှုတ်ဆိုပြီး မှတ်ခိုင်းလိုက်တယ်။ ဒါနဲ့ နောက်ဆုံး စာကြောင်းကို ဖတ်။ တိုး တာ လား ကွာခြားတာလား။ ပြီးရင် နံပတ်တွေ ယူပြီး တွက်။ မြန်မြန်ဆန်ဆန်တော့ ပြီးသွားပါတယ်။ သို့ပေမယ့် မေးခွန်း ကို လုံးဝ ကို ကောင်းကောင်းနားမလည်လိုက်ဘူး။ နောက်ပြီး အမြှောက် အစား တွေ ပါလာတော့ နည်းနည်း ခေါင်းစားပြီး ဘာတွေ လုပ်မရမှန်း သေချာ မသိတော့ဘူး။
Continue reading

ပိတ်မိခြင်းလော

အခုတလော ရုံးမှာ designer နဲ့ တော်တော် စကားပြောရတယ်။ ပြဿနာက ဘာလည်းဆိုတော့ လက်ရှိ Designer က India ရုံးခွဲမှာ အလုပ်လုပ်နေပြီးတော့ ဒီကနေ Skype နဲ့ လှမ်းပြီးတော့ ခိုင်းနေရတယ်။ အလုပ်တော့ ဖြစ်ပေမယ့် အလုပ်မတွင်ဘူး။ ဘာပြဿနာလည်းဆိုတော့ ဆွဲလိုက်တဲ့ လက်ရာတွေက India လက်ရာတွေ India အရောင်တွေ ထွက်ထွက်လာတာပဲ။ ဒီတော့ ကျွန်တော်တို့ ကိုယ်တိုင် ကျွန်တော်တို့ လိုချင်တာတွေကို အဆင့်ဆင့်ပြောနေရတဲ့ ပြဿနာပဲ။

ဥပမာပြောရရင် India က Designer ကို မင်း A ကနေ Z အထိ လုပ်လိုက်ကွာလို့ ဆိုလိုက်ရင် A နဲ့ စပြီး Z နဲ့ ဆုံးတော့ ဆုံးမယ်။ ဒါပေမယ့် ကြားထဲက ဟာတွေက​ ဖျောက်တောက် တွေ ဖြစ်ကုန်ကော။ ဒီတော့ A ပြီးရင် B လာတယ်။ B ပြီးရင် C လာတယ်။ အဲလိုမျိုး အတိအကျပြောပြီး လုပ်ခိုင်းရင်တော့ လိုချင်တဲ့ အတိုင်းထွက်လာတယ်။ ဒီတော့ အချိန်အရမ်းကုန်တယ်။ ဒီတော့ creative ဖြစ်အောင် စဉ်းစားပြီး တစ်ခုခု လေး လုပ်ခဲ့ကွာဆိုရင် India လက်ရာ အစစ် အမှန် ထွက်လာပါလေရောဗျာ။ India အရောင် India Design တွေက ကျွန်တော်တို့ လိုချင်တဲ့ အရာတွေ မဟုတ်ဘူး။ ကျွန်တော်တို့က Singapore စျေးကွက်နဲ့ US စျေးကွက်ကို အဓိက သွားချင်တယ်။ Design တွေက Dribble ကလိုမျိုး design တွေ လိုချင်တယ်။ Designer ကို ဘယ်လိုပြောပြော သူ့မူရင်း လက်ရာတွေက် ပြင်ဖို့ တော်တော်ခက်တယ်။ ဒါကို လက်ခံပါတယ်။ ဒါကြောင့်လည်း လိုချင်တဲ့ ပုံအတိုင်းရအောင် ရုံးက သူဌေးက တဆင့်ခြင်း train လုပ်ပြီး ကြိုးစားနေတယ်လို့ မြင်တာပဲ။
Continue reading

Zawgyi with Lion

အခုတလော comment တွေမှာ Lion မှာ ဇော်ဂျီ မပေါ်တော့ဘူးဆိုတာပဲ ပြောနေတယ်။ Lion မှာ မြန်မာ Unicode ပါလာမယ်ဆိုတာကို ကျွန်တော် ဒီ post ကတည်းက ပြောဖူးပါတယ်။ ပါလာတဲ့ font ၂ ခုက Myanmar MN နဲ့ Myanmar Sangam MN တို့ပါ။ Unicode မကြိုက်ဘူးဆိုရင်တော့ Font Book ထဲကနေ တဆင့် အလွယ်တကူ turn off လုပ်လိုက်လို့ရပါတယ်။ ကျွန်တော်ကတော့ Turn Off လုပ်ထားတယ်။ ကျွန်တော်က MasterPiece Unis နဲ့ Myanmar 3 ကို ပိုသဘောကျပါတယ်။ လက်ရှိ ပါလာတဲ့ Unicode Font ၂ ခုက စာလုံး အချို့ ပေါ်တာတွေ လွဲနေပါသေးတယ်။

Unicode ကော ဇော်ဂျီပါ တွဲသုံးချင်တယ်ဆိုရင်တော့

Chrome : http://bit.ly/o40q91
Safari : http://bit.ly/pVSRF5
Firefox : http://bit.ly/qUnn58

Continue reading