Concurrency နှင့် Parallelism ဘာကွာလဲ

ဒီ Concurrency နှင့် Parallelism ဆိုတဲ့ concept ကိုအတော်များများ နားလည်သလိုလို နားမလည်သလိုလိုဖြစ်တက်ကြလို့ သေချာရှင်းပြပါ့မယ်။ Concurrency နှင့် Parallelism ဆိုတာတွေကိုမျက်လုံးထဲမြင်အောင် အမြဲတမ်းသုံးတဲ့ စားသောက်ဆိုင် ဥပမာနှင့်ရှင်းပြမယ်။ chef တယောက်နှင့် စားပွဲထိုးတွေအများကြီးရှိတဲ့စားသောက်ဆိုတခုကိုမျက်လုံးထဲမြင်ကြည့်လိုက်မယ်။ Non-Concurrent (Single Task Execution) ဒီမှာ Chef ကတချိန်ထဲမှာ ဟင်းတမျိုးဘဲချက်နိုင်တယ်။ ဟင်းတမယ်ချင်ပီဆိုရင် အဲ့ဟင်းပီးမှနောက်ဟင်းတမျိုးကိုချက်တယ်။ ဒါက Non-Concurrent (Single Task Execution) Concurrency Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once. https://go.dev/blog/waza-talk ဒီမှာကြတော့ Chef ကဟင်းအိုးတအိုးတည်မယ်။ […]

Go concurrency အခြေခံစီးရီး

ဒီ Go Concurrency အကြောင်းမဖတ်ခင် စာဖတ်သူအနေနှင့် Go အခြေခံ syntax တွေ နှင့် language အခြေခံ သိထားပီးသားသူဖြစ်ရပါ့မယ်။ Golang ကိုအခုမှစလေ့လာမယ်ဆိုရင်တော့ ကျနော်တို့ဘာသာပြန်ထားတဲ့ Go by Example မြန်မာဘာသာ မှာမြန်မာလိုဖတ်ပီးလေ့လာနိုင်ပါတယ်။ Go concurrency အခြေခံကို နားလည်လွယ်တဲ့ article အတိုလေးတွေရေးပီးတော့ရှင်းပြပါ့မယ်။ ဒီမှာတချက်သတိထားရမှာက ကျနော်ကိုယ်တိုင်လဲ လေ့လာသင်ယူနေတုန်းဘဲဆိုတာပါ။ တကယ်လို့ကျနော်ရှင်းပြတဲ့အထဲမှာ လွှဲမှားနေတာတွေရှိတယ်ဆိုရင် comment မှာပြောပြပေးလို့ရပါတယ်။ ကျနော်လေ့လာထားတဲ့ resource source တွေကိုလဲ article တိုင်းရဲ့အောက်ဆုံးမှာ ပြန်လည်ဝေမျှသွားပါ့မယ်။

Range, Mean, Median, နှင့် Mode

ဒီနေ့ကျနော်ရေးမယ့်အကြောင်းအရာကတော့ range, mean, median နှင့် mode ဆိုတာဘာလဲ သူတို့ကိုဘယ်လိုတွက်ရလဲဆိုတာတွေကို ရေးသားဖော်ပြမှာဖြစ်ပါတယ်။ ဒီစကားလုံးတွေကို statistic course တွေတက်တဲ့အချိန်တွေမှာအတော်လေးအတွေ့များပီး စကားလုံးတွေက ခပ်ဆင်ဆင်ဖြစ်ပီးတော့ confuse ဖြစ်ဖြစ်သွားတက်လို့သေချာမှတ်ထားပီး YGNCode ကစာဖတ်သူတွေအနေနှင့်လဲ စိတ်ဝင်စားတယ်ဆိုရင် မြန်မာလိုလွယ်လွယ်ကူကူဖတ်နိုင်အောင်ရေးသားလိုက်ပါတယ်။ Range, Mean, Median နှင့် Mode ဆိုတာတွေကတနည်းအားဖြင့် Average မျိုးကွဲတွေလို့ပြောလို့ရမယ်။ ဒါဆို Average ဆိုတာဘာလဲ… မြန်မာလိုဆို ပျမ်းမျှ ဆိုပီးသုံးကြတယ်။ ပုံမှန် average အကြောင်းပြောတာတွေစဥ်းစားကြည့်မယ်ဆိုရင် average tempature (ပျမ်းမျှ အပူချိန်), average rainfall (ပျမ်းမျှမိုးရွာသွန်းမှု) ဆိုပီးသုံးကြတယ်… နောက်ထက် average ကို data အများကြီးကိုကိုယ်စားပြုတဲ့အချိန်တွေမှာလဲသုံးကြတယ်။ ဥပမာကိုတချက် ကြည့်ကြည့်ရအောင်။ ထားပါတော့ ကိုယ်အားပေးတဲ့ဘောလုံးအသင်း […]

