Tuesday, December 13, 2016

Software Engineer කෙනෙකු වීම අමාරු ද ?

JAVA  ප්‍රගුන කිරීමේ ඇති වාසි

අද මම කතා කරන්න හදන්නෙ  අපි හමොටම ගොඩක් වැදගත් වන එකක් ගැන.
ලොකයේ දැනට ගොඩක්  fields තිබ්බත්  IT/Tech Industry වලට හිමිවෙලා තියෙන තැන නම් පොඩ්ඩාක් වත් අඩුවෙලා නෑ.  එක නිසා මෙ ලිපිය කියවන එක ගොඩක් වැදගත් වෙයි.
ලොකයේ දැනට වේගයෙන් ඉදිරියට යන  field  එකක් තමා  it/software engineering  කියන්නෙ. ඒ අතරිනුත්  java   developer 
 කෙනෙකුට තියෙන්නේ හොඳ ඉල්ලුමක්....ඉතින් ඔයත්  java  ඉගෙන ගන්න හිතනවා නම් එක හොද ආයෝජනයක්..... 
python,ruby,android,c#   වගේ ඒවා තිබුනත්  java  වල තියෙන  API  නිසා තවමත්  හොඳ ඉල්ලුමක් තියෙනව.android  කියන්නෙත් ඉතින්  java වගේමයි.




ඒ සදහා ලංකාවේ තියෙන අවස්ථාව

අපේ රටට වඩා ලොකේ දියුනු රටවල් වල   සමාන්‍ය පුද්ගලයකු ගේ උනත් IT  දැනුම  සමාන්‍යයෙන් ගොඩක් ඉහල තැනක තියෙන්නෙ...
 ඒක හින්ද  තරගේ වැඩි..ඒ උනත්  අපේ  රටෙත් දැන් හොද  improvement  එකක් තියෙනවා....😊😊😊


කියන්න ලේසියි කරන්න තමා අමාරු ...😓😕😖

එකලෙ වගේ නෙවෙයි දැන්  job interview  එකකදි  මුලින්ම බලන්නෙ  degree,government /private university  ද කියලා විතරක් නෙවෙයි...
ඔයාව  individual  කෙනෙක් විදියට  qualifications  බලනවා....
ගොඩක් වෙලවට ඔයගේ දැනුම  check  කරනවා වගේම ඔයගේ  background  එකත් බලනවා....










 StackOverFlow , HackerRank,GitHub  වගේ  site   වලින් ඔයගේ   performance   බලනවා....
ඒක නිසා  degree  තිබ්බ පලියට  job  එකක් ගන්න එක අමරුයි......

බැරි වෙලවත් ඔයගේ නම  google  එකේ  type  කරම එන්නේ ඔයගේ  Facebook account  එකනම්ඉතින් එතනින්ම ඉවරයි...😞😞😞

(ඕකට ඉතින්කරන්න තියෙන්නෙ මං වගේ නම පොඩ්ඩක් වෙනස් කරල  Facebook accounts   වගේ ඒවා හදන්න..😜😜😜 .හබැයි ඇත්ත නම දන්න එපා)

ඒක නිසා ඔයා මොන  campus  එකේ හිටියත් මොන  degree  කරත් ඔයගේ  background,qualifications  හදා ගන්නම වෙනවා...
ඒක නිසා ඔයාට පහල  link  වලින් ඒ  site  වල  register  වෙන්න පුලුවන්....

link : https://talent.stackoverflow.com/users/login
link : https://www.hackerrank.com/auth/login/codesprint4
link : https://github.com/


 හොදම  Software Companies  වලට  SELECT  වෙමුද .... 


ලංකාවේ ගොඩක්  software Engineering companies  තියෙනවා... හබැයි ඉතින් ටිකක් හොද එකකට යන එකනෙ හමොගෙම  dream  එක..😋😊😍

පුලුවන් නම් මෙකියන  companies  වලට  try  කරන්න ගියොත් ගොඩම තමා. 
 WSO2, 99X, IFS, Virtusa, 24Zone  තව ඉතින් ගොඩක් තියෙනවා....








මෙවගෙන් ගොඩක් එවා පිටරට  companies.. ලන්කවේ කොහෙද මේවගේ ඒවා 😜
සමාන්යෙන් ඉතින් මුලින්ම  intern  තමායන්න වෙන්නෙ ඒකලේ නම් පඩි ටිකක් අඩුයි😭
හැබයි ඉතින්  job එක හම්බ උනොත්  supiri. 🙌 මුලින්ම ඉතින්

Associate Software Engineer -->Software Engineer --> Senior Software Engineer

 ඔහොම  project manager  වෙනකන්ම යතැකි ඔනෙනම්....
මෙවගෙ   intern  ඉන්න කලේ ඉතින් ටිකක් වැඩියෙන් මහන්සි වෙන්න වෙනවා ඇයි ඉතින්අපි වැඩ්ඩො කියල පෙන්නනත් එපැ...😝


 Salary  කොහොම වෙයිද  ?

