Thursday, May 12, 2011

Think B4 it's 2 La8.

Think B4 it's 2 La8.

အလုပ္က ခက္တာမဟုတ္ဘဲ လြယ္တာေလးေတြမ်ားေနရင္ ဘယ္လုိ Handle လုပ္မလဲ။

အခုေနာက္ပိုင္းမွာ productive programmer ေတြက code ကိုမေရးဘူး။ generate လုပ္တယ္။

ေန႔တိုင္းလုပ္ေနရတဲ႔အလုပ္ေတြကို ထုိင္စဥ္းစားၾကည္႕တယ္။ တစ္ေန႕လား sql script ေရး၊ ေနာက္တစ္ေန႕လာ script ေရးနဲ႕ပဲ လုပ္ေနရတာမ်ားတယ္။ ဘာမွမဟုတ္ေပမယ္႔ လက္၀င္တယ္။ ဆိုပါေတာ႔ policy အခု တစ္ေထာင္ေလာက္ကို စစ္ရမယ္ဆိုရင္ သူတုိ႕ေပးလိုက္တဲ႔ txt file ထဲက policy number ေလးေတြကို တယုတယေလး comma code ျပီး select where policy in ('') ထဲထည္႕ဖုိ႕ေတာင္ တစ္ခုခ်င္းစီလုပ္ေနရင္ သိပ္ၾကာတယ္။ အဲဒီေတာ႔ program ေလးတစ္ခုေရးထားတယ္။ ဘာမွလုပ္တာမဟုတ္ဘူး။ comma ေတြ single code ေတြ တပ္ေပးတာမ်ိဳး၊ ကုိယ္လုပ္ရမွာပ်င္းတာေတြ လုပ္ေပးတဲ႔ office helper ဆိုတဲ႔ project ေလးကို လုပ္ျဖစ္တယ္။ သက္သာတယ္။ productive ပိုျဖစ္လာတယ္။ အခ်ိန္မ်ားမ်ားမလိုဘဲျပီးတယ္။

အားေနရင္ Framework ေတြေလ႔လာတာေကာင္းတယ္။ Java မွာ အလားအလာသိပ္ေကာင္းေနတဲ႔ ွSpring framework လိုဟာမ်ိဳးကိုေလ႔လာသင္႔တယ္။ ေနာက္ထပ္ ဆယ္ႏွစ္အတြင္း သူ႕ကို ပစ္ပယ္လုိ႕မရေသးဘူး။ အခု VM ware ေအာက္ေရာက္သြားလုိ႕ ပိုခိုင္မာလာတယ္။ Spring Source မွာ ေလ႔လာလုိ႕ရတယ္။ Spring Tools Suite ေတြလည္းထုတ္တယ္။ ပ်င္းရင္ စမ္းၾကည္႕ဖုိ႕ေကာင္းတယ္။

Code ေရးတာတင္မဟုတ္ဘဲ Framework ေတြကို နားလည္ရင္ ပိုအဆင္႔ျမင္႔တဲ႔ code ကို ေရးလုိ႕ရတယ္။ Spring batch မွာဆို file ေတြကို သူ႕ဘာသာသူ handle လုပ္ထားတာေတြအမ်ားၾကီးပါတယ္။ reader ေတြ၊ writer ေတြ မလုိဘဲ ေရးရတာေတြသက္သာသြားတယ္။

ဖတ္လက္စဟာေတြေရးမယ္ ေရးမယ္နဲ႕မေရးျဖစ္ဘူး။ Divinity ပို႕စ္ႏွစ္ခုတက္လာမွ စာမေရးတာၾကာျပီလုိ႕သတိထားမိတယ္။ Language ေတြရဲ႕ေရွ႕မွာ concept အရင္လာတယ္။ အဲဒီ concept ကို သိရင္ ဘာ language နဲ႕မဆို implement လုပ္ဖုိ႕ ဆက္ၾကိဳးစားလုိ႕ရႏိုင္တယ္။

IOC , inversion of control နဲ႕ Dependency Injection ကို အတူတူပဲဆိုတာမသိဘဲ spring နဲ႕ေရးတာေတြကို maintain လုပ္ခဲ႔ဖူးတယ္။ အေတြ႕အၾကံဳအရ ဘာေတြကို ဘယ္လုိ configure လုပ္ျပီး ဘယ္လိုေရးလုိက္ရင္ရတယ္ဆိုတာက မခက္ဘူး။ အမွန္က အဲဒါက ကြ်န္ေတာ္ အသံုးမက်ဘဲ ဘ၀င္ျမင္႔မိတဲ႔အခ်က္ပဲ။ လူမ်ား အေျခခံလုပ္ထားျပီးသားကို ၀င္ျပင္တာက ဘာပညာမွမပါသေလာက္ပါပဲ။ ဘာနဲ႕တူလဲဆိုရင္ စြန္လႊတ္ရင္ လူမ်ားတင္ထားတဲ႔စြန္ ၀င္လႊတ္သလိုပဲ။ မခက္ဘူး။ ေလမိေနတဲ႔စြန္ေပါ႔ေလ။ သူ႕ဘာသာသူလည္း ျပဳတ္က်မလာဘူး။ အဲဒီလို ေရးႏိုင္တာနဲ႕ပဲ ကြ်န္ေတာ္ထင္လာတယ္။ ဘယ္ framework မွမခက္ဘူး။ ဘာမွလည္းမဟုတ္ဘူး။ ဟိုေနရာေလးမွာ ဟိုဟာျပင္၊ ဒီေနရာေလးမွာဒီဟာျပင္ပဲလို႕ထင္တယ္။ အဲ.... ထင္ခဲ႔တယ္ေပါ႔ေလ။ လူဆိုတာက အေတာ္ေလးထူးဆန္းတဲသတၱ၀ါ၊ လူမ်ားအသံုးမက်တာကို သာ ထင္ထင္ရွားရွားျမင္ရတယ္။ ကိုယ္အသံုးမက်ဘူးဆုိတာကိုေတာ႔ အတတ္ႏိုင္ဆံုးေမ႔ထားမိတယ္။

ဟိုတစ္ေလာက Spring ေတြ configure ျပန္လုပ္တယ္။ စာေမးပြဲေျဖဖုိ႕ စာဖတ္ရင္း၊ ဒါေတြ အရင္လည္းလုပ္ဖူးပါတယ္ေအးေဆးပါဆိုျပီးလုပ္တယ္။ တစ္ခ်ိဳ႕ေနရာေတြမွာ ခ်က္ခ်င္းမရဘူး။ စာျပန္ဖတ္ရတယ္။ ထင္သေလာက္ေတာ႔မလြယ္ဘူး။ အရင္က အသင္႔သံုးေနခဲ႔ရတာေတြက မခက္ဘူး။ ဘာလုိ႕မခက္လဲဆုိတာကိုစဥ္းစားၾကည္႕ေတာ႔၊ ခက္တဲ႔အပိုင္း သူမ်ားေတြလုပ္ထားျပီးလုိ႕လုိ႕ အေျဖထြက္တယ္။ စင္ကာပူမွာ အသံုးမက်တဲ႔ system ခင္ဗ်ားတို႕ ထင္တာထက္မ်ားတယ္လို႕ တစ္ခါေရးဖူးတယ္။ ဘာမွ အသံုးမက်လည္း survive လုပ္ႏိုင္တယ္လို႕လည္း ေရးဖူးတယ္။ ကုိယ္႔ကိုယ္ကို အသံုးက်ေအာင္လုပ္တာဟာ အလုပ္မွာ လုိအပ္လုိ႕ဟုတ္ခ်င္မွဟုတ္မယ္။ အဲဒီႏွစ္ခုကို ခြဲေျပာမွရမယ္။

