Learning Javascript : Variables Scope

က်ြန္ေတာ္ JavaScritp ကို စေလ့လာတုန္းက variable scope နဲ့ data type နဲ့ ပတ္သက္တဲ့ အခန္းေတြကို ေက်ာ္ဖတ္ခဲ့တယ္။ ေနာ္ကမွ ေသခ်ာ သိတာက Variable scope က က်ြန္ေတာ္တိုံ ပံုမွန္ေလ့လာေနက် OOP language ေတြ အထူးသျဖင့္ Java, C# တုိ့နဲ့ မတူဘူးဆိုတာပါ။ Javascript မွာ block-level scope မရွိဘူး။ Java, C# တုိ့နဲ့ မတူတာက သူ့မွာ global scope concept ရွိတယ္။  var keyword မပါတဲ့ variable ေတြက global scope ထဲ ပါသြားတာပါ။


var name="foo";

function sayName(){
     var name="boo"
     console.log(name);
}

sayName();
console.log(name);

boo
foo

ဒါကိုေတာ့ အားလံုးသိျပီးသား ျဖစ္မွာပါ၊ function sayName() ထဲမွာ ရ်ိတဲ့ local variable name က global variable name ကို hide လုပ္သြားတာပါ။ သူတို့ နွစ္ခုက မတူညီတဲ့ variable နွစ္ခုပါ။ local variable name ကို function အျပင္ဘက္ကေန access လုပ္လို့မရပါဘူး။


var name="foo";

function sayName(){
name="boo";
console.log(name);
}

sayName();
console.log(name);


boo

boo

အေပါ္က script က function sayName() ထဲက name က global scope ထဲက name ပါ။ override လုပ္သြားတာ ျဖစ္ပါတယ္။ ဒါေျကာင့္ output အေနနဲ့ တူညီတဲ့ result ကိုပဲ ျမင္ေနရတာပါ။


var name="foo";

function sayName(){
name="boo";
age=25;
console.log(name);
}

sayName();
console.log(age);

Output

boo
25

Continue reading

Installing zawgyi keyboard in Ubuntu 13.04

Ubuntu 13.04 မွာ ျမန္မာ ယူနီကုဒ္ ကို suppor ေပးထားပါတယ္။ ဒါေပမယ့္ ျမန္မာ netizens ေတြ အမ်ားစုက ေဇာ္ဂ်ီနဲ့ပဲ ျမန္မာစာ ကို အြန္လိုင္းေပါ္မွာ ေရးေလ့ရွိျကပါတယ္။ယူနီကုဒ္ကို တြင္တြင္က်ယ္က်ယ္ မသံုးျကေသးခင္ အြန္လိုင္းမွာ သူေရးတာ ကိုယ္ျမင္ရဖုိ့ ကိုယ္ေရးတာ သူျမင္ရဖို့ ေဇာ္ဂ်ီေဖာင့္နဲ့ ကီးဘုတ္က မျဖစ္မေန သြင္းထားဖို့ လိုပါေသးတယ္။

ေဇာ္ဂ်ီေဖာင့္သြင္းခ်င္ရင္ေတာ့ အြန္လိုင္းကေန ေဖာင့္ကို ေဒါင္းလုပ္ဆြဲျပီး /usr/share/fonts folder ေအာက္ကို ေရြွ့ထားလိုက္ပါ။ permission မရွိရင္ sudo command သံုးဖို့လိုပါတယ္။

sudo mv <<zawgyi-font>> /usr/share/fonts

Browser မွာ font setting ကို Zawgyi One ေပးလိုက္ရင္ အြန္လိုင္းေပါ္က ျမန္မာစာ content အမ်ားစုကို ျမင္ရပါျပီ။

ေဇာ္ဂ်ီကီးဘုတ္ သြင္းခ်င္ရင္ေတာ့ ဒီမွာ ေဒါင္းလုပ္ခ်လုိက္ပါ။ ျပီးရင္ ေဒါင္းလုပ္ခ်ထားတဲ့ directory ကို သြားလိုက္ပါ။ terminal မွာ ေအာက္က command ကို run လိုက္ပါ။

tar -xvf zawgyi-keyboard-0.3.2.tar.gz

ဒါဆိုရင္ current directory ေအာက္မွာ zawgyi keyboard ကို extract လုပ္လိုက္ပါျပီ။ ျပီးရင္ ေအာက္က command ကို run လုိက္ပါ။

cd zawgyi
sudo python -i zawgyi_keyboard.py

ခဏျကာရင္ terminal မွာ instruction ေတာင္းပါလိမ့္မယ္။ i key ကို နိွပ္လိုက္ပါ။ installation ျပိးသြားရင္ Cltr+D နဲ့ ထြက္လိုက္ပါ။ ဒါဆိုရင္ေတာ့ zawgyi keyboard ကို install လုပ္ျပီးသြားပါျပီ။ ဒါေပမယ့္ keyboard setting ေတြျပင္ရပါဦးမယ္။

System Setting >> Keyboard Layout ကို ေရြးလိုက္ပါ။ ေအာက္က အတိုင္းျမင္ရပါလိမ့္မယ္။

add_keyboard

ဘယ္ဘက္ ေအာက္ေဒါင့္က + sign ကို နွိပ္ျပီး Burmese keyboard ထပ္ထည့္ပါ။

add_burmese

ျပီးရင္ option ကို နွိပ္ျပီး Key(s) to change layout မွာ ျကိုက္နွစ္သက္ရာကို ေရြးလိုက္ပါ။

option

add_keys

Text Editor ဖြင့္ျပီး စမ္းျကည့္နိုင္ပါတယ္။ ပံုမွန္ရိုက္ေနက် layout နဲ့ေတာ့ အနည္းငယ္ကြဲျပားမွုရွိပါတယ္။ ဒါေပမယ့္ အနည္းငယ္ပါပဲ။

Rounding Corners With CSS3 : border-radius.

Web Design မှာ navigation bar မှာပဲ ဖြစ်ဖြစ်  content area မှာပဲ ဖြစ်ဖြစ် block တွေရဲ့ corner တွေကို လေးထောင့်ကျကျထားတာထက် နည်းနည်းလေး ဝိုင်းထားတာက ကြည့်ရတာ ကျွန်တော်အမြင်မှာ ပိုပြီး အဆင်ပြေတယ်လို့ ထင်တယ်။ အရင် css version တွေ တုန်းက nested div တွေသုံးရတယ်။ ဒေါင့်အဝိုင်းလေးတွေကိုလည်း ၄ခုလောက်ဖြတ်ထားရပါတယ်။ ဒါကိုမှ div tag ထဲမှာ nested လုပ်ပြီး ထည့်ရပါတယ်။ အဆင့်တွေပိုများသလို ပိုလည်း ရှုပ်ပါတယ်။

CSS3 မှာ border-radius property က ဒါတွေကို ကူညီပေးပါလိမ့်မယ်။ အဲဒီ property တစ်ခုတည်းနဲ့ အဆင်ပြေသွားပါတယ်။

CSS 3 မှာ border-radius ၄မျိုးရေးလို့ရပါတယ်။

  1. border-top-left-radius
  2. border-top-right-radius
  3. border-bottom-left-radius
  4. border-bottom-right-radius

တို့ပဲ ဖြစ်ပါတယ်။ ဒါတွေကို border-radius ထဲမှာလည်း အားလုံးပေါင်းရေးလိုက်လို့ရပါတယ်။ ဒါဆို example တွေ လုပ်ကြည့်ရအောင်။

Continue reading