Scalability

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

https with laravel

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 ကို သုံးပြီးတော့ မဟုတ်ခဲ့ရင်တော့ […]

To fresh graduate developers

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

Replacement of mcrypt in PHP

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

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

English Number to Myanmar Number (Kotlin)

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() […]

English Number to Myanmar Number (Swift)

English နံပတ်ကနေ မြန်မာ နံပတ်ကို ပြန်ပြောင်းဖို့အတွက် အတိုဆုံး ပုံစံ နဲ့ ဘယ်လို ရေးလို့ ရမလဲဆိုပြီး စမ်းကြည့်ထားတာပါ။ Code var eng = 890 var k = "\(eng)".map { UnicodeScalar(String($0))!.value + 4112 }.reduce("") { "\($0)\(String(Character(UnicodeScalar($1)!)))" } print(k) Swift မှာ အဆင်ပြေတာက reduce က ပထမဆုံး အခန်းကနေ စတယ်။ reduce("") ဖြစ်သည့်အတွက် previous value က empty string ပဲဖြစ်နေသေးတယ်။ အကယ်၍ အနှုတ် ၊ဒဿမ တွေ ပါလာရင်တော့ var k = "\(eng)".map […]

Map Reduce

Map Reduce ကို ပထမဆုံး သိခဲ့တာကတော့ Mongodb မှာပါ။ သို့ပေမယ့် အစိမ်းသပ်သပ်ကြီး ဖြစ်နေသည့် အတွက်ကြောင့် ချက်ခြင်း နားမလည်ခဲ့ဘူး။ နောက်ပြီး ဘယ်လို အသုံးပြုရမလဲဆိုသည့် Logic လည်း မရှိခဲ့ဘူး။ Map Reduce ဆိုပေမယ့် အများအားဖြင့် filter , map , reduce ဆိုပြီး တွဲသုံးကြတာ များပါတယ်။ Map Reduce ကို နားလည်လွယ်ဆုံး ပုံစံကတော့ ကျွန်တော်တို့မှာ ရှိသည့် data တွေကို လိုချင်သည့် ပုံစံရအောင် map လုပ်ပါတယ်။ ပြီးရင် data တွေ အကုန်လုံးကို ပေါင်းလိုက်ပြီးတော့ နောက်ဆုံး တကယ်ရလိုသည့် result ကို ထုတ်ပါတယ်။ ကျွန်တော်တို့ […]