နားလည္ေအာင္ၾကိဳးစားတာနဲ႕ နားလည္ဖုိ႕လုိအပ္လို႕ၾကိဳးစားတာမတူဘူး။ ပညာတစ္ခုက သင္ထားရင္ေမ႔သြားမွာပဲ။ မေမ႔တာက ဘာလဲဆိုရင္ ေလ႔လာခဲ႔တဲ႔နည္း။ အဲဒီနည္းကို မွတ္မိရင္ ခဏေလးနဲ႕ျပန္ေလ႔လာလုိက္လုိ႕ရတယ္။ ေလ႔လာတဲ႔နည္းမွားေနရင္သာ ဘာမဆို သင္လုိ႕မတတ္ႏိုင္ျဖစ္ေနတာတုိ႕၊ လြယ္လြယ္နဲ႕သေဘာမေပါက္တာတုိ႕ျဖစ္တယ္။ ကိုယ္က ဘာျဖစ္ခ်င္တာလဲဆိုတာသိရင္ ဘယ္ေလာက္ ေလ႔လာဖုိ႕လိုသလဲဆိုတာကိုလည္းပိုင္းျဖတ္ႏိုင္တယ္။ အစၥေရးမွာေနျပီး ေရကူးသင္ရင္ေကာင္းမလားစဥ္းစားသလိုလည္းျဖစ္ေနတတ္တယ္။ ကုန္းတြင္းပိတ္ႏိုင္ငံထဲမွာေတာ႔ ေရမကူးတတ္လည္းမေသဘူး။ ေရမကူးတတ္ရင္ မေသတဲ႔ေနရာမွာေနျပီး၊ ကမာၻေပၚမွာ ဘယ္ေနရာမွာမဆုိ ေရမကူးတတ္ရင္ မေသဘူးကြ ဆိုျပီးေတာ႔ ေျပာရင္ေတာ႔လည္း မွန္မွာမဟုတ္ဘူး။

Spring မွာဆို AOP, Aspect Oriented Programming အတြက္ သူက အမ်ားၾကီး support လုပ္တယ္။ ကိုယ္က Spring 2.0 ေလ႔လာေနတုန္း၊ xml နဲ႕ configure လုပ္ေကာင္းတုန္းမွာ SpringSource က Spring 3.0 ကို annotation ေတြနဲ႕ သံုးတာကို promote လာလုပ္ေနတာေတြ႕ရတယ္။ IT မွာေပ်ာ္စရာေကာင္းတာက အဲဒါပဲ။ ေလ႔လာလုိ႕မဆံုးဘူး။ ေပ်ာ္တတ္ရင္ေပ်ာ္စရာေကာင္းပါတယ္။ အသံုးမက်တဲ႔သူနဲ႕ အသံုးက်တဲ႔သူကြာျခားသြားဖုိ႕ အေျပာင္းအလဲမ်ားမ်ားလုိတယ္။ သိပ္ကိုလြယ္ကူတဲ႔ေနရာမ်ိဳးမွာ ဘယ္သူက ေတာ္ျပီး ဘယ္သူက ညံ႕လဲခြဲရသိပ္ခက္တယ္။ အေျပာင္းအလဲကို မေၾကာက္ဘဲ၊ ေလ႔လာရမွာေပ်ာ္တတ္ဖို႕စိတ္ကိုျပင္ဆင္ထားရင္ ေနေပ်ာ္ပါလိမ္႔မယ္။

AOP ကို အရင္က ခက္ခက္ခဲခဲေရးၾကရတယ္။ အခုေတာ႔ သံုးေလးငါးေၾကာင္း config လုပ္လုိက္ရံုနဲ႕အဆင္ေျပတဲ႔ေခတ္ကိုေရာက္လာျပီ။ အၾကမ္းဖ်င္းေျပာရရင္ေတာ႔ AOP က Transaction Advice ေတြ ဘာေတြ လုပ္တဲ႔အခါသံုးတာေပါ႔။ ဥပမာ Customer A ကို database ထဲ insert မလုပ္ခင္၊ သူ Registered လုပ္ထားလားစစ္မယ္၊ျပီးေတာ႔ သူ႕ကို တစ္ျခား Black List Table မွာ တိုက္ဆုိင္မယ္၊ စတဲ႔ကိစၥမ်ိဳးေတြကို Before မွာလုပ္မယ္။ Customer A ကို create လုပ္ျပီးရင္ After မွာလုပ္ခ်င္တာေတြကို စုျပီး configure လုပ္ထားလုိ႕ရပါတယ္။ ဒါေတြလုပ္ဖုိ႕မ်ား AOP မလိုပါဘူးဆိုတာေတြျဖစ္ခ်င္လည္းျဖစ္လာမယ္။ Real world မွာေတာ႔ ဒီထက္ခက္ခဲတာေတြရိွပါတယ္။ Stand alone system နဲ႕ Distributed System ေတြရဲ႕ Complexity ေတြက ဘယ္လိုမွယွဥ္လို႕မရပါဘူး။ ေနာက္ပိုင္းမွာ code level မွာျပင္တာေတြထက္ Config ကေနပဲ လိုတာေတြကို ျပင္လုိ႕ရလာေအာင္ Flexibility နဲ႕ Maintainability အတြက္ ျပင္ဆင္လာၾကတာေတြ႕ရပါတယ္။

