Showing posts with label WebTech. Show all posts
Showing posts with label WebTech. Show all posts

Jun 21, 2022

El Salvador နှင့် Bitcoin

sagaing


(11/September/2021) နေ့က ဖဘမှာတင်ခဲ့တဲ့ Post ဖြစ်ပါတယ်။
နိုင်ငံတစ်နိုင်ငံရဲ့ငွေကြေးစနစ်ဟာ နိုင်ငံရဲ့တည်ငြိမ်မှု၊ ဖွံဖြိုးတိုးတက်မှုပေါ်မူတည်ပြီးတော့ အပြောင်းအလဲဖြစ်လေ့ရှိတယ်။ နိုင်ငံမတည်မငြိမ်ဖြစ်ရင်၊ စီမံခန့်ခွဲမှုမကောင်းရင် ငွေကြေးလည်းဖောင်းပွလာပြီးတော့ နောက်ပိုင်း ရေရှည်မထိန်းချုပ်နိုင်တဲ့အခါမှာ နိုင်ငံရဲ့ငွေကြေးစနစ်ပြိုလဲသွားတဲ့အထိ ဖြစ်လေ့ရှိတယ်။ တချို့နိုင်ငံတွေဆို နိုင်ငံရဲ့ကိုယ်ပိုင်ငွေကြေးစနစ်ပြိုလဲသွားလို့ US$ ကိုပဲအသုံးပြုနေရတဲ့ နိုင်ငံတွေရှိတယ်။ Latin America မှာ အသေးဆုံးနိုင်ငံဖြစ်တဲ့ El Salvador နိုင်ငံဆိုရင် ပြည်တွင်းစစ်ပြီးလို့၊ နိုင်ငံသစ်တည်ဆောက်တဲ့အခါမှာ US$ ကိုနိုင်ငံရဲ့ငွေကြေးအနေနှင့် ၂၀၀၁ ခုနှစ်မှာ စတင်သုံးစွဲခဲ့တယ်။ ပြည်တွင်းမှာလည်း အလုပ်လက်မဲ့တွေ များတယ်၊ ပြည်ပထွက်တဲ့သူတွေ များတယ်၊ လဘ်စားမှုတွေများတယ်၊ ဒုစရိုက်မှုတွေ များတယ်၊ နေထိုင်မှုစရိတ်လည်း ကြီးမြင့်လာတယ်၊ ပြည်တွင်းမှာနေတဲ့သူ ၇၀% လောက်က ဘဏ်အကောင့်မရှိဘူး၊ US ရဲ့US$ ထိန်းချုပ်မှုတွေကလည်း ရှိတယ်။ အခုအဲ့ဒီနိုင်ငံက US$ မသုံးတော့ပဲ Cryptocurrency တစ်ခုဖြစ်တဲ့ Bitcoin ကို နိုင်ငံရဲ့ငွေကြေးအဖြစ် 7/Sep/2021 နေ့ကစပြီးတော့ သုံးစွဲလိုက်ပြီ။ ဒါကြောင့် Mac Donal မှာ Burger တစ်လုံးဝယ်ရင် Bitcoin နှင့်ဝယ်လို့ရနေပြီ။ အစိုးရကလည်း Cryptocurrency နှင့်ပတ်သက်တဲ့ အသိပညာ၊ အတတ်ပညာပေးတာတွေ လုပ်နေပြီ။ ကမ္ဘာ့ပထမဆုံး နိုင်ငံရဲ့ငွေကြေးစနစ်ကို Cryptocurrency အသုံးပြုတဲ့နိုင်ငံအဖြစ် မှတ်တမ်းဝင်သွားပြီ။ အလားတူ တချို့နိုင်ငံတွေလည်း ဗဟိုထိန်းချုပ်မှုမရှိတဲ့ Cryptocurrency ကိုပြောင်းသုံးဖို့ စဉ်းစားနေကြတယ်။ အချို့နိုင်ငံတွေကတော့ Cryptocurrency Exchange တွေကို နိုင်ငံထဲမှာတရားဝင်ခွင့်ပြုထားပြီးတော့၊ Stock တွေလိုမျိုး၊ Currency တွေလိုမျိုး အရောင်းအဝယ်လုပ်ခွင့်ပေးထားတယ်၊ အချို့နိုင်ငံတွေကတော့ Cryptocurrency ကို အရောင်းအဝယ်လုပ်ခွင့်မပြုပဲ တားမြစ်ထားတယ်။ မြန်မာအိမ်နီးချင်းနိုင်ငံတွေကတော့ နိုင်ငံနှင့်ကိုက်ညီတဲ့ ဥပဒေအချို့သတ်မှတ်ပြီးတော့ အရောင်းအဝယ်လုပ်ခွင့် ပြုထားတယ်။ မြန်မာနိုင်ငံမှာလည်း NUG အစိုးရတက်လာရင် အဲ့လိုဖြစ်ဖို့မျှော်လင့်တယ်။ တရုတ်နိုင်ငံကတော့ Bitcoin ကိုတားမြစ်ထားပြီးတော့၊ အစိုးရထိန်းချုပ်မှုအောက်ကနေ Digital Yuan ကိုစတင်အသုံးပြုနေတယ်၊ ပြီးတော့ တရုတ်ပညာရှင်တွေဖန်တီးထားတဲ့ ဗဟိုထိန်းချုပ်မှုမရှိတဲ့ Cryptocurrency VeChain ဆိုတာကိုတော့ တရုတ်အစိုးရက အားပေးထောက်ခံထားတယ်။ Cryptocurrency ကိုစိတ်ဝင်စားရင် တချို့ Cryptocurrency က Solution ကိုမိတ်ဆက်တဲ့အနေနှင့် Air Drop လို့ခေါ်တဲ့ အခမဲ့ပေးတာတွေ ရနိုင်တယ်။ ကိုယ်က ရေရှည်အတွက် ရင်းနှီးမြှုပ်နှံချင်လို့ ပိုက်ဆံပေးပြီး ဝယ်မယ်ဆိုရင်တော့ Top 10 Cryptocurrency တွေပဲ​ဝယ်သင့်တယ်၊ အခုဆိုရင် Bitcoin တစ်ကွိုင်ရဲ့ ဈေးနှုန်းက US$ 45000 နှင့်အထက် ရှိတယ်။ တစ်ကွိုင်လုံးမဝယ်ပဲ၊ $100 ဖိုးလောက်ဝယ်လည်းရတယ်၊ တချို့ကြတော့ Dollar-cost averaging (DCA) နှင့် လစဉ် (သို့မဟုတ်) နှစ်ပတ်ခြားတစ်ခါ $100 ဝယ်စုလေ့ရှိတယ်၊ Cryptocurrency တွေရဲ့ဈေးနှုန်းဟာ Bitcoin ဈေးအတက်အကျပေါ်လိုက်ပြီး အတက်အကျဖြစ်လေ့ရှိတယ်။ Cryptocurrency တွေဟာ Supply နှင့် Demand ပေါ်မူတည်ပြီး ဈေးနှုံးတွေ မတူနိုင်ဘူး။ နောက်ပေါ်တဲ့ Cryptocurrency တွေရဲ့ဈေးနှုံးဟာ Bitcoin ရဲ့တန်းကြေးလောက်ထိ တက်လာဖို့မလွယ်ဘူး။ ဘာလို့လဲဆိုတော့ Supply နှင့် Demand ကြောင့်မို့လို့၊ Supply နည်းပြီး Demand များတဲ့ Cryptocurrency မျိုးဆိုရင်တော့ Bitcoin ဈေးထက်တောင် ကျော်တက်ကောင်း ကျော်တက်နိုင်တယ်၊ ဒါပေမယ့် တချို့ Cryptocurrency တွေကြတော့ Supply ကို Trillions ပေါင်းမြောက်များစွာ သတ်မှတ်ထားတယ်။ ဒါကြောင့် တကွိုင်ရဲ့ ဈေးနှုံးက ဥပမာ $0.0010 စသည်ဖြင့် ဈေးရှိမယ်။ Bitcoin ရဲ့ Max Supply က 21 သန်းထိပဲ သတ်မှတ်ထားတယ်၊ လက်ရှိ Bitcoin 19 သန်းနီးပါး ထုတ်ပြီးသွားပြီ။ အဲ့ထဲမှာမှ Bitcoin 20% လောက်က Password ဖေါ်မရလို့၊ Laptop ပင်လယ်ထဲမြုတ်သွားလို့၊ စသည်ဖြင့် အကြောင်းအမျိုးမျိုးကြောင့် လုံးဝ Locked ဖြစ်သွားတဲ့ ပမာဏကလည်း ရှိသေးတယ်၊ Cryptocurrency ကို Currency တစ်ခုလိုသတ်မှတ်ပြီး ခေါ်ကြပေမယ့်၊ နည်းပညာက Currency တစ်ခုထက်ပိုတယ်၊ နောက်ပိုင်းမှာ INTERNET အပေါ်မှာလွှမ်းခြုံသွားမယ့် နည်းပညာတစ်ခုဖြစ်တယ်။

Top 100 Cryptocurrency


Airdrop လိုချင်ရင်

Jun 19, 2022

Web 1.0 Web 2.0 Web 3.0

sagaing


ကျွန်တော်တို့ အသုံးပြုနေတဲ့ INTERNET က Web Technology တွေနှင့် အလုပ်လုပ်တယ်။ ဒါကြောင့် သူတို့ကို Generation အလိုက် Web 1.0 ၊ Web 2.0 ၊ Web 3.0 ဆိုပြီးတော့ ခေါ်ကြတယ်။ အခုဆိုရင် INTERNET ကို Third Generation (Web 3.0) Web Technology တွေနှင့် ပြောင်းလဲအလုပ်လုပ်ဖို့ ခြေလှမ်းပြင်နေပြီဖြစ်တယ်။ 

Web 1.0 ဆိုတာဘာလဲ။

First Generation ကို Web 1.0 လို့ခေါ်ကြတယ်။ INTERNET ကြည့်ဖို့ Netscape သို့မဟုတ် IE (Internet Explorer) ဆိုတဲ့ Software နှစ်ခုကို အဓိက အသုံးပြုခဲ့ကြတယ်။ (အနားယူသွားတဲ့ IE ကို ဂုဏ်ပြုပါတယ်။) Web 1.0 မှာ Website တွေဟာ Static တွေ အနေနှင့်ဖြစ်ပြီးတော့ Content အမျိုးအစားကလည်း စာတွေနှင့်ပုံတွေပဲ အဓိကပါတယ်၊ ဒါကြောင့် Website ထဲမှာပါတာကို ဖတ်လို့၊ ကြည့်လို့ပဲရတယ်။ Website ထဲက အကြောင်းအရာတွေနှင့် ပတ်သက်ပြီး ကိုယ့်အမြင်ကို Comment ရေးတာ၊ ဆဲတာ၊ ဆိုတာတွေ လုပ်နိုင်တဲ့ နည်းပညာ မရှိသေးဘူး။ ဒါကြောင့် Web 1.0 ကို Read Only Web လို့ခေါ်တယ်။ Website တွေဖန်တီးဖို့ HTML (Hyper Text Markup Language) ကို အဓိက အသုံးပြုခဲ့ကြတယ်။ ဖန်တီးထားတဲ့ Website ကိုလည်း INTERNET ပေါ်လူတိုင်း အလွယ်တကူ တင်လို့မရဘူး။ Web 1.0 တုန်းက ထင်ရှားခဲ့တဲ့ Website တစ်ခုဆိုရင် Yahoo ပဲဖြစ်တယ်။ 

Web 2.0 ဆိုတာဘာလဲ။

Web 2.0 ကို Blog ၊ Email ၊ Forum ဆိုတာတွေနှင့် စတင်ခဲ့တယ်။ စဆရက လုပ်ပြီး “ငါဟဲ့! စဆရက” ဆိုပြီး INTERNET ပေါ်မှာ ကိုယ်ပြောချင်တာ စတင်ပြီး ပြောလို့ရလာတယ်။ အဲ့ဒီအချိန်တုန်းက Blogger ဆိုတာ နည်းပညာသမားလိုလို၊ စာရေးဆရာလိုလို၊ ကဗျာဆရာလိုလို ဖြစ်ခဲ့တဲ့ခေတ်၊ Forum ထဲမှာ စဆရက လုပ်ပြီး နေရာတကာ ဝင်ပါလို့ရတဲ့ ခေတ်ပေ့ါ၊ အဲ့ဒီကနေ စလိုက်တာ facebook ၊ twitter ၊ messenger ၊ telegram အထိ အပြန်အလှန် အမြင်ချင်းဖလှယ်နိုင်တာ၊ စောက်ခွက်ကြည့်ပြီး အွန်လိုင်းကနေ ဆဲလို့ရတာအထိဟာ Web 2.0 နည်းပညာတွေကြောင့်ဖြစ်တယ်။ ဒါကြောင့် Web 2.0 ဟာ Read Only တစ်ခုတည်း မဟုတ်တော့ပဲ၊ INTERNET ပေါ်တက်ပြီး Write ချင်တာ Write လို့ရတဲ့အထိ ဖြစ်လာတယ်။ Web Hosting လုပ်တဲ့ Service တွေ၊ Cloud တွေ စသည်ဖြင့် အများအပြားရှိလာတယ်၊ ဒါကြောင့် Website ၊ Blog တွေကို အလွယ်တကူပဲ INTERNET ပေါ်တင်နိုင်လာတယ်။ ဒီလိုနှင့် INTERNET ထဲမှာရှိတဲ့ Data တွေက နေရာတစ်ခုတည်းကနေ အချက်အလက်တွေကို ပြန်လည်ဖြန့်ဝေပေးတဲ့ Centralized ပုံစံဖြစ်လာတယ်။ Website ဖန်တီးနိုင်တဲ့ နည်းပညာတွေလည်း အများအပြား ပေါ်ထွက်လာတယ်၊ အဲ့ဒီထဲမှာ Javascript Framework တွေကို အများဆုံး အသုံးပြုလာတာတွေ့ရတယ်။ Web 2.0 မှာ Data ရဲ့အရေးပါမှု၊ အသုံးဝင်မှု၊ Privacy ၊ Copyright စတာတွေနှင့် ပတ်သက်လို့ အလေးထားစရာ၊ စိုးရိမ်စရာတွေ အများကြီးရှိလာတယ်။ 

