PHP Developer ကောင်း မပီသခြင်း

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

Coding မရေးခင် ဘာမှ မစဉ်းစားထားခြင်း

Coding တစ်ခု စရေးတော့မယ်ပဲ ဖြစ်ဖြစ် project တစ်ခု စရေးတော့မယ်ဖြစ်ဖြစ် ဘာတွေ လုပ်မလဲ။ ဘယ်အဆင့်တွေကို ရေးမလဲဆိုတာကို ကြိုတင် list မလုပ်ထားဘူး။ လက်တန်း ချရေးနိုင်လို့ လက်တန်း ချရေးမယ်ဆိုရင်တော့ အဲဒီလူက တကယ်တော်တဲ့ PHP Developer မဟုတ်တော့ပါဘူး။ Developer ကောင်းတွေက မရေးခင်မှာ ဘာတွေ ပါမလဲဆိုတာကို အရင်စဉ်းစားထားပါတယ်။ UML မဆွဲဖြစ်ချင်ရင်တောင် Todo list ကို အနည်းဆုံးတော့ ပြင်ထားပါတယ်။ အချို့ Developer ကောင်းတွေက အရင်ဆုံး comment တွေ တောင် ကြိုပြီးရေးထားတတ်သေးတယ်။

<?php
// Include necessary data

// Initialize the database connection

// Include common header

// Determine the page variables from the POST data

// Load the proper database info with page variable

// Loop rows
    // Image Display
    // Create Image Link
    // Format the entry display
    // Add formatted entry to entry array
// Collapse the entry array
// Output the entries
// Include common Footer
?>

ဒါကတော့ ဥပမာ အနေနဲ့ ပြထားတာပါ။ ဘာ code မှ စမရေးခင် Pseudo သဘောမျိုး comment တွေ စဉ်းစားပြီး ရေးသွားတာပါ။ ကိုယ်တိုင် အဲဒီ class သို့မဟုတ် Library ကို မရေးဖြစ်ရင်တောင် ကိုယ့် colleague ( လုပ်ဖော် ကိုင်ဖက်) က ဘာတွေ ရေးရမလဲဆိုတာကို နားလည်ပြီး သူရေးနိုင်ပါတယ်။

Comment တွေ လုံးဝ မရေးခြင်း

Comment ရေးတယ်ဆိုတာ အပြောလွယ်သလောက် အလုပ်ရှုပ်တယ်ဆိုတာ မှန်ပါတယ်။ အများအားဖြင့် Rapid Developer တွေက comment ရေးရမှာ ပျင်းတတ်ကြတယ်။ Developer ကောင်း တစ်ယောက် အနေနဲ့ဆိုရင်တော့ comment က လိုအပ်ရင် ရေးထားသင့်ပါတယ်။

if(is_array($data_array))
{
    extract($data_array);
}
require(SITE_PATH."/application/View/".$view.".php");

က ကြည့်လိုက်ရင် သိပေမယ့် extract ကို ဘာလုပ်ဖို့ သုံးထားတာလဲ ဆိုတာ ရုတ်တရက် နားလည်ရခက်နေပါတယ်။


// extract for view variable
// $data_array['foo']='boo' to $foo='boo'
if(is_array($data_array))
{
    extract($data_array);
}
//load view
require(SITE_PATH."/application/View/".$view.".php");

ဒီလိုမျိုးလေး ရေးထားလိုက်ရင်တော့ extract manual ကို သီးသန့် သွားရှာဖတ်နေမယ့် အစား အလွယ်တကူ နားလည် သဘောပေါက်သွားနိုင်ပါတယ်။ မြန်မြန် ပြီးဖို့ အဓိက ဆိုပြီး comment တွေ မရေးသွားရင်တော့ နောက်တချိန် code တွေကို ပြန်ပြင်တဲ့အခါမှာ မှတ်မိတော့မှာ မဟုတ်တော့ပါဘူး။

Code လိုင်းတိုတို မရှင်းမလင်း

Code လိုင်းတိုဖို့ condition က bracket တွေကို ဖြုတ်ချထားတာတွေကို တွေ့ဘူးတယ်။ code line က တိုသွားတယ်။ ရှင်းတယ်။ သို့ပေမယ့် ပြန်ဖတ်တဲ့သူအတွက်ကတော့ ရှုပ်သွားတယ်။

$foo = 8;

if( $foo<10 )
    if( $foo>5 )
        echo "Greater than 5!";
    else
        echo "Less than 5!";
else
    echo "Greater than 10!";
    echo "<br />Another note.";

ဒီ code မှာဆိုရင် အောက်ဆုံး အကြောင်းက Loop ထဲပါတာလည်း မပါဘူးလားဆိုတာကို နားလည်မှုလွဲသွားနိုင်သလို ရှုပ်လည်း ရှုပ်သွားစေတယ်။ နောက်ပြီး if တွေက အဆင့်ဆင့် ပါတော့ ဘယ်အဆင့်က ဘာလဲဆိုတာကို နားလည်ဖို့ နည်းနည်း ခက်သွားပါတယ်။ ဒါကြောင့် {} တွေ ထည့်ခြင်းက အစ နဲ့ အဆုံးကို နားလည် စေတယ်။ code line အရေအတွက် များသွားပေမယ့် ပိုပြီး ရှင်းလင်းပါတယ်။

$foo = 8;

if( $foo<10 )
{
    if( $foo>5 )
    {
        echo "Greater than 5!";
    }
    else
    {
        echo "Less than 5!";
    }
}
else
{
    echo "Greater than 10!";
}
echo "<br />Another note.";

Coding Standard မလိုက်နာခြင်း

Coding Standard လို့ ဆိုလိုက်ရင် အခုမှ စလေ့လာက လူတွေက ဘာမှန်း မသိ။ နည်းနည်း ကြောင်သွားတတ်ပါတယ်။ လက်ရှိ လူသုံးများတဲ့ standard ကတော့ မူရင်း pearl ရဲ့ coding standard ပါပဲ။ Coding standard အတိုင်း မရေးတော့ code တွေက တစ်နေရာမှာ တစ်မျိုးဖြစ်နေတယ်။ နောက်ပြီး {} သုံးတဲ့အခါ သုံးတယ်။ မသုံးတဲ့အခါမသုံးဘူး။ short code တွေကို သုံးရင် သုံးမယ်။ မသုံးတဲ့ အခါမသုံးတာတွေ ဖြစ်တတ်ပါတယ်။

Duplicate Code

ဒါကတော့ ထွေထွေ ထူးထူး ပြောစရာလိုမယ် မထင်ပါဘူး။ code တွေကို ပြန်ပြန်ရေးတာပဲဖြစ်ဖြစ် ပြန်ပြန် သုံးနေရင်ပဲ ဖြစ်ဖြစ် ကောင်းမွန်တဲ့ အရာမဟုတ်ပါဘူး။ function ခွဲရေးတာ ဖြစ်ဖြစ် class ခွဲရေးဖို့ ဖြစ်ဖြစ် စဉ်းစားသင့်ပါတယ်။

