Myanmar Tutorials’ Web Design Contest [Review]

ဒီနေ့ MMTut မှာ web design ပြိုင်ပွဲက website တွေကို ကြည့်ဖြစ်လိုက်တယ်။ အကုန်လုံးကတော့ ရှိသမျှ အစွမ်း အကုန်ထုတ်ထားပဲ။ လက်ရှိ design တွေထဲမှာတော့ professional အနေနဲ့ လုပ်နေတဲ့သူတွေ မပါလောက်ဘူးလို့ ထင်ရတယ်။ အကုန်လုံးရဲ့ အားနည်းချက်က typography ကို သွားတွေ့ရတယ်။ အစကတော့ တစ်ခုခြင်းဆီကို ပြောအုံးမလို့ စဉ်းစားပေမယ့် အများကြီး ဖြစ်သွားမှာဖြစ်လို့ရယ်.. အခုမှ ရုံးက ပြန်ရောက်လို့ ပင်ပန်းနေတာရယ် ကြောင့် ခြုံပြီးတော့ပဲ ရေးလိုက်တော့မယ်။ ကျွန်တော့် ထက်စာရင် web designer အလုပ်လုပ်နေတဲ့ သူတွေရဲ့ အမြင်နဲ့ ဝေဖန်ချက်တွေက ပိုကောင်းမယ်လို့ ထင်ပါတယ်။ လက်ရှိ web design တွေ အားလုံးနည်းပါးက HTML4 + CSS2 မှာ အခြေခံထားတာကြောင့် အခုခေတ်ကာလ design တွေနဲ့ ယှဉ်လိုက်ရင် နောက်ကျနေတယ်လို့ ခံစားရတယ်။

Information

အချို့ site တွေက Information တွေ မပါဘူး။ အချို့ site တွေကျပြန်တော့လည်း Information ပြွတ်သိပ်နေတယ်။ တော်တော်များများကတော့ သင့်တော် သလောက်ပဲ Information တွေ ထည့်ထားပေမယ့် Tranning co မှာက မလိုအပ်ပဲ ထည့်ထားတာ များနေတယ်လို့ ခံစားရတယ်။ အထူးသဖြင့် Header က 1,2,3,4 က ဘယ် page မဆို ပါနေတော့ ပိုဆိုးသွားတယ်။ 1,2,3,4 ဆိုတဲ့ square လေးကို home page လောက်မှာပဲ ထည့်လိုက်ရင် တော်တော် အဆင်ပြေလိမ့်မယ်။ နောက်ပြီး အောက်မှာ Column ၄ ခုလောက်ထည့်ထားတော့ information တွေ အရမ်းကို များနေတယ်။

Lorem ipsum

Lorem ipsum က စာလုံးအတွက် အကြမ်းသဘောမျိုး ထည့်တဲ့ နေရာမှာ အသုံးပြုကြပါတယ်။ ဒီလို ပြိုင်ပွဲတွေမှာ ဆိုရင်တော့ အသုံးမပြုသင့်ပါဘူး။ သူ့ထက်စာရင် ယုတ္တိရှိတဲ့ information စာသားတွေကို အသုံးပြုခြင်းအားဖြင့် ကိုယ့်ရဲ့ design ကို ပိုမို မြင်သာစေပါတယ်။ ဥပမာ။။ client ကို website သွားပြတဲ့ အခါမှာတော့ Lorem ipsum ကို အသုံးမပြုသင့်တော့ပါဘူး။ ဒီ နေရာက ဘာလုပ်ဖို့လဲဆိုတဲ့ သဘောမျိုး ပြန်မေးတာကို ထပ်ရှင်းပြနေရလိမ့်မယ်။
Continue reading

Why Cloud Server ?

