IdeaFresh

IdeaFresh Let's share the Idea!!

ကျွန်တော်တို့ String တွေကို upper case ကနေ lower case ပြောင်းတဲ့အခါမှာ built-in function တွေ သုံးရင်သုံး,မသုံးရင် ascii ...
19/02/2023

ကျွန်တော်တို့ String တွေကို upper case ကနေ lower case ပြောင်းတဲ့အခါမှာ built-in function တွေ သုံးရင်သုံး,
မသုံးရင် ascii value တွေ ပေါင်းပြီး ပြောင်းကျတယ်
ဒီနေ့တော့ bitwise operator တွေကိုပဲ သုံးပြီးပြောင်းမှာပါ

ပထမဦးဆုံး ကာရိုက်တာတွေအတွက် binary form ကိုချရေးကြည့်ရအောင်

Character Binary

'A' 01000001
'a' 01100001

'B' 01000010
'b' 01100010

'C' 01000011
'c' 01100011

Upper case နဲ့ Lower case ကြားမှာ 5th ကြိမ်မြောက် bit တစ်ခုပဲကွာနေတာပါ

ဒါကြောင့်မလို့ upper characterကရဲ့ 5th bitကို 1 အဖြစ်ပြောင်းနိုင်ရင် lower case ရမှာပါ

သူ့ကို အောက်က mask တပ်ပြီး ပြောင်းနိုင်ပါတယ်

mask = 1 0

___

array ထဲမှာ element တိုင်းက 2 ကြိမ်ပါတယ် ဒါပေမဲ့ element တစ်လုံးက 1 ကြိမ်ပဲပါတယ် အဲ့ element ကိုလိုချင်တယ် ဆိုပါစို့

Array = {5,6,7,6,5,7,8,9,9}

Array ထဲမှာ တစ်ကြိမ်ထဲပါတာ 8 ဆိုတဲ့ integerပဲဖြစ်ပါတယ်
ကျန်တာက 2 ကြိမ်စီပါတယ်
8 ကိုဘယ်လိုရှာမလဲ?
sorting စီပြီးသွားမလား mapping လုပ်ပြီး count တိုးသွားမလား
ဖြေရှင်းလို့ရတဲ့နည်းအမျိုးမျိုးရှိတယ်
sorting စီမယ်ဆိုရင်တောင် time မှာ O(nlogn) ကြာပြီး space ကO(n) ကုန်နေပြီ
ဒါပေမဲ့ ^ operator ကိုသုံးပြီး ဖြေရှင်းလို့ရတယ်
Time ဘက်ကကြည့်ရင် O(n)
Space ဘက်ကကြညိ့ရင် O(1)ပဲကုန်မယ်
အောက်ကလိုမျိုးလုပ်မှာပါ

