<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Rajan Arora</title>
    <description>The latest articles on Forem by Rajan Arora (@icodemechanic).</description>
    <link>https://forem.com/icodemechanic</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F684860%2Fa6688a1e-320d-4675-a923-a715895de964.png</url>
      <title>Forem: Rajan Arora</title>
      <link>https://forem.com/icodemechanic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/icodemechanic"/>
    <language>en</language>
    <item>
      <title>Understanding C4 Models: A Beginner's Guide with Advanced Insights</title>
      <dc:creator>Rajan Arora</dc:creator>
      <pubDate>Wed, 11 Sep 2024 08:30:00 +0000</pubDate>
      <link>https://forem.com/icodemechanic/understanding-c4-models-a-beginners-guide-with-advanced-insights-56o2</link>
      <guid>https://forem.com/icodemechanic/understanding-c4-models-a-beginners-guide-with-advanced-insights-56o2</guid>
      <description>&lt;p&gt;In software architecture, communication is key. Whether you're discussing your design with fellow developers, stakeholders, or non-technical team members, it's essential to have a shared understanding of the system's structure. This is where the C4 Model comes into play. Developed by Simon Brown, the C4 Model is a simple yet powerful way to visualize and document software architecture.&lt;/p&gt;

&lt;p&gt;In this blog post, we will dive into the C4 Model, exploring what it is, why it's necessary, how to use it, and who should be using it. We'll also include some practical examples to help you get started.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the C4 Model?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The C4 Model is a hierarchical approach to software architecture visualization, consisting of four layers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context Diagram (C1):&lt;/strong&gt; Provides a high-level overview of the system, showing how it interacts with external entities like users, systems, or services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Container Diagram (C2):&lt;/strong&gt; Zooms in to show the high-level technology choices and how the system's major building blocks (e.g., applications, databases, services) interact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Component Diagram (C3):&lt;/strong&gt; Breaks down each container into components, detailing the roles and responsibilities of individual classes or services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code (C4):&lt;/strong&gt; Focuses on the lowest level, such as classes, methods, or functions, to show how they are structured within a component.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Do We Need the C4 Model?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In complex software systems, it's easy for architecture to become hard to communicate. Traditional diagrams often fall short, either being too detailed or too abstract. The C4 Model strikes a balance by providing different levels of detail, allowing different stakeholders to understand the system from the appropriate perspective.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Improves communication:&lt;/strong&gt; By breaking down architecture into four levels, you can communicate the right level of detail to the right audience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reduces complexity:&lt;/strong&gt; The model helps in managing complexity by focusing on different aspects of the system incrementally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhances documentation:&lt;/strong&gt; The C4 Model provides a consistent way to document your architecture, making it easier to maintain and share.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to Use the C4 Model?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let's break down how to create each level of the C4 Model with examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Context Diagram (C1)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The context diagram provides a bird's-eye view of the system and its interactions with external entities. This level is particularly useful for non-technical stakeholders, as it shows the "big picture."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine you're building an e-commerce platform. The context diagram would show the platform (your system) at the center, with arrows pointing to external entities like customers, payment gateways, and shipping providers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;System: E-commerce Platform&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;External Entities: Customers, Payment Gateway, Shipping Provider&lt;/p&gt;

&lt;p&gt;This diagram answers the question: Who is interacting with the system, and how?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Container Diagram (C2)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The container diagram zooms in to show the major components of your system and how they interact. This is where you can start to show the technology stack and major building blocks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For the e-commerce platform, the container diagram would show:&lt;/p&gt;

&lt;p&gt;Web Application: Handles the front-end interactions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;API Gateway:&lt;/strong&gt; Manages communication between the front-end and back-end services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database:&lt;/strong&gt; Stores user data, product information, and transaction records.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Authentication Service:&lt;/strong&gt; Manages user login and registration.&lt;/p&gt;

