Recent Posts
Archives
Categories
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Jan | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
It's kind of fun to do the impossible.
ကျွန်တော် ဒီနေ့ ဆွေးနွေးချင်တာက ubuntu မှာ login screen ကို ဘယ်လို ပြောင်းမလဲဆိုတာပါ။ ကျွန်တော် ubuntu ကို သုံးနေတာ မကြာသေးပါဘူး။ ubuntu ပတ်သတ်တဲ့ ပို့စ်တွေ အွန်လိုင်းပေါ်မှာ ရှာဖတ်နေတုန်း ဒါလေးကို သွားတွေ့ပါတယ်။ ကျွန်တော်တို့ လုပ်စရာ လိုတာက unity-greeter.inf ဆိုတဲ့ ဖိုင်းလေးကို configure လုပ်ပေးရုံပါပဲ။ ကဲ ကျွန်တော်ကို စလုပ်ကြည့်ရအောင်။
ပထမဆုံး terminal ကို ဖွင့်လိုက်ပါ။ အောက်က command လေးကို ရိုက်ထည့်လိုက်ပါ။
sudo gedit /etc/lightdm/unity-greeter.conf
အောက်ပါပုံအတိုင်း background မှာ သင့်ရဲ့ background image ရဲ့ path အပြည့်အစုံကို ထည့်ပေးလိုက်ပါ။
ပြီးရင် logout ထွက်လိုက်ပါ။ သင့်ရဲ့ login screen က active ဖြစ်နေပါလိမ့်မယ်။
Ref : blog.sudobits.com/2011/10/06/how-to-change-login-screen-in-ubuntu-11-10/
ကျွန်တော် ubuntu ကို ပြောင်းသုံးတာ ၂ပတ်လောက်တော့ ရှိပါပြီ။ စစ သုံးချင်းဆိုတော့ software တွေ install လုပ်ရတာက အစ command တွေနဲ့ မရင်းနှီးတဲ့ အတွက် တစ်ခုခု လုပ်ချင်ပြီဆို အွန်လိုင်းပေါ် မှာ ရှာရပါတယ်။ ကျွန်တော် ဒီနေ့ .sh ဖိုင်ကို install လုပ်နည်းလေး ပြောချင်ပါတယ်။ ခုမှ စသုံးတာ ဖြစ်တဲ့ အတွက် command line တွေနဲ့ သိပ်မရင်းတော့ ကြိုးစားပြီးရေးထားပါတယ်။
.sh ဖိုင်ဆိုတော့ linux အတွက် designed လုပ်ထားတဲ့ shell script ဖိုင် ဖြစ်ပါတယ်။ Linux သုံးရင် တော်တော်များများ တွေ့ရတတ်ပါတယ်။ .sh ဖိုင်တွေကို install လုပ်ဖို့ terminal ကို ဖွင့်လိုက်ပါ။
ဥပမာ သင်က netbean ကို install လုပ်ဖို့ netbean.sh ဖိုင်ကို download ဆွဲထားတယ်ဆိုပါစို့။
chmod +x netbean.sh
chmod ဆို mode change လိုက်တာပါ။ x က execute ကို ကိုယ်စားပြုတာပါ။ chmod က တစ်ခြား အကြောင်းအရာ မျိုးစုံအတွက် အသုံးပြုပေမယ့် ဒီ command ကတော့ netbean ဖိုင်ကို executable permission ပေးလိုက်ပါ။ netbean နေရာမှာ သင် install လုပ်ချင်တဲ့ file name ကိုပေးရမှာပါ။
./netbean.sh
ဒီ command က netbean installation file တွေကို သင့်ရဲ့ home အောက်က netbean ဆိုတဲ့ hidden folder အောက်မှာ install လုပ်လိုက်တာပါ။
သင့်အနေနဲ့ အောက်က နည်းလမ်း ၂ခုကိုနဲ့လည်း install လုပ်နိုင်ပါတယ်။
sh netbean.sh bash netbean.sh
Ubuntu/Linux ကို ခုမှ စသုံးတာဆိုတော့ command line နဲ့ ပတ်သက်ပြီး အများကြီး မသိတဲ့ အတွက် error တွေကို မဖြေရှင်း တတ်သေးပါဘူး။ အပေါ်က command တွေနဲ့ ပတ်သက်ပြီး မှားနေတာ အဓိပ္ပာယ် လွဲနေတာ ရှိရင် ဝေဖန် ထောက်ပြနိုင်ပါတယ်။
ကျေးဇူးတင်ပါတယ်။
Web Design မှာ navigation bar မှာပဲ ဖြစ်ဖြစ် content area မှာပဲ ဖြစ်ဖြစ် block တွေရဲ့ corner တွေကို လေးထောင့်ကျကျထားတာထက် နည်းနည်းလေး ဝိုင်းထားတာက ကြည့်ရတာ ကျွန်တော်အမြင်မှာ ပိုပြီး အဆင်ပြေတယ်လို့ ထင်တယ်။ အရင် css version တွေ တုန်းက nested div တွေသုံးရတယ်။ ဒေါင့်အဝိုင်းလေးတွေကိုလည်း ၄ခုလောက်ဖြတ်ထားရပါတယ်။ ဒါကိုမှ div tag ထဲမှာ nested လုပ်ပြီး ထည့်ရပါတယ်။ အဆင့်တွေပိုများသလို ပိုလည်း ရှုပ်ပါတယ်။
CSS3 မှာ border-radius property က ဒါတွေကို ကူညီပေးပါလိမ့်မယ်။ အဲဒီ property တစ်ခုတည်းနဲ့ အဆင်ပြေသွားပါတယ်။

