<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Madusanka Gajadeera on Medium]]></title>
        <description><![CDATA[Stories by Madusanka Gajadeera on Medium]]></description>
        <link>https://medium.com/@madusankagajadeera99?source=rss-2da2d2aba4e7------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*3WGwGh0HlTMSTPLS.jpg</url>
            <title>Stories by Madusanka Gajadeera on Medium</title>
            <link>https://medium.com/@madusankagajadeera99?source=rss-2da2d2aba4e7------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 10 May 2026 23:54:33 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@madusankagajadeera99/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Express.js]]></title>
            <link>https://madusankagajadeera99.medium.com/express-js-797a9dbf10b1?source=rss-2da2d2aba4e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/797a9dbf10b1</guid>
            <dc:creator><![CDATA[Madusanka Gajadeera]]></dc:creator>
            <pubDate>Thu, 27 May 2021 11:33:32 GMT</pubDate>
            <atom:updated>2021-05-27T11:33:32.221Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>What is express.js?</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/805/1*t40l2rOzSEXZbvGWClW-Pw.png" /></figure><p>Express.js is a Node.js web application framework that is free and open source. It is used to design and create web apps rapidly and simply. Because Express.js simply requires JavaScript, programmers and developers may quickly and easily develop web apps and APIs. Because Express.js is a Node.js framework, the majority of the code is already developed and ready for programmers to use. Express.js allows you to create single-page, multi-page, and hybrid web apps. Express.js is a lightweight server-side framework that aids in the organization of web applications into a more structured MVC architecture.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/900/1*XapyHTJ54CjdDg9xqSijjg.jpeg" /></figure><p><strong>Why should you express.js?</strong></p><p>Express.js supports JavaScript, a widely used, easy-to-learn language that is also extensively supported. If you are already familiar with JavaScript, developing with Express.js will be simple. Express.js makes it simple to create many types of web apps in a short amount of time. For client requests, Express.js provides a basic routing system. It also includes a middleware that is in charge of making decisions in order to offer the right responses to the client’s requests.</p><p>The most popular features valued by web application developers are Node.js’ tremendous performance and Express.js’ simplicity of scripting. You may use Express.js to create websites, web applications, and even mobile apps because it is written in JavaScript.</p><p><strong>Features of Express.js</strong></p><p>· <strong>Routing</strong></p><p>Express.js is a sophisticated routing mechanism that uses URLs to support the state of a site.</p><p>· <strong>Middleware</strong></p><p>A part of the application that has access to the database, client requests, and other middleware is known as middleware. It is primarily responsible for the orderly structuring of Express.js’ many functionalities.</p><p>· <strong>Templating</strong></p><p>Express.js has templating engines that enable developers to create dynamic content for web pages by creating HTML templates on the server.</p><p>· <strong>Faster Server-side development</strong></p><p>Many widely used capabilities of Node.js are provided in the form of functions that may be utilized anywhere in the application by Express.js. This saves time by eliminating the need to code for several hours.</p><p>· <strong>Debugging</strong></p><p>Debugging is essential for the creation of effective web apps. Express.js makes debugging simple by including a debugging feature that may determine the particular area of the web application that is causing problems.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*faTX3OPJfyPyPNzeSPkrZA.png" /></figure><p><strong>Installing Express</strong></p><p><em>Create a package.json file for your application with the npm init command</em><strong><em>.</em></strong></p><pre>$ npm init</pre><p><em>Install Express in the directory and add it to the list of requirements.</em></p><pre>$ npm install express --save</pre><p><em>Copy the code from the example below into a file called app.js.</em></p><pre>const express = require(‘express’)<br>const app = express()<br>const port = 3000</pre><pre>app.get(‘/’, (req, res) =&gt; {<br> res.send(‘Hello World!’)<br>})</pre><pre>app.listen(port, () =&gt; {<br> console.log(`Example app listening at <a href="http://localhost:${port}`">http://localhost:${port}`</a>)<br>})</pre><p><strong>Basic Routing</strong></p><p><em>On the homepage, respond with Hello World!:</em></p><pre>app.get(&#39;/&#39;, function (req, res) {<br>  res.send(&#39;Hello World!&#39;)<br>})</pre><p><em>Respond to a POST request on the application’s home page, the root route (/):</em></p><pre>app.post(&#39;/&#39;, function (req, res) {<br>  res.send(&#39;Got a POST request&#39;)<br>})</pre><p><em>In response to a PUT request to the /user route, do the following:</em></p><pre>app.put(&#39;/user&#39;, function (req, res) {<br>  res.send(&#39;Got a PUT request at /user&#39;)<br>})</pre><p><em>In response to a DELETE request to the /user route, do the following:</em></p><pre>app.delete(&#39;/user&#39;, function (req, res) {<br>  res.send(&#39;Got a DELETE request at /user&#39;)<br>})</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=797a9dbf10b1" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Koa.js]]></title>
            <link>https://madusankagajadeera99.medium.com/koa-js-71868af78ae?source=rss-2da2d2aba4e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/71868af78ae</guid>
            <dc:creator><![CDATA[Madusanka Gajadeera]]></dc:creator>
            <pubDate>Tue, 25 May 2021 11:52:02 GMT</pubDate>
            <atom:updated>2021-05-25T11:52:02.817Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>What is Koa.js?</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_SEhpSaIh7-l1jV-yFgeDQ.jpeg" /></figure><p>Koa.js is a simple and versatile Node.js web development architecture that offers a versatile range of features for web and mobile applications. It is an open-source platform created and maintained by the same people who brought you Express.js, the most common node web framework. You will get rid of callbacks and massively improve error management with Koa. Koa does not have any middleware, but it does include an elegant collection of methods for writing servers quickly and easily. Unlike other Node.js frameworks, Koa.js is built using ES6, which simplifies the construction of complex applications by including a slew of new classes and modules. This aids developers in the development of maintainable software.</p><p><strong>Features of Koa.js</strong></p><p>· In comparison to other Node.js frameworks, Koa.js has a small footprint. This makes it easier for developers to create middleware that is lighter in weight.</p><p>· A built-in error catchall in Koa.js helps avoid website crashes.</p><p>· A context object, which is an encapsulation of request and answer objects, is used by Koa.js.</p><p>· Koa.js makes use of ES6 generators to make synchronous programming easier and the flow of controls more fluid. These generators can also be used to manage the execution of code on the same stack as functions.</p><p><strong>Building a server in the Koa.js framework</strong></p><p>Create a new directory for your application first, then use the terminal to navigate to that directory and run</p><p>To make a package in Node.js.</p><pre>npm init</pre><p>Then install Koa.js</p><pre>npm i koa</pre><p>After that, use your preferred code editor to navigate to the index file in your app’s directory and write the code below to build the server.</p><pre>const koa = require(&#39;koa&#39;)<br>const app = new koa()<br><br>app.listen(3100, () =&gt; {console.log(&#39;Server running at PORT 3100&#39;)})</pre><p><strong>Building routes in Koa.js</strong></p><p>By default, Koa.js does not perform routing. Instead, it employs the Koa Router middleware library. So, in order to introduce routes in our server, we must first install the Koa router library using the snippet below.</p><pre>npm install koa-router</pre><p>Then, in your index file, import the Koa router module and add your desired routes. A code example of route construction using Koa.js is given below.</p><pre>const koa = require(&#39;koa&#39;)<br>const koaRouter = require(&#39;koa-router&#39;)// importing Koa-Router<br><br>const app = new koa()<br>const router = new koaRouter()<br><br>router.get(&#39;home&#39;, &#39;/&#39;, (context) =&gt; {<br>  context.body = &quot;Welcome to my Koa.js Server&quot;<br>})<br><br>app.use(router.routes())<br>  .use(router.allowedMethods())// registering routes to the application<br><br>app.listen(3100, () =&gt; console.log(&#39;Server running at PORT 3100&#39;))</pre><p><strong>Handling Responses in Koa.js</strong></p><p>The context object contains Koa response objects. This implies that the response object is accessed from the context object. To explain how to handle responses, let’s use a route definition like the one above.</p><pre>router.get(&#39;home&#39;, &#39;/&#39;, (context) =&gt; {<br>  context.status = 200 //This is the response status<br>  context.body   = &quot;Welcome to my Koa.js Server&quot; // This is the response body<br>})</pre><p><strong>Handling errors in Koa.js</strong></p><p>Add an error middleware early in your index file to manage errors in Koa. Only errors identified after the middleware can be caught, so it must be defined early. Our server’s error middleware is used in the code below.</p><pre>const koa = require(&#39;koa&#39;)<br>const koaRouter = require(&#39;koa-router&#39;)// importing Koa-Router<br><br>const app = new koa()<br>const router = new koaRouter()<br><br>app.use( async (ctx, next) =&gt; {<br>  try {<br>    await next()<br>  } catch(err) {<br>    console.log(err.status)<br>    ctx.status = err.status || 500;<br>    ctx.body = err.message;<br>  }<br>})<br><br>router.get(&#39;home&#39;, &#39;/&#39;, (context) =&gt; {<br>  context.body = &quot;Welcome to my Koa.js Server&quot;<br>})</pre><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=71868af78ae" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Angular]]></title>
            <link>https://madusankagajadeera99.medium.com/angular-3eaea0be1777?source=rss-2da2d2aba4e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/3eaea0be1777</guid>
            <dc:creator><![CDATA[Madusanka Gajadeera]]></dc:creator>
            <pubDate>Sun, 25 Apr 2021 06:31:58 GMT</pubDate>
            <atom:updated>2021-04-25T06:31:58.383Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cGDDA2mfYkjiIhGaN8gDoA.png" /></figure><p>Angular is an open-source software engineering platform for creating user interfaces that are supported by Google. It is used to build single-page client applications using HTML and TypeScript. TypeScript is used to write Angular. The aim is to make web and mobile app creation easier by integrating end-to-end tooling, declarative models, and other functionality such as dependency injection.</p><p><strong>When to use Angular</strong></p><p>Angular is designed to make front-end development easier for front-end developers who choose to concentrate on the application’s architecture and user interface. If you mostly work as a back-end developer, this platform will not be the right match for your needs.</p><p><em>Here are a few main situations where this framework can be very useful.</em></p><p>· When designing a progressive web application.</p><p>· When establishing a large-scale corporate website or any large-scale initiative requiring complex infrastructure.</p><p>· When developing interactive content-based website applications.</p><p>· When redesigning out-of-date website applications.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/305/1*_inUf29ObqacTSrqSffhDQ.png" /></figure><p><strong>Angular Generic Features</strong></p><p>· <em>High Speed &amp; Optimum Performance</em></p><p>Angular applications load faster than any other front-end platform is currently available. For every new component router, it loads at the speed of a Cheetah. Furthermore, the code is dynamically broken according to the user’s loading and rendering specifications.</p><p>· <em>Cross-Platform</em></p><p>You can deploy a native or progressive app depending on the requirements. Ionic is a hybrid mobile SDK that allows you to publish apps to the app store and then deploy them to the mobile web as PWAs. Additionally, Angular can be used to build desktop applications.</p><p><strong>Angular Technical Features</strong></p><p>· <em>Efficient Two-way data binding</em></p><p>The two-way data linking mechanism is Agular’s most powerful feature. The View layer accurately reflects the Model layer, and the two layers are both in alignment. If you make a modification to the model, the users can immediately see it in the display model. As a result, significant production time is saved.</p><p>· <em>Less Code Framework</em></p><p>Angular is a low-code platform in contrast to other front-end architectures. To bind the MVC layers, you don’t need to write any additional code. To manually show, you don’t need any special coding. The directions and the app code are frequently segregated. The build time is automatically shortened as both of these considerations are combined.</p><p>· <em>TypeScript</em></p><p>It is very effective at finding glitches, which cuts down on development time. TypeScript also populates the root file structure automatically for quick compilation.</p><p>· <em>Directives</em></p><p>Directives are the most difficult Angular functions to master. With the support of directives, you can build custom HTML tags that double as custom widgets. These can be used to decorate behavior-driven components by developers. With the aid of commands, you can also manipulate DOM attributes to your liking.</p><p>· <em>MVC Architecture</em></p><p>The Model is in charge of the application’s data, while the View is in charge of the data display. The controller, on the other hand, serves as a connection between the view and model layers. In general, with MVC architecture, you can divide your app into sections and write code to bind them. In Angular, however, developers just need to divide the program into MVC, and the framework can take care of the rest.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1008/1*KX-FL0y6YcNlFRTePbrlGg.png" /></figure><p><strong>Advantages of Angular</strong></p><p>· Two-way data binding.</p><p>· Faster Document Object Model Manipulation.</p><p>· Faster server performance.</p><p>· Ease of prototyping and iterative development support.</p><p>· Super ease of testing frontend angular applications.</p><p>· Uses plain HTML templates.</p><p>· Component-based architecture.</p><p><strong>Disadvantages of Angular</strong></p><p>· A hierarchical tree-like architecture and deep scopes.</p><p>· Performance Tradeoff</p><p>· Coupled to JavaScript + Typescript</p><p>· Heavy weighted framework</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3eaea0be1777" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[React]]></title>
            <link>https://madusankagajadeera99.medium.com/react-84c077134f0a?source=rss-2da2d2aba4e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/84c077134f0a</guid>
            <dc:creator><![CDATA[Madusanka Gajadeera]]></dc:creator>
            <pubDate>Fri, 23 Apr 2021 11:26:12 GMT</pubDate>
            <atom:updated>2021-04-23T11:26:12.086Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>Introduction</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*x0d41ns8PTQZz4a3VbMrBg.png" /></figure><p>React is a JavaScript library for creating user interfaces and UI modules that are open source. Facebook and a community of independent developers and companies work together to keep it running. Netflix, Airbnb, Instagram, and the New York Times are only a few of the big, existing businesses that use it.</p><p><strong>Why React</strong></p><p>· <strong><em>Easy creation of dynamic applications</em></strong></p><p>In comparison to JavaScript, where code can easily become complicated, react makes it easy to build interactive web applications because it needs less coding and has more features.</p><p>· <strong><em>Reusable Components</em></strong></p><p>Components are the fundamental building blocks of any React program, and most apps have several components. These modules have their own logic and controls, and they can be replicated in the program, reducing the production time significantly.</p><p>· <strong><em>Small learning curve</em></strong></p><p>React is simple to understand since it blends common HTML and JavaScript concepts with some useful enhancements. Still, as with most tools and frameworks, learning React’s library takes time.</p><p>· <strong><em>Dedicated tools for easy debugging</em></strong></p><p>A Chrome plugin for debugging React apps has been launched by Facebook. Debugging React web apps became much quicker and simpler as a result of this.</p><p>· <strong><em>Can be used to develop both web and mobile apps</em></strong></p><p>We all know that React is used to create web applications, but it’s not the only thing it can do. React Native is a common platform that is derived from React itself and is used to create beautiful mobile applications. React can also be used to create both online and smartphone apps.</p><p>· <strong><em>Unidirectional data flow</em></strong></p><p>The data flow in React is unidirectional. As a result, developers often nest child components inside parent components when creating a React app. Since data travels in a common path, debugging errors and determining where a problem exists in an application for every given time becomes simpler.</p><p>·<em> </em><strong><em>Improved Performance</em></strong></p><p>React uses Virtual DOM to speed up the development of web applications. Instead of upgrading all of the components again, as traditional web applications do, Virtual DOM compares the components’ previous states and updates only the elements in the Real DOM that have modified.</p><p><strong>Advantages of React</strong></p><p>· Makes the whole task of writing components easier.</p><p>· Improves efficiency and facilitates further maintenance.</p><p>· Ensures code stability</p><p>· Ensures a more rapid rendering</p><p>· Search system optimization-friendly</p><p>· A selection of useful developer tools</p><p>· Focused and easy-to-learn</p><p>· backed up by a strong community</p><p><strong>Disadvantages of React</strong></p><p>· The high pace of development.</p><p>· JSX as a barrier.</p><p>· Poor documentation</p><p><strong>Features of React</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*3S7hVPYEsmNXvrDZcq4ytw.jpeg" /></figure><p>· Performance</p><p>· Components</p><p>· One-way data binding</p><p>· Extensions</p><p>· Debugging</p><p>· Virtual DOM</p><p>· JSX</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sd-AS3XDY6H6_9BwrcmukQ.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=84c077134f0a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[NoSQL]]></title>
            <link>https://madusankagajadeera99.medium.com/nosql-7e7a190ea320?source=rss-2da2d2aba4e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/7e7a190ea320</guid>
            <dc:creator><![CDATA[Madusanka Gajadeera]]></dc:creator>
            <pubDate>Sun, 04 Apr 2021 13:32:39 GMT</pubDate>
            <atom:updated>2021-04-04T13:32:39.758Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>Introduction</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*mXjYTr6bIcfnVYerJ_vDig.png" /></figure><p>In 1998, Carl Strozz introduced the concept “NoSQL.” A NoSQL database is a non-relational data management system that does not need a schema to be fixed. NoSQL database stands for “Not Only SQL” or “Not SQL.” NoSQL databases are designed specifically for particular data structures, and their schemas are versatile enough to allow for the development of modern applications. NoSQL databases are well-known for their efficiency of development, functionality, and scalability.</p><p><strong>Features of NoSQL database</strong></p><p>·<em> Non-relational</em> — The relational model is never followed in NoSQL databases and tables with flat fixed-column records can never be used.</p><p>· <em>schema-free</em> — NoSQL databases may be schema-free or have schemas that are more relaxed and there is no need for any kind of data schema specification.</p><p>· <em>Simple API</em> — Provides user-friendly interfaces for storing and querying data. No standard-based query language.</p><p>· <em>Distributed</em> — A distributed execution of several NoSQL databases is possible, and Auto-scaling and fail-over features are included.</p><p><strong>Types of NoSQL databases</strong></p><p>·<em> Key-value</em> — Key/value pairs are used to store data. It is designed to accommodate large amounts of data and heavy loads. The key-value data model is especially well-tailored to use cases like games, ad tech, and IoT.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/635/1*861SrLtbvK1OxkxENKLTMg.png" /></figure><p>· <em>Column Based </em>— Column-oriented databases are built on Google’s BigTable paper and run with columns. Each column is dealt with separately. The values of single-column databases are kept together. Since the data is readily available in a column, they provide high performance on aggregation queries like SUM, COUNT, AVG, MIN, and so on.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/707/1*4foPsId5rOJGkk-ODUN5Aw.png" /></figure><p>· <em>Document</em> <em>oriented</em> — The value portion of a NoSQL DB’s data is stored as a record, but the key-value pair is stored as a key-value pair. JSON or XML formats are used to store the document. By using the same document model structure as their program code, document databases make it easy for developers to store and query data in a database.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BJ39BBIXQd7OXLnuYdFOzw.png" /></figure><p>· <em>Graph-Based</em> — The function of a graph database is to make it easier to construct and run applications that operate with massive, interconnected datasets. Social networking, recommendation engines, spam prevention, and information graphs are also popular use cases for graph databases.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/435/1*xP9UhjdDt7F8onF_06XtkQ.png" /></figure><p><strong>Advantages of NoSQL</strong></p><p>· Big data capability</p><p>· It is possible to use it as a primary or analytic database.</p><p>· Replication is easy.</p><p>· Key Developer Languages and Platforms are supported</p><p>· It is easier to implement than using a relational database management system (RDBMS).</p><p>· Removes the need for a dedicated data cache layer.</p><p>· There are no single points of failure.</p><p><strong>Disadvantages of NoSQL</strong></p><p>· Query capabilities are limited.</p><p>· There are no guidelines for standardization.</p><p>· Databases and tools for Relational Database Management Systems (RDBMS) are largely mature.</p><p>· For relational records, it does not fit as well.</p><p>· For businesses, open-source alternatives are less common.</p><p>· New developers will face a steep learning curve.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7e7a190ea320" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[MongoDB]]></title>
            <link>https://madusankagajadeera99.medium.com/mongodb-71990bf8bd66?source=rss-2da2d2aba4e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/71990bf8bd66</guid>
            <dc:creator><![CDATA[Madusanka Gajadeera]]></dc:creator>
            <pubDate>Mon, 22 Mar 2021 11:06:09 GMT</pubDate>
            <atom:updated>2021-03-22T11:06:09.070Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>What is MongoDB?</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/756/1*5txQ88-yZAz6EyETTS4H_w.png" /></figure><p>MongoDB is a document database that offers the scalability and consistency you need, as well as the querying and indexing you need. In other words, MongoDB is a nonrelational database management system (DBMS) that processes and stores different types of data using customizable documents rather than tables and rows. MongoDB uses collections and documents. These documents, which are formatted in Binary JSON, may store a variety of data and be shared through multiple systems. MongoDB does not only make database management easier for developers, but it also makes cross-platform software and services more scalable.</p><p><strong>MongoDB Features</strong></p><p>· <em>Replication for better data availability and stability</em></p><p>When the data are stored in a single database, it is vulnerable to a variety of failures, including server crashes, service interruptions, and even hardware failure. Any of these occurrences will make it virtually impossible to access your data. By deploying several servers for disaster recovery and backup, replication helps you to avoid these vulnerabilities.</p><p>· <em>Load Balancing</em></p><p>As enterprise cloud applications grow in size and resource demands rise, issues with service availability and reliability will arise. The load balancing sharing mechanism in MongoDB distributes massive data sets through multiple virtual machines at the same time while still ensuring reasonable read and write throughputs.</p><p>·<em> Ad hoc database queries</em></p><p>MongoDB allows you to search by field, range query, or regular expression. Relevant fields inside documents can be returned using queries.</p><p>· <em>Multilanguage support</em></p><p>MongoDB’s multiple language support is one of its strongest features. MongoDB has been released in several versions and is still being developed, with driver support for common programming languages such as Python, PHP, Ruby, Node.js, C++, Scala, JavaScript, and many others.</p><p><strong>Key Components of MongoDB Architecture</strong></p><p>· <em>_id </em>— The _id field in a MongoDB document stands for a specific attribute. In a MongoDB text, the _id field uses a unique value. The _id field serves as the primary key for the document.</p><p>·<em> Collection </em>— This is a set of documents from MongoDB. A set is the equivalent of a table in some other relational database management system.</p><p>· <em>Cursor </em>— This is a reference to the query’s result collection. Clients can retrieve results by iterating over a cursor.</p><p>· <em>Database</em> — This is a storage for collections, close to how a container for tables is used in RDMS. On the file system, each database has its own collection of files. Multiple databases can be stored on a MongoDB server.</p><p>· <em>Document </em>— A document is a name given to a record in a MongoDB collection. Field names and values can be found in the text.</p><p>· <em>Field</em> — In a document, a name-value pair. There are zero or more fields in a document. In relational databases, fields are similar to columns.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*L1O4SHOA3X1sRJu4JBz4_g.png" /></figure><p><strong>Why not use MongoDB</strong></p><p>· <em>Joins not supported</em> — MongoDB does not allow joins in the same way as relational databases do. However, one can use joins by manually coding them. Even so, it can slow down execution and have an impact on performance.</p><p>· <em>High memory usage</em> — For each value pair, MongoDB stores the key names. There is also data duplication due to the lack of join capability. As a consequence, memory use grows excessively.</p><p>· <em>Limited Nesting</em> — More than 100 levels of document nesting are not possible.</p><p>· <em>Limited data size</em> — Maximum document size is 16MB.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=71990bf8bd66" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Node.js]]></title>
            <link>https://madusankagajadeera99.medium.com/node-js-cab8df5d9ba7?source=rss-2da2d2aba4e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/cab8df5d9ba7</guid>
            <dc:creator><![CDATA[Madusanka Gajadeera]]></dc:creator>
            <pubDate>Mon, 08 Mar 2021 18:20:44 GMT</pubDate>
            <atom:updated>2021-03-08T18:20:44.289Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*P7n5uOKR0nEG8D-iooA8Wg.png" /></figure><p><strong>What is Node.js</strong></p><p>Node.js is a cross-platform open-source runtime environment. As nodejs.org states node.js is a JavaScript runtime built on chrome’s v8 engine (JavaScript engine). Node.js initially released 11 years ago on May 27, 2009. Web developers use Node.js to build both front-end and back-end web applications using JavaScript but most of the time node.js is used to build back-end specially when using stacks such as MEAN and MERN. From node.js developers can develop a web application using a single language on both the server-side and the client-side. This can run applications efficiently and fast. And it reduces the development time and maintenance cost of the web application.</p><p><strong>When to use node.js</strong></p><p>Node.js is best for building real-time applications because real-time applications built with node.js have a significant speed and performance is high. For example, real-time messaging or chatting applications, online video games, e-commerce applications, etc.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*d73y-1pO8J_NgGf9bMp08w.jpeg" /></figure><p><strong>What node.js can do</strong></p><p>· Can add, delete, modify data in your database.</p><p>· Can generate dynamic page content.</p><p>· Can collect form data.</p><p>· Can create, open, read, write, delete, and close files on the server.</p><p><strong>Why use node.js</strong></p><p>· Node.js is an open-source runtime environment which is free of charge and does not need licensing.</p><p>· Development can be done faster by code sharing between the front-end and back-end.</p><p>· Used for I/O non-blocking, event-driven servers, due to its single-threaded nature.</p><p>· Huge number of free tools.</p><p>· Greater efficiency</p><p>· High-performance for real-time applications.</p><p>· Cost-effective with full-stack JS</p><p>· Can learn easily.</p><p>· Can quickly adapt.</p><p>· Can build cross-platform applications</p><p>· Loading time can be reduced by quick caching.</p><p><strong>Why not use node.js</strong></p><p>· Performance can be reduced when handling heavy computing tasks.</p><p>Since node.js is single-threaded and event-driven, when executing heavy CPU-based computing can go down a shortage.</p><p>· Lack of library support can endanger the code.</p><p>Some of the NPM registries and libraries are not of good quality and with incomplete documentation. Incompetent developers may face difficulties when developing web applications using node.js. But professionals and experts who have done many projects and have a huge amount of experience can build the projects successfully.</p><p>· API Instability</p><p>In node.js API changes often and then the stability of the application becomes less. Due to the lack of backward compatibility in the new API developers need to do an additional amount of work to work with the API.</p><h3><strong><em>You install node.js from nodejs.org</em></strong></h3><h3><a href="https://nodejs.org/en/">https://nodejs.org/en/</a></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*G1SFlD4w7-OXGJ1GrBcjsQ.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cab8df5d9ba7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Application Frameworks]]></title>
            <link>https://madusankagajadeera99.medium.com/application-frameworks-131536f88fe8?source=rss-2da2d2aba4e7------2</link>
            <guid isPermaLink="false">https://medium.com/p/131536f88fe8</guid>
            <dc:creator><![CDATA[Madusanka Gajadeera]]></dc:creator>
            <pubDate>Fri, 05 Mar 2021 09:23:14 GMT</pubDate>
            <atom:updated>2021-03-05T09:23:14.328Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vN9R9BvBTYDJR00HoWkUuQ.png" /></figure><p><strong>What is Application Frameworks?</strong></p><p>Setting the particular environment for the development of applications by providing the essential structure is called an application framework. The main objective of using application frameworks is to reduce the extensive matters faced when developing applications. Application frameworks usually illustrate the underlying code structure in advance, and it is more like skeletal support to develop an application. In other words, application framework tools build the application’s architecture, which contains a set of libraries and features and helps the developers to develop the application easier. Object-oriented-programming techniques are usually used when developing an application by developers. Some segments of an application can directly inherit from the classes that exist in the framework and building a quality application are some reasons that developers use OOP techniques to develop applications.</p><p><strong>Application Types</strong></p><p>Application is a set program designed to perform a specific task for the end-users. When discussing applications, there are three main types of application types.</p><p><strong>1.Native applications</strong></p><p>These applications are developed for a specific operating system. In other words, these applications cannot be used in other OSs except the OS application is developed for. Native applications are high-performance applications.</p><p><strong>2.Web Application</strong></p><p>Web applications can run without being installed and usually these applications run inside a web browser. These applications are written using several languages such as HTML, CSS, JavaScript, and you can access these applications from anywhere if you have a device and an internet connection.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*e9WglRlXZhyWYQPc_ZFyfw.jpeg" /></figure><p><strong>3.Hybrid Applications</strong></p><p>Hybrid applications are a combination of native and web applications. These are multi-platform useable applications. Hybrid applications are usually written in HTML, CSS, and JavaScript and wrapped in native applications.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FMyfDZem5opL1sxvn5_CGQ.jpeg" /></figure><p><strong>Features of Application Frameworks</strong></p><p>· Prebuild architecture.</p><p>· Utilize OOP Techniques.</p><p>· Can reuse code and design.</p><p><strong>Advantages of Application Frameworks</strong></p><p>· Increases the reliability of the application.</p><p>· Speeds up the development process.</p><p>· Improved performance without additional coding.</p><p>· It helps to initiate better coding practices.</p><p>· Most of the frameworks are open source.</p><p><strong>Disadvantages of Application Frameworks</strong></p><p>· Frameworks have their style and it may influence you to do things in a framework’s way.</p><p>· Hard to choose the correct framework for the application.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*v2MyNR0vytS4x7I2GbK2gA.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=131536f88fe8" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>