&lt;p&gt;This diagram answers the question: What are the main components of the system, and how do they communicate?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Component Diagram (C3)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The component diagram dives deeper into each container, breaking them down into smaller components. This is where you can show the internal structure of each major building block.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For the Web Application container, the component diagram might show:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UI Layer:&lt;/strong&gt; Handles user interactions and presentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Service Layer:&lt;/strong&gt; Manages business logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repository Layer:&lt;/strong&gt; Interfaces with the database.&lt;/p&gt;

&lt;p&gt;This diagram answers the question: How is each container structured internally?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Code (C4)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The final level focuses on the actual code, showing how classes, methods, or functions are organized. This level is particularly useful for developers who need to understand the implementation details.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Example:&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Within the Service Layer of the Web Application, the code diagram might show:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Class:&lt;/strong&gt; OrderService&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Methods:&lt;/strong&gt; CreateOrder(), CancelOrder(), UpdateOrder()&lt;/p&gt;

&lt;p&gt;This diagram answers the question: How is the code organized within each component?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who Should Use the C4 Model?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The C4 Model is versatile and can be used by various stakeholders:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developers:&lt;/strong&gt; For understanding the system at different levels of detail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architects:&lt;/strong&gt; To design and document the system's structure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Managers:&lt;/strong&gt; To communicate the system's architecture to non-technical stakeholders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stakeholders:&lt;/strong&gt; To gain a high-level understanding of the system's interactions with external entities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The C4 Model is an invaluable tool for software architecture visualization, providing a structured approach to understanding and documenting your system. Whether you're a developer, architect, or project manager, the C4 Model helps you communicate effectively, manage complexity, and maintain clear documentation.&lt;/p&gt;

&lt;p&gt;By breaking down the architecture into four levels—context, container, component, and code—you can ensure that everyone involved has the right level of detail. As you start using the C4 Model in your projects, you'll find that it simplifies the process of designing and explaining complex systems.&lt;/p&gt;

&lt;p&gt;Start creating your own C4 diagrams today, and watch your architecture become more transparent and manageable!&lt;/p&gt;

</description>
      <category>c4model</category>
      <category>architecture</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>5 Common SQL Server Performance Issues and How to Fix Them.</title>
      <dc:creator>Rajan Arora</dc:creator>
      <pubDate>Fri, 06 Sep 2024 03:30:00 +0000</pubDate>
      <link>https://forem.com/icodemechanic/5-common-sql-server-performance-issues-and-how-to-fix-them-1efh</link>
      <guid>https://forem.com/icodemechanic/5-common-sql-server-performance-issues-and-how-to-fix-them-1efh</guid>
      <description>&lt;p&gt;As a SQL Server DBA or developer, you're probably well aware of the importance of keeping your databases running smoothly and efficiently. Unfortunately, there are a number of common performance issues that can impact your SQL Server environment and cause slowdowns, lockups, and other problems.&lt;/p&gt;

&lt;p&gt;In this article, we'll explore five common SQL Server performance issues and discuss some strategies for addressing them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Poorly Designed Queries&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the most common performance issues in SQL Server is poorly designed queries. Queries that are inefficient, contain unnecessary joins or subqueries, or don't make use of indexes can slow down your database and cause performance problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To address this issue, you should review your SQL Server queries and optimize them for better performance. This might involve rewriting queries, adding indexes, or tuning server settings to improve query performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fragmented Indexes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Another common performance issue in SQL Server is fragmented indexes. When an index becomes fragmented, it can impact database performance by slowing down queries that rely on that index.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To address this issue, you can use the SQL Server Management Studio (SSMS) to rebuild or reorganize indexes. This can help to eliminate fragmentation and improve query performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lack of Memory&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SQL Server relies heavily on memory to operate efficiently. If your SQL Server instance is running low on memory, it can cause performance issues like slow queries, timeouts, and other problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To address this issue, you should monitor your server's memory usage and adjust server settings as necessary to allocate more memory to SQL Server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overloaded Server Hardware&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Another common performance issue in SQL Server is overloaded hardware. If your server hardware is insufficient to handle the workload of your databases, it can cause performance issues like slow queries, timeouts, and other problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To address this issue, you should review your server hardware and consider upgrading to a more powerful server or adding additional hardware resources like RAM, CPU, or storage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Locking and Blocking&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Finally, another common performance issue in SQL Server is locking and blocking. When multiple queries are running simultaneously, they can sometimes conflict with each other and cause locking and blocking issues that can impact database performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To address this issue, you can use SQL Server tools like the Activity Monitor to identify and troubleshoot locking and blocking issues. You can also adjust server settings like the maximum degree of parallelism to help prevent locking and blocking issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SQL Server performance issues can be frustrating and impact the overall health and efficiency of your databases. By taking steps to optimize your queries, monitor your hardware and memory usage, and troubleshoot locking and&lt;/p&gt;

