#Python_For_Network_Engr #video_Tutorial

#Python_For_Network_Engr
#video_Tutorial

ZawGyi

က်ြန္ေတာ္တုိ့ network engineer ေတြ အေနနဲ့  programming language တစ္ခုကို ေလ့လာျပီး network_config script ေတြေရးမယ္ဆိုရင္ Configuration ခ်တာေတြ analysis လုပ္တာေတြ ျပီးေတာ့ network တစ္ခုကို implementation လုပ္တဲ့ေနရာမွာ လြယ္ကူလ်ွင္ျမန္ေစမွာ ျဖစ္ပါတယ္။။
နမူနာ တစ္ခုေျပာရရင္ vlan ေတြ ထပ္ crete လုပ္မယ္ name ေတြေပးမယ္ ျပီးေတာ့ route ေတြထပ္add မယ္ စတာေတြကို လူကို္ယ္တုိင္ လုပ္မယ္ဆုိ comman ေတြကို တစ္ေျကာင္းခ်င္း တစ္လံုး၀င္ တစ္လံုးထြက္လိုက္ရုိက္ေနရမယ္။ အဲ့လို လုပ္မယ့္အစား program script တစ္ခု ေရးထားျပီး  run လိုးက္မယ္ဆုိ အမွားနည္းမယ္ (typing error) ျပီးေတာ့ နာရီ၀က္တစ္နာရီေလာက္ျကာမယ့္အခ်ိန္က ၃မိနစ္ေလာက္နဲ ့ျပီးမယ္္ ;-)

အဲ့လို network programming လုပ္မယ္ဆို ဘယ္ programming Language ကို သံုးမလဲ ဆုိတာကေတာ့ ကိုယ့္ေရြးခ်ယ္မွုပါ။ Programming  မွာဆုိ အဓိကအားျဖင့္ နွစ္မ်ိုးနွစ္စား ခြဲထားက်ပါတယ္။
Compiled Languages ရယ္ Scripting Languages ရယ္ ဆုိျပီး ရွိတယ္ဗ်ာ့။

 Compiled Languages ဆိုတာ ဘာလဲဆုိေတာ့..
Computer တစ္လံုး တစ္ကယ္တမ္းနားလည္တာက 0/1 (on/off) ေတြကိုပဲနားလည္တာဗ်ာ့ printf တို့ cin cout တုိ့ အဲ့တာေတြကို နားလည္တာမဟုတ္ဘူး .. အဲ့ေတာ့ ကိုယ္ေတြလုပ္ခ်င္ ခိုင္းခ်င္တဲ့ instruction ေတြကို လူနားလည္တဲ့ code(Source Code) ေတြကေန computer machine နားလည္တဲ့ code(Machine Code) ေတြ အျဖစ္ေျပာင္းဖုိ့ လုိလာျပီ.. အဲ့လို လူနားလည္တဲ့ character/set of instructions ေတြကေန computer နားလည္တဲ့ 0/1 bits ေတြကို translate လုပ္ေပးဖုိ့ compiler ေတြနဲ့ compile လုပ္ရတယ္ဗ်ာ့... အဲ့လုိ set of instrutcions တစ္ခုလံုးကို compile လုပ္လိုက္ build လုပ္လိုက္မွ computer နားလည္တဲ့ machine code ေတြထြက္လာျပီး computer ေတြက ဖတ္ျပီး execute လုပ္လို့ run လို့ရမွာ.. Compiled language ေတြက ဘယ္ language ေတြလဲ ဆုိေတာ့.. java,C, C++, C#, Visual Basic, Pascal, etc စတာေတြျဖစ္တယ္ ;-)

Scripting Language ဆုိတာက က်ေတာ့..
သူကက် ေျပာရရင္ programျကီးတစ္ခုလံုး(set of instructions) တစ္ခုလံုးကို compile လုပ္ေပးစရာမလုိပဲ.. instruction တစ္ခုခ်င္းဆီကို
one by one(Statement by statement) execute လုပ္ေပးတယ္ဗ်ာ့.. ဘယ္လိုမ်ိုးလဲဆိုေတာ့ scripting language ေတြက interpreter သံုးျပီး program run ေနတုန္္းမွာ statement တစ္ခုခ်င္းကို machine code အျဖစ္ေျပာင္းျပီး တိုက္ရုိက္ တစ္္ခုခ်င္း တစ္လိုင္းခ်င္း execute လုပ္တယ္ဗ်ာ့ .. Scripting Language ေတြက ဘယ္ေကာင္ေတြလဲဆုိေတာ့.. Python, Ruby on Rails, Java Script, PHP,etc စတာေတြျဖစ္တယ္

Scripting language ရယ္ compiled language မွာ ဘာကြာလဲဆုိေတာ့...
compiled language သည္ compile လုပ္ရတဲဲ့အခ်ိန္္လိုပါတယ္
scripting language ကေတာ့ compile လုပ္စရာမလုိပါဘူး
compile လုပ္လို့ ထြက္လာတဲ့ machine code ကို computer ေတြမွာ ေနာက္တစ္ျကိမ္ ထပ္ run စရာမလုိသလို source codeကိုလဲ ရွဲေပးစရာမလိုုပါဘူး ဒီတုိင္း ထြက္လာတဲ့ machine code ကို computer ေတြမွာ execute လုပ္ျပီး run လိုက္ယံုပါပဲ

က်ြန္ေတာ္ကေတာ့ python နဲ့ ေရးရတာကို ျကိုက္တယ္ဗ်ာ့။ သူ့မွာ က  networking  အတြက္ python libraries ေတြလဲ supporting ေကာင္းေကာင္းရွိတယ္ဗ်ာ့။