Development Pattern ကို အသုံးပြုခြင်း

သာမာန် ရိုးရိုး coding ဆိုရင်တော့ Design Pattern က မလိုအပ်ပါဘူး။ Web application တစ်ခုလုံးကို ရေးမယ်ဆိုရင်တော့ Development Pattern က အရေးပါလာပါပြီ။ MVC ကို မဖြစ်မနေ ရေးရမယ်လို့ ဆိုလိုတာမဟုတ်ပါဘူး။ MVC လိုမျိုး pattern ကို အသုံးပြုမယ်ဆိုရင်တော့ web development မှာ အများကြီး လွယ်ကူသွားစေပါတယ်။ Design Pattern တွေ MVC တွေ သိဖို့ မလိုပါဘူး။ အလုပ်ဖြစ်ဖို့ လိုတယ် ဆိုပြီး php code တွေကြီးပဲ ရေးနေရင်တောင် သင်ဟာ Developer ကောင်း တစ်ယောက် မဟုတ်သေးပါဘူး။

ဆက်ပါအုံးမည်….

PHP Developer တွေအတွက် အသုံးဝင်မယ့် အချက် ၁၀ ချက် – အပိုင်း ၂

အပိုင်း ၁ ကို ဒီမှာ ဖတ်ရှုနိုင်ပါတယ်။

၆။ သင့်အတွက် အသုံးဝင်မယ့် Snippet တွေကို သိမ်းထားပါ

Coding တွေရေးတဲ့အခါမှာ ထပ်ခါထပ်ခါ ပြန်သုံးနေရတာတွေ ရှိပါတယ်။ ဥပမာ။ File read / write လိုမျိုး ၊ ဒါမှမဟုတ် mysql connect ချိတ်တာမျိုးတွေပေါ့။ အဲလိုမျိုး code တွေကို ပြန်စဉ်းစား ပြန်ရေးနေမယ့်အစား အသုံးဝင်မယ့် code အပိုင်းတွေကို သိမ်းထားသင့်ပါတယ်။ အသုံးဝင်တဲ့ App တွေကတော့ Snippet, snippely, Code Collector စတာတွေပေါ့။ Snippely က လွဲလို့ ကျန်တာတွေက Mac app တွေပါ။ Snippely တစ်ခုပဲ free ရပါတယ်။ Windows, Mac , Linux အားလုံးအတွက် jcodecollector ရှိပါတယ်။
Continue reading “PHP Developer တွေအတွက် အသုံးဝင်မယ့် အချက် ၁၀ ချက် – အပိုင်း ၂”

PHP Developer တွေအတွက် အသုံးဝင်မယ့် အချက် ၁၀ ချက်

PHP ဟာ လူသုံးများတဲ့ web development language တစ်ခုပါ။ 20 millions domain လောက်က PHP ကို အသုံးပြုထားပြီး wikipedia, facebook စတဲ့ နာမည်ကြီး site တွေအပြင် WordPress , Drupal , Joomla စတာတွေကလည်း PHP နဲ့ ရေးသားထားတာပါ။ အခု ဆောင်းပါးမှာတော့ PHP Developer တွေ ပိုအကျိုးရှိစေမယ့် အချက် ၁၀ ချက်ကို ဖော်ပြပေးသွားပါမယ်။
Continue reading “PHP Developer တွေအတွက် အသုံးဝင်မယ့် အချက် ၁၀ ချက်”

တကယ်တတ်ချင် တကယ်လုပ်

MRT ပေါ်မှာ ထိုင်ခုံနေရာ ရလို့ ထိုင်ရင်း programming စသင်ခဲ့တဲ့ အချိန်ကို စဉ်းစားမိတယ်။ တစ်ခါတည်း ကို စိုးမင်းရဲ့ ၁၀ နှစ် ဆိုတဲ့ ဆောင်းပါး ကိုလည်း သတိရမိတယ်။ လွန်ခဲ့တဲ့ ၃ နှစ်လောက်က ဘာ langauge အသုံးပြုလဲလို့ မေးလိုက်ရင် ဖြေစရာတွေက အများကြီး။ အစုံပဲ။ အခုအချိန်မှာ မေးရင်တော့ ၂ မျိုးပဲ ရှိတယ်။ PHP နဲ့ objective-c ။ အခုအချိန်မှာ အဲလို ရဲရဲ ဝင့်ဝင့် ပြောရဲသွားပြီ။ Programming ကို စ လုပ်ခဲ့တာကတော့ VB ဆိုတာထက် Pseudo လို့ ဆိုရမယ်။ ဗိုလ်တထောင် ကောလိပ်မှာ diploma တက်တုန်းက VB မသုံးခင် Pseudo နဲ့တင် ၁ လ လောက် ကြာသွားတယ်။ Pseudo code ကနေ စခဲ့တယ်လို့ ဆိုရမယ်။

တတ်လိုက်တဲ့ Language တွေ

ဘာ language ရလဲလို့ မေးလိုက်ရင် စုံနေနတာပဲ။ C#, Java , VB , Flash တစ်ယောက်ကို အနည်းဆုံး ၃ ခု ၄ ခုလောက်တော့ တတ်ကြတယ်။ အဲလို တတ်တာကိုပဲ ဂုဏ်ယူနေကြသလိုပဲ။ ကျွန်တော့် တုန်းကလည်း သင်တန်းတွေတက်ဖြစ်သလို language တွေကလည်း တော်တော်စုံတယ်။ ကျောင်းမပြီးခင်မှာပဲ Java, C#, VB ကို သင်တန်းတွေ တက်လို့ တတ်နေပြီ။ သင်တန်း မတက်ပဲနဲ့ လေ့လာဖြစ်တာက javascript , html, css ။ အဲဒါလေးတွေက basic လေးတွေပါ။ သင်တန်းလည်း တက်စရာမလိုပဲ လွယ်လွယ်ကူကူ တတ်နိုင်တဲ့ အရာလေးတွေပါ။ သေသေချာချာ ကိုယ့်ဘာသာ ကိုယ် လေ့လာဖြစ်တာက Action script ပဲ။ Action script ကို Flash မှာပါတဲ့ Help file လေးကနေ လေ့လာဖြစ်တာ။ အဲတုန်းက Flash MX ပဲ ရှိသေးတယ်နဲ့တူတယ်။ Version 7 နဲ့ တူတယ်။ Internet လည်း မရှိပေမယ့် offline help file လေးကနေ လေ့လာဖြစ်တယ်။ ဒါကြောင့် အဲတုန်းက ဘာ language တက်လဲဆိုရင် ပြောစရာတွေက အများကြီး ဖြစ်နေတယ်။ ဒါတောင် ကျောင်းမှာ C++ သင်ပေမယ့် အဲဒီတုန်းက စိတ်မဝင်စားလို့ တတ်လို့ ထည့်မပြောတော့ဘူး။

