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

Tuesday, September 13, 2016

පැස්කල් ඉගෙන ගනිමු - 2 පාඩම

පසුගිය සටහන ගැන කථා කරනවානම් ඒ ගැන පලවුන අදහසක් තමයි පයිතන්, ජාවා වගේ භාෂා පාවිච්චි වෙන තැන් දැනගෙන උන්නත් පැස්කල් පාවිච්චි වෙන්නෙ මොනවගේ වෙලාවටද කියන කාරණාව. මේක පාවිච්චි වෙන තැන් කථා කරනවානම් ප්‍රධාන තැන් කිහිපයක්ම දකින්න පුලුවන්.
  1. Skype
  2. Total Commander - Shareware file manager for Windows for 95/98/ME/NT/2000/XP/Vista/7/8/8.1/10 
  3. TeX - Typesetting System
  4. Embedded Systems
Pascal මුලින්ම හදුන්වා දෙන්නෙ 1970දි  Niklaus Wirth විසින්. පරිගණක සංවර්ධනයට බ්ලේස් පැස්කල්ට කරන ගෞරවයක් විදියට තමයි මේ භාෂාව ඒ විදියට නම් කෙරුවේ...
 පැස්කල් වැඩසටහන් වැඩ කරන්නනම් compilers දාන්න ඔින අනික් languages වගේම තමයි.
මේ  compilersඅතර ප්‍රධානම කිහිපයක් ගැන විස්තර කියන්නම් මම...
  1. Turbo Pascal
  2. Delphi
  3. Free Pascal
  4. Turbo51
  5. Oxygene
  6. GNU Pascal (GPC)
Turbo Pascal මෙතනින් download කරගන්න.
Delphi මෙතනින් download කරගන්න.
Free Pascal මෙතනින් download කරගන්න.

මේ ප්‍රධාන කාරණා වලින් පස්සෙ අපි කථා කරමු අලුත් version ඒකේදී කොහොමද pascal වැඩසටහන් ලියන්නෙ කොහොමද කියලා...

program HelloWorld
uses crt;

(*Here are he main program block starts*)
begin
       writeln("Hello,World");
       readkey;
end.

වර්තමානයේදී පැස්කල් වැඩසටහනක් ලියන්නෙ මේ විදිහට
  • program HelloWorld - වැඩසටහන පටන්ගන්නේ මේ විදිහට වැඩසටහනේ නමත් ඒක්කම
  • uses crt -  මේක preprocessor command ඒකක්. මේකෙන් compile කරන්න කලින් compiler ඒක crt unit ඒකට යනවා.
  • begin , end - ප්‍රධාන program ඒකේ අාරම්භය begin, අවසානය end කියන statement දෙකෙන් කරන්නෙ.ප්‍රධානම කාරණාව තමයි end statement ඒක ඉවර වෙන තැනදි Semicolon ඒක වෙනුවට (.) fullstop ඒකක් පාවිච්චි වෙනවා.
  • (*...*) මේ කොටසින් කියවෙන්නෙ comment ඒකක් ගැන.
  • writeln("Hello, World") - writeln() කියන්නෙ function ඒකක්... මේකෙන් Hello, World කියන ඒක print කරනවා... 
  •  readkey - මේ statement ඒකෙන් program ඒක pause කරන් ඉන්නවා key ඒකක් press වෙනකන්.
  • අන්තිමට දක්වන්නේ end. statement ඒක 
 pascal වල reserved words ගණනාවක් තියෙනවා.

and array begin case const
div do downto else end
file for function goto if
in lable mod nil not
of or packed procedure program
record repeat set then to
type until Var while with

අැත්තටම මට ඔින වුනේ පැස්කල් ඉගෙන ගන්න අාස අයට පොඩි තල්ලුවක් දෙන්න. තව අලුත් අදහස් තියෙනවානම් අපිට කියන්න. අපි කථා කරමු යාලුවනේ... ඊලගට කථා කරන්න ඉන්නෙ පයිතන්... යාලුවන්ගේ අදහසුත් කියන්න ඒ ගැන.


Saturday, September 10, 2016

පැස්කල් ඉගෙන ගනිමු - 1 පාඩම

සෑහෙන කාලෙකට පස්සෙ අද අායිමත් පාඩමක් දාන්න හිතුනා. අපේ යාලුවො කිහිප දෙනෙක්ම කියලා තිබ්බා පැස්කල් හා පයිතන් ගැන කථා කරන්න කියලා...
ඉතින් අද අපි කථා කරන්න හිතුවෙ පැස්කල් ගැන. මේ ගැන මටත් ලොකු දැනුමක් නැති වුනත් අපි කථා කරන් යමු ඉස්සරහට...

මුලින්ම අපි බලමු සරලම pascal program ඒකක් මොන වගේද කියලා...

PROGRAM Simple (output);
BEGIN
         write('මගේ පලවෙනි පැස්කල් වැඩසටහන');
END.

මේ තියෙන්නෙ බොහොම සරළ program ඒකක්. අපිට දකින්න පුලුවන් ප්‍රධාන වචන 3ක් මේකෙදි. PROGRAM, BEGIN, END ... මේ වචන 3ම අනිවාර්යයෙන්ම පැස්කල් program ඒකක තියෙන්නම ඔින කරන වචන 3ක්. සෑම පැස්කල් program ඒකකම PROGRAM කියන වචනෙන් පටන් අරන් END කියන වචනෙන් ඉවර වෙනවා. ඔබට පුලුවන් ඔබ කැමති නමකින් program ඒකක් නම් කරන්න. මේ program ඒකේ දක්වලා තියෙන්නෙ Simple කියන නම. output කියන කොටසින් දක්වලා තියෙන්නෙ මේ program ඒකෙන් දත්ත ඒලියට යනවා කියන කරුණට. අන්තිම පේළි 3ට කියන්නෙ PROGRAM BODY කියලා.