1971. Find if Path Exists in Graph

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1971. Find if Path Exists in Graph ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ ဒီ problem ကိုမရှင်းခင် Graph ကိုသိထားရပါ့မယ်။ Graph မသိသေးဘူးဆိုရင် ဒီမှာ ကျနော်တို့ရေးထားတဲ့ article ရှိပါတယ်။ Graph မသိဘဲဖတ်ရင်နားလည်ဖို့ရာအတော်ခက်ပါလိမ့်မယ်။ မေးခွန်းကိုတချက်ကြည့်လိုက်မယ်ဆိုရင် n vertices ပါတဲ့ bi-directional graph ပေးထားမယ်။ graph မှာပါတဲ့ edges တွေကို 2D integer aray အနေနဲ့ပေးမယ်။ vertex pair တိုင်းက edge တခုနဲ့အများဆုံး connected လုပ်ထားမယ်။ no vertex […]

အထင်နှင့် အမြင်

တော်တော်များများကို data/number တွေနှင့်ကြည်တက်တဲ့အကျင့်တခုရှိဖို့ အရေးကြီးတယ်ဆိုတာကို အထင်နှင့် အမြင် ဆိုတဲ့ခေါင်းစဥ်နှင့် ပြန်လည်ဝေမျှလိုက်ပါတယ်။ Programmer/Software Engineer စကာစ လူငယ်တွေက တခုခုဆိုထင်တိုင်းလုပ်တက်ကြတယ်။ ကျနော်အလုပ်စလုပ်ကာစတုန်းကလဲ ကိုယ်တိုင်လဲ အဲ့လိုထဲပါတယ်ပြောလို့ရတယ်။ ဘယ်လိုအထင်နှင့် လုပ်တာလဲဆိုရင် ထားပါတော့ ရုံးမှာ Marketing Campaing တခုရှိတယ်ဆိုရင် အဲ့ campaing ကပေါက်ရင် traffic အများကြီးလာမှာ။ ဘယ်လောက်များမှာလဲတော့မသိဘူး။ ကိုယ့်အထင်နဲ့ကိုယ် 100K users တွေလာတယ်ဆိုရင် Load Balancer နောက်မှာ EC2 20 လောက်နဲ့မှ အဆင်ပြေမယ်ထင်တယ်ဆိုပီးတော့ EC20 လောက်တခါထဲဖွင့်ပီး auto scale တွေဘာတွေထည့်တာပေါ့။ ဒါကအထင်နှင့်လုပ်တာ။ အထင်နှင့်လုပ်တော့ဘာဖြစ်လဲ မသေချာဘူး။ တကယ့် result နှင့် similar တောင်ဖြစ်ချင်မှဖြစ်တယ်။ ကျနော်တို့ဥပမာမှာဆို မလိုအပ်ဘဲပိုက်ဆံကုန်မယ်။ […]

စကားပြော ယဥ်ကျေးမှု