တစ်ခုဆို လုံလောက်ပြီ

glite ကို စလုပ်ရင်းနဲ့ PHP ကို စရင်းနှီးလာတယ်။ 2007 က စပြီး လေ့လာဖြစ်တယ်လို့ ဆိုရမယ်။ လေ့လာရင်းနဲ့ သဘောကျလာပြီး လက်ရှိ ပြိုင်တူ လေ့လာနေတဲ့ .NET , Java , Flash အကုန်လုံးကို စွန့်ပြီး PHP မှ PHP ကို စလေ့လာတာပဲ။ PHP အတွက် BC မှာ မရှိဘူး။ ဒါကြောင့် ကိုယ့်ဘာသာကိုယ် စာအုပ်ဝယ်ဖို့ ရှာတော့ စာအုပ်ဆိုင်မှာ Visual Qucik Pro က ထုတ်တဲ့ PHP , MySQL စာအုပ်ကို တွေ့တယ်။ ပထမဆုံးတွေ့မိတာက City Mart မှာ။ စျေးကြည့်လိုက်တော့ ၅၀၀၀ လားမသိဘူး။ ကိုယ့်ရတဲ့ မုန့်ဖိုးက ၁ နေ့ ၁ ထောင်တောင် ရှိတာမဟုတ်ဘူး။ ကျောင်းကိုလည်း ထမင်းဘူးပဲ ထည့်ပေးတော့ မုန့်ဖိုး မရတဲ့ ရက်တွေက များတယ်။ အဲဒီ စာအုပ်လေး ဝယ်ချင်လို့ တော်တော်စုလိုက်ရတယ်။ စာအုပ်ရပြီး အဲဒီ စာအုပ်အတိုင်းပဲ အဓိက ထားလေ့လာတာပဲ။ နောက်တော့ သူငယ်ချင်းတစ်ယောက်ကို ငှားလိုက်တာ ပြန်ကို မရတော့တဲ့ စာအုပ်တွေထဲမှာ အဲဒီ စာအုပ်လည်း ပါတယ်။

PHP ကို စလေ့လာကတည်းက တခြားဟာတွေ တစ်ခုမှ မလေ့လာတော့ဘူး။ Windows Application မရေးတော့ဘူး။ Web App ပဲ ရေးတော့မယ် ဆိုပြီး ဆုံးဖြတ်လိုက်တယ်။ အဲလိုမျိုး ဆုံးဖြတ်ပြီး တစ်ခုတည်း လေ့လာခြင်းက သင်တန်းတွေ တက် အများကြီးလေ့လာတာထက် ပိုသာတယ်။ ကိုယ့်ဘာသာကိုယ် စာဖတ်။ စမ်းလိုက်။ error တက်ရင် ပြန်ရှင်းလိုက်နဲ့။ မေးဖို့လူကလည်း များများစားစားမရှိ။ စာအုပ်ကိုပဲ အားကိုးပြီး လေ့လာခဲ့ရတယ်။

တကယ်လုပ်နိုင်လား

PHP လေ့လာတာဟာ အခု အချိန်မှာဆို ၄ နှစ်လောက်ရှိသွားပြီ။ Programming ကိုလေ့လာတာကတော့ ၈ နှစ်လောက် ရှိသွားပြီ။ ၈ နှစ်ရဲ့ ပထမဆုံး ၂ နှစ်လောက်ကတော့ VB 6 နဲ့ပဲ ရေးခဲ့တယ်။ ပထမဆုံး စရေးတာကလည်း မဟာဘုတ် Application ကို VB6 နဲ့ ရေးပြီး သူငယ်ချင်းတွေကို soruce code ပါ ပေးလိုက်တာပဲ။ ကျန်တဲ့ ၂ နှစ်ကတော့ Flash , VB.NET , C#.NET , Java ကို လေ့လာဖြစ်တယ်။ Java ကို လုံးဝ စွန့်လွှတ်လိုက်သလို တော်ပြီ မလေ့လာတော့ဘူး။ ငါနဲ့ မဖြစ်ဘူးဆိုပြီး တစ်ခါတည်းကို ဆုံးဖြတ်ချက်ချလိုက်တဲ့ language လို့လည်း ဆိုလို့ရတယ်။

အခုအချိန်မှာ PHP နဲ့ web app တစ်ခုရေး ဆိုရင် ရေးနိုင်တယ်လို့ ပြောရဲတယ်။ တကယ်လို အပ်တာက Language များများ တတ်ဖို့ မဟုတ်ဘူး။ တစ်ခုတည်းကို သေသေချာချာ သိဖို့နဲ့ တကယ်ရေးတတ်ဖို့ပဲ။ PHP လို့ ဆိုလိုက်တာနဲ့ HTML , CSS , javascript , jquery စတာတွေက အလိုလို တွဲပါလာသင့်တာ။ Web လိုင်းမှာ အဲဒါတွေ ပစ်ပယ်ပြီးတော့ သွားလို့ မရဘူး။ PHP တတ်တယ်။ HTML နဲ့ CSS မတတ်ဘူး။ ဒါမှမဟုတ် javascript မတတ်ဘူးလို့ ပြောတဲ့သူတွေကို တွေ့ဖူးတယ်။ သေချာတယ်။ သူ အိယောင်ဝါး လုပ်နေတာပဲ ဖြစ်မယ်လို့ ဆုံးဖြတ်ချက်ချလို့ရတယ်။ HTML , CSS , javascript စတာတွေက PHP နဲ့ ယှဉ်ရင် တကယ့် minor learning လေးတွေ။ အဲဒီ အခြေခံအဆင့် မရှိပဲနဲ့ PHP ကို လေ့လာတာဟာ မဖြစ်သင့်ဘူး။ လက်တွေ့ ရေးဆိုရင် မရေးနိုင်တာတွေ အများကြီးပဲ။ ASP.NET သမားတွေ CSS တောင် မပြင်တတ်တာ တွေ့ဖူးတယ်။ ဘာလုပ်နေလဲဆိုရင် ASP.NET လို့ ဖြေပြီး CSS ကော ရလားလို့ မေးရင် ဘာကြီးလဲဟင်လို့ ပြန်မေးတာတွေလည်း တွေ့ဖူးပါတယ်။

ကျွန်တော် ပြောတဲ့ တစ်ခု ဆို လုံလောက်ပြီ ဆိုတဲ့ အထဲမှာ တစ်ခုက Langauge တစ်ခုကို ပြောတာမဟုတ်ဘူး။ Language တစ်ခု အပြင် သူနဲ့ ဆက်စပ်တာတွေပါ ပါတယ်။ Web app ရေးရင် HTML , CSS , javascript တတ်ထားရမယ်။ javascript အပြင် jquery ပါ တတ်ထားရင် ပိုကောင်းတယ်။ အဲဒါတွေ မတတ်ပဲ web application တွေ ရေးနေတယ်ဆိုရင်တော့ ဘယ်လိုမှ quality ကောင်းလာမှာမဟုတ်ဘူး။