අපිට ගැලපෙන විදියෙ වචන වලට අපි කියනවා Reserved Words කියලා. නමුත් මේ වචන වලට අපි කැමති කැමති වචන පාවිච්චි කරන්න බෑ. පාවිච්චි වෙන වචන අකුරකින්ම පටන් ගන්න ඔින. පාවිච්චි කරන්න පුලුවන් ඒක වචනයක් විතරයි. ! වගේ විශේෂ symbols පාවිච්චි කරන්න බෑ...

ඊලග වැදගත්ම කාරණාව variables.  variables declare වෙන්න ඔින program ඒකේ පටන් ගන්න තැනදීමයි. ඒකට භාවිතා වෙන්නෙ VAR කියන වචනෙ.

VAR
       Start, step, count, finish            :Integer;
       Radius, circumference, area     :Real;
       Error, Exit      : Boolean;

ඔයාලට දකින්න පුලුවන් statement ඒකක් අන්තිමට semicolon පාවිච්චි වෙනවා අනිත් languages වල වගේම. නමුත් මේ language ඒකේ දි පාවිච්චි වෙන සමහර Reserved Words වන BEGIN END වලට semicolon පාවිච්චි වෙන්නෙ නෑ.

මේ language ඒකේදී comment දාන්න curly brackets පාවිච්චි වෙනවා.  curly brackets අැතුලෙ දාන ඔිනම ඒකක් comment ඒකක් විදියට තමයි සලකන්නේ...

ඊලගට අපි කථා කරන්නෙ Assignment Operation ඒක ගැන. ඒකත් තරමක් දුරට වෙනස් වෙනවා. නිකන්ම "=" ලකුණ නෙවෙයි මේකෙදි භාවිතා වෙන්නෙ. පාවිච්චි වෙන්නෙ ":=" ලකුණ. වැඩිපුර colon ඒකකුත් ඒනවා. අපි සැලකුවොත් Integer type ඒකට අයිති variable ඒකක් ගත්තොත් Start වගේ, අපි ඒකට 1 කියන අගය යොදනවනම් අපිට ලියන්න පුලුවන් start := 1 ; විදියට.

PROGRAM Sum (input, output) ;
VAR
      x,y,Sum :Real;
BEGIN
      Write (' Enter the first number:  ');
      Read(x); Writeln;
      Write('  Enter the Second Number:  ');
      Read(y); Writeln;
      Sum := x+ y;
     Writeln('  Sum of x and y =  ',sum:8:3);
      END

 මේ program ඒකෙන් කරන්නෙ සංඛ්‍යා 2ක් ඒකතු කරන ඒක.
අපි පලවෙනි පෝලිමේ ඉදන්ම කථා කලොත් PROGRAM කියන්නෙ reserved word නැත්නම් keyword ඒකක්. Sum කියන්නෙ program ඒකේ නම. වරහන් අැතුලේ තියෙන input output කියන වචන දෙකෙන් කියන්නෙ අපි මේකෙ වැඩ කරන්න දත්ත අැතුල් කරන්න ඔින කියන ඒක හා මේකෙන් අපිට දත්තයක් පිලිතුරක් විදියට ඒලියට ගන්න පුලුවන් කියන දේ.
VAR කියන්නෙ අපි කලින් කීවා වගේම variables වලට පාවිච්චි වෙන වචනයක්.
ඊලගට තියෙන්නෙ program body ඒක.
BEGIN END කියන කොටස අැතුලෙ තියෙන්නෙ ඒක. Write කියන කොටසෙන් අපිට පෙන්වන්නෙ output ඒකක්. Read කියන වචනෙන් අපිට පෙන්වන්නෙ අපි ලබා දෙන්න ඔින input ඒකක් ගැන.
අන්තිම පෝලිමට කලින් පෝලිමේ තියෙන Writeln('  Sum of x and y =  ',sum:8:3); පෝලිම තමයි මේකෙ වැදගත්ම පෝලිම.

Writeln වලින් කියන්නෙ output ඒකක් ගැන කියලානම් හැමෝටම තේරෙනවා අැති. ඒත් sum:8:3 කියන කොටස ගැන කථා කරනවානම් මේකෙ පලවෙනි වචනයෙන් ලැබෙන්න ඔින sum කියන variable ඒකේ අගය,  ඊලග ඉලක්කම වුන 8 න් කියවෙන්නෙ character positions කීයක් උත්තරයේ තියෙන්න ඔිනද කියන කාරණාව, අන්තිම ඉලක්කම වුන 3න් කියවෙන්නේ දශම ඉලක්කම් කීයක් යොදන්න ඔිනද කියන ඒකයි.

යාලුවන්ගෙ අදහස් මට බොහොම වටිනවා. තවත් කරුණූ ඒකතු කරන්න මට මාර වටිනවා ඔබතුමන්ලාගෙ අදහස් හා යෝජනා සියල්ලම.

ඊලගට මේ ලිපියේ දෙවෙනි කොටසත් අරගෙන නැවතත් ඒන්නම්....
  

Sunday, July 31, 2016

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

ඔන්න අපි Networking දෙවෙනි පාඩමත් අරගෙන අායෙත් අාවා.අද අපි කථා කරන්න හිතුවෙ Networking නිර්මාණය වෙන්න වුවමනා කරන දේවල් ගැන කථා කරන්න.
පරිගණක , Servers, Workstations, NICs, Repeaters, Hubs, bridges, switches, Modems, Routers වගේ දේවල් මේ ගොඩට අයිති වෙනවා...

