<?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 Mahesh Abeykoon on Medium]]></title>
        <description><![CDATA[Stories by Mahesh Abeykoon on Medium]]></description>
        <link>https://medium.com/@maheshoabeykoon?source=rss-f70c69017362------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*MKZPHc7lrqaMdw7kXxNL1w.jpeg</url>
            <title>Stories by Mahesh Abeykoon on Medium</title>
            <link>https://medium.com/@maheshoabeykoon?source=rss-f70c69017362------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 16 May 2026 17:26:22 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@maheshoabeykoon/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[Introduction to React]]></title>
            <link>https://medium.com/@maheshoabeykoon/introduction-to-react-2cf7a2f9cd9c?source=rss-f70c69017362------2</link>
            <guid isPermaLink="false">https://medium.com/p/2cf7a2f9cd9c</guid>
            <dc:creator><![CDATA[Mahesh Abeykoon]]></dc:creator>
            <pubDate>Tue, 21 Mar 2023 15:25:06 GMT</pubDate>
            <atom:updated>2023-03-21T15:37:26.407Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*K-4RqDC6zFrpAG31ayDDOg.png" /></figure><p>React is a JavaScript library for building user interfaces. It was developed by Facebook and is now used by many companies and developers around the world. React uses a declarative programming style and a component-based architecture, which makes it easy to create reusable UI components.</p><h3>Why Use React?</h3><p>There are several reasons why React has become so popular for building web applications:</p><ul><li>Performance: React uses a virtual DOM, which reduces the number of updates needed to render a component, resulting in faster performance.</li><li>Reusable components: React’s component-based architecture makes it easy to create reusable UI components that can be used throughout an application.</li><li>One-way data flow: React uses a one-way data flow, which makes it easier to debug and reason about an application’s state.</li><li>Large community: React has a large and active community of developers who contribute to its development and create helpful resources for learning and using the library.</li></ul><figure><img alt="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse1.mm.bing.net%2Fth%3Fid%3DOIP.dUig-XzPRaFJ1wW5Q1jplgHaHa%26pid%3DApi&amp;f=1&amp;ipt=57b8f4cbbfadc9188ef98e23e9811dbfc38e912d03209ad9a2390c1aa6d3a23e&amp;ipo=images" src="https://cdn-images-1.medium.com/max/474/1*bWIIA7wr95BjJLltVtIUyg.jpeg" /></figure><h3>Examples of Popular Applications that Use React</h3><p>React is used by many popular applications, including:</p><ul><li>Facebook</li><li>Instagram</li><li>Netflix</li><li>Airbnb</li><li>Dropbox</li></ul><h3>Getting Started with React</h3><p>If you’re new to React, there are several resources available to help you get started. The official React documentation is a great place to start, as it provides a comprehensive guide to the library’s features and how to use them. There are also many online courses and tutorials available that can help you learn React, including those on Udemy, Codecademy, and Coursera.</p><h3>Setting up a React Project</h3><p>In this tutorial, we’ll walk through the process of setting up a new React project. We’ll use the Create React App tool, which is a popular way to quickly set up a new React project with a minimal configuration.</p><h3>Prerequisites</h3><p>Before we get started, you’ll need to have the following installed on your computer:</p><ul><li>Node.js</li><li>npm (or yarn)</li></ul><h3>Step 1: Install Create React App</h3><p>The first step is to install Create React App. Open your terminal and run the following command:</p><pre>npm install -g create-react-app</pre><p>This will install Create React App globally on your system.</p><h3>Step 2: Create a New React Project</h3><p>Once Create React App is installed, you can create a new React project by running the following command in your terminal:</p><pre>create-react-app my-app</pre><p>Replace “my-app” with the name of your project. This will create a new directory called “my-app” with all the necessary files and folders for a React project.</p><h3>Step 3: Start the Development Server</h3><p>Once the project is created, you can start the development server by running the following command:</p><pre>cd my-app<br>npm start</pre><p>This will start the development server and open a browser window at <a href="http://localhost:3000/">http://localhost:3000</a>. Any changes you make to your code will automatically update in the browser.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/742/1*39h_JRSrV9nmg2uZTH-ciQ.jpeg" /></figure><h3>Conclusion</h3><p>In this tutorial, we walked through the process of setting up a new React project using Create React App. Now you’re ready to start building your own React application!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2cf7a2f9cd9c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Decentralized Finance (DeFi) and Its Impact on Traditional Financial Systems]]></title>
            <link>https://medium.com/@maheshoabeykoon/decentralized-finance-defi-and-its-impact-on-traditional-financial-systems-bbdf68da993f?source=rss-f70c69017362------2</link>
            <guid isPermaLink="false">https://medium.com/p/bbdf68da993f</guid>
            <dc:creator><![CDATA[Mahesh Abeykoon]]></dc:creator>
            <pubDate>Tue, 14 Mar 2023 15:51:20 GMT</pubDate>
            <atom:updated>2023-03-14T15:51:20.300Z</atom:updated>
            <content:encoded><![CDATA[<p>In recent years, decentralized finance (DeFi) has emerged as a rapidly growing sector within the cryptocurrency industry. DeFi allows for peer-to-peer financial transactions without the need for intermediaries like banks. This technology has the potential to disrupt traditional financial systems by enabling faster, cheaper, and more transparent transactions.</p><h3>What is DeFi?</h3><p>DeFi is a new financial system built on blockchain technology, which allows for transparent and open access to financial services. It enables users to borrow, lend, trade, and earn interest on digital assets without intermediaries like banks. DeFi is powered by smart contracts, which are self-executing contracts that automate the process of financial transactions.</p><h3>Popular DeFi Applications</h3><h3>Decentralized Exchanges (DEXs)</h3><p>DEXs are peer-to-peer marketplaces that allow users to trade digital assets without the need for intermediaries like centralized exchanges. Some of the most popular DEXs include Uniswap, PancakeSwap, and SushiSwap.</p><h3>Lending Platforms</h3><p>Lending platforms allow users to borrow and lend digital assets without the need for traditional financial institutions. Some of the most popular lending platforms include Aave, Compound, and MakerDAO.</p><h3>Stablecoins</h3><p>Stablecoins are digital assets that are pegged to a stable asset like the US dollar. They provide a way to hedge against volatility in the cryptocurrency market. Some of the most popular stablecoins include Tether, USDC, and DAI.</p><h3>Challenges Facing DeFi</h3><p>Although DeFi has the potential to revolutionize the financial industry, there are still some challenges that need to be addressed. One of the biggest challenges is regulation. The lack of clear regulatory guidelines for DeFi has led to concerns about money laundering and other illicit activities.</p><p>Another challenge facing DeFi is security. The decentralized nature of DeFi makes it more difficult to ensure the security of digital assets. Hackers have already exploited vulnerabilities in some DeFi protocols, resulting in millions of dollars in losses for users.</p><h3>The Future of DeFi</h3><p>Despite these challenges, the future of DeFi looks promising. DeFi has already attracted billions of dollars in investment, and more and more people are beginning to see its potential. As the technology continues to evolve, it is likely that we will see even more innovative DeFi applications in the coming years.</p><h3>Conclusion</h3><p>Decentralized finance (DeFi) is a rapidly growing sector in the cryptocurrency industry that has the potential to disrupt traditional financial systems. DeFi allows for peer-to-peer financial transactions without intermediaries like banks, enabling faster, cheaper, and more transparent transactions. Although there are challenges facing DeFi, the future looks bright, and we can expect to see even more innovative applications of this technology in the future.</p><p>I hope you find this article helpful and informative. Please let me know if you have any feedback or if there is anything else I can do to assist you.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bbdf68da993f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Getting Started with Spring Boot: A Beginner’s Guide]]></title>
            <link>https://medium.com/@maheshoabeykoon/getting-started-with-spring-boot-a-beginners-guide-85e7f890aa9b?source=rss-f70c69017362------2</link>
            <guid isPermaLink="false">https://medium.com/p/85e7f890aa9b</guid>
            <dc:creator><![CDATA[Mahesh Abeykoon]]></dc:creator>
            <pubDate>Sat, 11 Mar 2023 13:47:28 GMT</pubDate>
            <atom:updated>2023-03-11T13:47:28.315Z</atom:updated>
            <content:encoded><![CDATA[<p>Getting Started with Spring Boot: A Beginner’s Guide</p><p>Spring Boot is a popular framework for building Java applications. It simplifies the development process by providing a set of pre-configured features that allow developers to quickly build and deploy web applications. In this article, we’ll go through the basics of Spring Boot and show you how to build a simple RESTful API using Java.</p><p>Prerequisites</p><p>Before we begin, make sure you have the following installed on your computer:</p><ul><li>Java Development Kit (JDK) 8 or higher</li><li>Apache Maven</li><li>IntelliJ IDEA (or any other Java IDE)</li></ul><p>Getting Started</p><p>To start building a Spring Boot application, you can use the Spring Initializer. This is a web-based tool that generates a basic Spring Boot project structure with the required dependencies. Follow these steps:</p><ol><li>Go to start.spring.io.</li><li>Select your project type (Maven or Gradle) and the version of Spring Boot you want to use.</li><li>Enter your project’s details, such as the group ID, artifact ID, and package name.</li><li>Select the dependencies you need for your project. For this tutorial, we’ll select “Spring Web” and “Spring Data JPA”.</li><li>Click “Generate” to download the project.</li></ol><p>Once you have the project downloaded, import it into your IDE. In IntelliJ IDEA, you can import the project by selecting “Import Project” from the welcome screen and choosing the directory where you downloaded the project.</p><p>Building a Simple RESTful API</p><p>Let’s now build a simple RESTful API that retrieves and creates user data. Create a new package called “controllers” in the src/main/java directory, and create a new class called “UserController”. Add the following code to the class:</p><pre>@RestController<br>@RequestMapping(&quot;/api/users&quot;)<br>public class UserController {<br><br>    @Autowired<br>    private UserRepository userRepository;<br><br>    @GetMapping<br>    public List&lt;User&gt; getAllUsers() {<br>        return userRepository.findAll();<br>    }<br><br>    @PostMapping<br>    public User createUser(@RequestBody User user) {<br>        return userRepository.save(user);<br>    }<br>}</pre><p>This code creates a RESTful API endpoint for retrieving all users and creating a new user. The endpoint is mapped to “/api/users”. We’re using Spring’s dependency injection to inject the UserRepository, which is an interface for interacting with our database.</p><p>Next, create a new package called “repositories” in the src/main/java directory, and create a new interface called “UserRepository”. Add the following code to the interface:</p><pre>@Repository<br>public interface UserRepository extends JpaRepository&lt;User, Long&gt; {<br><br>}</pre><p>This code defines the interface for interacting with our database. We’re using Spring Data JPA, which provides a set of pre-built methods for interacting with a database. The JpaRepository interface provides methods such as save(), findAll(), and findById().</p><p>Finally, create a new package called “models” in the src/main/java directory, and create a new class called “User”. Add the following code to the class:</p><pre>@Entity<br>@Table(name = &quot;users&quot;)<br>public class User {<br><br>    @Id<br>    @GeneratedValue(strategy = GenerationType.IDENTITY)<br>    private Long id;<br><br>    private String firstName;<br><br>    private String lastName;<br><br>    public Long getId() {<br>        return id;<br>    }<br><br>    public void setId(Long id) {<br>        this.id = id;<br>    }<br><br>    public String getFirstName() {<br>        return firstName;<br>    }<br><br>    public void setFirstName(String firstName) {<br>        this.firstName = firstName;<br>    }<br><br>    public String getLastName() {<br>        return lastName;<br>    }<br><br>    public void setLastName(String lastName) {<br>        this.lastName = lastName;<br>    }<br>}</pre><p>This code defines the User model, which represents a user in the application. The User model has three properties: id, username, and password. The id property is marked with the @Id annotation, which indicates that it is the primary key of the entity. The @GeneratedValue annotation indicates that the id value will be automatically generated by the database.</p><p>The UserRepository interface extends the JpaRepository interface, which provides standard CRUD operations (create, read, update, and delete) for the User entity. The findByUsername method is a custom method that is not provided by JpaRepository. This method returns a User object based on the username passed as a parameter.</p><p>The UserService class provides business logic for the User entity. The saveUser method saves a user to the database using the UserRepository. The getUserByUsername method retrieves a user from the database using the UserRepository’s findByUsername method.</p><p>Finally, the UserController class defines the API endpoints for the application. The /users POST endpoint allows clients to create a new user. The request body must contain a JSON object with the username and password properties. The /users/{username} GET endpoint retrieves a user by their username.</p><p>Conclusion</p><p>In this article, we explored the basics of Spring Boot and built a simple RESTful API using Spring Boot, Java, and MySQL. We started by creating a new Spring Boot project, defining a User model, and setting up a database connection using MySQL. We then created a UserRepository interface and a UserService class to perform CRUD operations on the User entity. Finally, we defined API endpoints using the UserController class to create and retrieve user resources.</p><p>Spring Boot is a powerful and flexible framework that makes it easy to build and deploy web applications. By following this tutorial, you should now have a solid understanding of the fundamentals of Spring Boot and be ready to explore more advanced features.</p><p>Happy coding!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=85e7f890aa9b" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>