Heroku မှာ Account ဖွင့်ပြီးတာကြာပြီ။ လက်တွေ့မစမ်းဖြစ်သေးပါ။ မနေ့ကစပါသည်။ Playframework Application တစ်ခု Heroku ပေါ်တွင်တည်ဆောက်ပြီး Check Out လုပ်ခဲ့ပါသည်။ တဖန် Heroku ကို သိပ်ပြီး သုံးလေ့မရှိတဲ့အတွက် ဟိုကြည့်ဒီကြည့်လုပ်နေရင်း မနေ့က တကယ်တမ်း မရေးဖြစ်ခဲ့ပါ။
ဒီနေ့မနက် အလုပ်သွားကတည်းက စိတ်ထဲတွင် ဒီ Heroku အကြောင်းပဲ ပေါ်ပေါ်လာပါသည်။ ၁၀တန်းအောင်ပြီး ရီးစားစထားကစကလိုပင်။ ဘာလုပ်လုပ် ခေါင်းထဲဝင်ဝင်လာ၏။ အလုပ်ထဲတွင် ကွန်ပျူတာကြီး ဖွင့်ပြီး Test Case တွေရေးနေရင်းရော၊ ထမင်းဘူးဖွင့်ပြီး တူကိုင်ကာ ငိုင်တိုင်တိုင်လုပ်နေရင်းကော၊ အလုပ်ပြီး အိမ်ပြန်လို့ ရထားပေါ်တွင် ထိုင်နေရင်းပါ ဒီ Heroku ကိုပဲ စိတ်ထဲရောက်နေပါသည်။
Heroku သည် GAE၊ Cloudbees, Open shift နှင့် Cloudfoundry တို့ကဲ့သို့ Java ကို အသုံးပြုနိုင်သော Cloud Services တစ်ခုပင် ဖြစ်၏။ ဘာကြောင့် ဒီလောက် စိတ်ထဲကို ရောက်ရောက်နေတာလဲ။ Heroku ကို ဝင်ကြည့်လိုက်လျှင် သိပါလိမ့်မည်။
အရမ်းကို လွယ်ကူ၍၊ အရမ်းကို စွမ်းအားကြီးပြီး၊ အရမ်းကို လွတ်လပ်တဲ့အတွက်ဖြစ်ပါတယ်။ လွယ်သလားဆိုတော့ Mail Account တစ်ခုရှိရုံနှင့် Heroku Account ကို ဖွင့်နိုင်ပါတယ်။ Facebook ကို ဝင်တုန်းကထက်တောင် လွယ်ပါသေးတယ်။ ပြီးတော့ create application ကို နှိပ်လိုက်တာနဲ့ Heroku အပေါ်မှာ နှစ်သက်ရာ Template မှ တဆင့် အပလီကေးရှင်းကို တည်ဆောက်နိုင်သည်။
ပြီးရင် git ကနေ checkout လုပ်ပြီး ပြင်ဆင်ရေးသားရုံပင်။ ၁၀မိနစ် တောင်ကြာမည်မထင်။
ဒါနဲ့ မနေ့က Playframework အပလီတစ်ခုကို တည်ဆောက်ပြီး၊ အမျိုးမျိုး စမ်းနေကြည့်မိသည်။ ဒါပေမယ့် Eclipse မှာတော့ import မလုပ်မိသေးပါ။
ဒီနေ့ အိမ်ပြန်ရောက်တာနဲ့ ထမင်းစား၊ တူဖြစ်သူ ကောင်းကောင်းလေက Youtube ကြည့်နေတာစောင့်ပြီး၊ ကောင်းကောင်း အိပ်တာနဲ့ Eclipse ကို ဖွင့်ကာ import လုပ်ပါတော့တယ်။ အဲ့ဒီကျမှ ဒုက္ခတွေ့ပါတော့တယ်။ param eclipsify ကို မသိဘူးဖြစ်နေတယ်။ တက်လိုက်တဲ့ အဲရာတွေ။ ဘာဖြစ်တာလဲပေါ့။
နက်ထဲမှာ ဟိုရှာဒီရှာလုပ်တာလည်း အဖြေကမတွေ့။ Play ကိုလည်း စသုံးကာစမို့ ဘာဖြစ်လို့ဖြစ်မှန်း မသိ။ ဒါနဲ့ Eclipse ကမဟုတ်ပဲ cmd နဲ့ ကြိုးစားကြည့်ပါတယ်။ Heroku က ချက်အောက်လုပ်ထားတဲ့ project မဟုတ်ပဲ ပရိုဂျက်တစ်ခုကို create လုပ်ပါတယ်။
ပြီးတော့ play ကွန်ဆိုးကိုခေါ်ပြီး၊ eclipsify ဆိုပြီး စမ်းကြည့်တယ်။ အလုပ်လုပ်တာကိုတွေ့တယ်။ ကျွှန်တော် ရိပ်မိလိုက်ပါပြီ။ ကျွှန်တော် ဒေါင်းလုဒ်လုပ်နေတဲ့ Play framework က အသစ်ဖြစ်နေသည်ဟု။ ဒါနဲ့ Heroku မှ ယူထားသော Play Project ကို ကြည့်ကြည့်သောအခါ ဗားရှင်းမှာ ဟောင်းနေပါသည်။
နောက်နေ့မှ Play အသစ်နဲ့ အပလီကေးရှင်းကို Heroku ပေါ်တင်ကြည့်ပါဦးမည်။
ဒီနေ့တော့ အိပ်တော့မည်။
ဟိုအကြောင်း ဒီအကြောင်းများကို ရေးသားထားပါသည်။ ဂျပန်နိုင်ငံရှိ မြန်မာနိုင်ငံသား အလွတ်ပရိုဂရမ်မာ တစ်ယောက်၏ အသက် သွေးချွေးများဖြင့် ရင်းနှီးထားသော အတွေ့အကြုံများ ဖြစ်ကြ၏။ တစ်ခါတရံ ညည်းတွားသံများနှင့် ပြည့်နှက်ချင် ပြည့်နှက်နေပေမည်။ ဝမ်းမြောက်ခြင်းဖြင့် ထုံသင်းနေသည့်အခါလည်း ရှိမည်။ ဒါမှမဟုတ် ထွေရာလေးပါးလည်း ဖြစ်ချင်ဖြစ် ပေမည်။ ရသလည်း မြောက်ချင်မှမြောက်ပါလိမ့်မည်။ စိတ်ထဲရှိသမျှကို ရေးသားထားပါသည်။
Monday, June 25, 2012
Thursday, June 21, 2012
.htaccess hack
အခုတလော မြန်မာဟက်ကာများနှင့် ဘင်္ဂလားဒစ်ဟက်ကာများ၏ စိုက်ဘာစစ်ပွဲဟု ဖြစ်ပွားနေကြပါသည်။ ဘာတွေများ ဖြစ်ကြတာပါလိမ့်ဟု။ မြန်မာဟက်ကာတွေက ဘင်္ဂလာဒစ်မှာရှိတဲ့ Web Site တွေကို ဟက်၊ ဘင်္ဂလားဒစ်က ဟက်ကာတွေက မြန်မာပြည်က Web Site တွေကို ဟက်ပေါ့။
သေချာစဉ်းစားလျှင် အဟက်ခံရတဲ့ Web Site တွေက ကြားထဲက ခံရခြင်းဖြစ်၏။ ဒီကောင်တွေ ဒီလောက်စွမ်းနေမှတော့ အပြင်မှာ တုတ်ဆွဲပြီး ရိုက်ကြကွာဟု ပြောလိုက်ချင်ပါသည်။
ဟက်ပုံများကို လေ့လာကြည့်ပါသည်။ ဒီတစ်ခေါက် ဟက်ကြခြင်းသည် .htacess hack နည်းနှင့် ခပ်ဆင်ဆင်နည်းများကို အသုံးပြုထားခြင်း ဖြစ်၏။
Web Server များ၏ .htacess ဖိုင်အား ပြုပြင်ပြောင်းလည်းခြင်းဖြင့် ထို Web Site အား Access လုပ်သည့်အခါ အခြားသော Web Site ဆီသို့ Redirect လုပ်ပစ်ခြင်း ဖြစ်သည်။ ဤနေရာတွင် Redirect လုပ်ခြင်းမဟုတ်ပဲ တိုက်ရိုက်ပြုပြင် ပစ်ခြင်း ဖြစ်သည်။
ဖြစ်ပွားပုံအကြောင်းအရင်းမှာ အောက်ပါအချက် ၃မျိုးမှဟု စဉ်းစားနိုင်ပါသည်။
ကြိုတင်ကာကွယ်ရန်အတွက်၊ အောက်ပါ အချက်များအား ကရုပြုသင့်ပါသည်။
အဓိကအကျဆုံးမှာ မိမိအသုံးပြုနေသော ကွန်ပျူတာတွင် Antivirous Software တစ်ခုခုကို တင်ထားခြင်း။ Windows Update ကိုလည်း မမေ့ခြင်း။ မဖွယ်ရာသော ဆိုက်များအား Access မလုပ်ခြင်း။ ထို့အပြင် ဒေါင်းလုဒ်လုပ်ပါဟု ပြောတိုင်း Yes မလုပ်မိစေခြင်း အစရှိသည်တို့သည်လည်း မရှိမဖြစ်လိုအပ်သော အခြေခံများကိုလည်း လိုက်နာသင့်ပါသည်။
သေချာစဉ်းစားလျှင် အဟက်ခံရတဲ့ Web Site တွေက ကြားထဲက ခံရခြင်းဖြစ်၏။ ဒီကောင်တွေ ဒီလောက်စွမ်းနေမှတော့ အပြင်မှာ တုတ်ဆွဲပြီး ရိုက်ကြကွာဟု ပြောလိုက်ချင်ပါသည်။
ဟက်ပုံများကို လေ့လာကြည့်ပါသည်။ ဒီတစ်ခေါက် ဟက်ကြခြင်းသည် .htacess hack နည်းနှင့် ခပ်ဆင်ဆင်နည်းများကို အသုံးပြုထားခြင်း ဖြစ်၏။
.htacess hack ဆိုသည်မှာ
Web Server များ၏ .htacess ဖိုင်အား ပြုပြင်ပြောင်းလည်းခြင်းဖြင့် ထို Web Site အား Access လုပ်သည့်အခါ အခြားသော Web Site ဆီသို့ Redirect လုပ်ပစ်ခြင်း ဖြစ်သည်။ ဤနေရာတွင် Redirect လုပ်ခြင်းမဟုတ်ပဲ တိုက်ရိုက်ပြုပြင် ပစ်ခြင်း ဖြစ်သည်။
ဖြစ်ပွားပုံအကြောင်းအရင်းမှာ အောက်ပါအချက် ၃မျိုးမှဟု စဉ်းစားနိုင်ပါသည်။
- Admin ၏ ကွန်ပျူတာအား ဗိုင်းရပ်စ်ဝင်ရာမှ၊ Admin မှ Web Server အား FTP ဖြင့် ဖိုင်တင်ရာတွင် account နှင့် password သည် ပေါက်ပွားသွားခြင်း။
- Admin ၏ ကွန်ပျူတာအား ဗိုင်းရပ်စ်ဝင်ရာမှ၊ Admin ၏ FTP Setting အချက်အလက်များ ပေါက်ကြားသွားခြင်း။
- Web Serve တွင် အသုံးပြုနေသော Web Application (CMS) များ၏ အားနည်းချက်များမှ ပြင်ပမှ ဖောက်ဝင်ရလွယ်ကူစေခြင်း။
ကြိုတင်ကာကွယ်ရန်အတွက်၊ အောက်ပါ အချက်များအား ကရုပြုသင့်ပါသည်။
- စကားဝှက်ခြင်း မပြုပဲ File များအား FTP ဖြင့် upload လုပ်ခြင်းအား ရှောင်ရှားခြင်း။ Upload လုပ်လိုပါက SFTP, FTPS နည်းကို အသုံးပြုခြင်း။ FTP ကို သာအသုံးပြုနိုင်သော FFFTP အား တတ်နိုင်သလောက်အသုံးမပြုပဲ၊ SFTP, FTPS ကို အသုံးပြုနိုင်သော FileZilla ဒါမှမဟုတ် WinSCP အား အသုံးပြုခြင်း။
- FTP Software များ၏ Setting File များအား စကားဝှက်စနစ်အားအသုံးပြု၍ ထိမ်းသိမ်းခြင်း။ Master Password နည်းကို အသုံးပြုသော Software များကို အသုံးပြုခြင်း။ FFFTP နှင့် WinSCP တို့သည်၊ Master Password ကို အသုံးပြုနိုင်ပါသည်။
- မိမိကအသုံးပြုနေသော CMS Application (Wordpress, Joomla, Movatype ...) များ၏ လုံခြုံရေး သတင်းများအား မကြာခဏ နားစွင့်နေပြီး၊ အမြဲဆိုသလို Update လုပ်ခြင်း။
အဓိကအကျဆုံးမှာ မိမိအသုံးပြုနေသော ကွန်ပျူတာတွင် Antivirous Software တစ်ခုခုကို တင်ထားခြင်း။ Windows Update ကိုလည်း မမေ့ခြင်း။ မဖွယ်ရာသော ဆိုက်များအား Access မလုပ်ခြင်း။ ထို့အပြင် ဒေါင်းလုဒ်လုပ်ပါဟု ပြောတိုင်း Yes မလုပ်မိစေခြင်း အစရှိသည်တို့သည်လည်း မရှိမဖြစ်လိုအပ်သော အခြေခံများကိုလည်း လိုက်နာသင့်ပါသည်။
အဟက်ခံရပြီဆိုပါက
မိမိ၏ ဆာဗာအား အဟက်ခံရပြီဆိုပါက အောက်ပါအချက်များအား စမ်းစစ်သင့်ပါသည်။
- ကိုယ်မသိပဲ .htaccess File တစ်ခုခုများ upload ခံနေရသလားဆိုသည်ကို၊ root အောက်တွင်သာမက Sub Directory များ အောက်ကိုပါ ရှာကြည့်ပါ။
- နောက်ပြီး ယခင်ရှိခဲ့သော .htaccess ဖိုင်အား ပြုပြင်ပြောင်းလည်းခြင်း ခံနေရသလား ဆိုသည်ကို စမ်းစစ်သင့်ပါသည်။ last update time အား check လုပ်ကြည့်ပါ။ မိမိမသိပဲ အပြုပြင် ခံနေရတတ်ပါသည်။
- မိမိ မတင်ထားသော ဖိုင်များ ရှိမရှိကို စမ်းစစ်ပါ။
- Wordpress, Joolma တို့တွင် အသုံးပြုနေသော PHP ဖိုင်များအား စမ်းစစ်ကြည့်ပါ။
နောက်ဆုံးသတိပြုရန် အချက်မှာ အထက်ပါ ဖိုင်နှင့် ဒိုင်အတ္တရီများ၏ Permission အား လူတကာပြုပြင်ရေးသားနိုင်သော 777, 774 အဖြစ်မသတ်မှတ်ပဲ၊ 644, 604 တို့ကို အသုံးပြုရန် တိုက်တွန်းအပ်ပါသည်။
Wednesday, June 13, 2012
Android Action
ဒီနေ့ စနေနေ့က အလုပ်ဆင်းထားပါသဖြင့် အစားနားရပါသည်။ တနေကုန်စာရေးလိုက်၊ စာဖတ်လိုက်နဲ့ အလုပ်ရှုပ်နေခဲ့ပါသည်။ ကျွှန်တော်သည် တစ်ခုတည်းလုပ်ရတာ ၂နာရီထက်ကြားလာလျှင် ပျင်းလာတတ်ပါသည်။
ကွန်ပျူတာကို ကျွှန်တော်နှစ်သက်ခြင်းသည် အဲ့ဒီကိစ္စလည်းပါမည် ထင်သည်။ သူ့မှာ ပျင်းစရာမရှိ။ လေ့လာမယ်ဆိုရင် တကယ်ကို လေ့လာစရာမကုန်။ Web, Desktop, Mobile, Java, Security, Python, Linux အစရှိသဖြင့် လေ့လာရမည် ဆိုလျှင်ကုန်မည်မဟုတ်။ ဒါကြောင့်လည်း ကျွှန်တော်သည် ကွန်ပျူတာနဲ့ တွေ့တော့မှပဲ စိတ်ငြိမ်ရတော့ပါသည်။
ဒီနေ့ ညနေပိုင်းတွင် စာရေးရတာ စိတ်ပင်ပန်းလာပါသဖြင့် Eclipse ကို ဖွင့်၊ ပြီးခဲ့သော အပတ်က ရေးထားခဲ့သော Android ပရိုဂျက်ကို ပြန်ဖွင့်ပါသည်။ ဘာတွေပါလဲပေါ့။
Source Folder အနေနဲ့ src နဲ့ gen ကို တွေ့ရပါသည်။ Java Source တွေကို src ထဲမှာ ရေးရမှာဖြစ်ပြီး၊ gen ထဲမှာကတော့ သူ့အလိုလို ရေးပေးတဲ့ ကုဒ်တွေကို ထားရမှာဖြစ်တယ်ဆိုတာ သိလိုက်ရပါသည်။
ပြီးတော့ folder များအနေနဲ့ assets, bin, rest တို့ကို တွေ့ရသည်။ assets ဆိုတာဘမှန်း မသိသော်လည်း၊ bin ဆိုတာက binary ဖြစ်တဲ့အတွက် class တွေက ဒီနေရာမှာ ထွက်လိမ့်မည်၊ ပြီးတော့ res ဆိုတာကတော့ resource ရဲ့ အတိုကောက်ဖြစ်မည် ဟု တွေးမိပါသည်။
ဒါနဲ့ res ထဲကိုဖွင့်ကြည့်သည်။ drawable-hdpi, drawable-ldpi, drawable-mdpi, drawable-xhdpi, layout နှင့် values တို့ကိုတွေ့ရပါသည်။ drawable တွေက ဘာတွေမှန်းမသိ။ နောက်မှလေ့လာပါမည်။ layout ဆိုတာကို စိတ်ဝင်စားသွား၍ ဖွင့်ကြည့်သည်။ main.xml ကို တွေ့ရပါသည်။ ဒါနဲ့ double click နှိပ်ပြီး ဖွင့်ကြည့်သည်။ GUI လေးအောက်ဒီဇိုင်းနာ ကိုတွေ့ရပါသည်။ GUI တွေကို လွယ်လွယ်ကူကူ ဒီမှာရေးလို့ရမှာပဲဟု။ Swing ကို Eclipse Windows Builder ဒါမှမဟုတ် Netbeans တို့နဲ့ ရေးဘူးသူဆိုပါက အခက်အခဲရှိမည် မဟုတ်။
ချက်ချင်းဆိုသလို TextView နှစ်ခု EditText တစ်ခုနဲ့ Button တစ်ခုကို ရေးကြည့်သည်။ Component အပေါ်မှာ ညာကလစ်နှိပ်ပြီး ဘာလုပ်လို့ရလဲဟုကြည့်သည်။ Edit Text ကို တွေ့ရသဖြင့် ဖွင့်ကြည့်သည်။ Text တွေကို Resource ဖြင့် Mapping လုပ်နေတာကို တွေ့ရသည်။ ဒါနဲ့ မပြောင်းလည်းမယ့် Text တွေကို Project Resource နဲ့ Map လုပ်သည်။ values ဖိုလဒါထဲက string.xml မှာ value အသစ်တွေကို အလိုအလျှောက်ရေးနိုင်သည်ကို တွေ့ရပါသည်။
ဒါနဲ့ input လဲရေးပြီးပြီ၊ button လည်းရေးပြီးပြီ၊ action ကို ဘယ်လိုရေးမလဲ ဟုသွားကြည့်ပါသည်။ ယခင်ရေးခဲ့သော YawanaActivity.java ကို ပဲပြန်ပြင်ရေးရမည် ဟုထင်ပါသည်။
အထက်ပါအတိုင်း onCreate ထဲတွင် setContentView ဟု view တွင် ရေးထားသော R.layout.main ကို ရေးသားစေပါသည်။ View ကို ရေးသည့်အခါတွင် အလိုအလျှောက် ရေးသားခံခဲ့ရသော Java Class တစ်ခုဖြစ်ပြီး၊ အချက်အလက်များကို static အနေဖြင့် သိမ်းထားပါသည်။ လောလောဆယ်တော့ main ကို အသုံးပြုလိုသဖြင့် ဤကဲ့သို့ရေးသားလိုက်ပါသည်။
ပြီးလျှင် ကျွှန်တော်ရေးသားထားသော Button ကို Event နဲ့ ပူးပေးရပါမည်။ Swing မှာဆိုလျှင် addListiner ဘာညာပေါ့ ဆိုပြီး codeAssit နဲ့ ရှာကြည့်သည်။ setOnClickListener ကို တွေ့ရသည်။ ဒါပဲပေါ့။ ဒါနဲ့ OnClickListener ကိုပဲ ဒီအတိုင်း new လုပ်ပါသည်။ ပြီးလျှင် override လုပ်ရမည့် onClick ကို ဖြည့်စွက်ရေးပါသည်။
Application ကို run ကြည့်ပါသည်။
နမှုနာအပလီ တက်လာပါသည်။ ဒါနဲ့ input ထဲတွင် Min Lwin ဟုရိုက်ပြီး၊ Greet Button ကို နှိပ်လိုက်သည်။ Hello Min Lwin ဟုထွက်လာသည်ကို တွေ့ရသည်။
Swing အတွေ့အကြုံရှိသူ Java ပရိုဂရမ်မာတစ်ယောက်အတွက် Android သည် လေ့လာရ လွယ်ကူပါလိမ့်မည် ဟု ယုံကြည်မိပါသည်။
ကွန်ပျူတာကို ကျွှန်တော်နှစ်သက်ခြင်းသည် အဲ့ဒီကိစ္စလည်းပါမည် ထင်သည်။ သူ့မှာ ပျင်းစရာမရှိ။ လေ့လာမယ်ဆိုရင် တကယ်ကို လေ့လာစရာမကုန်။ Web, Desktop, Mobile, Java, Security, Python, Linux အစရှိသဖြင့် လေ့လာရမည် ဆိုလျှင်ကုန်မည်မဟုတ်။ ဒါကြောင့်လည်း ကျွှန်တော်သည် ကွန်ပျူတာနဲ့ တွေ့တော့မှပဲ စိတ်ငြိမ်ရတော့ပါသည်။
ဒီနေ့ ညနေပိုင်းတွင် စာရေးရတာ စိတ်ပင်ပန်းလာပါသဖြင့် Eclipse ကို ဖွင့်၊ ပြီးခဲ့သော အပတ်က ရေးထားခဲ့သော Android ပရိုဂျက်ကို ပြန်ဖွင့်ပါသည်။ ဘာတွေပါလဲပေါ့။
Source Folder အနေနဲ့ src နဲ့ gen ကို တွေ့ရပါသည်။ Java Source တွေကို src ထဲမှာ ရေးရမှာဖြစ်ပြီး၊ gen ထဲမှာကတော့ သူ့အလိုလို ရေးပေးတဲ့ ကုဒ်တွေကို ထားရမှာဖြစ်တယ်ဆိုတာ သိလိုက်ရပါသည်။
ပြီးတော့ folder များအနေနဲ့ assets, bin, rest တို့ကို တွေ့ရသည်။ assets ဆိုတာဘမှန်း မသိသော်လည်း၊ bin ဆိုတာက binary ဖြစ်တဲ့အတွက် class တွေက ဒီနေရာမှာ ထွက်လိမ့်မည်၊ ပြီးတော့ res ဆိုတာကတော့ resource ရဲ့ အတိုကောက်ဖြစ်မည် ဟု တွေးမိပါသည်။
ဒါနဲ့ res ထဲကိုဖွင့်ကြည့်သည်။ drawable-hdpi, drawable-ldpi, drawable-mdpi, drawable-xhdpi, layout နှင့် values တို့ကိုတွေ့ရပါသည်။ drawable တွေက ဘာတွေမှန်းမသိ။ နောက်မှလေ့လာပါမည်။ layout ဆိုတာကို စိတ်ဝင်စားသွား၍ ဖွင့်ကြည့်သည်။ main.xml ကို တွေ့ရပါသည်။ ဒါနဲ့ double click နှိပ်ပြီး ဖွင့်ကြည့်သည်။ GUI လေးအောက်ဒီဇိုင်းနာ ကိုတွေ့ရပါသည်။ GUI တွေကို လွယ်လွယ်ကူကူ ဒီမှာရေးလို့ရမှာပဲဟု။ Swing ကို Eclipse Windows Builder ဒါမှမဟုတ် Netbeans တို့နဲ့ ရေးဘူးသူဆိုပါက အခက်အခဲရှိမည် မဟုတ်။
ချက်ချင်းဆိုသလို TextView နှစ်ခု EditText တစ်ခုနဲ့ Button တစ်ခုကို ရေးကြည့်သည်။ Component အပေါ်မှာ ညာကလစ်နှိပ်ပြီး ဘာလုပ်လို့ရလဲဟုကြည့်သည်။ Edit Text ကို တွေ့ရသဖြင့် ဖွင့်ကြည့်သည်။ Text တွေကို Resource ဖြင့် Mapping လုပ်နေတာကို တွေ့ရသည်။ ဒါနဲ့ မပြောင်းလည်းမယ့် Text တွေကို Project Resource နဲ့ Map လုပ်သည်။ values ဖိုလဒါထဲက string.xml မှာ value အသစ်တွေကို အလိုအလျှောက်ရေးနိုင်သည်ကို တွေ့ရပါသည်။
ဒါနဲ့ input လဲရေးပြီးပြီ၊ button လည်းရေးပြီးပြီ၊ action ကို ဘယ်လိုရေးမလဲ ဟုသွားကြည့်ပါသည်။ ယခင်ရေးခဲ့သော YawanaActivity.java ကို ပဲပြန်ပြင်ရေးရမည် ဟုထင်ပါသည်။
public class YawanaActivity extends Activity { private Button button1; private EditText editText1; private TextView textView2; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.initView(); } private void initView() { this.button1 = (Button) this.findViewById(R.id.button1); this.editText1 = (EditText) this.findViewById(R.id.editText1); this.textView2 = (TextView) this.findViewById(R.id.textView2); this.button1.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { textView2.setText("Hello " + editText1.getText()); } }); } }
အထက်ပါအတိုင်း onCreate ထဲတွင် setContentView ဟု view တွင် ရေးထားသော R.layout.main ကို ရေးသားစေပါသည်။ View ကို ရေးသည့်အခါတွင် အလိုအလျှောက် ရေးသားခံခဲ့ရသော Java Class တစ်ခုဖြစ်ပြီး၊ အချက်အလက်များကို static အနေဖြင့် သိမ်းထားပါသည်။ လောလောဆယ်တော့ main ကို အသုံးပြုလိုသဖြင့် ဤကဲ့သို့ရေးသားလိုက်ပါသည်။
ပြီးလျှင် ကျွှန်တော်ရေးသားထားသော Button ကို Event နဲ့ ပူးပေးရပါမည်။ Swing မှာဆိုလျှင် addListiner ဘာညာပေါ့ ဆိုပြီး codeAssit နဲ့ ရှာကြည့်သည်။ setOnClickListener ကို တွေ့ရသည်။ ဒါပဲပေါ့။ ဒါနဲ့ OnClickListener ကိုပဲ ဒီအတိုင်း new လုပ်ပါသည်။ ပြီးလျှင် override လုပ်ရမည့် onClick ကို ဖြည့်စွက်ရေးပါသည်။
Application ကို run ကြည့်ပါသည်။
နမှုနာအပလီ တက်လာပါသည်။ ဒါနဲ့ input ထဲတွင် Min Lwin ဟုရိုက်ပြီး၊ Greet Button ကို နှိပ်လိုက်သည်။ Hello Min Lwin ဟုထွက်လာသည်ကို တွေ့ရသည်။
Swing အတွေ့အကြုံရှိသူ Java ပရိုဂရမ်မာတစ်ယောက်အတွက် Android သည် လေ့လာရ လွယ်ကူပါလိမ့်မည် ဟု ယုံကြည်မိပါသည်။
JQuery ဖြင့် Link များကို လှပစေခြင်း
အခုတလော စာသိပ်ပြီး မရေးဖြစ်ဘူး။ ရေးရမယ့်စာတွေကို ပြောတာပါ။
ဒီနေ့ကတော့ tech4mm မှာ Security နဲ့ပတ်သက်သော အကြောင်းကို ရေးသားဖြစ်ပါသည်။ တဖန် မနေ့ညက Easy B Shell ရဲ့ Built In Command များ အကြောင်းကို ရေးခဲ့ပါသည်။ ဒါလည်း ထစ်နေသော ပိုစ်တစ်ခု ဖြစ်ပါသည်။ JSP တွင်လည်း JSTL အကြောင်းကို ရေးရင်း ထစ်နေခြင်းဖြစ်ပါသည်။
ရေးပြီးစိတ်ပြေလက်ပျောက်အနေနဲ့ TCP/IP အကြောင်းကို လေ့လာခဲ့သည်။ ၂နာရီလောက် စာဖတ်ပြီးသော် အနည်းငယ်ပျင်းလာပါသဖြင့် မြန်မာဂျာဗားယူဇာဘလောဂ်တွင် တစ်ခုခုပြင်မှပဲဟု စဉ်းစားမိပါသည်။
ဟုတ်ပြီ jQuery ကို သုံးပြီး တစ်ခုခု ရေးမှပဲဟု။ Top 10 post များရှိပါသည်။ ဒီ လင့်ခ်တွေကို လှုပ်လှုပ်ရှားရှား ဖြစ်အောင်လုပ်မှပဲဟု။
သူရဲ့ ဖွဲ့စည်းပုံက DIV / UL / LI / A ဟုဖြစ်သည်။ Top 10 သည် blogger ၏ plugin တစ်ခုကို သုံးထားပါသဖြင့် အတွင်းပိုင်းကို အလွယ်တကူ ပြုပြင်၍မရပေ။ ဒါနဲ့ div ကို ကြည့်သည်။ class မှာ popular-posts ဟု ရေးသားသားသောကြောင့် jQuery နဲ့ Access လုပ်နိုင်သည်ဟု တွေးမိသည်။
အရင်တစ်ခေါက်ရေးထားသော side menu တွင် jquery ကို သုံးထားသောကြောင့် အဲ့ဒီထဲတွင် ပြင်ရေးရန် ဆုံးဖြတ်လိုက်သည်။
အထက်ပါ Popular posts ကို ကြည့်ပါ။ $('div.popular-posts > ul > li > a') ဟု လင့်ခ် Tag ကို ဆက်သွယ်ပြီး၊ hover လုပ်ဆောင်ချက်ကို လုပ်ဆောင်စေပါသည်။ hover လုပ်ဆောင်ချက်၏ ပဋ္ဌမပါရာမီတာအဖြစ် ဘယ်ဘက်ကို peddingLeft လုပ်စေမည့် Animation ကို လုပ်ဆောင်စေမည့် လုပ်ဆောင်ချက်ကို သုံးပြီး၊ ဒုတိယပါရာမီတာအဖြစ် 0 px peddingLeft လုပ်ဆောင်စေမည့် လုပ်ဆောင်ချက်ကို ခေါ်ယူစေပါသည်။ နမှုနာကို စမ်းသပ်ကြည့်ပါ။
တဖန် Tag Cloud နမှုနာမှာ $('a.tagcloud').hoverဖြင့် Font Size ကို ၃ ဆကြီးစေခြင်း၊ ပြန်ငယ်စေခြင်းကို သုံးထားပါသည်။
JQuery ကို အသုံးပြုခြင်း အားဖြင့် သင်၏ ဘလောဂ်ရှိ လင့်များကို လှပစေနိုင်ပါသည်။
- Esay JSP
- Happy Hacking
- Java 7 ရဲ့ အခန်းဆက်
- Essential Java API
- Easy B Shell
- XML ဆီသို့ ခြေလှမ်းများ
- Play Framework
- အခြေခံ Database
- အခြေခံ Web Design
ဒီနေ့ကတော့ tech4mm မှာ Security နဲ့ပတ်သက်သော အကြောင်းကို ရေးသားဖြစ်ပါသည်။ တဖန် မနေ့ညက Easy B Shell ရဲ့ Built In Command များ အကြောင်းကို ရေးခဲ့ပါသည်။ ဒါလည်း ထစ်နေသော ပိုစ်တစ်ခု ဖြစ်ပါသည်။ JSP တွင်လည်း JSTL အကြောင်းကို ရေးရင်း ထစ်နေခြင်းဖြစ်ပါသည်။
ရေးပြီးစိတ်ပြေလက်ပျောက်အနေနဲ့ TCP/IP အကြောင်းကို လေ့လာခဲ့သည်။ ၂နာရီလောက် စာဖတ်ပြီးသော် အနည်းငယ်ပျင်းလာပါသဖြင့် မြန်မာဂျာဗားယူဇာဘလောဂ်တွင် တစ်ခုခုပြင်မှပဲဟု စဉ်းစားမိပါသည်။
ဟုတ်ပြီ jQuery ကို သုံးပြီး တစ်ခုခု ရေးမှပဲဟု။ Top 10 post များရှိပါသည်။ ဒီ လင့်ခ်တွေကို လှုပ်လှုပ်ရှားရှား ဖြစ်အောင်လုပ်မှပဲဟု။
သူရဲ့ ဖွဲ့စည်းပုံက DIV / UL / LI / A ဟုဖြစ်သည်။ Top 10 သည် blogger ၏ plugin တစ်ခုကို သုံးထားပါသဖြင့် အတွင်းပိုင်းကို အလွယ်တကူ ပြုပြင်၍မရပေ။ ဒါနဲ့ div ကို ကြည့်သည်။ class မှာ popular-posts ဟု ရေးသားသားသောကြောင့် jQuery နဲ့ Access လုပ်နိုင်သည်ဟု တွေးမိသည်။
အရင်တစ်ခေါက်ရေးထားသော side menu တွင် jquery ကို သုံးထားသောကြောင့် အဲ့ဒီထဲတွင် ပြင်ရေးရန် ဆုံးဖြတ်လိုက်သည်။
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> <script> $(document).ready(function() { // Accordion Menu $("#accordion").accordion({ autoHeight: false }); // Popular posts $('div.popular-posts > ul > li > a').hover( function() { //mouse in $(this).animate({ paddingLeft: '20px' },400); }, function() { //mouse out $(this).animate({ paddingLeft: 0 }, 400); } ); // Tag cloud $('a.tagcloud').hover( function() { //mouse in var size = parseFloat($(this).css('font-size'),10); $(this).animate({ fontSize : size * 3 },400); }, function() { //mouse out var size = parseFloat($(this).css('font-size'),10); $(this).animate({ fontSize : size / 3 }, 400); } ); }); </script>
အထက်ပါ Popular posts ကို ကြည့်ပါ။ $('div.popular-posts > ul > li > a') ဟု လင့်ခ် Tag ကို ဆက်သွယ်ပြီး၊ hover လုပ်ဆောင်ချက်ကို လုပ်ဆောင်စေပါသည်။ hover လုပ်ဆောင်ချက်၏ ပဋ္ဌမပါရာမီတာအဖြစ် ဘယ်ဘက်ကို peddingLeft လုပ်စေမည့် Animation ကို လုပ်ဆောင်စေမည့် လုပ်ဆောင်ချက်ကို သုံးပြီး၊ ဒုတိယပါရာမီတာအဖြစ် 0 px peddingLeft လုပ်ဆောင်စေမည့် လုပ်ဆောင်ချက်ကို ခေါ်ယူစေပါသည်။ နမှုနာကို စမ်းသပ်ကြည့်ပါ။
Popular Posts Sample
တဖန် Tag Cloud နမှုနာမှာ $('a.tagcloud').hoverဖြင့် Font Size ကို ၃ ဆကြီးစေခြင်း၊ ပြန်ငယ်စေခြင်းကို သုံးထားပါသည်။
Tag Cloud Sample
JQuery ကို အသုံးပြုခြင်း အားဖြင့် သင်၏ ဘလောဂ်ရှိ လင့်များကို လှပစေနိုင်ပါသည်။
Tuesday, June 5, 2012
Hello Android
ဒီနေ့ အလုပ်ပြီး အိမ်ပြန်ရောက်တာနဲ့ ကောင်းကောင်းလေး ကွန်ပျူတာ မသုံးတဲ့အချိန်ကို စောင့်ကြည့်ပြီး Android SDK ကို ဒေါင်းလုဒ်လုပ်ပါတယ်။ ပြီးတော့ Eclipse မှာ Plugin ကို အင်စတောလုပ်ပါတယ်။
ပြီးတော့ New Project နဲ့ Android Project တစ်ခုကို တည်ဆောက်ပါတယ်။ အထဲထဲမှာ Activity ကလပ်စ် တစ်ခုကို တွေ့တယ်။
နမှုနာထဲမှာပါတဲ့အတိုင်း TextView အော့ဘဂျက်တစ်ခုကို ခေါ်ယူပြီး၊ အဲ့ဒီနေရာမှာ "Hello Android Application." ဟု ဖြည့်စွက်ရေးသားပါတယ်။
ပြီးတော့ Run As > Android Application ကို Run ကြည့်ပါတယ်။ Android Virtual Device မရှိတဲ့အတွက် ဘာကိုရွေးမလဲဆိုပြီး AVD Manager က ထွက်ပေါ်လာပါတယ်။ သြ AVD မရှိဘူးပဲ။ ဒါနဲ့ AVD တစ်ခုကို New လုပ်ပါတယ်။
ပြီးတာနဲ့ ပြန်ပြီး Run ကြည့်ပါတယ်။
မဆိုးပါဘူး။ နောက်နေ့မှ ဆက်လုပ်ပါဦးမယ်။
ပြီးတော့ New Project နဲ့ Android Project တစ်ခုကို တည်ဆောက်ပါတယ်။ အထဲထဲမှာ Activity ကလပ်စ် တစ်ခုကို တွေ့တယ်။
နမှုနာထဲမှာပါတဲ့အတိုင်း TextView အော့ဘဂျက်တစ်ခုကို ခေါ်ယူပြီး၊ အဲ့ဒီနေရာမှာ "Hello Android Application." ဟု ဖြည့်စွက်ရေးသားပါတယ်။
ပြီးတော့ Run As > Android Application ကို Run ကြည့်ပါတယ်။ Android Virtual Device မရှိတဲ့အတွက် ဘာကိုရွေးမလဲဆိုပြီး AVD Manager က ထွက်ပေါ်လာပါတယ်။ သြ AVD မရှိဘူးပဲ။ ဒါနဲ့ AVD တစ်ခုကို New လုပ်ပါတယ်။
ပြီးတာနဲ့ ပြန်ပြီး Run ကြည့်ပါတယ်။
မဆိုးပါဘူး။ နောက်နေ့မှ ဆက်လုပ်ပါဦးမယ်။
Monday, June 4, 2012
Android မှာ မြန်မာယူနီကုဒ်ကို သုံးလို့ရတဲ့ ဘရောင်းဇာ မရှိဘူး
ကျွှန်တော်သုံးနေသော ဖုန်းသည် Android ဖြစ်၏။ ကျွှန်တော်သည် Java ပရိုဂရမ်မာ တစ်ဦးဖြစ်၏။ Android ပေါ်ခါစက လေ့လာရန် စဉ်းစားခဲ့သော်လည်း မလုပ်ဖြစ်ခဲ့။ Android သည် ဖုန်းတစ်လုံးသာဖြစ်ပြီး၊ ဒီကောင်ပေါ်မှာ လုပ်နိုင်တဲ့အလုပ်ဟာ သိပ်ရှိမှာမဟုတ်ဘူး၊ ပြီးတော့ အခြားသော Java တွေက ပိုပြီးစိတ်ဝင်စားစရာကောင်းတဲ့ အတွက် Android ကို လေ့လာတဲ့အထိ မရောက်ခဲ့ပါ။
ဒီနေ့ Android Play ဈေးကွက်ထဲက မြန်မာ ဘရောင်းဇာတစ်ခုကို ဒေါင်းလုဒ်လုပ်ခဲ့ပါသည်။ ဇော်ဂျီကုဒ်ကို ဒီအတိုင်းကြည့်လို့ရပါသည်။ မြန်မာယူနီကုဒ်ကို ကြည့်မရပါ။ အတော်လေးကို တင်းသွားပါသည်။ ဘယ်သူမှ ရေးမထားရင် ငါရေးမယ်ဆိုပြီး။ ဒါပေမယ့် အခုကစရပါမည်။ လော်လောဆယ်တော့ ရှိပြီးသား ပရိုဂျက်အဟောင်းများကို လိုက်ပြီး ရှာဖွေပါဦးမည်။
မြန်မာယူကုဒ်ကို နေရာတကာမှာ အသုံးပြုနိုင်ရေးသည် ကျွှန်တော်တို့အားလုံး အရေးဖြစ်ပါသည်။
ဒီနေ့ Android Play ဈေးကွက်ထဲက မြန်မာ ဘရောင်းဇာတစ်ခုကို ဒေါင်းလုဒ်လုပ်ခဲ့ပါသည်။ ဇော်ဂျီကုဒ်ကို ဒီအတိုင်းကြည့်လို့ရပါသည်။ မြန်မာယူနီကုဒ်ကို ကြည့်မရပါ။ အတော်လေးကို တင်းသွားပါသည်။ ဘယ်သူမှ ရေးမထားရင် ငါရေးမယ်ဆိုပြီး။ ဒါပေမယ့် အခုကစရပါမည်။ လော်လောဆယ်တော့ ရှိပြီးသား ပရိုဂျက်အဟောင်းများကို လိုက်ပြီး ရှာဖွေပါဦးမည်။
မြန်မာယူကုဒ်ကို နေရာတကာမှာ အသုံးပြုနိုင်ရေးသည် ကျွှန်တော်တို့အားလုံး အရေးဖြစ်ပါသည်။
Subscribe to:
Posts (Atom)