Network ඒකක් කියන්නෙ පරිගණක 2ක් හෝ ඊට වඩා ගණනක් ඒකිනෙකට සම්බන්ධ වීමක්.

Server :- සාමාන්‍යයෙන් server ඒකක් කියන්නෙ පරිගණයක්ම තමයි.විවිධ වර්ග වල ජාල ක්‍රියාකාරකම් වලට අදාල වෙන මෘදුකාංග ක්‍රියාත්මක  වෙනවා මේකෙ. අදාල network ඒකේ පවතින අනෙක් පරිගණක වලට අදාල සේවා සපයනවා මේ ගොල්ලො. server ඒකක් පාරිභෝගිකයෝ රාශියක් වෙනුවෙන් සේවා සපයනවා වගේම ඔවුන්ට අවශ්‍ය සම්පත් ලබාදෙනවා...
සාමාන්‍යයෙන් යම් විශේෂ කාර්යයක් වෙනුවෙන් තමයි මේවා නිර්මාණය වෙන්නෙ.
  1. File Server :- network ඒකේ තියෙන විවිධ මෘදුකාංග හා දත්ත ගොනුවල ගබඩාවක් 
  2. Mail Server :- email function ඒකෙන් වැඩ කරගන්න පාවිච්චි වෙන තැපැල් කන්තෝරුවක් කියන්න පුලුවන්.
  3. Printer Server :- network ඒකට අදාල ප්‍රින්ටර් උපකරණ සමග ගනුදෙනු කරනවා.
  4. Web Server :-  Hypertext Transfer Protocol නැත්නම් HTTP ඒක run කරන ගමන් වෙබ් සම්බන්ධ ක්‍රියාකාරකම් කළමණාකරණය කර ගන්නවා.
 Workstations :- තනි PC ඒකකට වඩා වේගවත් වගේම දරාගැනීමේ හැකියාව වැඩියි. තනිවම වැඩ කරන පරිසරයක වගේම පරිගණක ජාලයක කොටසක් වශයෙනුත් පවතින්න පුලුවන්. අවශ්‍ය වෙන ඔිනෑම වෙලාවක පරිගණක ජාලයේ පරිගණක වලට සම්පත් සපයන්න පුලුවන්.

Network  Interface Cards :- සාමාන්‍යයයෙන් පරිගණකයක් network ඒකකට connect වෙන්නනම් පරිගණකයට අනිවාර්යයෙන්ම NIC ඒකක් සවි කරලා තියෙන්න ඔින. Network card නැත්නම් Network Adapter ඒකක් කියන්නෙත් මේකටම තමයි ඉතින්. වර්තමානය වෙනකොට බාහිරින් වගේම රැහැන් රහිත NIC පවා දැක ගන්න පුුලුවන්.

Repeaters :- සාමාන්‍යයෙන් සංඥා නැත්නම් Signal  සාමාන්‍ය රැහැනකින් හරි වාතය නැත්නම් අවකාශය හරහා ගමන් කරද්දී ක්‍රම ක්‍රමයෙන් දුර්වල වෙනවා. Repeater ඒකකින් දුර්වල සංඥා  වර්ධනය කරනවා ඉහල කොටසකට යන්න කලින්. Repeater ඒකක් පාවිච්චි කරලා network ඒක  විශාල ප්‍රදේශයක හරි ප්‍රමාණයෙන් වැඩි දිගකට අැදගන්න පුලුවන්. මේ නිසාම Repeater ඒකකට Extender කියන නමත් පාවිච්චි වෙනවා. රැහැන් සහිත Repeater ඒකකට රැහැන් රාශියක් සම්බන්ධ කරන්න පුලුවන් වගේම රැහැන් රහිත ඒකකට ජාල පරාසය නැත්නම් Network Range ඒක වැඩි කරන්න පුලුවන්.

Hubs :- හබ් පාවිච්චි වෙන්නෙ ඒක් ඒක් උපකරණ සම්බන්ධ කරන්න.ඒක් ඒක් උපකරණ කියන්නෙ workstations, servers, printers වගේ ඔිනෑම දෙයක්. මේක ports කියන කුඩා කුහර වලින්  තමයි මේකට උපකරණ සම්බන්ධ වෙන්නෙ. Ports 4,8,12 වශයෙන් පවතිනවා.

Bridges :- පාලමකින් කරන්නෙ ගොඩබිම් 2ක් යා කරන ඒකනෙ. මේ bridges වලිනුත් කරන්නෙ වෙන්ව පවතින network 2ක් සම්බන්ධ කිරීමක් හරි තනි network ඒකක් ජාල 2කට වෙන් කිරීමක් හරි. 2 layer switch නැතිනම් ලේයර් 2ක switch උපකරණයක් විදියටත් මේක හදුන්වන්න පුලුවන්. Bridge ඒකකට හුගක්  දුරට hubs තමයි සම්බන්ධ වෙන්නෙ.

Switches :- switch ඒකක් කියන්නෙ හුගක් වෙලාවට තනි ජාලයකට පරිගණක කිහිපයක් සම්බන්ධ කරන්න ගන්න උපකරණයක්. සාමාන්‍යයෙන් අපි කියනවා හබ් ඒකකට වඩා ස්විච් ඒකක් බුද්ධිමත් කියලා. අපේ පරිගණක ජාලයේ තියෙන පරිගණකයකට තවත් ඒකක් හා සම්බන්ධ වෙන්න ඔිනනම් හබ් ඒක නැත්නම් මේ ස්විච් ඒක මැද්දෙන් යන්න ඔින.

