Knowledgebase

  • Active user ကို သိချင်သည့် အခါမှာ user app ကို login ဝင်တိုင်း log မှတ်ပါတယ်။ id user_id created_at 1 1 2019-04-12 2 1 2019-04-13 3 2 2019-04-12 4 2 2019-04-13 5 3 2019-04-13 6 4 2019-04-13 7 4 2019-04-13 8 1 2019-04-13 9 3 2019-04-13 MySQL အရ အောက်ပါ အတိုင်း ရေးပါတယ်။ SELECT COUNT(DISTINCT user_id),created_date From login_user where created_date >=…

  • ကျွန်တော်တို့ COMQUAS ရုံးမှာ programming ပွဲမှာ မေးခဲ့သည့် ပုစ္ဆာ တစ်ခုပါ။ ယုန် နှင့် ကြက် စုစုပေါင်း ခေါင်း ၃၅ ခေါင်း နှင့် ခြေ ၉၄ ချောင်း ရှိတယ်။ ယုန် ဘယ်နှစ်ကောင်လဲ။ ကြက် ဘယ်နှစ်ကောင်လဲ။ နောက်ပြီး error handling ပါ ထည့်သွင်းဖို့ လိုပါတယ်။ code မရေးခင်မှာ equation တွက် ဖို့ လိုပါတယ်။ ဒါဆိုရင်တော့ ယုန် ဘယ်နှစ်ကောင် ကြက် ဘယ်နှစ် ကောင် အတွက် equation ထွက်လာပါပြီ။ Error handling အတွက် result က အနှုတ် ဖြစ်လို့ မရပါဘူး။ နောက်ပြီးတော့ စားသည့်…

  • 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…