පිටරට නම් ගොඩක්  salary  වැඩි... මෙහෙ නම්  Associate Eng.  කෙනෙක්ට 40,000-80,000  ගෙවනවා...ඔය
 senior  නම්  ඉතින් 80,000-1,30000   වගේ ගතැකි....😇
ලංකාවේ නම්  WSO2,  IFS  තමා පඩි වැඩි..
වෙන රටවල් ගත්තොත්  Switzerland,USA,Canada,Australia,New Zealand   වගේ  salary  හොදයි...



A/l Exam  එක මත අනාගතය මුලුමනින්ම තීරණය කරන රටක  Software Engineering  කියන්නෙ ගොඩක් වෙනස්  field  එකක්...
මම කලින් කිවුවා වගේ මෙකට ඔනා  කරනේ  skill  එක විතරයි... ඒක නිසා ඔයා මොන විදියෙ  job  එකක් දැනට කරත්  Software Industry  එකට join  වෙතැකි...
ඒකටඔනා කරන්නේ මොකක් හරි  Computer Science Degree/ any Realated One  උපාධිය ක් එක්ක ඔයගේ  skill  එක විතරයි...
ඔයාතාම  A/L  කරලා නෙත්තාන් හොදම දේ තමා මහන්සි වෙලා පාඩම් කරල රජයේ  campus  එකකට යන්න..😅.ලංකාවේ  නම්   ඉතින්  government universities  වලින්   

     Moratuwa,    UCSC(Colombo),     Peradeniya   , Ruhuna  ,  Sabaragamuwa ,   Jaffna

විශ්වවිද්‍යාලයයන්හි මොකක් හරි  CS related   degree  එකක් 

එහෙම නැත්තන් ඉතින්   😍

      KDU   ,  SLITT  , IJSE ,  ESOFT

  private universities  වලින්   හරි  cs   degree  එකක් තිබ්බොත් ඇති.  



ඉතින් මමහිතනවා අලුතෙන්  career  එක පටන් ගන්න හිතනවා නම් මේ ලිපිය ඔයාට වැදගත් වෙයි කියලා...  මේකෙම මීලග ලිපියෙන් හමුවෙමු.  😊😊😊

Monday, December 12, 2016

What is JAVA ???


මොකක්ද මේ  JAVA කියන්නෙ .....



Java develop කරන ලද්ෙද් James Gosling විසිනි. ඒ 1991දී Sun Microsystems ආයතනෙය්දි Green project එෙක් ෙකොටසක් වශෙයනි. ඔහුෙග් මූලික අරමුණ උෙන් low cost, Hardware Independent Language එකක් C++ උපෙයොගි කරෙගන develop කිරීමයී. තාක්ෂණික ගැටලුමත මගදී එය අසාර්ථක උනා 😞😞😞.මේ අතර අළුත් programming Language එකක් Oak නමින් C++ භාවිතෙයන් developed උනා.

Java develop උෙන් C++ වල තිබුනු සමහර features ඉවත් කරලයී.1994දී World Wide Web concept එක පැමිණීමත් සමඟ Oak, Java ෙලස නම් ෙකරුනා. Java සම්බන්ධ වන්ෙන් Object Oriented Programming සමඟයී. Object Oriented Programming concept එක 1960 දී පමණ SIMULA67 language එකත් සමඟ කතා බහට ආපුෙදයක්.


Java වල විෙශේෂත්වය වන්ෙන්  😄😄😄



  1. Java is Platform Independent
  2.  Java is Object-Oriented 
  3.  Java is easy to learn 
  4. Java is small 
  5. Java is secure 
  6. Java is portable 


එෙහනම් ඉතින් දැන් අපි Javaඑක්ක වැඩ කරන්න පටන්ගමු.     

Java වලින් වැඩ කරන්න කලින් අපි Java install කරෙගන ඉමු.   

Java, Machine එකට install කර තිෙබ්දැයි බැලීමට command prompt එක ෙගන javac type කර enter කරන්න.   
Command prompt එක open කරගැනීම පහත පරිදි සිදුකල හැක 

Start ---> Run ---> cmd  press ENTER

Command prompt එක open කරගත් පසු  window එක ඔබට දිස් ෙව්. 
දැන් Java install කර ඇත්දැයි බැලීමට javac යනුෙවන් command prompt එෙක් type කරන්න   

Java installs කර ෙනොමැති නම් පහත දැක්ෙවන පරිදී දිස්ෙව් 😩😩

    "Java is not recognise as external or internal command."

එෙහනම් දැන් අපි  computer  එකට Java install  කර නැත්නමි install කරමු
ඒක මගේ මීලග post  එකෙන් දන්නන්කො......👀

Java Lessons

Implicit casting😊😊😊


 java තුලදි අප ලබා ෙදන සංඛාවක් සාමානෙයන් java ෙත්රුම් ගන්ෙන් එය int වර්ගෙය් දත්තයක් ෙලසයි.  