https://mega.nz/#F!OFNxVapa!Zhs2HIC2hD9AX9ZGjKETPw

Best Regards,
~[F]or-get

UniCode

ကျွန်တော်တို့ network engineer တွေ အနေနဲ့  programming language တစ်ခုကို လေ့လာပြီး network_config script တွေရေးမယ်ဆိုရင် Configuration ချတာတွေ analysis လုပ်တာတွေ ပြီးတော့ network တစ်ခုကို implementation လုပ်တဲ့နေရာမှာ လွယ်ကူလျှင်မြန်စေမှာ ဖြစ်ပါတယ်။။
နမူနာ တစ်ခုပြောရရင် vlan တွေ ထပ် crete လုပ်မယ် name တွေပေးမယ် ပြီးတော့ route တွေထပ်add မယ် စတာတွေကို လူကို်ယ်တိုင် လုပ်မယ်ဆို comman တွေကို တစ်ကြောင်းချင်း တစ်လုံးဝင် တစ်လုံးထွက်လိုက်ရိုက်နေရမယ်။ အဲ့လို လုပ်မယ့်အစား program script တစ်ခု ရေးထားပြီး  run လိုးက်မယ်ဆို အမှားနည်းမယ် (typing error) ပြီးတော့ နာရီဝက်တစ်နာရီလောက်ကြာမယ့်အချိန်က ၃မိနစ်လောက်နဲ ့ပြီးမယ်် ;-)

အဲ့လို network programming လုပ်မယ်ဆို ဘယ် programming Language ကို သုံးမလဲ ဆိုတာကတော့ ကိုယ့်ရွေးချယ်မှုပါ။ Programming  မှာဆို အဓိကအားဖြင့် နှစ်မျိုးနှစ်စား ခွဲထားကျပါတယ်။
Compiled Languages ရယ် Scripting Languages ရယ် ဆိုပြီး ရှိတယ်ဗျာ့။

 Compiled Languages ဆိုတာ ဘာလဲဆိုတော့..
Computer တစ်လုံး တစ်ကယ်တမ်းနားလည်တာက 0/1 (on/off) တွေကိုပဲနားလည်တာဗျာ့ printf တို့ cin cout တို့ အဲ့တာတွေကို နားလည်တာမဟုတ်ဘူး .. အဲ့တော့ ကိုယ်တွေလုပ်ချင် ခိုင်းချင်တဲ့ instruction တွေကို လူနားလည်တဲ့ code(Source Code) တွေကနေ computer machine နားလည်တဲ့ code(Machine Code) တွေ အဖြစ်ပြောင်းဖို့ လိုလာပြီ.. အဲ့လို လူနားလည်တဲ့ character/set of instructions တွေကနေ computer နားလည်တဲ့ 0/1 bits တွေကို translate လုပ်ပေးဖို့ compiler တွေနဲ့ compile လုပ်ရတယ်ဗျာ့... အဲ့လို set of instrutcions တစ်ခုလုံးကို compile လုပ်လိုက် build လုပ်လိုက်မှ computer နားလည်တဲ့ machine code တွေထွက်လာပြီး computer တွေက ဖတ်ပြီး execute လုပ်လို့ run လို့ရမှာ.. Compiled language တွေက ဘယ် language တွေလဲ ဆိုတော့.. java,C, C++, C#, Visual Basic, Pascal, etc စတာတွေဖြစ်တယ် ;-)

Scripting Language ဆိုတာက ကျတော့..
သူကကျ ပြောရရင် programကြီးတစ်ခုလုံး(set of instructions) တစ်ခုလုံးကို compile လုပ်ပေးစရာမလိုပဲ.. instruction တစ်ခုချင်းဆီကို
one by one(Statement by statement) execute လုပ်ပေးတယ်ဗျာ့.. ဘယ်လိုမျိုးလဲဆိုတော့ scripting language တွေက interpreter သုံးပြီး program run နေတုန််းမှာ statement တစ်ခုချင်းကို machine code အဖြစ်ပြောင်းပြီး တိုက်ရိုက် တစ််ခုချင်း တစ်လိုင်းချင်း execute လုပ်တယ်ဗျာ့ .. Scripting Language တွေက ဘယ်ကောင်တွေလဲဆိုတော့.. Python, Ruby on Rails, Java Script, PHP,etc စတာတွေဖြစ်တယ်

Scripting language ရယ် compiled language မှာ ဘာကွာလဲဆိုတော့...
compiled language သည် compile လုပ်ရတဲဲ့အချိန််လိုပါတယ်
scripting language ကတော့ compile လုပ်စရာမလိုပါဘူး
compile လုပ်လို့ ထွက်လာတဲ့ machine code ကို computer တွေမှာ နောက်တစ်ကြိမ် ထပ် run စရာမလိုသလို source codeကိုလဲ ရှဲပေးစရာမလိုုပါဘူး ဒီတိုင်း ထွက်လာတဲ့ machine code ကို computer တွေမှာ execute လုပ်ပြီး run လိုက်ယုံပါပဲ

ကျွန်တော်ကတော့ python နဲ့ ရေးရတာကို ကြိုက်တယ်ဗျာ့။ သူ့မှာ က  networking  အတွက် python libraries တွေလဲ supporting ကောင်းကောင်းရှိတယ်ဗျာ့။

https://mega.nz/#F!OFNxVapa!Zhs2HIC2hD9AX9ZGjKETPw

Comments