ဥပမာ Spring မွာ အရင္က iBATIS သံုးတယ္။ သူကေတာ႔ ဘုရားစူး ORM (Object-Realational Mapping)။ ORM framework ေတြေတာ္ေတာ္မ်ားမ်ားရိွတယ္။ Hibernate ကေတာ႔ ဆ်ာဂ်ီးေပါ႔။ သူတို႕မွာလည္း သူတုိ႕ျပႆနာနဲ႕သူရိွတာေတာ႔ရိွတယ္။ ORM ဆိုလို႕ သူတုိ႕ကို ဘာအတြက္သံုးလဲဆုိတာေလး နည္းနည္းျဖည္႕ေျပာလုိက္ခ်င္တယ္။ Database ခမ်ာ ႏွစ္ေပါင္းမ်ားစြာ Relational အျဖစ္နဲ႕ေနလာရာကေန OO ေတြ က သူ႕ကို OO လုိ နားမလည္တဲ႔ေကာင္ဆိုျပီး ေျပာတာကို ခံေနရတာၾကာျပီ။ အဲဒီေတာ႔ OO နဲ႕ Relational DB ေျပာရဆုိရလြယ္ေအာင္နဲ႕ အသံုးပိုက်လာေအာင္ ORM ေတြသံုးလာတာပါ။ အရင္က Obj တစ္ခုလံုးကို Table ထဲထည္႕လုိ႕မရဘူး။ သပ္သပ္စီပဲ။ Table ထဲထည္႕ခ်င္ရင္ column data တစ္ခုစီကို insert လုပ္ရတယ္။ Customer data ဆိုရင္ name,nric, ဘာညာ၊ဘာညာေတြ insert လုပ္ရတာသိပ္ပ်င္းဖုိ႕ေကာင္းတယ္။ အခုေတာ႔ ORM ေတြေၾကာင္႔ Insert(Customer) ဆိုတာမ်ိဳးနဲ႕ကိစၥျပီးတယ္။ စကားကိုျပန္ေကာက္ရရင္ Spring မွာ iBATIS အစား Hibernate ေျပာင္းသံုးခ်င္လည္း သိပ္အမ်ားၾကီးျပင္စရာမလုိဘူးဆိုတာပါ။ အဲဒီလို ေရရွည္မွာ ကိုယ္႔ဘ၀ကို သက္သာေစမယ္႔ကိစၥေတြမ်ားမ်ားသိသင္႔တယ္။ အဲဒါေတြကိုလည္း ကိုယ္႔ထက္ေတာ္တဲ႔သူေတြ လုပ္ထားျပီးျပီ။ နည္းနည္းေတာ႔ေလ႔လာလိုက္၊ အဆင္ေျပသြားေစရမယ္ဆိုတာမ်ိဳး။ (Spring ကို promote လုပ္ေနသလုိမ်ားျဖစ္ေနျပီလားမသိ။)

ေနာက္ျပီးအခုေခတ္က ေလ႔လာစရာေတြသိပ္မ်ားေတာ႔ ကိုယ္႔ဘ၀ၾကီးကို ဘာနဲ႕လဲစားလုိက္ရမွန္းမသိဘူးျဖစ္ျဖစ္ေနတာပဲ။ တစ္ခါတစ္ေလလည္းေတြးမိတယ္။ ပိုက္ဆံ ႏွစ္ေသာင္းေလာက္ျပည္႕ေအာင္စု။ အီတလီသြား၊ ေကာ္ဖီေဖ်ာ္တတ္ေအာင္သင္။ စင္ကာပူျပန္လာ၊ ေလဆိပ္မွာ ဆိုင္ေလးဖြင္႔။ တစ္သက္လံုး ဇိမ္က်မွာ။ ဒါေပမယ္႔ ဒါမ်ိဳးကို အသက္ေလးဆယ္ေက်ာ္ေလာက္မွာစဥ္းစားပါလို႕ပဲေတြးေတြးမိတယ္။ ျမန္မာဗီဒီယိုထဲကလို စိတ္ေကာင္းနဲ႕စိတ္ဆိုး အေကာင္ႏွစ္ေကာင္ေပၚေပၚလာသလိုျဖစ္ေနတယ္။ ကိုယ္႔ကို ပင္ပန္းေစခ်င္တဲ႔ေကာင္က ကိုယ္ပင္ပန္းေနရတာကိုပဲေပ်ာ္ေနပံုရတယ္။

ဒီမွာလည္း Technical စစ္စစ္ၾကီးေတြမေရးေသးဘဲ စကားပဲမ်ားေနရတာလည္းအေၾကာင္းရိွပါတယ္။ တကယ္ေလ႔လာခ်င္တဲ႔သူေတြက ေျမွာက္ေပးဖုိ႕ပဲလုိတာပါ။ အဲေလ ... တုိက္တြန္းတာ၊ suggest လုပ္တာ .. အဲဒါေတြပဲလုိပါတယ္။ Professional အလုပ္လုပ္စားျပီး ေယာင္တိေယာင္နဆို ေရလည္ အျမင္ကတ္မိတယ္။ လူမ်ားပိုက္ဆံကို ညာယူတဲ႔သူမ်ိဳးလုိ႕ပဲထင္တယ္။ Professional ဆိုတာ လူမ်ားထက္ ဒီအလုပ္မွာ ပိုေတာ္ျပီး ေထာင္႔ေစ႔တဲ႔သူမ်ိဳးပဲျဖစ္ရမယ္။ ကိုယ္ေလာက္မသိတဲ႔သူကေမးရင္ ခ်က္ခ်င္းေဒါက္ခနဲမေျဖႏိုင္ဘဲ၊ ေဒါက္ခနဲ ေအာက္ေမးျပဳတ္က်ျပီး ပါးစပ္အေဟာင္းသားျဖစ္ရတာေလာက္ ရွက္စရာေကာင္းတာမရိွဘူးလို႕ထင္တယ္။ တစ္ခုခုေမးမွ I am not sure ဆုိရင္ အဲဒါ professional မဟုတ္ေတာ႔ဘူး။ ကိုယ္႔ကိုယ္ကို အလုပ္နဲ႕ပတ္သက္ရင္ Professional ဆိုတာကို ေမ႔မထားေစခ်င္ဘူး။ အဲဒီ အေတြးအေခၚေတြကို အဓိက promote လုပ္ခ်င္တာပါ။ ျမန္မာအမ်ားစုက ကိုယ္႔အထက္မွာ ျမန္မာတစ္ေယာက္ရိွတယ္ဆိုရင္ ေမးလုိ႕ကိုမဆံုးဘူး။ အလုပ္လုပ္မွာလား၊ ဒါမွမဟုတ္ ကိုယ္က စာလာသင္တာလားဆုိတာကိုေမ႔ေနၾကသလိုျဖစ္ေနတယ္။ တကယ္႔ဘ၀ၾကီးမွာ ကို္ယ္႔ဘာသာကိုယ္ေလ႔လာမွပဲ ကိုယ္တုိင္သိတဲ႔အသိကိုရတယ္။ သူမ်ားကိုေမးေနတာေတြက ခဏေနဆိုျပန္ေမ႔သြားတာပါပဲ။ ကိုယ္ သံုးေလးရက္ ရွာဖတ္ျပီးမွ သိလုိက္တဲ႔ဟာနဲ႕ လူမ်ားကို အလြယ္တကူေမးလုိ႕သိလုိက္ရတာနဲ႕က မွတ္မိပံုခ်င္းတူကိုမတူပါဘူး။

B a Professional @ Work