අපි හිතමු 1 පරිගණකය 9 පරිගණකයට සම්බන්ධ වෙන්න ඔින කියලා, ඉතින් මේ 1 PC ඒක ඒ පනිවිඩය හබ් ඒකට හරි ස්විච් ඒකට හරි දෙනවා. හබ් ඒක මේ පනිවිඩය අරගෙන හැමෝම ලගට යනවා. ඒයාගෙන් 9කියලා තහවුරු වුනොත් තමයි ඒයාට පනිවිඩේ බාර දෙන්නෙ. ඒ්ත් ස්විච් ඒකක් ඒ පනිවිඩය අරගෙන කෙලින්ම හරි කෙනා ගාවට යනවා. ඒ නිසයි ඒයා බුද්ධිමත් බවින් වැඩියි කියන්නෙ...
ඒ වගේම switch ඒකත් හුගක් වෙලාවට bridge ඒකක් වගේම තමයි, ඒත් bridge ඒකකට වඩා වේගය හා හැකියාව කාර්යක්ෂමතාව sweitch ඒකේ වැඩියි. ස්විච් ඒකක් multiple bridge ඒකක් විදියට පැහැදිලි කරන්න පුලුවන්.

Modem(Modulator, Demodulator) :- දුරකථන රැහැන් හරහා පරිගණකයේ ඩිජිටල් සංඥා, අැනලොග් සංඥා බවට හරවන්නෙ මෙයා. ඒ වගේම ඒ ක්‍රියාවලියෙ අනිත් පැත්ත කරන්නත් මේකට පුලුවන්. පරිගණක modem භාවිතයෙන් තවත් පරිගණකයක් ඒක්ක දුරකථන රැහැන් හරහා සම්බන්ධ වෙන්න පුලුවන්.

Routers :- නෙට්වර්ක් 2ක් හෝ ඊට වැඩි ගණනක් ඒකිනෙකට රැහැන් සහිත හෝ රහිතව සෙට් කරලා ඒවා අතර තියෙන දත්ත හුවමාරු කර ගන්නවා. ඒ දත්ත වල හුගක් වෙලාවට අන්තර්ගත වෙනවා address information, මේවා භාවිතයෙන් router ඒකට පුලුවන් මේ දත්ත යන්නෙ network දෙකකටද නැත්නම් තනි ඒකේම දෙපැත්තකටද කියලා.

මේ පාර ලිපිය මෙතනින් ඉවරයි, හිතනවා මේ ලිපියත් ඔයාලට වැදගත් වේවි කියලා, ඊලග ලිපියෙන් අපි කථා කරමු network ඒකක් කොටස් වලට බෙදන්න පුලුවන් ක්‍රම ගැන...

Tuesday, July 19, 2016

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

පහුගිය කාලෙ අපි කථා කරපු පාඩම් මාලාවලින් පස්සෙ අද අපි අලුතින්ම කථා කරන්න පටන් ගත්තෙ Networking ගැන. ගොඩක් ගැඹුරට යන පාඩම් මාලාවක් පුලුවන් තරම් සරලව ඉදිරිපත් කරන්න අපි බලාපොරොත්තු වෙනවා.

අපි මුලින්ම කථා කරමු Networking වල ඉතිහාසය ගැන. Networking  කියන්නෙ මොකක්ද, ඒකෙ අැතිවීමට බලපාපු දේවල් මොනවාද කියන දේ...

අපි මුලින්ම කථා කළොත් 1950 යුගයේ පරිගණක ගැන.ඒ කාලෙ තමයි පරිගණක වල මුල්ම යුගය. මේ කාලේ පරිගණක කාමරයකට වඩා විශාලයි.ඒ වගේම අධික මිලකට තමයි මේවා පැවතුනෙත්. බොහොම වැදගත් අායතනයක වුනත් වැඩිම වුනොත් පරිගණක 2ක් හෝ 3ක් තියෙන්න අැති. ඒ වගේම අපි අාදානයන් සමූහයක් (Batch) ලබා දීලා ප්‍රතිදානයක් ගන්න අායෙත් වෙන වෙලාවක් වෙනකන් බලන් ඉන්න වෙනවා. මේවට තමයි අපි කියන්නෙ Batch Processing Systems කියලා. මේ systems පදනම් වෙලා තියෙන්නෙ Mainframe ඒකකයක් මත. User අාදාන විදිහට භාවිතා කරන්නෙ punch cards. user punch cards වල දත්ත හා code ඒක අාදානය කරලා operator දත්ත පරිගණකයට අැතුල් කරනවා. userට result ලැබෙන්නෙ ටික වෙලාවක් ගියාට පස්සෙ. මේ Batch Processing System ඒකක අඩුපාඩු ගොඩක් තිබුනා. ලොකුම අඩුපාඩුව තමයි ගොඩක් වෙලාව නාස්ති වුන ඒක. ඒ වගේම පාරිභෝගිකයන්ට තමන්ගෙ කැමැත්ත අනුව වැඩ කරගන්න බැරි වුන නිසා මේක ඒපා වෙන්න පටන් ගත්තා. ඒ වගේම userට බැරි වුනා වෙන process ඒක හදිස්සියකදි වෙනස් කරගන්නවත්...

