Another empty glass

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

ရေပြည့်နေရင် ရေထပ်ဖြည့်လို့ မရဘူး

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

အဲလို တွေးတာ မှန်သင့်သလောက် မှန်ပေမယ့် မှားနေတယ်ဆိုတာ သဘောပေါက်လာတယ်။ ဘာကြောင့် မှားတာလဲ ? language တစ်ခုကို မေ့ပစ်လိုက်ရင် looping , for loop , while loop စတဲ့ concept တွေ မေ့ခိုင်းတာနဲ့ အတူတူပဲ။ တနည်းပြောရင်း တခြား language မှာ looping ၊ condition တို့ operator တွေကို ပြန်လေ့လာရမယ့် သဘောဖြစ်နေတယ်။

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

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

မစောင့်ပါနဲ့ ။ ချက်ခြင်း ရေးကြည့်ပါ ။

မှတ်မှတ်ရရ python နဲ့ mywebfont ကို ရေးလိုက်တာ တစ်ရက်ပဲ ကြာတယ်။ ဒီမတိုင်ခင်မှာ python လုပ်မယ် လုပ်မယ်နဲ့ မလုပ်ဖြစ်ဘူး။ စာအုပ် ဖတ်ဖို့ ဖွင့်လိုက်တိုင်း ပြန်ပြန် ပိတ်ပြီး အခြားဟာတွေ လုပ်ဖြစ်နေတယ်။ mywebfont ကို google app engine မှာ တင်တော့မယ်ဆိုတော့ java လား python လား ဆိုပြီး ရွေးရပြီ။ နဂို ဓာတ်ခံ java ကို အကြောင်း မရှိပဲ မကြိုက်တာဆိုတော့ python နဲ့ ရေးမယ်ဆိုပြီး ရေးလိုက်တာပဲ။ ဘာမှ ထွေထွေထူးထူး မလေ့လာထားဘူး။ google မှာ ရိုက်ရိုက်ပြီး ရှာသွားလိုက် ရေးလိုက် လုပ်သွားတာပဲ။ for loop ဘယ်လို ပတ်ရတယ်။ condition ဘယ်လို ရေးရလဲ ဆိုတာတွေကို google မှာ ရှာသွားတယ်။ တစ်ခါတစ်လေ php မှာ ဒီ function ကို python မှာ ဘယ်လို ရေးရမလဲမသိဘူး လို့ စဉ်းစားမိရင်လည်း google မှာ ရှာလိုက်တယ်။ ဥပမာ။ ။substr ကို python မှာ ဘယ်လိုရေးရမှန်းမသိဘူး။ php substr in python ဆိုပြီး google မှာရှာလိုက်တာနဲ့ လိုချင်တဲ့ အဖြေ တန်းရတယ်။ တနည်းပြောရင် php လေ့လာထားတာက python လေ့လာဖို့ကို လာပြီး အထောက်အကူ ပေးတယ်။ php ကိုသာ မေ့လိုက်ရင် python လေ့လာရတာဟာ ပိုခက်သွားလိမ့်မယ် ထင်တယ်။ တတ်ကျွမ်းထားတဲ့ language တစ်ခုကို မေ့ဖို့ကတော့ တော်တော်လေးကို ခက်ခဲပါတယ်။ မေ့ဖို့ မကြိုးစားပဲ လိုအပ်တဲ့ နေရာမှာ လိုသလို အသုံးချတတ်အောင် လုပ်ထားဖို့ပဲ လိုတယ်။

အတွေးအခေါ်

