මේ video එකෙන් කතා කරන්නේ මොකක්ද මේ GIT,GITHUB කියන්නේ කියලා..
ලංකාවේ Computer Science ඉගෙන ගන්න ලමයින්ගේ Computer Science දැනුම වර්ධනය කිරීම අපේ අරමුණයි.
Monday, May 6, 2019
Wednesday, February 6, 2019
මොකක්ද මේ Final Keyword එක..
අපි අද මේ video එකෙන් කතා කරන්නේ software engineering intern interview එකකදි බොහෝවිට අහන 'Final' keyword එක ගැන..
Saturday, December 22, 2018
Network Address Translation කියන්නේ මොකක්ද??
අපි අද කතා කරන්න යන්නේ Network Address Translation කියන්නේ මොකක්ද කියලා ??
NAT වලින් කොහොමද ipv4 exhaustion එක වලක්වාගන්නේ කියලා...
NAT වලින් කොහොමද ipv4 exhaustion එක වලක්වාගන්නේ කියලා...
Saturday, November 24, 2018
Angular පාඩම 7 - Structural Directives( ngIf, ngSwitch, ngFor )
අපි java , C languages ඉගෙන ගනිදිදි if else, switch case , for loop මෙන්න මේ වගෙ දේවල් ටිකක් ඉගෙන ගත්තා ඔයලට මතක ඇති... ඒවගෙන් උනු වැඩත් මතක ඇති.එන්න ඒ වැඩ ටික කරගන්න තමයි angular වලදි මෙන්න මේ Structural Directives use වෙන්නෙ..
අපි මුලිම්ම බලමු ngIf ගැන..
මේකෙදි වෙන්නෙ මොකක් හරි variable එකක් true උනොත් මේ ngif එක යටතේ තියෙන form එක වැඩ කරනව..false නම් වැඩ කරන්නෙ නැ...පහල නිදසුන බැලුවොත් ඒක පැහැදිලි වේවි...
මේකෙ myVaribale_one කියන එක true නිසා ngIf = true වන form එක පමනයි වැඩ කරන්නෙ..
අපි මුලිම්ම බලමු ngIf ගැන..
මේකෙදි වෙන්නෙ මොකක් හරි variable එකක් true උනොත් මේ ngif එක යටතේ තියෙන form එක වැඩ කරනව..false නම් වැඩ කරන්නෙ නැ...පහල නිදසුන බැලුවොත් ඒක පැහැදිලි වේවි...
මේකෙ myVaribale_one කියන එක true නිසා ngIf = true වන form එක පමනයි වැඩ කරන්නෙ..
මේකෙ else part එකක් එන විදියටත් පහල විදියට code එක ලියාගන්න පුලුවන්.ඒකට ng-template කියල elements හදාගන්න වෙනව..ඒ හදාගන්න element එකට reference variable assign කරන්නත් වෙනවා...
මේකෙදි trueblock එක වැඩ කරනවා බලාගන්න පුලුවන්..මොකද myVaribale_one true නිසා...
දැන් අපි බලමු ngSwitch Directive එක ගැන...
java වල switchcase තේරුනා නම් මේකත් ඒ වගේමයි.හරිම ලේසියි.සමාන output කිහිපයක් තියෙද්දි නිවැරදි එක තෝරගන්න තමා මේක ඕන වෙන්නෙ..java වල වගේම ngSwitch කියල මුලිම්ම අදාල variable එක assign කරනවා...ඊට පස්සෙ *ngSwitchCase කියල selective ටික assign කරනව... code එක බැලුවාම හොදටම පැහැදිලි වේවි...
date එක Friday නිසා ඒ අදාල case එක වැඩ කරනව බලාගන්න පුලුවන්...
දැන් අපට බලන්න තියෙන්නෙ ngFor ගැන..
for කියද්දි අපට මතක් වෙන්නෙ looping.මේ ngFor Directive එක use වෙන්නෙත් loop වලට.ඒ කියන්නෙ හිතන්නකො template එකේ එකම component එකක් හරි form එකක් හරි කිහිපවතාවක් , සිය දහස් වතාවක් පෙන්නගන්න ඕන කියල..ඒ කියන්නෙ array එකක තියෙන elements ටික පෙන්නගන්න ඕන කියල හිතන්න. මේ වගේ වැඩ වලට තමයි ngFor use කරන්නෙ...
අපි උදාහරනයක් අරන් බලමු.මුලිම්ම component class එකේ array එකක් හදාගන්න ඕන.
මේ වගේ,
days=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
දැන් අපි මේක template එකේ එකින් එක පෙන්න ගන්න ඕන.ඒකට මෙන්න මේ වගෙ syntax එකක් use වෙනවා.. *ngFor='let day of days';
මෙතන කියවෙන්නෙ days කියන array එකෙන් එකක් බැගින් අරගෙන day කියන variable එකට assign කරන්න කියන එක.මෙතන day වෙනුවට අපට කැමති නමක් දෙන්න පුලුවන්.නමුත් days කියන එක වෙනස් කරන්න බෑ..ඒක තමයි array එකේ name එක.
දැන් ඉතින් day කියන variable එක view කරගන්න තියෙන්නෙ...ඒකට interpolation use කරන්න පුලුවන්.මතක ඇති component එකේ තියෙන දෙයක් template එකේ පෙන්නගන්න interpolation යොදාග්ත්තා double curly brases දාගෙන.ඒකම තමයි මෙතනත් කරන්න තියෙන්නෙ..
මේක පහල විදියට view වෙනවා බලාගන්න පුලුවන් වෙවි..
ඒනම් අදට ඉවරයි..සුබ දවසක්.
ජයවේවා...
Friday, November 23, 2018
Angular පාඩම 6 - data binding
අපි අද බලන්න යන්නෙ data binding කියන්නෙ මොකද්ද කියල... මේක one way data binding සහ two way data binding කියල ආකාර දෙකයි... ඒකෙන් two way data binding කියල කියන්නෙ template එක පැත්තෙ ඉදන් component එක පැත්තටත් (ඒ කියන්නෙ html file එකේ ඉදන් ts file පැත්තට) component එකේ ඉදන් template එක පැත්තටත් එකවර data pass කරන වැඩේට...මේකෙ එක පැත්තකට විතරක් data pass කරනවනම් ඒකට one way data binding කියල කියනවා...
අපි මේ වැඩේ කරන්න login form එකක් හදාගමු.
මුලිම්ම අපි login කියන නමින් component එකක් හදාගමු.( >ng g c login )
ඒට පස්සෙ මේ වගේ bootstrap login form එකක් login.component.html එකට දාගන්න..
දැන් ඒකෙ selector එක app.component.html එකට දාගන්න ඕන.. (<app-login></app-login>)...මතක නැතිනම් කලින් පාඩම් බලන්න.
ng serve කරගත්තාම මේ විදියට පෙනේවි.
දැන් අපි මේ form එකට නමක් දෙන්න ඕන... <form #login = "ngForm"> කියල දෙන්න පුලුවන්..ඒ වගේම මේ form එක submit කලාම වෙන්න ඕන දේ ts file එකේ ලියගන්න පුලුවන්...එහෙම කරන්න නම් form එකේ ඒ අදාල method එක මේකයි කියල ලියන්න තියෙන්න ඕන..
<form (ngSubmit)="onSubmit(login)" #login = "ngForm">
මෙතන method එකට login කියල ngForm එකෙ විස්තර ටික යවල තමයි තියෙන්න.
දැන් අපි මේ form එකේ විස්තර console log කරගන්න බලමු.
ඒකට login.component.ts එකේ මේ විදියට onSubmit() කියන method එක ලියාගන්න ඕන.
method එක ඇතුලෙ ngForm එකෙන් එන data console log කරගන්න පුලුවන්ද කියල බලමු...
ඊට කලින් NgForm එක import කරගන්න අමතක කරන්න එපා...
NgForm import කරගන්න කලින් app.module.ts එකට FormsModule එක import කරගන්න වෙනවා...
login.component.ts එක එන්නෙ මේ විදියට...
දැන් අපි form එක submit කරල inspect බැලුවොත් අපේ ngForm එක console log වෙලා තියෙනව බලාගන්න පුලුවන්...
ඒ කියන්නෙ දැන් අපේ form එක වැඩ කරනව කියන එකයි...
දැන් අපි බලමු මේ input , console log කරගන්න හැටි.ඒකට අපි input එකට නමක් දෙන්න වෙනව...ඒ වගේම ngModel කියන directive එක දෙන්න ඕන...ඒක කරන්නෙ මේ විදියට...
email එකයි password එකයි console log කරන්නෙ මේ විදියට...
දැන් email එකයි..password එකයි ගහල submit කලාම මේ විදියට console log වෙනවා බලාගන්න පුලුවන්....
අපි මේ වැඩේ කරන්න login form එකක් හදාගමු.
මුලිම්ම අපි login කියන නමින් component එකක් හදාගමු.( >ng g c login )
ඒට පස්සෙ මේ වගේ bootstrap login form එකක් login.component.html එකට දාගන්න..
දැන් ඒකෙ selector එක app.component.html එකට දාගන්න ඕන.. (<app-login></app-login>)...මතක නැතිනම් කලින් පාඩම් බලන්න.
ng serve කරගත්තාම මේ විදියට පෙනේවි.
දැන් අපි මේ form එකට නමක් දෙන්න ඕන... <form #login = "ngForm"> කියල දෙන්න පුලුවන්..ඒ වගේම මේ form එක submit කලාම වෙන්න ඕන දේ ts file එකේ ලියගන්න පුලුවන්...එහෙම කරන්න නම් form එකේ ඒ අදාල method එක මේකයි කියල ලියන්න තියෙන්න ඕන..
<form (ngSubmit)="onSubmit(login)" #login = "ngForm">
මෙතන method එකට login කියල ngForm එකෙ විස්තර ටික යවල තමයි තියෙන්න.
දැන් අපි මේ form එකේ විස්තර console log කරගන්න බලමු.
ඒකට login.component.ts එකේ මේ විදියට onSubmit() කියන method එක ලියාගන්න ඕන.
method එක ඇතුලෙ ngForm එකෙන් එන data console log කරගන්න පුලුවන්ද කියල බලමු...
ඊට කලින් NgForm එක import කරගන්න අමතක කරන්න එපා...
NgForm import කරගන්න කලින් app.module.ts එකට FormsModule එක import කරගන්න වෙනවා...
login.component.ts එක එන්නෙ මේ විදියට...
දැන් අපි form එක submit කරල inspect බැලුවොත් අපේ ngForm එක console log වෙලා තියෙනව බලාගන්න පුලුවන්...
ඒ කියන්නෙ දැන් අපේ form එක වැඩ කරනව කියන එකයි...
දැන් අපි බලමු මේ input , console log කරගන්න හැටි.ඒකට අපි input එකට නමක් දෙන්න වෙනව...ඒ වගේම ngModel කියන directive එක දෙන්න ඕන...ඒක කරන්නෙ මේ විදියට...
email එකයි password එකයි console log කරන්නෙ මේ විදියට...
දැන් email එකයි..password එකයි ගහල submit කලාම මේ විදියට console log වෙනවා බලාගන්න පුලුවන්....
හරි දැන් අපි බලමු data bind කරන්නෙ කොහොමද කියල..
මුලිම්ම අපි oneway data binding එකක් කරන හැටි බලමු.ඒ කියන්නෙ component එකේ ඉදන් template එකට.
ඒකට අපි component එකේ object එකක් හදාගන්න ඕන.student කියල object එකක් හදාගමු.ඒ object එකේ අපේ form එකට ගැලපෙන විදියට json type එකට attribute ටිකක් හදාගමු.
student={
email:" ",
password: " "
}
දැන් ඔය email , password template එකට bind කරගන්න ඕන... ඒක කරන්න නම් template එකේ ngModel එකට අපි component file එකේ සාදගත් object එකේ තියෙන attributes දෙන්න වෙනවා.. ඒක කරන්නෙ මෙහෙමයි... (ngModel එකට square brackets දාගන්න ඕන.)
දැන් ගොඩක් දුරට වැඩ ඉවරයි..component එකට අපට කැමති values දුන්නම component එකෙන් template එකට data bind වෙලා තියෙන නිසා open කරදිදිම form එක ඒ values වලින් fill වෙලා තියෙනවා බලාගනන පුලුවන්...
ඒ වගේම දැන් object එක console log කරගත්තොත් ඒ values ටිකම බලාගන්න පුලුවන්.
දැන් අපි value එක change කරල submit කලොත් console log වෙන්නෙ අර කලින් තිබුනු value එකමයි...ඒකට හේතුව අපි මේකෙ කරල තියෙනෙ one way bind එකක් හින්ද..data pass වෙන්නෙ component එක පැත්තෙ ඉදන් template එක පැත්තට විතරයි.template එක change කලා කියල console log එක වෙනස් වෙන්නෙ නෑ...
මේ නිසා ඒකට two way bind කරන්න වෙන්වා...
එකට banana in the box syntax ( [( )] ) එක use කරනව..
දෙන් two way data bind එකත් කරල ඉවරයි. දැන් template එකේ කරන වෙනස්කමක් නිසා component එක ඒ කියන්නෙ console log එක change වෙනවා...
හරි.data binding අදට ඉවරයි...අලුත් ලිපියකින් ආයෙත් හමුවෙමු.
සුබ දවසක්...!
Monday, November 19, 2018
මොකක්ද මේ distributed system කියන්නේ..
අද අපි කතා කරන්න යන්නේ මොකක්ද මේ නිතරම ඇහෙන distributed system කියන්නේ කියලා..මෙතනින් බලන්න
Saturday, November 17, 2018
peer to peer architecture(p2p)
අද කතා කරන්න යන්නේ මොකක්ද peer to peer architecture කියන්නේ මොකක්ද client server architecture එකෙන් ඒක කොහොමද වෙනස් වෙන්නේ කියලා..තව මොනවද අපිට p2p use කරොත් ලැබෙන වාසි වගේ දේවල්..
Friday, November 16, 2018
Transport Layer සහ TCP/UDP protocols..
අද අපි කතා කරන්න යන්නේ Transport layer එකේ තියෙන Transmission Control protocol සහ User Datagram protocol ගැන.. මොනවද මේ protocol වලින් කරන්නේ..මොකක්ද මේ segmentation,flow control,Error control කියන්නේ connection oriented සහ connection less services මොනවද කියලා..
Sunday, November 11, 2018
What is spring MVC
What is spring
MVC ???
හොඳයි
අපි අදින් පටන් ගන්න මේ
post series එකේ මන් හිතන් ඉන්නෙ
spring framework එක ගැන කතා
කරන්න.මේ පෝස්ට්
series එකෙන් බලපොරොත්තු
වෙන්නෙ මුලින්ම spring වල
short introduction එකක් කරල spring වලින්
කරන්න පුලුවන් දෙවල් ගැන විස්තර ඔයාලට ගේන්න. Spring framework එක කියන්නෙ දැනට ගොඩාක් කල් ඉදන් පවතින
අදටත් industry එකෙ ගොඩක් use වෙන framework එකක්.ඉතින් Spring ගොඩක් කල් තිස්සෙ පරිනාමනය වෙල අද වෙනකොට
ගොඩක් දියුනු වෙලා features ගොඩක් එකතු වෙල තියෙනවා.ඉතින් ඒ අලුත් features ගෙනත් අපි
මේ post series එකෙන් කතා කරන්න බලාපොරුත්තු වෙනවා. එකෙ පලවෙනි පියවර විදියට අද
අපි බලමු මොකද්ද මේ spring MVC කියන්නෙ කියල
.
What is
spring MVC ??? කෙටියෙන්ම කියනවනම් , spring framework එක යටතෙ තියෙන web development වලට යොද ගන්න framework එකක් තමයි spring MVC කියන්නෙ … spring framework කියන්නෙ ලොකු framework එකක් .අපි කත කරන්නෙ එක යටතෙ එන web development වලට යොද ගන්න framework එකක් වන spring MVC ගෙන විතරයි . ඒ වගෙම spring MVC කියන්නෙ java
based web development framework එකක් .
spring MVC
කියන්නෙ MVC architecture එක අනුව නිර්මනය
උන web framework එකක්. MVC
කියන්නෙ java වලට හරි spring වලට හරි විශේශ
උන දෙයක් නෙමෙයි. MVC architecture එක අනුව වැඩ කරන web framework ගොඩක් තියෙනව.ඒක එහෙම වෙලා තියෙන්නෙ MVC කියන්නෙ ගොඩක් වාසි දායක design
pattern එකක් නිසා .මන් දෙන් ඔයලට MVC architecture එක ගෙන පොඩ්ඩක් කියන්නම්.
M -Model
V-View
C-Controller
V(View) කියන්නෙ
මේ Model එකෙන් එන data ටික user ට පෙන්නන විදිය .ඒ කියන්නෙ frontend එක නැත්නම් අපි දකින web page එක .මෙතන C(Controller) කියන්නෙ හරියට
traffic police officer කෙනෙක් වගේ. Controller තීරයන කරනව කොහොමද මේ request & response පාලනය කරන්නෙ කියල.තව දුරටත් කිව්වොත්
මොකක් හරි request ආවම Controller එකේ තමයි තියෙන්නෙ මේ request ට අදාල
data (Model) මොන web page(View)එකේද
පෙන්නන්න ඕන කියන දේ.
ඉතින්
spring MVC වලින් development කරන්න පටන් ගත්තම
තව දුරටත් තෙරෙයි මේ MVC architecture එකෙ හැසිරීම. ඊළඟ post එකෙන් මන් බලපොරොත්තු වෙනව spring
MVC වල future එක වෙන spring boot ගෙන කතා
කරන්න ..ඊලග post එකෙන්
හමුවෙමු ..
ජය වේවා
…!!!!!
-කිමා මුහන්දිරම්-
Saturday, November 10, 2018
file transfer protocol(FTP) කියන්නේ මොකක්ද ?ftp client application කියන්නෙ මොනවද?
අද අපි කතා කරන්න යන්නේ file transfer protocol(FTP) කියන්නේ මොකක්ද ?ftp client application කියන්නෙ මොනවද? ගැන ඔයාලට නිතරම අහන්න ලැබෙනව filezilla වගේ නම් ඒ මොකක්ද මොනවද අපිට ඒව use කරලා අපේ website එක host කරගන්න ලේසි ඇයි ?? වගේ දේවල්..
Thursday, November 8, 2018
cookies කියන්නෙ මොනවද??
අපි අද කතා කරන්න යන්නේ මොකක්ද මේ cookies කියන්නෙ..cookies පාවිච්චි වෙන්නේ මොනවගේ aඅවස්තා වලටද?? 3rd party cookies කියන්නේ මොනවද?? cookies වලින් අපේ මොන dataද access කරන්නේ කියලා..
Monday, November 5, 2018
Angular 6 පාඩම - 5 - Interpolation
ආයුබෝවන්,අද
මම කියල දෙන්න යන්නෙ interpolation ගැන,
Interpolation කියන්නෙ
අපි typescript file එකේ
කරන වෙනස්කම් කොහොම්ද අපේ html file එකේ
පෙන්නගන්නෙ කියන එක ගැන.
මං මේ වැඩේ
කරගන්න hello කියන නමින්
අලුතෙන් component එකක්
හදාගත්තා..ඊට පස්සෙ ඒකෙ selector එක
වන <app-hello> කියන
selector එක app.component.html
එකට දා ගත්තා..(මේ වැඩේ කරන හැටි
කලින් ලිපියෙන් පැහැදිලිව කතා කලා)
මම html
file එකේ hello,Amal කියල h2 tag එකක් ඇතුලෙ ටයිප් කලා…මේක run
කරල බැලුවොත් hello,Amal
කියල view වෙනව…
නමුත් මේක static.අපට මේකෙ නම මොකක් හරි logic එකකින් වෙනස් කරන්න හැකියාවක් නෑ..වෙනස්
කරන්න html file එකම වෙනස්
කරන්න වෙනව…
නමුත් අපට ts
file එකේ logic එකක් ලියල මේ නම වෙනස් කරගන්න පුලුවන්
වෙන්න ඕන.එ කියන්නෙ මොකක් හරි Array එකක
තියෙන text එකක් ,JSON
file එකක තියෙන එකක් පෙන්න ගන්න
ඕන නම් ts file එකත් එක්ක ගනු දෙනු කරන්නම වෙනව…
හරි.දැන් අපි
ts file එකේ name
කියල variable එකක් හදාගන්නව…ඊට පස්සෙ ඒකට නමක් assign
කරනව…පහල රූපය බලන්න.
මේ නම කොහොමද
දැන් අපි පෙන්නගන්නෙ…ඒකට තමයි අපි සගල වරහන් යුගලක් use කරන්නෙ… {{ }}
Html file එක ඇතුලෙ අර හදාගත්තු name කියන variable එක දාගත්තාම ඒකට assign කල නම view වෙනව බලාගන්න පුලුවන.
ඉතින් සරලව ඔන්න ඔය වගේ වැඩක්
තමයි interpolation කියන්නෙ..
තව දුරටත් methods
use කරමින් මේ වැඩේ කරන හැටි තමයි
මේ…
Interpolation කියන්නෙ
සරලව මේ දේ කියල කියන්න පුලුවන්.මෙක සරල උනාට ඉදිරි පාඩම් වලට ගොඩක් ඕන වෙනව…එහෙනම්
ගිහිං එන්නම්.
ජය.!!!
JVM ගේ පොඩි මල්ලි DVM සහ ART
අපි අද කතා කරන්න යන්නේ Dalvik virtual machine සහ Android KITKAT වලින් පස්සේ ආපු ART ගැන මොකක්ද මේ දේවල් ඇයි ඇපල් phone එකක තරම් android වල performance ගන්න බැරිඋනේ java source code එකක් කොහොමද අපි අතේ තියෙන android phone එක execute කරවන්නේ කියල..
Saturday, November 3, 2018
Firewall කියන්නෙ මොකක්ද ???
අපි අද කතා කරන්න යන්නේ මොකක්ද මේ firewall එකක් කියන්නේ?? මොකටද අපි firewall එකක් පාවිච්චි කරන්නේ ?? firewall use කරපුවාම අපේ system එකට ලැබෙන වාසිය මොකක්ද කියලා?? මෙතනින් බලන්න
Friday, November 2, 2018
server ද serverless ද ???
අද අපි කෙටියෙන් කතා කරන්න යන්නේ server හා serverless ගැන..
server
server කියන්නේ traditional ක්රමය high performance වැඩ ගන්න ඒ වගේම හොද reliability එකක් පවත්වාගන්න මේ ක්රමය වඩාත්
ගැලපෙනවා. ඒ වගේම අපි servers use කරද්දි ඒ කියන්නෙ අපිම server එකක් අපේ organization එකේ පවත්වාගෙන යනවනම්.
අපේ it team එකට 24/7 එකේ unlimited access ලබාගන්න පුලුවන්.අපිට අවශ්ය විදිහට softwares install කරගන්න පුලුවන්
අපිට අවශ්ය විදිහට configure කරගන්නත් පුලුවන් .
server වලදි cost එක ගැන කතාකලොත් ඒ physical server හොද powerful උනත් hardware,software අපිටම purchase කරගන්න වෙනවා
අන්න ඒ හන්ද මේ server ක්රමය ටිකක් cloud(serverless) වලට වඩා මිල අදිකයි.
අපිට අවශ්ය කරන්නේ මිල අඩු ක්රමයක්නම් ඒකට ගැලපෙන්නෙ serverless වලට යන එක තමා.
server වල security පැත්ත බැලුවොත් තමන්ගෙ data තමන්ගාවම තියාගන්න එක තමන්ට ආරක්ශිතයි කියලා හිතෙන්න පුලුවන් .ඒ වගේම හැබැයි එහෙම උනොත්
අපිට අපේ server වල softwares update ව තියාගන්නවෙනව.මොකද cyber attack වලින් අපි ආරක්ශා වෙන්න ඕනි නිසා.
ඇත්තටම severless කියන නමින් අපිට එන අදහස තමා server එකක් නෑ කියන අදහස ඇත්ත්ටම ඒක එහෙමද ??
නෑ ,ඇත්ත්ටම ඒක නෙවෙයි මේ serveless කියලා කියන්නේ,,
serverless architecture එක use කරන පුද්ගලයාට ඇත්ත්ටම තමන්ගෙ back-end code run කරවන්න වෙනම server එකක් තමන්ගේ
යටතේ පවතවාගෙන යන්න ඕනි වෙන් නෑ.. ඒ වෙනුවට එම පුද්ගලයාට පුලුවන් ඒ වැඩේ cloud platform එකකට භාරදීලා ඉන්න .අන්න ඒක තමා මේ සරලව
serverless කියලා කියන්නේ .
මේ ක්රමය ඉතාම ලාභ්දායි සහ server ක්රමයට වඩා පහසු ක්රමයක් . ඒ වගේම වැදගත්ම දේ දැන් මේ සේවාවන් අපිට ලබාදෙන සමාගම් අපිට තවත් ඉතා හොද සේවාවන්
රැසක් ලබාදෙනවා.
කියන්න අමතක උනා මේ සේවවන් අපිට ලබාදෙන ප්රදාන සමාගම් වෙන්නේ Amazon වලින් AWS,Google වලින් Cloud ,Microsoftවලින් Azure.
ඇත්තටම මේ technology එක ප්රදාන category 3කට කඩන්න පුලුවන්.
1. IaaS-Infrastucture as a service
2. PaaS-Platform as a service
3. SaaS-Software as a service
කියලා
දැන් දැන් ව්යාපාර ගොඩාක් මේ serveless technology එක හදුනාගනිමින් ඊට හැඩගැසෙමින් ඉන්නවා.
Cisco සමාගම ලගදි නිකුත් කරපු whitepaper එකක 2019 වනවිට organization වලින් 86% මේ නව තාක්ශනය වැලදගෑනිම සිදුකරනව කියල සදහන් කරලා
තියෙනවා.
ඒ වගේම uk වල business වලින් 63%ක් cloud platform වලට මාරු වෙලා තියෙනවා.
serverless වලදි අපි cost එක ගැන කතා කරොත් මෙතනදි අපිට hardware,software වලට invest කරන්න ඕනි නැහැ.
අපිට pay කරන්න වෙන්නේ අපි use කරන services ප්රමාණයට හා storage ප්රමාණයට විතරයි. ඒ වගේම මේ remote servers හොදට utilize වෙලා
තියෙන නිසා වැඩියෙන් current එක use කරන්නෙත් නෑ.
Security
ගත්තම අපිට හිතෙන්න පුලුවන් data අපි ලග නැති නිසා අපේ data ආරක්ශිතද කියලා..අපිට data backup කරගත්තැකිද කියලා
හබැයි මම අර කලින් කීව ආයතන වල ඉන්නේ ලෝකෙ හොදම cyber security expertsලා. ඒ වගේම මේ data store kකරද්දි වගේම data transit වලදිත් data encrypt කරනවා.අපිට ඕනිනම් අපේම encryption keys ලබාදෙන්නත් පුලුවන්.ඒ වගේම අපිට rules හදන්නත් පුලුවන් කාටද මේ data access කරන්න් දෙන්නෙ කියලා.
ඒ වගේම ත්මන්ට තහවුරු කරගත්තැකි මේ data uk legislation වල data protection actඑකට අනුකූලව මේ අය තමන්ගේ data securityඑක තියාගන්නවද කියලත්.
ඔන්න ඕව තමයි serverless වල විස්තර කොහොම උනත් serverless use කරන්නනම් අපිට හොද internet connectionඑකක් අත්යාවශ්යයි.
ඉතින් මම අද මේ කතා කරේ server හා serverless ගැන ඉතා කෙටියෙන්..හිතනව ඔයාලට මේක වැදගත් වෙයි කියලා.එහෙනම් තවත් ලිපියකින් ඉක්මනටම හමුවෙමු.
server
server කියන්නේ traditional ක්රමය high performance වැඩ ගන්න ඒ වගේම හොද reliability එකක් පවත්වාගන්න මේ ක්රමය වඩාත්
ගැලපෙනවා. ඒ වගේම අපි servers use කරද්දි ඒ කියන්නෙ අපිම server එකක් අපේ organization එකේ පවත්වාගෙන යනවනම්.
අපේ it team එකට 24/7 එකේ unlimited access ලබාගන්න පුලුවන්.අපිට අවශ්ය විදිහට softwares install කරගන්න පුලුවන්
අපිට අවශ්ය විදිහට configure කරගන්නත් පුලුවන් .
server වලදි cost එක ගැන කතාකලොත් ඒ physical server හොද powerful උනත් hardware,software අපිටම purchase කරගන්න වෙනවා
අන්න ඒ හන්ද මේ server ක්රමය ටිකක් cloud(serverless) වලට වඩා මිල අදිකයි.
අපිට අවශ්ය කරන්නේ මිල අඩු ක්රමයක්නම් ඒකට ගැලපෙන්නෙ serverless වලට යන එක තමා.
server වල security පැත්ත බැලුවොත් තමන්ගෙ data තමන්ගාවම තියාගන්න එක තමන්ට ආරක්ශිතයි කියලා හිතෙන්න පුලුවන් .ඒ වගේම හැබැයි එහෙම උනොත්
අපිට අපේ server වල softwares update ව තියාගන්නවෙනව.මොකද cyber attack වලින් අපි ආරක්ශා වෙන්න ඕනි නිසා.
serverless
ඇත්තටම severless කියන නමින් අපිට එන අදහස තමා server එකක් නෑ කියන අදහස ඇත්ත්ටම ඒක එහෙමද ??
නෑ ,ඇත්ත්ටම ඒක නෙවෙයි මේ serveless කියලා කියන්නේ,,
serverless architecture එක use කරන පුද්ගලයාට ඇත්ත්ටම තමන්ගෙ back-end code run කරවන්න වෙනම server එකක් තමන්ගේ
යටතේ පවතවාගෙන යන්න ඕනි වෙන් නෑ.. ඒ වෙනුවට එම පුද්ගලයාට පුලුවන් ඒ වැඩේ cloud platform එකකට භාරදීලා ඉන්න .අන්න ඒක තමා මේ සරලව
serverless කියලා කියන්නේ .
මේ ක්රමය ඉතාම ලාභ්දායි සහ server ක්රමයට වඩා පහසු ක්රමයක් . ඒ වගේම වැදගත්ම දේ දැන් මේ සේවාවන් අපිට ලබාදෙන සමාගම් අපිට තවත් ඉතා හොද සේවාවන්
රැසක් ලබාදෙනවා.
කියන්න අමතක උනා මේ සේවවන් අපිට ලබාදෙන ප්රදාන සමාගම් වෙන්නේ Amazon වලින් AWS,Google වලින් Cloud ,Microsoftවලින් Azure.
ඇත්තටම මේ technology එක ප්රදාන category 3කට කඩන්න පුලුවන්.
1. IaaS-Infrastucture as a service
2. PaaS-Platform as a service
3. SaaS-Software as a service
කියලා
දැන් දැන් ව්යාපාර ගොඩාක් මේ serveless technology එක හදුනාගනිමින් ඊට හැඩගැසෙමින් ඉන්නවා.
Cisco සමාගම ලගදි නිකුත් කරපු whitepaper එකක 2019 වනවිට organization වලින් 86% මේ නව තාක්ශනය වැලදගෑනිම සිදුකරනව කියල සදහන් කරලා
තියෙනවා.
ඒ වගේම uk වල business වලින් 63%ක් cloud platform වලට මාරු වෙලා තියෙනවා.
serverless වලදි අපි cost එක ගැන කතා කරොත් මෙතනදි අපිට hardware,software වලට invest කරන්න ඕනි නැහැ.
අපිට pay කරන්න වෙන්නේ අපි use කරන services ප්රමාණයට හා storage ප්රමාණයට විතරයි. ඒ වගේම මේ remote servers හොදට utilize වෙලා
තියෙන නිසා වැඩියෙන් current එක use කරන්නෙත් නෑ.
Security
ගත්තම අපිට හිතෙන්න පුලුවන් data අපි ලග නැති නිසා අපේ data ආරක්ශිතද කියලා..අපිට data backup කරගත්තැකිද කියලා
හබැයි මම අර කලින් කීව ආයතන වල ඉන්නේ ලෝකෙ හොදම cyber security expertsලා. ඒ වගේම මේ data store kකරද්දි වගේම data transit වලදිත් data encrypt කරනවා.අපිට ඕනිනම් අපේම encryption keys ලබාදෙන්නත් පුලුවන්.ඒ වගේම අපිට rules හදන්නත් පුලුවන් කාටද මේ data access කරන්න් දෙන්නෙ කියලා.
ඒ වගේම ත්මන්ට තහවුරු කරගත්තැකි මේ data uk legislation වල data protection actඑකට අනුකූලව මේ අය තමන්ගේ data securityඑක තියාගන්නවද කියලත්.
ඔන්න ඕව තමයි serverless වල විස්තර කොහොම උනත් serverless use කරන්නනම් අපිට හොද internet connectionඑකක් අත්යාවශ්යයි.
ඉතින් මම අද මේ කතා කරේ server හා serverless ගැන ඉතා කෙටියෙන්..හිතනව ඔයාලට මේක වැදගත් වෙයි කියලා.එහෙනම් තවත් ලිපියකින් ඉක්මනටම හමුවෙමු.
Thursday, November 1, 2018
Firebase Realtime database and firebase cloud firestore
Firebase කියන්නෙ අපිට back end services ගොඩක් ලබාදෙන googleලගෙ feature එකක් gooogle account එකක් තියෙන ඕනිම කෙනෙක්ට firebase features use කරන්න හැකියාව තියෙනව
firebase features:-
1.realtime db
2.cloud storage
3.user authentication
4.static hosting
5.cloud messaging
6.authentication
7.ML kit etc.
අපි අද කතා කරන්න යන්නේ 'cloud firestore' ගැන.
ඒ අය ලගදි (ලගදි කීවට ලගදිම නෙවෙයි ) ලබදුන්න feature එකක් තමයි "Cloud firestore" කියන්නෙ ඒක "Firebase realtime database" වලට
සමාන (Firebase realtime database වල තියෙන්නෙ json tree format එකක් ).හැබැයි cloud firestore කියන මේ අලුත් feature එකේ
data save කරගන්නේ 'documents'( ඒ කියන්නෙ key-value pair විදිහට ).වල හා collection ( document වල collection) විදිහට
මේ උඩ තියෙන්නෙ firebase database data structure එක ..ඒක json tree එකක්..
මේ උඩ තියෙන්නේ firebase cloud firestore එකේ data structure එක..
realtime db එකේ complex hierarchical data හැසිරිවීම ටිකක් අපහසුයි.හැබැයි Cloud firestore use කරාම අපිට subcollection පාවිච්චි
කරලා ලේසියෙන් වැඩ කරගන්න පුලුවන්.
Cloud firestore use කරාම එකේ අපිට chain filtering,combine filtering,sorting කරන්න පුලුවන්.
ඒ වගේම අපිට where methods කිහිපයක් එකවර දාන්න හැකියාවත් cloud firestore අපිට ලබා දීලා තියෙනවා.
realtime database එකකට වඩා Scalability එකත් cloud firestore වල වැඩී.
ඒ වගේම අපිට data එක එකවරක් පමනක් ඔනිනම් realtime නැතුව manually data fetch කරන්න cloud firestore හැකියාව ලබා දී තියෙනවා
ඒ වගේම අයකිරීම් ගත්තම cloud firestore වල අය කිරීම් කරන්නෙ
1. read,write,delete කරන වාර ගනනට
2.use කරන storage එක අනුව.
3. use කරන network bandwidth
එක අනුව.හැබැයි ඒ ඉතාම අඩු rate එකකට.
realtime db එකේ charge කරන්නේ bandwidth එකයි storage එකයි අනුව හැබැයි ඒ high rate එකකට.
security ගැන කතා කරොත්,
realtime db අපිට වෙන වෙනම data validate rule එක use කරලා validate කරන්න ඕනි. cloud firestore වල automatically
validate කරල දෙනවා.ඒ වගේම හොද security එකක් තියෙනව realtime database එකට වඩා.
අවසාන වශයෙන් අපිට realtime db,firestore දෙකම උනත් එකම project එකේ use කරන්න හැකියාව ලබාදී තියෙනවා.
ඉතින් ඔන්න ඔය ටික තමා මම අද ඔයාලට අරන් ආවෙ..එහෙනම් ලගදිම අයෙම මේ වගේ වැදගත් වෙන තොරතුරු ටිකක් අරන් එන්න බලාපොරොත්තුවෙනව.. දිගටම blog එකත් එක්ක ඉන්න කියලා ආරාදනා කරනවා..
firebase features:-
1.realtime db
2.cloud storage
3.user authentication
4.static hosting
5.cloud messaging
6.authentication
7.ML kit etc.
අපි අද කතා කරන්න යන්නේ 'cloud firestore' ගැන.
ඒ අය ලගදි (ලගදි කීවට ලගදිම නෙවෙයි ) ලබදුන්න feature එකක් තමයි "Cloud firestore" කියන්නෙ ඒක "Firebase realtime database" වලට
සමාන (Firebase realtime database වල තියෙන්නෙ json tree format එකක් ).හැබැයි cloud firestore කියන මේ අලුත් feature එකේ
data save කරගන්නේ 'documents'( ඒ කියන්නෙ key-value pair විදිහට ).වල හා collection ( document වල collection) විදිහට
මේ උඩ තියෙන්නේ firebase cloud firestore එකේ data structure එක..
realtime db එකේ complex hierarchical data හැසිරිවීම ටිකක් අපහසුයි.හැබැයි Cloud firestore use කරාම අපිට subcollection පාවිච්චි
කරලා ලේසියෙන් වැඩ කරගන්න පුලුවන්.
Cloud firestore use කරාම එකේ අපිට chain filtering,combine filtering,sorting කරන්න පුලුවන්.
ඒ වගේම අපිට where methods කිහිපයක් එකවර දාන්න හැකියාවත් cloud firestore අපිට ලබා දීලා තියෙනවා.
realtime database එකකට වඩා Scalability එකත් cloud firestore වල වැඩී.
ඒ වගේම අපිට data එක එකවරක් පමනක් ඔනිනම් realtime නැතුව manually data fetch කරන්න cloud firestore හැකියාව ලබා දී තියෙනවා
ඒ වගේම අයකිරීම් ගත්තම cloud firestore වල අය කිරීම් කරන්නෙ
1. read,write,delete කරන වාර ගනනට
2.use කරන storage එක අනුව.
3. use කරන network bandwidth
එක අනුව.හැබැයි ඒ ඉතාම අඩු rate එකකට.
realtime db එකේ charge කරන්නේ bandwidth එකයි storage එකයි අනුව හැබැයි ඒ high rate එකකට.
security ගැන කතා කරොත්,
realtime db අපිට වෙන වෙනම data validate rule එක use කරලා validate කරන්න ඕනි. cloud firestore වල automatically
validate කරල දෙනවා.ඒ වගේම හොද security එකක් තියෙනව realtime database එකට වඩා.
අවසාන වශයෙන් අපිට realtime db,firestore දෙකම උනත් එකම project එකේ use කරන්න හැකියාව ලබාදී තියෙනවා.
ඉතින් ඔන්න ඔය ටික තමා මම අද ඔයාලට අරන් ආවෙ..එහෙනම් ලගදිම අයෙම මේ වගේ වැදගත් වෙන තොරතුරු ටිකක් අරන් එන්න බලාපොරොත්තුවෙනව.. දිගටම blog එකත් එක්ක ඉන්න කියලා ආරාදනා කරනවා..
Tuesday, October 30, 2018
switch එකක් වැඩ කරන්නෙ කොහොමද ??
switch එකක් වැඩ කරන්නේ කොහොමද hub එක්කින් කොහොමද switch එකක් වෙනස් වෙන්නේ කියල බලන්න තමා අද බලන්නේ..
මෙතනින් බලන්න..
මෙතනින් බලන්න..
Monday, October 29, 2018
Angular පාඩම - 4 - what is component?
අද පාඩමෙන් අපි බලන්න යන්නෙ මොකද්ද මේ component එකක් කියන්නෙ සහ angular component හදල ඒවත් එක්ක වැඩ කරන ආකාරය..
component එකක් කියල කියන්නෙ angular වල basic building blocks වලට.component එකකට files වර්ග තුනක් ඇතුලත් වෙනවා...අපි හිතමු test කියල component එකක් හැදුව කියල..එතකොට මේ විදියට files 4ක් හැදෙනව..
angular project එකක් මුලිම්ම හදාගන්නකොට එක component එකක් angular cli එක විසින් අපට හදල දෙනව..ඒ තමයි app component එක.මේකට root component එක කියලත් කියනවා..මොකද මේක තමයි අපේ project එකේ ප්රධානම component එක වෙන්නේ..
app.component.ts කියන file එකට ගිහිං බැලුවොත් මෙන්න මේ වගේ code එකක් බලාගන්න පුලුවන්..
ඒකෙ තියෙන selector එකෙන් තමයි component එක හදුනාගන්නෙ.මේකෙ නම් 'app-root'
කලිං පාඩමේදි කිව්ව මේ හැමදෙයක්ම render කරල view කරන්නෙ index.html file එකෙන් කියල.index.html file එකට ගියොත් ඔයාලට බලාගන්න පුලුවන් මේ <app-root></app-root>
කියල selector එකක් තියෙන්ව.ඒකෙන් කියන්නෙ මේ root component එකේ තියෙන දේවල් පෙන්නන්න කියන එක.
අපි දැන් බලමු අලුතෙන් component එකක් හදා ගන්නෙ කොහොමද කියල..
මේ වැඩේ කරන්නෙ terminal එකෙන්..
(vs code එකෙන් terminal eka අරගන්නෙ මෙහෙමයි.)
view > terminal
ඔය විදියට terminal එක අරගෙන පහල තියෙන command එක type කරල enter කරන්න..
(අපි nav bar එකක් දාගන්න component එකක් හදාගන්න තමයි යන්නෙ.ඒක නිසා nav-bar කියල component එකක් හදාගමු.)
>ng generate component nav-bar
මේක කෙටියෙන් >ng g c nav-bar කියල ලියන්නත් පුලුවන්.
එතකොට terminal එකේ පහල විදියට පෙන්නාවි.
මං මුලිම්ම කියපු files 4 හැදිල තියෙනවා බලාගන්න පුලුවන්..
ඒ වගේම තමයි app.module.ts එක update වෙලත් තියෙනවා...
(අපි හදන සෑම component එකක්ක්ම app.module.ts එකට import කරගෙන declarations වලට දාන්න ඕන.(මේ වැඩේ auto ම වෙනවා..:) ))
හරි.දැන් අපට nav bar component එකේ html එකේ තියෙන දේ පෙන්න ගන්න ඕන.දැනට
"nav-bar works!" කියල text එකක් තියෙනවා...
කලිං කියපු nav-bar.componanet.ts file එකේ තියෙන selector එක app.componant.html එකට දැම්ම නම් අපට ඕන වැඩේ කරගන්න පුලුවන්.
මේ විදියට කරල save කරල ng serve මගින් app එක run කරල බලන්න...
හරි.අපට ඕන වැඩේ හරියටම වෙලා තියෙනවා...
දැන් අපට ඕනම දෙයක් nav-bar.component.html එකට දාගත්තාම ඒක view වෙනව බල්ලගන්න පුලුවන්..
bootstrap nav bar කියල search කරල ඔයාට කැමති ලස්සන nav bar එකක් nav-bar.component.html එකට දාගෙන project එක run කරල බලන්න...
(bootstrap CDN එක index.html එකට copy කරගන්න අමතක කරන්න එපා.. :) )
මේ මම තෝරගත්තු nav bar එක.
මගෙ nav-bar.component.html එක.
මේක run කලාම පහල වගේ ලස්සන navbar එකක් ඔයාගෙ app එකෙත් බලාගන්න පුලුවන් වේවි..
හරි.ඒනම් අදට ඇති.තවත් මේ වගේ පාඩමකින් ආයෙත් හමුවෙමු.
ස්තූති.
සුබ දවසක්.
component එකක් කියල කියන්නෙ angular වල basic building blocks වලට.component එකකට files වර්ග තුනක් ඇතුලත් වෙනවා...අපි හිතමු test කියල component එකක් හැදුව කියල..එතකොට මේ විදියට files 4ක් හැදෙනව..
- test.component.html
- test.component.css
- test.component.spec.ts
- test.component.ts
ඉතිං මෙන්න ගොඩක් වෙලාවට මේ වගේ component කිහිපයක් එකතු වෙලා තමයි අපේ angular page එකක් view වෙන්නෙ...ඒක හරියට මේ වගේ..
app.component.ts කියන file එකට ගිහිං බැලුවොත් මෙන්න මේ වගේ code එකක් බලාගන්න පුලුවන්..
ඒකෙ තියෙන selector එකෙන් තමයි component එක හදුනාගන්නෙ.මේකෙ නම් 'app-root'
කලිං පාඩමේදි කිව්ව මේ හැමදෙයක්ම render කරල view කරන්නෙ index.html file එකෙන් කියල.index.html file එකට ගියොත් ඔයාලට බලාගන්න පුලුවන් මේ <app-root></app-root>
කියල selector එකක් තියෙන්ව.ඒකෙන් කියන්නෙ මේ root component එකේ තියෙන දේවල් පෙන්නන්න කියන එක.
අපි දැන් බලමු අලුතෙන් component එකක් හදා ගන්නෙ කොහොමද කියල..
මේ වැඩේ කරන්නෙ terminal එකෙන්..
(vs code එකෙන් terminal eka අරගන්නෙ මෙහෙමයි.)
view > terminal
ඔය විදියට terminal එක අරගෙන පහල තියෙන command එක type කරල enter කරන්න..
(අපි nav bar එකක් දාගන්න component එකක් හදාගන්න තමයි යන්නෙ.ඒක නිසා nav-bar කියල component එකක් හදාගමු.)
>ng generate component nav-bar
මේක කෙටියෙන් >ng g c nav-bar කියල ලියන්නත් පුලුවන්.
එතකොට terminal එකේ පහල විදියට පෙන්නාවි.
මං මුලිම්ම කියපු files 4 හැදිල තියෙනවා බලාගන්න පුලුවන්..
ඒ වගේම තමයි app.module.ts එක update වෙලත් තියෙනවා...
(අපි හදන සෑම component එකක්ක්ම app.module.ts එකට import කරගෙන declarations වලට දාන්න ඕන.(මේ වැඩේ auto ම වෙනවා..:) ))
හරි.දැන් අපට nav bar component එකේ html එකේ තියෙන දේ පෙන්න ගන්න ඕන.දැනට
"nav-bar works!" කියල text එකක් තියෙනවා...
කලිං කියපු nav-bar.componanet.ts file එකේ තියෙන selector එක app.componant.html එකට දැම්ම නම් අපට ඕන වැඩේ කරගන්න පුලුවන්.
මේ විදියට කරල save කරල ng serve මගින් app එක run කරල බලන්න...
හරි.අපට ඕන වැඩේ හරියටම වෙලා තියෙනවා...
දැන් අපට ඕනම දෙයක් nav-bar.component.html එකට දාගත්තාම ඒක view වෙනව බල්ලගන්න පුලුවන්..
bootstrap nav bar කියල search කරල ඔයාට කැමති ලස්සන nav bar එකක් nav-bar.component.html එකට දාගෙන project එක run කරල බලන්න...
(bootstrap CDN එක index.html එකට copy කරගන්න අමතක කරන්න එපා.. :) )
මේ මම තෝරගත්තු nav bar එක.
මගෙ nav-bar.component.html එක.
මේක run කලාම පහල වගේ ලස්සන navbar එකක් ඔයාගෙ app එකෙත් බලාගන්න පුලුවන් වේවි..
හරි.ඒනම් අදට ඇති.තවත් මේ වගේ පාඩමකින් ආයෙත් හමුවෙමු.
ස්තූති.
සුබ දවසක්.
Sunday, October 28, 2018
Saturday, October 27, 2018
මොකක්ද මේ software/Hardware Interrupts කියන්නේ..
මේ video එකෙන් අපි කතා කරන්න යන්නේ මොකක්ද මේ interrput එකක් කියන්නේ කියලා...
හරි එහෙනම් අදට එච්චරයි.. ජය වේවා හැමොටම..
Subscribe to:
Posts (Atom)