int uniqueInteger(int[] array){
int x=0;
for(int i=0;i

13/10/2022

Hashing တွေ အကြောင်း စုံစုံလင်လင် ရေးထားတာလေးပါ။ ဖတ်ပြီး ဝေဖန်ပေးကြပါဦး။

https://ideafresh.me/blog/hashtable

06/10/2022

ကာလနဂါး ဟာ တစ်ခါပျောက်သွားရင် ငါးလ လောက် ကြာသတဲ့။ အခုတော့လည်း ပျောက် ဖော်ပျောက်ဖက် လေး တစ်ယောက်နဲ့ ပြန် ပေါ်လာသတဲ့။

သူကတော့ Ideafresh ရဲ့ editor အသစ် Sai La Min Oak ပါပဲ။ သူကတော့ CS Students တွေ ကြောက်ကြတဲ့ data structures တွေ Algorithm တွေကို လူတိုင်း နားလည်လွယ်အောင် ပြန်လည် ရေးတတ်တဲ့ သူပဲ ဖြစ်ပါတယ်။ ကျွန်တော်တို့ရဲ့ ပုံမှန်နေ့စဉ် ရေးနေကျ ပုံစံတွေမှာ data structures နဲ့ algorithm တွေကို သိပ်ပြီး အသုံးမပြုပဲ ရေးလည်း အဆင်ပြေနေတာကြောင့် အသုံး မလိုဘူး လို့ ထင်ရပေမဲ့ တစ်ချို့နေရာတွေမှာ data structure တစ်ခုခု သုံးလိုက်လို့ optimize ဖြစသွားတာတွေ algorithm တွေ သုံးလိုက်လို့ complexity နည်းသွားတာတွေ ဖြစ်နိုင်ပါတယ်။ ဒီလိုမျိုး အကြောင်းအရာတွေကို အဓိက ထားပြီး ရေးပေးသွားမှာမို့ ဝိုင်းဝန်း ကြိုဆို ပေးကြစေလိုပါတယ်။

သူ့ရဲ့ ပထမ ဆုံး article ကတော့

https://ideafresh.me/blog/datastructure

ကြိုက်နှစ်သက်တယ် ဆိုရင် like & share လုပ်ပေးသွားပါဦးဗျ။

02/05/2022

Dependency Injection ဆိုတာ အလွယ်ပြောရရင် Class A နဲ့ Class B ရှိတယ်ဆိုပါစို့။ Class A က Class B ရဲ့ method တစ်ခု ကို သုံးချင်ရင် အဲ့ Class ကို Object အရင်ဆောက်ရတယ်။ ပြီးမှ ခေါ်သုံးလို့ရတယ်။ အဲ့ဒီအခါမှာ Class A က Class B ပေါ် dependent ဖြစ်သွားတယ်။

https://ideafresh.me/blog/what-is-dependency-injection

01/05/2022

Hello အားလုံးပဲ မင်္ဂလာပါ။

အားလုံးထဲမှာ စာသာလုပ်နေတာ မမှတ်မိတဲ့သူတွေ ရှိလား။ ကျွန်မ ကတော့ ခဏခဏ မေ့တတ်တယ်။ အခုတော့ အရင်လို မမေ့တော့ဘူး။ အဲ့ဒီလို ဖြစ်ချင်လား။ အဲ့ဒါဆို အောက်ကနည်းလေး တွေက အထောက်အကူ ဖြစ်မှာပါ။

https://ideafresh.me/blog/tips-for-memorizing

24/04/2022

အဟောင်းတွေ ပဲပြန်တင်ထားတယ်။ ဒါတောင် နည်းနည်း ကျန်သေးတယ်။ နောက်ရက်တွေ မှ အသစ်တွေ ကော အဟောင်းတွေကော သေချာရေးထားပေးမယ်။

https://ideafresh.me/

16/04/2022

Ideafresh ရဲ့ ပထမ ခြေလှမ်း အနေနဲ့ articles တွေကို facebook မှာ စရေးဖြစ်ခဲ့တယ်။ ဒါပေမဲ့လည်း ရေးဖြစ်လိုက် မရေးဖြစ်လိုက်ပါပဲ။ ကြားထဲမှာလည်း ကိစ္စ အမျိုးမျိုးကြောင့် ဆက် မရေးချင်တော့ပဲ နားခဲ့တာတွေလည်း ရှိတယ်။ ပြန်ရေးရင်ကောင်းမလား မရေးပဲနေလိုက်ရတော့မလား စဥ်းစားရင်းနဲ့ပဲ မရေးဖြစ်ပဲ ကြာနေတော့တာ။ ရေးချင်တဲ့ ရည်ရွယ်ချက် က ကျွန်တော်တို့ myanmar developer community မှာ myanmar content နဲ့ sharing လုပ်ကြတာ အားနည်းကြတယ်။ အဲ့ဒီတော့ ကျွန်တော်တို့ရဲ့ articles တွေက အထောက်အပံ့ တစ်ခုခု ၊ idea တစ်ခုခု ပေးနိုင်ခဲ့ရင် မဆိုးပါဘူးပေါ့လေ။ ဒါပေမဲ့လည်း facebook လို platform မှာက articles တွေထဲမှာ code sample တွေ ထည့်တာတို့ ပုံတွေထည့်တာတို့ လုံးဝ အဆင်မပြေဘူး။ ရေးရတာ စိတ်တိုင်းမကျဘူး။ အဲ့ဒါကြောင့် လည်းပါတယ်။ ဒီလိုနဲ့ ဒီ second step ဆိုတာ ဖြစ်လာတာပဲ။ ပုံမှန်လေး ရေး ဖြစ်အောင်တော့ ကြိုးစားရဦးမှာပေါ့ဗျာ။ အဲ့ဒါကြောင့်မို့လည်း အားပေးကြပါဦးလို့။

Click to Donate နှင့်ပတ်သက်ပြီး သိသင့်သော tips များClick to Donate ဆိုတာ ဘာလဲ။Click to Donate ဆိုတာ နှိပ်ရုံနဲ့ အခမဲ့ လှ...
05/09/2021

Click to Donate နှင့်ပတ်သက်ပြီး သိသင့်သော tips များ

Click to Donate ဆိုတာ ဘာလဲ။
Click to Donate ဆိုတာ နှိပ်ရုံနဲ့ အခမဲ့ လှူလို့ရမဲ့ link လေးတွေကို နေ့တိုင်းပို့ပေးနေတဲ့ Telegram channel တွေ ဖြစ်ပါတယ်။ ဒီ link တွေကို url shortener service တွေကနေ generate လုပ်ထားတာဖြစ်ပါတယ်။ url shortener service ဆိုတာကတော့ မူရင်း ရှည်လျားတဲ့ link တစ်ခုကို တိုတောင်းတဲ့ link တစ်ခု ဖြစ်အောင်ပြောင်းပေးတဲ့ service ဖြစ်ပါတယ်။ အဲ့ဒီလိုပြောင်းတဲ့ အခါမှာ မူရင်း link ဆီ တိုက်ရိုက် မသွားပဲ ကြော်ငြာခံခြင်း ဖြင့် ပိုက်ဆံရတယ်။ ဒီ service သုံးတဲ့လူတွေကို လည်း လူ အယောက် တစ်ထောင် click ရင် ဘယ်လောက်နှုန်းဆိုပြီး ပိုက်ဆံ ပြန်ပေးပါတယ်။အခု ဒီမှာ အသုံးများကြတဲ့ service တွေကတော့ Ouo.io ၊ adshort(.)co ၊ linksly.co ၊ za(.)gl ၊ shrinke(.)me ၊ adshrink.it တေွ​​​ဖြစ်ပါတယ်။ နှုန်းတွေကတော့ service တွေပေါ်မူတည်ပြီး ကွဲပြားပါတယ်။ ဒီ telegram channel တွေက ဒီကနေရတဲ့ ပိုက်ဆံ တွေကို လိုအပ်တဲ့ နေရာ မှာ ပြန်လှူပေးတာပဲ ဖြစ်ပါတယ်။

ပထမဆုံး ပြောချင်တဲ့ အချက်ကတော့ payout rates ပါပဲ။
ဒီ service တွေက နိုင်ငံပေါ် မူတည်ပြီး ပေးတဲ့ နှုန်းက ကွဲပြားပါတယ်။

https://ouo.io/rates

https://adshort(.)co/payout-rates

https://linksly.co/payout-rates

https://za(.)gl/payout-rates

https://shrinkme(.)io/payout-rates

https://adshrink.it/payout-rates/

သူ့ list ထဲမှာပါတဲ့နိုင်ငံဆိုရင် တော့ တစ်ထောင်ကို 5$ နှုန်း ရမယ်ဆိုပေမဲ့ မပါတဲ့နိုင်ငံဆိုရင်တော့ တစ်ထောင်ကို 2$ နှုန်း​လောက်ပဲ ရမှာပါ။ အကြမ်းဖျင်း ပြောရရင်တော့ US UK ဆိုရင်တော့ 5$ နှုန်းလောက် ဖြစ်နိုင်ပြီး မြန်မာ ဆိုရင်တော့ 2$ နှုန်းလောက်နဲ့ ဖြစ်သွားမှာပါ။တစ်ခ​ျို့ service တွေဆိုရင် နိုင်ငံတစ်ချို့ကို 10$ လောက်တောင်ပေးထားတာ တွေ့နိုင်ပါတယ်။ အဲ့ဒီတော့ ကိုယ့်ရဲ့ click လေးတစ်ချက်က စျေးအကြီးဆုံး ဖြစ်ရအောင် အနည်းဆုံးတော့ vpn လေး ခံပြီး click စေချင်ပါတယ်။ free vpn တွေမှာ နိုင်ငံ အများကြီးရွေးလို့မရပေမဲ့ US UK လောက်တော့ ရွေးလို့ရနိုင်ပါတယ်။

နောက်တစ်ခုကတော့ unique click ပါ။
unique click ဆိုတာကတော့ လူတစ်ယောက်က link တစ်ခုကို တစ်ကြိမ်ပဲ နှိပ်တာကိုဆိုလိုတာပါ။ တစ်ကြိမ်ထက်ပိုပြီး click ခဲ့ရင်လည်း တစ်ကြိမ်စာပဲ သတ်မှတ်ပါတယ်။ အဲ့ဒီအတွက်ကြောင့် telegram channel တွေက တစ်ကြိမ် ထက်ပိုပြီး click လို့ရအောင် တစ်ခါ လုပ်ရင် link လေးငါးခုလောက်လုပ်ပါတယ်။ service သုံးလေးခု လောက် သုံးပါတယ်။ အဲ့ဒီ ထက်ပိုပြီး click ချင်တယ်ဆိုရင်တော့ vpn မှာပါတဲ့ နောက်ထပ် တစ်ခြား server တွေ ပြောင်းပြီး ပြန် နှိပ်ပါ။ ဒီ service တွေမှာ unique click ဖြစ်မဖြစ်ကို ip ပေါ်မှာ မူတည်ပြီး စစ်ပါတယ်။ အဲ့ဒီတော့ vpn server ပြောင်းလိုက်ခြင်းဟာ ip address ကိုပြောင်းသွားစေပြီး unique click ဖြစ်စေပါတယ်။ paid vpn တွေမှာဆိုရင် မြို့ အလိုက်ပါ change လို့ရတဲ့ အတွက် ip change ရတာ ပိုလွယ်ကူပါတယ်။ Ouo.io လို service တွေဆိုရင်တော့ multiple click ပါလက်ခံတဲ့အတွက် ip တစ်ခုတည်းကနေ လေးငါးကြိမ် click ရင်လည်း အဆင်ပြေပါတယ်။

ဒီလိုမျိုး link တွေ click ပြီး လှူဒါန်းလို့ရတဲ့ channel တွေ အများကြီးရှိပါတယ်။ ကျွန်တော် သိသလောက်
မျှဝေခဲ့ပါမယ်။

Click to donate
https://t.me/click2donate

Just Click for Heroes
https://t.me/justClick4U

Phat Yinn Hlu
https://t.me/phatyinnhlu

Mr Perverts(18+)
https://t.me/joinchat/3ZAeXlfbmNswZDU9

စာကြွင်း၊ အချိန်ပေးပြီးဖတ်တဲ့ အတွက် ကျေးဇူးတင်ပါတယ်။ Page ကတော့ admin ေတွ အဆင်မပြေကြလို့ အရင်လိုပါပဲ ပေါ်လိုက်ပျောက်လိုက် ဖြစ်နေအုံးမှာပါ။ ဒါပေမဲ့ တစ်ချိန်ကျရင်တော့ အကျိုးရှိမဲ့ အကြောင်းအရာလေးတွေ ပုံမှန် ပြန်တင်ဖြစ်မှာပါ။ အဆင်ပြေရင် like & share လေး လုပ်ပေးခဲ့ကြပါဦး။

see also Click2donate 1 million challenge
https://www.facebook.com/100355732302759/posts/135694272102238/

File ကိုအပြီးအပိုင် ဘယ်လိုဖျက်မလဲမမြင်တာကြာတော့ မေ့နေကြပြီထင်ပါတယ်။ အခုတလော ဗီနိုင်းဆိုင်တွေ ခွေးဆွဲနေတယ် သတင်းကြားလို့ ...
11/03/2021

File ကိုအပြီးအပိုင် ဘယ်လိုဖျက်မလဲ
မမြင်တာကြာတော့ မေ့နေကြပြီထင်ပါတယ်။ အခုတလော ဗီနိုင်းဆိုင်တွေ ခွေးဆွဲနေတယ် သတင်းကြားလို့ အခု ဒီပိုစ့်ကို တင်ဖို့ ကိုယ်ယောင်လာပြတာပါ။
ဖြစ်သွားတဲ့ ပြဿနာကဘာလဲဆိုရင် ကျွန်တော့မြို့ရဲ့ ဗီနိုင်းဆိုင်တစ်ခုက ခွေးဆွဲခံရတယ်။ ရှော့ခ်ရှိတဲ့ ပုံတွေကို ဖျက်ထားပြီးသားဖြစ်ပေမယ့် ဟိုဖက် အပြောအရ (ဟုတ်ချင်မှလဲ ဟုတ်မှာပါ။ နင်လိမ်းနေတာ) အာ့ပုံတွေကို ပြန်ဆယ်(recovery)ပြီးတော့ ဖမ်းတယ်လို့ကြားရပါတယ်။ ဟုတ်သည်ရှိ မဟုတ်သည်ရှိ ဒီနေ့တော့ Computer မှာ File ဖျက်တာနဲ့ ပတ်သက်ပြီးတော့ အနည်းငယ်ရှင်းပြချင်ပါတယ်။.........
File တွေကို Computer က ဘယ်လိုဖျက်ပေးလဲ?
တကယ်တော့ သင်ဟာ file တစ်ခုကို အမှိုက်ပုံး(recycle bin) ကနေ ဖျက်လိုက်ရင်တောင်မှ file ကတကယ်မပျက်သွားပါဘူး။ Computer system က အာ့ file ကို မမြင်ရအောင် လုပ်လိုက်ခြင်းအားဖြင့် file မရှိတော့ဘူးလို့ထင်ရတာပါ။ File ပြန်ဆယ်တယ်ဆိုတာက မမြင်ရတော့တဲ့ file ကို မြင်ရအောင်လုပ်တာပါ။ အဲဒါကြောင့် Computer System ဟာ ဖျက်လိုက်တဲ့ file နေရာမှာ တခြား file အသစ် လာမထည့်မချင်း ဖျက်ပြီးသား file အဟာင်းကို ဆယ်ယူလို့ရမှာပါ။.........
ဘယ်လိုကာကွယ်မလဲ?
အတတ်နိုင်ဆုံး harddisk ပြောင်းသုံးပါ။ အဲဒါကတော့ စိတ်အချရဆုံးနဲ့အမြန်ဆုံးနည်းပါ။ ဒါပေမယ့် harddisk ပြောင်းသုံးရင် window ပြန်တင်ရတာ software ပြန်တင်ရတာ မကြိုက်ဘူးဆိုရင် တခြားနည်းလမ်းတစ်ခုကို ပြောပြပါ့မယ်။
(Warning: sensitive ဖြစ်တဲ့ data တွေကို မသာတွေ မမြင်အောင် ဖျက်ရတာမို့ အရမ်းကြီးတဲ့ data တွေကို backup stick ထဲထည့်ပြီး အာ့ stick ကို ဖွက်ထားတာတို့၊ Browser မှာ saved ထားတဲ့ password ကိုတွေ တခြားနေရာမှာ save တာတို့လုပ်ပါ။ Browser မှာ saved password ပြန်ကြည့်နည်းကို သိချင်တယ်ဆိုရင်လဲ request လုပ်လို့ရပါတယ်။ အတတ်နိုင်ဆုံး မြန်မြန်တင်ပေးပါ့မယ် )

Step 1: Temp File တွေကိုရှင်းပါ။
a) CCleaner ကို [https://www.ccleaner.com/ccleaner/download/standard] download ပါ
b) CCleaner ကို install လုပ်ပြီးရင် Custom Clean ကိုဖွင့်ပါ။
c) [Window tab ရော Application tab ရော] ဘယ်ဖက်ကဟာတွေ အကုန်လုံးကို အမှန်ခြစ်ပါ။
d) Run Cleaner ကို နှိပ်ပါ။
Step 2: File Shredder နဲ့ File ကို ဖျက်မယ်
a) [https://www.fileshredder.org] မှာ File Shredder ကို download ပါ
b) [Add File/Add Folder/Drag & Drop] နဲ့ ဖျက်မယ့် file တွေကို ထည့်ပါ။
c) Shred Files Now… ကိုနှိပ်ပါ။
Step 3: Shred Free Space
a) CCleaner ကို ဖွင့်ပါ
b) Custom Tab က window tab အောက်က advance အောက်က Wipe Free Space ကို အဓိကပါအောင် အမှန်ခြစ်ပေးပါ (အကုန် အမှန်ခြစ်လဲ ကိစ္စမရှိပါဘူး)
c) Run Cleaner ကိုနှိပ်ပါ။
ကတိုက်ကရိုက် Facebook post အနေနဲ့ တင်ရတာဖြစ်တဲ့အတွက် လိုအပ်ချက်ရှိတယ်ဆိုရင် comment မှာပဲဖြစ်ဖြစ်၊ cb မှာပဲဖြစ်ဖြစ်လာရောက်မေးမြန်းလို့ရပါတယ်။