in 24 Hour

PHP in 24 hour တို့ လို စာအုပ်မျိုးကို ကြည့်မိရင် ရယ်ချင်တဲ့ အထဲမှာပါတယ်။ HTML in 24 hour က လက်ခံလို့ရတယ်။ HTML + CSS in 24 hour ဆိုတဲ့ အထိ လက်ခံလို့ရတယ်။ Programming langauge ကို 24 hour ဆိုတာကတော့ မဖြစ်နိုင်ဘူး။ SAMS က ထုတ်တဲ့ စာအုပ်တော်တော်များများ ဖတ်ပြီး ကြီးပြင်းခဲ့ရတာပဲ။ စာတွေက တကယ်ကောင်းတယ်။ ခေါင်းစဉ်ကသာ လူရယ်ချင်စရာ ဖြစ်နေတာ။ ငယ်ငယ်တုန်းက ဟာ.. ငါ တော်တော် နှေးပါလား။ 24 hour စာအုပ်ကို ဖတ်နေတာ ၂၄ နာရီ မကတော့ဘူးလို့ ထင်မိသေးတယ်။ ခေါင်းစဉ်ကသာ 24 hour ။ လက်တွေ့စာတွေက အနည်းဆုံး ၃ နှစ်လောက် လေ့လာမှ သိတယ် ဆိုရုံလောက်ပဲ။ ကိုယ်ပိုင် PHP Framework ကို စမ်းပြီး ဆောက်ဖြစ်ခဲ့တာ မကြာသေးဘူး။ MZ User ကိုလည်း အဲဒီ framework နဲ့ပဲ ရေးထားခဲ့တာ။ ၄ နှစ်လောက် လေ့လာပြီးတဲ့အခါမှ နည်းနည်း တီးမိ ခေါက်မိလာတာ။ ရေးနိုင်တယ်လို့ ပြောရဲ ဆိုရဲ ရှိလာတာ။ ဒါကြောင့် သင်တန်းတွေ တက်ပြီး ၃ လ လောက်နဲ့ ငါ တတ်ပြီလို့ ပြောလို့မရဘူး။ သင်တန်းတွေ ကြော်ငြာက SAMS စာအုပ် ခေါင်းစဉ်တွေလိုပဲ။ စာသင်တာ ကောင်းနိုင်ပေမယ့် သင်တန်းပြီးတာနဲ့ တတ်ပြီဆိုတာကတော့ မဟုတ်ဘူးဆိုတာ သေချာတယ်။

Limit

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

တကယ်တတ်လာဖို့ အချိန်ဆိုတာထက် Experience လိုတယ်။ ငါ ၃ နှစ်လောက်ရှိပြီ PHP လေ့လာနေတာ။ ဒါပေမယ့် မတတ်သေးပါဘူးကွာဆိုရင်တော့ project တွေ ကောင်းကောင်းမလုပ်ခဲ့ရဘူးလို့ပဲ။ လေ့လာတဲ့ အချိန်ဆိုတာထက် လုပ်ခဲ့ရတဲ့ Project Experience က ကိုယ့်ရဲ့ limit တွေကို တိုးမြှင့်ပေးတယ်။ Knowledge တွေ တိုးတက်လာတယ်။

လုပ်ချင်စိတ်

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

အတွေ့အကြံုရဖို့

အလုပ်ရမှ အတွေ့အကြံုရမယ်လို့ ပြောတာဟာ ချမ်းသာအောင် တန်ခိုးရှင်ကို ထိုင်စောင့်နေသလိုပဲ။ အတွေ့အကြံုဆိုတဲ့စကားကို တွေ့ တဲ့ အခါ ကြံု တဲ့ အခါမှာ တတ်မြောက်လာတာ။ ကိုယ်က တွေ့ဖို့ လိုတယ်။ ကြံုဖို့ လိုတယ်။ ဒါကြောင့် တွေ့ အောင် ကြံုအောင် ကိုယ့်ဘာသာ ကိုယ် ဖန်တီးရတယ်။ အလုပ် ရမှဆိုပြီး ထိုင်စောင့်နေတာဟာ တန်ခိုင်းရှင်ကို ထိုင်စောင့်နေတာနဲ့ အတူတူပဲ။ Working Experience က ပိုကောင်းတာမှန်ပေမယ့် ကိုယ့်ဘာသာကိုယ် လုပ်ထားတဲ့ project တွေကလည်း မတူတဲ့ အတွေ့အကြံုတွေကို ရစေတာပဲ။ နောက်ပြီး ကိုယ့် ဘာသာကိုယ် project သေးသေးလေးတွေ ရေးပြီး interview တွေမှာ ပြလို့ ရတယ်။ ပြောလို့ရတယ်။ လုပ်နိုင်တယ်ဆိုတာကို ပြောလို့ရတယ်။ နောက်ပြီး လုပ်နေတဲ့ project ကနေ သင်ယူစရာတွေ တွေ့လာရမယ်။ အသစ် ထပ်လေ့လာစရာတွေ ၊ ပြဿနာဖြေရှင်းနည်းတွေ တဖြည်းဖြည်းနဲ့ တတ်ကျွမ်းလာတယ်။ သို့ပေမယ့် အကြောင်းပြချက်အမျိုးမျိုးနဲ့ ကိုယ့်ဘာသာကိုယ် project သေးသေးလေးချပြီး မလုပ်ဖြစ်ကြတာ များတယ်။

သူတို့ပြောတဲ့ ချဉ်းကပ်ခြင်း

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

တုံးသွားတဲ့ ဦးဏှောက်

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

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

Hellobar – A Web Toolbar

Hello Bar ဆိုတာကို သိပြီးသူတွေလည်း ရှိမှာပါ..ဒါပေမယ့် မသိသေးတဲ့လူတွေ အတွက် ရည်ရွယ်ပြီး ရေးထားပါတယ်…။

Hello Bar ဆိုတာ ဘယ်Website ၊ ဘယ် Blog မှာမဆို အသုံးပြုလို့ ရနိုင်တဲ့ Web Toolbar တစ်ခုပါ….။
Hello Bar ကို ကိုယ့် Blog ရဲ့ နောက်ဆုံး Blog Post တို့ ၊ ကိုယ့် Website ရဲ့ နောက်ဆုံးထည့်သွင်းထားတဲ့ အချက်အလက် ၊ ဘယ်အရာကိုမဆို ဖော်ပြနိုင်ဖို့ အတွက် အသုံးပြုနိုင်ပါတယ်..။ Hello Bar ဟာ Website ၊ Blog စာမျက်နှာရဲ့ အပေါ်ဆုံးမှာ
Bar လေးအဖြစ် ရှိနေမှာဖြစ်ပြီး စာဖတ်သူ ၊ Visitor တွေကိုလည်း စိတ်အနှောင့်အယှက် မဖြစ်စေဘဲ သေသေသပ်သပ် ရှိနေမှာဖြစ်ပါတယ်…။