Ex. 
System.out.print (5); 
Output; 5 Byte b = 6;  

ෙමහිදී අප ලබාෙදන සංඛාව java මුලින් ෙතරුම් ගන්ෙන් int type එෙක් value  එකක් ෙලසයි. උදාහරණයක් වශෙයන් byte b = 6; කියූ විට 6 කියන සංඛාව මුලින්ම ෙතරුම් ගන්ෙන් int type එකක් ෙලසයි. පසුව එය byte type එෙක් විචලයකට සමාන කර ඇති නිසා Java ස්වයංකීයව එම සංඛාව byte type එකට හරවනවා. ෙමම නිසා අපි ෙමය implicit casting ෙලස හදුන්වනවා. 


Legal Identifiers 😊😊😊



Java යන පරිඝනක භෂාව තුලදී identifier එකක් කියලා කියන්ෙන් variable (විචලය), class, ෙහෝ method එකකට ෙදන නමකට ෙව්. Identifier (නමක්) පටන් ගැනීමට හැක්ෙක් අකුරකින් “_", $ සළකුණකින් පමණී. Identifiers (නම) යන ඒවා Case sensitive ෙව්. ඒවාෙය් නමට භාවිතා කරන අකුරු සංඛාවට පමාණයක් නැත . සීමාවක් නැත.   

අප විචලයන් සැකසීෙම්දී නිවැරදි නම් කිරීමක් ෙලස සලකන උදාහරණ කීපයක් බලමු.  


E.g.  
 1. Identifier 
 2. Username
 3. User-name
 4. -sys-vari
 5. $change    


විෙශේෂෙයන් අප identifier  එකක් ලබාදීෙම්දී එය java තුල භාවිතා කරන එකක් ෙනොවිය යුතුයි.  

 E.g. thisone  

ඉහත thisone යනු නිවැරදි identifier එකකි. නමුත් this යනු java වල key word එකකි. එම නිසා This යන වචනය Identifier එකක් සඳහා භාවිතා ෙනොකල යුතුයි.  



Java Programming Exercises.

      Here is the Code For a Simple Java Programme.😊😊😊



You can give the correct Answer for the given problem and Share knowledge too.. Submit your Answer in the comment Line.


---------------------------------------------------------------------------------------------------------------


import java.util.*;
class Example{
//Method Declaration
public static void main(String args[]){
int x=100;
int y=200;
System.out.println(x+" "+y); //prints 100, 200
//__________ ?
System.out.println(x+" "+y); //prints 200, 100
}
}
What  is the code to be Filled.You have to Swap to Numbers.
Output :

----------------------------------------------------------------------------------------------------------------------

Java Programming Examples

      Here is the Code For a Simple Java Programme.😊😊😊



You can give the correct Answer for the given problem and Share knowledge too.. Submit your Answer in the comment Line.


---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------

import java.util.*;
class Example{
public static void printTotal(int num1, int num2){
int tot=num1+num2;
System.out.println(num1+" + "+num2+" = "+tot);
}
public static void main(String args[]){
Scanner input=new Scanner(System.in);
System.out.print("Input number 1 : ");
int num1=input.nextInt();
System.out.print("Input number 2 : ");
int num2=input.nextInt();

printTotal(num1,num2);
printTotal();
}
}
What  is the Compile time Error in this code and Explain Breifly.
Output :

----------------------------------------------------------------------------------------------------------------------

Lets Start Programming A Simple Java Problem

      Here is the Code For a Simple Java Programme.😊😊😊




You can give the correct Answer for the given problem and Share knowledge too.. Submit your Answer in the comment Line. 



---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------

import java.util.*;
class Example{
public static void main(String args[]){
Scanner input=new Scanner(System.in);
System.out.print("Input a number : ");
int num=input.nextInt();
if(num==1 || num==2){
if(num==1){
System.out.println("A");
}
System.out.println("B");
}else{
System.out.println("Wrong number");
}
}

What  Can be the Answer when Input Number is Equals to 1 , 2 and AnyOther Number.
Output : 

------------------------------------------------------------------------------------------------------------------------------

Lets Start Programming A Simple Java Problem

        Here is the Code For a Simple Java Programme.😊😊😊



     And its all about from Java Static Methods and Variables.You can give the correct Answer for the given problem and Share knowledge too.. Submit your Answer in the comment Line. 

---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------



class MyClass{
int x;
static int y;
}
class Demo{
public static void main(String args[]){
MyClass c1=new MyClass();
c1.x=1;
c1.y=2;
MyClass c2=new MyClass();
c2.x=10;
c2.y=20;
MyClass c3=new MyClass();
c3.x=100;
c3.y=200;
System.out.println("c1 : "+c1.x+" "+c1.y);
System.out.println("c2 : "+c2.x+" "+c2.y);
System.out.println("c3 : "+c3.x+" "+c3.y);
}
}

Output : 

----------------------------------------------------------------------------------------------------------------------