මේ ප්‍රශ්නත් ඒක්කම 1960 යුගය වෙනකොට පරණ තිබුණු ප්‍රශ්න වලට පිලිතුරු විදියට Multi Terminal Systems කරලියට අාවා. මේකෙන් usersලා කිහිප දෙනෙක්ට ඒකම වෙලාවෙ වැඩ කරන්න පුලුවන්. ඒ වගේම මේ computer ඒක කලින් ඒක වගේ නෙමෙයි අාපහු ප්‍රතිචාර දක්වන speed ඒකත් වැඩියි . ඒ නිසා වැඩ කරන අයට දැනෙන්නෙ නෑ මේකෙ usersලා ගොඩක් වැඩ කරනවා කියලා. terminal ගොඩක් තියෙනවා දත්ත අාදානය කරන්න. network ඒකක් වගේම තමයි හුගක් වෙලාවට.

Networking වල අාරම්භය විදියට අපි සලකන්නෙ මේ Multi terminal systems.

  • SAGE - Semi Automatic Ground Environment.
මේක Air Defense System ඒකක්. සෝවියට් රාජ්යය ඒල්ල කරපු න්‍යෂ්ටික බෝම්බ වලින් බේරෙන්න 1958දි North American Aerospace Defense Command කණ්ඩායමේ හැදුවේ අැමරිකන් ගුවන් හමුදාව වෙනුවෙන්... ප්‍රධාන මධ්‍යස්ථාන 3ක් පදනම් කරගෙන දිශා මධ්‍යස්ථාන 24ක් හා දුර ගමන් රේඩාර් මධ්‍යස්ථාන 100 කටත් වැඩියෙන් මත මේක ගොඩනැගුනේ.
සම්පූර්ණයෙන්ම සන්නද්ධ ගත වුනේ 1963දී. දත්ත හුවමාරුවට දුරකථන මාර්ග හා රේඩියෝ සංඥා පාවිච්චි වුනේ...
පසුකාලීනව සෝවියට් රුසියාව intercontinental ballistic missiles නිකුත් කරන්න පටන් ගත්තා. මේ මිසයිල වලින් SAGEට ගැලවීමක් තිබුනෙ නෑ. මේ මිසයිල ප්‍රහාරයකින් ප්‍රධාන මධ්‍යස්ථානයක් බිද වැටුනට පස්සෙ අනෙකුත් සියලුම ජාල බිද වැටුනා. මේකට විසදුමක් විදියට ගෙනාවෙ බලය විහිදුවන ලද පද්ධතියක්.

  • ARPANET - Advanced Research Projects Agency Network
1969දි මේක නිර්මාණය වුනේ.SAGE වලදි භාවිතා කරලා තිබ්බෙ ඒකම විදිහෙ යන්ත්‍ර, නමුත් මේකෙදි විවිධ වර්ග වල පරිඝණක ඔවුන් යොදාගත්තා. මේවා ඒකිනෙකට සම්බන්ධ කළේ IMP- Interface Message Processor මගින්. මේකෙ ප්‍රාථමික අරමුණ වුනේ අාරක්ෂක මර්මස්ථාන, විශ්ව විද්‍යාල  ඒකිනෙකට සම්බන්ධ කරන්න. අවසානයේදී මුලු අැමරිකාව පුරාම මේ ජාලය පැතිරුණා. අන්තර්ජාලයේ මූලික පියවරක් විදියට මේක දක්වන්න පුලුවන්.
ARPANET නිසා ලෝකයට ලැබුනු දායාදයන් කිහිපයක්ම පැහැදිලිවම දක්වන්න පුලුවන්.

  1. Email - 1971 
  2. Telnet - 1972
  3. FTP - 1973 - File Transfer Protocol
  • NSFNET - National Science Foundation Network
NFS අායතනය ඔවුන්ගේ තියෙන සුපිරි පරිගණක 6 ඒකිනෙකට සම්බන්ධ කරන්න පුලුවන් විදියේ  Backbone Network (ප්‍රධාන ජාලයක්) ඒකක් ගොඩනැගුවා. ඒ වගේම මේක සියලුම විශ්ව විද්‍යාල පර්යේෂණ කණ්ඩායම් වලට විවෘත ජාලයක් කලා. ඒකිනෙක අාසන්නයේ තිබ්බ ප්‍රාදේශීය ජාල 20කට අාසන්න ප්‍රමාණයක් ඒකතු කරලා දහස් ගානක් විශ්වවිද්‍යාල වලට, පර්යේෂණාගාර වලට, පුස්තකාල වලට, කෞතුකාගාර වලට ඒවා භාවිතා කරන්න පහසුකම් හදලා දුන්නා.

1990 වන විට backbone network සංකල්පය බිද වැටුනා.ඒ වෙනුවට වාණිජ තරගකාරී බවට හැරවිය හැකි පද්ධතියක් නිර්මාණය වුනා. අපි හදුන්වනවා මේක අන්තර්ජාලයේ මුලික අාරම්භක අවස්ථාවක් විදියට.

අපි ඊලග දවසේ අපි කථා කරමු Network ඒකක් කියන්නෙ මොකක්ද, හා ඒකේ භාවිතයන් ගැන.





Wednesday, June 22, 2016

Software Engineering ඉගෙන ගනිමු - 7 පාඩම

ඔන්න අද Software Engineering වල අන්තිම පාඩමත් අරගෙන අාවා. අද අපි කථා කරන්නෙ අවදානම් කලමණාකරණය ගැන. නැත්නම් Risk Management.