ကျနော်အလုပ်လုပ်တာအတွေ့အကြုံတော်တော်လေးများလာပီ အဲ့ထဲက လုပ်ငန်းခွင် ယဥ်ကျေးမှု (အထူးသဖြင့် communication) နှင့်ပတ်သတ်တာလေး သိသင့်တယ်ထင်တာလေးတွေကို ပြန်လည်မျှဝေလိုက်ပါတယ်။ ကျနော်တို့မြန်မာလူမျိုးတော်တော်များများက စကားပြောယဥ်ကျေးကြပါတယ်။ အနည်းဆုံးရိုင်းတဲ့အထဲတော့မပါတာများပါတယ်။ မြန်မာမှာအလုပ်လုပ်တဲ့အချိန်မှာ ကျနော့်အတွေ့အကြုံတွေအရအားလုံးက စကားပြောရတာ တဦးကိုတဦးလေးစားပီးတော့ အဆင်ပြေတာများတယ်။ အဲ့ကနေ ကျနော် SG ပြောင်းတော့လဲ တော်တော်များများကအဲ့လိုပါဘဲ။ ဒါပေမယ့် တချို့နိုင်ငံကလူတွေက culture မတူတော့ စကားပြောတာနည်းနည်းရိုင်းတယ်လို့ ခံစားရတယ်။ သိတဲ့အတိုင်း SG ကလူမျိုးပေါင်းစုံ နိုင်ငံပေါင်းစုံကလူတွေ သူ့နေရာနှင့်သူ level တခုအတွေ့အကြုံတခုရှိပီး ရောက်လာကြတာ။ တချို့ဆိုသူ့နိုင်ငံမှာဆရာကြီးပေါ့။ အဲ့လိုလူပေါင်းစုံတွေနှင့်အလုပ်လုပ်တဲ့အခါမှာ စကားပြောဆိုတာ deal လုပ်တာတွေကအတော်လေးကိုအရေးပါတယ်။ Miscommunication ဖြစ်ဖို့ရာလဲလွယ်တယ်။ ကျနော်ကြုံခဲ့ဖူးတဲ့ထဲမှာဆို တချို့စကားပြောတာ တွေက ဘာမှမဟုတ်ဘဲတခါတလေ ရိုင်းတယ်လို့ခံစားရတာလေးတွေရှိတယ်။ ဥပမာ မင်းဒီဟာကျန်နေသေးတယ်နော်လို့ ကိုယ်ကသတိပေးလိုက်တာ၊ ကိုယ့် CTO ကသတိပေးလိုက်တာကို အောက်ကသူက […]

ကွန်ပျူတာ Power Button ကိုနှိပ်လိုက်တဲ့အချိန်ကနေ OS တက်လာတဲ့အထိ ဘယ်လိုအလုပ်လုပ်သွားလဲ

ဟိုတလောကဘယ်ကနေဘယ်လိုတွေးမိတယ်မသိပါဘူး ကွန်ပျူတာဆိုတာ 0/1 တွေနဲ့သွားနေတာဒါပေမယ့်အဲ့ 0/1 မတိုင်ခင်ကကောဘာလဲဆိုပီးစဥ်းစားရာကနေ ကွန်ပျူတာကိုစဖွင့်တဲ့အချိန်ကနေ OS တက်လာတဲ့အထိဘယ်လိုအလုပ်လုပ်လဲဆိုပီးလိုက်ရှာဖတ်ကြည့်မိတယ်။ ကျနော်လေ့လာမိသလောက်ပြန်လည်ဝေမျှလိုက်ပါတယ်။ ကွန်ပျူတာကို Power စပေးလိုက်ပီဆိုတာနဲ့ Power Supply Unit(PSU) စီကိုလျှပ်စစ်စီးသွားတယ်။ အဲ့ကနေမှ AC ကနေ DC ပြောင်းပေးတယ်။ ဘာလို့ဒီလိုပြောင်းဖို့လိုတာလဲလိုက်ကြည့်တော့ DC ရဲ့ voltage ကပိုငြိမ်တယ် အထဲက circuits တွေနဲ့ပိုအဆင်ပြေတယ်ဆိုပီးတွေ့တယ်။ PSU စီကနေမှ Motherboard စီကိုရောက်တယ်။ PSU စီကနေ Power Good Signal ကို Motherboard ရောက်လာမယ် အဲ့ကနေမှ motherboard ကို attach လုပ်ထားတဲ့ကျန်တဲ့ကောင်တွေစီကို Power ရောက်မယ်။ Motherboard ပေါ်မူတည်ပီးတော့ BIOS (Basic Input/Output System)/UEFI […]

