CODE IGNITER


Code Igniter ဆိုတာ PHP ကို အခြေခံထားတဲ့ web application framework တစ်ခုပါ။ code igniter ကို သုံးပြီး project တစ်ခု လုပ်နေတာ လေးလလောက်ရှိပြီ။ စသုံးဖြစ်ကတည်းက ဒီအကြောင်းရေးမယ် ဆိုပြီး အခုမှဘဲ ရေးဖြစ်တော့တယ်။
Code igniter ကို မသုံးဖြစ်ခင်က ကျမကို web application framework လို့ လာပြောရင် အူကြောင်ကြောင် ပြန်ကြည့်မိပါလိမ့်မယ်။ (အဲလို ဗဟုသုတ ကြွယ်ဝတာ။)

web application တစ်ခုကို သုညကနေ စလုပ်မယ် ဆိုပါစို့။ folder တွေကို ကိုယ့်နည်း ကိုယ့်ဟန်နဲ့ structure လုပ်ရမယ်။ လိုအပ်မယ့် plugin တွေကို ရှာပြီး download လုပ်ရမယ်။ ဘယ် architecture (MVC, Model1, Model2, …) သုံးမလဲဆိုတာ စဉ်းစားရမယ် စသဖြင့် အချိန် တော်တော် ကြာပါတယ်။ သူများတွေ သုံးလေ့ရှိတဲ့ ဥပမာနဲ့ ပြောရရင် ကားတစ်စီး ထုတ်ဖို့အတွက် ကားဘီးကနေစပြီး ပြန်တီထွင်နေတာပေါ့။ (Reinventing the wheels. My favorite lecturer’s favorite quote.)
ဒါကြောင့် နောက်ပိုင်းမှာ web development ကို လွယ်ကူစေဖို့ web application framework တွေ ထုတ်လာတယ်။ လွယ်လွယ်ပြောရရင် framework ဆိုတာ web application တစ်ခု develop လုပ်ဖို့ အခြေခံအကျဆုံး လိုအပ်ချက်တွေ(ဥပမာ - helpers, plugins, data) နဲ့ အသုံးများတဲ့ function တွေအတွက် libraries တွေကို folder တစ်ခုမှာ စုစည်း ထားပေးတာပါဘဲ။ အခုတလော လူတိုင်း ပါးစပ်ဖျားမှာ ရေပန်းစားနေတာကတော့ Ruby-On-Rails(ROR) ပေါ့။ PHP မှာလည်း framework တော်တော်များများ ရှိနေပြီ။ CodeIgniter, CakePHP, Zend စသဖြင့်ပေါ့။

လိုရင်းပြန်ရောက်အောင် တစ်ခြား အကြောင်းတွေကို ရပ်ပြီး code igniter အကြောင်း ဆက်ဦးမယ်။ သူ့ကို စသုံးဖြစ်ပုံက ရုံးမှာ project တစ်ခုကို open-source သုံးပြီး extreme programming ပုံစံနဲ့ develop လုပ်ရမယ့် project တစ်ခု ရှိနေတယ်။ database ကလည်း ကြီးကြီးမားမား တစ်ခုကို handle လုပ်ဖို့ လိုနေတယ်။ ဒီလိုနဲ့ project manager ရဲ့ ဆုံးဖြတ်ချက်အရ PHP နဲ့ PostgreSQL သုံးမယ်ပေါ့။ ပြီးတော့ code igniter framework သုံးရမယ်တဲ့။ ဒီလိုနဲ့ဘဲ စလေ့လာ ဖြစ်သွားတာ။

INSTALLATION

ကိုယ့်မှာ PHP ရယ် ကို်ယ်သုံးမယ့် database တစ်ခုခုကို ကြိုသွင်းထားပြီးပြီဆိုရင် CI ကို သုံးဖို့အတွက် ထွေထွေထူးထူး ထပ်ပြီး install လုပ်စရာ မလိုတော့ဘူး။ Download page ကို သွားပြီး download ပြီး ကိုယ့်ရဲ့ development folder ထဲကို unzip လုပ်ချလိုက်ရုံဘဲ။ development folder သပ်သပ် လုပ်မထားဘူးဆိုရင် Program Files\Apache\htdocs အောက်မှာ folder တစ်ခုလုပ်ပြီး အဲဒီ folder ထဲကို unzip လုပ်လိုက်ရုံပါဘဲ။ ဥပမာ project နာမည်က myNewProject ဆိုရင် CI ရဲ့ directory structure ကို အောက်က ပုံအတိုင်း မြင်ရပါမယ်။