Hello Bar ကပေးထားတဲ့ JavaScript ကို ဘယ် HTML Website ၊ Blog မှာမဆို  Copy/Paste လုပ်ရုံနဲ့ Hello barအား  အသုံးပြုနိုင်ပါတယ်..။ ငုင်း Bar မှာ မိမိစိတ်ကြိုက်  အရောင် ၊ စာသား နဲ့ Web Link တစ်ခုကို ထည့်ထားပြီး ဖော်ပြထားနိုင်ပါသေးတယ်..။

ဒါအပြင် Hello Bar မှာ မိမိ Blog rss feed ၊ Twitter feed ၊ Facebook feed ၊ တွေကိုလည်း ဖော်ပြထားနိုင်ပါသေးတယ်…။

အကယ်၍များ Hello Bar ကို မသုံးချင်လို့ ကိုယ်Site မှာ ဖယ်ချင်ရင် အရင်ကထည့်ထားတဲ့ Code ကို ဖယ်ဖျက်စရာမလိုဘဲ Switch Off လုပ်ထားရင် ချက်ချင်းဖယ်ပြီးသားဖြစ်အောင် လုပ်ထားနိုင်သေးပါတယ်..။ မိမိ လိုအပ်တဲ့အချိန်မှာလည်း အလွယ်တကူဆိုသလို ချက်ချင်း Switch On လုပ်နိုင်ပါတယ်..။

Hello Bar ကို သုံးသင့်တဲ့ အကြောင်းကတော့ ရိုးရှင်းတဲ့ ဒီဇိုင်း ၊ မိမိ Website မှာ Click လုပ်တဲ့အရာတွေ ၊ စာဖတ်သူ စိတ်ဝင်စားတဲ့အချက်အလက်တွေ ၊ CTR (Clickthrough rate) တွေကိုလည်း မှတ်သားထားနိုင်တာကြောင့်ရယ် …၊ မိမိဖော်ပြလိုတဲ့ အရေးကြီး အကြောင်းအရာတွေကို ထင်ထင်ရှားရှား သိသိသာသာ ဖော်ပြနိုင်တာကြောင့်ပါ..။

Hello Bar ကို Blogspot မှာပဲဖြစ်ဖြစ် ၊ WordPress မှာပဲ ဖြစ်ဖြစ် ၊ ဘယ် CMS (Content Management System) မှာမဆို အသုံးပြုနိုင်ပါတယ်..။

Hello Bar ဟာ Beta အဆင့်မှာပဲမို့ … Public Release မလုပ်သေးပါဘူး..။ သုံးချင်လို့ Sign up လုပ်ရာမှာ Beta Key ထည့်ပေးဖို့လိုပါသေးတယ်..။
ဒါကြောင့်အသုံးပြုလိုသူများ ၊ စမ်းသုံးကြည့်လိုသူများအနေနဲ့ အောက်က Comment Section မှာ တောင်းဆိုနိုင်ပါတယ်…။ Beta Key ၁၀ ခုသာ ရှိတာမို့ ဦးသူရမယ်လို့ အာမခံပါရစေ..။

Hello Bar ရဲ့ Official Website ကတော့ http://hellobar.com ဖြစ်ပါတယ်..။

ချဉ်းကပ်ခြင်း

ပြီးခဲ့တဲ့ သောကြာနေ့ ကိုရဲမြတ်သူ ဘန်ကောက်ရောက်နေတော့ ကျွန်တော့် ဆီကို ဖုန်းဆက်ပါတယ်။ အဓိကတော့ ပြည်တွင်းကလူတွေ ပြည်ပထွက်ကုန်တဲ့ နောက်ပိုင်းမှာ လူတော်တွေရှားလာတယ်။ Computer နဲ့ အသက်မွေးဝမ်းကြောင်း လုပ်ချင်တဲ့ လူတွေ နည်းလာတယ်။ အဲဒီ အတွက် company တွေ အနေနဲ့လည်း အဆင်မပြေဘူး။ လက်ရှိ ရှိနေတဲ့ human resource တွေ ဘာကြောင့် မတိုးတက်လာတာလဲ။ ဘာကြောင့် ရှားပါးကုန်တာလဲဆိုတာကို အချိန် တစ်နာရီလောက် စကားပြောဖြစ်ခဲ့တယ်။

ရှားပါးလာတဲ့ Human Resource

Generation တစ်ခုပြီး တစ်ခု နိုင်ငံခြားထွက်လာတဲ့ အမျှ မြန်မာနိုင်ငံမှာလည်း Human Resource တွေ တဖြည်းဖြည်း ကျဆင်းလာတယ်။ လက်ရှိ ပြည်တွင်းမှာ ကျန်ရှိတဲ့သူတွေက ရာခိုင်နှုန်းအရ Fresh တွေနဲ့ Begineer တွေ ပိုများလာတယ်။ အများအားဖြင့် သင်တန်းဆင်း တွေ က များလာတယ်။ သင်တန်းဆင်း တော်တော်များများဟာလည်း လက်တွေ့ လုပ်ငန်းခွင် အတွေ့အကြံု အားနည်းသလို တကယ်လိုအပ်တဲ့ project ကြီးတွေမှာ လုပ်ဖို့ကလည်း လုပ်ငန်းရှင်တွေ ကိုယ်တိုင် အာမခံရဲ ဘူးဖြစ်နေတယ်။ ပြီးခဲ့တဲ့ ရတနာပုံ DDoS ပြဿနာတုန်းကဆိုရင် တရုတ်လက်ထဲအပ်ပြီး ခိုင်းရတဲ့ အဆင့်ထိတောင် ဖြစ်သွားတယ်။ နောက်ပြီး ပြည်တွင်းမှာ လုပ်ငန်း Freelance network က အားနည်းနေသေးတာကြောင့်လည်းပါတယ်လို့ ဆိုရမယ်။ အချို့ လုပ်နိုင်တဲ့ လူတွေ ရှိပေမယ့် လက်ရှိ အလုပ်အပ်ချင်တဲ့သူတွေ ရှာဖွေရ ခက်တာတွေလည်း ရှိတယ်။ ရှိပေမယ့် ရှာရခက်နေတယ်။ ရှားနေတယ်လို့လည်း ဆိုရမှာပေါ့။

Continue reading “ချဉ်းကပ်ခြင်း”

Starting Game Development