ျဖစ္ႏုိင္ရင္ တျခားသူေတြလုပ္ႏိုင္တာထက္ ပိုျပီး quality ေကာင္းေအာင္လုပ္ပါ။ ဘယ္ေနရာမွာမဆို၊ ကိုယ္လုပ္လုိက္တာဟာ နည္းနည္းေတာ႔ value added ျဖစ္ေအာင္။ ေမးလ္ျပန္ပို႕ရင္ေတာင္ လုိအပ္ရင္ အေရာင္ေလးဘာေလးသံုး၊ highlight လုပ္၊ ကိုယ္႔ေမးလ္ကို follow up လုပ္။ ဘယ္သူပဲၾကည္႕ၾကည္႕ ကိုယ္အလုပ္လုပ္ႏိုင္တာကို သိသာေအာင္ေနပါ။ အလုပ္လုပ္ႏုိင္ျပီး အျမန္ျပီးေအာင္လုပ္၊ ပိုတဲ႔အခ်ိန္သက္သာေအာင္ေနတာနဲ႕ လြယ္လြယ္ေလးေတြကို ခက္ေနတာနဲ႕ကလည္း တူသလုိလုိနဲ႕ အေတာ္ၾကီးကြာတယ္။

လူတုိင္းက Genius မဟုတ္ဘူး။ လူတိုင္းကလည္း ကိုယ္ေလာက္ပဲေတာ္တာမဟုတ္ဘူး။ ကိုယ္႔ထက္ေတာ္တာကို ေတာ္တယ္လုိ႕ လက္ခံလုိက္တာေကာင္းတယ္။ အဲဒီလို လက္မခံရင္ သူ႕လုိေတာ္ဖုိ႕မလြယ္ေတာ႔ဘူး။ ကိုယ္က ပိုေတာ္တယ္လုိ႕ထင္ရင္ သူ႕ဆီက ဘာပညာမွယူစရာမရိွေတာ႔ဘူး။ လူမ်ားေတြ အလြယ္တကူလုပ္ေနတာကို ကိုယ္က ခက္ေနရင္ "နည္းနည္းေလးေတာ႔ လြယ္ေနမယ္၊ လြဲလြဲေလးပဲေကာင္းပါတယ္ျဖစ္ေနမယ္။ " (ထူးအိမ္သင္ သီခ်င္းစာသား)

ေနာက္တစ္ခုက ဆက္ဆံေရး။ ဘယ္အလုပ္မွာပဲျဖစ္ျဖစ္၊ အထက္လူၾကီးက သူနဲ႕အဆင္မေျပတဲ႔သူကို ညံ႔တယ္ထင္တာပဲ။ အဲဒါကိုလည္းမေမ႔နဲ႕။ ျပံဳးျပရတာ ဘာမွ ပဲ႔ပါမသြားဘူး။ ေပ်ာ္ေပ်ာ္ရႊင္ရႊင္ ခင္ခင္မင္မင္ေနျပီး အားလံုးနဲ႕တဲ႔ေအာင္ေပါင္းသင္႔တယ္။

ကဲ ကဲ .. တရားသိမ္းၾကရေအာင္။ အဲေလ ... နိဂံုးခ်ဳပ္ၾကစို႕ ...။ လုိက္ဆိုလုိက္ပါဦး။

I will be a Professional @ work.

This is my commitment.



Ctrl+C De Bono's last book title :.

Ctrl+V In this post


R3gArdS,

Z3R0

Friday, May 6, 2011

Geez, what hardware spec i've got there ?

တစ္ခါတစ္ေလ Server ေတြရဲ့ Hardware spec ျပန္ၾကည့္ခ်င္တယ္၊ Serial Number ျပန္ၾကည့္ခ်င္တယ္၊ Server ကလည္း အနားမွာမရွိဘူး ၊ က်ေနာ္လို႕ documentation ေကာင္းရင္ ဘာ server သုံးခဲ့မိမွန္းေတာင္ မမွတ္မိေတာ့ဘူးဆိုရင္ command line ကေန ၾကည့္လို႕ရပါတယ္။ အမ်ားဆုံးျဖစ္တတ္တာက က်ေနာ္တို႕ဆို memory upgrade လုပ္ခ်င္တာ၊ memory type သိခ်င္ရုံနဲ႕လည္း Data center အထိမသြားခ်င္၊ သြားျဖစ္လည္း ဒါေလးအတြက္နဲ႕ BIOS ထဲဝင္မၾကည့္ခ်င္ရင္ အသုံးတဲ့ပါတယ္။

Linux မွာေတာ့ dmidecode command က ေတာ္ေတာ္အသုံးဝင္ပါတယ္။
Serial number ေလာက္ျပန္ၾကည့္ခ်င္တာဆို
# dmidecode --type 1

လို႕႐ိုက္လိုက္ရင္ Chassis က serial number ကိုျပေပးပါတယ္။ Memory slot ေတြနဲ႕ ပတ္သက္တယ့္ information က type 16 ျဖစ္ေလ့ရွိပါတယ္။ Slot အေရအတြက္နဲ႕ Max capacity ျပပါလိမ့္မယ္။ အခုလက္ရွိတပ္ထားတယ့္ memory ကိုၾကည့္ခ်င္ရင္ေတာ့ Server အဖုံးဖြင့္ၾကည့္ရပါတယ္။ အခုလက္ရွိ တပ္ထားတယ့္ memory ရဲ့ information ေလာက္ပဲၾကည့္ခ်င္ရင္ေတာ့ 'dmidecode --type 17' ဆိုရင္ရပါတယ္။ DDR အမ်ိဳးအစားနဲ႕ speed ကိုျပပါလိမ့္မယ္။

Type နံပါတ္မေသခ်ာရင္လည္း dmidecode ရဲ့ output တစ္ခုလုံးကို output pipe နဲ႕ more ဒါမွမဟုတ္ less ဆိုျပီး ၾကည့္ရင္လည္းရပါတယ္။ Output ကရွင္းပါတယ္ ၊ လိုတယ့္ information ကိုရွာလို႕ လြယ္ပါတယ္။ ဒါဆို command က ဒါမ်ိဳးေပါ့။
# dmidecode | less


Linux ရဲ့ dmidecode ကေတာ့ hardware info ကိုပဲ အဓိကျပပါတယ္။

Windows မွာဆိုရင္ေတာ့ wmic ဆိုတယ့္ command တစ္ခု ပါပါတယ္။ Windows Management Instrumentation ေပၚမွာ အေျခခံထားတယ့္ command ပါ။ wmic command output ကရွုပ္လို႕ တစ္ခါမွ လိုက္မၾကည့္ဖူးပါဘူး။ လိုတာပဲမွတ္ထားမိတယ္။ ဒါေပမယ့္ သူကေတာ့ ပိုျပီး information မ်ားမ်ား retrieve လုပ္ႏိုင္ပါတယ္။

Serial number ကေတာ့ BIOS မွာရွိပါတယ္ ။
> wmic bios

ဆိုရင္ မ်က္စိေနာက္စရာ output နဲ႕ျပပါတယ္။ လိုခ်င္တာေလးျပန္ ျဖတ္ၾကည့္ရတယ္။
> wmic bios get serialnumber

ဒါမွ လိုခ်င္တာေလးျပတယ္။

Memory speed ကေတာ့ memorychip ထဲမွာပါ။
> wmic memorychip get speed

ဒါမွမဟုတ္ပဲ တျခားဘာေတြရွိေသးလည္းၾကည့္ခ်င္ရင္ ေနာက္က get speed ျဖဳတ္႐ိုက္ေပါ့။ အဲ Memory capacity က်ေတာ့ memphysical ထဲမွာ ။
>wmic memphysical get maxcapacity