ကျွန်တော် Why SaaS ? ကိုတော့ ရေးပြီးပါပြီ။ Why SaaS ကို ရေးရခြင်း အဓိက အကြောင်းကိုတော့ Why Cloud Server ? အကြောင်းကို ရေးချင်တာကနေ အစပြုခဲ့တယ်ဆိုလည်း မမှားပါဘူး။ SaaS တွေရဲ့ အောင်မြင်လာမှုမှာ Cloud Server က မပါမဖြစ် ဆိုလည်း မမှားပါဘူး။ Cloud Server ဆိုတာ ဘာလဲ ။ ဘာလို့ Cloud Server ကို သုံးသင့်တာလဲ။ ဘာလို့ Cloud ကို စဉ်းစားသင့်တာလဲ။ Cloud Computing ဆိုတဲ့ စကားလုံးက အရမ်းကို ကျယ်ပြန့်ပါတယ်။ Cloud Server တွေကိုလို့ ပြောလိုက်ရင် ၂ မျိုး ထပ်ပြီး ခွဲပြောရမယ်။ Cloud Server နဲ့ Cloud File Host ပါ။
Continue reading

Why SaaS ?

Software as a Service , Platform As A Service တစ်ခုပြီး တစ်ခုပေါ်လာကြတယ်။ ကျွန်တော် Second Year လောက်တုန်းက သူငယ်ချင်းတစ်ယောက်နဲ့ စကားပြောတုန်းက နောက်ဆိုရင် Online မှာ လူတွေ software တွေ ရောင်းစားလာလိမ့်မယ်။ PDA တွေနဲ့ နေရာအနှံ့သုံးလာနိုင်တယ်လို့ ပြောခဲ့ဘူးတာ မှတ်မိသေးတယ်။ အဲတုန်းက ရန်ကုန်မှာ HP ရဲ့ PDA iPaq ဆိုတာပဲ ရှိသေးတယ်။ လူတိုင်းလည်း ဝယ်မသုံးနိုင်သလို စိတ်လည်း သိပ်မဝင်စားဘူး။ သို့ပေမယ့် သူငယ်ချင်းက အဲဒီ PDA လေး ဝယ်တော့ တော်တော် စိတ်ဝင်စားသွားပြီး စမ်းကြည့်သေးတယ်။ PDA က နောက်ဆိုရင် နေရာ ပြောင်းလဲယူလာနိုင်တယ်လို့တောင် ဆုံးဖြတ်ချက်ချခဲ့မိတာ မှတ်မိသေးရဲ့။ နောက်ပြီး ဟိုအကြောင်း ဒီအကြောင်းပြောရင်း software တွေက online ကနေ လစဉ်ကြေး နဲ့ ရောင်းလာနိုင်တယ်။ အဲဒါက နှစ်ဦးနှစ်ဖက် အကျိုးရှိတယ်ဆိုပြီးတောင် ပြောမိသေးတယ်။ အဲ … အဲဒါပြောပြီး မတိုင်ခင်မှာပဲ computer journal မှာလားမသိဘူး အဲလို ရောင်းပြီး အရှုံးပေါ်သွားတယ်ဆိုတဲ့ company တစ်ခု အကြောင်း ဖတ်လိုက်ရတော့ နင်တင်တင်တောင် ဖြစ်သွားလေရဲ့။ ငါ ထင်တာတွေများ မဖြစ်နိုင်တော့ဘူးလားဆိုပြီးတောင် တွေးမိသေးတယ်။

အဲဒီတုန်းက Internet ဆိုတာ လူတိုင်း သိပ်သိအုံးမယ် မထင်ဘူး။ ကြားဘူးနားဝ ရှိတဲ့သူတွေ ရှိပေမယ့် ကောင်းကောင်း သုံးတဲ့လူတွေက ခပ်ရှားရှား။ နောက်ပြီး လူတိုင်းလည်း မသုံးနိုင်တာပါတယ်။ Dial-up လောက်ပဲ အိမ်တွေမှာ အသုံးများတယ်။ နောက်ပြီး ဖွင့်ထားတဲ ့website တွေကလည်း အခုနဲ့ယှဉ်ရင် တော်တော်နည်းတယ်ဆိုရမလားပဲ။ နည်းပညာအကြောင်းဆိုလို့ Internet Journal နဲ့ computer journal လောက်ပဲ ဖတ်လို့ရတယ်။ အဲဒီ အချိန်တုန်းက ဘာကြောင့် ကျွန်တော် အဲလို တွေးမိလည်း ဆိုတာတော့ မသိဘူး။ သို့ပေမယ့် ဖြစ်လာနိုင်တဲ့ အလားအလာလို့ တွေးမိတာတော့ အမှန်ပဲ။ အဲဒီ အရာကို SAAS လို့ ခေါ်မယ်ဆိုတာလည်း မသိခဲ့ဘူး။

