දැනට තිබෙන පාඩම්...

Monday, August 17, 2015

ජාවා ඉගෙන ගනිමු - 3 පාඩම

යාලුවනේ අද අපි කථා කරන්නෙ ජාවා වලින් කෝමද input එකක් දෙන්නෙ කියලා

ජාවා වල තියෙන විශේෂත්වයක් තමයි ඒකෙ තියෙන libraries ගොඩ. ඒ වගේම අපි මේ input එක දෙන්න කලින් අපි java.util කියන library එක පිටින් ගෙන්න ගන්න ඕන.ඒ කියන්නෙ import කරන්න ඕන. ඒ library එකේ තමයි Scanner class එක තියෙන්නෙ.
import java.util.Scanner;

ඊලගට පුරුදු විදියට class එකේ නම ලියනවා.
class user_input

ඊලගට main method එක ලියනවා අපි.
ඒකට පස්සෙ අපි Scanner class එකෙන් object එකක් හදාගන්න ඕන. නැත්නම් මේ Scanner class එකෙන් කිසිම වැඩක් කරගන්න බෑ අපට.
Scanner මගේ = new Scanner(System.in);
මං හදපු object එකේ නම "මගේ".
මේ System.in කියන එකෙන් ජාවා වලට අපි කියනවා මේක තමයි System එකේ input එක කියලා.

ඊලගට අපිට input කරගන්න ඕන int type input එකක් නම්
int number1 = Integer.parseInt(මගේ.nextLine());

උඩින් තියෙන code එක තමයි command prompt එකේ ඔයාගෙ input එක හම්බෙනකන් බලං ඉන්න කඩ ඉර. හැබැයි ඔයා මේකෙ දෙන input එක එයා බලාපොරොත්තු වෙන data type එකේ නෙවෙයිනම් ඉතින් අන්තිමට error තමයි.

උඩින් තියෙන්නෙ int type input එකක් දෙන විදිහ. String එකක් input කරන්න දෙන විදිහ වෙනස්.
String name1 = මගේ.nextLine();



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

input දෙන්න පුලුවන් තව විදියක් කථා කරන්නයි යන්නෙ
කලින් Scanner class එක වගේම ඊලගට BufferdReader class එක ගැන

මේකෙත් කලින් වගේම අපි පිටින් import කරන්න වෙනවා library එක
import java.io*;

ඊලගට class එක ලියනවා
පුරුදු විදියට main method එක ලියනවා
අපි මේ class ඒකේදි එ්කට එන exceptions handle කරන්න වෙනවා, ඒ නිසා අපි main method එකත් එක්ක මෙහෙම ලියනවා.
public static void main(String args[])throws Exception

කලින් වගේ නෙවෙයි මේකෙ අපට objects 2ක් හදන්න වෙනවා.ඒ BufferedReader class, InputStreamReader class කියන දෙකෙන්
BufferedReader input= new BufferedReader (new InputStreamReader(System.in));

input කරන variable එක වෙනම declare කරන්නත් පුලුවන්
String name;
name = input.readLine();
System.out.println("My name is"+name);
මේකෙදි print වෙන්නෙ My name is ඔයා දුන්න input එක

ඒ වගේම String name = input.readLine(); කියන කොටසෙන් කරන්නෙත් උඩින් දක්වලා තියෙන ටිකමයි

int data type එකේදි Scanner class  එකේ වගේම වෙනස් වෙනවා
int  age= Integer.parseInt(input.readLine());

තවත් පාඩමක් අරන් ආයෙත් එන්නම් යාලුවනේ...





Monday, August 10, 2015

ජාවා ඉගෙන ගනිමු- 2 පාඩම

අපේ දෙවන පාඩමෙන් කථා කරන්න හිතුවෙ class, methods සහ abstract ගැන...

අපි කථා කලොත් class ගැන, class ඇතුලෙ දාන්න පුලුවන් මොනාද බැරි මොනාද කියලා
class ඇතුලෙ control structures, System.out.println(""); වගේ දේවල් එකපාර දාන්න බෑ.ඒවා දානවනම් method හරි constructor එකකින් හරි එන්න ඕන.

class ඇතුලෙ variables, constructors, methods කියන ඒවා දාන්න පුලුවන්.
Java වල variables ප්‍රධාන කොටස් දෙකයි. instance variables හා static variables. instance variables කියන්නෙ primitive data type එක්ක එන ඒවා. static variables  කියන්නෙ මුලට static කියන keyword එකත් එක්කම declare වෙන variables.

