Java Spring Boot & AngularJS သင်တန်း
Java Spring Boot ကို Backend Service အဖြစ်အသုံးပြု၍ AngularJS ကို FrontEnd Development အတွက် အသုံးပြု၍ Full Stack Development သင်တန်းအားဖွင့်လှစ်သင်ကြားပေးသွားမည်၊
Spring Boot
Java ဘာသာရပ်ကို အသုံးပြုပြီး Web Application များ ဖန်တီးဖို့ Pure Spring Framework နှင့်ဖန်တီးခြင်းထက် ပိုမို မြန်ဆန်ပြီး လွယ်ကူစေတဲ့ Spring Boot ကို အသုံးပြု၍ Website များ Applications များအတွက် Api Services များတည်ဆောက်ခြင်းအား သင်ကြားပေးသွားမည်၊
ဒီသင်တန်းမှာ Api Service ကို အဓိကထား သင်ကြားပေးသွားမှာ ဖြစ်ပါတယ်၊ Client Oriented ဖြစ်တဲ့ HTML , CSS, JavaScrpt တို့လို Static Files တွေကို Server ကနေ Data Implement လုပ်ပြီး Rendering လုပ်ပေးတဲ့ ခေတ်က ကုန်သွားပါပြီ၊ ဒီလိုလုပ်ခြင်းက ယခင်ကလို Browser တစ်ခုထဲကသာလျှင် Web Service တွေကို အသုံးပြုတဲ့ ခေတ်တုန်းကတော့ အဆင်ပြေပေမယ့် ယနေ့ ခေတ်မှာတော့ Server ကနေ Api Data သာလျှင်ရယူပြီးတော့ မည်သည့် Client ကမဆို ထိုဒေတာကို ရယူပြီး ကိုယ်ပိုင် Platform အတွက် စိတ်ကြိုက် ပုံစံနှင့် ဖော်ပြ တဲ့ စနစ်ကို သုံးကြပါတယ်၊ ဒီလို Api Based Data တွေရဲ့ အားသာချက်က Android ဖုန်း, iOS ဖုန်း, Desktop App နဲ့ Browser တို့လို မတူညီတဲ့ Platform တွေအတွက် သီးသန့် ဒေတာ အမျိုးအစားကို ချပေးအောင် Develop လုပ်ရတာ မဟုတ်တော့ပဲ Platrom အားလုံးက ဒေတာ အမျိုးအစား တစ်ခုကိုပဲ ရမှာဖြစ်ပြီး ထိုဒေတာကို ဖော်ပြတဲ့အခါ စိတ်ကြိုက် ပုံစံနဲ့ ဖော်ပြတဲ့ User Interface လုပ်ငန်းစဥ်ကို ဘာသာရပ်ပေါ်မူမတည်ဘဲ စိတ်ကြိုက်ဘာသာရပ်ကို သုံးပြီး ရေးသွားနိုင်မှာဖြစ်ပါတယ်၊
Server Client Communication
Serve Side က Api ထုတ်ပေးတဲ့တာဝန်သာလျှင်လုပ်ဆောင်ပြီး UI ပိုင်းကို မတူညီတဲ့ Platfrom တွေက စိတ်ကြိုက်ဘာသာရပ်နဲ့ တည်ဆောက် လို့ရသွားပါတယ်၊ ဥပမာ Adnroid, iOS Application အတွက်ဆိုရင် Flutter ( Dark UI Framewok) နဲ့ တည်ဆောက်တာမျိုး , iOS အတွက်ဆို Swift Ui နဲ့ တည်ဆာက်တာမျိုး, Browser အတွေအတွက်ဆို AngularJS တို့ ReactJS တို့လို JavaScript Framework တွေနဲ့ တည်ဆာက်တာမျိုးကို လုပ်နိုင်သွားပါတယ်၊ ဒီလိုရတာက အမြဲတမ်းရခဲ့တာတော့ မဟုတ်ပါဘူး တိုးတက်တဲ့ နည်းပညာ နဲ့အတူ Platform အမျိုးမျိုးအတွက် ဒေတာလိုအပ်ချက်အမျိုးမျိုးကြောင့် ခေတ်နှင့် ကိုက်ညီအောင် တည်ဆောက်ရင် Api Development တွေက အဆင့်ဆင့် ဖြစ်လာတာပါ၊ ယခင်က ဆို HTML , CSS , Javascript ဖိုင်တွေကို ရေးရပြီး User Request ပေါ်မူတည်ပြီး Response ပြန်မပေးခင် Response ပေးမယ့် ဒေတာ တွေကို HTML Code တွေထဲကို Inject လုပ်ခြင်းလို လုပ်ငန်းမျိုးဖြစ်တဲ့ Rendering လုပ်ရပါတယ်၊ ပြီးမှ ထို HTML Page ကို Response ပြန်ပေး ရပါတယ်၊ ဒါကိုပဲ Dynamic Web Page လို့ ခေါ်ပြီး Server က အသေရိုက်ထည့်တဲ့ ဒေတာတွေကို Response ပြန်ပေးပြီး ထို HTML, CSS, JavScript ဒေတာတွေကို Web Browser တွေက User ကို ဖော်ပြကြပါတယ်၊ ဒီအချက်က ဘာပြဿနာ မှမရှိပေမယ့် ပြန်ပေးလိုက်တဲ့ ဒေတာတွေက Brower တွေကသာ နားလည်တဲ့ HTML Data တွေ CSS ဒေတာတွေဖြစ်နေတော့ ခေတ်သစ်မှာ ပေါ်လာတဲ့ Mobile Phone App တွေအတွက် လုံးဝ အဆင်မပြသလို Server အတွက် လဲ DataBase လုပ်ငန်းစဥ်နဲ့ Data Logic လုပ်ငန်းစဥ်တွေကို လုပ်ရတာလျှင် မဟုတ်ဘဲ Response ပေးမယ့် UI တွေ အတွက်လဲ Rendering လုပ်ရလို့ လုပ်ငန်းပိုများသလို ပြန်ပေးတဲ့ Data ကလဲ လိုအပ်တဲ့ ဒေတာတင်မဟုတ်ဘဲ ၄င်း ဒေတာကို ဖော်ပြမယ့် HTML Code အလှဆင်မယ့် CSS Code, Interactive ဖြစ်အောင် လုပ်ပေးမယ့် JavaScript ကုဒ်တွေပါပေးရလို့ Request နဲ့ Response ကြားက ကြာချိန် တအားများသွားသလို Platfrom တစ်မျိုးထဲက သုံးလို့ရတဲ့ ဒေတာ အမျိုးအစား ဖြစ်သွားလို့ အကန့်အသတ် တအားရှိသွားပါတယ်၊ ဒါကြောင့် ဒီသင်တန်းမှာ ခေတ်သစ် နည်းပညာလဲ ဖြစ် လုပ်ငန်းခွင်သုံးလဲဖြစ်ပြီး ကုမ္ပဏီ တွေအားလုံးမှာလဲ သုံးနေတဲ့ Restful Service အနေနဲ့ Development လုပ်တဲ့ Api Base Development ကိုသာ အဓိက ထားသင်သွားမှာဖြစ်ပါတယ်၊
Restful Api Service
အထက်ကလို Restful Api Development ကိုသာလျှင် အဓိကထား သင်ကြားသွားမှာ ဖြစ်ပြီး အစအဆုံးပြည့်စုံအောင်ပါဝင်တဲ့ Project နှစ်ခုလုံးကိုလဲ Restful Api အဖြစ် Develop လုပ်သွားမှာဖြစ်ပေမယ့် သင်တန်းတက်တဲ့ ကျောင်းသားတွေအနေနဲ့ လုပ်ငန်းခွင်မှာ UI ကို တိုက်ရိုက် Rendering လုပ်တဲ့ Project တွေနဲ့ တွေ့ရင် နားလည်အောင် လိုက်လုပ်နိုင်အောင်လဲ HTML, CSS, JavaScript တွေကို Rendering လုပ်ပြီး Response ပေးတဲ့ Dynamic Webpage ဖန်တီးပုံကိုလဲ သင်ခန်းစာတွေထဲမှာ ထည့်သွင်းသင်ကြားပေးသွားမှာပါ၊ UI အတွက်လဲ Pure HTML, CSS, JavaScript သာလျှင်မကပဲ Server Side Template Engine ဖြစ်တဲ့ Thymeleaf ကို သုံး ပြီး Dynamic Web Page ဖန်တီးတဲ့ နည်းကိုလဲ သင်ကြားပေးသွားမှာဖြစ်ပါတယ်၊
Spring Security
Spring Security ကိုလဲ အသေးစိတ်နားလည်သွားအောင် သင်ကြားပေးသွားမှာ ဖြစ်ပြီး Security ပိုင်းကို သေချာနားလည်အောင် လက်တွေ့ Project တည်ဆောက်ပြီး သင်ကြားသွားပေးမှာဖြစ်ပါတယ်၊ Spring security မှာပါဝင်တဲ့ အပိုင်းနှစ်ပိုင်းဖြစ်တဲ့ Authentication ကော Authorization ပိုင်းကိုပါ သင်ကြားပေးသွားမှာဖြစ်ပါတယ်၊ Authentication ပိုင်းမှာ Dynamic Webpage များတွင် သုံးသည့် Session Based Authentication ကော Restful Api Services များတွင် အသုံးပြုသည့် Token Based Authentication ကိုလဲ သင်ကြားသွားပေးမှာဖြစ်ပါတယ်၊ တကယ်လက်တွေ့ လုပ်ငန်းခွင့် တွေမှာ Security ပိုင်းက နားမလည်လို့ မရသလို မသုံးလို့လဲ မရပါဘူး၊ ဒါကြောင့် Security ပိုင်းကို အသေးစိတ် သင်ကြားပေးရုံသာ လျှင် မကပဲ သင်တန်းမှာ Concepts တွေ သင်ကြားပြီးရင် လက်တွေ့ လုပ်ရမယ့် Project နှစ်ခု ဖြစ်တဲ့ Media Project နဲ့ E-Commerce Project တို့မှာလဲ လက်တွေ့ အသုံးပြု သင်ကြားသွားမှာဖြစ်ပါတယ်၊
Teaching Style
သင်ကြားတဲ့အခါမှာ Spring Boot Framework ကိုနားလည်ရုံ အသုံးပြုတက်ရုံ အဆင့်သာလျင် သင်ကြားပေးသွားမှာ မဟုတ်ဘဲ Framwork Concepts တွေကို နားလည်တဲ့အပြင် လက်တွေ့ Project မှာ အဆင့်ဆင့် အသုံးချ တည်ဆောက်နိုင်သည်အထိ သင်ကြားပေးသွားမှာ ဖြစ်ပါတယ်၊ လက်တွေ့ ဘဝမှာ ပြန်အသုံးပြုလို့ရသည်အထိ ပြည့်စုံတဲ့ Project နှစ်ခုကို အစအဆုံး တည်ဆောက် သင်ကြားပေးသွားမှာ ဖြစ်ပါတယ်၊ အများစုသော Junior Developer, Senior Developer တွေတွေ့ကြုံရတဲ့ ပြဿနာ ဖြစ်တဲ့ ရေးထားတဲ့ ကုဒ်က အလုပ်ဖြစ်တယ် Run နေတယ်ဆိုပေမယ့် ကုဒ်ရေးတဲ့ အယူ အဆမှန်လား ကုဒ် Flow Design တည်ဆောက်ပုံမှန်လား၊ လူတောတိုးတဲ့ ကုဒ်ကော ဖြစ်ရဲ့လား ဆိုတာကို အများစုမသေချာကြပါဘူး၊ ကျောင်းသားတွေ မပြောနဲ့ လုပ်ငန်းခွင့် ဝင်နေတဲ့ Junior Developer , Senior Developer နဲ့ နောက်ဆုံး Project Manager အဆင့်အထိ မသေချာပါဘူး၊ ပညာရဲရင် ပွဲလယ်တင့်ဆိုသလို ကိုယ်ရေးထားတဲ့ Project ကို တကယ် နားလည်တဲ့သူ တက်မြောက် ထားတဲ့ သူရှေ့မှာ ချပြရဲတဲ့အဆင့်မရှိပါဘူး၊ ဒီလို ရှိဖို့ကလဲ တကယ့်ကို ကျွမ်းကျင်ထားဖို့ လိုအပ်သလို Project ကြီးကြီးကိုလဲ ရေးဖူးထားဖို့, တကယ်တော်တို့ ရှေ့ဆောင်လမ်းပြတွေနဲ့ အလုပ်လုပ်ဖူး အတွေ့အကြုံရယူဖူးဖို့တို့ လိုအပ်ပါတယ်၊ တကယ် နားလည်တဲ့သူက Project တစ်ခုကို ကြည့်တာနဲ့ အသုံးပြုထားတဲ့ Code Flow မှန်လား မှားလား ချက်ချင်းကို သိသလို, အသုံးပြုထားတဲ့ Clean Architecture ဖြစ်တဲ့ Model View Controller ( MVC ) Design Pattern မှန်ကန်မှု ကုဒ် Based ကောင်းပြီး အခြား Project တွေမှာလဲ Module တွေ အနေနဲ့ အကြိမ်ကြိမ် ပြန်သုံးလို့ရမှု Reuseablity နဲ့ Request နဲနဲ မှာ အလုပ်ဖြစ်ပြီး Request တအားများလာရင် ဥပမာ တစ်စကန့် ကို User ၁၀၀၀၀ လောက်ဝင်လာရင် အလွယ်တကူ Scalability လုပ်နိုင်မှူ စသဖြစ် အချက်တွေ အမျိုးမျိုး ကို ကျွမ်းကျင်သူတွေက Project ကိုကြည့်တာနဲ့ နားလည် ဆုံးဖြတ်နိုင်ပါတယ်၊ ဒီလိုအချက်တွေအားလုံးကို ချုံငုံ စဥ်းစားပြီး ပြီးပြည့်စုံတဲ့ Project တစ်ခုတည်ဆောက်ဖို့က Concepts တွေ နားလည်ရုံတင် ရေးတက် ရုံတင်နဲ့ မရပါဘူး၊ အခု သင်တန်းမှာ ထိုအချက်အတွေအားလုံးကို လက်တွေ့ Project တည်ဆောက်ရင်း အဆင့်ဆင့် ရှင်းပြပြီးတွေးခေါ်ယူဆပုံကို နားလည်အောင် အဆင့်ဆင့် သင်ကြားပေးသွားမှဖြစ်ပါတယ်၊
Project Based Teaching
Project တည်ဆောက်ရာမှ Coding ပိုင်းမစခင် အဆင့်ဆင့် လုပ်ဆောင်ရတဲ့ Project Manager, Senior Developer နဲ့ Junior Developers တို့ လုပ်ဆောင်ရတဲ့ လုပ်ငန်းစဥ်အားလုံးကို အဆင့်ဆင့် ရှင်းပြသွားမှာဖြစ်ပြီး Project တစ်ခု အတွက် Code မရေးခင် Project ရုပ်လုံးပေါ်လာအောင် ဖန်တီးရတဲ့ Code Flow Diagram, Database Design Diagram, Unified Modeling Language တို့ကို အသုံးပြုပုံ အသုံးပြုရခြင်းအကြောင်းကို အယူအဆ အားလုံးကို အဆင့်ဆင့် သင်ကြားပေးသွားမှာဖြစ်ပါတယ်၊
သင်တန်း သင်ကြားရာတွင် အပိုင်းနှစ်ပိုင်းပါဝင်ပြီး ပထမ အပိုင်းမှာတော့ Spring Boot Framework ကို ပြည့်စုံစွာ နားလည်သွားအောင် Concepts အားလုံးကို လေ့လာသွားရမှာဖြစ်ပြီး ထို Concepts တွေကို လေ့လာရာမှာလဲ လက်တွေ့ အသုံးချတက်အောင် Sample Project အသေးလေးတွေကို အဆင့်ဆင့် လုပ်ပြီး လေ့လာသွားရမှာဖြစ်ပါတယ်၊ ဒီလို Framework Concepts တွေ အားလုံးကို နားလည်သွားပြီး လက်တွေ့ အသုံးပြုတက်သွားမှ လက်တွေ့ Project နှစ်ခုကို တည်ဆာက်လေ့လာသွားရမှာ ဖြစ်ပါတယ်၊
လက်တွေ့ Project တွေကိုလဲ သင်တန်းမှာ သင်ကြားရုံ အဆင့်သာလျှင်မဟုတ်ဘဲ တကယ့် လက်တွေ့ လုပ်ငန်းခွင်မှာ သုံးလို့ရအောင် ပြည့်စုံအောင် လိုအပ်ချက် အားလုံးကို ထည့်သွင်းသင်ကြားသွားမှာ ဖြစ်လို့ Production Level Project တွေ အဖြစ် လေ့လာသွားရမှာ ဖြစ်ပါတယ်၊ လက်တွေ့ Project နှစ်ခုပါဝင်ပြီး Media Service Project နဲ့ E-Commerce Service Project တို့ပါဝင်ပါတယ်၊
Database
Database ပိုင်းတွင် MySQL Database ကို Handling လုပ်မယ့် Hibernate ORM ( Object Relational Mapping ) ကိုလေ့လာသွားရမှာဖြစ်ပြီး ထို Hibernate ကိုမှ မှန်ကန် လွယ်ကူစွာ အသုံးချနိုင်အောင်တည်ဆောက်ထားတဲ့ Java Persistence Api ဖြစ်တဲ့ JPA နဲ့ တွဲဖက်အသုံးပြုပုံကိုလေ့လာသွားရမှာ ဖြစ်သလို NoSQL Database ဖြစ်တဲ့ MongoDB ကိုသုံးပြီးတော့ Project တည်ဆောက်ပုံကို လဲ လေ့လာသွားရမှာဖြစ်ပါတယ်၊ လေ့လာတဲ့ ကျောင်းသားတွေအနေနဲ့ SQL Base ကော NoSQL ကောကို ကျွမ်းကျင်သွားစေရန် လက်တွေ့ Project နှစ်ခုမှ Media Project အတွက် MySQL Database ကိုသုံးပြီး E-Commerce Project အတွက် NoSQL Database ကိုသုံးပြီးသင်ကြားပေးသွားမှာ ဖြစ်ပါတယ်၊
Project Publishing
Spring Boot ကို သုံးပြီး ပြည့်စုံတဲ့ Project တည်ဆောက်ပုံကို နားလည် ကျွမ်းကျင်ရုံသာမက လုပ်ငန်းစဥ် အသေးလေးတွေ ခွဲထုတ်ပြီး Server Process Balance ကို ချုံ့လိုက်တဲ့ ပြုပြင်ထိန်းသိမ်းရလဲ လွယ်တဲ့ Microservices Projects လေးတွေ ရေးသားနည်းကို လဲ နားလည် ကျွမ်းကျင်အောင် သင်ကြားပေးသွားမှာဖြစ်ပါတယ်၊
Server & Client Communication ပိုင်းမှာလဲ Bi-directional Communication အတွက် လိုအပ်တဲ့ Chatting Application လို Websocket သုံးပြီး အလုပ်လုပ်တာကို နားလည်သွားအောင် WebSocket ပိုင်းကိုလဲ အသေးစိတ် ပြည့်စုံအောင် သင်ကြားပေးသွားမှာ ဖြစ်ပြီး လက်တွေ့ Sample Project အနေနဲ့ Chatting App တစ်ခုကို ထည့်သွင်းတည်ဆောက် သင်ကြားပေးသွားမှာ ဖြစ်ပါတယ်၊
သင်ကြားရာမှာ Project တွေတည်ဆောက်တဲ့အခါ Code ရေးရုံတင်မဟုတ်ဘဲ ဘာကြောင့် ဒီလိုရေးလဲ ဘယ်လို လိုအပ်ချက်ကောင့် ဒီလိုရေးရတာလဲ ဆိုတာကို သေချာ နားလည်အောင် ရှင်းပြပြီး လက်တွေ့လုပ်ငန်းခွင့်မှာ လိုအပ်ချက်ပေါ်မူတည်ပြီး ကိုယ်ပိုင် တွေးခေါ်တက် ကိုယ်ပိုင် Project တစ်ခုကို အစအဆုံးရေးသားပုံကို စဥ်းစားတတ်သည်အထိ အဆင့်ဆင့် သင်ကြားပေးသွားမှာပါ၊ သင်ထားတာတင် တက် မြောက်သွားအောင် သင်ပေးတာမဟုတ်ပဲ၊ သင်တန်းပြီးရင် ဘယ်လို Project အမျိုးအစား လာလာ ကိုယ်ပိုင်တွေးခေါ်ပြီး အဆင်ဆင့် တည်ဆောက်တက်အောင် သင်ကြားပေးသွားမှာဖြစ်ပါတယ်၊
Project တွေရေးပြီးသွားရင် ထို Project တွေကို Publish လုပ်ဖို့အတွက် ဖြန့်ချိပုံအဆင့်ဆင့် ကိုလဲ လက်တွေ့ သင်ကြားသွားပေးမှာ ဖြစ်ပါတယ်၊ AWS မှာ EC2 Instance ဝယ်ယူပြီး Server တည်ဆောက်ခြင်း , SSH Key ကိုသုံးပြီး AWS Server ကို ကိုယ်ပိုင် ကွန်ပြူ တာကနေဝင်ပြီး Server အတွက် လိုအပ်သည့် Setup လုပ်ခြင်း , Project Location သတ်မှတ်ခြင်း, Default Port သတ်မှတ်ခြင်း၊ SSH Port ဖွင့်ခြင်း TCP Port Setup လုပ်ခြင်း,Server မှာ Dependencies များ ထည့်သွင်းခြင်း, Nginx ထည့်သွင်း၍ Microservices Server များ ခွဲထုတ်တည်ဆောက်ခြင်းအတွက် Load Balancing လုပ်ခြင်း၊ Domain Name နှင့် Server အားချိတ်ဆက်ခြင်း၊ Secure မဖြစ် တဲ့ default HTTP Protocol ကနေ HTTPS Protocol ပြောင်းရန် Certificate ထည့်သွင်းခြင်းနှင့် Google Search ကနေ ရှာတဲ့အခါ လွယ်ကူစေရန် Domain Register လုပ်ခြင်း စသဖြင့် Project တစ်ခု Publish လုပ်ဖို့ လိုအပ်တဲ့အချက်တွေ အားလုံးကို သင်ကြားပေးပါတယ်၊
Further Support
Spring Boot အတန်းပြီးသွားရင် Pure Spring ကို လေ့လာချင်တဲ့ ကျောင်းသားတွေအတွက်လဲ Brighter Myanmar မှ ဆရာ Waiferkolar သင်ကြားပေးထားတဲ့ Pure Spring ဗွီဒီယိုသင်ခန်းစာ ၂၀၀ ကျော်ကို ထောက်ပံ့ပေးပါတယ်၊
မြန်မာပြည်တွင်းမှာ သင်ကြားပေးတဲ့ သင်တန်းနဲတာနဲ့ လေ့လာရမယ့် Resource ရှားပါတာ၊ လုပ်ငန်းခွင့်မှာလဲ အခြား ဘာသာရပ် တွေအသုံးများတာကြောင့် Java EE ( Spring, Spring Boot) သုံးပြီး အလုပ်လုပ်တဲ့ ကုမ္ပဏီ နဲသလို အလုပ်ခေါ်တာလဲ နဲပါတယ်၊ အလုပ်ခေါ်တာနဲလို့ လေ့လာမယ့် သူတွေကလဲ လေ့လာချင်စိတ် နဲသွားတာ လေ့လာသူနဲလို့ သင်ကြားမယ့် သူတွေကလဲ စျေးကွက်ပိုရှိတဲ့ ဘာသာရပ်တွေကို သင်ကြားတာ စသဖြင့် အကြောင်းအကျိုး အမျိုးမျိုး ဆင့်ကဲ ဖြစ်တည်မှု အရ Web Development ပိုင်းမှာ Java ကို သုံးတာ တအားနဲ နေပါတယ်၊ လေ့လာတဲ့အခါမှာ ခက်ခဲ မှူနဲ့ Project လုပ်နိုင်အောင် ကျွမ်းကျင်တဲ့ အဆင့် ရောက်ဖို့ ပေးဆပ်ရတဲ့အချိန်နဲ့ ငွေကြေးက အခြား ဘာသာရပ်တွေနဲ့မယှဥ်နိုင်ပါဘူး၊ ဒါကြောင့် Java EE ရဲ့ အသုံးဝင်မှုတွေ ပြည်တွင်းမှာ နဲနေပါတယ်၊ ပြည်ပလုပ်ငန်းခွင် တွေမှာတော့ Java နဲ့ အလုပ်ခေါ်တာများသလို Japan လိုနိုင်ငံမျိုးမှာ (Web ပိုင်းနဲ့ ပါတ်သတ်ရင် ) Java EE နဲ့ အလုပ်အများဆုံး ခေါ်တဲ့ ဘာသာ ရပ်ဖြစ်နေပါတယ်၊ ပြည်တွင်းမှာ Java EE နဲ့ အလုပ်ခေါ်တာ မတွေ့ဖူးသလောက်ကို နဲပေမယ့် Banking Application ရေး ရာမှာတော့ အခြားဘာသာရပ်တွေက စာရင်းထဲကို မရှိပဲ Long Running မှာ Stable ဖြစ်မှုရော Security ပိုင်း အားသာချက်ကြောင့်ရော Java ကိုသာသုံးကြပါတယ်၊ ဒီတော့ ပြည်တွင်း Banking ကုမ္ပဏီ တွေက အလုပ်ခေါ်ရင် Main Project နဲ့ ဆို Java ပိုင်းပဲ ခေါ်ကြပါတယ်၊
လုပ်ငန်း Project တွေ အပ်ခံရတဲ့ Developers တွေကလဲ အခြား ဘာသာရပ်တွေကိုသာ ကျွမ်းကျင်ကြသူတွေများလို့ Project ကို လဲ အခြား ဘာသာရပ်တွေနဲ့ပဲ ရေးနေရင်းနဲ့ Java ဘာသာရပ်ရဲ့ နေရာရမှူက နဲလာတာပါ၊ တကယ်တာ ကျွမ်းကျင်ရင် လုပ်တဲ့ Project တွေမှာ Java ဘာသာရပ် နဲ့ ရေးကြပြီး လုပ်ငန်းခွင်တွေမှာလဲ Java Developer လိုအပ်ချက်က များလာမှာပါ၊
Angular
Angular ကိုလေ့လာဖို့အတွက် JavaScrpit ရဲ့ superset ဖြစ်တဲ့ TypeScript ကို နားလည် ကျွမ်းကျင်ထားရမှာဖြစ်ပါတယ်၊ ဒီ့အတွက် Angular သင်ခန်းစာမှာ TypeScript ကို အရင် သင်ကြားပေးပါတယ်၊ TypeScript ကို သင်ကြားရာမှာ နားလည်မှု လွယ်ကူအောင် JavaScript ကနေ ပြောင်းလဲလာတဲ့ ပုံပေါ် အခြေခံပြီး Dynamic Type Programming နဲ့ Statically Typed Programming တို့ ကွာခြားချက်ကို နားလည်အောင် ရှင်းပြပြီးသင်ကြားပေးပါတယ်၊
TypeScript
TypeScript ကို နားလည်သွားရင် Angular Concepts တွေဖြစ်တဲ့ Components, Dependency Injection, Temaplate, Angular Lifecycle, Directives, Modules, Services,Routing,Pipes,Change detection,Interpolation, Data Binding , Property Binding,Event Binding,Form, Data Binding, Property binding, Lifecycle, Attribute Directives, Component , Styleslink, Dependency Injection, Template-Driven Form , Reactive Form ,View Children & Content Children RxJS နဲ့ Component Interaction တို့ ကို သင်ကြားပေးသွားမှာဖြစ်ပါတယ်၊
Angular Concepts တွေကို နားလည်သွားရင် Restful Api Request တွေကိုနားလည်ကျွမ်းကျင်သွားအောင် Angular HttpClient ရဲ့ get/post/put/patch/delete တို့ကို သုံးပြီး Http Request လုပ်ပုံ ထို Request တွေကို RxJS ရဲ့ Observable ကိုအသုံးပြုပြီး Http Response တွေကို Subscribe လုပ်ထားတဲ့ Components တွေကို Data Emit လုပ်တဲ့ နည်းကို လေ့လာသွားရမှာဖြစ်ပါတယ်၊ Api Response Data တွေကိုလဲ တိုက်ရိုက်မသုံးခင် Data Model တွေဖြစ်အောင် Interface တွေ အသုံးပြီးတည်ဆောက်တဲ့ နည်းနဲ့ ထို Interface တွေကို Components တွေကနေ အလွယ်တကူ ခေါ်သုံးပုံကိုလဲ လေ့လာသွားရမှာဖြစ်ပါတယ်၊
Angular Project
Angular Project မှာ HTML, CSS အတွက် Bootstrap ကို အသုံးပြုသွားမှာ ဖြစ်ပြီးတော့ Backend ဖြစ်တဲ့ Spring Boot ကနေ ချပေးတဲ့ Data တွေကိုသုံးပြီး Admin Panel နဲ့ Websites တွေတည်ဆောက်သွားမှာဖြစ်ပါတယ်၊ Spring Boot မှာ ရေးထားတဲ့ Project နှစ်ခုအတွက် User Interface ကိုတည်ဆောက်ဖို့ AngularJS ကို သုံးသွားရမှာဖြစ်ပြီး Media Project ကော E-Commerce Project ပါ ပါဝင်တဲ့အပြင် ထို Project နှစ်ခုအတွက် လိုအပ်တဲ့ Admin Panels တွေကိုလဲ တည်ဆောက်သွားမှာဖြစ်ပါတယ်၊ Project နှစ်ခုက အပေါ်ယံ ကြောသာ သင်ကြားပေးတဲ့ Project တွေမဟုတ်ဘဲ တကယ်အလုပ်လုပ်နေတဲ့ Online Api Export လုပ်တဲ့ Server တွေကိုသုံးပြီး ထို Servers တွေကနေ ဒေတာတွေယူပြီး ( ထို Api Data များကို သုံကာ ) Database ထဲ ဒေတာ ထုတ်တာ ထည့်တာ ပြင်ဆင်တာတွေအားလုံးပါတဲ့ လက်တွေ့ ဖြန့်ချိလို့ရတဲ့ အဆင့်အထိ အဆင့်ဆင့် သင်ကြား ပြထားတဲ့ Project နှစ်ခုဖြစ်ပါတယ်၊
Angular က စရေးတဲ့အခါမှာ TypeScript နဲ့ ရေးရတာ ဖြစ်လို့ JavaScript သမားတွေအတွက် နဲနဲ လက်ဝင်သလို ဖြစ်နေပေမယ့် နားလည် ယဥ်ပါးသွားရင် အခြား ဘာသာရပ်တွေထပ် ရေးရတာ ပိုလွယ်ကူပြီး လုပ်ငန်းလုပ်ဆောက်ပုံလဲ အရမ်းကို သပ်ရပ် သေသပ်ပါတယ်၊
ဒီသင်တန်းမှာ Project အစအဆုံးရေးတဲ့အပြင် ရေးထားတဲ့ Projects တွေကို Publishing အတွက် Export ထုတ်ပြီး ထို Export ထုတ်ထားတဲ့ Project ကို Online Server မှာ တင်ပြီး Publish လုပ်တာကိုပါ လက်တွေ့လုပ်ပြရင်း အဆင့်ဆင့် သင်ကြားပေးသွားမှာ ဖြစ်ပါတယ်၊
သင်ကြားပုံ
သင်တန်းက အွန်လိုင်း သင်တန်း အမျိုးအစား ဖြစ်ပြီးတော့ စနေနေ့ တစ်ရက် ဆရာနဲ့ Meeting ထိုင်ရပါတယ်၊ စနေနေ့ Meeting မှာ ဆရာက တစ်ပါတ်စာ လေ့လာရမယ့် သင်ခန်းစာ Road Map ချပေးမှာ ဖြစ်ပြီး ထိုတစ်ပါတ်စာ လေ့လာရမယ့် ဗွီဒီယို သင်ခန်းစာတွေကို ချပေးသွားမှာဖြစ်ပါတယ်၊ ဗွီဒီယို သင်ခန်းစာတွေက ကြိုတင် Record လုပ်ထားတဲ့ သင်ခန်းစာတွေမဟုတ်ပါ၊ တစ်ပါတ် တစ်ကြိမ် သင်ခန်းစာ ၂၀ က နေ ၃၀ အထိ Record လုပ်ပေးတာ ဖြစ်ပါတယ်၊ တစ်ပါတ်တစ်ခါ Record လုပ်ပေးတဲ့ပအတွက် သင်ခန်စာတွေမှာ အသုံးပြုတဲ့ ဘာသာရပ်တွေ အားလုံးက Latest Version တွေဖြစ်ပါတယ်၊ Meeting ထိုင်တဲ့ နေ့မှာ ကျောင်းသား တွေအနေနဲ့ မရှင်းတာ နားမလည်တာ ကိုယ့်ကွန်ပြူတာမှာ လိုက်လို့လို့ မရတဲ့အချက်တွေ တွေ့ကြုံရတဲ့ ပြဿနာတွေကို မေးနိုင်ပြီး ဆရာက ဖြေရှင်းပေး ရှင်းပြပေးခြင်းတွေလုပ်ပါတယ်၊
သင်တန်းတက်တဲ့ ကျောင်းသားတွေ အချင်းချင်း ချိတ်ဆက်မိအောင်ကော ဆရာနဲ့ အဆင်အသွယ် မပျက်အောင်ပါ သင်တန်းအတွက် Google Classroom ဖန်တီးပြီး လိုအပ်တဲ့ အချက်တွေ စာနဲ့ရှင်းပြရမယ့် အချက်တွေကို Classroom ထဲမှာ Posts တွေအဖြစ်တင်ပြီးရှင်းပြပေးထားသလို သင်ခန်းစာ လင့်တွေကိုလဲ Share ပေးထားပါတယ်၊ ကျောင်းသားတွေအနေနဲ့ ကြားရက်တွေမှာ ပြဿနာ တက်ရင်လဲ Classroom ထဲမှာ Post တင်ပြီးမေးနိုင်သလို အရမ်း ဖြေရှင်းရမလွယ်တဲ့ ပြဿနာတွေ တွေ့ကြုံရင်လဲ ဆရာနဲ့ အချိန် တစ်ခု ချိန်းပြီး Meeting လုပ်နိုင်ပါတယ်၊ ဒါဆို ဆရာက AnyDesk ကိုသုံးပြီး ကျောင်းသားတွေရဲ့ ကွန်ပြူတာထဲကို ဝင်ပြီး လိုအပ်တဲ့ ပြုပြင်ပေးမှုများ ကုဒ် စစ်ဆေးပေးမှုများကို လုပ်ဆောင်ပေးပါတယ်၊
Course Sharing
Basic Concepts သင်ခန်းစာတွေကို Youtube Channel ကနေပဲ Share ပေးသွားမှာဖြစ်ပြီး Projects Based သင်ခန်းစာတွေကိုတော့ ကျောင်းသားတွေ သီးသန့်ပဲ လေ့လာလို့ရအောင် Microsoft Cloud Server ဖြစ်တဲ့ OneDrive မှာ Share ပေးပါတယ်၊ သင်ခန်းစာနဲ့ ပါတ်သတ် ပြီး အဆင့်ဆင့် လုပ်ရမယ့် လုပ်ငန်းစဥ်တွေကိုလဲ အမြဲတမ်း Classroom မှာ Post တင်ပြီး ရှင်းပြ ထားသလို လိုအပ်တဲ့ Links တွေ အားလုံးကိုလဲ Classroom မှာ Share ထားပါတယ်၊
Contact
- သင်တန်းကြေး ၃ သိန်း ( ပုံမှန်မရှိပါ နောက်ပိုင်း သင်တန်းကြေးတက်ပါမယ် )
- Ph 09-950-45-333-7
- Page Chat Box ကနေ ပြီး သိလိုတဲ့အချက်တွေကို မေးနိုင်ပါတယ်၊