ကျွန်တော် တွေးတာက ရိုးရိုးလေး။ တစ်သက်လုံးလည်း သုံးမှာ မဟုတ်ဘူး။ အသုံးလိုသလောက်ပဲ သုံးမှာ။ မသုံးချင်တဲ့ အခါလည်း မသုံးဘူး။ အဲဒီ အတွက် တစ်ခါတည်း ပိုက်ဆံ အများကြီးပေးရမယ်ဆိုတာကတော့ လုံးဝမတန်ဘူး။ သုံးသလောက်ပဲ ပိုက်ဆံပေးချင်တယ်။ အပြတ်ဝယ်တာထက် ငှားသုံးတာကို ပိုသဘောကျတယ် လို့ တွေးပြီး ပြောခဲ့တာ ။ နောက်ပြီး download ချရတာ အခွေဝယ်ရတာရှုပ်တယ်။ နောက်ပိုင်း connection တွေ အရမ်းကောင်းလာရင် online ပေါ်ကနေပဲ တိုက်ရိုက်သုံးလို့မရဘူးလား ဆိုပြီး တွေးမိခဲ့တာ။ အဲဒါလေးကိုတော့ အခုထက်ထိ မှတ်မိသေးတယ်။ အဲတုန်းကတော့ Windows မှ Windows ပေါ့။ Linux ကို မသုံးဘူးလို့ အော်ခဲ့တဲ့ အချိန်တွေပေါ့။
Continue reading

PHPFog

မနေ့က PHPFog ရဲ့ invitation ရတာနဲ့ စမ်းဖြစ်တယ်။ PHPFog ကို အသုံးပြုချင်တာကတော့ ကြာလှပြီ။ သို့ပေမယ့် လူတိုင်း register လုပ်ပြီး သုံးခွင့်မရှိဘူး။ သူ invite လုပ်တဲ့သူတွေပဲ သုံးခွင့်ရှိပါတယ်။ PHPFog ကို register လုပ်တဲ့အခါမှာ survy ဖြည့်ထားတဲ့သူတွေကို ဦးစားပေးပြီး Beta access ရပါတယ်။ မနေ့က ရတော့ တော်တော်ပျော်သွားပါတယ်။ heroku ကို သိကတည်းက PHP လည်း အဲလိုမျိုး ရှိရင် ကောင်းမှာပဲ လို့ စဉ်းစားမိတယ်။ PHP Fog ကို သိသိခြင်းမှာပဲ register လုပ် survy လုပ်ထားတာ တော်တော်တော့ကြာသွားပြီ။

PHPFog ကတော့ ပုံမှန် ထက် အသုံးလွယ်အောင် ဖန်တီးပေးထားတယ်။ ၁ လ ကို $29 လောက်တော့ ပေးရတယ်။ $29 ဆိုတာက Application တစ်ခုတည်းအတွက်နော်။ စျေးကတော့ မသေးလှဘူး။ သို့ပေမယ့် Amazon မှာ ထားပြီး scalability ဖြစ်တာကြောင့် Techcrush , Mashable လိုမျိုး လူတွေ အရမ်း အဝင်များတဲ့ site တွေအတွက် အရမ်းကို အဆင်ပြေပါတယ်။ Free အနေနဲ့ ၆လ စမ်းလို့ရပါတယ်။

တစ်ခါတည်း one step တည်းနဲ့ wordpress , joomla, drupal , sugarCRM တွေကို တည်ဆောက်လို့ရတယ်။ နောက်ပြီးတော့ ကိုယ်ပိုင် php file အသုံးပြုလို့ရသလို phpframewok အချို့လည်း အသုံးပြုလို့ရပါတယ်။ အမျိုးအစား ရွေးပြီးရင်တော့ plan ရွေးရပါတယ်။