</description>
      <category>sqlserver</category>
      <category>sql</category>
      <category>performance</category>
      <category>tuning</category>
    </item>
    <item>
      <title>What is REST?</title>
      <dc:creator>Rajan Arora</dc:creator>
      <pubDate>Fri, 30 Aug 2024 07:30:00 +0000</pubDate>
      <link>https://forem.com/icodemechanic/what-is-rest-1675</link>
      <guid>https://forem.com/icodemechanic/what-is-rest-1675</guid>
      <description>&lt;p&gt;You may have heard of REST and RESTful API and things like&lt;/p&gt;

&lt;p&gt;“Your API should implement REST”&lt;/p&gt;

&lt;p&gt;“Is your API is a REST API?”&lt;/p&gt;

&lt;p&gt;So you have probably heard this term a lot, and you have probably heard it misused quite a bit, actually.&lt;/p&gt;

&lt;p&gt;So lets talk about what is REST&lt;/p&gt;

&lt;p&gt;Well, “&lt;strong&gt;REST is a set of architectural contraints&lt;/strong&gt;“, such as&lt;/p&gt;

&lt;p&gt;– Request are managed through HTTP. So for instance, you cannot have a REST service that uses another protocol besides HTTP.&lt;/p&gt;

&lt;p&gt;– APIs or REST  APIs need to be stateless client-server communication that means that the second call can’t depend on the first call having been made. So they have to be independent calls.&lt;/p&gt;

&lt;p&gt;– So, you have to be able to cache data,not just require new data every single time, we can do that too.&lt;/p&gt;

&lt;p&gt;– There has to be a uniform interface. Meaning it has to be pretty clear that how to get data out of your API so that it’s almost like, say self documenting code. that it’s easy to understand that you can gues as to what the API will do next.&lt;/p&gt;

&lt;p&gt;There are more prohibitions besides these.&lt;/p&gt;

&lt;p&gt;There’s a whole list of them&lt;/p&gt;

&lt;p&gt;Things are layered system and potentially code on-demand and much more&lt;/p&gt;

&lt;p&gt;But let’s talk about what really was REST? Where did it come from? And is it important?&lt;/p&gt;

&lt;p&gt;So, REST was designed by Roy Fielding. And Roy Fielding was doing his PhD work. And Roy came up with REST, which he defined in his PhD dissertation. So, if you are familiar with PhDs,it is a doctorate program. It is a very complicated, very time-consuming, and very technical process for identifying that you know a subject very well.&lt;/p&gt;

&lt;p&gt;And so his dissertation was on architectural styles and the design of Network based software architectures. So it’s all really complicated. And there he defined the REST structure.&lt;/p&gt;

&lt;p&gt;Now, if you actually look at the original dissertation and what the original dissertation said for how REST was to be designed, you would find that almost no API today fully implements REST. There is a lot to REST, and it’s very theoretical in a lot of ways.&lt;/p&gt;