Web 3.0 ဆိုတာဘာလဲ။

Data နှင့်ပတ်သက်တဲ စိုးရိမ်စရာတွေကို Web 3.0 မှာဖြေလျှော့နိုင်လိမ့်မယ်၊ ဘာလို့လည်းဆိုတော့ Web 3.0 မှာ Data Processing Cycle ကို Blockchain Technology (သို့မဟုတ်) Decentralize Protocol ပေါ်မှာ အခြေခံထားလို့ဖြစ်တယ်။ Block ဆိုတာ Data အစုတစ်ခုဖြစ်ပြီးတော့၊ Block တစ်ခုဟာ၊ အခြား Block တစ်ခုနှင့် ချိတ်ဆက်ထားလို့ Blockchain လို့ခေါ်တယ်။ Blockchain ကို Database အနေနှင့် မြင်နိုင်တယ်။ Block တစ်ခုထဲက Data ဟာ Transaction တစ်ခုလည်း ဖြစ်နိုင်တယ်၊ Post တစ်ခုလည်းဖြစ်နိုင်တယ်၊ Comment တစ်ခုလည်းဖြစ်နိုင်တယ်၊ Computer Program Code လည်း ဖြစ်နိုင်တယ်၊ Medical Record တစ်ခုလည်း ဖြစ်နိုင်တယ်။ Block တစ်ခုဖန်တီးလိုက်ရင် Digital Signature တစ်ခုထုတ်တယ်၊ အဲ့ဒီ Digital Signature က၊ နောက် ဖန်တီးတဲ့ Block နှင့် ချိတ်ဆက်တယ်။ နမူနာ ဒီမှာ လုပ်ကြည့်လို့ရတယ်။ Blockchain ထဲရောက်သွားတဲ့ Data ကို ပြင်တာ၊ ဖျက်တာ အလွယ်တကူလုပ်လို့မရဘူး။ Blockchain နည်းပညာက Decentralized ပုံစံနှင့် Data တွေကို Distribute လုပ်ပေးတယ်၊ ဒါကြောင့်မို့ Web 2.0 မှာလို သီးသန့် Server ဆိုတာ မရှိတော့ပဲ၊ Node တွေ စုပေါင်းပြီးတော့ အလုပ်လုပ်တဲ့ ပုံစံမျိုးဖြစ်သွားတယ်။ အဲ့ဒီ Node တွေကပဲ Blockchain Network ထဲက Process တစ်ခုကို အတည်ပြုတာ၊ ပယ်ဖျက်တာမျိုးတွေ လုပ်နိုင်တယ်။ Node ဆိုတာက အိမ်မှာသုံးနေတဲ့ ကွန်ပျူတာလည်း ဖြစ်နိုင်သလို၊ Cloud ပေါ်က Virtual Machine ကလည်း Node တစ်ခုဖြစ်နိုင်တယ်။ Computer တစ်လုံးကို Blockchain Network ထဲက Node တစ်ခုအနေနှင့် အသုံးပြုခွင့် ပေးထားတယ်ဆိုရင်၊ အဲ့ဒီအတွက် အခကြေးငွေအဖြစ် Cryptocurreny (သို့မဟုတ်) Token ရတယ်။ အဲ့ဒါကို အစိုးရထုတ်ငွေ (Fiat Currency) နှင့် Exchange လုပ်လို့ရတယ်။ လက်ရှိအသုံးပြုနေတဲ့ App တွေလည်း DApp (Decentralized Application) တွေ ဖြစ်သွားမယ်။ အထူးသဖြင့် App ရဲ့ နောက်ကွယ်က လုပ်ဆောင်ချက် (Backend) တွေ ပြောင်းသွားမှာဖြစ်တယ်။ ဥပမာ YouTube ကဲ့သို့ Odysee၊ DropBox ကဲ့သို့ FileCoin၊ Chrome ကဲ့သို့ Brave စသည့် App တွေက Blockchain အသုံးပြုထားတဲ့ App ဖြစ်တယ် (NUG Pay လည်း လာပြီလေ။)၊ Web 3.0 ထဲမှာ Blockchain နည်းပညာတစ်ခုတည်း ရှိတာမဟုတ်ဘူး။ AI (Artificial Intelligence)၊ ML (Machine Learning) ၊ VR (Virtual Relity) ၊ IoT (Internet of Things)၊ Cryptocurrency ကနေ Metaverse ဆိုတာထိ Web 3.0 ထဲမှာရှိမယ့် နည်းပညာတွေဖြစ်တယ်။ ဒါကြောင့် Web 3.0 ဟာ Write လုပ်နိုင်တာတစ်ခုတည်း မဟုတ်တော့ပဲ၊ ကိုယ် Write လုပ်လိုက်တဲ့ Data ကို ကိုယ်ပိုင်တာမျိုး ဖြစ်လာမယ်၊ Digital Assets ပိုင်ရှင်တွေဖြစ်လာမယ်၊ Open Data တွေ အများအပြားရှိလာမယ်၊ နည်းပညာတွေ ပေါင်းစပ်ထားပြီး Intelligent ဖြစ်တဲ့ Web 3.0 မကြာခင်မှာ ရောက်လာတော့မယ်။

Jun 26, 2017

HL7 Message ဆိုတာဘာလဲ။

sagaing
(HL7 Wiki မှ ပုံဖြစ်ပါသည်။)

နည်းပညာတွေကို သက်ဆိုင်ရာနယ်ပယ်ထဲမှာ ထည့်သွင်းအသုံးပြုကြတဲ့အခါ အဲ့ဒီနယ်ပယ်အတွက် ဖန်တီးထားတဲ့ စနစ်တွေဟာ တစ်ခုထက်မကရှိနိုင်ပါတယ်။  အဲ့ဒီစနစ်တွေဟာ မတူညီတဲ့ အဖွဲ့အစည်းတွေ၊ နည်းပညာတွေနှင့် ထုတ်လုပ်ထားလေ့ရှိကြတယ်၊ နောက်ပြီး စနစ်တွေဟာ သီးသန့်တည်ရှိနေလို့မရသလို၊ စနစ်တစ်ခုနှင့်တစ်ခု အပြန်အလှန်ဆက်သွယ်ပြီးလည်း လုပ်ဆောင်နေကြရတယ်။  ယင်းကဲ့သို့စနစ်တွေ အပြန်အလှန်ဆက်သွယ်ပြီး လုပ်ဆောင်နိုင်တာက Standard လို့ခေါ်တဲ့ စံသတ်မှတ်ချက်တွေကြောင့်ဖြစ်တယ်။  အဲ့ဒီ စံသတ်မှတ်ချက်တွေထဲမှာ တစ်ခုအပါအဝင်ဖြစ်တဲ့  HL7 Message စံသတ်မှတ်ချက်ဟာ ကျမ္မာရေးနှင့်သက်ဆိုင်တဲ့ ဆေးပညာနယ်ပယ်အတွက် အသုံးပြုတဲ့စံသတ်မှတ်ချက်ဖြစ်တယ်။  HL7 ဆိုတာ Health Level 7 ဖြစ်ပါတယ်။  ကျမ္မာရေးစောင့်ရှောက်မှုစနစ်တွေမှာ လူနာတစ်ယောက်နှင့်သက်ဆိုင်တဲ့ အချက်အလက်တွေကို စနစ်တစ်ခုနှင့်တစ်ခု အပြန်အလှန်ပေးပို့နိုင်ဖို့ ဖန်တီးထားတဲ့ Standard ကို HL7 လို့ခေါ်ပါတယ်။

HL7 လို့ဘာလို့ခေါ်တာလဲ။
နည်းပညာနယ်ပယ်က လူတိုင်းနီးပါး OSI Model (Open System Interconnection Model) အကြောင်းကို သိပြီးသားဖြစ်ပါလိမ့်မယ်။  OSI Model မှာ Layer ၇ခု ရှိပါတယ်၊ အဲ့ဒီ Layer တွေထဲမှာ နောက်ဆုံး Layer ဖြစ်တဲ့ Layer - 7 ဟာ Application Layer ဖြစ်ပါတယ်။  HL7 Standard ကို Application Layer မှာပဲအသုံးပြုပါတယ်။  အဲ့ဒါကြောင့် Health Level 7 လို့ ခေါ်တာဖြစ်ပါတယ်။  HL7 စံသတ်မှတ်ချက်တွေကို Health Level Seven International လို့အမည်ရတဲ့ NGO အဖွဲ့ကနေ၊ ANSI (American National Standards Institute) နှင့် ISO (International Standards Organization) တို့ရဲ့ အတည်ပြုချက်တွေနှင့်၊ ထုတ်ပြန်ထားတာဖြစ်ပါတယ်။  အောက်ပါပုံကတော့ Layer ၇ခုနှင့်ဖွဲ့စည်းထားတဲ့ OSI Model ပုံဖြစ်ပါတယ်။

(Source : Internet)

HL7 Message Standard Version
HL7 Standard တွေထဲမှာ HL7 Message နှင့်သက်ဆိုင်တဲ့ Standard ကို Version 2.x နှင့် Version 3 ဆိုပြီး (၂)မျိုး တွေ့နိုင်ပါတယ်။  Version 2.x နှင့် Version 3 မှာ နည်းပညာအားဖြင့် အဓိကခြားနားချက်ကတော့ Version 3 မှာ Object Oriented Design Methodology နှင့် XML အသုံးပြုလာခြင်းပဲဖြစ်ပါတယ်။  ဒီခြားနားမှုအပြင် Version 3 ဟာ Version 2.x တွေအတွက် Backward Compatible လို့ခေါ်တဲ့ နောက်ကြောင်းပြန်သဟဇာတဖြစ်မှုတွေ မပါဝင်ကြောင့် Version အသစ်တစ်ခုကဲ့သို့ဖြစ်ခဲ့ပါတယ်။  Version 2.x ကို နည်းပညာအသုံးပြုတဲ့ သာမာန်ဆေးရုံ၊ ဆေးခန်းတွေမှာရှိတဲ့ စနစ်တွေမှာ တွေ့နိုင်ပြီး၊ Version 3 ကိုတော့ အစိုးရဆေးရုံကြီးတွေ၊ နိုင်ငံတကာနှင့် ချိတ်ဆက်လုပ်ကိုင်နေကြတဲ့ ဆေးရုံကြီးတွေက နည်းပညာအသုံးပြုတဲ့ စနစ်တွေမှာ တွေ့နိုင်ပါတယ်။  ဒီအချက်တွေကြောင့် Version 2.x ဟာ လက်ရှိအချိန်အထိ စနစ်တော်တော်များများမှာ အသုံးပြုနေတဲ့ Standard တစ်ခုအနေနှင့် တည်ရှိနေပါတယ်။

HL7 Message ပုံစံနှင့်ဖွဲ့စည်းပုံ

HL7 Version 2.x Message Standard 

Version 2.x Message တစ်ခုကို Segment လို့ခေါ်တဲ့ အပိုင်းတွေ နှင့်ဖွဲ့စည်းထားပါတယ်။  Segment တစ်ခုဟာ တကယ်တော့ လိုင်းတစ်လိုင်း (သို့) စာကြောင်းတစ်ကြောင်းဖြစ်ပါတယ်။  Message တစ်ခုဟာ ဘယ်လို Message အမျိုးအစားဖြစ်တယ်ဆိုတာကို ပထမဆုံး Segment တစ်ခုဖြစ်တဲ့ MSH Segment ကိုကြည့်ခြင်းအားဖြင့် သိနိုင်ပါတယ်။  ဥပမာအနေဖြင့် အောက်ပါ Message တစ်ခုကိုကြည့်လိုက်ရင်...

MSH|^~\&|SOURCE|383018129|PRIORITY HEALTH|382715520|2007100914484648||ORU^R01|0129938170710091448|P|2.3| PID|1|1034157|012993817||LASTNAME^FIRSTNAME||19520101|M|||1234 MAIN^^DEARBORN HEIGHT^MI^48127|||||||| 
PD1|1|||1234567890^DOCLAST^DOCFIRST^M^^^^^NPI| 
OBR|1|||80061^LIPID PROFILE^CPT-4||20070911|||||||||| 
OBX|1|NM|13457-7^LDL (CALCULATED)^LOINC|49.000|MG/DL| 0.000 - 100.000|N|||F| OBX|2|NM|2093-3^CHOLESTEROL^LOINC|138.000|MG/DL|100.000 - 200.000|N|||F| OBX|3|NM|2086-7^HDL^LOINC|24.000|MG/DL|45.000 - 150.000|L|||F| 
OBX|4|NM|2571-8^TRIGLYCERIDES^LOINC|324.000|MG/DL| 0.000 - 150.000|H|||F|
 PriorityHealth မှ နမူနာ ဖြစ်ပါတယ်။

