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 එක පමනයි වැඩ කරන්නෙ..


මේකෙ 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 වෙනවා බලාගන්න පුලුවන්....
හරි දැන් අපි බලමු 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



MVC වල M(Model) කියන්නෙ request එකක හරි  response එකක හරි තියෙන data වලට . කොටින්ම ඔය කියන්නෙ අපි මොකක් web site එකකට ගියාම අපිට මොනව හරි තොරතුරු ටිකක් නේ පෙන්න තියෙන්නේ.අන්න ඒ තොරතුරු අඩන්ගු වෙන්නෙ මෙන්න මේ කියන M(Model)  එකේ. M(Model)  එකෙන්  අරගෙන ඒ  data ටික user ට පෙන්නනව.
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  වලින් අපි ආරක්ශා වෙන්න ඕනි නිසා.


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 එකත් එක්ක ඉන්න කියලා ආරාදනා කරනවා..