<?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>DEV Community: Avinash DV</title>
    <description>The latest articles on DEV Community by Avinash DV (@avinash_dv_7e29cfafb00fba).</description>
    <link>https://dev.to/avinash_dv_7e29cfafb00fba</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%2F2086099%2F89981a93-41e8-4e4f-9191-3275fd693890.jpg</url>
      <title>DEV Community: Avinash DV</title>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/avinash_dv_7e29cfafb00fba"/>
    <language>en</language>
    <item>
      <title>Js in bits - 1(script)</title>
      <dc:creator>Avinash DV</dc:creator>
      <pubDate>Thu, 26 Dec 2024 06:05:14 +0000</pubDate>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba/js-in-bits-1script-4h0p</link>
      <guid>https://dev.to/avinash_dv_7e29cfafb00fba/js-in-bits-1script-4h0p</guid>
      <description>&lt;p&gt;Learning js should be fun. It's fun if it's easy.&lt;br&gt;
I tried my best in writing this, to understand it easily.&lt;/p&gt;

&lt;p&gt;&amp;lt;br&amp;gt;
To write js in html, we can use script tag.&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;&amp;lt;img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rptufytah1d6ciegkpkp.png" alt="Image description"/&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;Other ways to use script tag &amp;lt;br&amp;gt;
1, Write javascript in a .js file and link it with src&amp;lt;br&amp;gt;
2, Add a CDN link to src inside script tag&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;&amp;lt;img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/za5ikrxp1ki13j8jgvxn.png" alt="Image description"/&amp;gt;&amp;lt;/p&amp;gt;
&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>learning</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>http Status Codes</title>
      <dc:creator>Avinash DV</dc:creator>
      <pubDate>Wed, 18 Sep 2024 10:56:12 +0000</pubDate>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba/http-status-codes-3eb4</link>
      <guid>https://dev.to/avinash_dv_7e29cfafb00fba/http-status-codes-3eb4</guid>
      <description>&lt;p&gt;As with this &lt;a href="https://dev.to/avinash_dv_7e29cfafb00fba/type-of-api-requests-1i7n"&gt;post &lt;/a&gt;we discussed the types of API requests. All of these requests are sent from client to the server. The server responds back with a response and this response will have a status code which states what happened with the request, whether it is success or failure&lt;br&gt;
Below is an easy way to remember what they actually mean&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1xx: Information&lt;/strong&gt;&lt;br&gt;
It is just for informational purpose.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2xx: Successful&lt;/strong&gt;&lt;br&gt;
This states if the response is successful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3xx: Redirection&lt;/strong&gt;&lt;br&gt;
This states when the request is redirected to a new endpoint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4xx: Client Error&lt;/strong&gt;&lt;br&gt;
It states the error sent incorrect data to client.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5xx: Server Error&lt;/strong&gt;&lt;br&gt;
It states the issue is with server.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Type of API requests</title>
      <dc:creator>Avinash DV</dc:creator>
      <pubDate>Wed, 18 Sep 2024 10:55:17 +0000</pubDate>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba/type-of-api-requests-1i7n</link>
      <guid>https://dev.to/avinash_dv_7e29cfafb00fba/type-of-api-requests-1i7n</guid>
      <description>&lt;p&gt;This post will give a brief knowledge of type of requests available&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GET&lt;/strong&gt;&lt;br&gt;
It is used to get the data from an API, which is later used to display on web site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;POST&lt;/strong&gt;&lt;br&gt;
This is used mostly when user fills a form on the website. The user data is sent to server with POST request to store the data in db.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PUT/PATCH&lt;/strong&gt;&lt;br&gt;
This request is used to update the existing data in database, like in the POST request we may have added user address, now the user have moved to other place and want to update the address.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DELETE&lt;/strong&gt;&lt;br&gt;
As the name suggests, we use it to delete the user or any information permanently. It is very dangerous and beware while using it.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TinyUrl— APIs</title>
      <dc:creator>Avinash DV</dc:creator>
      <pubDate>Wed, 18 Sep 2024 10:40:52 +0000</pubDate>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-apis-jkg</link>
      <guid>https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-apis-jkg</guid>
      <description>&lt;p&gt;&lt;strong&gt;APIs&lt;/strong&gt;:&lt;br&gt;