အရင်အလုပ် web development ကနေ ဘာမှ မဆိုင်တဲ့ iphone game development ကို ရောက်သွားတော့ စာတွေတော်တော် ပြန်ဖတ်လိုက်ရတယ်။ နောက်ပြီး မသိတာတွေ တော်တော်များများလည်း လေ့လာလိုက်ရတယ်။ Game Devloper လုပ်ချင်တဲ့ သူတွေ အရင်ဆုံး ကိုမြင့်ကျော်သူရေးထားတဲ့ post လေးတွေကို ဖတ်သင့်တယ်။ ကိုမြင့်ကျော်သူကတော့ Game Dev နဲ့ ပတ်သက်လာရင် ဆရာကြီး တစ်ဆူလို့တောင် ဆိုလို့ရမယ်။ မြန်မာနိုင်ငံကနေ နိုင်ငံတကာကို game ရောင်းနေတဲ့ Total Game Studio ဆိုပြီး အောင်မြင်တဲ့ Game Studio တစ်ခုလည်း ရှိတယ်။ ဒါကြောင့် Game Developer မလုပ်ခင်မှာ သူရေးထားတဲ့ post လေးတွေကို ဖတ်သင့်ပါတယ်။
Continue reading “Starting Game Development”

How to learn web development

Web Development လုပ်တော့မယ်ဆိုရင် ကျွန်တော် ဒီပုံမှာ ပြခဲ့တာလေးကို တချက်ကြည့်စေချင်ပါတယ်။ ပုံထဲမှာ ကျွန်တော့်အနေနဲ့ Web Programming ကို မလေ့လာခင်မှာ HTML , CSS , Javascript ကို စတင်လေ့လာဖို့ ဆိုထားပါတယ်။ HTML , CSS က programming ပိုင်း မပါဝင်ပါဘူး။ တော်တော်များများဟာ HTML, CSS, Javascript က သေချာ မတတ်ကျွမ်းပဲနဲ့ Web Development ပိုင်းကို ကူးနေကြတာတွေကိုလည်း တွေ့ရပါတယ်။
Continue reading “How to learn web development”

Readability on blog [Poll]

အခု ထည့်ထားတဲ့ Readability အတွက် Poll လေးလုပ်ထားပါတယ်။ MZ Blog မှာ ထည့်ထားတဲ့ Readability သုံးဖြစ် မသုံးဖြစ်ပေါ့။

7 Cross Platform iOS and Android Solutions

iOS ကို သာမက Android ပါ run လို့ ရအောင် application တွေ ရေးဖို့အတွက် SDK List လေးပါ။

Native App Creators

Airplay SDK – သူကတော့ game company တော်တော်များများ အသုံးပြုကြပါတယ်။ cross platform applications အတွက် game ရေးဖို့ဆိုရင် အဆင်ပြေပါတယ်။ 2D/3D Game တွေ ရေးဖို့အတွက် အဆင်ပြေပါတယ်။

Corona SDK – Lua ကို သုံးပြီး app တွေရေးဖို့အတွက်ဆိုရင်တော့ Corona ရှိပါတယ်။ သူကတော့ Actionscript 2.0 နဲ့ တူပါတယ်။ Adobe Developer အဟောင်းတွေက တည်ထောင်ထားတာပါ။ တန်ဖိုးကတော့ $99 per year ပေးဆောင်ရပါတယ်။

Flash CS5 (Adobe Air for iOS ) – Packager ကို သုံးပြီး iOS အတွက် Flash CS5 apps တွေ ဖန်တီးလို့ရပါတယ်။ Mac ကို သုံးစရာမလိုပဲ ရေးလို့ရပါတယ်။ စျေးနှုန်းကတော့ $600 ဝန်းကျင်ရှိပြီးတော့ upgrade လုပ်တာဆိုရင်တော့ $200 ပေးရပါလိမ့်မယ်။

Unity – Game တွေအတွက် သီးသန့်ဆိုရင်တော့ Unity ရှိပါတယ်။ သူက 3D object တွေအတွက် Editor ပါပြီးသားဆိုတော့ တော်တော်လေးကို ကောင်းမွန်တယ်လို့ ဆိုရပါမယ်။ ထို့အတူ စျေးလည်း ကောင်းပါတယ်။ iPhone သီးသန့်အတွက် Unity ဆိုရင် $300 လောက်ပေးရမှာဖြစ်ပြီး Unity Pro ဆိုရင်တော့ $1500 လောက်ကုန်ပါလိမ့်မယ်။ Android အတွက်ပါရေးမယ်ဆိုရင်တော့ $3000 လောက်တော့ ကုန်ကျပါမယ်။

Hybrid App Creators (HTML/Javascript and HTML/ruby based)

Appcelerator – native app ကို HTML/Javascript ကို သုံးပြီး ရေးလို့ရမယ့် နည်းလမ်းပေါ့။ UIWebView ကို သုံးပြီး iPhone မှာ run တာပေါ့။ သူက Free ပါပဲ။

Phonegap – Appcelerator နဲ့ အတူတူပါပဲ။ သူကတော့ Appcelerator ထက်စာရင် ရေးရတာ ပိုလွယ်ပြီးတော့ support နဲ့ communities အားကောင်းတယ်လို့ ဆိုရပါမယ်။

Rhomobile – Ruby ကို သဘောကျတဲ့သူတွေအတွက်ကတော့ Rhomobile က အဆင်ပြေပါလိမ့်မယ်။ ROR သမားတွေ အကြိုက်ပေါ့။ noncommericial application အတွက် free ပါ။

Conclusion

Flash သမားတွေအတွက်တော့ Flash CS5 က အသင့်တော်ဆုံးပေါ့။ Airplay SDK ကတော့ စိတ်ဝင်စားဖို့ကောင်းတဲ့ SDK ဆိုလည်း မမှားပါဘူး။ Corona ကတော့ စျေးနည်းနည်းများတယ်လို့ ထင်ပါတယ်။ နောက်ပြီး Lua language ကိုလည်း လေ့လာဖို့ လိုလိမ့်မယ်။ Corona စျေးများတာကတော့ Unity စျေးများတာကို မမှီဘူးလို့ဆိုရမလားပဲ။ သို့ပေမယ့် Unity က Game Development အတွက် တော်တော်လေးကို ကောင်းမွန်ပါတယ်။ Game Development အတွက် invest မလုပ်ဘူးဆိုရင်တော့ မစဉ်းစားသင့်ပါဘူး။

HTML/Javascript solutions အတွက်ဆိုရင်တော့ Appcelerator ဖြစ်ဖြစ် Phonegap ဖြစ်ဖြစ် အဆင်ပြေပါတယ်။ web developer တွေအတွက် iPhone , Android app အမြန်ရေးဖို့အတွက်ပေါ့။ Appcelerator ကတော့ သူ့ javascript တွေ သိထားဖို့လိုတယ်။ ထပ်လေ့လာဖို့လိုတာပေါ့။ Phonegap ကတော့ လက်ရှိ HTML5 application ကို iPhone , Android အတွက် ချက်ခြင်း ပြောင်းလိုက်ရုံပဲလေ။ ROR သမားတွေအတွက်တော့ ထွေထွေထူးထူး ပြောစရာလိုမယ်မထင်။ Rhomobile က အဆင်ပြေဆုံး ဖြစ်လိမ့်မယ်။

reference: http://maniacdev.com/2010/09/cross-platform-iphone-and-android-solutions/

Cheat Sheet For Web Essential