အနီရောင်ခြယ်ထားတာတွေက Segment တွေရဲ့ အစဖြစ်ပါတယ်။  Segment တစ်ခုဟာ Field တွေနှင့် ဖွဲ့စည်းထားပါတယ်။  Field တစ်ခုနှင့် တစ်ခုကို Vertial Bar ( | ) နှင့်ကန့်သတ်ထားပါတယ်။  MSH ဆိုတာ Message Header ဖြစ်ပြီး၊ MSH Segment ရဲ့ ကိုးခုမြောက် Field ဟာ Message Type (အမျိုးအစား) ဖြစ်ပါတယ်။  အဲ့ဒီနေရာမှာ ORU^R01 ဆိုတာတွေ့ရပါတယ်။  Message Type ကတော့ Obervation Result (ဆေးစစ်မှုအဖြေ) ဖြစ်ပါတယ်။  ဒီ Message ထဲမှာ ရောဂါလက္ခဏာ၊ ခန္ဓာကိုယ်က အရေးကြီးအစိတ်အပိုင်းတွေ (ဥပမာ၊​အသည်း၊ နှလုံး၊ အဆုတ်) စသည်တို့ရဲ့ အခြေအနေ၊ စသည်ဖြင့်ပါဝင်ပါတယ်။  Message ထဲမှာ PID ဆိုတာ Patient Identification ဖြစ်ပါတယ်။  လူနာနှင့်ပတ်သက်တဲ့ အချက်အလက်တွေ ပါဝင်ပါတယ်။  PD1 ဆိုတဲ့ Segment က Patient Additional Demographic ဖြစ်ပါတယ်။  လူနာနှင့်ပတ်သက်တဲ့ အခြားအချက်အလက်တွေဖြစ်ပါတယ်။  PD1 က လိုအပ်မှ ဆရာဝန်တွေထည့်သွင်း ဖေါ်ပြတဲ့ Segment တစ်ခုဖြစ်ပါတယ်။  OBR ဆိုတဲ့ Segment က Observation Request ဖြစ်ပါတယ်။  ဆေးစစ်မှုကို လုပ်ဆောင်တဲ့နေ့နှင့် အခြားလိုအပ်တဲ့ အချက်အလက်တွေဖြစ်ပါတယ်။  OBX Segment ကတော့ Observation Result ဖြစ်ပါတယ်။  ဆရာဝန်ရဲ့ လူနာကိုစစ်ဆေးမှုပေါ်မူတည်ပြီး OBX Segment တွေကို တစ်ခုထက်မက တွေ့နိုင်ပါတယ်။  အခြား Message Type တွေရဲ့ ဖွဲ့စည်းပုံကလည်း ဒီ Message ကဲ့သို့ဖြစ်ပါတယ်။  Segment တွေကို လေ့လာချင်ရင် ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။  Microsoft ရဲ့ HL7 Message Structure မှာလည်း Message Type တွေ၊ Segment တွေကို လေ့လာနိုင်ပါတယ်။

HL7 Version 3 Message Standard

Version 3 Message တစ်ခုကို XML နည်းပညာနှင့် ဖွဲ့စည်းတည်ဆောက်ထားပါတယ်။  နည်းပညာသမားတွေအနေနှင့်ကတော့ XML (Extensible Markup Language) ဆိုတာကို ရင်းနှီးပြီးသားဖြစ်ပါတယ်။  Version 3 Message တစ်ခုကို အောက်ပါအတိုင်း XML tag တွေနှင့် ဖွဲ့စည်းထားပါတယ်။

<POLB_IN224200 ITSVersion="XML_1.0" xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id root="2.16.840.1.113883.19.1122.7" extension="CNTRL-3456"/> <creationTime value="200202150930-0400"/> <!-- The version of the datatypes/RIM/vocabulary used is that of May 2006 --> <versionCode code="2006-05"/> <!-- interaction id= Observation Event Complete, w/o Receiver Responsibilities --> <interactionId root="2.16.840.1.113883.1.6" extension="POLB_IN224200"/> <processingCode code="P"/> <processingModeCode nullFlavor="OTH"/> <acceptAckCode code="ER"/> <receiver typeCode="RCV"> <device classCode="DEV" determinerCode="INSTANCE"> <id extension="GHH LAB" root="2.16.840.1.113883.19.1122.1"/> <asLocatedEntity classCode="LOCE"> <location classCode="PLC" determinerCode="INSTANCE"> <id root="2.16.840.1.113883.19.1122.2" extension="ELAB-3"/> </location> </asLocatedEntity> </device> </receiver> <sender typeCode="SND"> <device classCode="DEV" determinerCode="INSTANCE"> <id root="2.16.840.1.113883.19.1122.1" extension="GHH OE"/> <asLocatedEntity classCode="LOCE"> <location classCode="PLC" determinerCode="INSTANCE"> <id root="2.16.840.1.113883.19.1122.2" extension="BLDG24"/> </location> </asLocatedEntity> </device> </sender> <controlActProcess classCode="CACT" moodCode="EVN"> <subject typeCode="SUBJ" contextConductionInd="false"> <encounterEvent classCode="ENC" moodCode="EVN"> <id root="1.56.3.4.7.5" extension="122345" assigningAuthorityName="Maple Hospital Emergency"/> <code code="EMER" codeSystem="2.16.840.1.113883.5.4"/> <statusCode code="active"/> <subject contextControlCode="OP"> <patient classCode="PAT"> <id root="1.56.3.4.7.9" extension="55321" assigningAuthorityName="Maple Hospital Patients"/> <patientPerson classCode="PSN" determinerCode="INSTANCE"> <name> <given>Rob</given> <given>P</given> <family>Young</family> </name> <administrativeGenderCode code="M" codeSystem="2.16.840.1.113883.5.1"/> <birthTime value="19800309"/> </patientPerson> </patient> </subject> </encounterEvent> </subject> </controlActProcess> </POLB_IN224200>
Wiki နှင့် Oracle မှ နမူနာများ ဖြစ်ပါတယ်။

POLB_IN224200 က Root tag ဖြစ်ပါတယ်။  Message ထဲမှာတွေ့ရတဲ့ နံပါတ်တွေဟာ Global သတ်မှတ်ထားတဲ့ Unique ID တွေဖြစ်ပါတယ်။  Message တွေမှာ Root tag အပါအဝင်၊ creationTime၊ processingCode၊ ဘယ်ကနေပို့ပြီး (sender)၊ ဘယ်ကလက်ခံတယ် (receiver) စသည် tag တွေနှင့်ဖွဲ့စည်းထားတဲ့အပိုင်းကို Transmission Wrapper လို့ခေါ်ပါတယ်။  အဲ့ဒီထဲမှာမှ Query Control Wrapper ဆိုတဲ့ tag လာပါတယ်။  အဲ့ဒီ tag ထဲမှာမှ Medical အချက်အလက်တွေကို သက်ဆိုင်ရာ tag အစုလိုက် ခွဲခြားပြီးဖွဲ့စည်းထားပါတယ်။  နမူနာ Message ထဲမှာ controlActProcess tag က Query Control Wrapper တစ်ခုဖြစ်ပါတယ်။  အဲ့ဒီ ထဲမှာမှ ဆေးရုံနှင့်ပတ်သက်တဲ့ အချက်အလက်၊ လူနာနှင့်ပတ်သက်တဲ့ အချက်လက်နှင့် အခြားဆေးပညာပိုင်းဆိုင်ရာ အချက်အလက်တွေ ပါဝင်ပါတယ်။  V3 Message တွေကို HTTP နှင့် SOAP Web Services တွေကို အသုံးပြုပြီး တစ်နေရာမှ၊ တစ်နေရာသို့ ပေးပို့ပါတယ်။  Web Services အကြောင်းကို လေ့လာချင်ရင် ဒီနေရာမှာ ကျွန်တော်ရေးသားထားပါတယ်။  အောက်ပါပုံကတော့ HL7 V3 မှာပါဝင်တဲ့ Layer တွေနှင့် Model ပုံဖြစ်ပါတယ်။


HL7 Message နှင့်ပတ်သက်တဲ့ အခြားလင့်ခ်များ
HL7Wiki
Oracle HL7 V3 Sample Project
HL7 Overview PDF
HL7 Implementation Guide
HL7 Message V2 and V3
Version of the HL7 Standard
Health Level 7

May 1, 2017

INTERNET of Things (IoT) ဆိုတာဘာလဲ။

sagaing
မျက်မောက်ခေတ်မှာ INTERNET ဆိုတာဘာလဲ...။ ဆိုတဲ့ မေးခွန်းကိုအထွေအထူးရှင်းပြနေစရာမလိုတဲ့ ခေတ်တစ်ခုကို ရောက်နေပါပြီ။  ယခင်က INTERNET ထဲမှာ ကွန်ပျူတာတွေချိတ်ဆက်ပြီး သတင်းအချက်အလက်တွေကို အပြန်အလှန်ပေးပို့ခဲ့ကြပေမယ့်၊ ယခုအချိန်မှာတော့ INTERNET ထဲမှာ ကွန်ပျူတာတစ်မျိုးတည်းနှင့် ချိတ်ဆက်ပြီး သတင်းအချက်အလက်တွေ ရယူတာ၊ ပြန်လည်ပေးပို့နိုင်တာ မဟုတ်တော့ပဲ၊ အခြားလျှပ်စစ်ပစ္စည်းတွေဖြစ်တဲ့ ဥပမာ၊ ဖုန်း၊ တီဗွီ၊ လေယာဉ်၊ ကား၊ ဆိုင်ကယ်၊ လက်ပတ်နာရီ စတာတွေနှင့်ပါ INTERNET ကိုချိတ်ဆက်ပြီး သတင်းအချက်အလက်တွေကို အပြန်အလှန်ပေးပို့နိုင်တာမျိုးကြောင့် INTERNET of Things (IoT) ဆိုတဲ့အခေါ်အဝေါ် ပေါ်ပေါက်လာရခြင်းဖြစ်ပါတယ်။  တကယ်တော့ INTERNET ဆိုတဲ့အခေါ်အဝေါ်ကို လူတော်တော်များများသိကြပေမယ့်၊ INTERNET of Things (IoT) ဆိုတဲ့အခေါ်အဝေါ်ကိုတော့ လူတော်တော်များများ ကြားဖူးချင်မှကြားဖူးပါလိမ့်မယ်။  IoT တွေထဲမှာ ကျွန်တော်တို့နှင့်ရင်းနှီးပြီးသား စက်ပစ္စည်းတစ်ခုဖြစ်တဲ့ ATM (Automated Teller Machine - ငွေထုတ်စက်) တွေဟာ အစောဆုံး IoT တစ်ခုဖြစ်ပါတယ်။

INTERNET ကိုချိတ်ဆက်တဲ့ ပစ္စည်းတွေ ဘာလို့များလာတာလဲ။
INTERNET ကိုကျွန်တော်တို့ စသုံးတဲ့အချိန်တုန်းက ယနေ့ခေတ်လို အလွယ်တကူသုံးလို့မရဘူး။  အိမ်မှာတပ်ဆင်ပြီးသုံးမယ်ဆိုရင်တောင် လျှောက်လွှာတင်ဖို့လည်းခက်သလို၊ စျေးနှုံးကလည်းကြီးပါတယ်၊  INTERNET Cafe မှာသွားသုံးမယ်ဆိုရင်တောင် အနည်းဆုံး တစ်နာရီကို ၅၀၀ လောက်ပေးရတယ်။  လက်ရှိအချိန်မှာတော့ INTERNET သုံးနိုင်ဖို့ အရမ်းလွယ်ကူတယ်၊ စျေးနှုံးလည်း သက်သာလာတယ်၊ သုံးတဲ့လူတွေလည်း များလာတယ်၊ အဲ့ဒါကြောင့် INTERNET ကွန်ယက်တွေလည်း တဖြည်းဖြည်းပိုပြီး ကျယ်ပြန့်လာတယ်။  ဒါတောင် ကမ္ဘာ့လူဉီးရေ တစ်ဝက်ကျော်လောက်က INTERNET မသုံးနိုင်ကြသေးဘူး။  သို့ပေမယ့် သုံးနိုင်တဲ့လူဉီးရေကတော့ တစ်နှစ်ထက်တစ်နှစ် တိုးလာတယ်။  ကမ္ဘာ့မှာ INTERNET အသုံးပြုနိုင်တဲ့ စာရင်းဇယားကို Wiki ထဲက ဒီနေရာမှာ ကြည့်နိုင်တယ်။ ကျယ်ပြန့်လာတဲ့ INTERNET နည်းပညာဟာ ကျွန်တော်တို့ရဲ့ လူမှုဘဝပုံစံတွေထဲမှာ မရှိလျှင် မဖြစ်တဲ့အရာတစ်ခုလို တဖြည်းဖြည်း ဖြစ်လာတယ်။  လူမှုဘဝပုံစံထဲမှာ မရှိမဖြစ်အရာတစ်ခုဖြစ်လာတဲ့ INTERNET ဟာ လူမှုဘဝပုံစံထဲက အခြားမရှိမဖြစ်အရာတွေနှင့် ပေါင်းစပ်၊ ချိတ်ဆက်လိုက်တဲ့အခါမှာ ပိုမိုခေတ်မှီသွားပြီး၊ အခြား များပြားတဲ့အကျိုးကျေးဇူးတွေကြောင့် လူမှုဘဝထဲက ပစ္စည်းတွေနှင့်ပေါင်းစပ်၊ ချိတ်ဆက်ပြီး တဖြည်းဖြည်းဖန်တီး သုံးစွဲလာခဲ့ကြတာဖြစ်တယ်။  ဥပမာ ယခင်က ဖုန်းကို အဝေးတစ်နေရာမှာရှိတဲ့ လူအချင်းချင်း စကားပြောဆိုဖို့ရန်ဖန်တီးခဲ့ပေမယ့်၊ မျက်မောက်ခေတ်မှာတော့ Smart Phone ဆိုပြီး IoT ပစ္စည်းတစ်ခုအနေနှင့် မြင်တွေ့နိုင်ပါတယ်။  Smart Phone တစ်လုံးရဲ့ အကျိုးကျေးဇူးတွေက အများကြီးဖြစ်ပါတယ်။  အခုဆိုရင် INTERNET ကိုချိတ်ဆက်နိုင်တဲ့ကားတွေလည်း မြင်တွေ့နိုင်ပါတယ်။  ကားတစ်စင်းဟာ INTERNET ကိုချိတ်ဆက်ထားတယ်ဆိုရင် နေရာတစ်ခုကနေ အခြား နေရာတစ်ခုကိုသွားတဲ့အခါမှာ အမြန်ဆုံးရောက်နိုင်မယ့်လမ်းကြောင်းကို ရှာဖွေပေးနိုင်မယ်၊ မိမိရပ်မယ့်နေရာမှာ ကားပါကင်ရနိုင်မရနိုင် အလွယ်တကူသိနိုင်မယ်၊ ကားမှတဆင့် ဖုန်းခေါ်ဆိုနိုင်မယ်၊ စာပို့နိုင်မယ်၊ နောင်အနာဂတ်မှာဆိုရင် ကားကို Self-Driving အလိုလျှောက်မောင်းနှင်စေနိုင်မယ်။  စသည့်ဖြင့် INTERNET ကို အခြားအရာတွေနှင့် ချိတ်ဆက်လိုက်ခြင်းဖြင့် ရလာတဲ့အကျိုးကျေးဇူးတွေပဲဖြစ်တယ်။  နောက်ပြီးမီးဖိုခေျာင်သုံး ပစ္စည်းတစ်ခုဖြစ်တဲ့ Coffee Maker ကို INTERNET ချိတ်ဆက်ထားနိုင်ပြီး၊ ဖုန်းကတဆင့် သတ်မှတ်ထားတဲ့အချိန်မှာ ကော်ဖီဖျော်ဖို့ လုပ်ဆောင်နိုင်တယ်၊ မိမိသောက်ချင်တဲ့ ကော်ဖီအရသာပုံစံစတာတွေလည်း သတ်မှတ်နိုင်တယ်။  စသည့်ဖြင့် IoT အရာဝတ္ထုပစ္စည်းတွေ လူမှုဘဝပုံစံတွေထဲမှာ တဖြည်းဖြည်းတိုးပွားလာတယ်။