ပြီးရင်တော့ domain ရွေးပေးရတယ်။ ကျွန်တော်ကတော့ စမ်းမှာ ဖြစ်လို့ subdomain ပဲယူလိုက်တယ်။ ပြီးရင်တော့ file တွေစတင်လို့ရပါပြီ။ နောက်ပြီး database လည်း အသုံးပြုလို့ရပါတယ်။ database က amazon ပေါ်မှာပဲ တင်ထားပါတယ်။ phpmyadmin လည်း ပေးတော့ manage လုပ်ရတာ အဆင်ပြေတာပေါ့။

file တင်မယ်ဆိုရင်တော့ Git ကို သုံးတတ်ဖို့ လိုပါတယ်။ Git သုံးထားတာတော့ file တွေ upload တင်ရတာ အဆင်ပြေတယ်။ နောက်ပြီး ပြန်ပြင်ရတာလည်း အဆင်ပြေတယ်။ ပြင်ပြီး update လုပ်ရင် git ကြောင့် ပြင်ထားတဲ့ file လေးတွေပဲ တင်သွားတော့ FTP ထက်စာရင် အများကြီးကို အဆင်ပြေတယ်။

သုံးကြည့်တော့ မဆိုးဘူး။ လွယ်တယ်။ စျေးများပေမယ့် ခေါင်းမစားရဘူး။ developer တွေ စိတ်ကြိုက်ပါ။ apache.conf ကို ပြင်ခွင့်ပေးထားတယ်။ php.ini ကို စိတ်ကြိုက် ပြင်လို့ရတယ်။ ၆ လ လောက်တော့ ကောင်းကောင်းလည်း ဆော့လို့ရသွားတာပေါ့။

ဘာပဲ ပြောပြော invite လုပ်တဲ့ PHPFog ကို ကျေးဇူးတင်ပါတယ်။ PAAS ဆိုတာကို သုံးဖူးသွားတာပေါ့။

Ava is ready

Ava framework ကို ရေးလိုက်တာ စနေ တနင်္ဂနွေ တစ်ခုလုံး ကုန်သွားတယ်။ လက်ရှိ ရေးထားတာက recursive ပြဿနာ ဖြစ်နေတာနဲ့ core တစ်ခုလုံး အစအဆုံး ပြန်ပြင်ရတယ်ဆို ပိုမှန်မယ်။ အခုကတော့ တော်တော် အဆင်ပြေသွားပြီ။ bluehost ကြောင့်လည်း အဲဒီ ပြဿနာ ရှိမှန်း သိလိုက်ရတာ။ အရင် အဟောင်းက memory တွေ အရမ်းသုံးတာ မသိလိုက်ဘူး။ အခု version မှာတော့ တတ်နိုင်သလောက် လျော့ချလိုက်တယ်။ အဲဒီ အကြောင်းကိုတော့ Ava light မှာတုန်းက ပြောပြီးပါပြီ။
Continue reading

Ava Lite

Ava framework ကို ရေးပြီးတာတော့ ကြာပြီ။ ဒါပေမယ့် bluehost မှာ တင်တော့ ပြဿနာ တက်တာပဲ။ ဘာလို့လည်းဆိုတော့ memory usages အရမ်းများနေလို့။ ဘာကြောင့်များတာလဲလို့ code ကို ကြည့်လိုက်တော့ class ကို recursive ဖြစ်နေတာတွေ့ ရတယ်။

 $this->load=$this; 

အဲဒါက အဓိက ပြဿနာပဲ။ အဲဒီ recursive က dead lock ဖြစ်သွားပြီး memory limit ပြည့်သွားတာ။ အစက hosting ကို သွားပြီး အပြစ်တင်သေးတယ်။ ဒါပေမယ့် ကိုယ့်ဘာသာ code ကို သေချာပြန်စစ်တော့ အဲဒီ နေရာက ပြဿနာ တက်ပါလေရော။ ပြန်ပြင်မယ်ဆိုတော့လည်း လက်ရှိ ရေးထားတဲ့ အပိုင်းတွေကို အကုန်လိုက်မပြင်ချင်ဘူး။ application folder က အပိုင်းကို မပြင်ရအောင် core တစ်ခုလုံး ပြင်ဖို့ ကြိုးစားရကော။ သို့သော် မရ။ ဘယ်လို ရေးရမယ်ဆိုတဲ့ idea ကို ကောင်းကောင်းမရဘူး။ Google ကလိုက်ရှာတော့လည်း မတွေ့ဘူး။ တော်တော်များများက $this->load=$this; နဲ့ ရေးထားတဲ့ tutorial တွေ အရမ်းများနေတယ်။

