TT Tech

TT Tech

You may also like

Ivinyl
Ivinyl

Our institute is aiming to innovate new technical tools which can support our daily life and provide technical information to the upcoming new IT specialists.

12/12/2023

💥💥💥 JavaScript Basic to Advanced 💥💥💥
💥💥💥 Part-3 💥💥💥

💥💥JavaScript Fundamentals
💥💥Part-2

ကဲ ပြီးခဲ့တဲ့ အပိုင်းမှာ JS code တွေကို ဘယ်မှာရေးရမလဲ ဘယ်လိုရေးရမလဲ ဆိုတာပြောခဲ့တယ်။ ဒီအပိုင်းမှာတော့ JavaScript Fundamentals အပိုင်းကို ထပ်ပြီး extend လုပ်မယ်။ ဆိုတော့ စရအောင်

ပထမဆုံးပြောမှာက

Code structure

အဲ့တော့ programming language တိုင်းမှာ စလေ့လာတာနဲ့ အရင်ဆုံး ကြည့်ရမှာက language ရဲ့ structure ပဲ။ ခင်ဗျားတို့ alert("Hello World") ကိုတော့ တွေပြီးလောက်ပြီး။ (မတွေ့ဖူးသေးရင် အရှေ့က အပိုင်းတွေပြန်ဖတ်) ဆိုတော့ အဲ့သည့် alert("Hello World") လိုမျိုး dialog box ထုတ်ပြတဲ့ ဟာတွေရှိသလို developer တွေ develop လုပ်နေတုန်း developer console မှာ output ထုတ်ပြတဲ့ console.log(".....");
console.error("....");....
ဟာတွေလိုမျိုး code structure တွေရှိသေးတယ်။ ပြီးတော့ JavaScript က line by line instructions တွေကို execute လုပ်တာဆိုတော့ instruction တွေကို သူ့ဟာနဲ့သူ သေသေသပ်သပ် ရေးဖို့ လိုလိမ့်မယ်။

ကဲ ခင်ဗျားတို့မေးတော့မယ် ရေးတာဟုတ်ပါပြီး ဘယ်လိုရေးမှာတုန်း။ ပြောမယ်လေ အေးဆေးပေါ့။

အဲ့တော့ programming မှာ semicolon နဲ့ ပတ်သတ်တဲ့ memes တွေ အများကြီး တွေ့ဖူးမှာပေါ့။ အဲ့လိုပဲ သည်မှာ semicolon နဲ့ဆိုင်တဲ့ ပြဿနာ နည်းနည်းတော့ရှိတယ်။ ပြဿနာ ဆိုပေမယ့် ပြဿနာလည်း သိပ်မဟုတ်ဘူးရယ်။ ဘယ်အချိန်မှာတက်မှာလဲ ဆိုတော့ အပေါ်မှာပြောခဲ့တယ် JS က instructions တွေကို line by line execute လုပ်တယ်ဆိုတာ။ အဲ့တော့ instruction တစ်ခုမပြီးခင်ကြားထဲမှာ semicolon ထည့်ရင် error တက်ပြီ။ ဘယ်လိုဆိုတာပြပေးမယ်။

