<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Posts on Parth Sigdel</title><link>https://blog.parthsigdel.com/posts/</link><description>Recent content in Posts on Parth Sigdel</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 28 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.parthsigdel.com/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>An Intro to C#</title><link>https://blog.parthsigdel.com/posts/2026-6-28-an-intro-to-csharp/</link><pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate><guid>https://blog.parthsigdel.com/posts/2026-6-28-an-intro-to-csharp/</guid><description>&lt;p&gt;&lt;code&gt;NOTE: Everything is written in simple and short words — like a student's notes.&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="declaring-variables-of-different-types"&gt;Declaring variables of different types:&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// type variablename = value; &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; num;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;string&lt;/span&gt; s;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;bool&lt;/span&gt; b;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;char&lt;/span&gt; ch;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;double&lt;/span&gt; dub;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;float&lt;/span&gt; fl;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;decimal&lt;/span&gt; dc;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// arrays are of fixed length and can be provided a size during initialisation. &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Compiler infers the size if you do not provide it. &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;[] arr;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;List&amp;lt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;&amp;gt; nums; &lt;span style="color:#75715e"&gt;// List&amp;lt;type&amp;gt; varname&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Dictionary&amp;lt;&lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;&amp;gt; dict; &lt;span style="color:#75715e"&gt;// Dictionary&amp;lt;keyType, valueType&amp;gt; varname;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="initialising-variables-of-different-types"&gt;Initialising variables of different types.&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Syntax: &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Either `var varname = value;` — here type is inferred by the compiler &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Or `type varname = value;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; num1 = &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; num2 = &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; dub1 = &lt;span style="color:#ae81ff"&gt;1.99&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;double&lt;/span&gt; dub2 = &lt;span style="color:#ae81ff"&gt;2.99&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; fl1 = &lt;span style="color:#ae81ff"&gt;1.99f&lt;/span&gt;; &lt;span style="color:#75715e"&gt;// for float &amp;#39;f&amp;#39; or &amp;#39;F&amp;#39; suffix must be provided at the end of the value.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;float&lt;/span&gt; fl2 = &lt;span style="color:#ae81ff"&gt;2.99f&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; dc1 = &lt;span style="color:#ae81ff"&gt;1.99&lt;/span&gt;m;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;decimal&lt;/span&gt; dc2 = &lt;span style="color:#ae81ff"&gt;2.99&lt;/span&gt;m; &lt;span style="color:#75715e"&gt;// for decimal &amp;#39;m&amp;#39; or &amp;#39;M&amp;#39; suffix must be provided at the end of the value.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; ch1 = &lt;span style="color:#e6db74"&gt;&amp;#39;A&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;char&lt;/span&gt; ch2 = &lt;span style="color:#e6db74"&gt;&amp;#39;B&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; s1 = &lt;span style="color:#e6db74"&gt;&amp;#34;first one&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;string&lt;/span&gt; s2 = &lt;span style="color:#e6db74"&gt;&amp;#34;second one&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; b1 = &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;bool&lt;/span&gt; b2 = &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Ways to Initialise an array:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// NOTE: Some of the other ways to initialise an array, a list, and a dictionary have not been added here.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Only standard and recommended ways have been added.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// recommended way for legacy projects&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;[] arr1 = { &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; }; &lt;span style="color:#75715e"&gt;// creates an array with values {1, 2, 3}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// recommended for new projects&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;[] arr2 = [&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;]; &lt;span style="color:#75715e"&gt;// use square brackets; creates an array with values [1, 2, 3].&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Ways to initialise a list:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;List&amp;lt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;&amp;gt; nums1 = [&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;]; &lt;span style="color:#75715e"&gt;// modern syntax: c# 12+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// traditional standard: using var keyword&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; nums2 = &lt;span style="color:#66d9ef"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;&amp;gt;() { &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; };
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Ways to initialise a dictionary:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// classic way:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; dict1 = &lt;span style="color:#66d9ef"&gt;new&lt;/span&gt; Dictionary&amp;lt;&lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; {&lt;span style="color:#e6db74"&gt;&amp;#34;user1&amp;#34;&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Recommended way:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;var&lt;/span&gt; dict2 = &lt;span style="color:#66d9ef"&gt;new&lt;/span&gt; Dictionary&amp;lt;&lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt; [&amp;#34;user1&amp;#34;]&lt;/span&gt; = &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="constants"&gt;Constants&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// const type varname = value;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; num = &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="oop"&gt;OOP&lt;/h2&gt;
&lt;p&gt;In short words, Object-oriented programming (OOP) is a way of designing software around data, or objects, rather than functions and logic.&lt;/p&gt;</description></item><item><title>An Intro to Docker</title><link>https://blog.parthsigdel.com/posts/2026-1-22-an-intro-to-docker/</link><pubDate>Thu, 22 Jan 2026 00:00:00 +0000</pubDate><guid>https://blog.parthsigdel.com/posts/2026-1-22-an-intro-to-docker/</guid><description>&lt;h2 id="what-is-docker"&gt;What is Docker?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Docker&lt;/strong&gt; is best understood with a problem that you likely have faced: the same code runs in your machine, but it does not run on your friend&amp;rsquo;s/colleague&amp;rsquo;s machine.&lt;/p&gt;
&lt;p&gt;Docker solves this machine by packaging and running your application in a loosely isolated environment called a &lt;code&gt;container&lt;/code&gt;. Containers contain everything that is required to run your application.&lt;/p&gt;
&lt;h2 id="docker-objects"&gt;Docker objects&lt;/h2&gt;
&lt;h3 id="images"&gt;Images:&lt;/h3&gt;
&lt;p&gt;An image is a read-only template with instructions to build and run a Docker container. You might either create your own images, or use those that are available in Docker’s public registry.&lt;/p&gt;</description></item><item><title>Authentication and Authorization Methods</title><link>https://blog.parthsigdel.com/posts/2026-1-2-authentication-and-authorization-methods/</link><pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate><guid>https://blog.parthsigdel.com/posts/2026-1-2-authentication-and-authorization-methods/</guid><description>&lt;h1 id="basic-http-authentication-method"&gt;Basic HTTP Authentication Method&lt;/h1&gt;
&lt;p&gt;In this method:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The client sends the word &lt;strong&gt;“Basic”&lt;/strong&gt; followed by the Base64-encoded &lt;code&gt;&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;&lt;/code&gt; in the standard &lt;strong&gt;Authorization&lt;/strong&gt; header.&lt;/li&gt;
&lt;li&gt;The server then matches that username and password against the credentials stored on the server/db.&lt;/li&gt;
&lt;li&gt;If the credentials match, access to the resource is allowed, else, access is denied.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In &lt;strong&gt;Basic HTTP Authentication&lt;/strong&gt;, each request follows the same methods mentioned above - each request contains &lt;code&gt;Basic &amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;&lt;/code&gt; in the authorization header.&lt;/p&gt;</description></item><item><title>Different Types of Tests and their Implementation Example in Go</title><link>https://blog.parthsigdel.com/posts/2026-1-2-common-types-of-tests-and-their-implementations/</link><pubDate>Fri, 02 Jan 2026 00:00:00 +0000</pubDate><guid>https://blog.parthsigdel.com/posts/2026-1-2-common-types-of-tests-and-their-implementations/</guid><description>&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; The aim of this post is to explain common types of tests in the simplest and easiest words, without diving too deep.&lt;/p&gt;
&lt;h2 id="unit-test"&gt;Unit test&lt;/h2&gt;
&lt;p&gt;A unit test is a way of testing where the smallest unit of code is tested to see if it works correctly. This smallest part is usually a function, a method, or a code block.&lt;/p&gt;
&lt;p&gt;Below is an oversimplified example of a unit test in Go.&lt;/p&gt;</description></item><item><title>An Intro to Relational Database and SQL</title><link>https://blog.parthsigdel.com/posts/2025-12-29-an-intro-to-relational-database-and-sql/</link><pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.parthsigdel.com/posts/2025-12-29-an-intro-to-relational-database-and-sql/</guid><description>&lt;p&gt;&lt;strong&gt;What is a relational database?&lt;/strong&gt;&lt;br&gt;
A relational database is a type of database, where data is stored in rows and columns, which collectively form multiple tables. Data from these tables can be linked using primary key or foreign keys.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is a primary key?&lt;/strong&gt;&lt;br&gt;
A primary key is a column in a table that uniquely identifies each row. In the example presented below, the id column is a primary key for the table &lt;strong&gt;“Users”&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>N+1 Problem in Simple Words</title><link>https://blog.parthsigdel.com/posts/2025-12-29-n+1-problem-in-simple-words/</link><pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.parthsigdel.com/posts/2025-12-29-n+1-problem-in-simple-words/</guid><description>&lt;p&gt;In simple words, the &lt;strong&gt;N+1 query problem&lt;/strong&gt; is a situation where too many queries are being performed, and which could have been solved by making a &lt;strong&gt;single query&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;A simple example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the first step, you execute a query to get a list of &lt;strong&gt;users&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the second step, you make individual queries to get a list of &lt;strong&gt;orders&lt;/strong&gt; for each single user.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Situations like these are exactly where &lt;strong&gt;N+1 query problems&lt;/strong&gt; occur. You may think that making many small queries would be faster than making a single large query. &lt;strong&gt;However, the opposite is the truth:&lt;/strong&gt; making a large single query is usually faster than many small queries.&lt;/p&gt;</description></item><item><title>What Is a REST API and How to Design It Correctly</title><link>https://blog.parthsigdel.com/posts/2025-12-27-what-is-a-rest-api-and-how-to-correctly-design-it/</link><pubDate>Sat, 27 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.parthsigdel.com/posts/2025-12-27-what-is-a-rest-api-and-how-to-correctly-design-it/</guid><description>&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: The goal of this blog post is to explain REST API in easy to understand words, like a student’s notes, without diving too deep.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is REST?&lt;/strong&gt;&lt;br&gt;
REST stands for Representational State Transfer; it is a set of rules for designing web APIs where data is treated as resources, and HTTP Methods like GET, PUT, POST, and DELETE are used to access them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is an API?&lt;/strong&gt;&lt;br&gt;
API stands for Application Programming Interface; it is a way through which different systems can communicate with each other. API lets you share your resources while maintaining security and control.&lt;/p&gt;</description></item><item><title>Go Cheatsheet</title><link>https://blog.parthsigdel.com/posts/2025-12-25-go-cheatsheet/</link><pubDate>Thu, 25 Dec 2025 00:00:00 +0000</pubDate><guid>https://blog.parthsigdel.com/posts/2025-12-25-go-cheatsheet/</guid><description>&lt;p&gt;Below you will find a quick, and short cheatsheet, written with simple examples, and easy to understand words.&lt;/p&gt;
&lt;h3 id="declaring-variables-of-different-types"&gt;Declaring variables of different types:&lt;/h3&gt;
&lt;p&gt;{% highlight go %}
var i int
var s string
var b byte
var bo bool // Boolean: true or false
var ch rune // Go&amp;rsquo;s equivalent of a single character.
var sSlice []string // This creates a slice of strings.
var sArr [3]string // This creates an array with a length of 3 strings.
var mp map[string]int // Creates a map with string type as key, and int type as value.
{% endhighlight %}&lt;/p&gt;</description></item><item><title>Internet Concepts You Should Know as a Developer</title><link>https://blog.parthsigdel.com/posts/2025-12-23-internet-concepts-you-should-know-as-a-developer/</link><pubDate>Tue, 23 Dec 2025 20:47:01 +1100</pubDate><guid>https://blog.parthsigdel.com/posts/2025-12-23-internet-concepts-you-should-know-as-a-developer/</guid><description>&lt;h2 id="how-does-the-internet-work"&gt;How does the internet work?&lt;/h2&gt;
&lt;p&gt;The internet is an interconnection of devices and computer systems that are connected through a set of standardized protocols such as IP, and TCP. At the core of the internet, routers are responsible for transferring the data. Data is broken down into smaller chunks called packets, and these packets are first examined by the router, and then transferred from one router to the next, until it arrives at its destination. Routers are responsible for determining the path through which the packets travel.&lt;/p&gt;</description></item></channel></rss>