ဆိုရင္ maximum capacity ျပျပီး ၊
>wmic memphysical get memorydevices

ဆိုရင္ slot ဘယ္နခုရွိလည္း ျပပါတယ္။

WMIC က hardware info retrieve လုပ္ဖို႕ေလာက္ လုပ္ထားတာမဟုတ္ပဲ current system ရဲ့ info ေတာ္ေတာ္မ်ားမ်ား process info ေတြ ၊ partition table ေတြပါၾကည့္လို႕ရပါတယ္။ WMIC အေၾကာင္းထပ္သိခ်င္ေသးရင္ ဒီ link မွာ ရွိပါေသးတယ္။ အေသးစိတ္ကေတာ့ Google ကရွာျပီး Microsoft technet article သာရွာဖတ္ၾကည့္ေပါ့။

http://www.robvanderwoude.com/ntadmincommands.php

အသုံးတဲ့မယ္ထင္ပါတယ္။ မတဲ့လည္း သုံးၾကည့္ေပါ့ ။ :D

Divinity

Wednesday, April 27, 2011

Make your own shutdown command :D

စာေရးမယ္ ေျပာတုန္းကေျပာျပီး ေရးဖို႕ၾက ပ်င္းတယ္။ Game က လည္း ဆက္ကစားရအုန္းမယ္ ။ အခ်ိန္ေတြက ေလာက္ကို မေလာက္ဖူး ။ ေခါင္းစဥ္ဖတ္ျပီး ၾကီးၾကီးက်ယ္က်ယ္ေတာ့ မထင္ပါနဲ႕ ။ Linux ေပၚမွာ ေပါက္ကရ ေပါက္စေလးတစ္ခုေလာက္ လုပ္ၾကည့္ရေအာင္။

Bash မွာ command alias ေလးတစ္ခုေလာက္ ေရးၾကည့္ရေအာင္ ။ ကိုယ့္နာမည္႐ိုက္လိုက္ရင္ laptop က shutdown က်သြားတာမ်ိဳးေလးဆို မဆိုးဘူး။
$HOME ရဲ့ေအာက္မွာ .bash_profile သို႕မဟုတ္ .profile ဆိုတယ့္ file ရွိပါတယ္။ Bash shell မွာ .bash_profile လို႕ေတြ႕ရျပီး Sh မွာေတာ့ .profile လို႕ေတြ႕ရပါတယ္။ ( မိုးေလဝသ ေၾကညာတယ့္ ေလသံမ်ားေပါက္သြားလားမသိဘူး) Filename မွာ ေရွ႕မွာ full stop ပါပါတယ္။ ဒါ nix မွာ ေတာ့ hidden attribute ပါ။ ls နဲ႕ၾကည့္ရင္ ls -a ဆိုမွ ျမင္ရပါလိမ့္မယ္။ ကဲ အဲဒီ file ကို edit လုပ္ၾကမယ္။ vi ပဲျဖစ္ျဖစ္ vim ပဲျဖစ္ျဖစ္ nano ပဲျဖစ္ျဖစ္ ၾကိဳက္ရာနဲ႕ ဖြင့္၊ edit ျပီး save လို႕ရရင္ ျပီးတာပဲ။ ျပီးရင္ ဒီ ႏွစ္လိုင္းကို ေအာက္ဆုံးမွာ ျဖည့္လိုက္ပါ။

gant=`which shutdown`
alias divinity='$gant -h now'


Generic ျဖစ္ေအာင္ ႏွစ္လိုင္းေရးလိုက္တာပါ။ Shutdown file ရွိတယ့္ path ကိုတန္းေပးျပီး $gant လို႕ မေပးေတာ့ရင္လည္း ရပါတယ္။ divinity ေနရာကေတာ့ ကိုယ့္နာမည္ ကိုေျပာင္းေပါ့။ Save လုပ္ျပီးရင္ စမ္းခ်င္ရင္ logout ျပီး ျပန္ login ဝင္ရပါတယ္။ Shell environment ကို edit တာမို႕ ခ်က္ခ်င္း effective မျဖစ္ပဲ next login မွာမွ effective ျဖစ္ပါတယ္။ ကဲ အခုဆိုရင္ေတာ့ ကိုယ့္နာမယ္ ကိုယ္႐ိုက္ျပီး shutdown ခ်လို႕ ရပါျပီ ။ ( စားၾကမယ္ေဟ့ ေကာင္းေကာင္း ေလသံေပါက္သြားလားမသိ )


Divinity

Smart, and Gets Things Done.

Smart, and
Gets Things Done.

အဲဒါေျပာတာ ကြ်န္ေတာ္မဟုတ္ပါဘူး။Joel Spolsky ဆိုတဲ႔ company ပိုင္ရွင္ေျပာတာျဖစ္ပါတယ္။ သူက အင္တာဗ်ဴးရင္ အဲဒီလို Get Things Done in smart ways ျဖစ္တဲ႔ငနဲရွာခ်င္တာပါ။ ပင္ကိုယ္စြမ္းရည္ေကာင္းတာမ်ိဳးလိုခ်င္တယ္လို႕ေျပာတယ္။ သူေျပာတာက သင္ထားတာေတြတတ္ေနတာအျပင္ ပင္ကိုယ္ကလည္း အလုပ္လုပ္ရင္ ျဖစ္ေအာင္လုပ္တဲ႔လူမ်ိဳးလုိခ်င္တာ။

Joel ေျပာတာက အရင္က သင္ထားလို႕တတ္ေနတာေတြက Technically ေျပာရင္ အေဟာင္းၾကီးေတြျဖစ္ေနျပီ။ နည္းပညာအသစ္ေတြကို အင္တာဗ်ဴးလာေျဖတဲ႔သူက နားလည္ႏုိင္မလား၊ အျမန္ေလ႔လာႏုိင္မလားဆိုတာကို Joel က သိခ်င္ပါတယ္။ သူ႕ရံုးမွာခန္႕မယ္႔လူေတြကို အဲဒီလို ပင္ကုိယ္စြမ္းရည္ေကာင္းတာမ်ိဳး ျဖစ္ေစခ်င္တယ္ေပါ႔ဗ်ာ။ ေခတ္နဲ႕အံမ၀င္တဲ႕နည္းပညာေတြကို သိပ္ကိုကြ်မ္းေနပါတယ္ဆိုတာမ်ိဳးကို သူကမခန္႕ခ်င္ဘူး။