alert("Hello ;
World")

အပေါ်မှာပြ သလို semicolon က ကြားထဲရောက်နေရင် ပြဿနာရှိတယ်။

alert("Hello World!");

ဆိုရင် result က Hello World! ဆိုပြီး အေးဆေး ထွက်တယ်။
semicolon က ပြဿနာ မဟုတ်ဘူးလို့ ဘာလို့ပြောလဲဆိုတော့ instruction တစ်ခုပြီးလို့ အဲ့နောက်မှာဆက်မရေးတော့ပဲ line break လိုက်ပြီဆိုရင် JS ရဲ့ node environment က ဘာလို့ ယူဆလဲဆိုတော့ instruction တစ်ခုပြီးသွားပြီလိူ့ယူဆတယ်။ အဲ့လို အနေအထားမှာ semicolon မထည့်လဲ ဖြစ်တယ်။ နမူနာအနေနဲ့

console.log("Name: "+"Mr. Blake")
alert("Age: "+25)

အဲ့လို အနေအထားမှာ အရင် developer console မှာ ဘာထုတ်ပေးမလဲဆိုတော့ Name: Mr. Blake ထုတ်ပေးပြီးတော့ နောက်မှ dialog box နဲ့ Age: 25 ဆိုပြီး ထုတ်ပေးလိမ့်မယ်။ (အပေါ်က code မှာ "+" သုံးထားတာ string concatenation method ပါ နောက်ပိုင်း အခန်းတွေမှာတွေ့ရလိမ့်မယ်။) အဲ့တော့ မျက်စိ နောက်တယ်ဆိုရင် semicolon ကို မထည့်ပဲ ထားခဲ့လို့ရတယ်။ ဒါပေမယ့် Beginner level မှာတော့ လက်တဲ့ မစမ်းပါနဲ့ Java တို့ C++ တို့လိုမျိုး language တွေကို လုပ်ငန်းခွင်ထဲမှာ ရေးရရင် JS ရေးတုန်းက အကျင့်တွေ အဲ့မှာပါပြီး semicolon ကျန်ခဲ့လို့ကတော့ ရေကြီးပြီလို့သာမှတ်တော့။ အဲ့ language တွေက instruction တစ်ခုပြီးတိုင်း semicolon ပိတ်ရင်ပိတ် မပိတ်ရင် error တက်ပြီးထိုင်နေလိမ့်မယ်။ အဲ့တော့ best practice အနေနဲ့ instruction တစ်ခုပြီးတိုင်း semicolon ပိတ်တဲ့အကျင့်လုပ်ပါ။

အဲ့တော့ နောက်တစ်ခုက

Comments

Program တစ်ခုက တအား complex ဖြစ်လာပြီး code တွေကလည်း တအားများလာတဲ့ အခါ comment တွေကို မဖြစ်မနေ ထည့်ပေးရတယ်။ အဲ့တော့မှာ maintain လုပ်တဲ့အခါမှာ ဘယ်ဟာက ဘာ ဆိုတာ လွယ်လွယ်ကူကူ ရှာပြီး fix လုပ်လို့ရမှာ။ JS မှာ one line comment နဲ့ multi line comment ဆိုပြီးရှိတယ် one line comment ကိုတော့

//........

အပေါ်ကလို forward slash နှစ်ခုခံပြီး ရေးရတယ်။
Multi line comment တွေကိုတော့

/* ...... */

အပေါ်ကလို အဖွင့်မှာ forward slash နဲ့ asterisk (လို့ခေါ်တဲ့ star) နဲ့ အပိတ်မှာ asterisk နဲ့ forward slash ပိတ်ပြီး ကြားထဲမှာရေးပေးရတယ်။

ဒါကတော့ comment ရေးပုံရေးနည်းပေါ့။ တစ်ခုစီမရိုက်ချင်ရင် ကိုယ် comment ပေးချင်တဲ့ text block ကို select လုပ်ပြီးရင် single comment ပိတ်မယ်ဆို window မှာ ctrl+/ ဆိုတဲ့ short cut key နှိပ်ပြီး ပိတ်လို့ရသိလို multiple line comment အတွက်ကတော့ ctrl+shift+/ နဲ့ ပိတ်လို့ရတယ်။ Mac user တွေအတွက်ကတော့ ctrl မှာ cmd ပြောင်းနှိပ်ပေါ့ ။

(!!! Comment ပိတ်တာမှာ သတိထားရမှာ nested comment လို့ခေါ်တဲ့ comment ထဲမှာ comment ထပ်ရေးလို့မရတာကို သတိထားရမယ်။ မဟုတ်ရင် ကိုယ်ရေးထားတဲ့ code block ကို မလိုအပ်တဲ့ error effect သွားဖြစ်လိမ့်မယ်!!!)

ကဲကဲ တော်ပြီ ခင်ဗျားတို့လဲ ဒီနေ့ ဒီလောက်ပဲ ဖတ်တော့။ နောက်အပိုင်းမှာမှ ဆက်ပြောပြမယ်။

ဆက်ဖတ်ချင်ရင် page ကို follow နဲ့ see fast လုပ်ထားဦး။

11/12/2023

💥💥💥 JavaScript Basic to Advanced 💥💥💥
💥💥💥 Part-2 💥💥💥

💥💥JavaScript Fundamentals
💥💥Part-1

အစကတော့ JavaScript fundamental အပိုင်းကို အစအဆုံး တစ်ပိုင်းထဲမှာ ရေးမလို့ပဲ။ ဒါပေမယ့် စာတအားများရင် အဆုံးထိ မဖတ်ကြမှာရယ် ပြောချင်တာတွေ ကျန်သွားမှာရယ် စိုးလို့ JavaScript fundamental အပိုင်းကို အပိုင်းလေးတွေ ခွဲပြီး တင်ပေးဖို့ လုပ်လိုက်တယ်။ အခုတော့ part(1) မှာ ဘာတွေပြောပြမလဲ ဆက်ဖတ်ကြည့်ပါဦး။

JavaScript fundamental
Fundamental လို့ပြောတာဆိုတော့ ဒီအချက်တွေက သိကို သိရမယ်လို့ ပြောထားတာပေါ့။ အဲ့တော့ JavaScript မှာ ပထမဆုံး သိရမယ့် ဟာက

The "Script" tag

သူက scripting language ဖြစ်တဲ့အပေါ်မှာ ..... ဆိုတဲ့ tag အတွင်းထဲမှာ ရေးတယ်။ဥပမာတစ်ခုပြပေးမယ်

alert("Hello World!");

အပေါ်က program ကို run တဲ့ အခါမှာ Hello Wold! ဆိုတဲ့ စာသားလေးပါတဲ့ dialog box ကျလာလိမ့်မယ်။(dialog box ဘာလို့ ပေါ်တာလဲ ဆိုတာ မစဉ်းစားပါနဲ့ဦး alert သုံးရင် dialog box ထုတ်ချင်လို့သုံးတယ်ဆိုတာသိထားရင် ရပြီ။ ဘာလို့လဲဆိုတော့ output ထုတ်တဲ့ method တွေ နောက်အပိုင်းမှာပါမှာမို့လို့ပါ။) ဆိုတော့ အဲ့ script tag ကို ဘယ်မှာထည့်ရေးမလဲပေါ့။ များသောအားဖြင့် ကတော့ HTML ရဲ့ body tag အဆုံးမှာ script tag အဖွင့်အပိတ်ထည့်ပြီး JS code တွေရေးတယ်။ တချို့ကတော့ body tag အပေါ်မှာရေးကြတယ် ဘယ်မှာပဲ ရေးရေးပါ ဒါကတော့ ကိုယ့် feeling နဲ့ကိုယ်ပဲ။

အရင် ECMAScript မထွက်ခင်တုန်းက JS code တွေကို script tag မှာရေးရင် ထည့်သုံးတဲ့ attributes တွေရှိတယ်။ type ဆိုတဲ့ attribute နဲ့ language ဆိုတဲ့ attribute ရယ်။ Older JS version တွေမှာ script tag ဖွင့်တာနဲ့ ဒီလိုထည့်ပေးရတယ်။ ....
language ဆိုတဲ့ attribute ကတော့ အစထဲက သိပ်မသုံးကြဘူး။ ဘာလို့လဲဆိုတာ့ JS က အစထဲက script language လေ။ အဲ့တော့ script tag ဖွင့်ပြီး ရေးပါတယ်ဆိုမှတော့ language ကအဲ့မှာထဲကိုက define လုပ်ပြီးနေပြီ။ အဲ့တော့ နောက်ပိုင်း modern JS version တွေမှာမသုံးတော့ဘူးရယ်။

ဆိုတော့ ခင်ဗျားတို့ မေးမယ့် မေးခွန်းတစ်ခုကို တစ်ခါထဲဖြေပေးလိုက်မယ်။ JS file သတ်သတ်ထားပြီးရေးလို့မရဘူးလား ဆိုရင် ရေးလို့ရတယ်။ ဘယ်လိုရေးမလဲဆိုတော့ script tag ထဲမှာ "src" ဆိုတဲ့ attribute ထည့်ပြီးရင် ရေးထားတဲ့ JS file လမ်းကြောင်းကို မှန်အောင်ထည့်ပေးရင်ရပြီ။ နမူနာတစ်ခုပြပေးမယ်



အဲ့လိုဆိုရပြီး။ ဒါဆိုရင် browser ကနေပြီတော့ JS engine တွေ ကိုသုံးပြီး file ထဲက functions တွေကို read လုပ်ပြီး developer ရေးထားတဲ့ web page ပေါ်မှာ အလုပ်လာလုပ်လိမ့်မယ်။ (JS engine တွေအကြောင်းမသိသေးရင် JavaScript basic to advanced series part-1 မှာပြန်ကြည့်လို့ရတယ်)
Developer တွေ သေချာရေးတတ်တဲ့ အနေအထားရောက်ပြီဆို ဘယ်သူမှ HTML file ထဲမှာ script tag ဖွင့်ပြီး မရေးကြတော့ဘူးရယ်။ complex & important ဖြစ်တဲ့ functions တွေအကုန်လုံးကို JS file သပ်သပ် ဆောက်ပြီးရေးကြတာပဲ။ simple ဖြစ်တဲ့ဟာလောက်ပဲ HTML file ထဲမှာ script tag ဖွင့်ပြီးရေးတာ။ JS file သပ်သပ် ရေးလို့ ဘာကောင်းလဲဆိုတော့ ပထမဆုံးအကြိမ် browser မှာ ဒီ file တွေ စ run တာနဲ့ browser ကနေ download လုပ်ပြီး browser ရဲ့ cache ထဲမှာ သိမ်းထားပေးတယ်။ ပြီးတော့ develop လုပ်တဲ့ အခါကျရင်လည်း ထပ်ခါထပ်ခါ မရေးရတော့ပဲ reference လုပ်လိုက်ရုံပဲ။ ပြီးတော့ functions တွေကို ခနခန run စရာမလိုတော့ဘူးဆိုတော့ site traffic နည်းပြီး page loading မြန်တာပေါ့။
နောက်တစ်ခု သတိထားရမှာဘာလဲဆိုတော့ script tag ထဲမှာ src attribute သုံးပြီး file ညွှန်းထားမယ်။ အဲ့ script tag ထဲမှာပဲ JS code တွေထပ်ရေးမယ်ဆို အဆင်ပြေမှာမဟုတ်ဘူး။ အဲ့အခါကျရင် src attribute ကနေညွှန်းထားတဲ့ file ထဲက code တွေကိုပဲ သွားဖတ်ပြီး script tag ထဲက ဟာတွေကိုတော့ ignore လုပ်သွားမှာပဲဖြစ်တယ်။ နမူနာ ပြပေးမယ်


alert("Hello World");


အပေါ်က code မှာ app.js file ထဲက code တွေကိုပဲ ဖတ်ပြီး script tag ထဲက alert function ကိုတော့ အလုပ်လုပ်မှာမဟုတ်ဘူး။
အဲ့တော့ alert function ကိုပဲ အလုပ်လုပ်စေချင်တယ်ဆို ဒီလိုပြင်ရေးပေးမယ်။



alert("Hello World");


အဲ့တာဆို အရင်ဆုံး browser engine ကနေ app.js file က code ကိုဖတ်မယ်။ ပြီးရင် အောက်က script tag ထဲက code ကို ဖတ်ပြီး "Hello World" စာသားပါတဲ့ dialog ကို ထုတ်ပေးမယ်။

ကဲ ဒီအပိုင်းမှာတော့ JS ကို ဘယ်မှာရေးမလဲ။ file နဲ့ ဘယ်လို extend လုပ်မလဲပြောပြီးပြီဆိုတော့ ဒီအပိုင်းကတော့ ဒီမျှသာ......

နောက်အပိုင်းတွေဖတ်ချင်ရင် page ကို see fast လုပ်ထားကြဦး။

11/11/2023

💥💥💥 JavaScript Basic to Advanced 💥💥💥
💥💥💥 Part-1 💥💥💥

အခုအချိန်မှာ အရှိန်အဟုန် ပြင်းပြင်းနဲ့ ပြောင်းလဲ လာနေတဲ့ programming languages တွေ frameworks တွေထဲမှာ အရင်ဆုံးပြေးမြင်မိတာ JavaScript ပတ်သတ်တဲ့ အပိုင်းတွေမှာ ပိုသတိထားမိတယ်။ အဲ့တော့ ဒီ JavaScript ဆိုတာဘာလဲ ဘယ်လို အလုပ်လုပ်တာလဲ ဆိုတာကို တစ်ဆင့်စီ တစ်ပိုင်းချင်းစီမှာပြောပြပေးသွားမယ်။

** What is JavaScript?
JavaScript ဆိုတာ script language တစ်မျိုးပဲ။ သူက ဘာလုပ်ပေးလဲဆိုတော့ ကျွန်တော် တို့ HTML, CSS နဲ့ရေးထားတဲ့ website တွေကို alive ဖြစ်အောင်လုပ်ပေးတယ်။ သူ့ရဲ့ initial သဘောက တော့ ဒါပဲ။ စပြီး release လုပ် ကတည်းက browsers တွေမှာ လွယ်လွယ်ကူကူ အလုပ်လုပ်လို့ရမယ့် functions တွေကို ရေးလို့ရအောင်ထုတ်ပေးလိုက်တာ။ အဲ့တော့ သူ့ကို ဘယ်မှာရေးလဲ။ HTML file တွေထဲ မှာ script tag နဲ့ရေးတယ်ပေါ့။ အဲ့တော့မှ website reload လုပ်ရင် အလွယ်တကူ အလုပ်လုပ်မှာကိုး။ JavaScript ရဲ့ initial usage ကတော့ ဒါပဲ။
အခု JavaScript လို့ခေါ်နေတဲ့ကောင်ကို အစက ဘယ်လိုခေါ်လဲ ဆိုတော့ LiveScript လို့ခေါ်သတဲ့ဗျာ။ Java ဆိုတဲ့ language တအား popular ဖြစ်နေတဲ့ အချိန် release လုပ်ပေးလိုက်တာဆိုတော့ Java နဲ့ မှားမှာစိုးလို့ပေါ့။ နောက်ပိုင်း ECMAScript လို့ခေါ်တဲ့ ကိုယ်ပိုင် specification တွေ ပိုစုံလာတဲ့ အခါ Java နဲ့ သတ်သတ်စီ ဖြစ်သွားတော့ JavaScript ဆိုပြီး နာမည် တွင်လာတာပေါ့။
JavaScript စထုတ်တုန်းက တော့ browser မှာ လွယ်လွယ်ကူကူ function တွေ ရေးပြီး မြန်မြန်ဆန်ဆန် သုံးနိုင်အောင်လို့ ထုတ်လိုက်တာပဲ။ နောက်ပိုင်း browser တွေမှာတင်မကပဲ server အနေနဲ့ သုံးလာတဲ့အခါကျတော့ JavaScript code တွေကို machine code အဖြစ်ပြောင်းဖို့ engine တွေလိုလာကော။ ဆိုတော့
- Chrome, Opera နဲ့ Edge တွေမှာ V8 engine
- Firefox မှာတော့ SpiderMonkey
- Safari ကျတော့ JavaScriptCore ဆိုပြီး JavaScript engine တွေကို သုံးလာကြတယ်။
ဒီလို engine တွေကနေ တစ်ဆင့် JavaScript Code တွေကို machine code အဖြစ်ပြောင်းတယ်။ ပြီးရင် execute လုပ်ပြီး program ကို run တယ်။ အဲ့တော့ ပိုမြန်လာတာပေါ့။
JavaScript အသုံးများလာတဲ့ အကြောင်း အရင်းတွေထဲက တစ်ချက်က ဘာလဲ ဆိုတော့ သူက program တွေ run တဲ့အခါ low level တွေဖြစ်တဲ့ memory တွေ CPU တွေထိ မဆင်းဘူး။ အရင်က browser ပေါ်မှာ run တယ်။ အခုကျတော့ Node လို့ခေါ်တဲ့ environment ပေါ်မှာ packages တွေနဲ့ အလုပ်လုပ်တယ်။ အဲ့တော့ အရင်ကလို programming လုပ်ဖို့ Fighter computer တွေ မလိုတော့ဘူး။ ပေါ့ပေါ့ပါးပါး သုံးနေကျ code editor လေးတွေ သုံးလို့ရတာနဲ့ ခင်ဗျား programmer ဖြစ်လို့ရပြီပဲ။ Node လိုမျိုး environment တွေသုံးလို့ရတာနဲ့ file read/write က စလို့ network request တွေထိ အလုပ်လုပ်လို့ရနေပြီ။
အဲလို access တွေက browser ပေါ်ကနေသွားနေတာ ဖြစ်လို့ limited တော့ဖြစ်တယ်။ ဘယ်လိုမျိုးလဲ ဆိုတော့ hard disk ပေါ်က data တွေ file တွေကို တိုက်ရိုက် read, write လုပ်လို့မရဘူးရယ်။ Browser မှာဆို input လိုမျိုး form data လက်ခံတဲ့ tag တွေကို သုံးပြီး read, write တစ်ဆင့်ခံ လုပ်ရတယ်။ နောက်တစ်ခုက ဘာလဲဆိုတော့ JavaScript က server ကို net ကနေ တစ်ဆင့် access လုပ်လို့ရတယ်။ အဲ့လိုဆိုပေမယ့် ဟိုဟိုသည်သည် တွေကရာကနေ access လုပ်လို့ရတာတော့မဟုတ်ဘူး။ သူနဲ့ သက်ဆိုင်တဲ့ function တွေရေးထားတဲ့ website, sever တွေကနေ တစ်ဆင် သေချာတဲ့ route တစ်ခုကနေပဲ access ရတာဖြစ်တယ်။
အဲ့တာတွေအပြင် JavaScript ကို unique ဖြစ်စေတဲ့ အချက်သုံးချက်ရှိတယ်။
- HTML, CSS နဲ့ အတူ full integrate လုပ်လို့ရမယ်
- simple ရေးလို့ရတာကို ခက်ခက်ခဲခဲ ရေးစရာမလိုဘူး
- Major browser တွေ အကုန်မှာ အသုံးပြုလို့ရတာ ဆိုတဲ့ အချက်တွေ ဖြစ်တယ်။

JavaScript ရေးရလွယ်တယ် မြန်တယ် ဆိုတိုင်း လူတိုင်းနဲ့ အဆင်ပြေတာမဟုတ်ဘူးရယ်။ ကိုယ်စိတ်ဝင်စားတဲ့ နယ်ပယ်မတူရင် လေ့လာရတဲ့ programming language တွေ တူတာမဟုတ်ဘူး။ ဥပမာ desktop app, mobile app တွေနဲ့ iOS app တွေကို အခုနောက်ပိုင်း JS framework တွေ သုံးပြီး cross platform နဲ့ ရေးလို့ရနေပြီဆိုပေမယ့် သူ့ရဲ့ native support ပေးတဲ့ Java, Kotlin, Swift နဲ့ C # တို့လိုမျိုး language တွေလောက် performance ဘယ်ယှဉ်နိုင်ပါ့မလဲ။ အဲ့တော့ ကိုယ်လေ့လာမယ့် field အလိုက် လေ့လာရမယ့် language တွေကွဲသွားတာပေါ့။

နောက်ဆုံးတစ်ခုပြောဖို့ ကျန်သွားတာက ဘာလဲဆိုတော့ developer console ဆိုပြီး browser တွေမှာ live JavaScript functions တွေရေးလို့ရအောင် support ပေးထားတဲ့ console ပဲ။ အဲ့တာက တချို့ error တွေဘာတွေ က JavaScript နဲ့ရေးမယ်ဆို developer console မှာပဲ လာကြည့်ပြီးရှင်းရတာပေါ့။ Browser base Script language အနေနဲ့ ထုတ်ပေးထားတာဆိုတော့ အဓိက features တွေ development process တွေက browser ကနေသွားရမှာပဲ။ အဲ့တော့ developer console ကို JavaScript developer တွေ အကျွမ်းတဝင်ဖြစ်နေဖို့လိုတယ်။

စာဖတ်သူတွေက စာတအားရှည်ရင် လှည်တောင် မကြည့်တာ သိတဲ့အတွက် တစ်ပိုင်းတစ်ပိုင်းမှာ ခပ်တိုတိုစီပဲတင်မယ်။ အဲ့တော့ သိချင်တတ်ချင် လေ့လာချင်တဲ့သူတွေ like & follow လုပ်ထားကြဦး။ Info တွေ မစုံဘူးထင်တဲ့ ဆရာသမားတွေလည်း comment session မှာ သိသမျှ knowledge တွေ လာ share ပေးလို့ရတယ်။ ကဲ part-1 ကတော့ တော်ပြီ။ part-2 ကနေစပြီး code အပိုင်းစပြောပြမယ်။

10/11/2023

💥💥💥
ကြားထဲမှာ မအားတာနဲ့ content မတင်ဖြစ်တာ တော်တော်ကြာပြီ
အခု beginner တွေအတွက် ရည်ရွယ် ပြီး JavaScript basic to advance ကို series လိုက် တစ်ပိုင်းစီ တင်ပေးဖို့ စဉ်းစား ထားတယ် အခုမှ စလေ့လာဖို့ စဉ်းစား ထားတဲ့သူတွေ see fast လုပ်ထားပေါ့။ တခြားလေ့လာချင်တဲ့ နယ်ပယ်ရှိရင်လည်း comment session မှာပြောပေးထားနော် အချိန်ရရင်ရသလို တစ်ခုပြီးတစ်ခု တင်ပေးမယ်။😉

24/03/2023

💥💥Trends of AI in 2023💥💥

အခုတလော နည်းပညာနဲ့ ပတ်သတ်ပြီး လူတိုင်းနီးပါး မေးနေကြတဲ့ မေးခွန်း တစ်ခုကြားနေရတယ်။ "AI က လူသားတွေကို လွှမ်းမိုးသွားမှာလား" တဲ့။ အဲ့လိုမေးမယ်ဆိုလည်း မေးလို့ရကောင်းပါရဲ့ ။ AI နည်းပညာ က ဒီနှစ်ပ်ုင်းတွင်းမှာတင် နေရာတော်တော်များများမှာ စသုံးလာကြတာကိုး။ AI (artificial intelligence) တနည်းပြောမယ်ဆို ဉာဏ်ရည်တု နည်းပညာပေါ့ ဗျာ အဲ့တာက လူသားတွေ ကို လွှမ်းမိုးမှာလား ဆိုတဲ့ မေးခွန်းကို ဖြေရမယ်ဆိုရင် ကျွန်တော် ကတော့ "no" လို့ပဲ ပြောချင်တယ်။ ပြောရတာလည်း အကြောင်းရှိတယ်ဗျ။ ဒီ ဆယ်စုနှစ် သို့မဟုတ် ရာစုနှစ် တစ်ခု အတွင်းမှာ မဖြစ်နိုင်သေးဘူး လို့ ပြောချင်တာ။ အကယ်၍ ဖြစ်လာခဲ့မယ်ဆိုရင်တောင် လူသားတွေကို ကျော်တက်ဖို့ လူသားတွေရဲ့ စွမ်းဆောင်ရေ ကို ကျော်တက်ဖို့ ဆိုတာက တအားစိတ်ကူးယဉ် ဆန်သွားပြီ။ ကဲ ဒါဆို အခု main topic ကို ပြန်သွားမယ်။ နည်းပညာ အသိုင်းအဝိုင်း မှာ ဒီနှစ် 2023 ကို "Year of AI" ဆိုပြီး ခေါ်နေကြတာကြားရတယ်။ ဆိုတော့ ဒီနှစ်စထဲ က AI က ဘယ်လို အပြောင်းအလဲ တွေ ဖြစ်လာလဲ ဆိုတာ တစ်ချက်စီ ပြောပြပေးသွားမယ်။

1. Generative AI

ဒါကတော့ တော်တော်များများ ကြားဖူးကြလိမ့်မယ်။ user ကနေ ကိုယ်လိုချင်တဲ့ instruction တစ်ခုခု ကို ပြောပေးလိုက်တာနဲ့ AI ကနေ ပြီးတော့ အဲ့တာနဲ့ ပတ်သတ်တဲ့ solution ဖြစ်ဖြစ် content ဖြစ်ဖြစ် ပြန်ပြီးတော့ generate လုပ်ပေးတာပေါ့။ ပြောမယ်ဆို Open-AI ကနေ develop လုပ်ထားတဲ့ GPT-3 လိုမျိုးပေါ့ အခုဆို version 4 တောင် ထွက်နေပြီ။ ပိုစုံလင်တဲ့ features တွေနဲ့ပေါ့။ ဉာဏ်ရည်တု ဆိုတဲ့ အတိုင်း ဒီ technology က creativity ဘက်ကို ပိုပြီး အလေးပေးထားတယ်။ ဘယ်လောက်ထိလဲဆိုရင် English essay တစ်ပုဒ် ရေးမယ်ဆိုပါတော့ဗျာ။ ကိုယ်ရေးမယ့် essay နဲ့ ပတ်သတ်ပြီး instruction ကိုသာ မှန်အောင် ရေးထည့်ပေး သူ့ဘက်ကနေ professional writer တစ်ယောက် ရေးပေးသလားလို့ တောင် ထင်ရလောက်တဲ့ အထိ အဆင့်အတန်း မြင့်မြင့် ရေးပေးလာနိုင်နေပြီ။

2. Democratization of AI

လူတွေ တောင် လွတ်လပ်မှုကို ကြိုက်သေးတာပဲ ဗျာ။ AI ဆိုတာလဲ လူတွေထွင်ထားတဲ့ဟာပဲ။ Tech တစ်မျိုး အတွက် တစ်ခြားတစ်ခုကို centralized လုပ်နေရတာကို လျှော့ချလာတာပေါ့။ ဒါလဲ AI က သူ့ဟာသူ လုပ်နေတာလားဆိုတော့ ဘယ်ဟုတ်မလဲ လူသားတွေပဲ ဖန်တီးနေတာပေါ့။ အခုဆို code မရေးရပဲ drag & drop လုပ်ရုံနဲ့တင် တချို့. Organizational system တွေကို create လုပ်နေနိုင်ပြီ။ ပြောမယ်ဆို no-code & low-code ပေါ့ဗျာ။ ကျွန်တော် တို့ မြန်မာနိုင်ငံ မှာလဲ တချို့ organization အကြီးတွေမှာ ဒီလို system တွေ စသုံးနေပြီ။ (** 😜crack version တော့မရဘူးနော်။ dollar နဲ့ ဝယ်သုံးရမှာ dollar နဲ့** 😜)

3. Human & AI collaboration

လူတွေ ထွင်ထားတာဆိုမှတော့ လူတွေနဲ့ပဲ collaborate လုပ်ရမှာပေါ့။ ပြောမယ်သာပြောရတာ IT လောကထဲကို စဝင်လာတဲ့ သူတွေ။ Tech အပိုင်းကို စ လုပ်တဲ့ သူတွေ အတွက်ကတော့ ဒီ အပိုင်းနဲ့ ပတ်သတ်ပြီး AI ကို တော်တော် အထင်ကြီးကြမှာပဲ။ တစ်ချို့ system သေးသေးလေး တွေ အတွက် code generate လုပ်ပေးတာမျိုး။ automated testing, bug fixing နဲ့ တခြား program debugging အပိုင်းတွေကို သေးသေးမွှားမွှားလေးတွေကို ဒီနှစ်ပိုင်းတွေကနေ စပြီး Smart AI tools တွေ နဲ့ စမ်းသုံးလာနေကြတာပေါ့။ ဆယ်စုနှစ်တစ်ခု ကြာသွားရင် သဘောက 2030 လောက်ရောက်ရင်တော့ ဒီ AI tools တွေရဲ့ performance က 80% လောက်ထိ ထိုးတက်လာမယ်လို့ ခန့်မှန်းထားကြတယ်။ အဲ့လို တိုးတက်လာရင်တော့ လူသားတွေရဲ့ productivity rate ကတော့ တော်တော်ကြီးကို ထိုးတက်လာမှာ အမှန်ပါပဲ။

4. Growth of Conversional AI

2023 မှာ AI chat bot တွေ တော်တော် လေးများလာတယ်လို့ပြောလို့ရတယ်။ Apple ရဲ့ AI assistant ဖြစ်တဲ့ Siri နဲ့ Microsoft ရဲ့ Cortana assistant တွေကတော့ တော်တော် တိုးတက်လာပြီလို့ ပြောလို့ရတယ်။ smart home system တွေကိုပါ အဲ့လို assistant တွေကနေပြီးတော့ control လုပ်နိုင်နေတာဆိုတော့ တော်တော်လေးမိုက်လာပြီလို့ပြောရမယ်။ ဒါပေမယ့် လေ့လာချက်တွေ အရ အဲ့လောက်ပြောင်းလဲ လာတာတွေက tech ရဲ့ trend ကို သိသိသာသာ ပြောင်းလဲ နိုင်လောက်တဲ့အထိ မပြည့်စုံသေးဘူးလို့ပြောထားတယ် ဆိုတော့ ဒါကလည်း ဆယ်စုနှစ် နှစ်ခုသုံးခုနေမှ AI chatbot တွေ AI assistant တွေရဲ သိသာတဲ့ပြောင်းလဲ မှုတွေကို တွေ့ရမယ့် အနေအထားမှာရှိနေတယ်။

5. AI focused on cybersecurity

Technology ရဲ့ trend တွေပြောင်းလဲလာတာနဲ့ အတူ security ပိုင်းကိုလဲ ပို သတိထားလာကြတယ်။ ထွင်သာထွင်ပြီး မကာကွယ်ရင် ဘယ်လောက်ကြီးတဲ့ organization ဖြစ်ဖြစ် ဂိမှာပဲ။ အဲ့တော့ AI နည်းပညာ တိုးတက်လာနေတာဆိုတော့ 2021 ကနေ စပြီးတော့ cybersecurity အပိုင်းမှာ ပိုပြီး upgraded ဖြစ်လာတယ်လို့ လေ့လာချက်တွေအရ သိရတယ်။ နေရာတကာမှာ AI ကိုသုံးပြီး system တွေနဲ့ အစားထိုးဖို့ပြင်နေတာဆိုတော့ cybersecurity အပိုင်းနဲ့ ပတ်သတ်ပြီးနောက်ပိုင်း ကြီးကြီးမားမား တိုးတက်ပြောင်းလဲလာမှာတော့ အမှန်ပဲ။

6. Emphasis on ethical AI

AI ဆိုတာက လူသားတွေပေးတဲ့ data တွေ information တွေကို လေ့လာပြီး ထပ်ဆင့် implement လုပ်ရတဲ့ system ဆိုတာ အားလုံးသိပြီးသားဖြစ်မယ်။ ဆိုတော့ အဲ့လို system ထဲကို data အမှန်တွေ ထည့်ပေးမှ work out လုပ်တဲ့ အခါ ဒါမှ မဟုတ် implement လုပ်တဲ့ အခါမှာ သေချာတဲ့ result တွေထွက်လာမှာဖြစ်တယ်။ ဆိုတော့ ပြဿနာက ဘယ်မှာလဲဆိုတော့ user တွေ ရဲ့ personal info တွေ insurance information တွေ health-care information တွေ ပေးထားရတဲ့ အခါ system မှာ error တစ်ခုခု တက်ရင် ပေးထားသမျှ info တွေ အကုန် leak ဖြစ်တော့တာပဲ။ ပြဿနာက အဲ့တာ။ အဲ့တော့ အခုနောက်ပိုင်း tech tools တွေ အကုန်လုံးနီးပါ ဘယ် organization ကပဲ ထုတ်ထုတ် ethic ရှိဖို့ကို ပို အလေးပေးလာတယ်။ ဘာဖြစ်လို့လဲ ဆိုတော့ customers data တွေ ပေါက်တယ်ဆိုရင် အဲ့လို software မျိုးဘယ်သူသုံးပါတော့မလဲ။ နောက်ပိုင်း AI ရဲ့ demand ကတအားမြင့်လာတဲ့ အပေါ်မှာ organization တိုင်း ဒီဘက်မှာ ပို အလေးပေးလာမှာတော့ အမှန်ပဲ။

7. Quantum computing + AI

ဒါကတော့ နောက်ပိုင်းမှာ တော်တော် ခတ်စားပြီး အသုံးဝင်လာမယ် နည်းပညာ ပဲ။ Quantum technology လို့ခေါ်တယ်။ World first computer ကိုတော့ အားလုံး မြင်ဖူးမယ်ထင်တယ်။ အဲ့လို ပဲ quantum computing ရဲ့ stage ကလည်း အဲ့လို့ အခြေအနေ မှာပဲ ရှိသေးတယ်။ ဒါပေမယ့် သူ့ရဲ့ design ကသာ week နေတာ calculation အပိုင်းမှာကတော့ ကမ္ဘာ ပေါ်မှာ အခု အချိန် အထိ ထွက်ခဲ့ သမျှ computer ထဲ မှာ အမြန်ဆုံးလို့ ပြောလို့ရတယ်။ အခုထိ testing stage မှာပဲရှိသေးတာဆိုတော့ Europe နိုင်ငံ တချို့ ရဲ့ lab တွေမှာ testing အနေနဲ့ သုံးနေတုန်းရှိသေးတယ်။ ဒါဘာလို့ပြောရလဲ ဆိုတော့ AI develop တအားဖြစ်လာတာနဲ့ milliseconds အတွင်း microseconds အတွင်းတွက်ရတာတွေဆို အခုထွက်ထားတဲ့ chip တွေ computer တွေနဲ့ ဘယ်လိုမှ မဖြစ်နိုင်လို့ပဲ။ အဲ့တော့ နောက်ပိုင်းနှစ်တွေမှာ quantum နည်းပညာကို AI နဲ့တွဲ ပြီး develop ဖြစ်လာတာ တွေ့လာရမှာပေါ့။

AI ဒီလောက် develop ဖြစ်လာတာ ဘာဖြစ်လို့ စိုးရိမ်စရာမလိုဘူးလို့ပြောတာလဲလို့မေးစရာရှိလာပြီ။ ဆိုတော့ coding နဲ့ပဲ ဥပမာ ပေးမယ်ဗျာ။ Chat GPT လိုမျိုး AI chatbot တွေက code တွေ တစ်စိတ်တစ်ပိုင်းတောင် ရေးပေးနိုင်လာနေပြီ။ ဒါပေမယ့် programming ရဲ့ basic concept တွေဖြစ်တဲ့ OO programming, data structure, algorithm စသဖြင့် အခြေပိုင်တဲ့ သူတွေအတွက်ကတော့ အေးဆေး ပါပဲ။ ဘာဖြစ်လို့လဲ ဆိုတော့ အဲ့လို smart ဖြစ်တဲ့ system တွေကို ရေးနိုင်တာ ရေးတတ်တာ control လုပ်နိုင်တာ basic concept တွေ ပိုင်နိုင်ပြီး သက်ဆိုင်ရာ technical industry တွေ မှာ အရည်အချင်း တကယ်ရှိတယ်ဆိုတဲ့ သူတွေပဲ။ ဆိုတော့ AI ဘယ်လိုပုံစံနဲ့ပဲ develop ဖြစ်ဖြစ် AI ဆိုတာလဲ လူတွေ ဖန်တီးထားတဲ့ဟာပဲ။ အဲ့လို smart system တွေကို control လုပ်ဖို့ professional တွေလိုလာမှာပဲ။

အဲ့တော့ ပြောချင်တာက ဘာလဲဆိုတော့ AI ဘယ်လောက်ပဲ develop ဖြစ်ဖြစ် အရည်အချင်း ရှိတဲ့သူအတွက်ကတော့ အလုပ်မရှားဘူး။ အဲ့တော့ သက်ဆိုင်ရာ နယ်ပယ်မှာသာ ထူးချွန် အောင်လုပ်ထားရင် အလုပ်အကိုင် ကတော့ ရှိနေမှာပဲ။ အဲ့တော့ မဆိုင်တာတွေ တော့ စိတ်မပူသင့်ဘူးပေါ့။ ကိုယ်လုပ်ရမှာကိုသာမှန်မှန်လေးလုပ်သွားရင် အောင်မြင်မှုက သူ့အလိုလို ပါလာမှာပဲ။

ကဲ ဒီနေ့တော့တော်ပြီ။ AI နဲ့ပတ်သတ်ပြီး ထပ်ပြီး ဆွေးနွေးချင်တာရှိရင် comment session မှာ လွတ်လွတ်လပ်လပ် ဆွေးနွေးလို့ရပါတယ်။

Photos from TT Tech's post 19/09/2022

💥💥SQL Vs NoSQL💥💥

Programming နယ်ပယ် မှာ DBMS (Database Management System) ဆိုတဲ့ management system လေး တစ်ခုရှိတယ်။ အဲ့ system လေးဟာ fullstack developer career ကို လျှောက်လှမ်းတော့မယ်ဆို မသိမဖြစ် အရေးပါတဲ့ အပိုင်းတစ်ပိုင်း ဖြစ်လာတာပေါ့။ ကဲ ဘာလို့ အဲ့လောက်အရေးကြီးတာလဲဆိုတော့ ကျွန်တော် တို့ တန်ဖိုးရှိတဲ့ ရွှေထည် ပစ္စည်း တွေ ငွေကြေး တွေကို မပျောက်ပျက်အောင် မပျက်စီးအောင် သေချာ သေတ္တာ ကောင်းကောင်းလေးထဲမှာ ထည့်သိမ်းတယ် မလား။ အဲ့လိုပဲ mobile application တစ်ခု web application တစ်ခု မှာလဲ user data တွေ application ကနေ user က access လုပ်နိုင်တဲ့ data တွေ ကို store လုပ်ပေးတဲ့ system ကို DBMS တစ်နည်းအားဖြင့် Database Management System လို့ခေါ်တာပေါ့။ ကဲ DBMS ဆိုတာ ဘာလဲ သိပြီဆိုတော့ အဲ့ဒိ system ထဲမှာ အမျိုးအစား ဘယ်နမျိုးရှိလဲ။ အဲ့တာ တွေက ဘာတွေလဲ။ ဘယ်ဟာ က ဘယ်လိုအလုပ်လုပ်လဲဆိုတာ ဆက်ကြည့်ရအောင်။

DBMS မှာ Relational Database နဲ့ Non-relational Database ဆိုပြီး နှစ်မျိုးရှိတယ်။

ကဲ အဲ့တာ နှစ်ခုဘာကွာလို့လဲ။
ဘာကွာလဲမေးရင် relational database က table structure နဲ့ data တွေကို table တစ်ခုနဲ့တစ်ခု relation ချိတ်ပြီး သိမ်းတယ်။ non-relational database ကကျတော့ tree structure ကို သုံးပြီး တော့ data တွေကို document တစ်ခုစီ အနေနဲ့ သိမ်းတယ် လို့ အကြမ်းဖျင်း နားလည်လို့ရတယ်။

ကဲ အသေးစိတ် ကြည့်ကြည့်ရအောင်။ ဒီအပိုင်းမှာတော့ ဘာတွေ အဓိကကွာလဲဆိုတာ ခေါင်းစဉ်လေးတွေခွဲပြီးပြောမယ်။

1. Type

အပေါ်မှာ ပြောခဲ့သလိုပဲ ဒီနှစ်ခုရဲ့ အဓိက ကွာခြားချက်က တစ်ခုမှာ relation ချိတ်ပြီး data သိမ်းတာ နဲ့ နောက်တစ်ခုက tree structure လိုမျိုး parent-child ပုံစံနဲ့သိမ်းတာပဲ။ ဆိုတော့ relational database management system တနည်းအားဖြင့် RDBMS နဲ့ အလုပ်လုပ်တဲ့ ဟာတွေက MySQL, PostgreSQL, Oracle, MS-SQL Server စသဖြင့် DB management system တွေပါပြီးတော့ non-relational or distributed database system မှာတော့ MongoDB, GraphQL, HBase, Neo4j, Cassandra တို့လိုမျိုး management tools တွေ ကို တွေ့ရတယ်။

2. Language

Language အပိုင်းမှာတော့ နည်းနည်း စိတ်ဝင်စားဖို့ကောင်းလာပြီ။ SQL လိုမျိုး relational database တွေမှာ table တွေတစ်ခုနဲ့ တစ်ခု relation ချိတ်ပြီး သိမ်းတာဆိုတော့ တစ်ဖက်က ကြည့်ရင် powerful ဖြစ်တဲ့ system လို့ပြောလို့ရတယ်။ ဒါပေမယ့် အဲ့လို system ကိုတော့ maintain လုပ်ရနည်းနည်း ခက်တဲ့ system လို့ ကျွန်တော် ပြောချင်တယ်။ ဘာလို့လဲဆိုတော့ develop လုပ်တဲ့ system ကြီးလေလေ table တွေရဲ့ relation တွေက အနည်းနဲ့ အများတော့ ရှုပ်လာမှာပဲ။ အဲ့လို အခြေအနေ မျိုးမှာ table တစ်ခုကို ပြင်ရင် နောက် table တစ်ခုရဲ့ data အပါအဝင် system တစ်ခုလုံးရဲ့ data storage အပိုင်း ကို အနည်းနဲ့ အများထိ ခိုက် လာနိုင်တယ်။ နောက်တစ်ခုက table တွေ အချင်းချင်း relation နဲ့ တည်ဆောက်ရမှာဆိုတော့ system ကို develop မလုပ်ခင်ထဲက DB structure ကို သေချာ frame ချပြီးမှ လုပ်ရလေ့ရှိတယ်။
NoSQL database တွေကတော့ dynamic schema တွေ ဖြစ်ပြီး data တွေ ကို ပုံသဏ္ဍာန် အမျိုးမျိုးနဲ့ store လုပ်လေ့ရှိတယ်။ ဥပမာ ပြောရမယ်ဆို document-oriented, column-oriented, graph-based အပြင် KeyValue နဲ့လည်း data တွေကို store လုပ်လေ့ရှိတယ်။ ဆိုတော့ NoSQL database တွေ သုံးမယ် ဆို relational database တွေ ထက် ပို ပြီး သုံးရတာ flexible ဖြစ်တယ်လို့ပြောလို့ရတယ်။ Table တွေနဲ့ data တွေ ကို အစုလိုက် အပုံလိုက် store လုပ်တာမဟုတ်ပဲ tree structure သုံးပြီး data တွေကို parent to child ပုံစံ store လုပ်တာဆိုတော့ data တွေ update လုပ်တဲ့ အခါ retrieve လုပ်တဲ့ အခါမှာပါ SQL နဲ့ ယှဉ်ရင် အချိန်ရော maintain လုပ်ရတဲ့ အပိုင်းကော ပို အဆင်ပြေတာ တွေ့ရတာပေါ့။

3. Scalability

ဒီအပိုင်းမှာ SQL database တွေ တစ်နည်းအားဖြင့် relational database တွေမှာ data တွေ ကို table တစ်ခုစီမှာ တစ်ခုနဲ့တစ်ခု relation ချိတ်ပြီး row by row ပုံစံ store လုပ်တယ်။ အလွယ်ပြောမယ်ဆို vertical scalability ကို သုံးတာတွေ့ရတယ်။ အဲ့တော့ relational database ကို သုံးမယ်ဆိုရင် ကိုယ်သုံးတဲ့ server ရဲ့ performance တော့ ကောင်းဖို့လိုလိမ့်မယ်။ CPU, RAM, Hard drive(SSD) စသဖြင့်ပေါ့။ ကိုယ်သုံးတဲ့ server performance ကောင်းလေလေ data အသွင်းအထုတ်မြန်လေလေပဲ။
NoSQL database မှာကျတော့ အပင်တွေ မှာ အကိုင်းအခက် ဖျာထွက်သလိုပဲ data တွေကို key value တွဲ ပြီး horizontally store လုပ်တယ်။ အဲ့တော့ ကိုယ် ရှာရမယ့် update လုပ်ရမယ့် data ရဲ့ key သိတယ် ဆိုရင် သူ့ရဲ့ value ကို အလွယ်လေး ပြင်လို့ ဖျက်လို့ ရှာလို့ လွယ်နေတာပေါ့။

4. Structure
အပေါ်မှာ ပြောခဲ့သလိုပဲ SQL database တွေက table တွေကို row အလိုက် column အလိုက် relation တွေနဲ့ ချိတ်ဆက်ပြီး အသုံးပြုရတယ်ဆိုပေမယ့် NoSQL မှာတော့ data တွေကို access လုပ်ရမြန်အောင် tree structure မှာ key နဲ့ value တွဲပြီး documents လေးတွေ အနေနဲ့ သိမ်းတာပေါ့။ ဒါပေမယ့် data table တွေ တစ်ခုနဲ့တစ်ခု relation ချိတ်ပြီးရေးရမယ့် system တွေ အတွက်ဆိုရင်တော့ SQL database ကတော့ အဓိက ထားပြီး ရွေးချယ်ရမယ့် database system ဖြစ်လာတာပေါ့။

5. Property followed

SQL database ကတော့ ACID (Atomicity, Consistency, Isolation and Durability) လို့ခေါ်တဲ့ properties တွေကို follow လုပ်ပြီးတော့ NoSQL database ကတော့ CAP (Consistency, Availability and Partition tolerance ဆိုတဲ့ property တွေကို follow လုပ်ပါတယ်။

**(property တွေအကြောင်း အသေးစိတ် ကိုတော့စာရှည်သွားမှာမို့ ဒီအပိုင်းမှာ မရေးတော့ပါဘူး နောက်ပိုင်းမှာအခွင့်ကြုံရင် property တစ်ခုချင်းစီး အလိုက် post တစ်ခု တင်ပြီးပြောပြပေးသွားပါမယ်)

6. Support

DB system နှစ်ခုမှာ SQL database system ကတော့ အသုံးပြုတာ NoSQL ထက် ကြာလာပြီးဖြစ်တော့ technical support နဲ့ system community ကတော့ တော်တော် ကျယ်ပြန့်ပါတယ်။ NoSQL community ကလည်း မကျယ်ပြန့်ဘူးလား ဆိုတော့ သူ့ အတွက် community support တွေ technical support တွေလည်း အခုနောက်ပိုင်း တော်တော် များလာပါပြီး။ NoSQL ရဲ့ flexible ဖြစ်မှု အပေါ်မှာ Facebook လို company ကြီးတွေကပါ သမရိုးကျ SQL DB system ကနေ ခွဲထွက်ပြီး non-relational database တွေကို ကျယ်ကျယ်ပြန့်ပြန့် သုံးလာနေပါပြီး။ တချို့. NoSQL database system တွေက under development stage မှာပဲ ရှိသေးတယ် ဆိုပေမယ့် လူသုံးများတဲ့ MongoDB လို NoSQL database system တွေကတော့ ပြောင်းလဲလာတဲ့ IT နယ်ပယ်မှာ ကျယ်ကျယ်ပြန့်ပြန့် နေရာယူလာတာကို တွေ့ရမှာပါ။

ကဲ စာလည်း တအားရှည်သွားပြီး ဒီမှာပဲနားတော့မယ်။
နောက်တစ်ခါမှာ နောက် ခေါင်းစဉ်တစ်ခုနဲ့ ပြန်လာခဲ့မယ်နော်။ 🤗🤗

**Technology နဲ့ ပတ်သက်တဲ့ knowledge တွေကို share လုပ်ပေးမှာ ဖြစ်လို့ page လေးကို like and follow လုပ်ထားကြဦးနော်**🤗🤗

Photos from TT Tech's post 01/08/2022

Mac OS 13 (or) Mac OS Ventura

တိုးတက် ပြောင်းလဲလာတဲ့ IT community ကြီးမှာ လူတိုင်းအတွက် computer ဆိုတာ နေ့စဉ် သုံး မရှိမဖြစ် ပစ္စည်း တစ်ခု ဖြစ်လာတာ တွေ့ရတယ်။ ဆိုတော့ အဲ့လို မရှိမဖြစ် လိုအပ်နေတဲ့ computer တွေကို အဆင်ပြေပြေ သုံးဖို့ အတွက် Operating System တွေ ကို IT company ကြီး တွေ က သူ့ထက် ငါပိုကောင်းတဲ့ features တွေ ပိုသာတဲ့ performance တွေနဲ့ ထုတ်လာတာ အားလုံးလဲ သတိထားမိမှာပါ။ ဒီနေ့ article မှာတော့ Apple ကနေ ပြီးခဲ့တဲ့ WWDC မှာ သူ့ M2 chip နဲ့အတူမိတ်ဆက်ခဲ့တဲ့ Mac OS 13 အကြောင်းတစေ့တစောင်းပြောပြချင်တယ်။

1. Mac OS 13 နာမည် က ဘာလဲ ဘာလို့ အဲ့လိုပေးရတာလဲ။
Apple ကနေ့ ဒီတစ်ခါထွက်လာတဲ့ OS ကိုတော့ အရင် version တွေနဲ့ မတူပဲ အမေရိကန် ပြည်ထောင်စု က ကယ်လီဖိုးနီးယား ပြည်နယ်က ကမ်းခြေ မြို့လေး တစ်မြို့ရဲ့ နာမည် ကို ပေးထားတယ်။ Ventura တဲ့။ သူတို့ OS ကို သုံးတဲ့သူတိုင်း ကမ်းခြေမှာ အပန်းဖြေရသလို အဆင်ပြေစေချင်တဲ့ သဘောလဲ ပါမှာပေါ့ဗျာ။ နောက်တစ်ချက်က IT company တွေကနေ သူတို့ရဲ့ product တွေကို အဲ့လို မြို့ နာမည်တွေ အထင်ကရ နေရာတွေရဲ့ နာမည် တွေ မပေးတာ နှစ်တော်တော်ကြာပြီလို့တော့ article တစ်ခုမှာဖတ်လိုက်ရတယ်။ (အရင် က ဘယ်ဟာတွေကို ပေးခဲ့လို့လဲတော့ လာမမေးနဲ့နော် မင်မင်လဲ မသိဘူး😝😝😝)

2. Feature အသစ်တွေက ဘာတွေတုန်း။
အဓိက main features တွေကတော့
1. Stage Manager
2. Continuity features
3. New weather app, clock app and redesigned system setting

ဆိုတဲ့ main features သုံးခုကို မိတ်ဆက်သွားခဲ့တယ်။

ကဲ stage manager က ဘာလဲ။ ဘာကောင်းကွက်ရှိလဲ။ ဆိုတော့ ကောင်းကွက်တွေ အများကြီး ရှိတယ်လို့ပြောရမယ်။ ဘာလို့လဲ ဆိုတော့ အဲ့ဒီ feature က window တစ်ခုထဲ မှာ application အများကြီး ဖွင့်ပြီး အလုပ်လုပ်ချင်တဲ့ သူတွေအတွက် အဆင်ပြေအောင်လုပ်ပေးလိုက်တာပဲ။ သဘောက programmer တစ်ယောက်အတွက်ဆို window တစ်ခုထဲ မှာပဲ coding ရေးမယ့် app လဲ ဖွင့်ထားမယ် ပြီးတော့ browsing လဲ လုပ်မယ် ပြီး တော့ ကိုယ်လုပ်နေတဲ့ task နဲ့ဆိုင်တဲ့ app သုံးလေးခုကို window တစ်ခုထဲ မှာ တစ်စုထဲ စုပြီး သုံးလို့ရအောင်လုပ်ပေးလိုက်တဲ့ဟာလို့ပြောလို့ရတယ်။ အကယ်၍ အဲ့တာတွေ မလုပ်တော့ဘူး တခြား typing ဘာညာ ရေးမယ်ဆိုရင် နောက် window တစ်ခု ဖွင့်စရာမလိုတော့ဘူး။ stage manager ကိုသုံးပြီး တစ်စု စုပြီး ရွှေ့ထားလို့ရတာပေါ့။ ကျန်တဲ့ အလုပ်ကို အဲ့ ရှိပြီးသား window မှာပဲ ဖွင့်ပြီး ဆက်လုပ်လို့ရပြီပေါ့။ window အသစ် တွေ သိပ်မဖွင့်ရတော့ စက်ရဲ့ performance လဲ မကျဘူးပေါ့။

နောက်တစ်ခုက ကျတော့ continuity feature။

အဲ့ဒါကတော့ နည်းနည်း မိုက်တယ်။ အဲ့ဒီ feature မှာ iPhone ကို web cam အဖြစ်သုံးလာနိုင်တာ တော်တော် မိုက်တယ်။ iPhone ရဲ့ camera က Mac ရဲ့ web cam တွေထက် အသာကြီး သာတယ်ဆိုတာ ငြင်းချက်မရှိဘူး။ ပြီးတော့ FaceTime ပြောတဲ့ အခါမှာ လဲ Apple ကနေ မိတ်ဆက်ထားတဲ့ center stage ဘာညာ အကုန် သုံးနိုင်မှာဆိုတော့ video call ကတော့ ရှယ်ပြော ရှယ်ကြည် ရှယ်မိုက် ဗျိုး။
နောက်တစ်ခုက FaceTime ပြောတဲ့ အခါမှာ handover လုပ်နိုင်တဲ့ tech တစ်ခုထပ်ထည့်ပေးထာတယ်။ အဲ့တာ ကတော့ တော်တော်လေး လန်းတယ်။ ဘာလို့လဲ ဆိုတော့ FaceTime ကို iPhone နဲ့ပြောနေရင်း Apple ID တူတဲ့ Apple device တစ်ခုနားကို ရောက်သွားတာနဲ့ video call ကို auto transfer လုပ်လို့ရတာပဲ။ အဲ့တာကိုတော့ တအားခိုက်နေပြီး။ ဘာလို့လဲဆိုတော့ device change ဖို့ အတွက် call ကို ချ စရာ မလိုတော့ဘူးလေ။
ဒီအပိုင်းမှာ ကျန်တဲ့ message ကို group ဖွဲ့ပြီး communicate လုပ်တာတို့ iCloud ကနေ photo share တာတို့ browsing tab တွေ share တာတွေက အရင် version ထဲက ပါလာတဲ့ဟာကို upgrade လုပ်ထားတာဆိုတော့ အထူးပြောစရာတော့မရှိဘူး။

နောက်ဆုံးအနေနဲ့ကတော့ weather app, colck app နဲ့ system setting ရဲ့ design ကို ပြန်ပြင်ထားတာပဲ။

ဒီအပိုင်းကိုပြောမယ် ဆို apple က သူ့ရဲ့ နောက်ဆုံး ပြဿနာ နှစ်ခုကို ရှင်းပေးလိုက်တယ်ပဲ မြင်မိတယ်။ weather နဲ့ပတ်သတ်ပြီး အခြေအနေ သိဖို့ third party software တွေ သုံးနေရတာ အဆင်မပြေဘူးလေ။ အဲ့လိုပဲ OS တစ်ခုမှာတော့ clock နဲ့ပတ်သက်တဲ့ software ကတော့ မပါမဖြစ်လေ။ Apple ကတော့ သူ့ ကိုယ်ပိုင် chip ပြောင်းမှ ပဲ ဒီ software နှစ်ခုကိုထည့်ပေးတဲ့ သဘောမှာရှိတယ်။ Setting ပိုင်းနဲ့ပတ်သက်ရင် user တွေ အသုံးပြုရလွယ်အောင် iOS မှာ သုံးတဲ့ setting design ကို သုံးလာတယ် အရင်ကလို အလုပ်မရှုပ်တော့ဘူးပေါ့ဗျာ။ setting အပိုင်းနဲ့ ပတ်သတ်ပြီး အသေးစိတ် သိချင်ရင်တော့ အောက်က link မှာ ဖတ်တော့ဗျာ။ စာတအားရှည်နေပြီဆိုတော့ ဒီလောက်နဲ့ပဲရပ်တော့မယ်။

https://9to5mac.com/2022/06/06/macos-13-ventura-system-settings-first-look/

အော် မေ့လို့ Mac OS 13 (Ventura) ကို Apple ကနေ Beta Version ထုတ်ပေးထားပြီနော်။ official version ကိုတော့ ဒီနှစ်ကုန်ပိုင်း မှ ထုတ်ပေးမယ်လို့ကြေငြာထားတယ်။ ထွက်လာရင်တော့ ပျော်ပျော်ကြီးသုံးပေါ့ဗျာ။

Tech နဲ့ ပတ်သက်တဲ့ အကြောင်းအရာလေးတွေ တင်ဆက်ပေးမှာ ဖြစ်လို့ page ကို like and follow လုပ်ပေးထားနော်။

18/07/2022

Programmer VS Developer

💥💥💥Junior လေးတွေ အတွက် knowledge share ပေးတာဖြစ်လို့ Geek ကြီးတွေ မဖတ်ချင်ရင်ကျော်သွားကြနော် 😝😝😝

IT လောက ထဲ ကို စ ဝင်လာလာချင်းမှာ ကျွန်တော် ထက် ဝါရင့် တဲ့ စီနီယာ ကြီး တွေကို လိုက်မေးဖြစ်တဲ့ မေးခွန်း တစ်ခုရှိခဲ့တယ်။ Programmer နဲ့ Developer ဘာကွာလဲ ဆိုတာပေါ့။ ဘာကွာလဲ ဆိုတော့ အပေါ်ယံ ကြည့်ရင်တော့ ဘာမှ မကွာဘူးပေါ့။ သေချာ လေ့လာကြည့်ရင်တော့ Developer တိုင်းကို Programmer လို့ခေါ်လို့ရပေမယ် Programmer တိုင်းကိုတော့ Developer လို့ခေါ်လို့မရပါဘူး။
ဘာလို့လဲဆိုတာအောက်မှာ ပြောပြပေးပါမယ်။

Programmer နဲ့ Developer ကွာခြားချက် က ဘာတွေလဲ။

Developer တွေ က system တစ်ခု ကို စပြီး setup လုပ်တော့မယ် ဆို ရှုထောင့် အမျိုးမျိုး ကနေ ကြည့်ပြီး စဉ်းစား ရတယ်။ User ဘက်ကကော system ကို develop လုပ်မယ့် ကိုယ့် team က programmer တွေ ဘက်က ပါ စဉ်းစား ရတယ်။ ဥပမာ ပြောရမယ်ဆို E-commerce system (online shopping system) တစ်ခု create လုပ်တော့မယ် ဆိုပါတော့။ Developer တစ်ယောက်အနေနဲ့ အဲ့လို system တစ်ခုကို online user တွေ ကို မိတ်ဆက်ပေးမယ်ဆို အောင်မြင် နိုင်ချေ ရှိမရှိ။ User တွေ အတွက် အထောက်အကူ ဖြစ်မဖြစ် အရင် စဉ်းစား ရတယ်။ ပြောရမယ်ဆို business analyze လုပ်ရတာပေါ့။ အဆင်ပြေမယ်လို့ ယူဆရပြီ ဆို system ကို စပြီး setup လုပ်တော့မယ်ပေါ့။ ဆိုတော့ ဘယ်လို user တွေ သုံးမှာလဲ ဆိုတာလဲ စဉ်းစား ရပြန်တယ်။ ပြီးတော့ ဘယ်လို features တွေ ထည့်မလဲ။ ဘယ် programming language နဲ့ ရေးရင် ကိုယ့် team အတွက် ကော ကိုယ်ရေးမယ့် system အတွက်ကောအဆင်ပြေမလဲ။ Business flow ကကော ဘယ်လို လုပ်ရမလဲ။ System ရဲ့ design ကကော ဘယ်လို လုပ်ရမလဲ။ Data တွေကို ဘယ်လို သိမ်းမလဲ။ MongoDb သုံးမလား။ Mysql သုံးမလား။ ဘယ်လို user data တွေကို collect လုပ်မလဲ။ အဲ့လို "လဲ"ပေါင်း များစွာနဲ့ system design (project design) ကို အသေးစိတ် တည်ဆောက်တဲ့ သူကို Developer လို့ခေါ်တာပါ။ တနည်းအားဖြင့် သူ့ကို Software Engineer လို့လဲ ခေါ်ပါတယ်။ Programmer ကတော့ အဲ့လိုမဟုတ်ဘူး Developer အနေနဲ့ system ရဲ့ structure ချပြီး coding ရေးရတော့မယ်ဆိုတဲ့ အခါမှ ခေါင်းစစားရပြီပေါ့။ သူ့ အလုပ်ကတော့ coding ရေးမယ် debug လိုက်မယ် testing လုပ်မယ် အပေါ်ယံ ပြောရရင်တော့ အဲ့လောက်ပဲ။

Programmer တစ်ယောက် ဖြစ်ဖို့ ဘာတွေလိုလဲ။ Programmer ဘယ်နှမျိုးရှိလဲ။

Programmer တစ်ယောက်ဖြစ်ဖို့ အဓိက ကတော့ coding နဲ့ programming language တွေပါပဲ။ Programming language တွေကတော့ အများကြီးပါ Java, Kotlin, JavaScript, PHP, Python,..... စသဖြင့် အများကြီးပါ။ တချို့ Programmer တွေက language တစ်ခုထဲ ကို ပဲ အရူးအမူး လုပ်တဲ့သူတွေ ရှိတယ်။ တချို့ကတော့ သုံးလေးမျိုး လောက် ကျွမ်းကျင်တဲ့ သူတွေလဲ ရှိတယ်။Programmer တွေအတွက် နောက်တစ်ခု အရေးကြီး တာက DBMS(Database Management System) ဆိုတဲ့ storage system ပါ။ coding ကိုသေချာ နိုင်တယ် DBMS ပိုင်းသေချာရတယ် ဆို geek level programmer ဖြစ်နေပါပြီ။
Programmer တွေကတော့ သူ့ level အလိုက် သူ့ field အလိုက်
1. Application Programmers
2. System Programmers
3. AI/Machine Learning Engineers
4. Game Programmers
5. Mobile Developer
ဆိုပြီး အမျိုးမျိုး ရှိပါတယ်။ ဆိုတော့ programmer လုပ်ချင်တယ်ဆိုရက်တော့ Coding နဲ့ Maths တော့ ပိုင်ရမယ်နော်။ 😏😏

Developer တစ်ယောက်ဖြစ်ဖို့ကော ဘာတွေလိုလဲ။
Developer ဘယ်နှမျိုးရှိလဲ။

Developer ဆိုတာ Software Engineer တွေကို ခေါ်တာပါပဲ။ Software Engineer တစ်ယောက်ဖြစ်ဖို့ဆိုရင် system တစ်ခုလုံး အစကနေ အဆုံး ဘယ်လို structure နဲ့ သွားမယ် business flow ကကော ဘယ်လို ထားမလဲ။ ဘယ်လို technology တွေ သုံးမလဲ စတဲ့ project တစ်ခုကို အသေးစိတ် ကျကျ စဉ်းစား တတ်ရပါမယ်။ အပေါ်မှာ ပြောသလိုပဲ developer တိုင်း programmer ဖြစ်နိုင်တယ်ဆိုတော့ developer လည်း system develop လုပ်ရပါတယ်။ Developer ဖြစ်တယ်ဆိုပြီး လစ်ဖို့ မကြည့်နဲ့နော်။ သူတို့ မလုပ်ချင်လို့ သူတို့အောက် က programmer လေးတွေကို ခိုင်းတာ Developer level ရောက်ပြီး ဆို အဲ့ကောင်တွေ က ဆရာ့ဆရာကြီး တွေပဲ လို့ မှတ်ထားလိုက်တော့။ Programmer တွေ တလွဲလုပ်နေတာတွေ က အစသူတို့ အားလုံးသိတယ်။ Coding ကို နောကျေပြီး လို့ user နဲ့ interact လုပ်တဲ့ အပိုင်းပါ လုပ်နေတာပေါ့။ Developer တွေက
1. Software Design
2. Development
3. Research
4. Writing Document
5. Maintenance
6. Testing Software
7. Core Implementation
8. Analysis
ဆိုတဲ့ task တွေကို လုပ်ကြပါတယ်။ တွေ့တယ်နော် Development လုပ်ရတယ်တဲ့။ ဆိုတော့ Program ရေးရတယ်တဲ့။ လစ်လို့ မရဘူး။ 😛😛

Developer ကတော့ အမျိုးမျိုး ရှိတာပေါ့
1. Web Developer
2. Android Developer
3. IOS Developer
စသဖြင့် အမျိုးအစား ဒီထက်အများကြီးရှိပါသေးတယ်။

ပြောချင်တာက overall knowledge ရှိတဲ့ သူတွေ ကို Developer လို့ ခေါ်ပြီး programming နဲ့ ဆိုင်တဲ့ specific knowledge ရှိတဲ့ သူကိုတော့ Programmer လို့ခေါ်တာပေါ့။

ကဲ စာအရှည်ကြီး မရေးတော့ဘူး ဒီလောက်ဆို အပေါ်ဆုံးက မေးခွန်း အတွက်အဖြေရလောက်ပြီထင်တယ်။

Tech နဲ့ ပတ်သတ်တဲ့ knowledge တွေ sharing လုပ်ပေးမှာမို့လို့ page လေးကို like လုပ်ထားကြနော်။😏😏

Want your business to be the top-listed Computer & Electronics Service in Yangon?
Click here to claim your Sponsored Listing.

Telephone

Website

Address


Seikkanthar Street
Yangon
11181

Other Information Technology Companies in Yangon (show all)
Delight Myanmar Group Delight Myanmar Group
No. 6, 1st Floor, Sanchaung Street, Sanchaung Township
Yangon, 11111

Delight Myanmar ( Hotline -09-427411120, 09-427330877)

M-Tech ICT Solution M-Tech ICT Solution
Yangon, 11111

We are providing IT related services quickly. If you want to buy Gift Card and Activation Key, you can buy with full guarantee. We also provide the best service if you want to make...

High Tech-IT High Tech-IT
16street
Yangon

No-302, Building A,Highway Complex Housing,Yangon.

Hikvision Myanmar Hikvision Myanmar
Room(305) 3rd Floor. SOHO Bo Myat Tun Tower. Bo Myat Tun Street , Lower Block, Botahtaung Township
Yangon, 310052

Welcome to Hikvision Myanmar’s official page!

YK Two Fashion & Accessories YK Two Fashion & Accessories
Yangon

Only good quality will be sold👍

Wing World Wing World
B2/1, Yadanar Housing , Yadanar Road, South Oakkalarpa
Yangon

Memory Stick များအားစျေးနှုန်းချိုသာစွာဖြင

Linux For You Linux For You
89 Street
Yangon

Welcome to our page!

AdSpace Co., Ltd AdSpace Co., Ltd
Yangon, 111111

Develop Software, Application, Website and E-Commerce

Smart4U Smart4U
Thingangyun
Yangon

� �������

Coding Challenges Myanmar Coding Challenges Myanmar
Yangon

A place for coders / programmers / developers to find problems to solve to practice their skills.

Beyond Limits Coding Academy Beyond Limits Coding Academy
No. V-57, Nguwa 11th Street, Hlaing Township
Yangon, 11051

"Basic To Work" Developer Career ကို BLCA တွင် တည်ဆောက်လိုက်ပါ။

VVIP9 VVIP9
8, Moe Ma Kha 1st Street, Malikha Housing, Thingangyun Tsp
Yangon, 11071

Digital Business Card. Share your information with Tab or Scan. Others don't need a App.