IoT နှင့် Smart ဖြစ်သည့် အရာများ
Smart ဆိုတာနှင့်ပတ်သက်ပြီး Smart Phone, Smart Watch, Smart Home, Smart City စသည်ဖြင့် ကျွန်တော်တို့ပတ်ဝန်းကျင်မှာ အမြဲလိုလို ကြားနေရတဲ့ Smart ဆိုတာတွေဟာ တကယ်တော့ IoT ပဲဖြစ်ပါတယ်။  နောင်အနာဂတ်မှာဖြစ်လာမယ့် Smart Word ကို Libelium ကပုံဖေါ်ထားတာကို အောက်ပါပုံလေးမှာ တွေ့မြင်နိုင်ပါတယ်။

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

Honeywell (HON)HitachiT-Mobile (TMUS)Comcast (CMCSA)
GE (GE)AT&T (T)Cisco (CSCO)IBM (IBM)
Amazon (AMZN)Skyworks (SWKS)Apple (AAPL)Sierra Wireless (SWIR)
Google (GOOGL)Iridium Communications (IRDM)Ambarella (AMBA)ARM Holdings (ARMH)
Texas Instruments (TXN)PTC (PTC)
Fitbit (FIT)
ORBCOMM (ORBC)
Garmin (GRMN)Blackrock (BLK)InvenSense (INVN)Microsoft (MSFT)
Control4 (CTRL)Silicon Laboratories (SLAB)CalAmp (CAMP)LogMeIn (LOGM)
InterDigital (IDCC)Ruckus Wireless (RKUS)Linear Technology (LLTC)Red Hat (RHT)
Nimble Storage (NMBL)Silver Spring Networks (SSNI)Zebra Technologies (ZBRA)Arrow Electronics (ARW)
(BusinessInsider မှ ဇယားဖြစ်ပါတယ်။)

IoT နှင့်ပတ်သက်တဲ့ Platform များ
လက်ရှိစျေးကွက်ထဲမှာ အောက်ဖေါ်ပြပါ IoT Platform တွေကိုမြင်တွေ့နိုင်ပါတယ်။

  • Amazon Web Services
  • Microsoft Azure
  • ThingWorx IoT Platform
  • IBM's Watson
  • Cisco IoT Cloud Connect
  • Salesforce IoT Cloud
  • Oracle Integrated Cloud
  • GE Predix
(BusinessInsider မှ ဖြစ်ပါတယ်။)

Amazon Web Services (AWS) ကတော့ လူသုံးများတဲ့ Platform တစ်ခုဖြစ်ပါတယ်။

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

IoT Ecosystem
အောက်ပါပုံကတော့ IoT ရဲ့ ecosystem ပုံဖြစ်ပါတယ်။ Matt Turck Blog ကပုံဖြစ်ပါတယ်။  ဒီပုံထဲမှာ နယ်ပယ်အသီးသီးမှာ IoT နှင့်ပတ်သက်တဲ့ ပစ္စည်းတွေကို ဖန်တီးထုတ်လုပ်နေတဲ့ အဖွဲ့အစည်းတွေကို မြင်တွေ့နိုင်ပါတယ်။

အခြားဆက်စပ်လင့်ခ်များ
A Simple Explanation of IoT
What is the Internet of Things (IoT)?

Mar 17, 2017

API ဆိုတာဘာလဲ။

sagaing
API ဆိုတာ Application Program Interface ဖြစ်ပါတယ်။  Application တစ်ခုနှင့်တစ်ခု ချိတ်ဆက်ပြီး လိုအပ်တဲ့လုပ်ငန်းတွေ ဆောင်ရွက်နိုင်ရန် ဖန်တီးထားတဲ့ ကြားခံ Application တစ်ခုဖြစ်ပါတယ်။  Application တစ်ခုနှင် အခြား Application တစ်ခုတို့ရဲ့ Interface လည်းဖြစ်ပါတယ်။  API မှာ Command (သို့) Function တွေစုစည်းဖန်တီးထားပြီး ၄င်းတို့ကို Request လုပ်တဲ့အခါမှာ သက်ဆိုင်ရာ Response တစ်ခုခုကိုပြန်လည်ပေးပို့တယ်။  API တွေဟာ Cloud Service တွေထဲက (SaaS - Software as a Service နှင့်ဆင်တူတယ်။  Cloud Service တွေအကြောင်းကိုဖတ်ချင်ရင် ကျွန်တော် ဒီနေရာမှာ ရေးသားထားပါတယ်။  API ဆိုတာကို အခုနောက်ပိုင်းမှာ Web နည်းပညာတွေနှင့်အတူတွဲပြီး အမြဲလိုလို ကြားဖူးနေကြပေမယ့် တကယ်တော့ API ဟာ Windows နှင့်အခြား Platform တွေမှာလည်း ရှိပါတယ်။  ဥပမာ MS Windows ထဲက API တွေကို Windows API Index မှာတွေ့နိုင်ပါတယ်။  Windows Application တွေကို VB, C#, Java စသည့် Programming Languages တွေနှင့် ရေးသားဖန်တီးတဲ့အခါမှာ Windows ရဲ့ တစ်ချို့လုပ်ဆောင်ချက်တွေကို မိမိရဲ့ Application ထဲမှာထည့်သွင်း အသုံးပြုချင်တယ်ဆိုရင် Windows API တွေကိုသုံးနိုင်ပါတယ်။  မည်သည့် API ပဲဖြစ်ဖြစ် မိမိရဲ့ Application ထဲမှာထည့်သွင်း အသုံးပြုခြင်းဖြင့် သီးသန့်အစအဆုံးဖန်တီးစရာမလိုပဲ လိုအပ်တာကိုလုပ်ဆောင်နိုင်တာဟာ API တွေရဲ့ အားသာချက်တစ်ခုဖြစ်ပါတယ်။
ဒီပုံကတော့ API တစ်ခုရဲ့ အခြေခံအလုပ်လုပ်ပုံဖြစ်ပါတယ်။  Application 2 ကနေ Application 1 ကို API မှတဆင့် Request တစ်ခုလုပ်တယ်၊ Application 2 ရဲ့ Request ကို Application 1 ရတဲ့အချိန်မှာ သက်ဆိုင်ရာ Response တစ်ခုကို Application 1 က ပြန်လည်ပေးပို့နေတဲ့ ပုံဖြစ်ပါတယ်။

Web Service ဆိုတာဘာလဲ။
Web Service ဆိုတာ API အမျိုးအစားတစ်ခုဖြစ်ပြီး၊ Network (သို့) Internet ထဲက မတူညီတဲ့ Platform တွေပေါ်မှာရှိတဲ့ Application တွေတစ်ခုနှင့်တစ်ခု အပြန်အလှန်ဆက်သွယ်၊ ဆောင်ရွက်နိုင်အောင် ဖန်တီးထားတဲ့ နည်းပညာဖြစ်ပါတယ်။  အဲ့လို ဆက်သွယ်ဆောင်ရွက်တဲ့အခါမှာ Transport Protocol တစ်ခုဖြစ်တဲ့ HTTP ကိုအဓိက အသုံးပြုပါတယ်။ အခြား SMTP, FTP စသည် Protocol တွေလည်း အသုံးပြုကြပါတယ်။ အချက်အလက်တွေ အပြန်အလှန်ပေးပို့တဲ့နေရာမှာ အဓိကအသုံးများတဲ့ Message Protocol တွေကတော့ SOAP နှင့် REST ပဲဖြစ်ပါတယ်။  REST ကို RESTful လို့လည်းခေါ်ကြတယ်။  Wiki ထဲမှတော့ REST ကို Protocol တစ်ခုလို့ ဒီနေရာမှာ ပြောထားတယ်။  သို့သော် REST ဟာ HTTP ကိုအခြေခံပြီး API တွေရေးတဲ့အခါမှာအသုံးပြုတဲ့ Application Architecture တစ်ခုလို့ပြောရင် ပိုမှန်ပါလိမ့်မယ်။  Web Service တွေရဲ့ အခြေခံအားဖြင့် အလုပ်လုပ်ပုံကတော့ Transport Protocol တစ်ခုပေါ်မှာ Message တွေကို Request နှင့် Response လုပ်တာပဲဖြစ်တယ်။

SOAP ဆိုတာဘာလဲ။
SOAP ဆိုတာ XML ကိုအခြေခံတဲ့ Simple Object Access Protocol ဖြစ်ပါတယ်။  SOAP ဆိုတဲ့ Standard နှင့် SOAP အတွက်သတ်မှတ်ချက်တွေကို ဖန်တီးခဲ့တာကတော့ W3C အဖွဲ့ကြီးပဲဖြစ်ပါတယ်။  SOAP ကို HTTP, SMTP နှင့် FTP စသည့် Transport Protocol တွေပေါ်မှာ ဖန်တီးနိုင်ပါတယ်။  SOAP Message တစ်ခုကို Envelope လို့ခေါ်ပါတယ်။  Envelope တစ်ခုမှာ Header နှင့် Body ဆိုတာရှိတယ်၊  Header ပိုင်းမှာ Message အတွက်လိုအပ်တဲ့ လုံခြုံရေးပိုင်းဆိုင်ရာတွေဖြစ်တဲ့ ဥပမာ (Authentication, Encoding စသည်ဖြင့်) ပါဝင်ပြီး Body ပိုင်းမှာတော့ Response လုပ်မယ့် Message ပါဝင်တယ်။  Body က Message တွေကို WSDL - Web Service Definition Language လို့ခေါ်တဲ့ XML ပုံစံကဲ့သို့ရိုးရှင်းသော Language ကိုအသုံးပြုပြီး ဖန်တီးထားတာဖြစ်တယ်။  Body ထဲမှာ နောက်ထပ်ပါဝင်နိုင်တာက Fault ဖြစ်ပါတယ်။  Fault ကတော့ Error (သို့) Response Message နှင့်သက်ဆိုင်တဲ့ အချက်အလက်တွေပါဝင်တယ်။  Fault ကတော့လိုအပ်မှ ထည့်သွင်းအသုံးပြုရတဲ့အပိုင်းဖြစ်တယ်။  SOAP နှင့်ဆင်တူတဲ့ XML-RPC (Remote Procedure Call) ဆိုတဲ့ Web Service အမျိုးအစားလည်းရှိပါတယ်။  အခြားသော Web Service Protocol တွေကို ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။

အောက်မှာဖော်ပြထားတဲ့ SOAP Request Message နမူနာက W3C.ORG မှဖြစ်ပါတယ်။

POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <m:GetLastTradePrice xmlns:m="Some-URI">
            <m:tickerSymbol>DIS</m:tickerSymbol>
        </m:GetLastTradePrice>
    </soapenv:Body>
</soapenv:Envelope>

အောက်မှာဖော်ပြထားတဲ့ SOAP Response Message နမူနာက W3C.ORG မှဖြစ်ပါတယ်။

HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <m:GetLastTradePriceResponse xmlns:m="Some-URI">
            <m:price>34.5</m:price>
        </m:GetLastTradePriceResponse>
    </soapenv:Body>
</soapenv:Envelope>
နမူနာ SOAP Message တွေနှင့် အထက်ပါပုံကိုတွဲပြီး ကြည့်မယ်ဆိုရင် DIS (Walt Disney Company) ရဲ့ နောက်ဆုံး အရောင်းအဝယ်ဖြစ်ခဲ့တဲ့ Stock စျေးနှုံးကို SOAP Sender က SOAP Receiver ဆီကို Request လုပ်လိုက်တယ်။  SOAP Receiver ကနေ နောက်ဆုံးစျေးနှုံးကို SOAP Sender ဆီကို Response ပြန်လည်ပေးပို့လိုက်တာပဲဖြစ်တယ်။

REST ဆိုတာဘာလဲ။
REST ဆိုတာ REpresentational State Transfer ဖြစ်ပါတယ်။  Server မှာရှိတဲ့ Resource တွေကို Client တွေ Request လုပ်ခဲ့ရင်၊ Request နှင့်သက်ဆိုင်တဲ့ Response တစ်ခုကို ပြန်လည်ပေးပို့တဲ့ အလုပ်ကိုလုပ်ဆောင်တယ်။ Resource ဆိုတာ Message တစ်ခုဖြစ်နိုင်သလို၊ Image တစ်ခုလည်း ဖြစ်နိုင်တယ်။  REST ရဲ့ အလုပ်လုပ်ပုံက Client နှင့် Server ပုံစံမျိုးဖြစ်တယ်။  REST ဆိုတဲ့နည်းပညာကို Roy Fielding ရဲ့ PhD Thesis ကနေ ၂၀၀၀ ခုနှစ်မှာ စတင်ပေါ်ပေါက်လာခဲ့ပြီး၊ အခုနောက်ပိုင်းမှာ တဖြည်းဖြည်းနှင့် ပေါ်ပြူလာဖြစ်လာတဲ့ နည်းပညာတစ်ခုဖြစ်တယ်။  REST API ကို HTTP ပေါ်မှာ ရိုးရှင်းစွာ Request နှင့် Response ကိုလုပ်ဆောင်နိုင်ပါတယ်။  REST API တစ်ခုကိုအသုံးပြုဖို့၊ မည်သည့် Deployment မှမလုပ်ပဲနှင့်လည်း Browser ကနေလည်း Server ဆီကို Request လုပ်နိုင်ပါတယ်။  Request လုပ်တဲ့အခါမှာလည်း Client နှင့်သက်ဆိုင်တဲ့ Cookies Data နှင့် အခြား State တွေ (ဥပမာ Session Context) ကို Server ထဲမှာသိမ်းဆည်းမှု မလုပ်နိုင်ပါဘူး။  အဲလိုမလုပ်နိုင်တဲ့ အခြေအနေကို Stateless လို့ခေါ်ပါတယ်။ နောက်ပြီး REST မှာရှိတဲ့ Request တစ်ခုစီတိုင်းဟာ Resource တစ်ခုစီကို ရည်ညွှန်းတယ်။ REST ရဲ့ Request တွေဟာ URL တွေနှင့်သတ်မှတ်ထားတာဖြစ်တယ်။

အောက်မှာဖော်ပြထားတဲ့ REST Request နမူနာက Open Weather Map ကဖြစ်ပါတယ်။
http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b1b15e88fa797225412429c1c50c122a1

အောက်မှာဖော်ပြထားတဲ့ REST Response နမူနာက Open Weather Map ကဖြစ်ပါတယ်။ 
{"coord":{"lon":-0.13,"lat":51.51},"weather":[{"id":300,"main":"Drizzle","description":"light intensity drizzle","icon":"09d"}],"base":"stations","main":{"temp":280.32,"pressure":1012,"humidity":81,"temp_min":279.15,"temp_max":281.15},"visibility":10000,"wind":{"speed":4.1,"deg":80},"clouds":{"all":90},"dt":1485789600,"sys":{"type":1,"id":5091,"message":0.0103,"country":"GB","sunrise":1485762037,"sunset":1485794875},"id":2643743,"name":"London","cod":200}
Request မှာကြည့်လိုက်ရင် ပုံမှန် URL ကဲ့သို့ပဲဖြစ်ပေမယ့် URL နောက်မှာ API Version (2.5)၊ weather (ဒီနေရာထိကို Service Endpoint လို့ခေါ်ပါတယ်။)၊ q=London,uk (ရှာဖွေချင်တဲ့ နိုင်ငံ၊ မြို့အမည်) နှင့် appid (ယာသီအသုံးပြုဖို့ id) စသည့်အချက်အလက်တွေပါတယ်။  ဒီအချက်အလက်ပုံစံကို Query String လို့ခေါ်ပါတယ်။ Response မှာကတော့ JSON Data တွေဖြစ်ပါတယ်။ Response မှာ XML အမျိုးအစားလည်း Response လုပ်နိုင်ပါတယ်။  အခုနမူနာက JSON Data တွေကို Programmer တွေရဲ့ Application ထဲမှာပြန်သုံးတဲ့အခါမှာ Serialization လုပ်ပြီးတော့ အသုံးပြုကြပါတယ်။  Serialization နှင့် Deserialization အကြောင်းကို ဖတ်ချင်ရင် ဒီနေရာမှာ ကျွန်တော်ရေးသားထားပါတယ်။  REST API တွေအလုပ်လုပ်ပုံကို လေ့လာကြည့်ချင်ရင် Fake API ဆိုတဲ့ Website မှာလေ့လာနိုင်ပါတယ်။  REST API ဆိုတာ ဘယ်လိုမျိုးလည်းဆိုတာ စမ်းသပ်ဖို့ရန် ဖန်တီးထားတဲ့ Website ဖြစ်ပါတယ်။  SOAP ထက် ဖန်တီးတည်ဆောက်ရတာလွယ်ပြီး၊ ရိုးရှင်းစွာ အသုံးပြုနိုင်တာကြောင့် REST နှင့် API တွေ တော်တော်များများကို အင်တာနက်ထဲမှာ တွေ့နိုင်ပါတယ်။

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

Feb 25, 2017

Bitcoin နှင့် Blockchain ဆိုတာဘာလဲ

sagaing

Bitcoin ဆိုတာဘာလဲ။
Bitcoin ဆိုတာ အင်တာနက်ထဲမှာ အသုံးပြုတဲ့ ဒစ်ဂျစ်တယ်ငွေကြေးတစ်ခု ဖြစ်ပါတယ်။  ကာဆီနိုတွေမှာ လောင်းကစားလုပ်ဖို့ ငွေကြေးနှင့်ကွိုင်ပြားကို လဲလှယ်ပြီးမှ ဆော့လို့ရသလိုမျိုးပဲ၊ အင်တာနက်ထဲမှာ ပစ္စည်းတစ်ခုခုကို ဝယ်ဖို့အတွက် ကြားခံအသုံးပြုတဲ့ အင်တာနက်ထဲက Coin ကို Bitcoin လို့ခေါ်ပါတယ်။  ၂၀၀၉ မှာ Bitcoin စတင်ပေါ်ပေါက်ခဲ့ပြီး၊ ၂၀၁၁ နောက်ပိုင်းမှာ ဥပဒေနှင့်မလွတ်ကင်းတဲ့ ပစ္စည်းတွေဖြစ်တဲ့ မူးယစ်ဆေးဝါး၊ လက်နက် စသည်တို့ကို Silk Road လို့ခေါ်တဲ့ Website ကနေ Bitcoin ဖြင့် ကျယ်ကျယ်ပြန်ပြန့် အရောင်းအဝယ်ပြုလုပ်ခဲ့ကြတဲ့ သာဓကရှိတာကြောင့် ယခုအချိန်ထိ Bitcoin ကိုအသုံးပြုဖို့ လူတော်တော်များများ စိုးရွံ့နေလေ့ရှိပါတယ်။  သို့သော်လည်း တဖြည်းဖြည်းနှင့်ကျယ်ပြန့်လာတဲ့ ဒစ်ဂျစ်တယ်ငွေကြေးတစ်ခု ဖြစ်နေပါပြီ။ အင်တာနက်ထဲမှာ ရှိတဲ့ Bitcoin ကိုထိန်းချုပ်ထားတဲ့ ဘဏ်၊ ငွေကြေးအဖွဲ့အစည်း စသည့်ဗဟိုအဖွဲ့အစည်း ဆိုတာမျိုးတွေ မရှိပါဘူး။  အဲ့ဒါကြောင့် Bitcoin ဟာ တရားဝင်လား၊ မဝင်ဘူးလားဆိုတာကတော့ မေးခွန်းထုတ်စရာတစ်ခုပါ။  လက်ရှိအချိန်မှာတော့ နိုင်ငံတော်တော်များများမှာ တရားဝင်ကဲ့သို့သုံးစွဲနေပြီး၊ တစ်ချို့နိုင်ငံတွေမှာတော့ အငြင်းပွားစရာတစ်ခုအနေနှင့် ရှိနေဆဲပါ။ ဘယ်နိုင်ငံတွေမှာ တရားဝင်အနေနှင့် သုံးနေကြလည်း၊ ဘယ်နိုင်ငံတွေမှာ အငြင်းပွားဖွယ်ရာ ဖြစ်နေလဲဆိုတာ CNN Money ကဖေါ်ပြထားတဲ့  ဒီမြေပုံမှာ မြင်တွေ့နိုင်ပါတယ်။  Bitcoin နှင့်ပတ်သက်ပြီး နိုင်ငံအလိုက် ဥပဒေကြောင်းအရ ရှုမြင်မှုတွေကို ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။  Bitcoin ဆိုတာ Virtual Currency တစ်ခုဖြစ်တာကြောင့်၊ ကာဆီနိုမှာအသုံးပြုတဲ့ Coin ပြားကဲ့သို့ ပုံပန်းသဏ္ဌာန်လည်းမရှိသလို၊ ငွေစက္ကူတွေလို ပုံနှိပ်ထားတာမျိုးလည်း မဟုတ်ပါဘူး။  Bitcoin ကို Cryptocurrency လို့လည်း ပြောနိုင်ပါတယ်။ Bitcoin အပြင်အခြား Cryptocurrency တွေလည်းရှိပါတယ်၊ ၄င်းတို့ကို ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။  Cryptocurrency ဖြစ်တာကြောင့် Bitcoin မှာ Hashing လို့ခေါ်တဲ့ အချက်အလက်ကို လျှို့ဝှက်စာအဖြစ်ပြောင်းလဲသိမ်းဆည်းတဲ့နည်းလမ်းကိုအသုံးပြုထားပြီး လူတစ်ဦးမှ၊ အခြားလူတစ်ဦးဆီကို အင်တာနက်မှတဆင့် လွှဲပြောင်းပေးပို့တဲ့အခါမှာလည်း လက်ခံတဲ့သူဆီမှာ အဲ့ဒီလျှို့ဝှက်စာကိုချိတ်ဆက်နိုင်တဲ့ သတ်မှတ်ထားတဲ့လျှို့ဝှက်စာရှိမှသာလျှင်လက်ခံနိုင်အောင် ဖန်တီးထားတဲ့ ငွေကြေးပုံစံဖြစ်ပါတယ်။  ဒါကြောင့် Bitcoin ဖြင့် အရောင်းအဝယ်လုပ်ခြင်းကို P2P (Peer to Peer) Transaction လို့လည်းပြောကြပါတယ်။  အင်တာနက်ထဲမှာ Bitcoin ဖြင့်ရောင်းတဲ့ ပစ္စည်းတစ်ခုကိုဝယ်ဖို့ မိမိမှာရှိတဲ့ ငွေကြေး (ဥပမာ USD, EUR စသည်ဖြင့်) ကို Bitcoin ဖြင့်ပြောင်းလဲပြီးမှ ဝယ်လို့ရပါတယ်။  အဲ့လိုဝယ်ယူတဲ့အခါမှာ ပုံမှန်ငွေပေးချေမှုပုံစံတွေကဲ့သို့ ဖြစ်ပေမယ့်၊ Bitcoin နှင့်ပေးချေရင်တော့ ဘဏ်၊ ငွေကြေးအဖွဲ့အစည်း၊ စသည့်ကြားခံအဖွဲ့အစည်းတွေ မပါဝင်တဲ့အတွက် ပိုမိုသက်သာသည့်နှုန်းထားဖြင့် ငွေပေးချေနိုင်ခြင်းက သူ့ရဲ့အားသာချက်တစ်ခုဖြစ်ပါတယ်။ Bitcoin ကိုလဲလှယ်နိုင်တဲ့ ငွေကြေးတန်ဖိုးနှုန်းထားဟာ အခြားငွေကြေးတွေကို လဲလှယ်နိုင်တဲ့ နှုန်းထားတွေကဲ့သို့ အမြဲပြောင်းလဲနေပါတယ်။  Bitcoin နှင့် USD ငွေကြေးလဲလှယ်မှုနှုန်းထားကို Google မှာ ယခုလို တွေ့နိုင်ပါတယ်။  Bitcoin ဟာ အခြားငွေကြေးတွေကဲ့သို့ သူ့မှာလည်း ယူနစ်သက်မှတ်ချက်တွေရှိပါတယ်။  ဥပမာ။ 100μBTC ကို 100 microbitcoin လို့ခေါ်ပြီး 0.0001BTC (BTC=Bitcoin) နှင့်တန်ဖိုးတူတယ်။  100μBTC ကို USD ပြောင်းရင် 0.11USD ရပါတယ်။  Bitcoin နှင့်ပတ်သက်တဲ့ ယူနစ်တွေကို ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။  Bitcoin ကနေ အခြားငွေကြေးတွေကို ပြောင်းလဲကြည့်ချင်ရင် ဒီနေရာမှာ ပြောင်းလဲကြည့်လို့ရပါတယ်။  Bitcoin ဆိုတဲ့ ဒစ်ဂျစ်တယ်ငွေကြေးကို ဖန်တီးခဲ့တာကတော့ Software Developer တစ်ယောက်လို့ဆိုတဲ့ Satoshi Nakamoto ဖြစ်ပါတယ်။  သို့သော် သူဟာဘယ်သူလည်း၊ လူတစ်ယောက်ကိုရည်ညွှန်းတာလား၊ အဖွဲတစ်ဖွဲ့ကိုရည်ညွှန်းတာလား ဆိုတာကိုတော့ ယခင်ကဘယ်သူမှ သေချာစွာ မသိခဲ့ကြပါဘူး။  သို့သော် ၂၀၁၆ မေလက BBC သတင်း တစ်ခုမှာတော့ သြစတြေးလျနိုင်ငံသား Programmer တစ်ယောက်ဖြစ်တဲ့ Craig Wright ဆိုသူက၊ သူဟာ Nakamoto ဖြစ်ပြီး Bitcoin ကို တီထွင်ခဲ့တဲ့သူလို့ ဝန်ခံပြောကြားခဲ့ပါတယ်။  သို့ပေမယ့် Wright ထုတ်ဖေါ်ပြောကြားခဲ့တဲ့ အထောက်အထားအချို့က လုံလောက်မှုမရှိတာကြောင့် Wright ကို Bitcoin သုံးစွဲနေကြတဲ့ အဖွဲ့အစည်းတွေက ပိုပြီးတိကျသေချာတဲ့ အထောက်အထားတွေပြဖို့ တောင်းဆိုထားပါတယ်။

အောက်ဖေါ်ပြပါပုံမှာ Bitcoin ဖြင့် ပစ္စည်းဝယ်ပြီး ငွေပေးချေနေပုံဖြစ်ပါတယ်။

Bitcoin ကိုဘယ်လိုထုတ်လုပ်လဲ။

Bitcoin ထုတ်လုပ်ဖို့ရန် ကွန်ပျူတာမှာ လိုအပ်တဲ့ ဟာ့ဒ်ဝဲလ်နှင့်ဆော့ဒ်ဝဲလ်တွေကို ထည့်သွင်းတပ်ဆင်ပြီး ထုတ်လုပ်နိုင်ပါတယ်။ သို့သော်အလွယ်တကူ ထုတ်လုပ်နိုင်တဲ့နည်းလမ်းတစ်ခုတော့ မဟုတ်ပါဘူး။ Bitcoin တွေထုတ်လုပ်ခြင်းဆိုတာထက် Bitcoin Mining (တူးဖေါ်ခြင်း) လို့ပြောရင် ပိုမှန်ပါလိမ့်မယ်။ Bitcoin Mining လုပ်ဖို့ ဘယ်လိုစတင်ရမလဲ၊ ဘာတွေလိုအပ်မလဲ ဆိုတာကိုတော့ ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။ Bitcoin တွေရအောင်တူးဖေါ်တဲ့အခါမှာ တစ်ဦးတစ်ယောက်တည်း တူးဖေါ်ခြင်းဟာ ကုန်ကျစရိတ်များတဲ့အပြင်၊ Bitcoin လည်းအများအပြားမရနိုင်တဲ့အတွက် Bitcoin mining pool လို့ခေါ်တဲ့ Bitcoin တူးဖေါ်တဲ့ အဖွဲ့တွေနှင့် အကျိုးတူ၊ ပူးပေါင်းတူးဖေါ်ခြင်းဟာ ကုန်ကျစရိတ်သက်သာတဲ့အပြင်၊ Bitcoin လည်းအများအပြားရနိုင်သလို၊ အတွေ့အကြုံတွေလည်း ဖလှယ်နိုင်ပါတယ်။  Bitcoin mining pool အကြောင်းနှင့် ပေါ်ပြူလာဖြစ်တဲ့ mining pool အဖွဲ့တွေအကြောင်းကို ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။  Bitcoin ကိုတူးဖေါ်တဲ့အခါမှာ Bitcoin တွေကိုသိမ်းစည်းဖို့ (သို့) လက်ခံဖို့ Bitcoin Wallet တစ်ခုရှိရပါမယ်။ Bitcoin Wallet ဆိုတာ e-Wallet ဖြစ်ပါတယ်။  လက်ရှိကျွန်တော်တို့ ပတ်ဝန်းကျင်မှာ အသုံးပြုနေတဲ့ Mobile Wallet ကဲ့သို့သော Application တစ်ခုဖြစ်ပါတယ်။

Bitcoin ကို Mining မလုပ်ပဲ ဘယ်လိုရနိုင်လဲ။

Bitcoin ကို Mining မလုပ်ပဲ အခြားနည်လမ်းတွေနှင့်လည်း ရနိုင်ပါတယ်။  အခြားနည်းလမ်းတွေဆိုတာ တချို့အလုပ်တွေကို အွန်လိုင်းကနေလက်ခံပြီး လုပ်ပေးကြတဲ့အခါမှာ၊ လုပ်အားခအတွက် ငွေပေးချေမှုကို အခြားငွေကြေးတွေနှင့်ပေးချေမှု မပြုလုပ်ပဲ Bitcoin နှင့်ငွေပေးချေမှုပြုလုပ်ကြတာကြောင့် ၄င်းမှတဆင့်ရနိုင်တာမျိုးဖြစ်ပါတယ်။နောက်ထပ်နည်းလမ်းတစ်ခုက အွန်လိုင်းမှာ ငွေကြေးတွေရဲ့အတက်အကျပေါ်မူတည်ပြီး (EUR, USD, SGD, CNY, JPY) စသည့်ငွေကြေးတွေကို Trading လုပ်လို့ရပါတယ်။  ငွေကြေးတွေကို Trading ပြုလုပ်ခြင်းကို ForeX (Foreign Exchange) Trading လို့ခေါ်ပါတယ်။  ForeX Trading မှာ Bitcoin ကိုလည်း Trading လုပ်နိုင်ပါတယ်။ Bitcoin ကို BTC အနေနှင့် ForeX Trading လုပ်တဲ့ Website တွေမှာ တွေ့နိုင်ပါတယ်။  Bitcoin ကို ForeX Trading လုပ်ခြင်းအားဖြင့်လည်း ရနိုင်ပါတယ်။  Bitcoin အခမဲ့ရနိုင်တဲ့နည်းလမ်းတွေလည်း ရှိပါတယ်။ အခမဲ့ရတယ်ဆိုပေမယ့်၊ မိမိ၏အချိန်ပေးလိုက်ရတာမျိုး ဖြစ်နိုင်သလို၊ Online Gambling Website တွေကနေ လောင်းကစားဖို့ စိတ်ပါလာအောင် အနည်းအကျဉ်းပေးပြီး ဆွဲဆောင်တာမျိုးတွေလည်း ရှိပါတယ်။ တနည်းနည်းနှင့် ရလာတဲ့ Bitcoin တွေကိုလက်ခံဖို့အတွက်ကတော့ မိမိမှာ Bitcoin Wallet တစ်ခုရှိဖို့တော့လိုပါတယ်။  Bitcoin ရနိုင်တဲ့နည်းလမ်းတွေကို ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။  Bitcoin ဘယ်လိုအလုပ်လုပ်လည်းဆိုတာ အလွယ်တကူနားလည်နိုင်မယ့် ပုံစံဖြင့် ဒီနေရာမှာ ရှင်းပြထားတာကိုဖတ်ရှုနိုင်ပါတယ်။  Bitcoin Wallet တွေကို ဒီနေရာကနေ Download လုပ်လို့ရပါတယ်။  Play Store နှင့် App Store တွေကလည်း ရှာဖွေပြီး Download နှင့် Install လုပ်လို့ရပါတယ်။

အောက်ဖေါ်ပြပါပုံကတော့ နာမည်ကြီး Bitcoin Wallet တွေဖြစ်ပါတယ်။


Blockchain ဆိုတာဘာလဲ။

Bitcoin နည်းပညာနှင့်အတူ Blockchain နည်းပညာဆိုတာလည်း ပေါ်ထွက်လာပါတယ်။  Bitcoin ကိုအသုံးပြီး အရောင်းအဝယ်တစ်ခုကို ပြုလုပ်ပြီးတဲ့အခါမှာ ဘယ်သူက၊ ဘယ်သူ့ကို၊ ဘယ်နေ့က၊ Bitcoin တန်ဖိုး ဘယ်လောက်လွှဲလိုက်တယ် စသည့် အချက်အလက်၊ စာရင်းတွေကို မှတ်သားထားတဲ့ လယ်ဂျာကို Blockchain လို့ခေါ်ပါတယ်။  Bitcoin နှင့် Transaction တစ်ခုလုပ်ပြီးရင် အဲ့ဒီ Transaction ဟာမှန်ကန်မှုရှိမရှိ စစ်ဆေးခြင်း၊ အတည်ပြုခြင်း (Authentication) ကို Bitcoin အသုံးပြုတဲ့ အသိုင်းအဝိုင်း (Network) ကနေ မှန်ကန်ကြောင်း ထောက်ခံမှု (Approve) ပြုလုပ်ပေးပါတယ်။  Approve ဖြစ်သွားတဲ့ Transaction တစ်ခုဟာ Block (သို့) File တစ်ခုဖြစ်ပါတယ်။  ၄င်း Approve ဖြစ်သွားတဲ့ Transaction ကို လယ်ဂျာထဲမှာ မှတ်သားထားခြင်းဖြင့် Blockchain ဖြစ်တည်နေပါတယ်။ Blockchain ကို တစ်နေရာထဲမှာ သိမ်းဆည်းထားတာမျိုးမဟုတ်ပဲ Bitcoin Network ထဲမှာ ဖြန့်ဝေမှု (Distribute) ပြုလုပ်ပြီး သိမ်းဆည်းထားတာဖြစ်ပါတယ်။  Network ထဲမှာဖြန့်ဝေပြီး သိမ်းဆည်းတာကြောင့် အပြန်အလှန်ဖြန့်ဝေထားတဲ့လယ်ဂျာ (MDL = Mutual Distributed Ledger) လို့လည်းခေါ်ဆိုနိုင်ပါတယ်။  Approve ဖြစ်သွားတဲ့ Transaction ကို ယခင် Transaction ရဲ့နောက်မှာထပ်ထည့်ပြီး Blockchain ထဲမှာ မှတ်သားထားပါတယ်။ Blockchain ထဲမှာ Block (သို့) File တွေဟာ တစ်ခုနှင့်တစ်ခု ချိတ်ဆက်နေပြီး၊ အမြဲတိုးပွားနေတာကြောင့် Blockchain ကို Database တစ်ခုအနေနှင့်မြင်နိုင်ပါတယ်။  နောက်ပြီး Blockchain ထဲက Block ထဲမှာ Cryptography Sign (သို့) Digital Signature လို့ခေါ်တဲ့ လက်ခံနှင့်ပို့သူအတွက် မှန်ကန်ကြောင်းအထောက်အထားပါဝင်သလို၊  Blockchain ထဲမှာရှိတဲ့ Block တွေတစ်ခုနှင့်တစ်ခုကို ချိတ်ဆက်တဲ့အခါမှာ Hashing Function ကိုအသုံးပြုပြီး ချိတ်ဆက်ထားပါတယ်။  Hashing နှင့် Encryption အကြောင်းကိုလေ့လာချင်ရင် ဒီနေရာမှာ ကျွန်တော်ရေးသားထားတာကို ဖတ်ရှုနိုင်ပါတယ်။ Blockchain ကို Open Decentralized Database လို့လည်းခေါ်ကြပါတယ်။ တစ်ဦးတစ်ယောက်တည်း ထိန်းချုပ်ထားတဲ့ Database မဟုတ်တာကြောင့် Open Database လို့ခေါ်ဆိုကြခြင်းဖြစ်ပါတယ်။  Bitcoin Network ထဲမှာ ယခင်ကလုပ်ခဲ့တဲ့ Transaction တွေနှင့် နောက်ဆုံးလုပ်ခဲ့တဲ့ Transaction အချက်အလက်တွေရဲ့ Blockchain ကို ဒီနေရာမှာ မြင်တွေ့နိုင်ပါတယ်။  Bitcoin နှင့်အခြား Cryptocurrency တွေရဲ့ Blockchain ထဲက Transaction အချက်အလက်တွေကို ကြည့်ချင်ရင် ဒီနေရာမှာ တွေ့နိုင်ပါတယ်။ အချက်အလက်တွေထဲမှာ Key နှင့် Hash တွေကိုဖတ်လို့မရတဲ့ စာသားတွေအနေနှင့် မြင်တွေ့ရမှာဖြစ်ပါတယ်။  အဲ့ဒီ Key နှင့် Hash တွေဟာ Transaction လုပ်ခဲ့တဲ့သူတွေနှင့်သက်ဆိုင်တဲ့ အထောက်အထား (Identity) တွေဖြစ်ပြီး၊ Blockchain ရဲ့ အဓိကအစိတ်အပိုင်းတစ်ခုလည်း ဖြစ်ပါတယ်။  Blockchain နည်းပညာကို FinTech Industry ကဲ့သို့ ငွေကြေးနှင့်ပတ်သက်တဲ့လုပ်ငန်းတွေမှာသာမက အခြားလုပ်ငန်းတွေမှာလည်း တဖြည်းဖြည်း ကျယ်ပြန့်စွာအသုံးပြုလာကြပါတယ်။  ဥပမာ။ ကျမ္မာရေးထောက်ခံချက်၊ အွန်လိုင်းမဲပေးခြင်း၊ အရောင်းအဝယ် အွန်လိုင်းစာချုပ်၊ အွန်လိုင်း ထောက်ခံစာ စသည်တို့ဖြစ်ပါတယ်။

အောက်ဖေါ်ပြပါပုံဟာ Blockchain ဘယ်လိုအလုပ်လုပ်လည်းဆိုတဲ့ပုံ ဖြစ်ပါတယ်။


Blockchain နည်းပညာအသုံးပြုထားတဲ့ နာမည်ကြီး Trading နှင့် Investment Website တွေဖြစ်ပါတယ်။

Blockchain Ecosystem ပုံဖြစ်ပါတယ်။


ဆက်စပ်လေ့လာနိုင်မယ့်လင့်ခ်များ
Bitcoin Official Website
အခြေခံ Bitcoin အကြောင်း
Blockchain နည်းပညာအကျဉ်းချုပ်
Blockchain အကြောင်း
ကျွန်တော်တို့ အနာဂတ်ကိုပုံဖေါ်နေတဲ့ Blockchain Application (၅) မျိုး

Jan 23, 2017

Cloud ဆိုတာဘာလဲ။

sagaing
Cloud ဆိုတာ တကယ်တော့ Internet ကို ခေတ်ဆန်ဆန် တင်စားသုံးနှုံးခေါ်ဆိုတဲ့ ယေဘူယ စကားလုံးတစ်လုံးပဲ ဖြစ်ပါတယ်။  Internet ထဲမှာယခင်က Website တွေ၊ သာမာန် Email တွေသာ ကျယ်ကျယ်ပြန့်ပြန့် သုံးစွဲနိုင်ခဲ့ကြပေမယ့်။ နောက်ပိုင်းမှာ ဓါတ်ပုံ၊ သီချင်း၊ ဗွီဒီယို၊ အချက်အလက် စသည့် ဖိုင်တွေပါ သိမ်းဆည်းနိုင်ခဲ့ကြတယ်။ အဲ့ဒီနည်းပညာတွေပေါ်လာတဲ့ အချိန်ကစပြီး Cloud ဆိုတဲ့စကားလုံးလည်း တွင်ကျယ်လာခဲ့တယ်။ Cloud Computing, Cloud Storage, Cloud Server, Cloud Application စသည်ဖြင့် နည်းပညာအသစ်တွေနှင့်စကားလုံးအသစ်တွေလည်း ပေါ်ထွက်လာခဲ့တယ်။ အခုဆိုရင် Cloud ထဲမှာ Storage, Data Processing, Sharing, Communication, Infrastructure စတဲ့အလုပ်တွေကိုပါ လုပ်ဆောင်နိုင်နေပြီဖြစ်တယ်။

Cloud Computing
ကွန်ပျူတာတစ်လုံးကို အသုံးပြုပြီး လုပ်ဆောင်နိုင်တဲ့ လုပ်ငန်းတွေကို Internet Website တွေကနေအကုန်လုံး လုပ်ဆောင်နိုင်တဲ့ နည်းပညာဖြစ်ပါတယ်။  ဖုန်း (သို့) ကွန်ပျူတာကို အင်တာနက်ချိတ်ဆက်ထားရန်သာလိုအပ်ပြီး၊ ကွန်ပျူတာမှာလည်း Operating System (ဥပမာ Windows) နှင့် Browser (ဥပမာ Chrome) ပဲအဓိက ရှိရန်လိုအပ်ပါတယ်။  Cloud Computing ထဲမှာအသုံးပြုနိုင်တဲ့ Applications တွေကို Cloud Application လို့ခေါ်ပါတယ်။  အဲ့ဒီ Application တွေကို အင်တာနက်အသုံးပြုသူတွေအတွက် IT ကုမ္ပဏီတွေက ဝန်ဆောင်မှုပေးထားတာဖြစ်ပါတယ်။  Cloud Computing ထဲက ဝန်ဆောင်မှုတွေကို အဓိက Model (၃)မျိုးနှင့် ခွဲခြားသတ်မှတ်ထားပါတယ်။  အောက်ဖေါ်ပြပါပုံထဲမှာ Cloud Computing ထဲက ဝန်ဆောင်မှု Model (၃)မျိုးနှင့် User ပုံစံ (၃)မျိုးကို တွေ့နိုင်ပါတယ်။


Software as a Service (SaaS)

Computer တစ်လုံးမှာမည်သည့် Application ပဲသုံးချင်သုံးချင် Install မလုပ်ပဲသုံးလို့မရနိုင်ပါဘူး။  Cloud Computing မှာတော့ Install လုပ်စရာမလိုပဲ Cloud ထဲက Application တစ်ခုကို Browser ကနေ အသုံးပြုလို့ရတဲ့ ဝန်ဆောင်မှု Model ကို SaaS လို့ခေါ်ပါတယ်။  SaaS ဟာ တကယ်တော့ End User လို့ခေါ်တဲ့ Application အသုံးပြုမယ့်သူတွေအတွက် ဖြစ်ပါတယ်။ SaaS မှာဖိုင်ကို Storage လုပ်နိုင်တဲ့ Website တွေလည်းပါဝင်ပါတယ်။  ဥပမာဆိုရင် Google Drive, DropBox, Box, iCloud, OneDrive, Mega, pCloud စသည့် Cloud Storage Website တွေဖြစ်ပါတယ်။  Cloud Storage ထဲမှာ ဖိုင်တွေသိမ်းထားခြင်းအားဖြင့် ဘယ်နေရာရောက်ရောက် ဖုန်း (သို့) ကွန်ပျူတာကနေ Cloud Storage ထဲကဖိုင်ကိုဖွင့်ပြီး လိုအပ်တာကို အလွယ်တကူ လုပ်ဆောင်နိုင်တယ်။  (မှတ်ချက်။ ဖုန်း (သို့) ကွန်ပျူတာထဲက ဖိုင်နှင့် Cloud Storage ထဲကဖိုင် Sync (တပြေးတည်းအတူတူ) ဖြစ်အောင် သက်ဆိုင်ရာ Application (ဥပမာ DropBox) ကို Install လုပ်ထားပေးဖို့ လိုအပ်ပါတယ်။)။ Cloud Storage နည်းပညာကြောင့် ဖိုင်တွေကို Cloud ထဲမှာသိမ်းလာကြတဲ့အတွက် USB Stick အသုံးပြုမှုလည်း နည်းသွားခဲ့တယ်။  Cloud Storage ထဲက ဖိုင်တွေကို အလွယ်တကူ Share နိုင်တယ်၊  Stick ကဲ့သို့ပျောက်တာ၊ ပျက်စီးတာမျိုး မဖြစ်နိုင်ဘူး၊ ပိုပြီးလုံခြုံစိတ်ချရတယ်၊ စတာတွေအပြင် USB Stick တစ်ချောင်းထက်ပိုတဲ့ ပမာဏကို Register လုပ်ပြီး အခမဲ့ အသုံးပြုနိုင်တယ်။  ဥပမာ Mega 50GB အထိ၊ Google Drive 15GB အထိ၊ pCloud 10GB အထိ၊ MediaFire 10GB အထိ၊ Box 10GB အထိ Register လုပ်ပြီးအခမဲ့ အသုံးပြုနိုင်ပါတယ်။  အခြား Storage Website တွေလည်း အများကြီးရှိပါသေးတယ်။  တကယ်တော့ ဒီသိမ်းဆည်းနိုင်တဲ့ ပမာဏဟာ တစ်ကိုယ်ရေ အသုံးပြုဖို့အတွက် လုံလောက်မှုရှိပေမယ့်၊ ဒီထက်ပိုသုံးချင်ရင် (သို့) အဖွဲ့အစည်းတစ်ခုမှာ အသုံးပြုမယ်ဆိုရင် ကျသင့်ငွေပေးချေပြီး အသုံးပြုနိုင်ပါတယ်။  SaaS မှာ ရုံးလုပ်ငန်းတွေအတွက် အသုံးပြုနိုင်တဲ့ Application တွေလည်းရှိပါတယ်။ ​ ဥပမာ Google က Office တွေအတွက် ရည်ရွယ်ပြီး ထုတ်လုပ်ထားတဲ့ Application တစ်ခုဖြစ်တဲ့ G Suit ဆိုတာရှိပါတယ်။ G Suit ထဲမှာ ကျွန်တော်တို့အသုံးပြုနေကြ Gmail အပြင် Microsoft Office ကဲ့သို့ Application တွေဖြစ်တဲ့ (DOCS, SHEETS, FORMS, SLIDE, SITES ) စတာတွေကို စုပေါင်းထားတဲ့ Office Suit တစ်ခုဖြစ်ပါတယ်။  G Suit ကို အသုံးပြုဖို့ User တစ်ယောက်အတွက် တစ်နှစ်ကို USD50 ကျသင့်မှာ ဖြစ်ပါတယ်။  Microsoft မှာလည်း Office Applications တွေနှင့် Skype, OneDrive စတာတွေကိုပေါင်းစပ်ထားတဲ့ Office 365 ဆိုတာရှိပါတယ်။  ၄င်းကတော့ တစ်လကို အနည်းဆုံး USD8.25 ကျသင့်မှာဖြစ်ပါတယ်။ Micrsoft ရဲ့ Office 365 ကိုမြန်မာနိုင်ငံမှာလည်း တရားဝင်အသုံးပြုနိုင်ပြီ ဖြစ်ပါတယ်။  အခုဆိုရင် Application တော်တော်များများကို Cloud ကတဆင့်အသုံးပြုနိုင်တာကြောင့် ကွန်ပျူတာမှာ Install မလုပ်လည်းရတဲ့အတွက် အခြားကုန်ကျစရိတ်တွေလည်း သက်သာသွားနိုင်သလို၊ Software ကုမ္ပဏီတွေအနေနှင့်လည်း Pirate Software တွေကိုကာကွယ်ပြီးသားလည်း ဖြစ်သွားပါတယ်။

Platform as a Service (PaaS)

PaaS ဆိုတာ Application Developer တွေနှင့်သက်ဆိုင်တဲ့ ဝန်ဆောင်မှု Model ပုံစံပဲဖြစ်ပါတယ်။  Developer အတွက်လိုအပ်တဲ့ Resource တွေဖြစ်တဲ့ Database Engine တွေ, Scripting Framework တွေ၊ Deployment လုပ်နိုင်တဲ့ Service တွေ၊ Distribute Version Control System တွေ စသည်ဖြင့် Application Development နှင့် Deployment လုပ်တဲ့အခါမှာလိုအပ်တဲ့ Tools တွေကို အကုန်ရနိုင်အောင် ဖန်တီးပေးထားတဲ့ Platform တွေပဲဖြစ်ပါတယ်။  ဒီ Platform တွေထဲမှာ Developer တွေလိုအပ်တဲ့ အလုပ်လုပ်နိုင်ဖို့သက်ဆိုင်ရာ Client Software ကိုစက်ထဲမှာ Install လုပ်ပေးဖို့တော့လိုပါတယ်။  ဥပမာ Cloud ထဲက MySQL Server ကိုလှမ်းအသုံးပြုနိုင်ဖို့ MySQL Workbench (သို့) Toad ကဲ့သို့သော Software လိုပါတယ်။ ဥပမာအနေနှင့် PaaS Model တွေကတော့ Heroku, Google App Engine, Red Hat's OpenShift, Joyent Accelerator စတာတွေပဲဖြစ်ပါတယ်။  Heroku ကို Register လုပ်ပြီး Developer တစ်ယောက်စာအခမဲ့ စမ်းသပ်အသုံးပြုခွင့်ရနိုင်ပါတယ်။  Google App Engine ကိုလည်း Google Account ရှိရင် အခမဲ့အသုံးပြုနိုင်တယ်။  သို့သော် Credit Card အချက်အလက်တွေတော့ ထည့်ပေးဖို့လိုပါတယ်။

Infrastructure as a Service (IaaS)

IaaS ဆိုတာ Network သမားတွေနှင့်သက်ဆိုင်တဲ့ Cloud ထဲက ဝန်ဆောင်မှု Model ပုံစံဖြစ်ပါတယ်။  Cloud ထဲမှာ Server တွေ၊ Storage တွေ၊ Networking နှင့်သက်ဆိုင်တာတွေ၊ စတာတွေကို မိမိလိုသလို သတ်မှတ်ပြီး အဖွဲ့အစည်းတစ်ခုအတွက် Infrastructure ကို Cloud ထဲမှာ တည်ဆောက်နိုင်တဲ့ ဝန်ဆောင်မှု Model ပုံစံဖြစ်ပါတယ်။  Cloud ထဲမှာ တည်ဆောက်တာဖြစ်တာကြောင့် အခြားကုန်ကျစရိတ်တွေလည်း သက်သာသွားနိုင်ပါတယ်။ IaaS နှင့် PaaS နှစ်မျိုးပေါင်းစပ်ထားတဲ့ Model ပုံစံကို  Amazon AWS နှင့် Microsoft Azure မှာတွေ့နိုင်ပါတယ်။  ဥပမာ Amazon AWS မှာဆိုရင် Developer တွေအတွက်လိုအပ်တာတွေ ထည့်သွင်းပေးထားသလို Network သမားတွေအတွက်လည်း Amazon EC2 ဆိုတာထည့်သွင်းထားပါတယ်။ Amazon EC2 ထဲမှာ Virtual Server တစ်လုံးကို မိမိစိတ်ကြိုက် Hardware သတ်မှတ်ချက်နှင့် OS ကိုရွေးချယ်ပြီး တည်ဆောက်လို့ရပါတယ်။  Virtual Server မှာလည်း Network Setting တွေသတ်မှတ်နိုင်ပါတယ်။​ Client တွေအတွက် Virtual Desktop တွေလည်း ဖန်တီးနိုင်ပါတယ်။ Amazon AWS ကို Register လုပ်ပြီး (၁၂)လ အခမဲ့သုံးစွဲနိုင်ပါတယ်။  Register လုပ်တဲ့အခါမှာ Credit Card နှင့်ပတ်သက်တဲ့အချက်အလက်တွေ ထည့်သွင်းပေးဖို့လိုအပ်ပါတယ်။  Microsoft Azure ကိုလည်း Register လုပ်ပြီး ရက်(၃၀) အခမဲ့စမ်းသပ်သုံးစွဲလို့ရပါတယ်။  အခြား Provider တွေဖြစ်တဲ့ Google Compute EngineSoftLayerIBM Cloudburst, Rackspace, HPE ConvergedSystem စသည်ဖြင့် နောက်ထပ် IaaS Provider တွေအများကြီးရှိနိုင်ပါတယ်။  ဒီ Provider တွေသတ်မှတ်ထားတဲ့ စျေးနှုံးတွေက ကျွန်တော်တို့ပြောလေ့ရှိတဲ့ စကားတစ်ခွန်းလို ကြိုက်သလောက်စား ကျသလောက်ရှင်း ဆိုတာမျိုး၊ မိမိသုံးတဲ့ပမာဏပေါ်မူတည်ပြီး နာရီ(သို့)လ အလိုက် စျေးနှုံးသတ်မှတ်ထားတာ ဖြစ်ပါတယ်။  Amazon AWS ရဲ့စျေးနှုံးကို ဒီနေရာမှာ ကြည့်လို့ရပါတယ်။  Microsoft Azure ရဲ့စျေးနှုံးကို ဒီနေရာမှာ ကြည့်လို့ရပါတယ်။ စျေးသက်သက်သာသာနှင့် Virtual Server သီးသန့်သုံးချင်ရင်တော့ Amazon Lightsail ဆိုတာရှိတယ်။ နောက်ပြီး DigitalOcean ဆိုတာလည်း နာမည်ကြီးတယ်။ Amazon Lightsail မရှိခင်ကတည်းက DigitalOcean ဆိုတာရှိခဲ့တာဖြစ်တယ်။ Linode ဆိုတာလည်းရှိတယ်။  အခြားကျန်တာတွေလည်း အများကြီးရှိနိုင်ပါသေးတယ်။

Amazon AWS ထဲမှာ Virtual Private Server တစ်ခုဖန်တီးခြင်း
Virtual Server တစ်ခုတည်ဆောက်ဖို့ Amazon AWS Account တစ်ခုရှိဖို့လိုပါတယ်။  ကျွန်တော်က Network သမားမဟုတ်တဲ့အတွက် Network Setting တွေ မသတ်မှတ်ပဲ သာမာန် Virtual Server တစ်ခုအနေနှင့် တည်ဆောက်ကြည့်တာဖြစ်ပါတယ်။

Amazon AWS ထဲကို Login ဝင်ပြီးသွားရင် Services တွေကို ပုံပါအတိုင်းတွေ့မြင်နိုင်ပါတယ်။  Compute ထဲက EC2 ကို Click နှိပ်လိုက်ပါ။

Click နှိပ်ပြီးသွားရင် အောက်ပါအတိုင်း EC2 Dashboard ကိုတွေ့ရပါလိမ့်မယ်။
လက်ရှိကျွန်တော့် Account ထဲမှာ Server Instances ၂ခုရှိပြီး Run ထားတာကြောင့် Running Instance မှာ 2 ဆိုပြီးတွေ့နိုင်ပါတယ်။  အခုကျွန်တော် Server Instance တစ်ခုတည်ဆောက်မှာဖြစ်တဲ့အတွက် Launch Instance ကို Click နှိပ်လိုက်ရင် အောက်ပါအတိုင်းမြင်တွေ့ရမှာဖြစ်ပါတယ်။
ဒီအဆင့်မှာAmazon Machine Image လို့ခေါ်တဲ့ AMI ကိုရွေးပေးရမှာဖြစ်ပါတယ်။  Windows Server တွေလည်းရှိပါတယ်။ Microsoft Windows Server 2016 Base ကိုရွေးလိုက်ပါတယ်။ AMI ရွေးပြီးတာနှင့်အောက်ပါအတိုင်းမြင်တွေ့ရမှာဖြစ်ပါတယ်။
Instance Type ကိုရွေးချယ်ပေးရမှာဖြစ်ပါတယ်။  ရွေးလိုက်တဲ့အခါမှာ Hardware Specification တွေကိုလည်းမြင်ရမှာဖြစ်ပါတယ်။  ပြီးရင် Next: Configure Instance Details Click နှိပ်ပြီး ဆက်သွားလိုက်ပါတယ်။
ကျွန်တော်ကတော့ Next: Add Storage ကိုဆက်သွားလိုက်ပါတယ်။
အသုံးပြုချင်တဲ့ Storage ပမာဏကို ဒီအဆင့်မှာ သတ်မှတ်ပေးနိုင်ပါတယ်။  ပြီးရင် Next: Add Tags ကိုဆက်သွားလိုက်ပါတယ်။
Value ကို Windows Server 2016 လို့ပေးလိုက်ပါတယ်။  ပြီးတာနှင့် Next: Configure Security Group ကိုဆက်သွားလိုက်ပါတယ်။
ဒီအဆင့်မှာ လိုအပ်တဲ့ Security ကို Configure လုပ်ပေးရမှာဖြစ်ပါတယ်။  ပြီးတာနှင့် Revew and Launch ကိုဆက်သွားလိုက်ပါတယ်။  Review and Launch မှာ သတ်မှတ်ခဲ့တဲ့ Configuration တွေကို ပြန်ကြည့်ပြီးတာနှင့် Launch ကို Click နှိပ်လိုက်ရင် အောက်ပါအတိုင်း မြင်တွေ့ရမှာဖြစ်ပါတယ်။
ဒီအဆင့်မှာ Key Pair လုပ်ဖို့ Key တစ်ခုဖန်တီးပေးရန် Key pair name မှာနာမည်တစ်ခု ရိုက်ထည့်ပြီး Download Key Pair နှင့် Key Download လုပ်လိုက်ရင် ပေးလိုက်တဲ့နာမည်နှင့် .pem ဆိုတဲ့ ဖိုင်တစ်ဖိုင်ရပါလိမ့်မယ်။  ပြီးတာနှင့် Launch Instances ကို Click လုပ်လိုက်ရင် Instance တစ်ခုတည်ဆောက်နေတဲ့အကြောင်းကို ယခုလိုတွေ့ရမှာဖြစ်ပါတယ်။
The following instance launches have been initiated: i-0d1e1fbbb1bc6f205 ကိုနှိပ်လိုက်ရင် အောက်ပါအတိုင်းမြင်တွေ့ရမှာဖြစ်ပါတယ်။
Status Checks မှာ Initializing ဆိုပြီးတွေ့ရမှာဖြစ်ပါတယ်။ Initializing ပြီးတဲ့အထိ ခဏစောင့်ပြီးရင် 2/2 checkes passed ဆိုတဲ့ Status ပြောင်းသွားပြီဆိုရင် Instance ကို Connect လုပ်လို့ရပါပြီ။  Instance မှာ Select ပေးပြီး Connect ကို Click နှိပ်လိုက်ရင် အောက်ပါအတိုင်းမြင်တွေ့ရမှာဖြစ်ပါတယ်။
Get Password နှင့် Password ကို Download လုပ်ထားတဲ့ Key နှင့်ရယူပြီး Remote Desktop Protocol (RDP) ဖြင့် Server ထဲကိုဝင်ပြီး၊ မိမိလိုအပ်တဲ့အလုပ်တွေကို လုပ်နိုင်ပါပြီ။  Windows Server တွေ Connect လုပ်ရင် လွယ်ကူပေမယ့် အခြား Server တွေဖြစ်တဲ့ Linux ကို Connect လုပ်ရင် အနည်းငယ်ရှုပ်ထွေးနိုင်ပါတယ်။

Amazon AWS ထဲမှာ MySQL Server တစ်ခုဖန်တီးခြင်း
AWS ထဲမှာ RDBMS, NoSQL စသည့် Platform တွေနှင့် စိတ်ကြိုက် Database Engine ကိုအသုံးပြုပြီး Database Server တစ်ခုကို တည်ဆောက်လို့ရပါတယ်။  ဒီနမူနာကတော့ MySQL Server တစ်ခုကိုစမ်းပြီးတည်ဆောက်ထားတာဖြစ်ပါတယ်။  Amazon Services တွေထဲမှာ Database ထဲက RDS ကို Click နှိပ်လိုက်ရင် အောက်ပါအတိုင်း မြင်တွေ့ရမှာဖြစ်ပါတယ်။
Get Started Now ကို Click နှိပ်လိုက်ပါ။
Database Engine တွေမြင်ရပါလိမ့်မယ်။  MySQL ကိုရွေးလိုက်ပါ။
ဒီအဆင့်မှာ Production အတွက်လား၊ Development/Testing အတွက်လားဆိုတာကို ရွေးပေးရမှာဖြစ်ပါတယ်။  Dev/Test ကိုရွေးလိုက်ပြီး Next Step ကိုသွားလိုက်ပါ။
Database နှင့်ပတ်သက်ပြီး အသေးစိတ်အချက်အလက်တွေကို ဒီနေရာမှာ သတ်မှတ်ပေးရမှာဖြစ်ပါတယ်။ Version အပါအဝင် DB Instance Class မှာ CPU နှင့် RAM ကိုပါသတ်မှတ်နိုင်ပါတယ်။  ပြီးရင် နောက်ထပ် DB Instance နှင့်သက်ဆိုင်တဲ့ User Name, Password စတာတွေထည့်သွင်းပေးရပါမယ်။  အဲ့ဒါတွေပြီးသွားပြီဆိုရင် Next Step ကိုဆက်သွားလိုက်ပါ။

ဒီအဆင့်မှာလည်း Network နှင့်သက်ဆိုင်တာ၊ Database Name နှင့် Backup Plan စတာတွေသတ်မှတ်ပြီးတာနှင့် Launch DB Instance ကိုနှိပ်ပြီး DB Instance တစ်ခုကိုတည်ဆောက်လိုက်ပါ။  Instance ကိုတည်ဆောက်နေတဲ့ အချိန်မှာခဏစောင့်ပြီး View Instance ကိုနှိပ်လိုက်ရင် ယခုလိုတွေ့ရပါလိမ့်မယ်။
Status မှာ creating ဆိုရင် ခဏစောင့်ပြီး available ပြောင်းသွားရင် အသုံးပြုလို့ရပါပြီ။  အသုံးပြုနိုင်ဖို့ Engine Column က MySQL ဆိုတဲ့နာမည်ဘေးမှာ မြှားခေါင်းလေးကို Click နှိပ်လိုက်ရင် အခုလိုမြင်ရပါလိမ့်မယ်။
Endpoint နောက်က အပြာရောင်စာတန်းက Hostname ဖြစ်ပါတယ်။  အဲ့ဒီ Hostname ကို Copy ကူးပြီး စက်ထဲမှာ Install လုပ်ထားတဲ့ Database Management Software ကနေချိတ်ဆက်ပြီး အသုံးပြုနိုင်ပါပြီ။ အောက်ကပုံမှာ ကျွန်တော့်စက်ထဲမှာ ချိတ်ဆက်ထားတဲ့ပုံဖြစ်ပါတယ်။
တကယ်တော့ ကျွန်တော့်ရဲ့ AWS Account ထဲမှာ MySQL Server Instance နှစ်ခုတည်ဆောက်ထားတာဖြစ်တယ်။  တစ်ခုက Tokyo (Japan) မှာဖြစ်ပြီး၊ နောက်တစ်ခု Singapore မှာ ဖြစ်တယ်။  Amazon AWS မှာ Region အလိုက် Server တွေအများကြီး ရှိတာကြောင့်ဖြစ်တယ်။  တစ်ချို့Services တွေဆို Asia Pacific (Singapore) Region မှာမရနိုင်ဘူးဆိုရင် US Region က Server မှာသုံးလို့ရတယ်။

အနာဂတ်အတွေး

Cloud Computing နည်းပညာပေါ်လာတာကြောင့် Networking နှင့်ပတ်သက်တဲ့ တချို့အလုပ်တွေကို Cloud ထဲမှာ လုပ်ထားပြီးသားဖြစ်တဲ့အတွက် စိတ်ပူစရာမလိုသလို၊ အခြားကုန်ကျစရိတ်တွေလည်းသက်သာသွားတယ်။ Provider တွေကလည်း သူတို့ရဲ့ Cloud Service တွေကိုအသုံးပြုဖို့ Offer တွေအပြိုင်အဆိုင်ပေးကြသလို စီးပွားရေးလုပ်ငန်းမျိုးစုံကလည်း Cloud ထဲကိုတဖြည်းဖြည်း တိုးဝင်နေတာကြောင့် နောင်တစ်ချိန်မှာ အခွင့်အလမ်းအသစ်တွေ၊ ဝန်ဆောင်မှုအသစ်တွေ၊ နည်းပညာအသစ်တွေ ထပ်မံပေါ်ပေါက်လာလိမ့်ဦးမယ်လို့ မျှော်လင့်မိနေတော့တယ်။
ကိုစစ်ကိုင်း၏ မှတ်စုများ. Powered by Blogger.