ကိုယ်နဲ့ဆိုင်တာက application အောက်က controllers, models နဲ့ views ဆိုတဲ့ folder တွေပါဘဲ။ MVC (Model-View-Controller) architecture မသုံးချင်ဘူးဆိုရင် controllers နဲ့ views folder တွေကိုဘဲ သုံးလည်း ရတယ်။ ကိုယ့်ရဲ့ design files တွေအားလုံးကို views အောက်မှာ ထားပြီး PHP code တွေ ကို controllers မှာ ရေးရမှာပေါ့။ (model သုံးမယ်ဆိုရင် database queries တွေကို model အောက်မှာ ရေးပြီး controller ကနေ ယူသုံးရမယ်။) CI စစသုံးချင်း URL နဲ့တော့ နည်းနည်း ကြောင်သွားတယ်။ MVC သုံးထားတော့ Java Servlet တွေကို ခေါ်ပုံမျိုးနဲ့ သွားတူတယ်။ အကြိုက်ဆုံးကတော့ configuration တွေ များများ စားစား လုပ်စရာ မလိုလို့။ config အောက်က config.php မှာ host address (e.g., http://localhost/myNewProject) ပေးပြီး database.php မှာ အောက်က အတိုင်း configure လုပ်ရုံဘဲ။

detail တော့ မရေးတော့ပါဘူး။ tutorial link လေးတွေ စုထားတာ တင်လိုက်တယ်။

DEVELOPMENT ENVIRONMENT

IDE အနေနဲ့တော့ pirate version ရရင် Dreamweaver MX ကတော့ အကောင်းဆုံးပေါ့။ ကျမတော့ open-source နောက်လိုက်နေရလို့ EasyEclipse for PHP ကို သုံးပါတယ်။ Java အတွက်တော့ EasyEclipse က တော်တော် နာမည်ရပြီးသားပါ။

နောက်များမှ ကြုံရင် PostgreSQL အကြောင်းနဲ့ CodeIgniter အတွက် အရမ်း handy ဖြစ်တဲ့ Rapyd ဆိုတဲ့ CRUD (Create, Read, Update, Delete) extension အကြောင်း ရေးပါဦးမယ်။

~hApPy PrOgRaMmInG~


References worth to take a look:
CodeIgniter (Home Page)
Comparison of Web application framework (Wikipedia)
Video tutorials at CodeIgniter Home Page
Godbit Project (Introduction to Code Igniter: Part 1)
How I use CodeIgniter's MVC (Jim O'Halloran)
Building a Complete CodeIgniter Application: Part 1 (Jim O'Halloran)
Building a Complete CodeIgniter Application: Part 2 (Jim O'Halloran)
CI Quick Ref Chart (Cheat Sheet)

P.S mmopenlibrary မှာ MrDBA က codeIgniter ebook တင်ထားပေးပါတယ်။


လောကကြီးက ဒီလိုဘဲ

ဒီနေ့ မဟုတ်ရင် မနက်ဖြန်၊ မနက်ဖြန် မဟုတ်ရင် နောက်တစ်နေ့.. ဒီရက်ပိုင်းအတွင်း တစ်နေ့နေ့ တစ်ယောက်ယောက်က လာပြောလိမ့်မည်ဆိုတာ ကြိုသိနေရက်နဲ့ ဘယ်လိုမှ ရှောင်ပုန်းလို့မရတာ။ ဖုန်းနဲ့ပြောတာ ဖြစ်နိုင်တယ်။ sms ထဲလည်း ရောက်လာနိုင်တာဘဲ။ IM တစ်ခုခုမှာလည်း ကြားရနိုင်တယ်။ email ထဲမှာလည်း ဘယ်အချိန် ရောက်နေမလဲ မသိဘူး။ တစ်ပါတ်လုံး ဖုန်းလာရင်လည်း ရင်တထိတ်ထိတ်၊ email ကိုလည်း မချင့်မရဲ စစ်၊ ဖုန်းထဲ message ဝင်ရင်လည်း ဖွင့်ဖတ်ရမှာ ကြောက်နေတယ်။ IM က အဆိုးဆုံးမို့ လုံးဝ ပိတ်ထားလိုက်တယ်။ တကယ်ကို ရင်မဆိုင်ရဲတာ။ နောက်ဆုံးတော့လည်း… ပြန်မရနိုင်တော့တဲ့ ဆုံးရှုံးမှုဆိုတာ ဒါဘဲနေမယ်။ [အဖွားဆေးရုံတက်နေတာ တစ်ပါတ်ကျော်ပြီ။ အားလုံးက ပြောတယ် အခြေအနေ သိပ်မကောင်းဘူးတဲ့။ အကောင်းဆုံးကို မျှော်လင့်ပြီး အဆိုးဆုံးကို ရင်ဆိုင်နိုင်အောင် ကြိုးစားပါတဲ့။ miracle ကို မျှော်နေမိပေမယ့် လောကရဲ့ ရှောင်လွဲလို့မရတဲ့ သဘာဝတရားကိုး။] cry

၁ဝး၃၀PMကျော်နေပြီ။ ရုံးမှာရှိနေတုန်း။ ဘယ်အချိန်မှ ပြန်ရမလဲ မသိဘူး။ မနက်ဖြန်လည်း အစောကြီး သွားရဦးမယ်။ UAT ရယ်။ အမြဲ ဒီလိုဘဲ နှိပ်စက်တော့မှာလား။


Upin & Ipin


Last weekend, I got a copy of an animation titled Upin & Ipin, a story about a 5 year-old twins telling about their first experience of fasting in the month of Ramdhan. It’s a Malay-speaking animation with English sub-titles. I was so attached to it and I can’t stop watching it over and over again till I could memorize most of their conversations.
“Eh, tak baik.. nanti lu punya tuhan marah.”
“mana acik?” “acik dekat India la”
“puasa tak mati kan?”
After I read the news about the production company winning many awards, I mumble to myself, they deserve!! I can’t wait to see the animation film” GENG : THE ADVENTURE BEGINS” which is said to be released in this year.

Upin နဲ့ Ipin ဆိုတဲ့ အမြာွှလေးနှစ်ယောက် အကြောင်းနဲ့ မလေးရှား ရိုးရာကို ထင်ဟပ်ပြထားတဲ့ TV series လေးတစ်ခုပါ။ ၅နှစ် အရွယ် ကလေးလေး နှစ်ယောက်က ဥပုသ်လမှာ ဥပုသ်စောင့်တဲ့ အတွေ့အကြုံကို သူတို့ သူငယ်ချင်းတွေကို ပြန်ပြောပြတဲ့ ပုံနဲ့ ရိုက်ထားတာ။ 3D ပိုင်းရော အရုပ် အသံပိုင်းရော အဘက်ဘက်က ကောင်းလွန်းတဲ့ made in Malaysia animation လေးကို အခေါက်ခေါက်ကြည့် ပြီး ချီးကျူး ပစ်လိုက်တယ်။ ကလေး သဘာဝ ပေါ်လွင်အောင် ရိုက်ထားပြီး နောက်ခံ စကားသံတွေလည်း ကာတွန်း ဇာတ်ကောင်နဲ့ လိုက်အောင်ကို ရွေးထားတယ်။ မလေးရှားရဲ့ တရုတ်၊အိန္ဒိယ၊ မလေးလူမျိုးတွေ စုံအောင် ထည့်ထားတယ်။ ဒီဇာတ်လမ်းတွဲ ပြီးတာနဲ့ အဲဒီ animation ကုမ္ပဏီ ပိစိကလည်း တော်တော် နာမည်ကြီးသွားတယ်။



အပေါ်က အပိုင်း ၁
episode 2, episode 3, episode 4, episode 5 & 6

Ref:
official production blog
Les Copaque Production HomePage


ဆရာစားချန်တယ်ဆိုတာ

ဒီကနေ့ ရုံးက မန်နေဂျာ ပြောတဲ့ စကားလေးတစ်ခွန်းကို သဘောကျလို့ပါ။ သူကမေးတယ်။ တရုတ်ကွန်ဖူးလောက ဘာလို့ မှေးမှိန်သွားသလဲ သိလားတဲ့။ မှေးမှိန်သွားမှန်းတော့ သိတယ်။ (သိုင်းကားတွေအရဆိုရင် ရှေးခေတ်တုန်းက သိုင်းလောကဆိုတာ တကယ်ရှိခဲ့မှာဘဲ။) ဘာကြောင့် သိပ်အရှိန်အဝါမရှိတော့သလဲ ဆိုတာ စဉ်းတော့ စဉ်းစား စရာဘဲ။ ဒါနဲ့ သူကပြောတယ်။
“သိုင်းလောကသားတွေက အမြဲ ဆရာစား ချန်ခဲ့လို့ ဘဲ။ သူတို့က သိုင်းကွက် ၁ဝ ကွက် တတ်ထားရင် တပည့်တွေကို အများဆုံး ၉ကွက်အထိဘဲ သင်ပေးပြီး တစ်ကွက်ကို သူတို့ဖို့ ချန်ထားလေ့ ရှိတယ်။ ဒီလိုနဲ့ နှစ်ပေါင်း ကြာလာတော့ ပျောက်ကွယ်လုမတတ် ဖြစ်သွားတာပေါ့။ အမှန်က ဆရာ ၁ဝကွက် တတ်ရင် တပည့်ကို အကုန်လုံးသင်ပေးပြီး ဆရာက နောက် ၁၁ ကွက် မြောက်ကို တတ်အောင် လေ့လာ လိုက်စားနေမှ တိုးတက်တော့ မပေါ့။ ဒါကြောင့် ဒီကနေ့ခေတ်မှာ ကိုယ်သိတာ အားလုံးကို မျှဝေပေးနိုင်ရမယ်။ ကိုယ်ကလည်း အမြဲ တိုးတက်အောင် ကြိုးစား အားထုတ် လေ့လာနေရမယ်။ ”

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

သင်ဆရာ မြင်ဆရာ ကြားဆရာ အားလုံးကို အစဉ်အမြဲ လေးစားလျှက်...

P.S. ထုံးစံအတိုင်း ဘလော့ဂ်ရေးခြင်းကို တစ်ပါတ်လောက် ရပ်ထားပါဦးမယ်။ razz


New Year Mood

New Year

Calendar

Date in Georgian Calendar

Year in calendar

New Year

Georgian Calendar

1st Jan 2008

2008

Islamic New Year (Awal al-Muharram)

Hijri Calendar

9th Jan 2008 7pm

1429 H

Chinese New Year (新年, xing nian)

Agrarian Calendar ()

7th Feb 2008

4706

Myanmar New Year

KawZar Calendar (ကောဇာ သက္ကရာဇ်)

17th April 2008

1370

သို့

ကိုနေဘုန်းလတ်
ဘလော့ဂ်ဂါမောင်နှမတွေအကြား ချစ်ခင်ရင်းနှီးစွာ စနောက်ကြရင်း "မြို့စားကြီးနေဘုန်းလတ်" လို့ နာမည်တွင်ခဲ့တဲ့သူ။ မနှစ်က ဒီလိုနေ့မှာပဲ "လွတ်ကျခဲ့တဲ့မြို့တော်" ဘလော့ဂ်လေးကို သူကိုယ်တိုင် အသက်သွင်းခဲ့တယ်။ ဒီနေ့ တော့ တစ်နှစ်တင်းတင်း ပြည့်သွားပြီပေါ့။ မှတ်မှတ်ရရ သူ ့ ဘလော့ဂ်မှာ ပထမဆုံးတင်လိုက်တဲ့ ပို့စ်နာမည်ကလည်း "လွတ်ကျခဲ့တဲ့မြို့တော်" တဲ့။ လက်တွေ့ဘဝမှာ သူလွတ်ကျခဲ့တဲ့ စာရေးဆရာ၊ ဒါမှမဟုတ် အနုပညာသမားဆိုတဲ့ အမည်နာမတွေအတွက် သူ ့ဘလော့ဂ်ဟာ သစ္စာရှိတဲ့ လူယုံ၊ အစွမ်းထက်တဲ့ လက်နက်၊ အရိပ်ကောင်းတဲ့ ညောင်သစ်ပင်လို အသုံးတော်ခံခဲ့တယ်။ ရက်ပေါင်း ၃၆၅ ရက်အတွင်းမှာ သူ ့မြို့တော်က စာကောင်းစာသန့် ၁၂၂ ပုဒ် မွေးထုတ်ပေးခဲ့ပြီးပြီ။ ဒီစာတွေကြောင့် ဖတ်သူတွေအတွက် သုတပန်းတွေ လန်းလာခဲ့တယ် ၊ ရသလမ်းတွေ ဆန်းလာခဲ့တယ် ၊ ပညာမီးတွေ လင်းပလာခဲ့တယ် ။ သူကတော့ သတိထားမိချင်မှ ထားမိလိမ့်မယ်။

ဘလော့ဂ်ဂါတွေ အတွက် ပထမဆုံးဆိုတဲ့ စကားလုံးတော်တော်များများမှာ သူနဲ့ လွတ်ကျခဲ့တဲ့မြို့တော်လည်း ရင်းနှီးကျွမ်းဝင်ခဲ့တယ်။ ဘလော့ဂ်ပို့စ်တွေကို ပထမဆုံး ပုံနှိပ်မယ့်စာအုပ်အတွက် တက်တက်ကြွကြွနဲ့ သူ အစွမ်းကုန်ကြိုးစားခဲ့တယ်။ စာအုပ်ကိစ္စ ဆွေးနွေးပွဲတိုင်းကိုု မပျက်မကွက်တက်ရောက်ခဲ့သူဟာလည်း သူ တစ်ဦးတည်း ရှိခဲ့တယ်။ နောက်ပြီး ရန်ကုန်မှာ ပထမဆုံးကျင်းပခဲ့တဲ့ Blog Day Seminar အတွက်လည်း သူ ပါဝင်ခဲ့တယ်။ MRTV4 နဲ့ အခြားသော မီဒီယာတွေအကြားမှာ ဘလော့ဂ်လောက အကြောင်းကို သူချပြရဲခဲ့တယ်။ ဝေဖန်မှုတွေကို လက်ခံခဲ့တယ်။ မေးခွန်းတွေကို အပြုံးနဲ့ ဖြေကြားပေးနိုင်ခဲ့တယ်။

မြန်မာဘလော့ဂ်ဂါရပ်ဝန်းမှာ ဓလေ့ထုံးတမ်းတစ်ခုရှိတာက ဘလော့ဂ်တစ်ခု ဒါမှမဟုတ် ဘလော့ဂ်ဂါတစ်ယောက်ရဲ့ အထိမ်းအမှတ်နေ့တွေမှာ အထူးရေးသားတဲ့ ပို့စ်တွေ တင်တတ်ကြတယ်၊ သူငယ်ချင်းတွေက လာနှုတ်ဆက်ကြတယ်၊ Comment တွေ ချီးမြှင့်ကြတယ်။

ဒီနေ့ သူ့ရင်နဲ့ တည်ထားတဲ့ မြို့တော်ကြီး တစ်နှစ်ပြည့်တယ်။ ခုလိုအချိန်မှာ သူသာ လွတ်လွတ်လပ်လပ်ရေးသားခွင့်ရမယ်ဆိုရင် သူ့ဘလော့ဂ်အတွက် အထိမ်းအမှတ်ပို့စ်တင်မယ့် အစီအစဉ်ရှိမယ်ဆိုတာ အသေအချာပဲ။ ဒါပေမယ့် သူ … ဘယ်မှာလဲ ။ သူရေးမယ့် ပို့စ်မှာ Comment ရေးဖို့ ဘလောဂါ့ရပ်ဝန်းက သူငယ်ချင်းတွေ သူ့ရဲ့ စာဖတ်ပရိသတ်တွေ မျှော်လင့်တကြီး စောင့်နေကြတယ်။ " မြို့စားကြီး " လို့ စနောက်ကြဖို့ စောင့်နေကြတယ် … ဇန်နဝါရီ ၂၉ ကတည်းက ခြောက်သွေ့နေခဲ့ရတဲ့ သူ ့မြို့တော်မှာ အပြုံးတွေနဲ့ ဖုံးလွှမ်းနေစေချင်တာ … ရယ်သံတွေနဲ့ စည်ညံနေစေချင်တာ … ဒါတွေအတွက် အားလုံးက စောင့်မျှော်နေဆဲပါ ..။

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