image source : http://fl3xible-template.com/images/css3_logo.png
CSS 3 မှာ border-radius ၄မျိုးရေးလို့ရပါတယ်။
တို့ပဲ ဖြစ်ပါတယ်။ ဒါတွေကို border-radius ထဲမှာလည်း အားလုံးပေါင်းရေးလိုက်လို့ရပါတယ်။ ဒါဆို example တွေ လုပ်ကြည့်ရအောင်။
Java programming language နဲ့ address book application တစ်ခု ရေးမယ်လို့ စိတ်ကူးရလို့ database အနေနဲ့ အသုံးပြုဖို့ embedded database အနေနဲ့ ဘယ် database က သင့်တော်မလဲလို့ အွန်လိုင်းပေါ်မှာကော ၊ forum တွေမှာကော၊ ကိုယ်နဲ့ ရင်းနှီးတဲ့ သူတွေကို မေးကြည့်တော့ sqlite ကို သုံးသင့်တယ်လို့ အကြံပေးပါတယ်။
SQLite က သူ support ပေးတဲ့ feature တွေက အသင့်အတင့်ပေမယ့် performance က တော်တော်ကောင်းပါတယ်။ ဒါနဲ့ သူရဲ့ documentation မှာ ဖတ်ကြည့်လိုက်တော့ cascade option ကို support ပေးမထားပါဘူး။ ကိုယ့်စက်မှာလည်း sqlite ကို download ချပြီး install လုပ်ပြီးပါပြီ။ ဒါပေမယ့် ရွေးစရာ ရှိပါတယ်။ Trigger တွေကိုတော့ fully support မပေးပေမယ့် row-level trigger တွေကိုတော့ ပေးပါတယ်။ delete, insert, update trigger တွေ ရေးလို့ရပြီပေါ့။
ဒီလိုမှ မဟုတ်ရင် multiple table တွေမှာ parent table က row ကို delete လုပ်လိုက်ရင် child table တွေက row တွေကို automatically delete လုပ်ဖို့ program မှာ logic ကို စဉ်းစားရပါတော့မယ်။ ဒါပေမယ့် ကျွန်တော် အနေနဲ့ trigger တွေကိုသုံးဖို့ပဲ စိတ်ကူးလိုက်ပါတယ်။ Database trigger တွေကို အရင်တုန်းကလည်း မလေ့လာဖူးပါဘူး။ ရိုးရိုးသားသား ပြောရရင် သိတောင် မသိပါဘူး။ ကြားဖူးရုံသာရှိပေမယ့် online ပေါ်မှာ delete method တွေကို ရှာရင်းနဲ့ database တွေမှာ trigger တွေ ထည့်ရေးလို့ရတယ်ဆိုတာ သိလာတာပါ။ ဒါဆို sqlite မှာ trigger တွေကို ဘယ်လို ရေးမလဲ ဆိုတာ ဆက်လေ့လာကြည့်ရအောင်။

