<?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: Vish</title>
    <description>The latest articles on DEV Community by Vish (@w3vish).</description>
    <link>https://dev.to/w3vish</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%2F2222955%2Fe9ce4222-29f1-41be-930e-a80efa561ac9.png</url>
      <title>DEV Community: Vish</title>
      <link>https://dev.to/w3vish</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/w3vish"/>
    <language>en</language>
    <item>
      <title>Advance YT-DLP Command Generator</title>
      <dc:creator>Vish</dc:creator>
      <pubDate>Wed, 26 Mar 2025 02:28:34 +0000</pubDate>
      <link>https://dev.to/w3vish/advance-yt-dlp-command-generator-2kon</link>
      <guid>https://dev.to/w3vish/advance-yt-dlp-command-generator-2kon</guid>
      <description>&lt;p&gt;Hey folks&lt;/p&gt;

&lt;p&gt;I've been using yt-dlp for a while and got tired of constantly checking the docs for specific flags. So I built a simple web tool that helps generate yt-dlp commands more easily.&lt;/p&gt;

&lt;p&gt;Basically, it's just a command builder that lets you select options without having to remember every single flag. I know yt-dlp is pretty straightforward on its own, but sometimes you need those specific settings for downloading playlists, extracting audio, or grabbing subtitles.&lt;/p&gt;

&lt;p&gt;Might be useful for some of you. Site is at ytdlp.toolbrew.org if you want to check it out.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://ytdlp.toolbrew.org/" rel="noopener noreferrer"&gt;YT-DLP Command Generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub's also there if anyone's interested: &lt;a href="//github.com/w3vish/ytdlp-command-generator"&gt;github.com/w3vish/ytdlp-command-generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just thought I'd share in case it saves someone else some googling.&lt;/p&gt;

</description>
      <category>ytdlp</category>
      <category>youtubedl</category>
      <category>nextjs</category>
      <category>tooling</category>
    </item>
    <item>
      <title>(SQL Query) Caching vs Indexing in Express.js</title>
      <dc:creator>Vish</dc:creator>
      <pubDate>Thu, 17 Oct 2024 03:10:07 +0000</pubDate>
      <link>https://dev.to/w3vish/sql-query-caching-vs-indexing-in-expressjs-40n6</link>
      <guid>https://dev.to/w3vish/sql-query-caching-vs-indexing-in-expressjs-40n6</guid>
      <description>&lt;p&gt;Hello Devs, This is my first post on this platform! 👋&lt;/p&gt;

&lt;p&gt;I wanted to share a surprising experience I had with Express.js and SQL. I’m a beginner developer, and while working on the API for my project, I was handling over 200k+ API requests per day. Initially, I set up an SQLite database (~400 MB) with an Express.js API, and used Node.js caching to speed things up.&lt;/p&gt;

&lt;p&gt;At first, the response time for a query was around 200-300 ms, since it involved several JOINs and searches. So, I decided to run some experiments to see if I could improve performance.&lt;/p&gt;

&lt;p&gt;Here’s what I did:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I removed Node caching.&lt;/li&gt;
&lt;li&gt;I created indexes on 20+ columns across 5+ tables (my DB has a total of 103 columns in 5 tables).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result was surprising! After indexing, some of my more complex queries, involving multiple JOINs, were being executed in just 3-5 ms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Previously, with Node caching:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The first request used to take around 300-400 ms.&lt;/li&gt;
&lt;li&gt;Subsequent requests would take 2-5 ms (due to caching).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;After, with only SQLite indexes:&lt;/strong&gt;&lt;br&gt;
every requests only takes &lt;strong&gt;7-10 ms&lt;/strong&gt; without any caching.&lt;/p&gt;

&lt;p&gt;Now the queries are consistently fast, and this also reduced the server load! Initially, I was running my app on a DigitalOcean droplet with 4 GB of RAM and 4 vCPUs. But after optimizing the SQL queries, I can comfortably handle the same workload with just 2 GB of RAM and 2 vCPUs.&lt;/p&gt;

&lt;p&gt;I know this may sound simple, but proper SQL indexing made such a big difference in query performance that I no longer even need to rely on caching. 🚀&lt;/p&gt;

</description>
      <category>express</category>
      <category>javascript</category>
      <category>node</category>
    </item>
  </channel>
</rss>