අවදානම් කළමණාකරණයෙදි කථා කරන්නෙ අවදානම් හදුනාගැනීම හා ඒකෙන් ව්‍යාපෘතියට වන හානිය පුලුවන් තරම් අවම කරගන්න අාකාරය ගැන.අවදානමක් කියන්නෙ සම්භාවිතාවයක්  යම් පීඩාකාරී
ප්‍රතිපලයක් අැති කරන්න පුලුවන්. 
ඒක කාල සටහනට වගේම අපට තියෙන සම්පත් වලටත් බලපාන්න පුලුවන්. ඒක අපි සංවර්ධනය කරන software ඒකේ quality නැත්නම් ප්‍රමිතිය ගැන වගේම software ඒකේ performance ඒක නැත්නම් කාර්යඵලයට බලපෑම් අැති කරන්න පුලුවන්.
හදලා ඉවර වුනාට පස්සෙ ඒක රෑක බලාගන්න කාලයේදි ව්‍යාපාරික වශයෙන් අවදානම් වලට ලක්වෙන්න පුලුවන්. 

අවදානම් කලමණාකරනය ප්‍රධාන පියවර 4ක් යටතේ වර්ග කරන්න පුලුවන්.
  1. Risk Identification - අවදානම් හදුනාගැනීම - ව්‍යාපෘතියට තියෙන සියලුම අවදානම් මාෙනාද කියලා හදුනාගන්න ඔින.
  2. Risk analysis - අවදානම් විශ්ලේෂණය - අවදානමක් වෙන්න තියෙන ඉඩ ප්‍රමාණය හා ඒකෙන් පස්සෙ වෙන්න පුලුවන් ප්‍රතිවිපාක ගැන 
  3. Risk Planning - අවදානම් ඉවත් කිරීම් සැලසුම් කිරීම - අවදානම් නිසා වෙන්න පුලුවන් හානි වලක්වගන්න හරි අවම කරගන්න හරි සැලසුම් කරනවා.
  4. Risk Monitoring - අවදානම් පාලනය කිරීම -  ව්‍යාපෘතියේ සියලුම අවදානම් පාලනය කිරීම
  • Risk Identification
අවදානම් හදුනාගැනීම ප්‍රධාන කොටස් 5කට වෙන් කරන්න පුලුවන්.
  1. Technology Risks - තාක්ෂණික අවදානම් - database ඒකක අැතිවෙන්න පුලුවන් ප්‍රශ්න ඒක උදාහරණයක්
  2. People Risks - මිනිසුන් නිසා අැතිවන අවදානම් - staff ඒකේ අැතිවන ප්‍රශ්න
  3. Organizational Risks - සංවිධානය නිසා අැතිවන අවදානම් - Organization ඒකේ පාලනය මාරු වෙලා වෙනස් මූනු තනතුරු වලට පත්වීම
  4. Requirements Risks - ව්‍යාපෘතියේ අවශ්‍යතා නිසා අැතිවන අවදානම් - පාරිභෝගිකයාට අවශ්‍යතා ගැන තේරෙන්නෙ නැති වුනාට පස්සෙ
  5. Estimation Risks - ව්‍යාපෘතිය අැස්තමේන්තු ගත කිරීමේදී වන අවදානම් - අැස්තමේන්තු ගත කරපු කාලය වගේම අැස්තමේන්තු ගත කරපු කාලය වෙනස් වීම
  • Risk Analysis 
අවදානම් වෙන වෙනම අරගෙන ඒවාගෙ සම්භාවිතාව හා බරපතලකම තේරුම් ගන්නවා. සම්භාවිතාව very low, low, moderate ,high, very high විදියටත් බරපතලකම catastrophic, serious, tolerable, insignificant විදියටත් බෙදන්න පුලුවන්.
  • Risk Planing
 අවදානම් පාලනය කරගන්න උපාය මාර්ග පාවිච්චි කරනවා.
  1. වලක්වාගන්නා උපායමාර්ග
  2. හානි අවම කරගන්නා උපායමාර්ග
  3. අවිනිශ්චිත උපායමාර්ග
  • Risk Monitoring
හදුනාගත්තු ඒක් ඒක් අවදානම් පිලිවෙලට තීරණය කරනවා වෙන්න තියෙන සම්භාවිතාවන් විශාලද කුඩාද කියන දේ. අවදානම් නිසා ඉස්සර අැතිවුනු බලපෑම්මද තවමත් අැතිවෙන්නෙ කියන දේ. මේ ඒක් ඒක් කාරණාවන් ප්‍රගති රැස්වීම් වල කථා කරන ඒකත් Risk Monitoring වලට තමයි අයිති වෙන්නෙ.

මෙන්න මේ විදියට Software Engineering පාඩම් මාලාව අපි මෙතනින් නිමා කරනවා. ලැබුනු ඉල්ලීම් කිහිපයක් අතරින් හොදම ඉල්ලීමට තැනක් දෙන්න අපි බලාපාෙරොත්තු වෙනවා. 






Monday, June 13, 2016

Software Engineering (Project Management) ඉගෙන ගනිමු - 6 පාඩම

ටික දවසකට පස්සෙ අායෙත් ඔන්න කියපු විදියටම Software Engineering අලුත්ම පාඩමක් අරන් අදත් අාවා.
අද අපි කථා කරන්නෙ Project Management වල basics ගැන.

Project Management ප්‍රධාන කොටස් 4කට බෙදන්න පුලුවන්.

  1. Management Activities (කලමණාකරන ක්‍රියාවලිය)
  2. Project Planning (ව්‍යාපෘති නිර්මාණය)
  3. Project Scheduling (ව්‍යාපෘති උප ලේඛණය කිරීම )
  4. Risk Management (අවදානම් කලමණාකරණය)
 Project management හුගක් වෙලාවට වැඩ කරන්නෙ Software ඒක වෙලාවට deliver වෙලාද, අදාල කාල සටහනට අනුවද පියවර සිද්ධ වෙලා තියෙන්නෙ , organization ඒකට ඔින වෙලා තිබ්බ requirements නියමිත විදියට සම්පුර්ණ වෙලා තියෙනවද , ගිහින් තියෙන වියදම budget ඒකට ගැලපෙනවද කියන දේවල් තමයි check කරන්නෙ.


  1. Management Activities