စမတ္က်တယ္ဆုိတာသတ္မွတ္ရခက္ပါတယ္။ အင္တာဗ်ဴးေမးခြန္းေတြကို ဘယ္လုိေျဖသလဲ၊အေျဖရေအာင္ဘယ္လုိခ်ဥ္းကပ္သလဲဆိုတာေတြကေန ခန္႕မွန္းၾကည္႕ရတာပါပဲ။ ဒါေပမယ္႔ အလုပ္ကိုျပီးေျမာက္ေအာင္၊ ေအာင္ျမင္ေအာင္ လုပ္တတ္တဲ႔အမူအက်င္႔ကေတာ႔ အေရးအၾကီးဆံုးပါပဲ။ တစ္ခ်ိဳ႕လူေတြက သိပ္ေတာ္တယ္။ အလုပ္ျဖစ္ေအာင္သာမလုပ္တတ္တာ၊ အဲဒီလူေတြက phD ေတြဘာေတြရတဲ႔အထိျဖစ္ႏုိ္င္တယ္။ Smart က်တာနဲ႕ အလုပ္ျပီးေအာင္ လုပ္တတ္တာမတူပါဘူး။

smart ေတြဟာ ေတာ္တယ္။ get Things Done ခ်င္မွ done မယ္။ company အၾကီးၾကီးေတြမွာ ရာထူးအၾကီးၾကီးေတြနဲ႕ေနခ်င္လည္းေနမယ္။ သိပ္လည္း smart ျဖစ္တယ္။ လုပ္လုိ႕မျဖစ္ႏုိင္ေလာက္တာေတြပဲလုပ္ေနလို႕ ဘယ္သူမွ သူ႕ဆီက အၾကံမယူႏို္င္ေလာက္ေအာင္ကို smart ျဖစ္ေနတာမ်ိဳး။ သူတုိ႕က သိပ္ကို အခဲဒမစ္ဆန္တဲ႔အတြက္ software ေတြ ဘယ္အခ်ိန္မွာျပီးဖုိ႕ထက္၊ ျပႆနာတစ္ခုခုကို အေလးအနက္ကိုင္တြယ္ေျဖရွင္းဖုိ႕ကို ပိုစိတ္၀င္စားတယ္။

အလုပ္မျဖစ္ဘူးဆိုတာက အလုပ္မလုပ္တာကိုေျပာတာမဟုတ္ဘူးေနာ္။ သူလုပ္ခ်င္တာလုပ္ေနလို႕ တကယ္လုပ္ရမယ္႔ဟာေတြမျပီးတာမ်ိဳးလည္းျဖစ္ႏုိင္တယ္။ အလုပ္မဟုတ္တာေတြကို လုပ္လုပ္ေနတတ္လုိ႕ Joel က အဲဒီလို smart ေတြ၊ smart but not useful လုိ႕သတ္မွတ္ပါတယ္။ သူ႕အတြက္သတ္မွတ္တာပါ။ ဒီလုိလူေတြက research ေတြဘာေတြသြားဖုိ႕သင္႔ေတာ္တယ္လုိ႕ကြ်န္ေတာ္ျမင္ပါတယ္။ အံမ၀င္တာမ်ိဳးပါ။ ျပိဳင္ကားေမာင္းဖုိ႕မ်က္လံုးေကာင္းျပီး၊ ဦးေႏွာက္က response ျမန္တဲ႔သူကို စပါးလံုးေကာက္ခိုင္းဖုိ႕ အလုပ္ခန္႕ေနတာမ်ိဳးလည္းျဖစ္ေနႏို္င္တယ္လုိ႕ျဖည္႕စြက္ေတြးမိပါတယ္။


အလုပ္ပဲျဖစ္ေအာင္လုပ္ျပီး smart မက်တဲ႔ေကာင္က ပိုေတာင္ဆိုးေသး။ သူက အလုပ္ျဖစ္ေအာင္ ျဖစ္သလိုလုပ္ပစ္မယ္။ ေနာက္က်ရင္ သူလုပ္ထားတာေတြကို ျပန္ရွင္းေနရတာနဲ႕ပိုဆုိးကုန္တယ္။ အဲဒါကို ကြ်န္ေတာ္နည္းနည္းျဖည္႕ေျပာလုိက္ခ်င္တယ္။ Developers ေတြအလုပ္လုပ္ရင္ နားလည္ဖုိ႕မၾကိဳးစားခ်င္တဲ႔အခါ hard code လုပ္ပစ္တာမ်ိဳး၊ အဲဒါကို အေပၚလြင္ဆံုးျပႏိုင္တဲ႔ အဂၤလိပ္ အီဒီယမ္တစ္ခုကေတာ႔ sweep things under the carpet ပါ။ ျပႆနာေတြကို ဖံုးထားလိုက္တယ္။ ေနာက္ေတာ႔မွ ေလွ်ာက္လုပ္လုိက္တာေၾကာင္ျပႆနာ႔ပိုၾကီးသြားျပီ။ အပ္နဲ႕ထြင္းရမွာကေန c4 နဲ႕ခြဲရတဲ႔အဆင္႔ကိုေရာက္ပါတယ္။


Joel ေျပာတာက အင္တာဗ်ဴးမွာ ဘာလုိ႕ သိပ္အသံုးမက်တဲ႔ေမးခြန္းေတြဘာလို႕ေမးမွာလဲတဲ႔။ ဥပမာ oracle8i မွာ varchar နဲ႕ varchar2 ဘာကြာလဲေမးတာမ်ိဳးတဲ႕၊ ဒီလိုေမးခြန္းအတြက္ အြန္လိုင္းကေန ၁၅ စကၠန္႕နဲ႕ရွာလုိ႕ရတယ္ဆိုတာ သူသိတယ္။ အဲဒါမ်ိဳးေတြေမးတာ ရယ္စရာေကာင္းတယ္လို႕သူကေျပာပါတယ္။

သူလုိခ်င္တဲ႔အရည္အခ်င္းေတြထဲမွာ passion နဲ႕အလုပ္လုပ္တဲ႔အခ်က္လည္းပါပါတယ္။ အဲဒါေလးကိုေတာ႔ အေလးအနက္ေျပာခ်င္ပါတယ္။ အင္တာဗ်ဴးမွာ ကိုယ္တကယ္လုပ္တတ္လားမလုပ္တတ္လားခန္႕မွန္းဖုိ႕သာမလြယ္တာ၊ ကိုယ္႔အလုပ္ကိုကုိယ္ေျပာတဲ႔အခါ သိပ္ကိုတက္ၾကြျပီးအာေပါင္အာရင္းသန္ေနရင္၊ အခု laptop ေပးအခုေရးလုိက္ခ်င္စမ္းတယ္ဆိုတဲ႔အထာၾကီးနဲ႕ေျပာေနဆိုေနရင္ ဒီလူဟာ ၀က္ကိုေဟာလစ္လုိ႕ထင္တဲ႔အစားပဲဆိုျပီး အလုပ္ခန္႕ခ်င္လည္းခန္႕မွာတဲ႔။