မဖြစ်သေးပါဘူး။ light version ကနေ စရေးရမယ်ဆိုပြီး စဖြစ်လိုက်တာပဲ။ ရေးမယ်တာ ပြောတာ။ ဘယ်က စရမှန်း မသိ။ UML တွေ ဆွဲကြည့်ရင်းနဲ့ သဘောတစ်ခုပေါက်သွားတာက Singleton ကို ငါ သုံးသင့်တာပဲ ဆိုပြီး သဘောပေါက်သွားတယ်။ Objective-c ကို အဲမှာ ကျေးဇူးတင်ရမယ်။ Objective-C လေ့လာရင်းနဲ့ memory တွေ အတတ်နိုင်ဆုံး နည်းအောင် ဘယ်လိုရေးသင့်လဲဆိုတာကို စဉ်းစားတတ်လာတာ။ iPhone 3Gs လို memory နည်းနည်းလေးမှာ ဘယ်လိုမျိုး သုံးရင် အဆင်ပြေမလဲဆိုတာကို ထည့်သွင်းစဉ်းစားလာရတာကြောင့်လည်း ပါတယ်။ အဲဒါက လက်ရှိ Ava framework ကို ပြန်ပြင်ဖို့ အများကြီး အထောက်အပံ့လာဖြစ်တယ်။ Core တစ်ခုလုံးကို Singleton ထားပြီး အဲဒီမှာပဲ initialize လုပ်သွားရင် သက်သာသွားမယ်။ recursive မဖြစ်တော့ဘူး။
Continue reading

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 ရေးသားပုံတွေက မတူညီကြပါဘူး။

Map-Reduce

Map-Reduce ကတော့ NoSQL ကို လွယ်လင့် တကူ အသုံးပြုလို့ရမယ့် design ပါ။ နောက်ပြီး NoSQL တွေမှာ javascript language လိုမျိုး ထည့်သွင်းရေးသားနိုင်ပါတယ်။ Mongodb မှာတော့ ဒီလို မျိုးရေးပါတယ်။

db.things.save({x : 4, j : 100});
for (var i = 1; i <= 20; i++) db.things.save({x : 4, j : i});

things ဆိုတဲ့ collection (tables) မှာ loop ပတ်ပြီးတော့ data သိမ်းလိုက်တာပါ။ .save, .update, .delete လိုမျိုး အရံသင့် function တွေ နဲ့ data သိမ်းတာ ဖျက်တာ update လုပ်တာတွေ လွယ်လွယ်ကူကူ လုပ်နိုင်ပါတယ်။
Continue reading

NoSQL

စမ်းမယ် စမ်းမယ်နဲ့ သေသေချာချာ မစမ်းဖြစ်သေးတဲ့ MongoDB ကို ဒီနေ့မှပဲ စမ်းဖြစ်တော့တယ်။ php အတွက် driver ကိုတော့ စမ်းသွင်းထားတာ ကြာလှပါပြီ။ MongoDB က သွင်းရတာ လွယ်သလို ရေးရတာလည်း လွယ်တယ်။ ပြဿနာ တစ်ခုက PHP Driver သွင်းရတာလေးပဲ။ 32 bit နဲ့ 64 bit ပြဿနာ ကြောင့် driver ကို ကိုယ့်ဘာသာကိုယ် compile ပြန်လုပ်ရတယ်။ အဲဒါကလွဲပြီး ထွေထွေ ထူးထူး ပြဿနာ မရှိပါဘူး။ MongoDB က NoSQL Database တွေထဲက တစ်ခုပါ။
Continue reading