&lt;p&gt;So here is my recommendation for you that you have to treat “&lt;strong&gt;REST as a design recommendation.&lt;/strong&gt;“&lt;/p&gt;

&lt;p&gt;You have not to worry about everything being perfectly RESTful. Otherwise, what happens is that you start building an API that doesn’t really work well.&lt;/p&gt;

&lt;p&gt;You have to start building an API based upon a standard rather than based on what’s best for your API.&lt;/p&gt;

&lt;p&gt;And yes, there is a balance there. But like with anything else, whether a design pattern, design practice, or principle, you need to make sure that you make the right choice for your application, not get stuck in making sure that your application is perfectly following a “rule.” because REST is a rule. It is not required to have an API that exactly follows REST.&lt;/p&gt;

&lt;p&gt;And if you do have that requirement, your API is going to be difficult to create.&lt;/p&gt;

&lt;p&gt;You have to make sure that your application is RESTful. It’s following the spirit of the law. So that means that you have standard HTTP verbs.&lt;/p&gt;

&lt;p&gt;So, GET is a verb, and that’s for getting data. POST, and that is for creating data. and then we have PUT or PATCH, which are used for updating data. and we have delete, which is used for deleting data.&lt;/p&gt;

&lt;p&gt;And you have to use those verbs appropriately instead of abusing the system.&lt;/p&gt;

&lt;p&gt;because you could create an API that uses POST for everything. for creation, updates, and deletes, and it would work perfectly, but it wouldn’t be following the spirit of REST.&lt;/p&gt;

&lt;p&gt;Because you don’t know, why would we do it this way versus that way? Why were you using  POST for everything?&lt;/p&gt;

&lt;p&gt;That’s not a great design.&lt;/p&gt;

&lt;p&gt;So you should be clear about using the different HTTP verbs.&lt;/p&gt;

&lt;p&gt;You are also going to have consistent naming, so for instance, you have to create users. So you have  CRUD options on users, i.e., Create, Read, Update, and Delete; they will all be named /users because when you POST, you are creating a user, and when you Delete, you are deleting a user. and so instead of having endpoint that says “delete-user” and a different endpoint that’s “create-user” because thats a littile harder to underatsand and it is not consistent &lt;/p&gt;

&lt;p&gt;So you have a good naming structure for APIs to make things work well.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;*&lt;em&gt;At last, repeating myself again, treat REST as a design recommendation, such as a design principle to follow, rather than a hard and fast rule.&lt;br&gt;
*&lt;/em&gt;&lt;/em&gt;&lt;br&gt;
If you have Comment or Suggestion please let me know in the comment section or mail me @ &lt;a href="mailto:icodemechanic@gmail.com"&gt;icodemechanic@gmail.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>restapi</category>
      <category>developer</category>
      <category>api</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Why Developers should understand SQL Server Performance</title>
      <dc:creator>Rajan Arora</dc:creator>
      <pubDate>Fri, 23 Aug 2024 07:30:00 +0000</pubDate>
      <link>https://forem.com/icodemechanic/why-developers-should-understand-sql-server-performance-18ph</link>
      <guid>https://forem.com/icodemechanic/why-developers-should-understand-sql-server-performance-18ph</guid>
      <description>&lt;p&gt;There are many reasons why you as a developer should understand SQL Server Performance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fvzhlwtubwh8ixjwvwa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fvzhlwtubwh8ixjwvwa.png" alt="Image description" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One of the biggest reasons is that&lt;/strong&gt;, generally, the responsibility of the overall performance of the app is on the shoulders of the application development team and we all know that how much application performance is important for the user experience in today’s time. If our application is slow and unresponsive, or can’t scale to meet the number of users it needs, then the user is not satisfied with the app and looks for an alternative.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The second reason is&lt;/strong&gt;, as an application developer, we have the view or scope for the whole system, Along with the knowledge of the application code we also have an idea of the use cases for the application and the data being used stored or accessed by the application.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Most important&lt;/strong&gt;, we have a view of how all of the pieces of the application fit together into different features of our application, and how these features are used by our users. At the time of tuning SQL Statements or creating indexes in our database, it is always good if we understand the larger context of our application such as what the application is trying to do and how it is trying to do it. So our knowledge of how the application works is greatly benefitted in this case.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finally&lt;/strong&gt;, there will be no doubt at the times when you need to work closely with the DBA team at your company, this might be to search for an issue from your application, or do some database design work, or any other reason. By better knowing how SQL Server works, you’ll be able to engage or help your DBAs more efficiently. You’ll be able to work together more effectively analyzing problems, and you will better understand what tools are available and how they can help solve these problems.&lt;/p&gt;