Django ကို လေ့လာရင်းနဲ့ စာရေးဆရာ ပြောထားတဲ့ အချက်လေးကို သဘောကျသွားတယ်။ Django မှာ ဒီလို ရေးတယ်။ ဟို framework မှာတော့ ဒီလို ရေးတယ်။ ဟို language မှာတော့ ဒီလိုသုံးတယ်ဆိုပြီး လိုက်တွေးနေဖို့ မလိုဘူး။ Django မှာ သုံးထားတဲ့ MVC နဲ့ CI မှာ သုံးထားတဲ့ MVC ပိုင်းတွေ မတူဘူး။ framework ကို ရေးထားတဲ့သူရဲ့ အတွေးအခေါ်မှာ မူတည်ပြီးတော့ framework တည်ဆောက်ပုံက ဖြစ်ပေါ်နေတာ။ ဥပမာ။။ Ava ရေးတုန်းက စဉ်းစားထားတဲ့ စဉ်းစားမှုမျိုးဟာ Django မှာ မပါသလို အချို့ အရာတွေက CI မှာ မပါဘူး။ ကိုယ့်လိုအပ်ချက်နဲ့ ကိုက်ပြီး ရေးထားတာ။ အဲလိုမျိုး Django ရေးထားတဲ့သူကလည်း သူလိုအပ်တယ်ထင်တာတွေကို ပေါင်းထည့်ထားတာပဲ။ CI လည်း အဲလိုပဲ။ fuelphp လည်း ကောင်းမယ်ထင်တဲ့ဟာတွေ ပေါင်းထည့်ထားတာပဲ။ ဒါကြောင့် ဘာက ပိုကောင်းတယ်ဆိုတာကို နှိုှင်းယှဉ်မယ့် အစား သူဘာကြောင့် ဒီလို သုံးရတာလဲဆိုတာကို နားလည်အောင် ကြိုးစားသင့်တယ်။ အဲဒီ အချက်လေးကို သဘောပေါက်သွားတာနဲ့ ရှေ့ဆက်လေ့လာဖို့ လမ်းတွေ အများကြီး ပွင့်သွားတယ်။ framework ရေးထားတဲ့သူရဲ့ အတွေးအခေါ်တွေ စဉ်းစားတဲ့ ပုံတွေကို framework တစ်ခုကို လေ့လာရင်းနဲ့ တွေ့နိုင်တယ်။ သူ ဘယ်အပိုင်းကို အားသန်တယ်။ ဘာကြောင့် ဒီလိုရေးရတာလဲ ဆိုတာကို ကြည့်ရင်းနဲ့ သဘောပေါက်လာလိမ့်မယ်။ အဲဒီလို သဘောမပေါက်ရင်တော့ လေ့လာရတာက တော်တော်လေးကို ခက်လိမ့်မယ်။

Django မှာ သုံးထားတဲ့ အပိုင်းလေးတွေက သဘောကျဖို့ ကောင်းတယ်။ CI နဲ့ လုံးလုံးကို မတူဘူး။ CI က ပေါ့ပါး အသုံးလွယ်ပြီး လွယ်လွယ်လေ့လာဖို့ ဦးစားပေးတယ်။ Django က စနစ်ကျပြီး ခိုင်ခံတဲ့ ဖွဲ့စည်းပုံကို ဦးစားပေးတယ်။ သူတို့ စဉ်းစားပုံကို သဘောမပေါက်ပဲ ကိုယ့်အတွေးအခေါ်ကသာ အမှန်ဆုံးလို့ ဆုတ်ကိုင်ထားရင်တော့ သူတို့ပြောချင်တဲ့ အရာကို သဘောပေါက်မှာ မဟုတ်တော့ဘူး။ သူတို့ ပေးချင်တဲ့ message ကို လက်ခံဖို့ ကိုယ့်မှာ ခွက်လွတ်တစ်လုံး အသင့်ရှိနေဖို့ လိုတယ်။ ကိုယ့် ခွက်က ပြည့်နေပေမယ့် နောက်ထပ် ခွက်တစ်ခုနဲ့ ထပ်ပြီး လက်ခံနိုင်အောင် ကြိုးစားလို့ ရပါသေးတယ်ဗျာ။ Django ကို လေ့လာရင်းနဲ့ သဘောပေါက်လာပြီး ပြီးရင်တော့ Node.js ကို လေ့လာဖို့ ဆန္ဒတွေ စောမိလေရဲ့။

7 Comments

  1. Ya I agree with the sense.When we need to learn something new we must empty first our back for the basically knowledge.

    Thanks
    (shared)

    1. saturngod says:

      no need to empty your background knowledge , just need another empty cup.

  2. rlay says:

    ကိုစေတန် ကျွန်တော်ရန်ကုန်ရောက်နေပြီ။ web essentials သင်တန်းတက်မလို့ကျောင်းအပ်ပြီးပြီဗျ။ ၈ သောင်း ၈ ထောင်ကုန်တယ်။

    1. saturngod says:

      great !! but training center can teach only basic of the basic. If you want more , learn yourself. Internet is your good friend and teacher.

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

  4. m0rRis says:

    most ppl are saying repetitively that we can’t learn two or three languages . Actually ofcourse we may can .

  5. rlay says:

    yes. i will attend in comming tuesday.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.