කලමණාකරණ ක්‍රියාවලිය ප්‍රධාන කරුණු කිහිපයක් යටතේ වෙන් කරන්න පුලුවන්.

  • Proposal Writing (යෝජනා සටහන් කරගැනීම)
  • Project planing and scheduling (ව්‍යාපෘති සැලසුම් කිරීම සහ සටහන් කරගැනීම)
  • Project costing (ව්‍යාපෘතියට යන වියදම ගණනය කිරීම)
  • Project monitoring and reviews (ව්‍යාපෘතිය පාලනය හා පසු විපරම)
  • Personnel selection and evaluation (පුද්ගල තෝරාගැනීම හා පරීණාමණය)
  • Report writing and presentations (වාර්තා ලිවීම හා ඉදිරිපත් කිරීම)
Project Manager කියන්නෙ කවුද? මොනවද කරන්නෙ?

    Project Manager සම්පූර්ණයෙන්ම project ඒකේ ව්‍යාපෘති වාර්තාව ලිවීම සම්බන්ධව වග කිව යුතුයි. ඔහු පාරිභෝගිකයාට හා ව්‍යාපෘති භාර අායතනයට යන දෙකටම ඒ සම්බන්ධව වග කියනවා. ව්‍යාපෘති වාර්තාව සාමාන්‍යයෙන් ලියවෙන්නෙ සංක්ෂිප්තව පැහැදිලි වාර්තාවක්. ඒකෙ වැදගත්ම තොරතුරු ටික වාර්තාවට අැතුලත් වෙනවා.
   ප්‍රගති වාර්තා සමාලෝචන රැස්වීම් වලදී මේ තොරතුරු ඉදිරිපත් කරන්න හැකියාව තියෙන්න ඔින.

  • Project ඒකට අවශ්‍ය කාර්ය මණ්ඩලය බදවා ගැනීම
         කට්ටිය බදවගන්න කොට අදහස් වලින් පරිපූර්ණ අත්දැකීම් වලින් පරිපූර්ණ පරමාදර්ශී චරිත ලැබෙයි කියලා බලාපොරොත්තු වෙන්න බෑ. ඒ වගේම ඒ වගේ චරිත ලැබුනොත් ඒ අයට කරන්න වෙන ගෙවීමත් ව්‍යාපෘති ඒකේ අයවැයට දරාගන්න පුලුවන් වෙයි කියලා හිතන්න අමාරුයි. හැම වෙලාවකම අායතනයක් කාර්ය මණ්ඩලයේ හැකියාවන් වර්ධනය වීමක් බලාපොරොත්තු වෙනවා ව්‍යාපෘතියක් මගින්...

  • Project ඒක සැලසුම්ගත කිරීම
         ව්‍යාපෘතියක වැඩිම කාලයක් ගතවන ක්‍රියාවලිය තමයි මේක. ව්‍යාපෘතිය ගැන අදහස ඔලුවට අාපු දවසෙ ඉදන් භාර දෙන දවස වෙනකන්ම නොනවත්වා කෙරෙන ක්‍රියාවලියක්. අලුත් තොරතුරු ඒකතු වීමත් ඒක්කම සැලසුම් ක්‍රමවත්ව වෙනස් කරගන්න පුලුවන්. ප්‍රධාන software plan ඒකට ගැලපෙන විදියෙ කුඩා කුඩා plans වලින් හුගක් දුරට කාල සටහනට හා අයවැයට ගැලපෙන විදියෙ plan ඒකක් හදාගන්න පුලුවන්.
 

කුඩා plans කිව්වම හුගක් දුරට අයිති වෙන්නෙ...

  1. Quality Plan (ප්‍රමිති සැලැස්ම)
  2. Validation Plan ( වලංගුතාවය පරික්ෂා කිරීමේ සැලැස්ම )
  3. Configuration Management Plan( අාකෘති කලමණාකරන සැලැස්ම )
  4. Maintenance Plan (පවත්වාගෙන යාමේ සැලස්ම)
  5. Staff Development Plan(කාර්ය මණ්ඩල සංවර්ධන සැලැස්ම)

  • Project Plan ඒකක සැකසුම
  1. Introduction (හදුන්වාදීම)
  2. Project Organization (ව්‍යාපෘති සංවිධානය)
  3. Risk Analysis (අවදානම් විශ්ලේෂණය)
  4. Hardware and software resource requirements (දෘඩාංග හා මෘදුකාංග අවශ්‍යතා)
  5. Work Breakdown (කාර්යයන් බිදවැටීමකදී ගන්නා පියවර)
  6.  Project Schedule (ව්‍යාපෘති කාල සටහන)
  7. Monitoring and reporting mechanisms ( යාන්ත්‍රණ පාලනය හා ඒවා පිලිබද වාර්තා ලබා ගැනීම )
  • Project Scheduling 
          ව්‍යාපෘතිය කොටස් වලට කඩලා ඒ ඒක් ඒක් කොටස කරන්න යන කාලය හා සම්පත් අැස්තමේන්තු ගත කරනවා. වැඩ කරද්දි ඒක දිගටම වැඩ වැටෙන විදියට කාර්යයන් පිලියෙල වෙන්න ඔින.
          සමහර වැඩ කරද්දි ඒ වැඩ මත තවත් වැඩ රදා පවතිනවා. කලින් වැඩේ කරන්නෙ නැතුව අලුත් වැඩකට යන්න බැරි විදිහෙ වැඩ පුලුවන් තරම් අවම කරන්න ඔින. Scheduling කියන දේ project managersලාගේ කැපවීම උනන්දුව වගේම අත්දැකීම් මතත් රදා පවතිනවා.

  • Scheduling කරද්දි අැති වෙන්න පුලුවන් ප්‍රශ්න