Cheat Sheet ဆိုတာကတော့ ကျွန်တော်တို့တွေ ပုံမှန် များပြားလှတဲ့ reference တွေကို လိုအပ်ပြီး အသုံးဝင်တာတွေ စုစည်းထားတာကို ဆိုတာပါ။ တနည်းပြောရင် quick reference လို့ ဆိုလို့ရပါတယ်။ ကျွန်တော် HTML, CSS , jQuery အကြောင်း MZ Edu မှာ ရေးခဲ့ဘူးပါတယ်။ အခု Web Development လုပ်မယ့်သူတွေအနေနဲ့ HTML, CSS , jQuery တို့ကို သိထားဖို့လိုအပ်ပါတယ်။ ရေးသားရာမှာလည်း လွယ်လွယ်ကူကူ reference လုပ်လို့ရအောင် cheat sheet လေးတွေ ဆောင်ထားဖို့လည်း လိုအပ်ပါတယ်။

Continue reading “Cheat Sheet For Web Essential”

iPhone Development Intro – 2

အပိုင်း ၁ မှာ တုန်းက iPhone Development တွေ လိုအပ်တာတွေပြင်ဆင်ဖို့ ဘယ်လို လေ့လာရမလဲဆိုတာတွေ ပြောပြီးပါပြီ။ အခု အပိုင်းမှာတော့ iPhone Developer Account နဲ့ Distrubtion အကြောင်းလေး ရေးပါမယ်။

Why you need Developer Account

ကျွန်တော်တို့မှာ Simulator ရှိပါတယ်။ သို့ပေမယ့်လည်း Simulator Account နဲ့ အကုန်လုပ်လို့မရဘူး။ camera, phone, accelerometer, magnetometer or gyroscope စတာတွေကို Simulator နဲ့ စမ်းလို့မရပါဘူး။ Developer Account ရှိမှ အဲဒီ API တွေကို Device ပေါ်မှာ တင်ပြီး စမ်းလို့ရမှာပါ။ နောက်ပြီး App store မှာ တင်ပြီးတော့ ရောင်းချင်တယ်ဆိုရင်လည်း Developer Account လိုအပ်ပါတယ်။ ဝယ်မယ်ဆိုရင်တော့ အရင်ဆုံး Apple Store or iTune store Account ရှိဖို့ လိုပါတယ်။ အဲဒီ Account ရှိမှ Developer Account ကို ဝယ်လို့ရမှာပါ။

dev center

Testing Your Project

Project ကို စမ်းမယ်ဆိုရင် Device ပေါ်မှာ စမ်းသပ်တာက အကောင်းဆုံးပါပဲ။ iPodTouch Simulator မှာသုံးတဲ့ Speed နဲ့ iPhone Device မှာ ရတဲ့ Speed က မတူပါဘူး။ နောက်ပြီး အချို့ API တွေ ဖြစ်တဲ့ camera, accelerometer စတာတွေက  Simulator နဲ့ စမ်းလို့မရဘူး။ Device ပေါ်မှာ စမ်းဖို့အတွက် Developer Account ရဲ့ Provisioning Portal ကနေ Development Provisioning Profiles တစ်ခုကို Download ချပြီး ဖန်တီးဖို့ လိုပါတယ်။ နောက်ပြီး သင့် Application အတွက် App ID တစ်ခုလည်း တည်ဆောက်ဖို့လိုတယ်။ အဲဒီအဆင့်တွေက Developer Account ဝယ်ပြီးသွားရင် Provisioning Portal မှာ အဆင့်ဆင့်တွေ ပြထားပါတယ်။ iPhone Development လုပ်နေပြီဆိုကတည်းက English စာ အသင့်သင့် ရှိနေတဲ့ သူတစ်ယောက်ဖြစ်တဲ့အတွက် English စာဖတ်ရတာ ခက်ခဲမယ် မထင်ပါဘူး။ အဆင့်ဆင့်တွေ ဖြစ်တဲ့ အတွက် Provision Portal မှာ စာတွေ အသေးစိတ် ဖတ်ဖို့ လိုအပ်ပါတယ်။

sdk

Simulator က iPhone Device ထက်မြန်တယ်လို့ ကျွန်တော် ပြောပြီးပါပြီ။ အဲဒါကြောင့် Device မှာသာ သုံးလို့ရတဲ့ API မသုံးပဲ ရေးမယ်ဆိုရင် Simulator ကို အဓိက ထားသုံးသင့်ပါတယ်။ Device ကို နောက်ဆုံး Testing အဆင့်အတွက် အဓိက ထားသုံးသင့်ပါတယ်။ Device မှာ မဟမ်းသွားဖို့လိုပါတယ်။

Distrbution

Distrubtion လုပ်မယ်ဆိုရင် ၂ နည်းရှိပါတယ်။ Ad Hoc နဲ့ App Store ပိုင်းပါ။ Ad Hoc ဆိုတာကတော့ App Store မှာ မတင်ပဲသီးသန့် ခွင့်ပြုထားတဲ့ device တွေမှာ အသုံးပြုဖို့အတွက်ပါ။ Ad Hoc က ကြိုက်သလောက် ဖန်တီးခွင့် မရှိပါဘူး။ စုစုပေါင်း Device ID 99 ခုပဲရပါတယ်။ နောက်တနည်းကတော့ App Store ပါ။

distrubtion

App Store

iPhone Project တွေ မတင်ခင် developer account မဝယ်ခင် App store နဲ့ ပတ်သက်ပြီး သိသင့်တာလေးတွေ ရှိပါတယ်။ App Store မှာ ရောင်းမယ်ဆိုရင် ရောင်းစျေးထက် 70% ပဲရပါလိမ့်မယ်။ ဥပမာ ။။ $0.99 နဲ့ ရောင်းတဲ့ app အတွက် ၁ ခု ရောင်းရလျှင် 0.70 ပဲ ကိုယ်က ရမှာပါ။ App Store ကို အသုံးပြုမယ်ဆိုရင် Online Bank Account ရှိဖို့လိုပါတယ်။ Bank Account က Swift Account ရှိဖို့လိုပါတယ်။ စကာင်္ပူမှာတော့ POSB, DBS , Ctibank တို့က Swift ရှိပါတယ်။ Address ကို သတိထားရပါမယ်။ Address ပြောင်းချင်ရင် Bank မှ လာထားတဲ့ Phone Bill နဲ့ ကိုယ်နေထိုင်တဲ့ နိုင်ငံရဲ့ ID card ပြနိုင်ဖို့ လိုပါတယ်။ Address ပြောင်းခြင်းကလည်း ၁ ပတ်လောက် ကြာမြင့်နိုင်ပါတယ်။ အကုန်လုံး သေချာသွားပြီဆိုရင် Contract စတင် ချုပ်လို့ရပါပြီ။ Contract ချုပ်ပြီးတာနဲ့ ကိုယ့် Bank Account ကို စတင်ဖြည့်လို့ရပါပြီ။ လိုအပ်တဲ့ Information တွေ ဖြည့်ပေးဖို့လိုပါတယ်။ Free version အတွက် bank account တွေ မလိုအပ်ပါဘူး။