method එකක් අපි ලියන්නෙ
[access modifier ] return type method name (parameter type  parameter name)
{method body}
ආකාරයට.

අපි බැලුවොත් මේ Access Modifiers කියන්නෙ මොකක්ද කියලා, මේක ප්‍රධාන කොටස් 4යි.

  1. Public- ඕනැම class එකක පාවිච්චි කරන්න පුලුවන්
  2. Private-ඒ class එකේ විතරයි
  3. Protected -  Inheritance කියන concept එ‍කේදි පාවිච්චි කරන parent class එකක තියෙන protected දත්ත ඒ parent class එකේ child class නැත්නම් sub class එකේදි පාවිච්චි කරන්න පුලුවන්.
  4. Default- ඒ package එකේ ඇතුලෙ විතරයි.
  මේකෙ return type කියන්නෙ අපි මේකට යම් value එකක් return කලොත් අන්න ඒ value එකේ data type  එක return type  වෙනවා.
ඒ වගේම Method name එක unique වෙන්න ඕනග


abstract කථා කරද්දි වැඩියෙන්ම කථා කරන දෙකක් තමයි interfaces සහ abstract methods
abstract class එකක් ඇතුලේ abstract/ non-abstract method 2ම ලියන්න පුලුවන්.interface වලට non-abstract methods කොහෙත්ම තියෙන්න බෑ.abstract method විතරයි.

interface animal
{
int age=10; /* මේක public static final වර්ගයේ variable එකක්*/
void eat(); /*මේක public abstract වර්ගයේ method එකක්*/
/*static, final කියන වචන methods වලදි පාවිච්චි වෙන්නෙ නෑ*/

}

මම උඩින් කියපු කථාව ඕන වෙන්නෙ මෙහෙමයි.

අපිට abstract methods විතරක්ම තියෙන class එකක් ලියන්න වුනොත් අපිට ලේසියෙන්ම class එක වෙනුවට interface දාන්න පුලුවන්.interface හුගක්ම පාවිච්චි කරන්නෙ multiple inheritence වලට,

Thursday, August 6, 2015

Java ඉගෙන ගනිමු - 1 පාඩම

යාලුවනේ අද අපි පටන් ගන්නවා, අපේ java පාඩම් ටික
java කියන්නෙ object oriented programming වලින් වැඩ ‍කෙරෙන එකක්
මුලින්ම කථා කලොත් මොකක්ද මේ object oriented කියන්නෙ කියලා

අපි object කියලා සලකන්නෙ real world entity එකක්. ඒ කියන්නෙ ඇත්ත ලෝකෙදි අපි කථා කරන දේවල් එක්ක ගැටලු සම්බන්ධ වෙන්නෙ කොහොමද කියන දේ...

ඊළගට කථා කරමු class එකක් කියන්නෙ මොකක්ද කියලා
class එකක් කියන්නෙ සාමාන්‍ය properties පිරැණු objects වල එකතුවක්. මම ගත්තොත් ICT කියලා class එකක්, මට පුලුවන් ඒකෙ තියෙන objects විදියට Networking, Programming, History වගේ කොටස් වලට කඩන්න.මේවට පොදු වුන ගුණ තියෙනවා. තනි තනිව දක්වන ගුණ තියෙනවා. එක class එකක ඕන තරම් objects තියෙන්න පුලුවන්.

objects හදන්නෙ කොහොමද?

objects හදාගන්නෙ වෙන class එකක තියෙන variable එකක් තවත් class එකක් ඇතුලෙ වැඩකට ඕන උනාම. මේකෙ new කියන keyword එකෙන් කරන්නෙ අලුත් instance (object) name එකක් හදාගන්න එක
-----------------------------------------------------------------------------------------------------------------
class කොල්ලා
{
    int වයස;
}

class අලුත්
{
කොල්ලා පියල් = new කොල්ලා;
කොල්ලා අමල් = new කොල්ලා;

පියල්.වයස = 45;
අමල්.වයස = 25;

System.out.println(පියල්);
System.out.println(පියල්.වයස);
}
-------------------------------------------------------------------------------------------------------------------
===========================================================
මේකෙ print වෙන්නෙ පියල් කියන object එකේ memory address එක
ඊලග එකෙන් print වෙන්නෙ පියල්.වයසට අදාල අගය
===========================================================


