K-Tech
Computer Service Technology IT Solutions
ကျွန်တော်တို့ IT ကုမ္ပဏီတွေ တောတော်များများ ဝန်ဆောင်မှုပေးရတာကတော့ Network Installation ဝန်ဆောင်မှု ဖြစ်ပါတယ်။
အဆောင်အအုံ သေးတဲ့ စီးပွားရေး လုပ်ငန်းမျိုးမှာတော့ ဘာမှ သိပ်ပြီး မသိသာပေမယ့် စီးပွားရေး လုပ်ငန်းကလည်း တော်တော်လေးကြီးနေမယ် System တွေကလည်း ပါလာမယ်။
Financial ပိုင်းမှာရော ၊ တခြား Reporting System တွေကိုပါ IT System တွေကိုပါ အကောင်အထည် ဖော်လာပါပြီ ဆိုရင် Enterprise Network System ကြီး တခုဟာ မရှိမဖြစ်ကို တည်ဆောက်ရ မှာ ဖြစ်ပါတယ်။
ဆိုတော့ ကျွန်တော်တို့က Enterprise Network System ကြီးတခု တည်ဆောက်ဖို့ဆိုရင် မရှိမဖြစ် လိုအပ်တဲ့ အချက်လေးတွေကို ဒီကနေပြီး ဝေမျှပေးချင်ပါတယ်။
(၁) Network များ Installation ဆောင်ရွက်ရမည့် နေရာကို စစ်ဆေးဖို့ လိုပါတယ်။
ဒီနေရာမှာ ကျွန်တော်တို့ ဆိုလိုချင်တာကတော့ End User တွေ ထိုင်မယ့် Workflow Layout Plan တွေကို စစ်ဆေးရမှာဖြစ်သလို၊ Network နဲ့ Server ထားရှိမည့် Rack နေရာကိုလည်း သေချာ တိုင်းတာ စစ်ဆေးဖို့လိုပါတယ်။
ဒါမှသာ လိုအပ်တဲ့ အရာတွေကို ခွဲခြားသိရှိနိုင်မှာ ဖြစ်ပါတယ်။
————————————————————————————
(၂) ကျွန်တော်တို့ တည်ဆောက်မယ့် Installation အတွက် လိုအပ်မယ့် အခြေခံ ပစ္စည်းများကို မှတ်သားထားဖို့ လိုပါမယ်။
ကျွန်တော်တို့ ကြုံဖူးတာရှိပါတယ်။ Rack နဲ့ အခန်းနဲ့ အံ့ဝင်ခွင်ကျ မဖြစ်တာတို့၊ Power ပိုင်းအဆင်မပြောတို့။ နောက်ပြီးတော့ မိုးတွင်းမှာ မိုးယိုတာ၊ ရေဝင်တာတို့ ။ ဒီ့အတွက်ကတော့ သေသေချာချာ
မှတ်သားပြီး Customer ကို တင်ပြဖို့ လိုအပ်ပါလိမ့်မယ်။
————————————————————————————
(၃) Network Design အကြမ်းကို ရေးဆွဲပါ။
Rack ဆင်ဖို့ လိုလာပြီ၊ Server တွေ၊ Storage တွေ၊ Router တွေ၊ Firewall တွေပါလာပြီဆိုရင် သေချာ Plan လုပ်ဖို့ လိုပါတယ်။
ကျွန်တော် ကြုံဖူးတာ တခုရှိတယ် အထဲမှာ 1 U Server အတွက်ကို 42 U Rack ကြီးနဲ့ ထားတာ မြင်ဖူးပါတယ်။
ဘယ်လိုမှ မျက်လုံးထဲ အဆင်မပြေတာပါ။ ဒီတော့ သေချာလေးတော့ Well Plan လေးကိုတော့ ချမှတ်စေချင်ပါတယ်။
———————————————————————————
(၄) Network Cable များကို Standard နဲ့ အညီပဲ Installation လုပ်ပါ။
ဒါကကျတော့ ဘယ်လိုမျိုးလဲဆိုတော့ Network Cable ဆွဲမယ်ဆိုလျှင် သူ့မှာ ရှိရမယ့် စံသတ်မှတ်ချက်ရှိပါတယ်။
အဲ့ဒါကို မေ့ထားလို့ တော့ မရပါဘူး။ ဥပမာ မီတာ ၁၀၀ အများဆုံး Installation ဆွဲတာမျိုး။ Power Cable များနဲ့ အနည်းဆုံး ၃ မီတာ ခွာပြီးမှ Installation လုပ်တာမျိုး။
နောက်ဆုံးတာကတော့ ကြိုးများ တိုခဲ့လျှင် ဆက်တာမျိုးမလုပ်သင့်ပါဘူး။ အဲ့ဒိ့အစား ကြိုးအသစ် ပြေးတာမျိုးပဲ ဆောင်ရွက်သင့်ပါတယ်။
သတိထားသင့်တာကတော့ Pest Control တော့ ရှိဖို့ လိုအပ်ပါလိမ့်မယ်။ ဒီလိုမှမဟုတ်ရင် ကြွက်နဲ့ တခြား အကောင်တွေ ကြောင့် နောင်တချိန်မှာ Damage ကြုံရနိုင်ပါတယ်။
———————————————————————————
(၅) Configuration ဆောင်ရွက်ပါ။
ကြိုးတွေ ဆွဲပြီးပြီ၊ Termination လည်းပြိီးပြီ၊ Connection Testing လည်းကောင်းတယ်၊ Labeling လည်း စနစ်ကျပြီ ဆိုလျှင်တော့ Configuration ဆောင်ရွက်လို့ ရပါပြီ။
မိမိ Plan ချထားတဲ့ အတိုင်းဆောင်ရွက်လို့ ရပါပြီ။ ပြီးရင်တော့ မိမိ ဆောင်ရွက်ခဲ့သမျှ Data အားလုံးကို Customer ထံ Handover လွှဲ ပေးလို့ ရပါပြီ။
ဒီ ငါးချက်ကိုတော့ သေသေချာချာ လေး ဆောင်ရွက်မယ်ဆို ကောင်းမွန်တဲ့ Network Service တခု ဖြစ်မယ်လို့ ကျွန်တော် တို့ ယူဆပါတယ်။
စီးပွားရေး လုပ်ငန်းတိုင်း မရှိမဖြစ် လိုအပ်သည့် Data Backup System များအကြောင်း
စီးပွားရေး လုပ်ငန်းတိုင်းမှာ Data သည် အသက်တမျှ အရေးကြီးသည့် အရာတခု လို့ သတ်မှတ်လို့ ရပါတယ်။ ဒီ Data တွေကို ကျွန်တော်တို့ IT နည်းပညာ နဲ့ အလုပ်လုပ်ပြီဆိုရင် မမျှော်မှန်းနိုင်သော Risk များကို ကြုံတွေ့နိုင်ပါတယ်။
ဥပမာ ဆိုကြပါစို့ ကျွန်တော်တို့ ဒီ Data တွေကို Ransomware Attack ကြုံရမယ်ဆိုရင် ဘာဖြစ်သွားနိုင်မလဲ။ Data ပျက်သွားနိုင်ပါတယ်။
နောက်တခုက ကျွန်တော်တို့ Computer ကြီးရဲ့ Hard Disk ပျက်သွားမယ်။ အနှစ်နှစ် အလလ သိမ်းထားသမျှ Data File တွေ ပျက်သွားမယ်။ ကျွန်တော်တို့ အချိန်တွေရော Data တွေရော ပြန်ရဖို့ အတွက် အရမ်းခက်ခဲ ပါလိမ့်မယ်။
နည်းနည်းလေး လုပ်ငန်းကြီးလာတဲ့ စီးပွားရေး ကုမ္ပဏီ ကြီးတွေမှာ Data တွေကို Centralized System နဲ့ Server ထဲမှာ သိမ်းပြီး အသုံးပြုကြပါတယ်။ ဒီလို System မျိုးတွေမှာ ကျွန်တော်တို့ မရှိမဖြစ် စဥ်းစားသင့်တဲ့ အရာကတော့ Data Backup System ဖြစ်ပါတယ်။
Data Backup System မသုံးခဲ့ဘူးဆိုလျှင်တော့ ကွန်ပြူတာကြီး တခုထဲမှာ Data တွေ သိမ်းထားတဲ့ ဘာမှမထူးခြားပါဘူး။ ပြီးတော့ Hard Disk တွေ ပျက်လျှင်လည်း ဘာ Data မှ ပြန်မရနိုင်တော့ပါဘူး ခင်ဗျာ။
ဒါကြောင့်ပဲ Data Backup System ကို မဖြစ်မနေ အသုံးပြုဖို့ လိုအပ်ပါလိမ့်မယ်။
Data Backup System အသုံးပြုမယ်ဆိုရင် အဓိက စဥ်းစားရမယ့် Concept Method (၄) ခု ရှိပါမယ်။ ကျွန်တော်တို့ စီးပွားရေး လုပ်ငန်းများပေါ်မူတည်ပြီး ဒီ Method (၄) မျိုးကနေ သင့်တော်သလို အသုံးပြုမယ်ဆိုလျှင် Data Loss Risk ကို တတ်နိုင်သမျှ ကာကွယ်နိုင်မှာ ဖြစ်ပါတယ်။
(၁)Full Backup System
နာမည်ကြည့်ရုံနဲ့ တန်းသိလောက်မယ် ထင်ပါတယ်။ ရှိသမျှ Data တွေအကုန်လုံးကို Backup လုပ်ဆောင်ပေးတာ ဖြစ်ပါတယ်။ အဲဒီ့အတွက် Backup Time ကြာနိုင်ပါတယ်။
Backup Space တွေလည်း များများ လိုနိုင်ပါလိမ့်မယ်။ ဒါပေမယ့် Data တခုခု ပျက်သွားပြီ ဆိုလျှင်တော့ ကျွန်တော်တို့ Backup Schedule အလိုက် Data တွေ အမြဲ Up to Date ဖြစ်နေမှာမို့ လွယ်လွယ်ကူကူ Restore ပြန်လုပ်နိုင်မှာ ဖြစ်ပါတယ်။
(၂) Incremental Backup System
ဒီ Backup System ကျတော့ ကျွန်တော်တို့ ပထမ Backup စလုပ်ချိန်မှာ ရှိရှိသမျှ Data တွေ အားလုံးကို Backup လုပ်ပေးမှာ ဖြစ်ပါတယ်။
ဒါပြီးသွားပြီဆိုရင်တော့ နောက်ထပ် Backup လုပ်တိုင်းမှာ အရှေ့ Backup ကနေ ပြောင်းလဲသွားတဲ့ File တွေနဲ့ Update တွေကိုပဲ ထပ်မံပြီး လုပ်ဆောင်တာ မို့ Backup Storage ဟာ အများကြီး မလိုတော့ပဲ လျှော့သွားမှာ ဖြစ်ပါတယ်။ ဒါပေမယ့် Backup Server ရဲ့ Computing Overload ဖြစ်နိုင်တာရယ် System Comparison Algorithm တွေဟာ ရှုပ်ထွေးတာ တွေကြောင့် Procedure တွေနဲ့ သေသေချာချာ ပြန်စစ်ဆေးပေးဖို့ လိုအပ်ပါလိမ့်မယ်။
(၃) Differential Backup System
Incremental Backup System နဲ့ ပုံစံတော့ ဆင်တူပါတယ်။ ပထမ Backup ကိုတော့ ရှိသမျှ Data တွေကို Backup လုပ်ဆောင်ပေးမှာ ဖြစ်ပါတယ်။ နောက်ပိုင်းမှာ ပထမ Backup နဲ့ ဆင်တူမှု မရှိတဲ့ Data တွေကို Backup လုပ်ဆောင်နေမှာ ဖြစ်ပါတယ်။
ဒါပေမယ့် Incremental System လိုမျိုး Incremental Version တွေနဲ့ ရှိနေမှာ မဟုတ်ဘဲ နောက်ဆုံးကူးခဲ့တဲ့ Differential Version တမျိုးတည်းကိုပဲ Up to Date ရရှိစေမှာ ဖြစ်ပါတယ်။ နောက်ပြီးတော့ Data တွေကို Backup လုပ်ရတဲ့ Stage တွေ များတဲ့ အတွက်ကြောင့် Storage ပိုလိုတာတွေ၊ Network Bandwidth လိုတာတွေ ဖြစ်နိုင်ပါတယ်။
တွဲထားတဲ့ ပုံမှာလည်း နားလည်လွယ်အောင် ရှင်းပြထားတာမို့ သေချာဖတ်ကြည့်ရင် နားလည်လောက်မယ် ထင်ပါတယ်။ ပထမ တကြိမ် မှာ Backup ကို Full Backup နဲ့ ဆောင်ရွက်လိုက်ပါတယ်။ နောက်တကြိမ်မှာ File (၂) File Up To date ဖြစ်သွားတာမို့ ထို Up to Date ကိုပဲ ထပ်ပြီး Backup လုပ်လိုက်ပါတယ်။
နောက် တတိယ မြောက်မှာ File စုစုပေါင်း (၄) file Up to Date ဖြစ်တာမို့ နောက်ဆုံးမှာ File ( ၄) ခု Differential ခြားနားတာကိုပဲ သိမ်းလိုက်ပါတယ်။ ဒီ့အတွက်ကြောင့် ဒုတိယ မြောက် Backup Data တွေဟာ မရရှိတော့ပဲ နောက်ဆုံး ကျန်တဲ့ Up to Date Data ကိုသာ ရရှိတော့တာကို တွေ့ရမှာ ဖြစ်ပါတယ်။
(၄) Mirror Backup System
ကြည့်လိုက်ရင်တော့ Full Backup System နဲ့ တူသလို ရှိပေမယ့် မတူပါဘူးခင်ဗျ။ ပထမ မတူတာကတော့ Full Backup ဟာ Backup အလိုက် Version တွေ ရှိတာမို့ ကျွန်တော်တို့ ပြန်ရှာလို့ ရပါတယ်။
Mirror Backup System ဟာ Data Synchronization နဲ့ ပိုပြီး ဆင်တူပါတယ်။ ဘာလို့လဲဆိုတော့ Data ကို Backup တကူးတက လုပ်စရာမလိုပဲ Storage သုံးတဲ့ Hard Disk မှာ RAID (1) Mirror Method သုံးရုံနဲ့ သူ့ဘာသာ သူ Data ကို Backup လုပ်စေမှာ ဖြစ်ပါတယ်။ ဒီ့အတွက် ဘာမှ Backup Schedule တွေ တခြား Function တွေ လုပ်စရာမလိုတော့ပါဘူး။
ဒါပေမယ့် တခု သတိထားဖို့က မူရင်း Data အတိုင်း Mirror Data ဟာ လိုက်ပြီးပြောင်းလဲတာမို့ အရေးကြီး ဒေတာတွေ ဖျက်မိရင် Recovery လုပ်ဖို့ မလွယ်ပါဘူးခင်ဗျာ။
ဒါပေမယ့်လည်း Backup နည်းထဲက အသုံးဝင်တဲ့ နည်းမို့ မျှဝေပေးရတာ ဖြစ်ပါတယ်။
ကျွန်တော်တို့ Page လေးကနေ အမြဲတမ်း IT နည်းပညာနှင့် ပတ်သက်သော ဗဟုသုတ များကို အမြဲတမ်း မျှဝေပေးနေတာမို့ က်မလွှတ်သွားရအောင် Like & See First လေးလုပ်ထားဖို့ တိုက်တွန်းချင်ပါတယ်။ တခြားသူငယ်ချင်းမိတ်ဆွေများ လည်း သိရှိရအောင် Share ပေးဖို့လည်း မမေ့ပါနဲ့နော်။
Customer : မောင်လေးရေ Login Password ထည့်တာ မှားတယ်လို့ပြနေတယ်။
Service Team : Reset ချလိုက်ပြီ အစ်မ Password အသစ်ရိုက်ပေးပါအုံး။
Customer : ဟင် Password အသစ်က အဟောင်းနဲ့ တူတူပဲတဲ့။
Service Team: ဟာ ……
Reddit ကတွေ့လိုက်တဲ့ paper တစောင် စိတ်ဝင်စားဖို့ကောင်းလို့။
What Makes A Great Software Engineer တဲ့ ဘယ်အချက်တွေက great software engineer ကိုဖြစ်စေသလဲ ဘယ်အချက်တွေ skillset တွေရှိသင့်တာလဲဆိုတာကို survey ကောက်ထားတာ။
Microsoft က engineer 59 ယောက်ကို survey ကောက်ပြီး ဆွဲထုတ်ထားတာ။
A.Personal Characteristics
1.Improving
ရှိနေတဲ့အနေထား ဥပမာ product quality, technical know-how စတာတွေကိုကျေနပ်မနေပဲ အမြဲတိုးတက်အောင်လုပ်နေတာ။
2.Passionate
ပြင်ပကလာတဲ့ reward, salary စတဲ့ဟာတွေထက် စိတ်ပါလို့ကိုလုပ်နေတာ။ တချို့ကောင်တွေလို လူအထင်ကြီးဖို့လုပ်နေတာမျိုးလဲမဟုတ်ဘူး။
ဒါလုပ်ရင်ပျော်နေတာမျိုးဆိုတာမျိုး။
3.Open-minded
ပြုလွင်ပြင်လွယ်တာ မှားနေတာ ထောက်ပြရင်ပြင်မယ်။ ပိုကောင်းအောင်သင်ယူမယ် အဲ့လိုစိတ်ရှိတာ။
4.Data-driven
Data ပေါ်မူတည်ပြီး ကောက်ချက််ချတာ ပိုကောင်းအောင် adapt လုပ်ယူတာ။
B. Decision Making
1.Knowledgeable about people and the organization
ကိုယ်အလုပ်လုပ်နေတဲ့နေရာမှာဘယ်သူတွေကဘာတွေသိတယ် ဘယ်သူ့ကိုဘယ်ကိစ္စဆိုရင်ချဉ်းကပ်ရမယ် တာဝန်ပေးရမယ် အားကိုးလို့ရမယ်ဆိုတာကိုသိတာ။
2.Sees the Forest and the Trees
Level of details အသေးစိတ်ကိုသိသလို bigger picture, company objective, strategic plan စတာတွေကို မြင်နိုင်တာ။
3.Update Their Mental Models
အလုပ်မှာလူတွေ role တွေ မတူတဲ့အခါ ဥပမာ UI သမားစဉ်းစားတာက programmer နဲ့မတူဘူး အဲ့တာမျိုးကို mental model ခေါ်တာ အဲ့တာတွေကို adjust လုပ်ပြီးဆိုင်ရာအလိုက် လိုက်စဉ်းစားနိုင်တာ။
4.Handling Complexity
Complexity ကို handle လုပ်နိုင်တာ ဆိုချင်တာက layer အလိုက် technial depth ရှိနေတာ။ ဒါကလူတိုင်းမရှိနိုင်ဘူး မွေးရာပါသဘောလို့တောင်ပြောလို့ရတယ်။
C.Teammates
1.Creates Shared Context
Problem details ကိုနားလည်တာချင်းမတူတာ ဒါမှမဟုတ် business background tech background မတူတာစတဲ့လူတွေကို နားလည်အောင် share understanding ဖြစ်အောင်လုပ်တာ။
2.Creates Shared Success
Team member တွေကိုစုပြီး တဦးတည်းမဟုတ်ပဲ အားလုံးဖို့ success ဖြစ်စေတာ။
3.Creates A Safe Haven
Teammate တွေကို negative consequence တွေမဖြစ်စေပဲနဲ့ (အားပေးတာမျိုး learn from mistake မှာ blaming မပါတာမျိုး) လုပ်ပေးတာ။
4.Honest
Teammate အချင်းချင်း communication ကောင်းဖို့က ယုံကြည်မှု့ကအဓိကကျတယ်။ ယုံကြည်တယ်ဆိုတာကလဲ ရိုးသားတဲ့သူမှ အဲ့တာမှ ယုံကြည်မှာ။
D. Software Product
1.Elegant
ရိုးရိုးရှင်းရှင်း solution မျိုးထုတ်ပေးတာ။နားလည်ရလွယ်တာမျိုးလုပ်ပေးတာမျိုး။
2.Creative
တခြားသူတွေနဲ့မတူပဲ problem ကို လွယ်လွယ်ကူကူ solve လုပ်နိုင်အောင် နည်းလမ်းအသစ်တွေနဲ့ကြိုးစားတာမျိုး။
3.Anticipates Needs
ခုလိုနေတဲ့ requirement အတွက်တင်မကဘူး နောက်ဖြစ်လာနိုင်တာတွေအတွက်ပါကြိုတင်ထဲ့စဉ်းစားထားတာမျိုး။
Refhttps://faculty.washington.edu/.../Li2015GreatEngineers.pdf
ကမ္ဘာ့ပထမဆုံးအကြိမ်အဖြစ် bluetooth ဖြင့် ဂြိုလ်တုကို အဝေးကနေချိတ်ဆက်ခြင်းအား အမေရိကန်အာကာသကုမ္ပဏီတစ်ခုဖြစ်တဲ့ Hubble Network က အောင်မြင်စွာ ဆောင်ရွက်နိုင်ခဲ့တာပါ။
၎င်းတီထွင်ဖန်တီးမှုကြောင့် cellular service တွေ မလိုတော့ပဲ bluetooth ရရှိတဲ့ device မှန်သမျှ ဂြိုလ်တုကွန်ရက်ကို ချိတ်ဆက်လာနိုင်တော့မှာပါ။ ဂြိုလ်တုကွန်ရက်ကို ချိတ်ဆက်နိုင်ဖို့အတွက် ကုမ္ပဏီရဲ့ software တွေကို update လုပ်ဖို့ လိုကြောင်းကိုလည်း ထုတ်ပြန်ချက်ထဲမှာ ရေးသားထားပါတယ်။
၎င်းနည်းပညာကြောင့် ကမ္ဘာတစ်ဝှမ်းလုံးဆိုင်ရာ ဆက်သွယ်ရေးကိစ္စတွေမှာ ပိုမိုလွယ်ကူအဆင်ပြေလာနိုင်ဖွယ် ရှိနေတာပါ။ အဓိကအားဖြင့် စိုက်ပျိုးရေး၊ ကာကွယ်ရေးနဲ့ ထောက်ပံ့ပို့ဆောင်ရေးကိစ္စတွေမှာ ၎င်းနည်းပညာကြောင့် အကျိုးကျေးဇူးများစွာ ဖြစ်ထွန်းလာဖွယ် ရှိနေပါတယ်။
Hubble ကုမ္ပဏီအနေနဲ့ သူတို့ရဲ့ pilot customer တွေနဲ့ ပူးပေါင်းကာ ကွန်ရက်ကိုချဲ့ထွင်နိုင်ဖို့ ပြင်ဆင်နေပြီး မကြာခင်မှာပဲ ကုမ္ပဏီရဲ့ တတိယမြောက်ဂြိုလ်တုကို လွှတ်တင်သွားဖွယ် ရှိနေပါတယ်။ ကမ္ဘာပေါ်မှာ bluetooth device ပေါင်း သန်းထောင်နဲ့ချီ ရှိနေတဲ့အတွက် ၎င်းနည်းပညာသာ စနစ်တကျအခြေကျလာပါက ဆက်သွယ်ရေးကိစ္စရပ်တွေပေါ်မှာ သက်ရောက်မှုကြီးမားနိုင်ကြောင်းပါဗျာ။
Ref: Hubble Network, Fossbytes
အမေရိကန်စပိုင်အေဂျင်စီတွေကို အထောက်အကူပြုနိုင်မယ့် အစွမ်းထက် AI Model အသစ်တစ်ခုအား Microsoft က အထူးထုတ်လုပ်လိုက်တာပါ။ ထူးခြားချက်အနေနဲ့ကတော့ ၎င်း AI Model ကို အင်တာနက်လုံးဝမလိုပဲ offline အသုံးပြုသွားနိုင်မှာ ဖြစ်ပါတယ်။
လျှို့ဝှက်သတင်းအချက်အလက်တွေကို လုံခြုံစွာခွဲခြမ်းစိတ်ဖြာနိုင်ဖို့အတွက် ၎င်း AI Model ကို ရည်ရွယ်ထုတ်လုပ်ထားတာပါ။ လူနဲ့ အခြားသောကိရိယာတွေထက်စာရင် ၎င်း AI Model နဲ့ ခွဲခြမ်းစိတ်ဖြာပါက လျှို့ဝှက်သတင်းအချက်အလက် ပေါက်ကြားနိုင်မယ့်အခွင့်အလမ်းတွေကို များစွာနည်းပါးသွားစေနိုင်မယ်လို့ Microsoft က ဆိုထားပါတယ်။
အင်တာနက်ဒေတာတွေအပေါ်ကို မှီခိုနေရတဲ့ အခြားသော AI Model တွေနဲ့ မတူပဲ တစ်မူထူးခြားစွာတီထွင်ထားတဲ့ ၎င်း AI Model ကတော့ OpenAI ရဲ့ GPT-4 ကို အခြေပြု တည်ဆောက်ထားတာပါ။ အခုချိန်မှာတော့ ၎င်း AI ကို အမေရိကန်အစိုးရအဖွဲ့ထဲက လူဦးရေ 1 သောင်းနီးပါးလောက်က စတင်အသုံးပြုနေကြပြီ ဖြစ်ပါတယ်။
အင်တာနက်အပါအဝင် အခြားသော Sources များနဲ့ မချိတ်ဆက်ပဲ သီးသန့်ဖန်တီးထားတဲ့ အဓိကအကြောင်းအရင်းကတော့ အစိုးရလျှို့ဝှက်ချက်များ လုံခြုံစေရန် ဖြစ်ပါတယ်။ ၎င်း AI ကို အသုံးပြုနိုင်မှာကလည်း အမေရိကန်အစိုးရအဖွဲ့ထဲက အထူးခွင့်ပြုချက်ရရှိထားတဲ့ လူတွေသာ ဖြစ်တာကြောင့် ကန့်သတ်ချက်ကလည်း ကြီးမားပါတယ်။ Fun Fact အနေနဲ့ပြောရရင်တော့ ၎င်း AI ကို ချိတ်ဆက်နိုင်ပြီဆိုရင် အစိုးရအဖွဲ့ထဲက အရေးကြီးလျှို့ဝှက်ချက်များကို သိရှိရနိုင်ဖွယ် ရှိကြောင်းပါဗျာ။
Ref: Bloomberg, Fossbytes
OpenAI ကအခုနောက်ဆုံးထုတ်ထားတဲ့ GPT-4o (o = omini) ကတော့ လူသားတွေနဲ့ကွန်ပြူတာတွေကြား ဆက်သွယ်ဆောင်ရွက်မှုတွေကို အဆင့်သစ်တစ်ခုဆီကို တိုးမြှင့်ပေးနိုင်မယ်လို့ ကုမ္ပဏီပညာရှင်တွေက ဆိုထားကြတာပါ။
ထူးခြားချက်တွေအနေနဲ့ဆိုရင်လည်း 4o က ChatGPT-3.5 တို့လို Free Version တွေထက် analysis အား တော်တော်ကောင်းကောင်းလာတဲ့အပြင် ဗမာစာအပါအဝင် အခြားသော Non-English Language တွေကို နားလည်မှုအားလည်း ကောင်းတဲ့အထဲမှာ ပါလာပါတယ်။ ဒါပေမယ့် ကျွန်တော့်အနေနဲ့ဆိုရင်တော့ 4o ရဲ့ ဗမာစာနားလည်မှုကို အားမရသေးပါဘူး။
Input မှာဆိုရင်လည်း ဓာတ်ပုံ၊ ဗီဒီယို၊ စာသားတွေ၊ Word file, Excel file တွေအပါအဝင် file type တော်တော်များများကို တစ်ခုချင်းစီ သွင်းလို့ရသလို combination အနေနဲ့ အတွဲလိုက်ပါ ထည့်သွင်းလို့ရလာပါတယ်။ Ouput တွေကိုလည်း စာသား၊ ဓာတ်ပုံတွေနဲ့ audio တွေဖြင့် အတွဲလိုက် ဖြေပေးနိုင်လာပါတယ်။ Audio input တွေကို 320 milliseconds အတွင်းဖြေပေးလာနိုင်တဲ့အတွက် သာမာန်လူသားတစ်ယောက်နဲ့ စကားပြောနေရသလို ဖြစ်လာမှာပါ။ တစ်နည်းအားဖြင့် GPT-4o နဲ့ပြောရတာက လူသားစကားဝိုင်းတွေမှာ ပြောရတဲ့ပုံစံနဲ့ အတူတူနီးပါးလောက် ဖြစ်လာပါပြီ။
Code ရေးနေကြတဲ့ Programmers အတွက်လည်း သတင်းကောင်းလို့ ဆိုရပါမယ်။ GPT-4o ရဲ့ အင်္ဂလိပ်စာနားလည်နှုန်းနဲ့ Code ရေးနိုင်တဲ့စွမ်းရည်က က GPT-4 Turbo နဲ့အတူတူပါပဲ။ ငွေကြေးပမာဏတစ်ခုအထိသုံးမှ access ကောင်းကောင်းရမယ့် GPT-4 Turbo ရဲ့ Performance ကို GPT-4o မှာ Free သုံးရမှာပါ။ ဒါကကို တော်တော်မိုက်နေပါပြီ။ API ပိုင်းမှာဆိုရင်လည်း GPT-4o ရဲ့ API က 50% လောက်အထိ စျေးသက်သာပါတယ်။ Visioning နဲ့ Audio နားလည်နိုင်မှုစွမ်းရည်မှာတော့ အခုလက်ရှိ ရှိသမျှ GPT Model အကုန်လုံးထက်ကို ပိုပြီးကောင်းတာပါ။
GPT-4o က ဖြစ်နိုင်ခြေရှိတဲ့ Modalities တွေ အကုန်စုပေါင်းပြီး တည်ဆောက်ထားတာဖြစ်တဲ့အတွက် GPT-4o Model ရဲ့ စွမ်းဆောင်ရည်ကြီးက ဘယ်လောက်အထိရှိမယ်ဆိုတာ သူတို့ကိုယ်တိုင်တောင် ရှာဖွေလေ့လာနေဆဲဖြစ်ကြောင်း OpenAI ကဆိုထားပါတယ်။ မိတ်ဆွေတို့ရော GPT-4o သုံးကြည့်ကြပြီးပြီလား။ မသုံးရသေးရင်တော့ Free ပေးနေတုန်း အမိအရ ဝင်သုံးလိုက်ကြပါဦး။ GPT-4o ရဲ့ Link ကို comment မှာ ချပေးထားပါတယ်။
Ref: OpenAI
ဒီတစ်ခေါက်မှာတော့ Network ရဲ့အဓိကကျလှတဲ့ OSI Model အကြောင်းကို sharing လုပ်ပေးသွားပါမယ်နော်။ 💻
OSI Model ကိုမသတ်မှတ်ခင်က Computer ထုတ်တဲ့ Company တွေ၊ Network Device ထုတ်တဲ့ Company တွေဟာ ကိုယ်ပိုင် Rule, Solution တွေနဲ့ထုတ်လုပ်ကြတော့ Company မတူတဲ့ Vendor ကွဲတဲ့ Device တွေကို ချိတ်ဆက်ကြတဲ့အခါ Network တွေလည်းကွဲသလို ချိတ်ဆက်တဲ့အခါမှာလည်း ပြဿနာလေးတွေရှိလာကြတယ်။ ဒီလို Problem တွေကြောင့် Vendor တွေအားလုံးအတွက် လိုက်နာရမယ့် စံသတ်မှတ်ချက်တစ်ခုကို International Organization for Standardization (ISO) ကနေ Open Systems Interconnection Model (OSI) ကို ၁၉၈၄ မှာ သတ်မှတ်ခဲ့ပါတယ်။ OSI Model မှာ 7 Layer ရှိပါတယ်။ ဒီလို Layer တွေခွဲပြီး သတ်မှတ်ပေးလိုက်တဲ့အတွက် Troubleshooting လုပ်ရတဲ့အခါမှာလည်း ဖြေရှင်းရန် ပိုလွယ်ကူသွားပါတယ်။
I. Layer 1: Physical Layer 🔌
OSI Model ရဲ့ 1st Layer ကတော့ Physical Layer ဖြစ်ပါတယ်။ PC နှစ်လုံးကို Cable, Fiber, Wireless ဆိုတဲ့ Medium တစ်မျိုးမျိုးနဲ့ချိတ်ဆက်တဲ့အခါ Medium အပေါ်တကယ်ဖြတ်သန်းသွားလာတာက Ethernet Cable မှာဆို electrons, Fiber မှာဆို photons, Wireless မှာဆို Radio Frequency တွေဖြစ်တယ်။ ဒါပေမယ့် electron တို့ photon တို့ကို Computer ကနားမလည်းဘူး။ Computer နားလည်တဲ့ 1, 0 ဆိုတဲ့ Binary ကို Physical Layer ကပြောင်းလဲပေးပါတယ်။ ဒါ့အပြင် Fiber Cable ပေါ်မှာသွားဖို့ အလင်းပြင်းအား dB တွေ၊ အသုံးပြုမယ့် Ethernet Cable (Twisted, Coaxial) အမျိုးအစားတွေ၊ electrical signal (1 ဆို on, 0 ဆို off)၊ Wireless ဆိုရင်လည်း 2.4GHz, 5GHz ဘယ် frequency နဲ့ communicate လုပ်မလဲ စတာတွေကို သတ်မှတ်ပေးပါတယ်။ နောက် Physical Topology တွေဖြစ်တဲ့ Bus, Star, Ring, Mesh တို့ကလည်း Physical Layer နဲ့သက်ဆိုင်ပါတယ်။ Physical Layer မှာ သူ့အထက် Layer ဖြစ်တဲ့ Data Link Layer ကနေပို့သမျှ data frame တွေကို bits (0,1) အနေနဲ့ ပြောင်းလဲပေးပြီး Medium ကတဆင့် လက်ခံမယ့်သူဆီကို ပေးပို့ပေးသလို physical layer ကနေ ၀င်လာမျှ bits တွေကိုလည်း Data Link Layer နားလည်တဲ့ frames တွေအနေနဲ့ ပြန်လည်ပို့ဆောင်ပေးပါတယ်။ Physical Layer မှာ Ethernet, Fiber, Coaxial, Wireless, Hub, Repeater, NIC စတာတွေ ပါ၀င်ပါတယ်။
OSI Model ရဲ့ Layer 2 အကြောင်းလေးနော်. 🖥
II. Layer 2: Data Link Layer
Data Link Layer ကတော့ သူ့ အထက် Layer တွေက ပေးပို့လိုက်တဲ့ Data တွေကို Frame တစ်ခုအနေနဲ့ ပြောင်းလဲပြီးပို့ဆောင်ပေးပါတယ်။ Data Link Layer မှာ MAC (Media Access Control) နဲ့ LLC (Logical Link Control) တို့ပါဝင်ပါတယ်။ Sender နဲ့ Receiver ကြား Data ပေးပို့တဲ့အခါ အချင်းချင်း မတိုက်မိအောင် transmission လုပ်ဆောင်ဖို့ Medium ဟာ အားသလားဆိုတာ စစ်ဆေးပေးတဲ့ CSMA/CD, CSMA/CA အစရှိတဲ့ Collision Method တွေက Data Link Layer မှာအလုပ်လုပ်ပါတယ်။ Sender ဘက်ကပို့လွှတ်လိုက်တဲ့ Data ထဲမှာ “Interference, Network Medium” တစ်ခုခုကြောင့် Error တက်ခဲ့ရင် စစ်ဆေးပေးမယ့် Error Checking, Correction Technique တွေ၊ Switching တွေ၊ Data Link Layer Protocols (ARP, Frame Relay, PPP, MPLS, …) စတာတွေပါဝင်ပါတယ်။
Layer 2 Devices: Bridges, Switches, Wireless Access Point (AP)
OSI Model ရဲ့ Layer 3 လေး ဆက်ကြအုံးစို့နော်. 💻
III. Layer 3: Network Layer
မတူညီတဲ့ Network မှာရှိနေတဲ့ Sender (Computer A) နဲ့ Receiver (Computer B) အကြား Data တွေရောက်အောင် ပို့ဆောင်ပေးဖို့ Network Layer ကတာဝန်ယူပါတယ်။ အဲ့လို ပို့ဆောင်တဲ့နေရာမှာ လမ်းကြောင်းတွေ တစ်ခုထက်မကရှိနေရင် ဘယ်လမ်းကြောင်းကနေပို့မလဲဆိုတဲ့ လမ်းကြောင်းရွေးချယ်မှု (Routing) ကိုလည်း ဆောင်ရွက်ပေးပါတယ်။ လမ်းကြောင်းရွေးချယ်မှု ကလည်း Network Layer မှာ အသုံးပြုတဲ့ Protocol တွေပေါ်မူတည်ပြီး ကွဲပြားပါသေးတယ်။ နောက်တစ်ချက်က Internet or Wifi ချိတ်ဆက်ပြီး Google Browser, Youtube, Facebook တစ်ခုခုကနေ အချက်အလက်တွေရှာမယ်ဆိုရင် Internet နဲ့ အသုံးပြုသူတွေအကြား Connectivity ရရှိအောင် IP လို့ခေါ်တဲ့ Logical Address ကိုအသုံးပြုရတယ်။ Logical Address ရှိမှသာ Internet ကို ချိတ်ဆက်လို့ရမယ်။ Internet နဲ့ Connection ရရှိရန် Device တွေမှာ IP သတ်မှတ်ပေးဖို့ကလည်း Network Layer မှာလုပ်ဆောင်ပါတယ်။ IP (Logical Address) ကတော့ Device တစ်လုံးနဲ့တစ်လုံး တူလို့မရပါဘူး။
Layer 3 Devices: Router, L3 SW
Layer5 အကြောင်းလေးလာပါပြီ.💻
V. Layer 5: Session Layer
အခ်က္အလက္ေတြေပးပို႔ေနတဲ့ Computer ေတြအၾကားမွာ Logical Connection (Session) တည္ေဆာက္ေပးမႈ (establish)၊ ထိန္းသိမ္းမႈ (maintain)၊ အဆုံးသတ္ေပးမႈ (terminate) စတာေတြကို Session Layer က တာဝန္ယူလုပ္ေဆာင္ေပးပါတယ္။ ၿပီးေတာ့ Data transmit လုပ္ေနတဲ့ Connection ကို Simplex လား၊ Half Duplex လား၊ Full Duplex လား ဘယ္ Mode နဲ႕လုပ္ေဆာင္မယ္ဆိုတာကို ဆုံးျဖတ္ေပးပါတယ္။ ဥပမာ. Google ကေန Text, Photo ေတြရွာခ်င္တယ္, Youtube ကေနသိခ်င္တာေတြရွာမယ္, E-mail ပို႔ခ်င္တယ္တယ္ဆိုၾကပါစို႔။ Google, Mail တို႔ဆိုတာက တစ္ဦးတည္းကေန လွမ္းယူသုံးေနတာမွမဟုတ္ပဲ၊ ေနရာအႏွံ႕ကေန Device အမ်ိဳးမ်ိဳးနဲ႕ Web, Mail, Media Server ေတြဆီ Access လုပ္ ေနၾကတာ။ Server ေတြဆီမွာ တၿပိဳင္တည္း Access လုပ္ေနၾကတဲ့ Process ေတြ၊ Session ေတြကလည္းမတူၾက ဘူး။ Session Layer က ဘယ္ User ကဘယ္လမ္းေၾကာင္း၊ ဒီ User ကေတာ့ျဖင့္ဘယ္လမ္းေၾကာင္း ကသုံးပါဆိုတဲ့ Session ေလးေတြကို စီမံေပးပါတယ္။
VI. Layer 6: Presentation Layer
Presentation Layer ရဲ့အဓိကလုပ်ဆောင်ချက်ကတော့ Encoding/Decoding, Encryption/Decryption, Compression/Decompression တို့ဖြစ်ပါတယ်။ အထက် Layer ကနေပို့လိုက်တဲ့ Data ကို Sender ဘက်မပို့ခင် Network ထဲမှာသွားလာနိုင်တဲ့ Format အဖြစ်အရင်ပြောင်းပါတယ်။ Sender ဘက်ခြမ်းမှာ သုံးတဲ့ Character Code က EBCDIC- Extended Binary Coded Decimal Interchange Code ဖြစ်နိုင်သလို၊ Receiver ဘက်ကလည်း ASCII- American Standard Code for Information Interchange ဖြစ်နိုင်တယ်။ Sender ရဲ့ Presentation Layer က EBCDIC ကို Network အတွင်းသွားလို့ရတဲ့ Format အဖြစ်ပြောင်း ပို့လိုက်တယ် (Encode လုပ်တယ်လို့ခေါ်တယ်)။ Receiver ဘက်က Presentation Layer ကရောက်ရှိလာတဲ့ Data ကို ASCII အဖြစ်ပြန်ပြောင်းတယ် (Decode လုပ်တယ်လို့ခေါ်တယ်)။ Encode/Decode လုပ်တဲ့ Method ကတော့ တစ်ဖက်နဲ့တစ်ဖက်တူချင်မှတူမယ်။ နောက်တစ်ချက်က အချက်အလက်တွေပေးပို့တဲ့အခါ Secure ဖြစ်စေဖို့ Data ကို Encrypt လုပ်ပီးပို့ပေးတယ်။ Receiver ဘက်မှာ ပြန်ပြီး Decrypt လုပ်တယ်။ Encrypt/Decrypt လုပ်တဲ့ Method ကတော့ နှစ်ဖက်စလုံးတူညီဖို့လိုအပ်တယ်။ Data ကိုမပို့ခင် Presentation Layer က Data Size အကြီးကြီးနဲ့ပို့မနေအောင်၊ Size သေးသွားအောင် Compress အရင်လုပ်လိုက်တယ်။ တစ်ဖက်ရောက်မှ Decompress လုပ်ပြီး Original Data ပြန်ယူပေါ့။
What is FTP (File Transfer Protocol)? 💻
File Transfer Protocol ဆိုတာ Network ပေါ်မှာရှိတဲ့ Hosting Server ဆီကနေ လိုအပ်တဲ့ Data files တွေကို ကိုယ့်ရဲ့ Clients (PC, Phone, ...) မှာဆွဲယူအသုံးပြုလို့ရအောင် File Transfer လုပ်ပေးတဲ့ standard network protocol ဖြစ်ပြီး TCP/IP connection ကနေတဆင့်အလုပ်လုပ်ပါတယ်။ ဒီလို File တွေရယူနိုင်ဖို့ Server နဲ့ Clients တွေ အချင်းအချင်း အဆက်အသွယ် လုပ်နိုင်ရန်အတွက် FTP က Open Connection ၂ ခုနဲ့လုပ်ဆောင်ပါတယ်။ ပထမ connection က Server နဲ့ client ကြားအပြန်အလှန်ဆက်သွယ်နေတဲ့ commands, replies တွေအတွက်သုံးပြီး TCP port 21 ကိုအသုံးပြုပါတယ် (controlling the conversation)။ ဒုတိယ connection က data transfer လုပ်နိုင်ဖို့အတွက်သုံးပြီး TCP port 20 ကိုအသုံးပြုပါတယ် (data channel)။ File တွေ transfer လုပ်တဲ့အခါ FTP က block, stream and compressed ဆိုတဲ့ mode သုံးမျိုးကိုအသုံးပြုတယ်။ Stream mode က data information တွေကိုအကြားအလပ်မရှိ တစ်ဆက်တည်း သိမ်းထားနိုင်အောင် အသုံးပြုတယ်၊ Block mode မှာတော့ data တွေကို block လိုက်အပိုင်းလေးတွေနဲ့ သိမ်းဆည်းပေးတယ်။ Data size များတဲ့ information တွေကိုတော့ compress လုပ်ပြီး Compressed mode အနေဲ့သိမ်းပေးနိုင်အောင် အသုံးပြုတယ်။
FTP Transfer ကဘယ်လိုအလုပ်လုပ်လဲ?
Step 1: User (client) ကနေ FTP server ဆီကို Run box ကနေ //ftp-server-ip နဲ့သွားတာဖြစ်ဖြစ်၊ ftp server ရဲ့ domain ကနေသွားတာပဲဖြစ်ဖြစ် တစ်နည်းနည်းနဲ့ ရောက်အောင်သွားရပါတယ်။
Step 2: Client အနေနဲ့ ဘယ်လို data တွေလိုချင်တယ်၊ ဘာတွေ upload တင်ချင်တယ်၊ download ချချင်တယ် ဆိုတဲ့ Request တွေ Server ဆီရောက်တဲ့အခါ server နဲ့ client အကြား communication စဖြစ်တယ်။ (controlling the conversation)
Step 3: Conversation ဖြစ်ပြီးတဲ့နောက် မှာ FTP ကိုသုံးပြီး client တွေက file upload, download, delete, rename, move, copy စတာတွေကို server ကနေတဆင့်အသုံးပြုလို့ရတာဖြစ်ပါတယ်။ (data channel)
ဥပမာ. ကျနော်တို့ Google drive, Terabox, Filezilla, Dropbox အစရှိတဲ့ drive တွေပေါ် File တွေတင်တာ, download လုပ်ချင်တာမျိုးတွေက FTP ကိုအဓိကအသုံးပြုနေတာပဲဖြစ်ပါတယ်။
ကျနော်တို့ computer ကနေ တည်ဆောက်နေတဲ့ TCP connection တွေကိုလည်းကြည့်လို့ရပါတယ်။ netsat -a ဆိုတဲ့ command လေးကိုအသုံးပြုပြီး PC ကနေ "ဘယ် TCP connection ကို port ဘယ်လောက်နဲ့ establishment လုပ်နေသလဲ" ဆိုတာကြည့်လို့ရပါတယ်။
ဒီလောက်ဆို FTP ဆိုတာဘာလဲ၊ ဘယ်လိုအလုပ်လုပ်လဲ၊ ဘယ်လိုနေရာတွေမှာတွေ့ရလဲဆိုတာ အကျမ်းဖျဥ်း နားလည်လောက်ပြီလို့ထင်ပါတယ်။
မိတ်ဆွေတို့သိချင်တဲ့အကြောင်းအရာတွေကိုလည်းလာရောက် မေးမြန်းလို့ရသလို၊ နောက်လာမယ့် contents တွေမှာလည်း ဘယ်လိုအကြောင်းအရာမျိုးတွေသိချင်လဲဆိုတာ ပြောပြပေးလို့ရပါတယ်။ ☺️
Transfer Protocol
.Tech
TCP/UDP အကြောင်း
*********************
TCP/UDP ဟာ Transport Layer မှာ အလုပ်လုပ်ပါတယ်။
💻
TCP
*****
TCP က Host တစ်လုံးနဲ့ Host တစ်လုံးကြား data တွေ ပေးပို့တဲ့ အခါမှာ data information မပျောက်ပျက်အောင် လုပ်ဆောင်ပေးတယ်, Connection Oriented။ Source Host ကနေပေးပို့လိုက်တဲ့ Data က လက်ခံတဲ့ host ဘက်မှာ ရောက်ရဲ့လားဆိုတဲ့ guarantee, အာမခံချက်ရှိတယ်။ Destination host ဆီကို ပို့လိုက်တဲ့ Data ရောက်လား၊ မရောက်ဘူးလား ဆိုတာ Acknowledgement ဆိုတဲ့ confirmation ကိုအသုံးပြုတယ်။ Data ကို sequence အလိုက် order စီးပြီးပို့တယ်။ တကယ်လို့ ပို့လိုက်တဲ့ Data ကလမ်းခုလတ်မှာ error တစ်စုံတစ်ရာဖြစ်ခဲ့ရင် Retransmission ပြန်လုပ်ပေးတယ်။
Data ကိုစပြီး transmit မလုပ်ခင် မှာ Reliable connection တစ်ခုကိုစတင်တည်ဆောက်တယ်။
Step1: Sender ကနေ SYN ဆိုတဲ့ Synchronization ကို Receiver ဘက်ကို Request လုပ်တယ်။
Step2: Receiver ဘက်ကနေ Request ရောက်ပါတယ်ဆိုတဲ့အကြောင်း SYN ACK အနေနဲ့ Sender ဘက်ပြန်ပို့တယ်။
Step3: အဲ့နောက် Sender က Receiver ကတော့ ကိုယ်ပေးပို့လိုက်တဲ့ Request ကိုလက်ခံနေပြီ၊ Data ပို့လို့ရပြီဆိုတဲ့တာကိုသိသွားပြီး ACK အနေနဲ့ Reciever ဆီကိုပြန်ပို့တယ်။
အဲ့ဒီနောက် Sender နဲ့ Receiver အကြားမှာ Reliable Connection တစ်ခုကိုတည်ဆောက်ပြီး Data တွေအပြန်အလှန်ပေးပို့ကြတယ်။ ဒီလို Sender/Receiver အကြား Reliable Connection တခုတည်ဆောက်တာကို Three Way Hand Shake လုပ်တယ်လို့ခေါ်တယ်။
TCP ကို file transfer, Email or Texting, Web Browsing တွေမှာအသုံးပြုတယ်။
UDP
*****
UDP မှာတော့ ဒီလိုမျိုး guarantee မရှိဘူး။ No Ack, No Three Way Hand Shake။ ပေးပို့လိုက်တဲ့ Data ကတစ်ဖက် host ဆီရောက်ရဲ့လားဆိုတာ ဂရုမစိုက်ဘူး။ Request ရပီဆိုတာနဲ့ Data ကိုစပို့ပြီ။ ပို့လိုက်တဲ့ Data က Destination ဆီကိုရောက်ရဲ့လားဆိုတာကို မကြည့်တော့ဘူး။ Data Sequence မလုပ်သလို Data loss လို့လည်း Retransmission မလုပ်ဘူး။
UDP ကိုတော့ Live Streaming, Online Gaming, Video Chatting စတဲ့နေရာတွေမှာအသုံးပြုတယ်။
Live stream လွှင့်တဲ့ချိန်မှာ UDP ကိုသုံးထားတော့ Internet line တွေကျတဲ့အခါ ပုံရိပ်တွေဝါးသွားတာ၊ အသံတွေပြတ်တောင်းသွားတာတွေ ဖြစ်ပေါ်လာတာပါ။
အချုပ်အနေနဲ့ TCP က Reliable ဖြစ်တယ်၊ Data Sequence အလိုက်စီရတော့ အချိန်ကြာတယ်၊ သို့ပေမယ့် sender နဲ့ receiver အကြားမှာ Data အပြည့်အစုံးရတယ်။ UDP မှာတော့ connection တည်ဆောက်နေစရာမလိုဘူး၊ Broadcast, Multicast traffic တွေပို့ရင်မြန်တယ်၊ Data complete မဖြစ်သေးတောင် ချက်ချင်းတန်းပို့တယ်၊ သို့ပေမယ့် Unreliable မဖြစ်ပါဘူး။
ခုလောက်ဆို TCP/UDP connection တွေအကြောင်း အကျဥ်းဖျဥ်းသဘောပေါက်လောက်ပြီလို့ထင်ပါတယ်။ Next Contents တွေမှာပြန်တွေ့ကြမယ်နော်။ ☺️😊
/UDP
.Tech
DDoS Attack အကြောင်းအနည်းငယ်
****
Dustrubyted Debtuak of Service (DDoS) Attack ဆိုတာ ကျနော်တို့ Data Center ထဲက network devices (Router, Switch, Servers,..) တွေ၊ Branch office တွေမှာရှိတဲ့ Server တွေကို ကောင်းကောင်းအလုပ်မလုပ်နိုင်တော့အောင် အကြိမ်ဖန်များစွာ malicious traffic တွေပို့လွှတ်ပြီး တိုက်ခိုက်တဲ့နည်းလမ်းပါ။ Attacker ရဲ့ PC တလုံးကနေ session တွေခွဲပြီး Victim ဆီကို multiple request တွေပေးပို့ပြီး Server Crash/Harm သွားအောင်လုပ်ဆောင်နိုင်ပါတယ်။ DDoS မှာ attack ပုံစံပေါ်မူတည်ပြီး Volume based, Protocol based, Appication Layer based ဆိုပြီးသုံးမျိုးရှိတယ်။
1️⃣
Volume Based DDoS Attack : သူက ကျနော်တို့ server နဲ့ client ကြားမှာရှိနေတဲ့ physical link ရဲ့ Bandwidth ကို overload ဖြစ်အောင် Server ဆီ UDP flooding, ICMP packet တွေအကြိမ်ကြိမ်ပေးပို့ရင်းတိုက်ခိုက်တဲ့နည်းလမ်းပါ။
2️⃣
Protocol Based DDoS Attack : ဒီမှာတော့ Actual Server Resources (Web, E-mail, DHCP, ...) တွေကို SYN flooding, fragment packet attack, Ping of Death တွေအသုံးပြုပြီး တိုက်ခိုက်တဲ့နည်းလမ်းပါ။
3️⃣
Application Layer Based DDoS Attack : ဒီနည်းလမ်းကတော့ Web Server တွေ Windown Server တွေရဲ့ ယိုပေါက်တွေကို sniff လုပ်ပြီး server crash/down သွားတဲ့အဓိကို တိုက်ခိုက်နိုင်ပါတယ်။
🚫
Attacker ရဲ့ goal ကတော့ ကိုယ်ရည်ရွယ်တဲ့ victim ကိုနည်းလမ်းအမျိုးမျိုးနည်း Crash ဖြစ်အောင်တိုက်ခိုက်နေတာပါ။
🦸♂️
Secure ဖြစ်ဖို့အတွက်ဆိုရင်တော့ ကိုယ့် network ဆီကိုရောက်လာတဲ့ packet တွေမူမှန်မမှန် Monitoring လုပ်တာ၊ Web app: Firewall တွေ၊ Security features တွေကို update အမြဲတမ်းလုပ်ပြီး စောင့်ကြည့်သင့်ပါတယ်။
.Tech
တစ်လ ၅ သိန်းဝင်ရင်
တစ်နှစ် သိန်း ၆၀၊
ဒါဆို ဆယ်နှစ်နေမှ
သိန်း ၆၀၀ ရမယ်။
ဒါ ကျွန်တော်တို့ အများစု
စဥ်းစားမိတဲ့ ပုံံစံ
Linear Thinking လို့ခေါ်တယ်။
ဘဝက Linear Thinking နဲ့
အလုပ်မလုပ်ဘူး။
အထူးသဖြင့် ဒီနေ့လို
အပြောင်းအလဲ များတဲ့
ကာလမှာပေါ့။
ထာဝရဆိုတဲ့ စကားကိုခဏမေ့ထားပြီး
Project တွေလဲ တခဏဆိုတဲ့
အတွေးထည့်ထားပြီး
ဘဝဆိုတဲ့ project ကို
စီမံခန့်ခွဲတဲ့ နေရာမှာ
စမ်းသပ်မှုပေါင်းများစွာ iteration များစွာနဲ့
agile management ပုံစံသွားလိုက်တယ်။
ခေတ်၊ စနစ်ပေါ်မူတည်ပြီး
အတွေးအခေါ်ပြောင်းမှ
ခေတ်နဲ့ ကိုက်နဲ့ အတွေးအခေါ်ဖြစ်မှာ။
Quality Management ခေတ်မှာ
perfect ဆိုတာ ကြိုက်တဲ့
ဂျပန်တွေ TQM နဲ့ တိုးတက်လာတယ်။
ဒီနေ့လို agile ခေတ်မှာ
အသုံးများတဲ့ ဖုန်းက
Sony မဟုတ်တော့ဘူး။
ခေတ်နဲ့ ညီတဲ့ အတွေးအခေါ်
အရေးကြီးတယ်လို့ စဥ်းစားမိတယ်။
Phyo Paing @ Derek
How C/C++ works
C/C++ ကို system programming, embedded programming, Game programming လိုနေရာတွေမှာမဖြစ်မနေသုံးရတုန်းပဲ။ ဘာလို.လဲဆိုရင် native speed ရတယ် hardware ကိုတိုက်ရိုက် ထိန်းလို.ရတယ် ဆိုတဲ့အချက်တွေကြောင့်ပဲ။ ဥပမာ device driver တွေရေးမယ်ဆိုရင် assembly,C , C++ လို low level programming အနေနဲ.ရေးလို.ပဲရမယ်။ High level တခြား language တွေကအဆင်မပြေဘူး။နောက်တခုက native speed, native speed ဆိုတာ C/C++ က ထုတ်တဲ့ executable binary code သည် native platform ဥပမာ Intel CPU, window platform အဲလိုကောင်တွေအပေါ်မှာ တိုက်ရိုက် run နိုင်တယ်။ ဒါကြောင့်သူတို.သည် speed အရဆိုရင် မြန်တယ်။ တခြား language တွေ ဥပမာ Java,C #, Python, PHP အဲ့ကောင်တွေသည် Virutal machine ဒါမှမဟုတ် interpreter တခုခုခံနေရတဲ့အတွက် C/C++ လို မမြန်နိုင်ဘူး။ ကြားထဲမှာ တဆင့်ခံပြီးတော့ machine code အဖြစ်ရောက်အောင် ပြန်ပြောင်းပေးနေရသေးတယ်။ Layer တခု ထပ်ခံရတယ်ပေါ့။နောက်တခုက system programming လိုနေရာမျိုးမှာ hardware ကို direct ကိုယ်တွယ်ရမယ်ဆိုရင် C/C++ လို မျိုး low level ထိရေးလို.ရတဲ့ (C/C++ မှာ assebmly ကို embed လုပ်ရေးရင်လဲရတယ် နောက်တခြား library တွေသုံးပြီးတော့ low level device တွေကို ခိုင်းရင်လဲ ရတယ်) programming language မှပဲအဆင်ပြေမယ်။
အဲ့ဒီတော့ serious programmer (ဆိုချင်တာက system programming အထိ Low level တွေအထိ နားလည်အောင်လုပ်တော့မယ်ဆိုရင် C/C++ သည် မဖြစ်မနေကို နားလည်ရမယ် ) အဲ့လိုမှမဟုတ်ဘူးဆိုရင် memory ဆိုတဲ့ concept မျိုးကိုတောင် တခြား high level langauge တွေနဲ.ဆိုရင် သေချာနားလည်အောင် ရှင်းပြလို.မရဘူး။ Address တွေ pointer တွေဆိုတာ သူတို.မှာ ရှိမှမရှိပဲနဲ.ကိုး
Open Source ရတဲ့ C/C++ compilerတွေမှာ GCC (GNU compiler collection) က နာမည်အကြီးဆုံးပဲ။
အဓိက အားဖြင့် C/C++ ကနေ native code(executable code)ထုတ်တော့မယ်ဆိုရင် ဒီအဆင့်တွေလုပ်ရတယ်။
Preprocessing
Compiling
Assembly
Linking
အဲ့ကောင်တွေပါတယ်။ တခြား Compiler တွေအပေါ်မူတည်ပြီးတော့ အထဲမှာ intermediate representation တွေကွာတာရှိမယ်။ နောက် Optimization တွေကွာမယ်။ ဒါပေသိ C/C++ Compiler အများစုကတော့ ခုနက လေးဆင့်ကို ပါကိုပါရတယ်။
Preprocessing
C/C++ program တွေရဲထိပ်ဆုံးမှာ # နဲ.ခံပြီးရေးတဲ့ statement တွေကို preprocessor statement လို.ခေါ်ပါတယ် သူတို.က အဓိကကတော့ marco expansion , code replacement အစရှိတာတွေလုပ်ကြတာပါ။ Hearder file တခုကိုခေါ်ထားပြီဆိုရင် ဥပမာ လို.ခေါ်ထားရင် သူ.ထဲကနေသုံးမဲ့ put function ကိုသုံးမယ်ဆိုပါစို. ဒါကို externally reference လုပ်ပါတယ်ဆိုပြီး အစားထိုးလိုက်ပါတယ်။ဥပမာ ဒီ C program ဆိုပါစို.
int
main(void)
{
puts("Hello, World!");
return 0;
}
သူ.ကို preprocesor ကနေရှင်းလိုက်ရင် ဒီလိုဖြစ်သွားပါလိမ့်မယ်။
extern int __vsnprintf_chk (char * restrict, size_t,
int, size_t, const char * restrict, va_list);
# 493 "/usr/include/stdio.h" 2 3 4
# 2 "hello_world.c" 2
int
main(void) {
puts("Hello, World!");
return 0;
}
အပေါ်ဆုံးက extern နဲ.စတဲ့ကောင်တွေသည် ဒါက external function call လို.ဆိုလိုတာပါ။ stdio library ထဲက ဘယ် function ကိုယူသုံးမယ်လို.ဆိုချင်တာပါ။ အဲ့တော့ preprocesor ရဲ.အလုပ်ကို အရိုးဆုံးပြောရမယ်ဆိုရင် library call တွေကို ထဲ့မယ်။ source expanding လုပ်မယ်။ replacing လုပ်မယ်။ နောက် textual replacement လုပ်မယ်ပေါ့။ အသေးစိတ်ကတော့
https://gcc.gnu.org/onlinedocs/cpp/
ဒီမှာသွားကြည့်ပါ။
နောက်တဆင့် Compilation ပေါ့။ Compilation လို.ဆိုလိုက်ရင်သူက lexical analysis (token တွေ တခုခြင်းဖြတ်ထုတ်တာ ဘယ်ဟာက operator, ဘယ်ဟာက keyword, ဘယ်သူက variable အဲ့တာတွေ သိအောင်လုပ်တာ) နောက် Syntax Analysis လုပ်ရပါတယ်။ သူကတော့ C/C++ grammar rule တွေနဲ.ရေးထားတဲ့အတိုင်း မှန်ရဲ.လားဆိုပြီးတော့ စစ်ရတာပါ။ ခုနက Lexical Analysis နဲ. syntax analysis အဆင့်ကို font end လို.ခေါ်ပါတယ်။ Synatx analysis အဆင့်ကနေ AST(Abstract Syntax Tree) ထုတ်ပါတယ်။ ခုနက AST ကို compiler တွေအပေါ်မူတည်ပြီးတော့ Optimization processing တွေ လွယ်အောင် တခြား representation တွေပြောင်းကြပါသေးတယ် ။ဥပမာ GCC compiler တွေမှာဆိုရင် RTL (Register Transfer Language ) ဆိုပြီးတော့ ပြောင်းပစ်ပါသေးတယ်။ RTL က assembly လောက်မဟုတ်ပဲနဲ. unlimited register တွေရတဲ့ abstract register langauge အနေနဲ.ရေးထားတာပါ။ ခုနက RTL ကနေမှ တဆင့် assembly code ကိုထုတ်ပါတယ်။ ဒါဆိုရင် ခုနက အပေါ်က program ကို Compile လုပ်လိုက်ရင် ဒီလို assembly ရပါလိမ့်မယ်။
.section __TEXT,__text,regular,pure_instructions
.macosx_version_min 10, 10
.globl _main
.align 4, 0x90
_main: # #
.cfi_startproc
# # BB #0:
pushq %rbp
Ltmp0:
.cfi_def_cfa_offset 16
Ltmp1:
.cfi_offset %rbp, -16
movq %rsp, %rbp
Ltmp2:
.cfi_def_cfa_register %rbp
subq $16, %rsp
leaq L_.str(%rip), %rdi
movl $0, -4(%rbp)
callq _puts
xorl %ecx, %ecx
movl %eax, -8(%rbp) # # 4-byte Spill
movl %ecx, %eax
addq $16, %rsp
popq %rbp
retq
.cfi_endproc
.section __TEXT,__cstring,cstring_literals
L_.str: # # @.str
.asciz "Hello, World!"subsections_via_symbols
Assembly သည် platform တခုနဲ.တခုမတူပါဘူး ဒါကြောင့် C/C++ Compiler တွေသည် platform အပေါ်မူတည်ပြီး သင့်တော်တဲ့ assebmly code တွေထုတ်ပေးရပါတယ်။ ခုနက intermediate code ကနေ assembly code ထုတ်တာကို compiler ရဲ. backend လို.သုံးပါတယ်။
Assembly code ရလာပေမဲ့ ခုနက assembly code ကို run ဖို.အတွက် assembler နဲ. compile ထပ်လုပ်ရပါတယ်။ ဒါကို assembling လုပ်တယ်လို.ဆိုပါတယ်။ Assembler သည် assembly code ကိုယူပြီး object code ထုတ်ပါတယ်။ Object code ဆိုတာ ရှင်းအောင်ပြောရရင် machine code နီးနီးပါပဲ ဒါပေမဲ့ external library တွေအတွက်ကျတော့ သူတို.က external symbol reference အနေနဲ.ပဲဖြစ်နေပါတယ်။ အဲ့တော့ခုနက assembly code ကို assembler နဲ. assemble (compile လို.မသုံးဘူး assemble လို.သုံးတယ်)လုပ်လိုက်ရင် object code ရပါတယ်။ အဲ့ဒီ object code မှာ external library call တွေကိုခေါ်ထဲ့ဖို.ကျတော့ linker ကိုသုံးရပါတယ်။ Linker က object code တွေအကုန်ကိုစုပြီး (ဆိုချင်တာက user program ကနေ library ခေါ်ရင် user program object code ရော library object code ကိုရော တခါတည်းစုပေးရတယ်) linking လုပ်ပါတယ်။ Link လုပ်တယ်ဆိုတာ ခုနက object code မှာပါလာတဲ့ symolic reference တွေကို ဆိုင်ရာ machine code အနေနဲ. အစားထိုးပြီး executable code ဆောက်လိုက်တာပါပဲ.။ ဒါဆိုရင် ခု ထွက်လာတဲ့ executable code ကို native platform အပေါ်မှာ run လို.ရသွားပါပြီ။
Ref
https://www.calleerlandsson.com/the-four-stages-of.../
Click here to claim your Sponsored Listing.
Category
Contact the business
Telephone
Website
Address
No. 124, 38street
Yangon