හුගක් වෙලාවට ප්‍රශ්න වල සංකීර්ණත්වය අැස්තමේන්තු ගත වෙන නිසා Solution ඒකක් හදාගන්න වැඩි වියදමක් යනවා. ව්‍යාපෘතියක ඵලදායීතාවය කිසිම වෙලාවක ඉන්න ඔලු ගෙඩි ගාන මත රදා පවතින්නෙ නැහැ. වැඩ ඉවර කරගන්න පරක්කු වුන project ඒකකට මිනිස්සු තවත් ඒකතු කරන ඒක ඒච්චරම හාෙද දෙයක් නෙවෙයි ඒකට හේතුව කථා බහ වැඩි වීම. බලාපොරොත්තු නොවෙන දේවල් ඔින වෙලාවක වෙන්න පුලුවන් project ඒකකට වුනත්.

ඊලග පාඩමෙන් අපි Risk Management ගැන කථා කරමු....






Wednesday, June 1, 2016

Software Engineering ඉගෙන ගනිමු - 5 පාඩම

ටික දවසකට පස්සෙ යාලුවනේ ඔන්න අදත් අාවා අලුත් පාඩමක් අරගෙන...

අද කථා කරන්නෙ ගිය පාර පාඩමේ ඉතුරු කොටස....
Component Based Software Model ගැන තමයි කථා කරන්න තියෙන්නෙ...

මේකෙදි වෙන්නෙ පරණ Software ඒකතු කරලා අලුත් Software හදන process ඒක...

මේ වගේ දෙයක් කරන්න සෑහෙන පලපුරුද්දක් තියෙන්න ඔින.. ඒ කියන්නෙ කෝමත් පරන Software ගැන හොද අවබෝධයක් තියෙන්න ඔින.
අපිට හොද උදාහරණයක් ගත්තොත් ඒහෙම,
අලුතින්ම පටන් ගත්තු බැංකුවක් ඒ බැංකුවෙ ඉන්න අයටත් ලොකු දැනුමක් නෑ IT පැත්තෙන් වැඩ කරන් යන්න. අපිව ගන්නවා ඒ ගොල්ලන්ගෙ උපදේශකයෙක් විදියට, බැංකුවට ඔින වෙනවා මෙච්චරකල් වැඩ කරපු manual system ඒක අත් අැරලා software වලින් හදපු ක්‍රමයකට යන්න. ඉතින් ඒකට ඒගොල්ල ඔයාගෙන් ඒක කරන්න ඔින විදිහ විමසනවා. කරන්න පුලුවන් ක්‍රම කිහිපයක් අතරේ හොදම ක්‍රමයක් තමයි Component Based Model ඒක කියන්නෙ. ඒකට හේතුව වෙන්නෙ අපේ Bank ඒකේ අයට අලුත්ම Software ඒකක් හදාගන්න දැනුමකුත් නෑ. අලුත්ම Software ඒකක්  ඒක්ක වැඩ කරන්න තේරෙන්නෙත් නෑනෙ ලොකුවටම. අනික අලුත් software ඒකක් කරන්න සෑහෙන කාලයක් ගතවෙනවානෙ. මේ ගොල්ලන්ට ඒච්චර කාලයක් නෑනෙ බලන් ඉන්න. ඉතින් තියෙන හොදම ක්‍රමයක් තමයි component based system කියන්නෙ.

මේකෙ ප්‍රධාන පියවර කිහිපයක් තියෙනවා.

  1. Component Analysis (තමන්ට තියෙන දේවල් check කරනවා)
  2.  Requirements modification ( අවශ්‍යතා තමන්ට ඔින විදියට වෙනස් කර ගන්නවා.)
  3. System design with reuse (කලින් කියපු අවශ්‍යතා වලට ගැලපෙන්න System ඒක වෙනස් කර ගන්නවා.)
  4. Development and integration (කලින් කියපුු කාරණා අනුව develop කරන්න පටන් ගන්නවා)
මේවගෙ  වාසි කිහිපයක්ම තියෙනවා.
  • අලුතෙන් නිර්මාණය වීමක් වෙන්නෙ නෑනෙ. ඒ නිසා කාලය අඩුයි.
  • මුදලුත් ගොඩක් වැය වෙන්නෙ නෑ
  • පරණ කලින් පාවිච්චි කරපු software නිසා හිතේ බයකුත් නෑ. Risk ඒක අඩුයි.
ඒ වගේම තමයි අවාසි
  • පාරිභෝගිකයට ඔින කරන දේවල් ඒ විදියටම දෙන්න විදිහක් නෑ.
  • තමන්ගෙ පරණ Software නැතුව පිටින් ගත්ත software වලින් හදනවානම් කාලය ගැන කිසිම අදහසක් කියන්න අමාරුයි.

ඒ කොටසින් Software Models ගැන පාඩම් කොටස අවසන් වෙනවා.
ඊලගට කථා කරන්නෙ Project Management , Software Engineering වල තවත් අලුත් කොටසක්.
ඉක්මනට ඒ පාඩමත් ඒක්ක අායෙත් හමු වෙනකන් සුභ ගමන් :D! 


What is PowerShell -1

PowerShell mainly using by system administrators and system engineers to their daily work.  This task based command line mainly created by ...