Monday, August 3, 2015

Database ඉගෙන ගනිමු - 3 පාඩම

කලින් දෙකේම SQL පැත්ත වැඩියෙන් කථා කරපු නිසා මේකෙ therory පැත්ත කථා කරන්න හිතුවා.

database ප්‍රධානව කොටස් කීපෙකට බෙදන්න පුලුවන්.

  1. traditional database- මේකෙන් කියන්නෙ manual database ගැන.කොල වල ලියලා කැබිනට් වල දාලා තිබ්බ databases
  2. multimedia database- මේකෙන් කියවෙන්නෙ multimedia files අඩංගු වෙන database ගැන. multimedia files කියන්නෙ audio, video,text, images,animations වගේ දේවල් අඩංගු වෙන files වලට
  3. geographic information systems- maps ගබඩා කිරීම හා විශ්ලේෂණය කරනවා.
  4. data warehouses/online analytical processing systems - වැදගත් ව්‍යාපාර කටයුතු විශ්ලේෂණය කිරීම හා ලබාදෙනවා.ඉතා විශාල database වලින් තොරතුරැ අරන් දෙනවා.තව තීරණ ගැනීමේ පද්ධතියට (decision making system)සහය ලබා දෙනවා.
  5. real time/active databases- මේක පාවිච්චි වෙන්නෙ කර්මාන්ත වලට අයිති database වලට
meta data- මේකෙන් කියන්නෙ data පිලිබද සියලු විස්තර සාරාංශ ගතකිරීමක්
kernel- database එකක management එක සතු සියලු software සහ ඒවාගේ හැසිරීම වෙන්නෙ ඇයි කියන දේ සහ සම්පූර්ණ පාලනය වෙන්නෙත් මේකෙන්

database එකක් design කිරීම
  • විශ්ලේෂණයට වගේම වර්ගීකරණයට අවශ්‍ය කරැණු (requirements specification and analysis)
  1. දත්ත ප්‍රමාණය(quantity)
  2. දත්ත වර්ගය (data type-number, text)
  3. දත්ත පරාසය (data range -0 to 100)
  4. දත්තවල වටිනාකම
  • සංකල්පීයව හදාගන්න design එක(conceptual design )- ER diagrams වල Entity Relationship diagrams සැකසීම
  • තාර්කිකව හදන design එක (logic design)-Code ලිවීම 
  • භෞතිකව හදන design එක(physical design)- තැන්පත් කරන උපකරණ දත්ත ව්‍යූහ යෙදුම් මෘදුකාංග  (MY SQL) 
  • ආරක්ෂාව පිළිබද design එක(security design)- userට අදාල වෙන දත්ත වලට පමණක් යෑමට අවසර දීම(firewall system)

 database වර්ග ප්‍රධාන කොටස් කීපයක් යටතේ බෙදන්න පුලුවන් ඒවගේ වර්ගය අනුව

  1. Flat File Systems: 1960දී හදුන්වලා දුන්න මේ ක්‍රමයට අනුව දත්ත පද්ධති තනි වගුවක් යටතේ සංවිධානය වෙන්නෙ
  2. Relational Model:  පොදු අනුලක්ෂණයන්ගෙන් පිරැණු database එකක්, මේ data එකිනෙක connect කරපු table වල තමයි ගබඩා කරලා තියෙන්නෙ. මේවගෙ පේලියක් හැදෙන්නෙ attribute කිහිපයක එකතුවෙන්
  3. Hierarchy Model: ගසක ව්‍යූහය විදියට හැදුනු database එකක්
  4. Network Model: එකිනෙක සම්බන්ධ වුනු අතු ශාඛා රාශියක් ආකාරයට සෑදුනු database එකක්, හැබැයි hierarchy model වලට වඩා වෙනස්. පරස්පර වගෙයි.
මේවගෙ වාසි අවාසි ඊළග ලිපියෙන් කථා කරමු යාලුවනේ...



කවුද මේ සුන්දර් පිචායි ??

පිචායි සුන්දර්රාජන් ඔබ දන්නවාද? මං දන්න තරමින් නැහැ. නමුත් ඔබ සුන්දර් පිචායි හදුනනවා විය යුතුයි. ඔහු තමයි Google අායතනයේ ප්‍රධාන විධායක...