4 Apis in total are needed at high level.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;POST&lt;/strong&gt; &lt;em&gt;/shorten&lt;/em&gt;
We send a long Url which is required and some optional params like alias, expire_at, user_id&lt;/li&gt;
&lt;/ul&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%2Fyys31kwsy7i45ztxurmw.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%2Fyys31kwsy7i45ztxurmw.png" alt="Image description" width="458" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GET&lt;/strong&gt; &lt;em&gt;/{hash}&lt;/em&gt;
We send a hash of the shortUrl like #24azry which is unique to get the corresponding longUrl&lt;/li&gt;
&lt;/ul&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%2Furjg7rsqgl0j9gzs64ow.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%2Furjg7rsqgl0j9gzs64ow.png" alt="Image description" width="366" height="222"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GET&lt;/strong&gt; &lt;em&gt;/analytics/{hash}&lt;/em&gt;
We send a hash(#24azry) of shourtUrl to get the analytics such as user_clicks, unique_clicks, location, site_referred(from which site it was accessed)&lt;/li&gt;
&lt;/ul&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%2F0hdp9hgq3l69gw8albpx.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%2F0hdp9hgq3l69gw8albpx.png" alt="Image description" width="367" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DELETE&lt;/strong&gt; &lt;em&gt;/{hash}&lt;/em&gt;
Send hash(#24azry) along with DELETE request to delete the shorten url&lt;/li&gt;
&lt;/ul&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%2Fmrp9wmfetcjag07k4wi9.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%2Fmrp9wmfetcjag07k4wi9.png" alt="Image description" width="425" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leave your thoughts in the comments y’all. DB design is up next !&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TinyUrl - Capacity Estimations</title>
      <dc:creator>Avinash DV</dc:creator>
      <pubDate>Tue, 17 Sep 2024 12:58:20 +0000</pubDate>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-capacity-estimations-1i2d</link>
      <guid>https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-capacity-estimations-1i2d</guid>
      <description>&lt;p&gt;&lt;strong&gt;Capacity Estimations&lt;/strong&gt; :&lt;br&gt;
Simply put, how many guests we are planning for your grand wedding and how much food we gonna cook, so on &amp;amp; so forth….&lt;br&gt;
Ok, enough with the jokes :)&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%2Fnsal9aope5yh284kq2ub.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%2Fnsal9aope5yh284kq2ub.png" alt="Image description" width="181" height="118"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Traffic&lt;/strong&gt; - like how many &lt;strong&gt;requests&lt;/strong&gt; our system gets &lt;strong&gt;per second&lt;/strong&gt; .&lt;br&gt;
&lt;strong&gt;Storage&lt;/strong&gt; - What is the &lt;strong&gt;db size&lt;/strong&gt; that we are planning to store the urls &amp;amp; user data per &lt;strong&gt;5yrs or 10yrs&lt;/strong&gt; .&lt;br&gt;
&lt;strong&gt;Bandwidth&lt;/strong&gt; -  The amount of &lt;strong&gt;data&lt;/strong&gt; we transfer in &amp;amp; out of our system, &lt;strong&gt;per second&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;Memory&lt;/strong&gt; -  Mostly used for calculating the cache &lt;strong&gt;storage per day&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Things to keep handy to understand the calculations:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/avinash_dv_7e29cfafb00fba/numbers-data-for-system-design-34a3"&gt;Numbers in-terms of data&lt;/a&gt; &lt;br&gt;
&lt;a href="https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-simple-system-design-9pe"&gt;Decimal to binary&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Traffic&lt;/strong&gt; :&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%2Fx90crfrqgcwc7xd10klq.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%2Fx90crfrqgcwc7xd10klq.png" alt="Image description" width="542" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Storage&lt;/strong&gt; :&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%2F7amrw9pwr9ewqmw349de.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%2F7amrw9pwr9ewqmw349de.png" alt="Image description" width="558" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bandwidth&lt;/strong&gt; :&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%2F9ld58szpr3cpjvb70pwy.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%2F9ld58szpr3cpjvb70pwy.png" alt="Image description" width="431" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Memory&lt;/strong&gt; :&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%2Foyjvqduik9zrgagw95kb.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%2Foyjvqduik9zrgagw95kb.png" alt="Image description" width="702" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's meet again with System Interface Design (APIs), See ya.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Numbers &amp; Data for System Design</title>
      <dc:creator>Avinash DV</dc:creator>
      <pubDate>Tue, 17 Sep 2024 12:21:17 +0000</pubDate>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba/numbers-data-for-system-design-34a3</link>
      <guid>https://dev.to/avinash_dv_7e29cfafb00fba/numbers-data-for-system-design-34a3</guid>
      <description>&lt;p&gt;1 day -&amp;gt; 86400 seconds&lt;br&gt;
1 million -&amp;gt; 1 000 000 (1 with 6 zeros)&lt;br&gt;
1 billion -&amp;gt; 1 000 000 000 (1 with 9 zeros)&lt;br&gt;
1 trillion -&amp;gt; 1 000 000 000 000(1 with 12 zeros)&lt;/p&gt;

&lt;p&gt;Numbers in-terms of data&lt;br&gt;
1 byte = 8 bits&lt;br&gt;
1kb = 1000 bytes&lt;br&gt;
1mb = 1000 kb&lt;br&gt;
1gb = 1000 mb&lt;br&gt;
1 tb = 1000 gb&lt;br&gt;
1 pb = 1000 tb&lt;/p&gt;

&lt;p&gt;1000 = 1kb 000b = 1kb or 1000 bytes&lt;br&gt;
1 000 000 = 1mb 000kb 000b = 1mb or 1000 kb&lt;br&gt;
1 000 000 000 = 1gb 000mb 000kb 000b = 1gb or 1000 mb&lt;br&gt;
1 000 000 000 000 = 1tb 000gb 000mb 000kb 000b = 1tb or 1000 gb&lt;br&gt;
1 000 000 000 000 000 = 1pb 000tb 000gb 000mb 000kb 000 b = 1pb or 1000tb&lt;/p&gt;

&lt;p&gt;b — bytes&lt;br&gt;
kb — Kilo bytes&lt;br&gt;
mb — Mega bytes&lt;br&gt;
gb — Giga bytes&lt;br&gt;
tb — Tera bytes&lt;br&gt;
pb — Peta bytes&lt;br&gt;
eb — Exa bytes (if at all needed)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Understand the decimal to binary conversion</title>
      <dc:creator>Avinash DV</dc:creator>
      <pubDate>Tue, 17 Sep 2024 12:19:34 +0000</pubDate>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-simple-system-design-9pe</link>
      <guid>https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-simple-system-design-9pe</guid>
      <description>&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%2Fl7y7k15ewrknz115j8pa.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%2Fl7y7k15ewrknz115j8pa.png" alt="Image description" width="305" height="58"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To simply put take the below example&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;decimal&lt;/strong&gt; :&lt;br&gt;
&lt;strong&gt;120&lt;/strong&gt;&lt;br&gt;
By basic maths 0 is in 1’s place, 2 is in 10’s place, 1 is in 100’s place&lt;br&gt;
In total, we call it as One hundered and twenty one&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;binary&lt;/strong&gt; :&lt;br&gt;
8 4 2 1&lt;br&gt;
1 1 1 1 = 15&lt;/p&gt;

&lt;p&gt;As we can see, by using 3 places in decimal we can write all numbers that fall under 100’s place, till 999&lt;/p&gt;

&lt;p&gt;But In contrast, we need 4 places in binary just to write 2 digits that too ≤ 15&lt;br&gt;
To write 255(2⁸) we need 8 places and so on.&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%2F69mi7vq3oztjf6pjt9at.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%2F69mi7vq3oztjf6pjt9at.png" alt="Image description" width="581" height="94"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may ask, why can’t we use decimal instead of binary, I’m using decimal numbers all the time in my code and it is working fine!!!!&lt;/p&gt;

&lt;p&gt;Ans: Computers only understand 1’s and 0’s which are binary, so whatever we write let it be characters, numbers should be converted to binary as stated above, to be able to run.&lt;/p&gt;

&lt;p&gt;if we declare x = 19780 in our code&lt;br&gt;
computer should allocate memory like 2¹⁵ bits = 32768 bits to store it.&lt;br&gt;
whereas 2¹⁴ = 16384 and 19780 can’t fit in 2¹⁴&lt;/p&gt;

&lt;p&gt;Same goes for characters/words/sentences as well. Next time you declare variables in your code think of this conversion and avoid un-necessary declarations that could take up the space which makes your code slow.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>TinyUrl — Simple System Design</title>
      <dc:creator>Avinash DV</dc:creator>
      <pubDate>Tue, 17 Sep 2024 11:02:28 +0000</pubDate>
      <link>https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-simple-system-design-4b40</link>
      <guid>https://dev.to/avinash_dv_7e29cfafb00fba/tinyurl-simple-system-design-4b40</guid>
      <description>&lt;p&gt;This post explains a simple way to deal with questions like TinyUrl in Interviews. Although the content replicates designgurus, I’ve added my touch of understanding in explaining the complex concept in a simple way.&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%2Fro1ducjozjmszsndy1b8.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%2Fro1ducjozjmszsndy1b8.png" alt="Image description" width="468" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Basically it’s a computer that takes in long url and gives a short url. It seems like there is not much going on here, but consider the following points that make it interesting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No signup/login needed — Anyone, any number of times can use unlimited long urls to generate tinyUrls&lt;/li&gt;
&lt;li&gt;Which means we are talking about &lt;strong&gt;millions&lt;/strong&gt; of people around the world, using **100’s of millions **of urls.&lt;/li&gt;
&lt;li&gt;This will make us think, what would be &lt;strong&gt;db size&lt;/strong&gt; to store the urls, what if we allow user signup/login, what could be the &lt;strong&gt;user table size&lt;/strong&gt; ?&lt;/li&gt;
&lt;li&gt;How many servers we need, to handle such a traffic?&lt;/li&gt;
&lt;li&gt;And how can our servers be &lt;strong&gt;super fast&lt;/strong&gt; ?&lt;/li&gt;
&lt;li&gt;Our system should &lt;strong&gt;never go down&lt;/strong&gt; and be resilient to handle such a traffic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, the above questions have grabbed your attention, let us start:&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%2Fdbyewsjqrntsg5qtmpmn.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%2Fdbyewsjqrntsg5qtmpmn.png" alt="Image description" width="454" height="195"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The 2 things Functional &amp;amp; Non-Functional Requirements give us a start.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;u&gt;Func Reqs&lt;/u&gt; basically tells us what are few main features our system should support&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Non Func Reqs&lt;/u&gt; tells us how the system should perform.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s like participating in a race and how well do you perform to win the race.&lt;/p&gt;

&lt;p&gt;To win the race we need to be on our top performance and how do we get there? by covering all the basics, by planning for all the possible failures, by solving the problems that comes along the way.&lt;/p&gt;

&lt;p&gt;Ok, enough of the motivation :)&lt;/p&gt;

&lt;p&gt;Few important things we can cover in any system design are&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%2F9wqydcs4sirrypsd4cnn.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%2F9wqydcs4sirrypsd4cnn.png" alt="Image description" width="800" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And &lt;strong&gt;1 Major Problem&lt;/strong&gt; . I don’t wanna leave y’all on boring long post. Each of them are discussed in detail in TinUrl — Part 2. See you there.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