ေနာက္တစ္ခုက်န္ေသးတယ္။ အရင္အလုပ္မွာလုပ္ခဲ႔တာကို အပိုေတြေျပာမယ္ဆိုရင္ လုိသေလာက္ပဲအပိုေျပာဖုိ႕ပါ။ လုပ္ခဲ႔တာက developer။ project ကိုလည္း ကိုယ္ပဲ manage လုပ္ခဲ႔တယ္သြားေျပာရင္ယံုမွာမဟုတ္ဘူး။ ဒါေပမယ္႔ အဲဒီလို High level view ရိွေၾကာင္း၊ System Analysis လုပ္တုန္းကပါခဲ႔ေၾကာင္းေလာက္ေျပာရင္ကိုအိုေကျပီ။ အကန္႕အသတ္ေလးနဲ႕ေျပာဖုိ႕။ ကို္္ယ္ထြက္သြားလုိ႕ ဟိုကုမၸဏီမွာ Do နဲ႕မ်က္ရည္သုတ္က်န္ခဲ႔သေယာင္ၾကီးေတြ ေလွ်ာက္မေျပာဖုိ႕၊ Attitude ေကာင္းဖုိ႕ေတြသတိထားျပီးေျဖဖုိ႕ေတြကို သူကေျပာပါတယ္။

ဒီပို႕စ္ကေတာ႔ Blah-Blah ပါပဲ။ Blah-blah ဟာ Blurred blurred ထက္ေတာ႔ေကာင္းပါတယ္။ တကယ္လုိ႕ အလုပ္တစ္ခုမွာ လုပ္ေတာ႔မယ္ဆိုရင္ အဲဒီအလုပ္ကို professional ပီပီသသ လုပ္ရင္ ေရရွည္မွာပိုျပီးတုိးတက္လာတာပါပဲ။ အင္တာဗ်ဴးေျဖတာေတြကလည္း ကိုယ္သိတာကို အားၾကိဳးမာန္တက္ေျပာတာအေရးၾကီးသလို၊ကိုယ္တကယ္သိဖုိ႕လုိတာေတြသိေနဖုိ႕လည္းလုိပါတယ္။ အခုလုိ Resume' ျပင္ေရးေနတဲ႔အခါသမယမွာ Tips and Tricks ေတြကို share လိုက္ပါတယ္။

နတ္လူသာဓုစ္ေခၚေစေသာ္၀္။

Regards,

Zero


Religion : Googlism

Google သာမရွိရင္ က်ေနာ္တို႕ engineer ျဖစ္ပါ့မလား ? Google သာမရွိရင္ က်ေနာ္လည္း mechanical engineer ပဲလုပ္ျဖစ္မယ္ထင္တယ္။ အခုလို IT ျဖစ္လာမွာမဟုတ္ဖူး။ က်ေနာ္တို႕ အတြက္ Google က ဘဝပဲ ဟဲဟဲ။ ဒါလည္း ေျပာရရင္ေတာ့ မေကာင္းဘူး။ က်ေနာ္တို႕ မွတ္ဉာဏ္ထက္ Google docs ေတြ Google bookmarks ေတြ ကိုပိုအားကိုးလာရင္ မေကာင္းဘူးလို႕ထင္တာပဲ။ အတိုင္းအတာ တစ္ခုထိ သုံးရေပမယ့္ ဒီေပၚမွာပဲ depends မလုပ္မိသင့္ပါဘူး။ က်ေနာ္ဒီေန႕ MySQL cluster setup လုပ္ျဖစ္လို႕ က်ေနာ္ရဲ့ ပထမဆုံး setup လုပ္ျဖစ္တယ့္ အေတြ႕အၾကံုနဲ႕ ျပန္ယွဥ္စဥ္းစားမိပါတယ္။

က်ေနာ္တို႕ ဒီက Telecom တစ္ခုအတြက္ application တစ္ခု setup လုပ္တုန္းကပါ၊ က်ေနာ္က servers setup လုပ္ရပါတယ္။ Solaris 8 ေပၚမွာ။ သူတို႕ server ေတြထားတယ့္ server room ေတြမွာ က်ေနာ္တို႕အတြက္ internet access မရွိပါဘူး။ အဲ server ကိုတိုင္လည္း IP က approve မျဖစ္ေသးလို႕ link activate မျဖစ္ေသးပါဘူး။ အဲေတာ့ ေျပာရင္ ဘာ network connection မွမရွိပါဘူး။ Documentation ျပင္ဆင္သြားေပမယ့္ ရွန္းတတ္တယ့္က်ေနာ္ documentation မွာအဆင့္ေက်ာ္သြားပါတယ္။ ရွာစရာ internet လည္းမရွိဘူး။ အဲတုန္းက iphone မေပၚေသးဘူး။ :D Windows mobile မေကာင္းေၾကာင္းကေတာ့ က်ေနာ္မေျပာေတာ့ဘူး။ က်ေနာ္တို႕မွာ internet ကေန ရွာဖို႕ phone မွာရွာ လိုက္ဖတ္ ၊ ေနာက္မွ က်ေနာ္ အဆင့္ေက်ာ္သြားတာမွန္းသိတယ္။ အဲတုန္းကဘာပဲလိုလို Google မွာရွာ ေတြ႕တယ့္ အတိုင္းလုပ္လိုက္တာပဲ။ ရရင္ရ ၊ မရရင္ ဆက္ရွာ။ ဒါပဲလုပ္တတ္တယ္။ အဲဒါကိုပဲ လုပ္တတ္ေနျပီလို႕ ကိုယ့္ဟာကို ထင္တာ။ Internet မရွိတယ့္ ေနရာမွာ အလုပ္လုပ္ဖူးျပီးမွ ငါေတာ္ေတာ္လိုေသးတယ္လို႕ သိတာ။ ဒါေတာင္ compilation မလုပ္ရလို႕။

Internet က ေလ့လာၾကတာ အလြန္ေကာင္းေပမယ့္ internet ရွိမွ ျဖစ္ရင္ေတာ့ မေကာင္းဘူး။ Howto ေတြရွာၾကရင္လည္း ဘာေၾကာင့္ ဒီ howto မွာ ဒီလို လုပ္သလည္းဆိုတာကို ေလ့လာဖို႕ သိပ္မလုပ္ၾကဖူး။ Ubuntu howto ကို Fedora ေပၚမွာ ျပန္အသုံးမခ်ႏိုင္တယ့္ linux ဆရာေတြ ေတြ႕ဖူးပါတယ္။ ဒီ command ကရွိမွ မရွိတာ ဆိုျပီး fedora version howto ရေအာင္ လိုက္ရွာတာမ်ိဳး။ ေနာက္ေတာ့ က်ေနာ္ README file ေတြ ဖတ္ျဖစ္လာတယ္။ ဘာပဲ compile လုပ္လုပ္ README အရင္ဖတ္တယ္။ ျပီးမွ internet မွာရွာတယ္။ ဒါလည္း reference အေနနဲ႕ပါ။ Linux မွာ source file ေတြမွာပါတယ့္ text file ေတြမွာ compilation / installation အတြက္ ရွင္းျပထားတာမ်ိဳး ပါေလ့ရွိပါတယ္။ က်ေနာ္လည္း ေနာက္မွေတြ႕တယ္။ MySQL source file ထဲမွာ INSTALL-BINARY ဆိုတယ့္ file တစ္ခုမွာ အဆင့္လိုက္ရွင္းျပထားပါတယ္။ အဲတုန္းကေတာ့ 20C temperature အခန္းထဲ ေခြၽးေတြပ်ံလို႕။

