လြန္ခဲ့ေသာဆယ္စုႏွစ္(၂)ခုေလ ာက္က ပင္အိုင္တီနည္းပညာလုိက္စား ၾကသူမ်ားသည္ သိသာစြာတစ္ေန႔တျခားမ်ားျပား လာခဲ့ရာ ယေန႔အခါ တြင္မူ လုိက္စားမႈအျမင့္မားဆံုးသို ႕တုိင္ေရာက္ရွိခဲ့ေပၿပီ။ အိုင္တီ နည္းပညာ၏ သေဘာ သဘာ၀အရ လူသား ဗဟုိျပဳလုပ္ေဆာင္ရ သည္ျဖစ္ရာ ယင္းနယ္ပယ္၌ လုပ္ကိုင္ေဆာင္ရြက္မယ္ဆိုပါ က အရည္ အခ်င္းျပည့္၀ေနရန္လိုအပ္ပါတ ယ္။ အရည္အေသြးျပည့္၀ေနေသာ ၀န္ထမ္းမ်ားရွိသည့္လုပ္ငန္းမ်ားအဖုိ႕ စြမ္းေဆာင္ရည္ျပည့္ျပည့္၀၀ျ ဖင့္ ရဲရဲ၀ံ့၀ံ့အာမခံႏိုင္ေသာ တန္ဖိုးျမင့္လူႀကိဳက္မ်ားသည ့္အရည္အေသြး
ရွိေသာ product မ်ားကို ထုတ္လုပ္ႏိုင္ပါလိမ့္မယ္။ ဒါေၾကာင့္ Java
Programmer လုပ္ေဆာင္ေနသူမ်ားအဖုိ႕ သိထားသင့္ေသာအခ်က္မ်ားစြာ ရွိသည့္အနက္
မသိမျဖစ္သည့္အေၾကာင္းအရာ (၁၀)ခ်က္ကို ေဖာ္ျပလုိက္ ပါတယ္ . . .
<Object Oriented>
Java ၏အႏွစ္သာရျဖစ္ေသာ OOP သေဘာတရားမ်ားကိုလံုး၀ကြၽမ္း က်င္ ပိုင္ႏိုင္၍အသံုးခ်ႏိုင္ရန္ မွာ
Java Developer တစ္ေယာက္အဖုိ႕အေရး အႀကီးဆံုးပင္ျဖစ္ပါတယ္။ Java ၏
ကနဦးအစသည္ပင္လွ်င္ OOP ေၾကာင့္ျဖစ္ပါတယ္။ OOP မပိုင္ႏိုင္ ေသာ Java
သမားတစ္ေယာက္အဖုိ႕ Java ၏ပင္မအလွတရားတစ္ရပ္ကို ျပည့္၀စြာခံစားႏိုင္မည္မဟုတ ္ေပ။
OOP ကို ေကာင္း မြန္စြာအသံုးမခ်ႏိုင္လွ်င္ သမား႐ိုးက်လမ္းေၾကာင္းေပၚ မွာ
ပဲရွိေနဦးမွာေသခ်ာပါတယ္။ OOP သေဘာတရားမ်ားခ်ည္း နားလည္
ေန႐ံုျဖင့္အသံုးမက်ေသးဘဲ Java Developer မ်ားအဖို႔ OOP Principle မ်ားကို
system တစ္ခုတည္ေဆာက္ရာတြင္ေသာ္လည္ းေကာင္း၊ Solution တစ္ခုရဖုိ႕အတြက္ေသာ္လည္းေကာ င္း
မည္ကဲ့သို႕ ထိထိ ေရာက္ေရာက္သံုးစြဲရမည္ကို သိရွိတတ္ကြၽမ္းေနရ ပါမယ္။
ထို႕ေၾကာင့္ Java Developer မ်ားအဖုိ႔ Object Modeling, Inheritance,
Polymorphism, Design Pattern စေသာ OOP ဆိုင္ရာမ်ားႏွင့္ ပတ္သက္၍ strong
ျဖစ္ေနဖုိ႕လိုအပ္လွပါတယ္။
<API>
Application Programming Interfaces(APIs) မ်ားႏွင့္ပတ္သက္၍ ၄င္းတို႕အားမည္သည့္သီအိုရီမ ်ားျဖင့္
မည္ကဲ့သို႕ ေရးသားတည္ေဆာက္ ထားသည္ကိုသိရန္ထက္ ၄င္းတုိ႔ကိုဘယ္ေနရာမွာ
ဘယ္လိုအသံုးခ်မလဲ၊ ယူသံုးရမလဲဆိုတာကို တတ္ဖုိ႕ က အေရးႀကီးလွပါတယ္။
ထို႕ေၾကာင့္ Core APIs မ်ားျဖစ္ေသာ Java.lang.*, I/O, Collections,
Generices, Threads, JDBC စသည္တို႕ကို သံုးစြဲ ရာတြင္လက္ယဥ္ေနရပါမယ္။
ကဗ်ာဆရာေတြေျပာသလို အသက္႐ွဴလုိက္တိုင္းမွာ ကာရံေတြစီးဆင္း
သြားတယ္ဆိုသလိုေပါ့။
<Coding မ်ားမ်ားေရးပါ>
သီအိုရီတစ္ခုဆိုပါစို႔။ ပါးစပ္ကေျပာလွ်င္ေတာ့ လြယ္ကူပါတယ္။ ျပႆနာ တစ္ရပ္ကို သီအိုရီအရဘယ္လိုေျဖရွင္းရမလ ဲ ဆိုတာ အေျပာ လြယ္သေလာက္ တကယ္တမ္းလက္ေတြ႕ေျဖရွင္းမည္ ဆိုပါက အလြယ္ကူ ဆံုးေသာ အရာ၌ပင္လွ်င္ အခက္အခဲ မ်ားႏွင့္ ရင္ဆိုင္ရေပလိမ့္မယ္။ တကယ္တမ္းေျဖရွင္းၾကည့္မွသာလ ွ်င္
ျပႆနာ၏အတိမ္အနက္ကို သိရွိႏိုင္ပါလိမ့္မယ္။ လုပ္ ၾကည့္၊
ေရးၾကည့္လိုက္မွသာလွ်င္ language ဆိုင္ရာအကန္႔အသတ္မ်ားကို
သိရွိလာႏိုင္ပါမယ္။ Design ႏွင့္ပတ္သက္ ေသာ ေကာင္းမြန္သည့္
အေလ့အက်င့္မ်ားကို သိရွိလာႏိုင္ပါမယ္။ ထုိ႕ေၾကာင့္မ်ားမ်ားေရးပါ။ Standard
က်က်ေရးပါ။ စိတ္ကူးကို အေကာင္ အထည္ေဖာ္ပါ။ Skill တက္လာပါလိမ့္မယ္။
<ဖိုရမ္မ်ားတြင္ ၀င္ေရာက္ေဆြးေႏြးပါ>
အခက္အခဲေတြေၾကာင့္စိတ္မပ်က္ ပါနဲ႔ ကိုယ္ေတြ႕ႀကံဳေနရေသာ ျပႆနာမ်ားႏွင့္ပတ္သက္၍ ကိုယ့္ထက္ အရင္ေတြ႕ခဲ့ သူေတြက သူတို႕ဘယ္လုိေျဖရွင္းခဲ့ေၾက ာင္းကိုသက္ဆုိင္ရာ
forum မ်ားမွတစ္ဆင့္ ေျဖၾကားခဲ့ၾကေသာေၾကာင့္ အဆုိပါ ဖုိရမ္ မ်ားတြင္
၀င္ေရာက္ေလ့လာ ရွာေဖြေမးျမန္းျခင္းျဖင့္ ေျဖရွင္းႏိုင္လိမ့္မယ္။
အျပန္အလွန္အားျဖင့္လည္း မိမိတို႕ကိုယ္တုိင္ ေျဖရွင္းခဲ့ သည္မ်ားရွိပါက
ဖိုရမ္မ်ားတြင္ အဆိုပါ ျပႆနာႏွင့္ပတ္သက္၍ ေမးျမန္းထားသည္ကိုေတြ႕ရွိလွ ်င္ ျပန္လည္ ေျဖၾကားႏိုင္ပါတယ္။ မိမိ၏ role လည္း တက္ပါလိမ့္မယ္။
<Blog ေတြမွာ၀င္ေရာက္ေလ့လာပါ>
Blog ေတြမွာ တူညီေသာနည္းပညာတစ္ရပ္ႏွင့္ပ တ္သက္၍ မတူညီေသာ အျမင္႐ႈေထာင့္ ေျမာက္မ်ားစြာကိုသိရွိႏိုင္ ေပလိမ့္မယ္။
တခ်ိဳ႕က ေကာင္းလွပါတယ္။ သ႔ိုေသာ္ framework ကိုတခ်ိဳ႕က လံုး၀သံုးစားမရဟု
သူတို႕၏ခုိင္လံုေသာ အေၾကာင္းျပခ်က္မ်ားျဖင့္ ေခ်ပထားလိမ့္မယ္။ ထို႕ေၾကာင့္
framework မ်ား၊ နည္းပညာမ်ားႏွင့္ပတ္သက္၍ အေကာင္း အဆိုးႏွစ္တန္ကို သိရွိ
ရေပလိမ့္မယ္။ Blog မ်ားတြင္ Comment ၀င္ေရာက္ေရးသားပါ။ Response လုပ္ပါ။
အျခားသူမ်ားက မိမိ၏ ထင္ျမင္ခ်က္ မ်ားႏွင့္ ပတ္သက္၍ ေ၀ဖန္လိမ့္မယ္။
ေထာက္ခံလိမ့္မယ္။ လမ္းၫႊန္လိမ့္မယ္။ မိမိကပညာရတာေပါ့။ ကိုယ္ကုိယ္တိုင္လည္း
Blog ဖြင့္၍ မိမိသိရွိေသာအေၾကာင္းအရာမ်ာ းႏွင့္ပတ္သက္၍ ေရးသားပါ။
<Open Source Framework မ်ား၏ Source Code မ်ားကိုေလ့လာပါ>
ေကာင္းမြန္ေသာ developer မ်ားသည္ framework မ်ားကို ဘယ္လို အသံုးခ်ရမလဲ ေလ့လာၾကပါတယ္။ သို႕ေသာ္ သင္သည္သူတုိ႕ ထက္ပို၍ ထူးထူးခြၽန္ခြၽန္ျဖစ္လိုပါက
ေျမာက္မ်ားလွစြာေသာ framework မ်ား အနက္မွာ အေအာင္ျမင္ အထင္ ရွားဆံုးေသာ
framework မ်ား၏ source code မ်ားကို ေလ့လာျခင္းအားျဖင့္လည္းေကာင ္း၊ framework မ်ား၏ အတြင္းပိုင္း လုပ္ေဆာင္မႈဆိုင္ရာယႏၱရားႀက ီးကို သိရွိႏိုင္မွာျဖစ္ၿပီး ေကာင္းမြန္ေသာ အေလ့အက်င့္နည္းလမ္းေျမာက္မ် ားစြာကို သိရွိႏိုင္ေပ လိမ့္မယ္။ ဒီလိုသိရွိျခင္းအားျဖင့္အဆိ ုပါ framework မ်ားကို ထိထိ ေရာက္ေရာက္ အသံုးခ်ႏိုင္မွာျဖစ္ပါတယ္။
<နည္းပညာရပ္မ်ား၏ဦးတည္ရာလမ ္းေၾကာင္းမ်ားကိုမ်က္ျခည္မျ ပတ္သိရွိေနရမည္>
Open Source Software Development ဆိုင္ရာလမ္းေၾကာင္းသည္ အၿမဲတမ္းေျပာင္းလဲေနပါတယ္။ အကယ္၍ သင္သည္ ေကာင္းမြန္ေသာ framework တစ္ခုကိုေတြ႕ရွိၿပီး စတင္လိုက္စားကာအသံုးခ်ေတာ့မ ည္
ဆိုပါစို႕။ အဆိုပါ framework သည္ ေခတ္မမီေတာ့ဘဲ ၎ထက္ ပိုမို
ေကာင္းမြန္သာလြန္သည့္ framework မ်ားသည္ ေပၚေပါက္ေနေပလိမ့္ မယ္။ လက္ရွိ
သင္သံုးေနေသာ framework တြင္ ခက္ခက္ခဲခဲလုပ္ေဆာင္ ေနရေသာအရာတုိ႔သည္ အျခား
framework ၌ configure line အနည္းငယ္ျဖင့္ ေျဖရွင္းၿပီးသားျဖစ္ေနေပလိမ ့္မယ္။ ထုိ႕ေၾကာင့္ ဘာေတြ၀င္ေရာက္လာၿပီး ဘာေတြထြက္ခြာသြားသလဲဆိုတာကိ ု မ်က္စိ ရွင္ရွင္ျဖင့္ ေလ့လာေနရမွာျဖစ္ပါတယ္။
<အသံုးတည့္ေသာ Snippets ,Utilities မ်ားကို မွတ္သားသိမ္းဆည္း ထားပါ>
မၾကာခဏသံုးရေလ့ရွိေသာ common ျဖစ္သည္ log 4j properties, jdbc configuration ကဲ့သို႕ေသာ snippets မ်ား၊ string-Utils, reflection Utils, DB Utils စေသာ utilities မ်ားကို စုစည္းသိမ္းဆည္းထားပါ။
<ကြဲျပားျခားနားေသာ Development Methodlogies မ်ားကိုသိရွိ ထားရမည္>
Agile, SCRUM,XP,Waterfall စေသာ Development Methodlogies မ်ားကိုသိရွိထားရပါမယ္။ မိမိ client မ်ား၏ လိုအပ္ခ်က္ႏွင့္လိုက္ေလ်ာ ညီေထြျဖစ္သည့္ မိမိလုပ္ေဆာင္မည့္ Project nature ေပၚမူတည္၍ ဘယ္လုိ methodlogies သံုးရမည္ကို သိရွိထားရန္လိုအပ္ပါတယ္။
<Blog (သို႔) website လုပ္ထားပါ>
သင္၏ ေန႕စဥ္လုပ္ငန္းေဆာင္တာမ်ား၌ အသစ္အသစ္ေသာ အေၾကာင္း အရာမ်ားကို ေလ့လာေနမယ္ဆိုပါက ပိုမို ေကာင္းမြန္ေသာ အေလ့အက်င့္ ေကာင္း၊ စိတ္ကူးေကာင္းမ်ားေတြ႕ရွိေန ပါလိမ့္မယ္။
အဆုိပါအေၾကာင္း အရာမ်ားႏွင့္ပတ္သက္၍ documentation လုပ္ထားပါ။ ထို႔ျပင္
Blog မ်ားမွတစ္ဆင့္ သက္ဆိုင္ရာ community တြင္မွ်ေ၀ပါ။ ေသးငယ္ေသာ ျပႆနာ
ေျဖရွင္းမႈေလးပင္ျဖစ္ေစကာမူ
စာတစ္ေစာင္ေပ တစ္ဖြဲ႕ လုပ္ကာမွ်ေ၀ပါ။ အျခားေသာသူတစ္ေယာက္အဖုိ႕ အဆုိပါျပႆနာ
မ်ားႏွင့္ ႀကံဳလာပါက သင္၏ Blog သည္ ထုိသူအတြက္ အသံုးတည့္ပါ လိမ့္မယ္။
Mobile Guide Journal (Every Monday)
https://www.facebook.com/ officialmobileguidejournal
<Object Oriented>
Java ၏အႏွစ္သာရျဖစ္ေသာ OOP သေဘာတရားမ်ားကိုလံုး၀ကြၽမ္း
<API>
Application Programming Interfaces(APIs) မ်ားႏွင့္ပတ္သက္၍ ၄င္းတို႕အားမည္သည့္သီအိုရီမ
<Coding မ်ားမ်ားေရးပါ>
သီအိုရီတစ္ခုဆိုပါစို႔။ ပါးစပ္ကေျပာလွ်င္ေတာ့ လြယ္ကူပါတယ္။ ျပႆနာ တစ္ရပ္ကို သီအိုရီအရဘယ္လိုေျဖရွင္းရမလ
<ဖိုရမ္မ်ားတြင္ ၀င္ေရာက္ေဆြးေႏြးပါ>
အခက္အခဲေတြေၾကာင့္စိတ္မပ်က္
<Blog ေတြမွာ၀င္ေရာက္ေလ့လာပါ>
Blog ေတြမွာ တူညီေသာနည္းပညာတစ္ရပ္ႏွင့္ပ
<Open Source Framework မ်ား၏ Source Code မ်ားကိုေလ့လာပါ>
ေကာင္းမြန္ေသာ developer မ်ားသည္ framework မ်ားကို ဘယ္လို အသံုးခ်ရမလဲ ေလ့လာၾကပါတယ္။ သို႕ေသာ္ သင္သည္သူတုိ႕ ထက္ပို၍ ထူးထူးခြၽန္ခြၽန္ျဖစ္လိုပါက
<နည္းပညာရပ္မ်ား၏ဦးတည္ရာလမ
Open Source Software Development ဆိုင္ရာလမ္းေၾကာင္းသည္ အၿမဲတမ္းေျပာင္းလဲေနပါတယ္။ အကယ္၍ သင္သည္ ေကာင္းမြန္ေသာ framework တစ္ခုကိုေတြ႕ရွိၿပီး စတင္လိုက္စားကာအသံုးခ်ေတာ့မ
<အသံုးတည့္ေသာ Snippets ,Utilities မ်ားကို မွတ္သားသိမ္းဆည္း ထားပါ>
မၾကာခဏသံုးရေလ့ရွိေသာ common ျဖစ္သည္ log 4j properties, jdbc configuration ကဲ့သို႕ေသာ snippets မ်ား၊ string-Utils, reflection Utils, DB Utils စေသာ utilities မ်ားကို စုစည္းသိမ္းဆည္းထားပါ။
<ကြဲျပားျခားနားေသာ Development Methodlogies မ်ားကိုသိရွိ ထားရမည္>
Agile, SCRUM,XP,Waterfall စေသာ Development Methodlogies မ်ားကိုသိရွိထားရပါမယ္။ မိမိ client မ်ား၏ လိုအပ္ခ်က္ႏွင့္လိုက္ေလ်ာ ညီေထြျဖစ္သည့္ မိမိလုပ္ေဆာင္မည့္ Project nature ေပၚမူတည္၍ ဘယ္လုိ methodlogies သံုးရမည္ကို သိရွိထားရန္လိုအပ္ပါတယ္။
<Blog (သို႔) website လုပ္ထားပါ>
သင္၏ ေန႕စဥ္လုပ္ငန္းေဆာင္တာမ်ား၌
Mobile Guide Journal (Every Monday)
https://www.facebook.com/