&lt;p&gt;If you have Comment or Suggestion please let me know in the comment section or mail me @ &lt;a href="mailto:icodemechanic@gmail.com"&gt;icodemechanic@gmail.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>developer</category>
      <category>sqlserver</category>
      <category>database</category>
      <category>sql</category>
    </item>
    <item>
      <title>What is an API?</title>
      <dc:creator>Rajan Arora</dc:creator>
      <pubDate>Fri, 16 Aug 2024 07:30:00 +0000</pubDate>
      <link>https://forem.com/icodemechanic/what-is-an-api-46c9</link>
      <guid>https://forem.com/icodemechanic/what-is-an-api-46c9</guid>
      <description>&lt;p&gt;“API” stands for Application Programming Interface.&lt;/p&gt;

&lt;p&gt;Does this definition or acronym of API help you to understand the meaning and usability of API?&lt;/p&gt;

&lt;p&gt;Probably not.&lt;/p&gt;

&lt;p&gt;So let’s talk about what it really means &lt;/p&gt;

&lt;p&gt;“It’s a way for applications to talk to each other in a standardized manner.“&lt;/p&gt;

&lt;p&gt;That’s it. That’s what API is&lt;/p&gt;

&lt;p&gt;An API is a way for applicants to talk with each other&lt;/p&gt;

&lt;p&gt;Now after reading this you may want some more explanation to understand the concept of API.&lt;/p&gt;

&lt;p&gt;Let me explain through an example&lt;/p&gt;

&lt;p&gt;For example,&lt;/p&gt;

&lt;p&gt;If you are going to create a desktop application using WPF, the actual part of WPF is to create the user interface, which is what you use to create an interface for the application.&lt;/p&gt;

&lt;p&gt;So you open a desktop application and enter information in the textboxes and hit buttons and so on, which is called a Graphical User Interface (GUI). Now that we talk to people, most people use GUIs for most parts, so if you have a website, it’s a GUI, you have a Graphical User Interface that you can look at graphically and interface with it. Meaning you can put information and hit buttons and can see things on the screen.&lt;/p&gt;

&lt;p&gt;But APIs are a bit different. They are still user interfaces (you might be confused about this). Notice that an API is an Application Programming Interface. It’s an interface. So one might argue that computers aren’t users; well, they are.&lt;/p&gt;

&lt;p&gt;Because What is a User? You can’t define a user as a person only, but actually, a user is someone who uses the application. In this case, applications are using other applications. So an API is a way for applications to talk to each other, so work is done in a standardized set of interfaces that another application can talk to.&lt;/p&gt;

&lt;p&gt;Think of it like a class library. In a class library, we have a bunch of classes and methods.&lt;/p&gt;

&lt;p&gt;Well, in the same way, an API has classes and methods that you can talk to. You can talk with the API and say “I want information from a specific method” and you will get it. If you want to put the information in or delete the information by using a specific method, you can do it, and it will do the job.&lt;/p&gt;

&lt;p&gt;That’s what API is.&lt;/p&gt;

&lt;p&gt;If you have Comment or Suggestion please let me know in the comment section or mail me @ &lt;a href="mailto:icodemechanic@gmail.com"&gt;icodemechanic@gmail.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
