လွန်ခဲ့တဲ့ ၂ ပတ်လောက်က Django အကြောင်းရေးဖြစ်ခဲ့သလို စာအုပ်လည်း ဖတ်ဖြစ်ခဲ့တယ်။ စာအုပ် ဖတ်တာကတော့ ထွေထွေထူးထူးရယ်တော့ မဟုတ်ပါဘူး။ iPad ထဲထည့် ရုံးသွားရုံးပြန်ဖတ်။ သောကြာနေ့ည ရောက်ရင် ပြန်စမ်းကြည့်။ တစ်ခါတစ်လေ ရုံးက စောရောက်ရင်တော့ လမ်းမှာ ဖတ်ထားတာ ပြန်စမ်းကြည့်ပေါ့။ စာအုပ် တစ်အုပ်လုံး ဖတ်တာက ၁ ပတ် လောက်ပဲ ကြာတယ်။ Django ကို မတတ်ပေမယ့် သိသွားတယ်။ Django ကို သိသွားပေမယ့် သဘောမကျဘူး။ ဘာလို့ သဘောမကျလည်းဆိုတော့ ကောင်းလွန်းလို့ပဲ။ အရမ်းပြည့်စုံလွန်းတယ်။ အဲဒီတော့ ကျွန်တော်တို့ အနေနဲ့ သူ့ rule တွေကို လိုက်ရတော့တယ်။ သူ့မှာ ပါတဲ့ Ready Made တွေကို သိချင်လာတယ်။ စာပိုဖတ်ရလာတယ်။ ကျွန်တော်က အဲဒါကို သဘောမကျဘူး။ ဒါကြောင့် symfony ထက် CodeIgniter ကို ရွေးခဲ့တာပဲ။ Django ကို သိသွားပေမယ့် ရေးမယ့် project မှာ မသုံးချင်တော့ဘူး။

ဒါနဲ့ Light Weight Python framework နောက်တစ်ခုဖြစ်တဲ့ Pyramid ကို လေ့လာဖြစ်တယ်။ Pyramid ကိုတော့ သဘောကျတယ်။ လွယ်သလို လွတ်လပ်တယ်။ သူက MVC pattern ကို အဓိက ထားပြီးတော့ ကြိုက်တဲ့ python library နဲ့ တွဲသုံးလို့ရတယ်။ ကြိုက်တဲ့ template engine ကို သုံးလို့ရလာတယ်။ အဲဒါကို သဘောကျတယ်။ နောက်ပြီး epub , pdf စာအုပ် free ပေးထားတယ်။ နောက်ပြီးတော့ sample tutorial တွေလည်း ပေးထားတဲ့အတွက် Django ထက်စာရင် လေ့လာလို့ လွယ်တယ်။ Pyramid ကို ၁ ပတ်လောက် ဖတ်ပြီး သကာလမှာတော့ Pyramid ပဲ သုံးတော့မယ်လို့ ဆုံးဖြတ်မိလိုက်တယ်။ Django ထက်ယှဉ်ရင် အများကြီးလွတ်လပ်တယ်။ ready made တွေ သိပ်မပါပေမယ့် ကျွန်တော့် အတွက် အဆင်ပြေတယ်။ Django ထက်စာရင် လေ့လာရလွယ်တယ်။

အဲဒါကို သုံးမယ်လို့ ဆုံးဖြတ်ပြီးကာမှ အောင်စည်သူကျော် က facebook မှာ nodejs နဲ့ ပတ်သက်ပြီး link မှာ tag လုပ်ပြီး ရေးလာတယ်။ မလုပ်တာ ကြာပြီ ဖြစ်တဲ့ node ကို ပြန်လှည့်ကြည့်ချင်စိတ်ပေါက်လာတယ်။ ဒါနဲ့ မထူးပါဘူး။ တစ်ရက်လောက်ပဲ အပျင်းေပြ ဖတ်လိုက်ပါမယ်လို့ လုပ်ပြီး လေ့လာလိုက်တာ ရပ်မရအောင်ပဲ ဆွဲဆောင်မှုရှိတယ်။ Node က python ထက် မြန်သလားမေးရင်တော့ ဟင်အင်း လို့ပဲ ဖြေရမှာပဲ။
for (i=0;i<1000;i++){
for(j=0;j<1000;j++) {
}
}
ဆိုတဲ့ loop ကို python မှာ 1 second မကြာခင်ပြီးနိုင်ပေမယ့် node မှာတော့ ၁ စက္ကန့်ကျော်ကြာတယ်။
Node က python ထက်စာရင် သိသိသာသာ မြန်ပါတယ်။
var sys = require('sys')
var s = process.uptime();
var z = 0;
for (x=0; x < 10000; x++) {
for (y=0; y < 10000; y++) {
z += x * y
}
}
sys.puts(process.uptime() - s)
sys.puts(z)
က node မှာ 3 စက္ကန့်သာ ကြာပေမယ့် python မှာတော့ 24 စက္ကန့် ကြာပါတယ်။ ( credit to Thant Thet )
node js မှာ ရှိတဲ့ module တွေနဲ့ impact တွေကတော့ ကြောက်စရာကောင်းလောက်အောင် တိုးတက်မြန်ဆန်လှတယ်။ Nodejs ဟာ Unix-like platform တွေပေါ်မှာ Google V8 JavaScript engine အတွက် event-driven I/O framework တစ်ခုပါ။ နောက်ပြီး javascript ကို သုံးပြီး server side တွေရေးလို့ရတယ်။ Database access တွေ လုပ်လို့ရတယ်။ တနည်းပြောရင် server side web app တစ်ခု ကောင်းကောင်းရေးလို့ရတယ်။ နောက်ပြီး Real Time app တွေ ရေးလို့ရတယ်။ javascript ဆိုတာက web developer တိုင်း သိတဲ့ language ပါ။ တော်တော်များများသိခဲ့တာက javascript ဆိုတာ client side အတွက် လို့ ဆိုတာပဲ သိကြတယ်။ အခုတော့ Nodejs နဲ့ server side ပါ ရေးလို့ရပြီ။ javascript သင်တဲ့အခါမှာ client side script ဆိုပြီး သင်လို့ မရတော့ဘူး။ Server Side မှာ Nodejs ကို အသုံးပြုပြီး ရေးလို့ရတယ်ဆိုပြီး ပြောင်းပြီး သင်ရတော့မယ်။ Nodejs က ကျွန်တော့် လေ့လာမှုကို ရပ်တန့် မရခဲ့ဘူး။ Nodejs ကနေ ဆက်ပြီးတော့ Redis , Mongod တွေပါ ဆက်ကာ လေ့လာဖြစ်သွားတယ်။ Redis , Mongod တွေ အကြောင်း ပြောရင် ပြီးတော့မှာ မဟုတ်တဲ့အတွက် Django, Pyramid , Nodejs တွေကို ဘယ်လို တွေ လေ့လာဖြစ်ခဲ့သလိုဆိုတာလေး အရင် ပြောပြရစေ။
Continue reading →