
Web site တစ်ခုမှာ ဘာတွေပါလဲ အရင်လေ့လာကြည့်ကျရအောင်. ..
ဆိုကျပါစို့ web site တစ်ခု တည်ဆောင်မယ်ဆိုရင် ဘာတွေလိုအပ်မလဲ..?
HTML, CSS, Java Script စတာတွေကို လိုမှာ အသေချာပဲ.. HTML (HyperText Markup Language) သည် Web page တွေ တည်ဆောက်တဲ့ နေရာမှာ ရေးမယ့် Markup Language တစ်ခုဖြစ်ပါတယ်.. CSS (Cascading Style Sheets) ကတော့ HTML ရဲ့ elements တွေ content တွေကို ဘယ်လို display style ပြရမယ်ဆိုတာကို design ဆွဲပေးမယ့်ကောင်ပဲဖြစ်ပါတယ်.. ပြောချင်တာကတော့ ဗျာ့.. Web page တစ်ခု ပြရင် html နဲ့လဲ ပြလို့ရတယ် ကြည့်ရတာမလှဘူး ပုံတုန်းတယ်ပေါ့ဗျာ.. အဲ့တော့ css နဲ့တွဲပြီး ရေးလိုက်တော့ design အမြင်အရ လှအောင် ရေးလို့ရတယ်ပေါ့ဗျာ့.. ပြီးတော့ text တွေ ဘာတွေမှာ သုံးမယ့် font တွေကိုလဲ အတူတူ uniform ဖြစ်အောင် အလွယ်တကူ css ကိုသုံးပြီးရေးလိုက်လို့ ရတယ်.. နောက်တစ်ခုက Java Script.. ခု ကျွန်တော်တို့ပြောမယ့် Web Development မှာဆိုရင် java script ကို client scripting language တစ်ခုအနေနဲ့ webpage တွေကို create လုပ်တဲ့ နေရာမှာ သုံးပါတယ်. HTML, CSS တို့ကို javaScript သုံးပြီး ပြောင်းလို့ update လုပ်လို့ရပါတယ်.. ပြီးတော့ data calculation, manipulation တွေလဲ လုပ်ပေးပါတယ်.. User နဲ့ interactive လုပ်ပေးမယ့်ကောင်သည် javaScript ပဲ ဖြစ်ပါတယ်..
အခုအပေါ်ကပြောသွားတဲ့ ၃ ခုသည် client ဘက်ခြမ်း (Front End) မှာ သုံးမယ့်ကောင်တွေပဲ ဖြစ်ပါတယ်.. ဆိုကျပါစို့ facebook သွားတယ် ကျွန်တော့်အကောင့်နဲ့ login ဝင်တယ်ဆိုရင် ကျွန်တော့် timeline ကျွန်တော့် friend တွေ တင်ထားတာကို ပြပေးပါလိမ့်မယ်.. တစ်ခြားသူ တစ်ယောက် အကောင့်နဲ့ ဝင်လိုက်ရင်တော့ ဝင်လိုက်တဲ့ သူရဲ့ timeline,home ကို ပြပေးပါလိမ့်မယ်.. အဲ့တော့ ဆိုလိုချင်တာက လူတိုင်း www.facebook.com ကိုသွားသော်လည်း login ဝင်ထားတဲ့ User ပေါ်မှာ မူတည်ပြီးတော့ ပြမယ့် data, content တွေက မတူညီပါဘူး.. Same URL ကို သွားသော်လဲ အဲ့လို user ပေါ်မှာ မူတည်ပြီး content တွေ page ကနေ display လုပ်တာပဲ ဖြစ်ဖြစ် ecommerce website တွေလို့ ငွေပေး ငွေချေ လုပ်တာမျိုးတွေမှာ service ပေးလုပ်ဆောင်ပေးဖို့ အတွက်ကျ server side language (Back End) တွေလိုအပ်ပါတယ်..
Back End အနေနဲ့ သုံးနိုင်တဲ့ Language တွေကတော့
- PHP
- ASP
- JavaScript
- java (servlets)
- Python စသည်ဖြင့်ရှိပါတယ်.. ခုကျွန်တော်တို့ ဆွေးနွေးကျမှာကတော့ Python ရဲ့ Web Application Framework တွေ အကြောင်းပဲ ဖြစ်ပါတယ်..
Python မှာ သုံးနိုင်တဲ့ Web Application FrameWork တွေကတော့ အောက်ပါအတိုင်းပဲ ဖြစ်ပါတယ်..
- Django
- Flask
- Tornado
- web2py
- Bottle
- CherryPy
- Falcon
- Pyramid
- TurboGears
- Hug
- and Other.
အသုံးအများဆုံး Framework ကတော့ Django နဲ့ Flask ပဲ ဖြစ်ပါတယ်. Django ကတော့ ပိုပြီး အသုံးများပါတယ်.. Django ကော Flaskကောသည် Free and Open source ဖြစ်ပါတယ်.. သည်နေရာ မှာ တစ်ခုပြောချင်တာက FrameWork ဆိုတာကိုပါ.. FrameWork ဆိုတာသည် Web Server တွေ resource တွေ API တွေ အတွက်လိုအပ်တဲ့ package တွေ component တွေပေါင်းစပ်ပါဝင်နေတာပဲ ဖြစ်ပါတယ်..
ဟုတ်ပြီ.. ခု Back end Programming language အနေနဲ့ Python ကိုသုံးပါမယ်.. ပြီးတော့ Framework ကိုတော့ Django ကို သုံးပြီး Simple App လေး ရေးကြည့်ကျရအောင်.. ပထမဆုံး Django ကို install လုပ်ပါ.. Python 3 ကို သုံးပါမယ်..
## pip3 install django
Install လုပ်ပြီးနောက် folder/dir တစ်ခု တည်ဆောက်ပါ.. ဖိုဒါ ဆောက်ထားတော့ ပျံမသွားပဲ အကုန် စုစုစည်းစည်း မြင်ရတာပေါ့..
## mkdir [folder/dir Name]
folder/directory ဆောက်ပြီးသွားရင် အဲ့ထဲကို ဝင်လိုက်ပါ
## cd [folder/dir Name]
အဲ့နောက်မှာတော့ ## django-admin startproject [PROJECT NAME] နဲ့ project တစ်ခု create လုပ်လိုက်ပါ.. ## ls ဆိုတဲ့ command နဲ့ list ထုတ်ကြည့်လိုက်ရင် ကိုယ်တည်ဆောက်ခဲ့တဲ့ project folder လေးကို မြင်ရမှာပါ.. ခုအောက်ကပုံမှာတော့ django-admin startproject cross_net_sites ဆိုပြီး create လုပ်ခဲ့တာမို့ cross_net_sites ဆိုတဲ့ folder လေးရှိနေတာပါ..
Django-admin startproject ဆိုတဲ့ command နဲ့ folder ဆောက်တာမဟုတ်ဘူးနော်.. Project တစ်ခုရှိ မယ့် config files တွေ additional file တွေကို တစ်ခုတည်း skeleton ကျကျ တည်ဆောက်ပေးလိုက်တာပါ
Cd နဲ့ cross_net_sites ထဲကို ထပ်ဝင်လိုက်ရင် cross_net_sites ဆိုတဲ့ project directory နဲ့ manage.py ဆိုတဲ့ ဖိုင်လေးကို မြင်ရမှာပါ..
Cross_net_sites ဆိုတဲ့ project directory ထဲကို ထပ်ဝင်လိုက်ရင်တော့ __init__.py, setting.py , urls.py, wsgi.py ဆိုတဲ့ ဖိုင်လေ ၄ ခုကို တွေ့ရမှာပဲ ဖြစ်ပါတယ်..
- Manage.py ဆိုတာက .. ကျွန်တော်တို့ရဲ့ Django project ကို manage လုပ်ပေးဖို့ သုံးရမယ့် script file ပဲ ဖြစ်ပါတယ်
- Setting.py ကတော့ Django ရဲ့ setting တွေကို config လုပ်ထားတဲ့ code file တစ်ခုပါ.. App တွေ databaseတွေ စတာတွေအတွက် ပြင်စရာ ထည့်စရာရှိရင် ဒီထဲမှာ လာ config ချပေးရပါတယ်
- Urls.py ကတော့ django ရဲ့ Table of content လို့ပြောရမယ် ဿူ့မှာက ဘယ် route ဘယ် request ဆိုရင်တော့ ဘယ်ကကောင်ပြဆိုတာမျိုးတွေ လုပ်ထားပေးရမယ်.. အောက်ကျ တွေ့ရမှာပါ.. စိတ်မပူပါနဲ့..
ခုဒီအောက်က ပုံလေးကတော့ layout လေးကို မြင်သာအောင်ပြထားတာပါ.. Main Folder (Cross_net_sites) ထဲမှာ manage.py နဲ့ Project Folder(cross_net_sites) ဆိုတာရှိပါတယ်.. cross_net_sites ဆိုတဲ့ Project Folder ထဲမှာမှ __init__.py, setting.py , urls.py, wsgi.py ဆိုတဲ့ ဖိုင်လေ ၄ ခုကို တွေ့ရမှာပါ.. မြင်သာအောင်လို့ ပြန်ရှင်းပြတာပါ..
ခု django web framework လေးကို စ run ကြည့်ရအောင် .. Web FrameWork run နေတဲ့ စက်က Web Server တစ်ခုပဲနော်.. IP reachable ရှိရင် ကြိုက်တဲ့နေရာကနေ စက်ရဲ့ IP လို့ လှမ်းခေါ်ပြီး ကြည့်လို့ရတယ်.. အခုတော့ server run ပြီး local host ရံ့ IP ဖြစ်တဲ့ 127.0.0.1 ကိုပဲ ခေါ်ကြည့်ပြီး local test လုပ်လို့ရပါတယ်.. Server run ဖို့အတွက် လိုအပ်တဲ့ command ကတော့ manage.py ရှိတဲ့ နေရာကိုသွားပြီးတော့ ## python3 manage.py runserver လို့ ရေးပြီး enter ခေါက်လိုက်တာနဲ့ server run နေပြီဆိုတဲ့ စာတွေကိုမြင်ရမှာပါ..
Server Run နေပြီဆိုတော့ test လုပ်ဖို့ Web Browser ကနေပြီးတော့ တစ်ဆင့်ခေါ်ကြည့်ပါ.. 127.0.0.1 or localhost ပြီးတော့ port ကတော့ 8000 နဲ့ ခေါ်ကြည့်လိုက်ပါ… Browser မှာ localhost:8000 လို့ရိုက်ရင်တော့ localhost ဆိုတဲ့ Domain Name ကနေ IP ကို resolve လုပ်ပေးဖို့လိုပါတယ်.. 127.0.0.1:8000 လို့ရိုက်လိုက်ရင်တော့ Domain Name ကို resolve စရာမလိုတဲ့ အတွက် ပိုမြန်ပါတယ်..
အခုဆိုရင် ကျွန်တော်တို့ရဲ့ Django Web server က successfully up and running ဖြစ်နေပါပြီ.. Service ကို ဒေါင်းချင်တယ် ပိတ်ချင်တယ်ဆိုရင်တော့ terminal မှာ ctrl+c နှိပ်လိုက်ယုံပါပဲ..
နောက်တစ်ဆင့် ဖြစ်တဲ့ simple app လေး တစ်ခုရေးကြည့်ကျရအောင်.. Web Site ကို ခေါ်လိုက်ရင် Hello, world လိုပေါ်အောင်ရေးကြည့် ကျရအောင်…
ခုဒီနေရာမှာ တစ်ခုပြောချင်တာက Django မှာ သုံးတဲ့ project နဲ့ app ဆိုတဲ့ term (အခေါ်အဝေါ်) အကြောင်းပါ..
- Project
- Single project တစ်ခုသည် website တစ်ခုကိုပဲ support ပေးပါတယ်
- Project တစ်ခုမှ app တွေများကြီး ပါဝင်နိုင်ပါတယ်
- App
- App တစ်ခုချင်းစီမှာ ကိုယ်ပိုင်လုပ်ဆောင်ရမယ့် တာဝန်တွေ focust ထားရမှာတွေ ရှိပါတယ်
- Example ( for Online shop Website)
- App တစ်ခုသည် User Authentication ပိုင်းကို ကိုင်တွယ်ပြီးတော့
- နောက် App တစ်ခုသည် payments (ငွေပေးချေမှု) အပိုင်းကို တာဝန်ယူတာ မျိုးပါ..
- Example ( for Online shop Website)
- App တစ်ခုချင်းစီမှာ ကိုယ်ပိုင်လုပ်ဆောင်ရမယ့် တာဝန်တွေ focust ထားရမှာတွေ ရှိပါတယ်
ခု ကျွန်တော်တို့ရေးမှာကတော့ hello world ထုတ်ဖို့ လုပ်ပေးမယ့် simple app လေးပါပဲ..
ကဲစလိုက်ကျရအောင် .. manage.py ရှိတဲ့ Main Folder အောက်ကိုသွားပါ.. ## python3 manage.py startapp hello ဆိုပြီးရိုက်လိုက်ရင် hello ဆိုတဲ့ Folder လေးတစ်ခုထပ်ပေါ်လာပါလိမ့်မယ်… ခုလုပ်သွားတဲ့ ပုံစံကတော့ manage.py ကိုသုံးပြီးတော့ hello ဆိုတဲ့ app လေးကို ဖန်တီးလိုက်တာပါ.. အဲ့လို လုပ်ဖို့ manage.py နောက်မှာ startapp ဆိုတဲ့ parameter လေး ထည့်ပေးလိုက်တာနဲ့ hello ဆိုတဲ့ app အတွက်လိုအပ်တဲ့ files တွေ အားလုံးကို hello ဆိုတဲ့ folder အောက်မှာ အကုန် auto ထည့် သွားပါတယ်..
hello ဆိုတဲ့ folder ထဲကိုဝင်ပြီး ဘာတွေရှိမလဲ ဆိုတာကို ls နဲ ကြည့်လိုက်ရင် အောက်ပါအတိုင်း files/folder တွေကို တွေ့ရမှာပါ..
- __init__.py က ခုသူရှိနေတဲ့ directory ကို Python Package directories အနေနဲ့ Python ကို ပြောပေးမယ့်ကောင်ပါ
- admin.py Django ရဲ့ admin page အတွက် လိုအပ်တဲ့ setting တွေပါဝင်တဲ့ ဖိုင်ပါ
- apps.py application အတွက် ရှိရမယ့် config တွေပါဝင်တဲ့ setting ပါတဲ့ file ပါ
- models.py model မှာတော့ class တွေပါဝင်ပြီးတော့ .. Django ရဲ့ ORM (Object-Relational Mapping)ကိုသုံးပြီးတော့ application data နဲ့ Database(SQLite, PostgreSQL, MySQL, etc) ကို map ချိတ်ဖို့ လိုအပ်တဲ့ဖိုင်ပါ application data ကနေ Database ကို convert လုပ်ပေးမယ့်ကောင်ပါ
- tests.py test class တွေ ပါဝင်တဲ့ ဖိုင်ဖြစ်ပါတယ်
- views.py HTML templates မှာ ပြသမယ့် data တွေအတွက် လိုအပ်တဲ့ class တွေ function တွေ ရှိတဲ့ file ပဲ ဖြစ်ပါတယ်
app တစ်ခု create လုပ်ပြီးပြီ ဆိုတာနဲ့ Main project folder အောက် settings.py ရဲ့ INSTALL_APPS ရဲ့ အောက်မှာ hello.apps.HelloConfig ဆိုပြီးထည့်ထားပေးပါ.. ခုလို့ hello world ထုတ်မယ့် simple app လေးမှာတော့ ထည့်ချင်း မထည့်ချင်းသည် ပြဿနာမရှိပါဘူး.. ဒါပေမယ့်.. Database တွေ တစ်ခြားတွေမှာကျ error တက်ပါလိမ့်မယ့်.. ဘာလို့လဲဆိုတော့ settings.py ရဲ့ INSTALL_APP ထဲကိုထည့်ထားမှ Django အနေနဲ့ သူ့မှာ ပါဝင်တဲ့ app တွေကိုသိမှာမို့လို့ပါ..
hello ဆိုတာက app folder ရဲ့ name ပါ. apps.HelloConfig ဆိုတာက hello folder အောက်က apps.py ထဲက HelloConfig ကို ပြောထားတာပါ.. အဲ့လောက်သိထားရင် အဆင်ပြေပါတယ် 😉
ဟုတ်ပြီး hello, world ဆိုတောလေး ထုတ်ဖို့ ဘယ်ကနေ စကျမလဲဆိုတော့.. Views.py ကတေ စပြီး ရေးလိုက်ကျရအောင်.. ပထမဆုံး views.py ထဲ ကို ဝင်ပါ ကျွန်တော်ကတော့ linux terminal ကနေမို့ vim/nano ကနေ တစ်ဆင်ဝင်လိုက်ပါတယ်.
def printHello(request):
return HttpResponse(“Hello, world”)
အရင်ဆုံး function တစ်ခု define လုပ်လိုက်ပါ.. ခုဒီ example မှာတော့ printHello ဆိုတဲ့ function တစ်ခု create လုပ်လိုက်ပါတယ် သူ့နောက်က () ထဲက request ဆိုတာက client broswer ကနေလာတဲ့ request ကိုလက်ခံဖို့ပါ.. အောက်အကြောင်းမှာရှိတဲ့ ကောင်ကတော့ ဖတ်လိုက်ရင်ကို သိသာပါတယ် “Hello, world” ဆို ပြီး Http response ပြန်မယ်လို့ပြောထားတဲ့အတွက် reqest လာရင် Hello world ကို response လုပ်တာမို့ page မှာ Hello World လေးကို မြင်ရမှာပဲ ဖြစ်ပါတယ်.. အဲ့လိုရေးယုံနဲ့ ရပြီလား ဆိုတော့.. မရသေးပါဘူး.. 😛
Python ရဲ့ urls.py တွေကိုပြင်ပေးဖို့လိုပါသေးတယ်..
Django မှာ request ရောက်လာပြီဆိုတာနဲ့ urls.py မှာ ထားတဲ့ setting အတိုင်း path တွေကိုကြည့်ပေး ပြပေးမှာမို့.. သွားပြီး ပြင်ကြည့်ကျပါစို့.. တစ်ပိုင်းချင်းကို အကြိမ်ကြိမ်ဖတ်ပြီးမှ နောက်တစ်ပိုင်းကို ဆက်ဖတ်ပါ… 😉
Main Project Folder အောက်က urls.py မှာ ပြင်ရင်လဲ ရပါတယ်.. အဲ့လိုမဟုတ်ပဲ .. app တိုင်းအတွက် သက်ဆိုင်ရာ urls.py တွေ တည်ဆောက်ပြီး Main project ရဲ့ urls.py မှာ ပြန်ညွန်ပေးလို့လဲ ရပါတယ် အဲ့လို့ app တိုင်းအတွက် urls တွေပြန်ဆောက်တာက manage လုပ်ရတာပိုလွယ်မယ်လို့ မြင်ပါတယ်.. ကျွန်တော့် အမြင်ပါ.
Hello ဆိုတဲ့ app ရဲ့ folder အောက်မှာ urls.py ဆိုတဲ့ file လေးတစ်ခု create လုပ်လိုက်ပါ. အဲ့နောက် editor တစ်ခုနဲ့ ဝင်ပြီး အောက်မှာအတိုင်း config ချလိုက်ပါ.
from django.urls import path
from . import views
urlpatterns = [
path(”,views.printHello,name=’Helloworld”)
]
အပေါ်ဆုံးအကြောင်းကတော့ django.urls မှာ ရှိတဲ့ path ကို import လုပ်ပေးထားတာပါ. ဒုတိယ အကြောင်း ဖြစ်တဲ့ from . import views ဆိုတာက.. From . မှာ .(dot) သည် ခုလက်ရှိ ရှိနေတဲ့ current directory ကိုရည်ညွန်းပါတယ်.. အဲ့တော့ ပြောချင်တာက ခုလက်ရှိ dir အောက် views ကို import လုပ်ပါမယ်လို့ ဆိုလိုရင်း ဖြစ်ပါတယ်..
urlpatterns ဆိုတာကတော့ ဘယ် url/route လာရင် ဘာထုတ်ဆိုတာမျိုး ရေးထားပေးတာပါ.. ခုဒီမှာဆို path() ထဲမှာ ရေးထားတာကိုကြည့်မယ်ဆိုရင် ‘ ‘ သည် home directory (ip/domain name ရေးလိုက်တာနဲ့ ပြမယ့် page) .. request လာရင် ခေါ်ရမှာမှာက views ထဲက prinHello ဆိုတဲ့ function လေးကိုပါ .. အဲ့ကြောင့် page မှာ hello world ဆိုပြီး ထွတ်မှာပါ.. Name = Helloworld ကတော့ option ပါ သူက page အပေါ်က title name ပြဖို့ရေးပေးတာပါ..
ပြင်ပြီးရင် save ခဲ့ပါ.. အဲ့လို လုပ်ထားယုံနဲ့လဲ မရသေးဘူး.. အပေါ်မှာလဲ ပြောခဲ့တယ်လေ.. Main project ရဲ့ urls.py ကနေ app ရဲ့ urls.py ကို ပြန်ညွန်းပေးရမယ်ဆိုတာ ခု Main project ရဲ့ urls.py ဆီသွားပြီ ပြန်ညွန် ပေးကျစို့..
Main Project ရဲ့ urls.py မှာ default code တွေ ပါပြီသားပါ.. ထပ်ထည့်ရမှာက urlpatterns မှာ
path(‘ ‘,include(‘hello.urls’)), လေးထပ်ထည့်ပေးယုံပါပဲ.. ‘ ‘ သည် home dir/ default dir ကိုပြောတာပါ webpage ကို စဝင်လိုက်လို့.. Default ပြရမယ့် page သည် hello အောက်က urls.py ကို သွားခေါ်ပြပါ လို့ config ချထားတာပါ.. Line2 မှာ path နောက်မှာ include လေးကို တော့ import လုပ်ခဲ့နော်
လိုတာတွေ အကုန် ပြင်ဆင်ပြီသွားပြီဆိုတော့ ## python3 manage.py runserver ဆိုပြီး server ကို run ကြည့်ပြီး web browser ကနေ localhost (127.0.0.1) ကို default port 8000 နဲ့ခေါ်ကြည့်ပါ..
Default page အနေနဲ့ Hello, world ကျလာတာကို တွေ့ရမှာပါ.. ဒီအထိရကျမယ်နော်.. အဲ့ဆို hello ရဲ့ views.py မှာက ခုလက်ရှိသည် သည်အတိုင်း Hello, world ဆိုပြီး response ပြန်ထားတာပါ အဲ့တာကို html ဖိုင်တစ်ခုနဲ့ အစားထိုးကြည့်ကျရအောင်..
ပထမဆုံး Main project folder အောက်မှာ templates ဆိုတဲ့ folder တစ်ခုဆောက်ပါ.. အဲ့အောက်မှာမှ index.html ဆိုတဲ့ ဖိုင်ကို ထားပါမယ်.. ဒီဖိုင်တင်မှ မဟုတ်ပါဘူး မှတ်ရလွယ် manage လုပ်ရ လွယ်အောင် folder အောက်မှာ သတ်သတ် ထားလိုက်ပါ..
အဲ့ index.html ထဲမှာတော့ <h1>Hello, world…..</h1> လို့ပဲ ရေးထားပါတယ် HelloWorld ထုတ်ပေးမယ့် html ကုတ်လေးပါပဲ.. အဲ့နောက်မှာတော့ hello ရဲ့ views.py မှာ HttpResponse(“Hello, world”) နေရာမှာ .. render(request, ‘index.html’) လို့ပြောင်းပေးပါ.. ပြောချင်တာက index.html ရှိတဲ့ content တွေကို ဆင်မယ် render လုပ်မယ်လို့ ပြောတာပါ.. ဒါပေမယ့် တစ်ခုရှိတာ အဲ့ index.html က ဘယ်နားမှာ ရှိမှန်း python Django အနေနဲ့ မသိသေးပါဘူး..
Main Project အောက်က template ဆိုတဲ့ folder ထဲမှာ index.html ရှိကြောင်းကို settings.py (Main Project) မှာ သွားပြီး ထည့်ပေးရပါမယ် settings.py ရဲ့ ‘DIR’: [] ကိုရှာလိုက်ပါ အဲ့နောက်
‘DIR’: [os.path.join(BASE_DIR, ‘templates’)] ဆိုပြီး ထည့်ထားပေးလိုက်ရင် Base DIR(Main Project Directory) ထဲက tamplates ထဲမှာ သွားကြည့်ရမယ်ဆိုတာက Django အနေနဲ့ သိသွားပါပြီ
အဲ့နောက် server ကို ပြန် run ပြီး web Page ခေါ်ကြည့်လိုက်ရင်တော့ အောက်ပါအတိုင်း မြင်ရရင် Django Web Application FrameWork ကိုသုံးပြီး HelloWorld ကိုအောင်မြင်စွာ ထုတ်နိုင်သွားပါပြီဗျာ…
Have Fun !!
Wish you all the very Best…
Khant Phyo
Core Network Team Leader @Ericsson MyanmarCo,.ltd
+959442329009