Java Web Technology ကို စတင်လေ့လာတော့ အရင်ဆုံးထိတွေ့မိတာက Servlet ပါပဲ။ Servlet ရဲ့ service method ကနေ html code တွေကို print ထုတ်ပြီး web page ကို dynamically တည်ဆောက်ခဲ့ပါတယ်။ နောက်ပိုင်း JSP ကို စတင်လေ့လာမိတော့ servlet ရဲ့ role ကို မေ့နေခဲ့တယ်။ JSP မှာကို scriptlet expression , standard action, jstl စတာတွေကို သုံးပြီး page တစ်ခုကို တည်ဆောက်တယ်။ JSP page ကိုယ်တိုင်က run လိုက်ရင် web container က generated servlet အဖြစ်ပြောင်းပေးလိုက်တာဆိုတော့ servlet ရဲ့ အသုံးပြုပုံ အသုံး၀င်ပုံကို သတိမထားမိဘူး.. သိပ်အလေးမထားမိဘူး။ နောက်ပိုင်း MVC pattern ကို စတင်လေ့လာမိတော့ servlet ရဲ့ role ကို သိလာတယ်။ control တစ်ခုအနေနဲ့ မရှိမဖြစ်အသုံး၀င်လာတယ်။ ကျွန်တော် ဒီနေ့ ဆွေးနွေးချင်တာက mvc pattern ကို သုံးပြီး web application တစ်ခုတည်ဆောက်ချင်တာပါ။ Web App Architecture အနေနဲ့ model 1, model 2 architecture ဆိုပြီး ရှိပါတယ်။ Model 2 architecture ဆိုတာက MVC ကို ပြောတာပါပဲ။
ပထမဆုံး Model 1 Architecture ကို အရင် ကြည့်ရအောင်။
Java web technology ကို စတင်လေ့လာတဲ့ အခါမှာ ကျွန်တော်တို့ စတင်ထိတွေ့ရမှာက အခြေံဖြစ်တဲ့ JSP/Servlet ပါပဲ။ Java environment မှာတော့ အရင်တုန်းက web development လုပ်တဲ့ အခါမှာ servlet ရဲ့ service method ကနေပြီး html tag တွေကို print ထုတ်ပေးလိုက်ခြင်းအားဖြင့် web page တွေကို dynamically တည်ဆောက်ပါတယ်။ ဒါပေမယ့် ဒီ technique က html tag တွေကို မရင်းနှီးတဲ့ developer တွေကို အခက်တွေ့စေပါတယ်။ ထို့အတူပဲ servlet programming ကို မကျွမ်းကျင်တဲ့ web designer တွေအတွက်လည်း အခက်အခဲ ဖြစ်စေမှာပါ။ ဒါကြောင့် နောက်ပိုင်းမှာ JSP technology ကို တီထွင်ခဲ့ပါတယ်။ JSP ဆိုတာ အကျဉ်းအားဖြင့်တော့ ရိုးရိုး static page ကိုတည်ဆောက်တဲ့ အခါမှာ သုံးတဲ့ html tag တွေ jsp standard action tag တွေဖြစ်တဲ့ scriptlet, expression စတဲ့ tag တွေ သုံးပြီး web page တွေကို dynamically create လုပ်တာပါ။ ဒါပေမယ့် jsp page တွေထဲမှာ scriplet ,expression tag တွေနဲ့ java code တွေကို ထည့်သွင်းရေးသာတဲ့ အခါမှာ java programming language ကို မသိတဲ့ page designer တွေကို maintain လုပ်ရတာ ခက်စေမှာပါ။ ဒါကြောင့် jsp page တွေထဲက java code တွေကို ခွဲထုတ်ဖို့ JSTL , EL နဲ Java Bean နဲ့အတူ presentation layer ကို သတ်သတ်ခွဲထုတ်ပါတယ်။ Java Bean ကို JSP page မှာ တွေကို jsp standard action tag ဖြစ်တဲ့ <jsp:useBean/> နဲ့အတူတွဲသုံးပါတယ်။
ကျွန်တော် ဒီနေ့ ဆွေးနွေးချင်တာ Java Bean တွေကို JSP page တွေမှာ ဘယ်လိုမျိုး အသုံးပြုလဲ ဆိုတာပါ။ ထုံးစံအတိုင်းပဲ ဒီပို့စ် တတ်လို့ရေးတာမဟုတ်ပဲ ကျွန်တော် သိထားသမျှ မှတ်ထားသမျှ လေ့လာထားသမျှကို ပြန်ဖောက်သည်ချတာ ဖြစ်ပါတယ်။
Java Bean ဆိုတာ reusable software component ပါ။ ဆိုတာလိုတာက bean object တွေကို java application တွေ၊ JSP Servlet တွေမှာ နည်းလမ်းမျိုးစုံနဲ့ ပြန်လည်အသုံးပြုလို့ပါတယ်။ Java Bean ကို create လုပ်တဲ့နေရမှာ Java Class တွေလိုပဲ ဘာမှမကွာပါဘူး။ သူ့မှာ တခြား class တွေလိုပဲ property တွေ ပါပါမယ်။ အဲဒီ property ကို access လုပ်နိုင်တဲ့ method တွေပါပါမယ်။ ဒါဆို မေးစရာ ရှိပါမယ်။ Java Class နဲ့ Java Bean ဘာကွာသလဲပေါ့။ တကယ်တော့ ဘာမှ မကွာပါဘူး။ Java Bean ဆိုတာကလည်း Java class ပါပဲ။ သူ့က စံသတ်မှတ်ချက် ပုံစံအတိုင်းရေးရပါတယ်။ သူ့ရဲ့ standard format ကတော့..
Java SE ကိုလေ့လာ ခဲ့တာ core technology တွေသာမက gui framework တွေဖြစ်တဲ့ java foundation class တွေကိုလည်း အတော်အသင့် လေ့လာခဲ့ပြီးဆိုတော့ project တစ်ခုလောက် စလုပ်ကြည့်ဖို့ စိတ်ကူးရမိပါတယ်။ ဒါပေမယ့် java se api အကုန်လုံးကို မသိသေးပါဘူး။ တစ်ချို့ အရေးပါတဲ့ API တွေကျန်ပါသေးတယ်။ အရင်တုန်းက Java assignment တွေရေးဖူးပေမယ့် application တစ်ခုလုံးကို တစ်ခါမှ develop မလုပ်ဖူးပါဘူး။ Develop လုပ်ရင်းနဲ့ မသိတာတွေ ဆက်လေ့လာမယ်လို့ စိတ်ကူးခဲ့ပါတယ်။ ဒါနဲ့ address book application တစ်ခုရေးမယ်ဆိုပြီး တတ်သလောက် မှတ်သလောက်နဲ့ UML တွေဆွဲ၊ UI design တွေဆွဲပြီး ကြိုးစားပြီးရေးနေတုန်း form တွေနဲ့ ပတ်သက်ပြီး user input တွေကို validate လုပ်တဲ့နေရာမှာ ပြဿနာစတွေ့ပါတယ်။ User တွေက name, email, phone တွေမှာ သူတို့ စိတ်ကြိုက် format တွေနဲ့ အမှားတွေကော အမှန်တွေကော ထည့်မှာပါ။ အဲဒီအတွက် format pattern မှန်မှန်ကန်ကန် စစ်ပေးနိုင်ဖို့ regular expression တွေကို သုံးရတော့မှာပါ။ အရင်ကလည်း မလေ့လာထားတဲ့ အတွက် မနေ့စပြီး လေ့လာဖြစ်ပါတယ်။
ကျွန်တော် ဒီပို့စ်ကိုရေးတာ ကျွမ်းကျင်လွန်းလို့ ရေးတာမဟုတ်ပါဘူး။ ကျွန်တော်လေ့လာထားသမျှ ဘယ်လောက်အထိ မှန်ကန်မှုရှိတယ် ဘာတွေ မှားနေလည်းဆိုတာ သိချင်လို့ရေးလိုက်တာပါ။
Regular Expression ဆိုတာ text တစ်ခုရဲ့ character sequence ပါပဲ။ သူ့မှာ “$^&*” စတဲ့ special character တွေလည်း ပါနိုင်ပါတယ်။ Regular exppression ကို အထက်ကပြောခဲ့သလို emial, phone တွေလို user input တွေကို validate လုပ်တဲ့နေမှပဲဖြစ်ဖြစ်၊ regular expression တစ်စိတ်တစ်ပိုင်းကို ဖြစ်စေ search လုပ်တဲ့ နေရမှာဖြစ်ဖြစ်၊ replace လုပ်တဲ့ နေရာမှာ ဖြစ်ဖြစ် အလွန်အသုံး၀င်ပါတယ်။