A 30-day-habit-building (The strict way)မင်္ဂလာပါ ညချမ်းပါ။ ပိုစ့်မတင်တာကြာသွားတဲ့အတွက် အရင် တောင်းပန်ပါရစေ (တောင်းပန်ပြ...
03/11/2020

A 30-day-habit-building (The strict way)
မင်္ဂလာပါ ညချမ်းပါ။ ပိုစ့်မတင်တာကြာသွားတဲ့အတွက် အရင် တောင်းပန်ပါရစေ (တောင်းပန်ပြီးပြီဖြစ်တဲ့ အရင်လို ပိုစ့်တင်တာ ကျဲမြဲကျဲမှာပါ )

ဟိုး လွန်လေပြီးသော အခါက မင်မင် page မှာ challenge တစ်ခုလုပ်ခဲ့ပါသေးတယ်။
(https://www.facebook.com/permalink.php?story_fbid=177074744049181&id=108837637539559)
ရက်(၃၀) မှာ တစ်ရက် လုပ်ဖြစ်ပါတယ် (hee)

ဒါပေမယ့် ဒီတစ်ခေါက် မတူရင်တော့ ချဉ်းကပ်ပုံနဲ့ ဆက်လက်ကြိုးစားသွားဖို့ ရှိပါတယ်

ပထမ challenge တုန်းက သင်ခန်းစာရလိုက်တာက မင်မင်က အပျင်းထူပါတယ်

အာ့ဒီတော့ ခု challenge မှာ နောက်သူငယ်ချင်းတစ်ယောက်ကို အကူအညီတောင်းထားပါတယ်။

challenge ကတော့ နေ့တိုင်း ဂျပန်စာ (၃)နာရီလေ့လာမှာဖြစ်ပါတယ်။

တကယ်လို့သာ မင်မင် နှစ်ရက်ဆက်တိုက် ပျက်ကွက်ခဲ့ရင် သူငယ်ချင်းကို ဒဏ်ငွေအနေနဲ့ ၅၀၀၀ လွဲပေးမှာပါ။ (ပေးဖို့ အစီအစဉ်လုံးဝမရှိပါဘူး hee)

လေ့လာတဲ့ အချိန်ကို မှတ်တမ်းတင်ဖို့ forest app ကို အသုံးပြုမှာပါ။ အာ့ app အကြောင်းကိုတော့ post သပ်သပ် တင်သွားဖို့ရှိပါတယ် ( ဒီနေ့အတွက် ၃ နာရီပြည့်အောင် စာကြည့်ရဦးမှာမလို့ပါ hee)
(https://play.google.com/store/apps/details?id=cc.forestapp&hl=en&gl=US)

ကဲ စာဖတ်သူ သူငယ်ချင်းကောင်းယောင်းမ အဲလေ ယောင်လို့ သူငယ်ချင်းတို့လဲ ကိုယ်ပိုက်ဆံတောင်းချင်တဲ့ လူကို mention ခေါ်ပြီးတော့ challenge ခေါ်နိုင်ပါတယ်နော်

အော် ပြီးတော့ ဒါနဲ့လေ kpay......

ဖောက်ပေးဖို့ မင်မင်မှာ ပိုက်ဆံမရှိပါဘူး (hee)


22/09/2020

Game Over!!!
Super Mario Bros (မှို), Contra (ရမ်ဘို), Pac Man စတဲ့ Retro Games တွေဆော့ဖူးတဲ့ လူတိုင်း မြင်ဖူးတဲ့ စကားစုလေးပါ။ အဓိပ္ပာယ်ကတော့ သင့်မှာရှိတဲ့အသက်တွေကုန်သွားပြီဖြစ်လို့ သင်ကစားပွဲကနေထွက်သွားရပြီ ဆက်လက်ဆော့ကစားခွင့်မရှိတော့ဘူးပေါ့။ Level 1 ကနေပြန်စပေါ့။ အာ့ချိန်မှာ ကစားသမားက ရှေ့တစ်ခေါက်က မှားခဲ့တဲ့ အမှားတွေကို သတိထားပြီး မတူညီတဲ့ ကစားနည်းနဲ့ အသစ်က ပြန်စဖို့ပဲ စဉ်းစားပါတယ်။ သူ့အတွေးထဲမှာ လောကကြီးက မတရားဘူးလို့မတွေးပါဘူး။ ရန်သူတွေကများလွန်းလို့ သူမနိုင်နိုင်ဘူးလို့မတွေးပါဘူး။ Game Over ဖြစ်သွားလို့ သူများကဲ့ရဲ့မှာမကြောက်ပါဘူး။ သူ့ရဲ့စိတ်ထဲမှာရှင်းရှင်းလင်းလင်း တစ်ခုပဲတွေးပါတယ်။ သူမနိုင်သေးတဲ့ Level ကို ဖြတ်ကျော်ဖို့ပါပဲ။
အာ့လိုမျိုး ဂိမ်းတွေကစားပြီး ကြီးပြင်းလာပေမယ့် အချိန်ကြာလာတာနဲ့ အမျှ ကျွန်တော့ရဲ့အတွေးတွေက အဲဒီလိုမျိုးမရိုးရှင်းတော့ပါဘူး။ Game Over လေးတစ်ခါဖြစ်သွားတာနဲ့ ကျွန်တော့်မှာ ပြန်စဖို့မလွယ်တော့ပါဘူး။ နောက်တစ်ခါ Game Over ဖြစ်မှာကြောက်တတ်လာပါပြီ။ ငါ့မှာ အာ့ Level ကျော်ဖြတ်ဖို့ အရည်အချင်းမရှိဘူးလို့ တွေးတတ်လာပါပြီ။ အာ့လို အခု အသက်၂၁ ကျွန်တော်ဟာ အသက် ၁၀ နှစ်ကျွန်တော်လောက် ရိုးရိုးရှင်းရှင်း မတွေးမိတတ်တော့တာလား?

Rank!!!
ငယ်ငယ်က အာ့လို single player, two players သာကစားလို့ရတဲ့ game တွေခေတ်စားခဲ့ပေမယ့် ယခုအခါမှာတော့ online ကစားရတဲ့ Moba Games (MLBB, LOL, Dota 2) တွေ Battle Royal Games (PUBG, COD) လို Competitive Games တွေက ပိုခေတ်စားလာပါတယ်။ အာ့လိုမျိုး online game တွေမှာ Rank ကစကားပြောပါတယ်။ ယေဘူယျအားဖြင့် Rank တူတဲ့လူကSkill တူတယ်လို့ သတ်မှတ်လို့ရပါတယ်။ Skill တူတဲ့ လူချင်းပို ကစားရတာလည်း ပိုအရသာရှိပါတယ်။ အာ့ကြောင့် ကျွန်တော်ဟာ ကျွန်တော့်နဲ့ လက်ရည်တူတဲ့လူတွေနဲ့ ကစားနိုင်ဖို့ rank တစ်ခုရောက်အောင် ကစားဖြစ်ပါတယ်။ ဒါပေမယ့် Ranking System ရဲ့ အမှောင်ခြမ်းကတော့ Game ဟာ Game တစ်ခုမဟုတ်တော့ပါဘူး။ Game ကစားတာ ပျော်ဖို့ဆိုတာထက် Rank တက်ဖို့ဖြစ်လာတယ်။ တစ်ဖက်က player တွေကို ကစားဖော်လို့ သတ်မှတ်ပြီး မလေးစားတတ်တော့ဘူး။ ရန်သူလို့သတ်မှတ်တတ်လာပြီ။ ပိုဆိုးတာတစ်ခုက Ranking ဆိုတာ Competitive Games တွေထဲမှာ ပဲရှိတာမဟုတ်ဘူးရယ်။ ကျွန်တော့်ရဲ့ ဘဝတစ်ခုလုံးကလဲ Ranking တွေနဲ့ သတ်မှတ်ထားပြီးသား။ အဲဒီတော့ ကျွန်တော် ဆက်ဆံနေရတဲ့လူတွေကကော် ကျွန်တော် respect ပေးလေးစားရမယ့် ကစားဖော်တွေလို့ သတ်မှတ်ရမှာလား။ ရန်သူလို့သတ်မှတ်ရမှာလား။ ဘဝကို rank တတ်ဖို့ ဖြတ်သန်းရမှာလား။ ပျော်ရွှင်ဖို့ဖြတ်သန်းရမှာလား?

A 30-day-habit-building မင်္ဂလာပါ။ Ideafresh ရဲ့ ပထမဆုံး activity ကို မိတ်ဆက်ပါရစေ။ အာ့ဒါကတော့ အလေ့အကျင့်ကောင်း တစ်ခုကို...
01/08/2020

A 30-day-habit-building
မင်္ဂလာပါ။ Ideafresh ရဲ့ ပထမဆုံး activity ကို မိတ်ဆက်ပါရစေ။ အာ့ဒါကတော့ အလေ့အကျင့်ကောင်း တစ်ခုကို ပျိုးထောင်ကြည့်ခြင်း သို့ အလေ့ကျင့်ဆိုး တစ်ခုကို စွန့်လွတ်ကြည့်ခြင်းပါ။ သင့်အနေနဲ့ရော online course တွေ နင်းကန်စာရင်းပေးထားပြီး အစအဆုံးတက် သင်တန်းပြီးတဲ့အထိတက်ဖြစ်နေပြီလား။ ညညဆို သန်းခေါင်ထက်ညဉ့်မနက်ဘဲ အိပ်မယ်ဆုံးဖြတ်ပြီး တကယ်အိပ်ဖြစ်နေပြီလား။ သို့မဟုတ် သင့်မှာ လုပ်ချင်တယ်လို့ တွေးထားပြီး မလုပ်ဖြစ်တာရှိနေသလား။ အာ့ဒါတွေရှိတယ်ဆိုရင်တော့ IdeaFresh ရဲ့ 30 habit building experience ထဲပါဝင်လိုက်ပါ။
How?
1. Define
ပထမဆုံး ကိုယ့်ကိုယ် ဘာဖြစ်ချင်တာလဲ သို့ ဘာလိုချင်တာလဲကို တွေးပါ (goal)။ ပြီးတော့အာ့လိုဖြစ်ဖို့ ကိုယ်ပျိုးထောင်ချင်တဲ့ အကျင့် သို့ စွန့်လွတ်ချင်တဲ့အကျင့်ကို ချရေးပါ (system)။ (ဥပမာ- Web Developer ဖြစ်ချင်တယ်။ အာ့ကြောင့် နေ့တိုင်း မိနစ် ၆၀ Javascript လုပ်မယ်)။
2. Track
ဒုတိယက ကိုယ့်ရဲ့ goal ကိုရောက်အောင် သွားမယ့် system ကို track လုပ်ပါ။ ဥပမာကို ပုံမှာပြထားပေးပါတယ်။
a. ရက်စွဲလေးတွေနဲ့ အပေါက်လေးတွေကို ဆွဲပါ။ ဖြည့်ရမယ့် symbol တွေကတော့
O ကိုယ်က အာ့နေ့မှာ ကိုယ်သတ်မှတ်ထားတဲ့ အစီအစဉ်ကို လုပ်ဖြစ်တယ်
- အာ့နေ့မှာ ကိုယ်က အာ့အလုပ်ကို လုံးဝလုပ်လို့မရလို့
X အာ့အလုပ်ကို မလုပ်ဖြစ်လို့
b. Failure Note
ကိုယ်ဘာလို့ မလုပ်ဖြစ်တဲ့ အကြောင်းကို ချရေးပါ။
c. Cycle Review
Failure review ကိုကြည့်ပြီး ကိုယ့်အလုပ်တွင်အောင် ဘာလုပ်သင့်တယ်ဆိုတာ စဉ်းစားမိရင်ရေးပါ။
ကဲ ဒီလောက်ဆိုရင် admin တွေနဲ့ အတူတူ 30-day-habit-building experience လေးစတင်လိုက်ရအောင်ပါ။
ကိုယ့်ရဲ့ သူငယ်ချင်းလေးတွေကိုလဲ ဖိတ်ခေါ်လို့ရသလို။ ကိုယ်လုပ်ချင်တဲ့ habit လေးကို လဲ comment section မှာ မျှဝေလို့ရတယ်တယ်နော်။

This too shall pass (ဒါလည်း ပြီးသွားမှာပါ)တစ်နေ့မှာ Solomon ဘုရင်ကြီးက သူ့ရဲ့အယုံကြည်ရဆုံး ဝန်ကြီး တစ်ယောက်ကို  "ငါ Sukk...
20/07/2020

This too shall pass (ဒါလည်း ပြီးသွားမှာပါ)

တစ်နေ့မှာ Solomon ဘုရင်ကြီးက သူ့ရဲ့အယုံကြည်ရဆုံး ဝန်ကြီး တစ်ယောက်ကို "ငါ Sukkot (ဘာသာရေးဆိုင်ရာပွဲတစ်ခု) ရောက်ရင် ဝတ်ဖို့ လက်စွပ် တစ်ကွင်း အလိုရှိတယ်။ မင်း ၆ လ အတွင်းရှာ ပေးနိုင်မလား။ " လို့ပြောတယ်။ ဝန်ကြီးက " ကမ္ဘာပေါ်မှာ ရှိရင်တွေ့အောင်ရှာပါ့မယ်။ " လို့ ပြန်ပြောလိုက်တယ်။ "ဘယ်လောက်တောင် ထူးဆန်း တဲ့ လက်စွပ်မို့လဲ" လို့လည်း ပြန်မေးလိုက်တယ်။ "သူ့မှာ မှော်စွမ်းအားတွေ ရှိတယ်ကွ။ ေပျာ်နေတဲ့လူက အဲ့လက်စွပ်ကို ကြည့်လိုက်ရင် ဝမ်းနည်း သွားတယ်၊ စိတ်ညစ်နေတဲ့လူက အဲ့ လက်စွပ် ကိုကြည့်လိုက်ရင် ပျော်သွားတယ်။" လို့ ဘုရင်ကြီးက ပြန်ဖြေတယ်။ Solomon ဘုရင်ကြ​ီးဟာ ဒါမျိုး လက်စွပ်က မရှိနိုင်မှန်းတော့ သိပါတယ်။ ဒါပေမဲ့ သူရဲ့ ဝန်ကြီးကို အနည်းငယ် မာန် ကို အနည်းငယ် နှိမ့်ချ စေချင်တဲ့ အတွက် ရှာခိုင်း လိုက်ခြင်း ဖြစ်ပါတယ်။

အချိန်တွေက တစ်ဖြည်းဖြည်းနဲ့ ကုန်လာတယ် ဝန်ကြီးဟာ လက်စွပ်ကို ဘယ်နေရာမှာ ရှာ ရမလဲ စဥ်းစားလို့ မရဘူး ဖြစ်နေတုန်းပဲ။ ဒီလိုနဲ့ Sukkot မတိုင်ခင် ညမှာ ဝန်ကြီးဟာ Jerusalem ရဲ့ အဆင်းရဲဆုံး ရပ်ကွက် မှာ လမ်းထွက်လျှောက်ဖို့ ဆုံးဖြတ်လိုက်တယ်။ အဲ့ဒီအချိန်မှာ ပစ္စည်းတွေ ကို ဟောင်းနွမ်းနေတဲ့ ကော်ဇော နဲ့ ထုပ်သိမ်း နေတဲ့ ကုန်သည်အဖိုးအိုကို သွားတွေ့တယ်။ အဲ့ဒါနဲ့ သူက ကုန်သည်အဖိုးအိုကို " ေပျာ်ရွှင်တဲ့ လူဝတ်လိုက်ရင် ဝမ်းနည်း သွားပြီး ဝမ်းနည်းတဲ့လူ ဝတ်လိုက်ရင် ပျော်ရွှင် သွားစေတဲ့ လက်စွပ်မျိုး ကြားဖူးလား" လို့မေးလိုက်တယ်။ အဲ့ဒီ အခါ ကုန်သည်အဖိုးအို က ကော်ဇော လိပ်ထဲက စာ ထွင်းထားတဲ့ လက်စွပ်လေး တစ်ကွင်းကို ထုတ်လိုက်တယ်။ ဝန်ကြီးက လက်စွပ်ပေါ်မှာ ရေးထားတဲ့ စာကို ဖတ်မိပြီး အပြုံးကြီး ပြုံးမိသွားတယ်။ အဲ့ဒီည မှာတော့ တစ်မြို့လုံးက Sukkot ပွဲတော်ကို ဖျော်ဖြေရေးတွေနဲ့ ကြိုဆိုကြတယ်။

နောက်တစ်နေ့ မနက်ရောက်တော့ ဘုရင်ကြီးက ညီလာခံမှာ "ဝန်ကြီး ငါရှာခိုင်းတဲ့ ဟာ ရှာလို့တွေ့ရဲ့လား " လို့မေးတယ်။ တစ်ခြားဝန်ကြီးတွေက ရယ်ကြတယ်။ ဘုရင်ကြီး ကိုယ်တိုင်ကလည်း ပြုံးပြုံးနဲ့ ကြည့်နေလေရဲ့။ အဲ့ဒီအချိန်မှာ ဝန်ကြီးက " ဒီမှာပါ အရှင်မင်းကြီး " ဆိုပြီး လက်စွပ် သေးသေးလေးကို ကိုင်မြှောက်ပြလိုက်တော့ ဝန်ကြီးတွေ အကုန်လုံး အံဩ ကုန် ကြတယ်။ Solomon ဘုရင်ကြီးဟာ လက်စွပ်ကို ယူလိုက်ပြီး ရေးထားတဲ့ စာကို ဖတ်ကြည့် လိုက်တော့ သူ့မျက်နှာ က အပြုံးေတွ ပျောက်ကွယ် သွားပါတော့တယ်။ လက်စွပ်မှာက ထွင်းထားတဲ့ စာသားကတော့ This too shall pass (ဒါလည်း ပြီးသွားမှာပါ) ဆိုတဲ့ စာ သားကို Hebrew ဘာသာစကားနဲ့ ထွင်းထားတာပါတဲ့။
အဲ့ဒီ အချိန်မှာ Solomon ဘုရင်ကြီးဟာ သူ့ရဲ့ ကြွယ်ဝမှု၊ ချမ်းသာမှု၊ ဉာဏ်ပညာ ကြီးမားမှု၊ အောင်မြင်မှု၊ ဂုဏ်သတင်းတွေ ဟာ ပျောက်ကွယ်တတ်တဲ့ အရာတွေပဲ ဖြစ်တယ်။ တစ်ချိန်မှာ ဖုန်မှုန့် လေးလိုပဲ ပျောက်ကွယ် သွားမှာပဲ ဖြစ်တယ် ဆိုတဲ့ အကြောင်း နားလည် သွားပါတော့တယ်။

ဒီပုံပြင်လေးရဲ့ အဓိက ရည်ရွယ်ချက်က မတည်မြဲခြင်း ကို ဖော်ညွှန်းတာ ပဲ ဖြစ်ပါတယ်။ အခုအချိန်မှာ ကိစ္စ တစ်ခုခု ကြောင့် စိတ်ညစ်နေရတယ်၊ ပင်ပန်းနေရတယ် ဆိုလည်း ဒါတွေဟာ အချိန် တစ်ခုထိပါပဲ ။ တစ်ချိန်ကျရင် ပျောက်ကွယ်သွားမှာပါ။ အောင်မြင်မှု ရတယ်ဆိုလည်း ဒီအောင်မြင်မှုပေါ်ပဲ သာယာ မနေ သင့်ပဲ ဆက်ကြိုးစားပါ။ ချစ်ခြင်း မုန်းခြင်း တွေဟာလည်း တဒဂင်္ ပါပဲ ။ အချိန် အကြာကြီး မခံစား နေသင့်ပါဘူး။

This too shall pass ကို ဆီလျော်အောင် ဘာသာပြန် တင်ဆက်သည်။
Image credit

Shebangဘာလဲ
17/07/2020

Shebangဘာလဲ

Getting Movie List from cm(web automation)ဒါလေး တင်မယ်လို့ပြောထားတာ နှစ်ပတ်လောက်တော့ ရှိသွားပြီ။ အစက Facebook ကို scrapi...
09/07/2020

Getting Movie List from cm(web automation)

ဒါလေး တင်မယ်လို့ပြောထားတာ နှစ်ပတ်လောက်တော့ ရှိသွားပြီ။ အစက Facebook ကို scraping လုပ်တာ တင်မလို့ ရေးပြီးတော့ အရမ်းရှုပ်နေသလို ခံစားရလို့ ပိုရှင်းမယ့် ဟာလေး တင်မယ်လို့ စဥ်းစားရင်း ကြာသွားတယ်။ ခုမှ စဥ်းစားမိလို့ တင်လိုက်ပါတယ်။ ဝေဖန် အကြံပြုပေးကြပါအုံး။

Test video link
https://m.facebook.com/story.php?story_fbid=133641088392547&id=108837637539559

How computer stores your files…….ကွန်ပျူတာမှာ data တွေကို သိမ်းတဲ့အခါမှာ 0 နဲ့ 1 ပဲသိမ်းလိမ့်ရှိပါတယ်။ အဲဒါကို binary sy...
02/07/2020

How computer stores your files…….
ကွန်ပျူတာမှာ data တွေကို သိမ်းတဲ့အခါမှာ 0 နဲ့ 1 ပဲသိမ်းလိမ့်ရှိပါတယ်။ အဲဒါကို binary system လို့သုံးနှုန်းပါတယ်။ ကျွန်ပျူတာမှာဘာလို့ 0 နဲ့ 1 ပဲသိမ်းတာလဲဆိုရင် ကွန်ပျူတာရဲ့ memory က switch(ခလုတ်) အပေါ်မှာ အခြေခံလို့ပါ။ သဘောက ခလုတ်ပိတ်ထားရင် သုည၊ ခလုတ်ဖွင့်ထားရင် ၁ ပါ။ computer ရဲ့ basic storage ကို bit လို့ခေါ်ပါတယ်။ one bit မှာ သုည သို့မဟုတ် တစ် တန်ဖိုးတစ်လုံးကို သိမ်းလို့ရပါတယ်။ ဆိုတော့ကား computer မှာ သင့်ရဲ့ data တွေကို ဘယ်လိုသုံးလဲ အကြမ်း လေ့လာကြည့်ရအောင်။
-Text Data-
English text တွေကို သိမ်းဖို့ ASCII (American Standard Code for Information Interchange) ကိုသုံးလေ့ရှိပြီး ကမ္ဘာတစ်ဝန်းက ဘာသာစကားလုံးတွေအတွက် Unicode ကို အသုံးများပါတယ်။ ဒီနေ့တော့ ASCII အကြောင်းအနည်းအကျဉ်းမျှဝေပေးပါမယ်။ ASCII မှာ English alphabet တွေကို represent လုပ်တဲ့အခါမှာ 7 bit or extended version မှာ 8 bits ကိုသုံးပါတယ်။ ဥပမာ A ကို သိမ်းချင်တဲ့အခါမှာ memory မှာ 0100 0001 လို့သိမ်းပါတယ်။ အောက်ကပုံမှာတော့ အသေးစိတ် ပြထားပါတယ်။
-Picture-
Computer မှာ ဓာတ်ပုံကို RGB (Red, Green, Blue) color scheme နဲ့ represent လုပ်လေ့ရှိပါတယ်။ သူ့မှာလဲ 16 bits, 24 bits နဲ့ 32 bits ဆိုပြီးကွဲပါသေးတယ်။ အာ့ထဲမှာမှ 24 bits နဲ့ 32bits ကိုအနည်းငယ်ပြောပြပါမယ်။ 24 bits မှာ red, green, blue အတွက် 8 bit စီ သိမ်းပါတယ်။ ဥပမာ အနီကို ဖော်ပြချင်တဲ့အချိန်မှာ 11111111 00000000 00000000၊ အစိမ်းကို ကို ဖော်ပြချင်တဲ့အချိန်မှာ 00000000 11111111 00000000 အာ့လိုမျိုးတွေ သုံးပါတယ်။ အာ့ကြောင့် 24 bits မှာက color အရောင်ကွဲပေါင်း 16777216 အထိ represent လုပ်နိုင်ပါတယ်။ 32 bits မှာက Transparent အတွက် 8 bits ကို ထပ်သုံးမှာပါတယ်။ အာ့ကြောင့်သူ့မှာကျတော့ အရောင်ကွဲပေါင်း 16777216 အပြင် transparency အထိ represent လုပ်နိုင်ပြီး 16 bits မှာကျတော့ 24 ကို အနည်းငယ် ချုံ့ထားတဲ့ version လို့ ဆိုနိုင်ပါသလို အရောင် 65536 သာသိမ်းနိုင်ပါတယ်။ ဟိုတလောက ထွက်တဲ့ mi band 5 က band 4 ထက် resolution ပိုတိုးလာပေမယ့် color scheme က 32 bits ကနေ 16 ထိလျော့လိုက်တာပါ။ mi အနေနဲ့လဲ band တစ်လုံးမှာ အရောင်အရမ်းစိုစရာမလိုဘူး တွေးလို့ဖြစ်ပါလိမ့်မယ်။
Computer မှာ ဓာတ်ပုံတစ်ပုံကို represent လုပ်တဲ့အခါမှာ pixel တွေနဲ့ ဖော်ပြလေ့ရှိပါတယ်။ 24 bit color scheme ကို သုံးတဲ့ resolution 1024 x 768 ရှိတဲ့ ပုံတစ်ပုံဟာဆိုရင် storage အတွက် 1024x768x24 = 18,874,368 bits (~2.36 mb) နေရာယူမှာပါ။ (compression ကို ထည့်းမစဉ်းစားထားပါ)
-Video-
Computer မှာ video ဆိုတာက များပြားလှတဲ့ ဓာတ်ပုံတွေကို တစ်ဆက်ထဲ ပြသသွားတာ ဖြစ်ပါတယ်။ ဆိုလိုချင်တာက 25 frames per second (fps) ဆိုတာက တစ်စက္ကန့်မှာ ပုံရိပ်ပေါင်း ၂၅ ပုံပြသနိုင်တာဖြစ်ပါတယ်။ (အာ့ကြောင့် realtime shooting game ကစားတဲ့ gamer တွေက fps ကိုအရမ်းတန်ဖိုးထားကြပါတယ်။) ဥပမာ resolution 1024 x 768 ရှိပြီး 25 fpsရှိတဲ့ စက္ကန့် ၆၀ ကြာတဲ့ ဇာတ်ကားကို သိမ်းဖို့ (1024 x 768 x 24) 18,874,368 x 25 x60 = 28,311,552,000 bits (~3.5 gb) ပါ။
အခုလို အနည်းငယ်လေး ပြောပြထားတာကို အနည်းငယ်လေး ဆုံးအောင်ဖတ်ပေးတဲ့ အတွက်ကျေးဇူးတင်ပါတယ်။ နောက်အပတ်မှာလဲ အနည်းငယ် ပြောပြနိုင်ဖို့ အတွက် အနည်းငယ် ကြိုးစားသွားပါ့မယ်။ အမှားအနည်းငယ်ပါခဲ့သည်ရှိသော် အနည်းငယ်ထောက်ပြပေးပါ။

-

chownနှင့်chmodအကြောင်းတစ်စေ့တစ်‌စောင်းchownနဲ့chmod commandတွေဟာLinux မှာpermissionနဲ့ပတ်သတ်တဲ့ကိစ္စတွေမှာသုံးတယ်
29/06/2020

chownနှင့်chmodအကြောင်းတစ်စေ့တစ်‌စောင်း

chownနဲ့chmod commandတွေဟာLinux မှာpermissionနဲ့ပတ်သတ်တဲ့ကိစ္စတွေမှာသုံးတယ်

Selenium ရဲ့ အသုံးများသော function များget() functionargument ကတော့ ကိုယ် surf လုပ်ချင်တဲ့ link ပါExample: ;; driver.get...
24/06/2020

Selenium ရဲ့ အသုံးများသော function များ

get() function

argument ကတော့ ကိုယ် surf လုပ်ချင်တဲ့ link ပါ
Example:
;; driver.get("http://www.google.com")

find_element_by_id()
find_element_by_name()
Find_element_by_class_name()
Find_element_by_xpath()

ကိုယ်ရှာချင်တဲ့ web element ကို id ၊ name ၊ css class ဒါမှမဟုတ် xpath ပေးပြီးတော့ ရှာလို့ရပါတယ်

Example:


Hello world
Hi



အပေါ်ကလိုမျိုး html file ထဲမှာ Hello world ဆိုတဲ့ element ကို ရှာချင်ရင်
;; driver.find_element_by_id("div-id")
;; driver.find_element_by_name("div-name")
;; driver.find_element_by_class_name("red")
ဆိုပြီးတော့ ကြိုက်တဲ့ နည်းလမ်းနဲ့ ရှာလို့ရတယ်

Xpath (XML Path Language) ဆိုတာဘာလဲ

Xpath ဆိုတာ web element ထဲမှာပါတဲ့ ကြိုက်တဲ့ attribute နဲ့ value ကိုသုံးပြီးရှာတာပါ။
ရေးနည်းကတော့

//tagname[='valuename']

Xpath က နှစ်မျိုးရှိတယ်

Relative xpath နဲ့ Absolute xpath
Relative xpath ကတော့ html path လမ်းကြောင်းကို အစအဆုံးမရေးပဲ ကိုယ်ရှာချင်တာကိုပဲ တိုက်ရိုက်ရေးတာ

;; driver.find_element_by_xpath("//div[='div-name']")

အပေါ်ကလိုရေးနည်းက relative ပုံစံနဲ့ရေးတာ ဖြစ်တယ်။ absolute နဲ့ရေးမယ်ဆိုရင်တော့ html path လမ်းကြောင်းကို အစအဆုံးရေးရတယ်။

;; driver.find_element_by_xpath("html/body/div[0][='div-name']")

Xpath ကို html tag တွေမှာ id တို့ name တို့ class တို့ စတဲ့ တွေ မပါရင်ဖြစ်ဖြစ် မသုံးချင်ရင်ဖြစ်ဖြစ် သုံးသလို သူ့ရဲ့ အသုံးဝင်တဲ့ function တွေကြောင့်လည်း သုံးတယ်။

text() - tag ထဲမှာရှိတဲ့ text နဲ့ရှာရင် သုံးတယ်။
;; driver.find_element_by_xpath("//div[text()='Hello world']")

contains() - attribute မှာ value အတိအကျ သိစရာ မလိုပဲ ရှာလို့ ရတယ်။ css class ရဲ့ value နှစ်ခု လုံးပါတဲ့ element ကို မှ select လုပ်ချင်ရင်လည်း သုံးလို့ရတယ်။
;; driver.find_element_by_xpath("//div[contains(class,'red blue')]")

starts-with() - contains() နဲ့တူပါတယ်။ ဒါပေမဲ့ argument မှာပါတဲ့ value နဲ့ စတာ ကို ပဲ ရှာပေးတယ်။
;; driver.find_element_by_xpath("//div[starts-with(class,'re')]")

ပြီးတော့ OR တို့ AND တို့လို operator တွေကိုလည်း အသုံးပြုလို့ရပါသေးတယ်။
;; driver.find_element_by_xpath("//div[='div-id' AND ='div-name']")

Xpath မှာ နောက်ထပ်တစ်ခြား function တွေနဲ့ တစ်ခြား အသုံးဝင်မှုတွေ အများကြီးရှိပါသေးတယ်။

find_elements_by_id()
find_elements_by_name()
find_elements_by_class_name()
find_elements_by_xpath()
find_element function တွေနဲ့ အတူတူပါပဲ။ ဒါပေမဲ့ အခုက ကိုက်ညီ တဲ့ element အကုန် return ပြန်မှာပါ။

Click()

ဒီ function ကတော့ element တစ်ခုကို နှိပ်ချင်ရင်ဖြစ်ဖြစ် link တစ်ခုခုကို နှိပ်ချင်ရင်ဖြစ်ဖြစ် သုံးပါတယ်။
Example:
;; submit = driver.find_element_by_id("submit")
;; submit.click()

getText()

Element ထဲမှာရေးထားတဲ့စာသားကို ယူချင်ရင် getText() ကိုသုံးပါတယ်။ argument ပေးစရာမလိုပါဘူး return type ကတော့ String ပါ
Example:
;; hello = driver.find_element_by_id("div-id")
;; print(hello.getText()) *This will print Hello world.

sleep()

Web page loading လုပ်နေတဲ့ အချိန် လုပ်မဲ့ အလုပ်ကို ခနရပ်ထားဖို့အတွက်သုံးပါတယ်။ အကယ်လို့ loading လုပ်တဲ့အချိန်ကိုမစောင့်ဘူးဆိုရင် element တွေ ရှာလို့မတွေ့တာမျိုးတွေဖြစ်နိုင်ပါတယ်။ အဲ့ဒါမျိုးဆိုရင်တော့ NoSuchElementException တက်နိုင်ပါတယ် argument ကတော့ အချိန် ပါ တန်ဖိုးကို second နဲ့တွက်ပါတယ်။

ဒါကတော့ Selenium ရဲ့အသုံးများတဲ့ function အချို့ပဲဖြစ်ပါတယ်။ တစ်ခြား အသုံးဝင်တဲ့ function တွေလည်း ရှိပါသေးတယ်။ ကျွန်တော်က တော့ ရေးရမှာ ပျင်းလို့ ဒီလောက်နဲ့ပဲ ရပ်ပါတော့မယ်။ ဆက်လက်လေ့လာချင်တယ် ဆိုရင်တော့ medium က article တစ်ခု မှာ ဆက်ဖတ်ကြည့်လို့ရပါတယ်။ နောက်ပြီး တော့ selenium ရဲ့ website မှာ လည်း သွားရောက်လေ့လာလို့ ရပါတယ်။ အောက်မှာ link ပေးထားပါတယ်။

https://selenium-python.readthedocs.io/

https://link.medium.com/XRgzsVd5z7

နောက်တစ်ခေါက် ကျရင် Selenium နဲ့စမ်းထားတဲ့ mini project လေး တစ်ခု တင်ပါ့မယ်။



image credit

Why do we fall, Bruce? So, we can learn to pick ourselves up.-Thomas Wayneဒီစကားက Batman Begins (2005)မှာ batman ဖြစ်လာမ...
22/06/2020

Why do we fall, Bruce? So, we can learn to pick ourselves up.
-Thomas Wayne
ဒီစကားက Batman Begins (2005)မှာ batman ဖြစ်လာမယ့် Bruce Wayne ပိစိနောက်တောက် ပေါက်စနလေးက တွင်းပျက်တစ်ခုထဲ ပြုတ်ကျသွားလို့ ကြောက်ရွံ့နေတဲ့အချိန်မှာ သူ့အဖေ Thomas Wayne ပြောခဲ့တဲ့စကားပါ။ တတ်သလောက် မှတ်သလောက်ဘာသာပြန်ပေးရမယ်ဆိုရင်တော့ “မင်းဘာလို့ ပြုတ်ကျတာလဲဆိုတာသိလား ဘရုစ်… အဲဒါမှမင်းဘယ်လိုပြန်ထရမလဲဆိုတာသိမှာပေါ့” လို့အလွယ်ပြောလို့ရပါတယ်။ admin ကတော့ ဒီစကားကို wallpaper ထားတဲ့အထိကို သဘောကျခဲ့တာပါ။ admin က computer science ကျောင်းသားတစ်ယောက်ဆိုတော့ software project တွေကို လုပ်ရပါတယ်။ အထူးသဖြင့် ကိုယ်မကျွမ်းကျင်တဲ့ programming language နဲ့ project လုပ်တဲ့အခါကျရင် ဘာ exception မှန်းတောင်မသိတဲ့အထိ error တွေတက်လာတဲ့အချိန်တွေရှိတယ်။ တစ်ခါတစ်လေကျတော့ ရေးထားတာက အဟုတ် run လိုက်တော့ ui တောင်မပေါ်ဘူးဆိုတဲ့ အချိန်အနေတွေရှိလာတယ်။ အာ့လိုအခြေအနေမျိုးမှာဆိုရင် ဒီစကားလေးကိုပြေးသတိရမိတယ်။ “ငါဘာလို့ အသုံးမကျရတာလဲ ဆိုပြီးတော့ပေါ့၊ ဘာလို့လဲဆိုတော့ ငါအခုလိုအသုံးမကျမှ ငါ့ရဲ့အသုံးမကျမှုကနေ အသစ်အသစ်တွေလေ့လာဖို့အခွင့်အရေးရမှာပေါ့”။ အာ့လိုနဲ့ပဲ ကျောင်းသင်ခန်းစာမှာ မသင်ရတဲ့ စာတွေကို ကိုယ်တိုင်ရှာဖတ်တတ်လာတာပါ။ အာ့ကြောင့် admin လိုပဲ ကိုယ့်ကိုယ်ကိုယ် အသုံးမကျဘူးလို့ထင်တဲ့လူတွေအတွက် ဒီ dialog လေးကို မျှဝေပေးလိုက်ပါတယ်။ ဖတ်ရှုပေးတဲ့အတွက် ကျေးဇူးတင်ပါတယ်။
image source: https://quotefancy.com/quote/1345945/Christopher-Nolan-Why-do-we-Fall-So-we-can-learn-to-pick-ourselves-back-up

Web automation by Selenium(Python)**Before we start, I want to apologize to you that this article is not writing in Burm...
20/06/2020

Web automation by Selenium(Python)

**Before we start, I want to apologize to you that this article is not writing in Burmese because I am not good at writing in articles and I feel so weird. Later, I try to write in Burmese and try to write interesting.**

Web automation automates websites by using some scripting languages. Selenium is an open-sourced web automation framework and it supports C #, Python, Java, Javascript, and Kotlin. The main purpose is for validating and testing for websites but it is also used for web scrapping. Moreover, other boring stuff can be done by using selenium and it is quite fun to learn and use Selenium.

Prerequisite:
1. install Python:

- https://www.python.org/downloads/
*make sure python and pip can be used from the terminal.

2. install Selenium from pip:

- pip install selenium
write the command in your terminal

3. download the web driver related to your browser:

For me, I used chrome, so I download the chrome driver.
- https://chromedriver.chromium.org/downloads
*make sure your driver version and browser version are the same.

Let's start some code.

First, to import the webdriver

**Python doesn't use semi-colons. So, I used semi-colons at the start to show you this is a coding sentence because Facebook is not good for posting coding articles.**

;; from selenium import webdriver
;; driver = webdriver.Chrome("path/to/yourdriver")

-get() function to surf the website

;; driver.get("http://www.google.com")

-use find_element function to find an element
There have several functions.
-find_element_by_id()
-find_element_by_name()
-find_element_by_class_name()
There are also other functions to find an element. I will show you later.

To get the input text field of google search, we can use find_element_by_name("q"). This can be known by using inspect element function of browser.
- https://www.hostinger.com/tutorials/website/how-to-inspect-and-change-style-using-google-chrome

;; search = driver.find_element_by_name("q")

To input values, we use send_keys() function

;; search.send_keys("hello world")

To press ENTER key, we need to import Keys

;; from selenium.webdriver.common.keys import Keys
;; search.send_keys("hello world",Keys.ENTER)

Final code will be:
;; from selenium import webdriver
;; from selenium.webdriver.common.keys import Keys
;; driver = webdriver.Chrome("path/to/yourdriver")
;; driver.get("http://www.google.com")
;; search = driver.find_element_by_name("q")
;; search.send_keys("hello world",Keys.ENTER)

save the file and run from the terminal.
- python filename.py

This is some basic of Selenium. I will write about some more functions of Selenium, later.

photo credit to the owner

Address


Alerts

Be the first to know and let us send you an email when IdeaFresh posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Shortcuts

  • Address
  • Alerts
  • Claim ownership or report listing
  • Want your business to be the top-listed Media Company?

Share