app store

Sale on App Store

App store ပေါ်တင်မယ်ဆိုရင် ကိုယ့် App ကို ပုံမှန်အားဖြင့် ရ ရက် စောင့်ရပါတယ်။ ရ ရက်အတွင်းမှာ 95% Application တွေက Approve ဖြစ်ပါတယ်။ ဘာလို့ 5% က Approve မဖြစ်သလဲဆိုတော့

  • မပြည့်စုံခြင်း။ ( လိုအပ်ချက်တွေ မပြည့်စုံလို့ပါ။ Description မပြည့်စုံခြင်း။ Application က ဘာမှ မရှိပဲ နည်းနည်းလေး ပါးပါး စမ်းသပ်ထားသလို ဖြစ်နေခြင်း စတာတွေ ကြောင့်ပါ )
  • Custom API သုံးထားခြင်း။ ( App ထဲမှာ Custom API တွေ ထည့်သွင်းသုံးထားတာကို Apple က ခွင့်မပြုပါဘူး )
  • Crash ဖြစ်ခြင်း။ ( App က crash ဖြစ်တာကိုတွေ့ရင် လက်မခံပါဘူး )

approve

တကယ်လို့ ကိုယ့် App က approve မဖြစ်လို့ ပြန်ပြင်ပြီး resubmit လုပ်လို့ရပါတယ်။ App တစ်ခုကို တင်ရင် လိုအပ်တာတွေက

require

ရောင်းဖို့အတွက် စျေးနှုန်းတွေကို Tier နဲ့ သတ်မှတ်ပါတယ်။ ပုံမှန်အားဖြင့် အနိမ့်ဆုံး Tier 1 ဖြစ်တဲ့ $0.99 ကနေ စရောင်းလို့ရပြီးတော့ အမြင့်ဆုံး ဖြစ်တဲ့ Tier 85 ဖြစ်တဲ့ $999.99 ထိ ရောင်းလို့ရပါတယ်။ စာရင်းကိုတော့ ဒီမှာ ကြည့်လို့ရပါတယ်။ နောက်တချက် သိဖို့က ရောင်းတဲ့အခါမှာ $150 ပြန်မရမခြင်း သင့် ပိုက်ဆံ ပြန်ထုတ်လို့မရပါဘူး။ iAds လည်း ထိုနည်းတူပါပဲ။ ဒါကြောင့် သင့် Appliation ကို ရောင်းကောင်းအောင် Marketing တွေ လုပ်ဖို့လိုပါတယ်။

Marketing Your Application

App store မှာ တင်ပြီးသွားရင် ကိုယ့် Application Marketing အတွက် ဘယ်လောက်ရောင်းရတယ် ဘယ်လောက် Update လုပ်လဲ စတဲ့ report တွေကို ကြည့်လို့ရပါတယ်။ နောက်ပြီး Finance Reports ကို ၁ လ ၁ ကြိမ် ကြည့်လို့ရပါတယ်။ ဒါပေမယ့် real time report ကတော့ ကြည့်လို့မရပါဘူး။ ဒီနေ့ တနေ့လုံး ဘယ်လောက် ရောင်းရလဲဆိုတာကိုပဲ ကြည့်ုလို့ရပါတယ်။ ဒီနေ့ ၁ နေ့လုံးဆိုတာကလည်း ပုံမှန်အားဖြင့် ည singapore ည ရ နာရီ မှ တစ်ခါ update ဖြစ်ပါတယ်။ weekly report အတွက် ရ ရက်စောင့်ရပါမယ်။ နောက်ပြီးတော့ Discount Period တွေ သတ်မှတ်လို့ရပါတယ်။ ဘယ်အချိန်မှာ ဘယ်စျေးပြောင်းဆိုပြီး သတ်မှတ်လို့ရပါတယ်။ Available on App Store ဆိုတဲ့ Image ကို အသုံးပြုချင်တယ်ဆိုရင်တော့ US ကို mail ပို့ပြီး ကိုယ် သုံးမယ့် app နဲ့ website address အတွက် ခွင့်ပြုချက်ရယူဖို့ လိုပါတယ်။

ကဲ… ဒီလောက်ဆိုရင် iPhone Application Development အကြောင်းကို ခြံုငုံပြီး သိသွားပြီလို့ထင်ပါတယ်။

လူငယ်နှင့် ပညာရေး

ဒီကာလအတောအတွင်းမှာ လူငယ်တော်တော်များများနဲ့ တွေ့ခွင့်ရပါတယ်။ လူငယ်ဆိုတာ ကျွှန်တော့်ထက်ငယ်တဲ့သူပေါ့ ၂၅အောက်တွေနဲ့ ၁၉၊၁၈၊၁၇၊၁၆ နဲ့၁၅နစ်ရှိတဲ့ လူငယ်တွေလဲပါပါတယ်။ အဲတော်တော်များများကို တော်တော်လေး စိတ်မကောင်းစရာ လမ်းမှားနေတာကို မြင်ရပါတယ်။ အဲကျွှန်တော်ကိုယ်တိုင်လဲ လမ်းမှန်ရောက်အောင်လုပ်နေစဲပါ။ ကိုယ့်ထက်ပိုဆိုးတဲ့သူတွေပေါ့။ ပညာရေးနဲ့ ပတ်သက်ပြီးဆိုလိုတာပါ။

Continue reading “လူငယ်နှင့် ပညာရေး”

MVC

MVC ဆိုတာကတော့ Model View Controller ဆိုတာ သိပြီးသားပြီးသားပါ။ ဒါပေမယ့် MVC ကို programming နဲ့ ရောထွေးနေကြတယ်။ MVC ဆိုတာ pattern တစ်ခုပါ။ Software Engineering မှာ အသုံးပြုတဲ့ architectural pattern လို့ဆိုရလိမ့်မယ်။ ဒါကြောင့် သူ့ကို Language တစ်ခုနဲ့ တစ်ခု အသုံးပြုပုံမတူဘူး။ နောက်ပြီး framework တစ်ခုနဲ့ တစ်ခု အသုံးပြုပုံမတူဘူး။ ဒါပေမယ့် သဘောတရားနဲ့ အနှစ်သာရကတော့ အတူတူပဲ။ CodeIgniter ရေးတတ်တာနဲ့ MVC ဆိုတာ ဒီလို ရေးရပါလားလို့ ထင်ရင်တော့ မဟုတ်ပါ။ CodeIgniter မှာ MVC ကို ရေးပုံနဲ့ Symfony မှာ ရေးပုံက မတူဘူး။ နောက်ပြီး iPhone SDK ကလည်း MVC ပဲ။ ဒါပေမယ့် တည်ဆောက်ပုံတွေ မတူဘူး။
Continue reading “MVC”