image source : http://www.raymanexe.com
ကျွန်တော် ဒီဘလောဂ့်လေးကို နို၀င်ဘာ ပထမ ရက်မှာပဲ စလုပ်ဖြစ်ပါတယ်။ ဒီဘလော့ဂ်လေး လုပ်ရခြင်း ရည်ရွယ်ချက်က ကျွန်တော် နေ့စဉ်နဲ့အမျှ လေ့လာမိသမျှကို ပြန်လည် မျှဝေဖို့ရယ်.. ကျွန်တော်ရဲ့ အိုင်တီ ပညာ လေ့လာရေး ခရီးနယ်ပယ်မှာ ဝေဖန် အကြံပြုချက်တွေ ပညာရပ်ဆိုင်ရာ ပြန်လည်မျှဝေမှုတွေကို လက်ခံရယူဖို့ရယ် blogging experience ရယူဖို့ရယ်ဖြစ်ပါတယ်။ 
ဒီဘလော့ဂ်မှာ နေ့စဉ် ကျွန်တော်လေ့လာမိသမျှ အိုင်တီဆိုင်ရာ ပညာရပ်တွေ၊ ဖတ်မိသမျှ သုတ၊ရသ စာအုပ်၊မဂ္ဂဇင်း၊ဆောင်းပါးတွေထဲက ကောင်းနိုးရာရာ မှတ်သားစရာတွေကို ကို post အဖြစ်တင်ပေးသွားမှာ ဖြစ်ပြီး ဝေဖန်အကြံပြုမှုတွေကိုလည်း အများကြီးမျှော်လင့်ထားပါတယ်။