1291. Sequential Digits

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1291. Sequential Digits ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ ကျနော်တို့မေးခွန်းကိုတချက်နားလည်အောင်ကြည့်လိုက်ရအောင်။ သူကပထမဆုံး sequential digits ကိုရှင်းပြထားတယ် ရှေ့ကနံပါတ်ထက်နောက်ကနံပါတ်ကပိုကြီးမှ sequential digits ဖြစ်တယ်ဆိုပီးရှင်းပြထားတယ်။ သူလိုချင်တာက [low, high] ကြားက sequentails digits တွေကို return ပြန်ပေးပါတဲ့ အဲ့ပြန်လာတဲ့ကောင်တွေက sorted ဖြစ်နေရပါမယ်တဲ့။ ဥပမာတွေကလဲရှင်းပါတယ် 100 နှင့် 300 ကြားက sequentials တွေက 123, 234။ အောက်မှာအဖြေကိုတချက်ကြည့်ကြည့်ရအောင်။ အဖြေမကြည့်ခင်ကိုယ်ပိုင် ကြိုးစားပီးဖြေကြည့်ဖို့အကြံပေးလိုပါတယ်။ ဒီကောင်ကိုဖြေဖို့ ကျနော်စဥ်းစားမိတာလေးတွေတချက်ပြန် ရှယ်ပါ့မယ်။ ဥပမာကိုကြည့်လိုက်တော့ 100 ကနေ […]

2966. Divide Array Into Arrays With Max Difference

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက Divide Array Into Arrays With Max Difference ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက ကျနော်တို့ကို nums ဆိုတဲ့ integer array ရယ် k ဆိုတဲ့ integer တခုပေးထားမယ်။ နောက်ဆက်ပီးတော့ပြောထားတာက လိုအပ်ချက်သုံးခုပေးထားမယ် အဲ့အချက်တွေနှင့်ညီတယ်ဆိုရင် array element သုံးခုပါတဲ့တခုအဖြစ် group လုပ်ပီးတော့ 2D array အဖြစ်ပြန်ပေးရမယ်။ သူလိုအပ်တယ်ဆိုတဲ့အချက်သုံးချက်က… ၁. Each element of nums should be in exactly one array. – […]

739. Daily Temperatures

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။ ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 739. Daily Temperatures ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။ မေးခွန်းက temperatures ဆိုတဲ့ daily temperature ဖြစ်တဲ့ array တခုပေးထားမယ်။ သူလိုချင်တာက လက်ရှိထက်ပိုပူတဲ့အပူချိန်ရောက်ဖို့ ဘယ်လောက်စောင့်ရမလဲဆိုတာ၊ တကယ်လို့ နောက်ရက်တွေမရှိတော့ဘူးဆို 0 ထားလိုက်တဲ့။ ဥပမာတခုကိုအရင်ကြည့်လိုက်ရအောင် သူပေးထားတဲ့ temperatures တွေထဲမှာ 73 ဖြစ်တဲ့ရက်နောက်နေ့မှာ 74 ဆိုတော့ပိုပူတယ်။ အဲ့တော့ 1 ရက်အတွင်းဖြစ်တဲ့အတွက် 1။ အပူချိန် 75 ဖြစ်တဲ့ရက်ကိုကြည့်လိုက်တဲ့အချိန်မှာ 76 ရောက်တဲ့နေ့ထိဆို 4 ရက်ကြာတယ်။ 71 ဖြစ်တဲ့ရက်ဆိုပိုပူတဲ့ရက်ရဖို့ 2 ရက်ကြာတယ်။ နောက်ဆုံး […]