Knowledgebase

  • Basecamp မှာ အဓိက ပြဿနာက tasks list အကုန်လုံးကို တစ်နေရာတည်းမှာ ကြည့်မရတာပဲ။ ဒါပေမယ့် API အပြည့်အစုံပေးထားတော့ ကိုယ့်ဘာသာကိုယ် python နဲ့ ရေးပြီး ထုတ်လိုက်တယ်။ Basecamp API မှာ ပြဿနာ နောက်တစ်ခုက အဆင့်ဆင့် ထုတ်နေရတာပဲ။ Projects အားလုံးထဲက todo setname ကို ရှာရတယ်။ setname ကနေ တဆင့် todo sets ကို ယူရတယ်။ ပြီးမှ todo တွေကို ဆွဲထုတ်လို့ရတယ်။ code ကတော့ ခက်ခက်ခဲခဲ မဟုတ်ပေမယ့် API ကို နားလည်အောင် အချိန်ပေးပြီး ဖတ်လိုက်ရတယ်။ https://github.com/saturngod/basecamp3-getall-incomplete-todo မှာ ကျွန်တော် code ကို တင်ထားပါတယ်။…

  • Regular Expression ကို စသိခဲ့တုန်းက email validation မှာ စသိခဲ့တယ်။ Regular Expression ကို သေသေချာချာ နားမလည်ခဲ့ဘူး။ နားလည်အောင် လုပ်ဖို့လည်း သိပ်ပြီး မလွယ်လှဘူး။ Programming စာအုပ်တော်တော်များများ သင်တန်းတော်တော်များများမှာ regular expression ကို သီးသန့် အနေနဲ့ ပါဝင်တာ အတော်ရှားပါတယ်။ MZ forum ကို ပြောင်းဖို့ Zawgyi to Unicode converter စရေးတော့ regular expression က မဖြစ်မနေ လိုအပ်လာတယ်။ အဲဒီအချိန်က စပြီး regular expression ကို သဘောကျမိခဲ့တယ်။ Swift နဲ့ Markdown Editor တစ်ခု အတွက် syntax highlighter…

  • Scalability ဆိုတာကတော့ လက်ရှိ ရှိနေသည့် system ကို scale လုပ်လို့ရအောင် လုပ်ထား တယ်လို့ ဆိုနိုင်ပါတယ်။ Scale လုပ်တယ်ဆိုတာက လက်ရှိ လူ ၁၀ ယောက်လောက် သုံးနေချိန်မှာ server အသေးပဲ လိုပေမယ့် လူ အယောက် ၁ သန်း သုံးသည့် အချိန်မှာတော့ လက်ရှိ server နဲ့မရတော့ပါဘူး။ Horizontal Scale , Vertical Scale Scaling လုပ်သည့် အပိုင်းမှာ ၂ မျိုး ရှိပါတယ်။ Horizontal လုပ်မလား Vertical လုပ်မလား ဆိုပြီး ရှိပါတယ်။ Vertical ကတော့ လက်ရှိ ရှိနေသည့် server spec ကို တိုးလိုက်တာပါ။…

  • Laravel မှာ asset ကို သုံးသည့် အခါမှာ အဓိက ပြဿနာက https ဆိုရင် အကုန်အလုပ်မလုပ်တော့တာပဲ။ ဒါကြောင့် https ကို support ဖြစ်အောင် အောက်ကလို ပြင်လို့ရပါတယ်။ ပထမဆုံး .env မှာ HTTPS = true ဆိုပြီး ထည့်လိုက်ပါ။ app/Providers/AppServiceProvider.php က boot မှာ URL::forceScheme('https'); ကို ထည့်ဖို့ လိုပါတယ်။ public function boot() { if (env('HTTPS')) { URL::forceScheme('https'); } } ဒါဆိုရင် .env မှာ HTTPS ကို true ဖြစ်ရင် https ကို သုံးပြီးတော့ မဟုတ်ခဲ့ရင်တော့…

  • ရန်ကုန်ပြန်ရောက်ပြီး ကိုယ်ပိုင် လုပ်ငန်းစလုပ်တော့ အဓိက ပြဿနာက အလုပ်မှာ လိုအပ်သည့် နေရာတွေ အတွက် လူခန့် ဖို့ ခက်သည့် ပြဿနာ ကို ကြုံရတယ်။ ကျွန်တော်တို့ company မှ မဟုတ်ပါဘူး။ ရန်ကုန်က နေရာတိုင်း နီးပါးမှာ လိုချင်သည့် လူ မရဘူး ဆိုတာကို ကြားနေရတယ်။ ကျွန်တော်တို့ company ကို junior တွေ အလုပ်လျှောက်ကြပါတယ်။ သို့ပေမယ့် အတွေ့အကြုံ လုံးဝ မရှိသေးဘူးသည့် သူတွေကို အချိန်ပေးပြီး မသင်ပေးနိုင်ပါဘူး။ startup တွေ အနေနဲ့ junior developers တွေကို အချိန်ပေးပြီး သင်မပေးနိုင်ကြပါဘူး။   လုပ်ငန်းအတွေ့အကြုံ လုပ်ငန်း အတွေ့အကြုံဆိုတာကတော့ ဘယ် company မှာ…

  • PHP 7 မှာ mcrypt ကို သုံးလို့ မရတော့ပါဘူး။ mcrypt အစား openssl_encrypt, openssl_decrypt ကို ပြောင်းသုံးဖို့ လိုပါတယ်။ သို့ပေမယ့် mcrypt နဲ့ encrypt လုပ်ထားတာတွေကို openssl_decrypt နဲ့ ပြန်ဖြည်ရင် အဆင်မပြေ သလို openssl_encrypt နဲ့ လုပ်ထားရင် mcrypt_decrypt နဲ့ ပြန်ဖြည်ရင် လွဲနေတာတွေ ရှိပါတယ်။ အဓိကကတော့ padding ပုံစံ ကွာသွားလို့ပါ။ ဒါကြောင့် system အဟောင်းတွေ မှာ အဆင်ပြေအောင် မူရင်း စာ ကို padding ထပ်ဖြည့်ပေးဖို့လိုပါတယ်။   <?php function aes_128_encrypt($message,$key,$iv) { $message_padded = $message; if…

  • Docker ကို သိတာကတော့ ကြာပြီ။ သုံးဖြစ်လိုက်။ မသုံးဖြစ်လိုက်နဲ့ ၊ သေသေချာချာ မသုံးဖြစ်မိဘူး။ အခုလတ်တလော လုပ်နေသည့် project တစ်ခုက python 2.7 နဲ့ ရေးရမယ်။ C++ code တွေ compile လုပ်ရမှာတွေ ရှိတော့ linux ကို မဖြစ်မနေ သုံးပြီး ရေးမှရမယ့် သဘောဖြစ်လာတယ်။ လက်ရှိ mac မှာ setup လုပ်ရင် ရပေမယ့် မလိုအပ်တာတွေ အများကြီး သွင်းရမှာစိုးလို့ docker ကို မဖြစ်မနေ သုံးဖြစ်တယ်။ Virtual Machine နဲ့မရဘူးလား ဆိုတော့ ရပေမယ့် hard disk space က နေရာ အများကြီးပေးရတယ်။ Machine တစ်ခု…

  • English နံပတ်တွေကို မြန်မာ နံပတ် ပြောင်းတာ swift နဲ့ ရေးကြည့်ပြီးတော့ kotlin အတွက် ပြန်ပြီး ရေးကြည့်ပါတယ်။ Kotlin နဲ့က ပိုရှင်းပြီး လွယ်တယ်။ အထူးသဖြင့် character ကို unicode number ပြောင်းရတာ အရမ်းကို ရှင်းပါတယ်။ fun getMMNumber(eng: String): String { try { eng.toDouble() //it's digit var mm = "" eng.toCharArray().map { char -> if (char.toInt() >= 48 && char.toInt() <= 57) char.toInt() + 4112 else char.toInt()…