အျမဲတန္း အလုပ္ျဖစ္သြားရုံထက္ explore လုပ္ၾကည့္ပါ အမွားမရွိပါဘူး။ ဒီလို စကားမ်ိဳး Zero ေရးတယ့္ post ေတြမွာ ပါေလ့ရွိပါတယ္။ တစ္ခုကို ေကာင္းေကာင္းနားလည္ထားရင္ မသိေသးတာတစ္ခုကို ရွာေဖြဖတ္ရင္လည္း နားလည္လြယ္ပါတယ္။ Google က က်ေနာ္တို႕ရဲ့ ကိုးကြယ္ရာ မဟုတ္ပဲ ခိုင္းစားရုံေလာက္ပဲ ခိုင္းစားၾကရေအာင္။


Divinity

Note : က်ေနာ္ MySQL cluster setup လုပ္ရင္း စဥ္းစားမိတာ ေရးလိုက္တာပါ။ MySQL cluster setup ကေတာ့ ဆက္ပါအုန္းမယ္။ MySQL cluster အတြက္ လိုအပ္တယ့္ ndbd က CentOS repo ထဲမွာ မရွိပါဘူး။ Mysql-max က Redhat မွာ enterprise subscriber ေတြအတြက္ပဲရွိပါတယ္။ အျပင္ rpm ကို download မွာထက္ေတာ့ MySQL site က tgz ေလး download ျပီး ကိုယ့္ဟာကို setup လုပ္တာ က်ေနာ့္အတြက္ ပို အဆင္ေျပပါတယ္။ ဒီည game မေဆာ့ျဖစ္ရင္ mysql cluster ေရးပါအုန္းမယ္။ :D

Monday, April 25, 2011

PL/SQL Developer

PL/SQL Developer

အျမဲတမ္းလုိလုိသံုးျဖစ္တာက SQL developer ပါ။ အခု PL/SQL developer ေျပာင္းသံုးပါတယ္။ သူကေတာ႔ oracle client ရိွဖုိ႕လိုပါတယ္။ Install လုပ္ျပီးရင္ tnsnames.ora ကို admin path မွာထည္႕လုိက္ရံုပါပဲ။ ဒီ IDE ကေတာ႔ DBA ေတြနဲ႕ပိုသင္႔ေတာ္ပါတယ္။

အလုပ္မရိွအလုပ္ရွာျပီး အမ်ိဳးမ်ိဳးစမ္းသံုးၾကည္႕ေနတာပါ။

အခုတေလာ၊ python ေရးတယ္။ php ေရးတယ္။ ASP.net ေရးတယ္။ Java ေရးတယ္။ စိတ္ကူးေပါက္ရာေလွ်ာက္လုပ္ေနတယ္။ မၾကာခင္ Ruby ေရးမယ္။ Closure ေရးပါမယ္။ Languages ေတြရဲ႕ Pros and Cons ကိုမေရးဘူးပဲျငင္းတယ္ျဖစ္မွာစိုးလုိ႕ ..ေရးျပီးမွ ျငင္းၾကမလားလို႕။ Juz kidding.

O_O :P ဆိုတဲ႔ဟာေတြအားလံုးဟာ ဒီပုပ္ထဲက ဒီပဲေတြခ်ည္းပါပဲ။ Language တစ္ခုခုကိုေကာင္းေကာင္းသိရင္ အခ်ိန္တိုအတြင္းမွာေလ႔လာႏုိင္ပါတယ္။ မယံုရင္စမ္းၾကည္႕ပါ။

Git ကိုလည္း အခ်ိန္နည္းနည္းေပးျပီးစမ္းၾကည္႕ဖုိ႕တိုက္တြန္းပါတယ္။ Repoနဲ႕ေရးတာဟာ Team နဲ႕ေရးတဲ႔အခါၾကရင္ျဖစ္ျဖစ္၊ Code Merging အတြက္ပဲျဖစ္ျဖစ္ အဆင္ေျပေစပါတယ္။ Developer ေကာင္းတုိ႕မည္သည္ Source Code ကို Check in မလုပ္ဘဲ အိမ္ျပန္သည္မရိွကုန္ ဆိုတာကိုလည္းမွတ္ထားပါ။ အလုပ္ထြက္တဲ႔အခါ၊ အကုန္လံုး Repo ထဲမွာ ထည္႕ျပီးျပီ တာ႔တာလုိ႕ေျပာလုိ႕ေကာင္းပါတယ္။

ဘာသာျပန္တာေတြ မနက္ျဖန္မွာတင္လုိက္ပါမယ္။

ဒီမွာလာဖတ္တဲ႔သူ ၇ ႏွစ္ေယာက္ေလာက္ေတာင္ရိွတဲ႔အတြက္ အမ်ားၾကီး၀မ္းသာပါတယ္။ တစ္ေယာက္က Divinity၊ တစ္ေယာက္က ကြ်န္ေတာ္ ဆိုေတာ႔ က်န္တဲ႔ ငါးေယာက္ကိုလည္း ေက်းဇူးတင္ပါတယ္။

Sharing လုပ္တယ္ဆိုတာလည္း တစ္ေန႕ေန႕မွာ လုိတဲ႔သူတစ္ေယာက္ေယာက္လာဖတ္ျပီး အိုေကသြားဖုိ႕ပါပဲ။ ေနာက္ထပ္ ၁၀ ႏွစ္ၾကာေသာ္ ျဖစ္ျဖစ္ေပါ႔ေလ။ အဖိုးအိုၾကီးသရက္ပင္စိုက္သလိုေပါ႔။ အဖုိးဘာလုိ႕ သရက္ပင္စိုက္ေနတာလဲဆိုေတာ႔ ေနာက္တစ္ခ်ိန္ၾကရင္ ေမြးလာမယ္႔ကေလးေတြ Eပန္းဖုိ႕ေပါ႔ကြာ လို႕ဆိုသတဲ႔။
ကြ်န္ေတာ္တုိ႕ရဲ႕ရည္ရြယ္ခ်က္ကလည္း အဲဒီအဖုိးၾကီးထက္မေလ်ာ႔ပါဘူး။ ။

Regards,
Zero

Thursday, April 21, 2011

Git Tutorial

Git And GitHub For Windows.

နည္းနည္းေလးစမ္းသပ္ခ်င္သူမ်ားအတြက္။ လြယ္ပါတယ္။ လိုက္လုပ္ၾကည္႕လုိ႕ရပါတယ္။ ဘာမွဆံုးရွံဳးစရာမရိွပါဘူး။ ကိုယ္တုိင္လည္း လုပ္ၾကည္႕ျပီးပါျပီ။ အိုေကပါတယ္။

http://help.github.com/win-set-up-git/

Git ကို နည္းနည္းေလးထပ္ဖတ္ျပီး developer ေတြအတြက္ ထပ္ေရးပါဦးမယ္။ အေပၚက လင္႔ခ္မွာေတာ႔ repository ေဆာက္ျပီး commit လုပ္တာတစ္ခုကိုျပထားပါတယ္။

Regards,
Zero

Related Posts: