SSH login with key

ပုံမှန် SSH ကို login ဝင်ရင် ကျွန်တော်တို့တွေ password ကို အသုံးပြုကြပါတယ်။ Password ကို အသုံးမပြုပဲ လက်ရှိ device ဆိုရင် အလိုအလျောက် login ဝင်လို့ရအောင် ဖန်တီးနိုင်ပါတယ်။ ကျွန်တော်တို့တွေ အနေနဲ့ ပထမဆုံး ssh key တစ်ခု ဖန်တီး ဖို့ လိုပါတယ်။ ssh-keygen ဆိုပြီး terminal မှာ ရိုက်လိုက်ပါ။ Mac နှင့် Linux အတွက် အဆင်ပြေပေမယ့် Windows မှာဆိုရင်တော့ putty အသုံးပြုရလိမ့်မယ်။ အဲဒီ အခါမှာ ~/.ssh/ ထဲမှာ id_rsa.pub နဲ့ id_rsa file ၂ ခု တွေ့ရပါလိမ့်မယ်။ id_rsa.pub ကတော့…More

OpenSSH Private Key to RSA Private Key

ssh-keygen လုပ်လိုက်ရင် ထွက်လာတာက OpenSSH Private Key ဖြစ်နေတယ်။ Mac OS Mojave မှာ စပြီးပြောင်းသွားတာနဲ့ တူတယ်။ RSA Private key မဟုတ်တော့ SFTP , SSH တွေ ချိတ်မရတော့ဘူး။ အဓိကပြဿနာက OpenSSH Private Key ဖြစ်နေတာ ဖြစ်နေတာကြောင့်ပါ။ အကယ်၍ SFTP ကို key နဲ့ ချိတ်မရရင် RSA private key ပြန်ပြောင်းဖို့ လိုပါတယ်။ ပြောင်းဖို့က ssh-keygen -p -m PEM -f ./tpay_productionMore

Blockchain

Blockchain ဆိုတာ ဘာလဲ သိချင်လို့ ဖတ်ကြည့်တော့ Block Chain နှင့် distributed ledger မတူဘူး ဆိုတာကို နားလည်လာတယ်။ Blockchain ကတော့ ရိုးရိုးရှင်းရှင်းလေးပါပဲ။ Block တစ်ခု နဲ့ တစ်ခု ကို ချိတ်ဆက်ထားသည့် သဘောလေးပါပဲ။ Block တိုင်းမှာ hash တစ်ခုပါတယ်။ နောက်ပြီး အရှေ့ဘက်က hash ပါရှိတယ်။ idea လေးက ရိုးရှင်းပြီး တကယ်ကို အသုံးဝင်ပါတယ်။ crypto currency တွေဖြစ်သည့် bitcoin, ethereum အကြောင်းကိုတော့ ထည့်ပြီး မပြောတော့ပါဘူး။ Code လေးကို တစ်ချက်လောက်ကြည့်ကြည့်ရအောင် class Block { public $data = array(); public…More

Active User Count By Date in Mongodb

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 >=…More

Rabbit And Chicken Count

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

Get All Todos List from Basecamp 3

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 ကို တင်ထားပါတယ်။…More

Regular Expression

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

Scalability

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