<?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: milad</title>
    <description>The latest articles on DEV Community by milad (@miladrezanezhad).</description>
    <link>https://dev.to/miladrezanezhad</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3932602%2Fdf0efde5-6e2b-4a94-a0be-cdfc3934305e.jpeg</url>
      <title>DEV Community: milad</title>
      <link>https://dev.to/miladrezanezhad</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/miladrezanezhad"/>
    <language>en</language>
    <item>
      <title>The Programmer’s Journey: An Illustrated Path to Mastery</title>
      <dc:creator>milad</dc:creator>
      <pubDate>Tue, 09 Jun 2026 06:50:56 +0000</pubDate>
      <link>https://dev.to/miladrezanezhad/the-programmers-journey-an-illustrated-path-to-mastery-412c</link>
      <guid>https://dev.to/miladrezanezhad/the-programmers-journey-an-illustrated-path-to-mastery-412c</guid>
      <description>&lt;p&gt;Have you ever felt like the world of programming is an endless, shifting maze? Every day, there are new languages, frameworks, and technologies popping up. But if we were to zoom out and visualize this grand adventure, what would the landscape look like?&lt;/p&gt;

&lt;p&gt;The image at the top of this post, the &lt;strong&gt;"Programmer’s Journey,"&lt;/strong&gt; is a metaphor for the evolution of a developer—from a novice standing in the forest of basics to an architect standing on the mountain peak of mastery. Let's explore the landscape.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Fundamentals Forest: Where Roots Take Hold
&lt;/h2&gt;

&lt;p&gt;Every great journey begins with a single step. At the bottom of our map lies the "Fundamentals Forest." This is the proving ground where every great programmer starts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Programming Logic:&lt;/strong&gt; Mastering the art of algorithmic thinking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Structures &amp;amp; Algorithms:&lt;/strong&gt; The essential pillars that allow you to solve complex problems efficiently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Core Languages:&lt;/strong&gt; Starting tools like Python, JavaScript, HTML, and CSS that provide the foundation for everything to come.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. The Great Fork in the Road: Choosing Your Path
&lt;/h2&gt;

&lt;p&gt;As you progress, the path splits, forcing you to choose your area of expertise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Back-end Kingdom:&lt;/strong&gt; If you are drawn to logic, database management, server architecture, and complex systems, this road leads you to the powerful Server Citadels.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Front-end City:&lt;/strong&gt; If you are passionate about design, user experience (UI/UX), and creating the interactive visual world, you enter a vibrant city built on skyscrapers of technology like React and Vue.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. The Systems Deep: For the Adventurous Souls
&lt;/h2&gt;

&lt;p&gt;Not every developer chooses the high-level path. Some prefer to dive deep into the bedrock—the "Hardware Dungeons" and "Assembly Archives." This is the realm for those who want to understand exactly what happens beneath the hood of the machine. It is a challenging, darker path, but it grants a profound understanding of how computers truly function.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The Zenith of Mastery: The Architect’s Hub
&lt;/h2&gt;

&lt;p&gt;Where is the ultimate destination? The peak of the mountain! Here, the focus shifts from syntax and libraries to higher-level thinking. At the &lt;strong&gt;"Architect’s Hub,"&lt;/strong&gt; a developer evolves into a &lt;strong&gt;Software Architect&lt;/strong&gt;. This is where you master:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Software Architecture:&lt;/strong&gt; Designing robust, scalable, and maintainable systems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Team Leadership:&lt;/strong&gt; Mentoring others and guiding large-scale projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Innovation:&lt;/strong&gt; Combining deep technical knowledge with creativity to build the future.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Final Thoughts
&lt;/h3&gt;

&lt;p&gt;This map reminds us that programming is not just about writing code; it is a &lt;strong&gt;journey&lt;/strong&gt;. You might get stuck in the "Fundamentals Forest" for a while, or get lost in the bustling "Front-end City," and that’s perfectly normal. The most important thing is to understand where you are and keep moving forward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where do you stand on this map right now?&lt;/strong&gt; Are you still traversing the forest, or are you currently building castles in the Back-end Kingdom? Let me know in the comments—I’d love to hear about the biggest challenges you're facing in your learning journey!&lt;/p&gt;

</description>
      <category>programmingjourney</category>
      <category>softwareengineering</category>
      <category>codelife</category>
      <category>developercommunity</category>
    </item>
    <item>
      <title>Built a GitHub Dashboard so I don't have to update my portfolio manually anymore</title>
      <dc:creator>milad</dc:creator>
      <pubDate>Sat, 06 Jun 2026 10:33:51 +0000</pubDate>
      <link>https://dev.to/miladrezanezhad/built-a-github-dashboard-so-i-dont-have-to-update-my-portfolio-manually-anymore-4hhn</link>
      <guid>https://dev.to/miladrezanezhad/built-a-github-dashboard-so-i-dont-have-to-update-my-portfolio-manually-anymore-4hhn</guid>
      <description>&lt;p&gt;The problem&lt;/p&gt;

&lt;p&gt;I hate updating my portfolio.&lt;/p&gt;

&lt;p&gt;Every time I push a new project, I have to manually add it to my portfolio website. Update the description, the tech stack, the link. It's boring. It's repetitive. I kept "forgetting" to do it.&lt;/p&gt;

&lt;p&gt;So I stopped.&lt;/p&gt;

&lt;p&gt;The solution&lt;/p&gt;

&lt;p&gt;Build something that does it for me.&lt;/p&gt;

&lt;p&gt;GitHub Developer Dashboard — a live portfolio that pulls everything straight from GitHub. No manual updates. No excuses.&lt;/p&gt;

&lt;p&gt;What it looks like&lt;/p&gt;

&lt;p&gt;Live GitHub data (repos, stars, followers) • Contribution graph • Smart project filtering • Language breakdown • Clean dark UI&lt;/p&gt;

&lt;p&gt;Tech stack&lt;/p&gt;

&lt;p&gt;· React 18&lt;br&gt;
· Vite (because I'm impatient)&lt;br&gt;
· TailwindCSS&lt;br&gt;
· GitHub REST API&lt;/p&gt;

&lt;p&gt;How it works&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You drop your GitHub username and token in .env&lt;/li&gt;
&lt;li&gt;The dashboard fetches your repos, stars, followers, contribution data&lt;/li&gt;
&lt;li&gt;It caches everything so you don't hit rate limits&lt;/li&gt;
&lt;li&gt;Updates in real-time when you push new code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why I like it&lt;/p&gt;

&lt;p&gt;· Zero maintenance — push to GitHub, it just shows up&lt;br&gt;
· Actually useful — I can see my language stats without digging through API docs&lt;br&gt;
· Looks decent — dark mode, cyber-inspired, not an eye sore&lt;/p&gt;

&lt;p&gt;What I learned&lt;/p&gt;

&lt;p&gt;· GitHub API rate limits are annoying (use a token, kids)&lt;br&gt;
· Caching is your best friend&lt;br&gt;
· Vite is stupid fast compared to CRA&lt;/p&gt;

&lt;p&gt;Check it out&lt;/p&gt;

&lt;p&gt;🔗 GitHub: &lt;a href="https://github.com/miladrezanezhad/GitHub-Developer-Dashboard" rel="noopener noreferrer"&gt;https://github.com/miladrezanezhad/GitHub-Developer-Dashboard&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⭐ Star if you're tired of manual portfolios too.&lt;/p&gt;

&lt;p&gt;What's next?&lt;/p&gt;

&lt;p&gt;· Search for any GitHub user (not just yourself)&lt;br&gt;
· More filtering options&lt;br&gt;
· Maybe a light mode? (if people really want it)&lt;/p&gt;

&lt;p&gt;Drop your thoughts below. Or roast my code. Either way. 👇&lt;/p&gt;

</description>
      <category>react</category>
      <category>github</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I got tired of manually testing API rate limits, so I built a tool</title>
      <dc:creator>milad</dc:creator>
      <pubDate>Sat, 30 May 2026 14:02:35 +0000</pubDate>
      <link>https://dev.to/miladrezanezhad/i-got-tired-of-manually-testing-api-rate-limits-so-i-built-a-tool-2hb8</link>
      <guid>https://dev.to/miladrezanezhad/i-got-tired-of-manually-testing-api-rate-limits-so-i-built-a-tool-2hb8</guid>
      <description>&lt;p&gt;So here's the thing.&lt;/p&gt;

&lt;p&gt;I was working on an API the other day — just a small internal tool — and I realized I had no idea if it had rate limiting or not. Like, at all.&lt;/p&gt;

&lt;p&gt;I sent 200 requests in a loop with a bash script (don't judge me) and... nothing. No 429, no blocking, just happy 200s. My little API was basically begging to get brute-forced.&lt;/p&gt;

&lt;p&gt;That's when I thought: there has to be a better way than writing a janky script every single time.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;API Security Auditor Pro&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does it actually do?
&lt;/h2&gt;

&lt;p&gt;It's just a CLI tool. Nothing fancy. You give it a URL, it does three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tests for rate limiting&lt;/strong&gt; — sends a bunch of requests and checks if you ever get a 429. If not? That's a red flag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Checks security headers&lt;/strong&gt; — you know, HSTS, CSP, all those things we forget to add.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Looks for weird stuff&lt;/strong&gt; — like APIs returning way too much data or missing auth checks.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nothing revolutionary. Just the boring stuff that actually matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's why I like it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It's fast.&lt;/strong&gt; Like, really fast. No heavy setup, no cloud nonsense.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker support.&lt;/strong&gt; Because who wants to install Python dependencies at 2 AM? &lt;code&gt;docker run ...&lt;/code&gt; and you're done.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Output formats you can actually use.&lt;/strong&gt; JSON for scripts, HTML for sending to managers who want "reports".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD ready.&lt;/strong&gt; I threw it in a GitHub Action and now it runs every night. Found a staging API with no rate limiting on day 2.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Show me the code already
&lt;/h2&gt;

&lt;p&gt;Fine. Here you go:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install it&lt;/span&gt;
pip &lt;span class="nb"&gt;install &lt;/span&gt;api-security-auditor-pro

&lt;span class="c"&gt;# Test a public API (no rate limiting — oops)&lt;/span&gt;
api-auditor test-rate-limit https://jsonplaceholder.typicode.com/users

&lt;span class="c"&gt;# Try it on GitHub's API (they actually do it right)&lt;/span&gt;
api-auditor test-rate-limit https://api.github.com/users/octocat &lt;span class="nt"&gt;--requests&lt;/span&gt; 100

&lt;span class="c"&gt;# Save a report for your boss&lt;/span&gt;
api-auditor scan https://your-api.com &lt;span class="nt"&gt;--output&lt;/span&gt; report.json &lt;span class="nt"&gt;--format&lt;/span&gt; json
api-auditor report report.json &lt;span class="nt"&gt;--output&lt;/span&gt; look_how_secure_we_are.html
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Real talk — does it work?
&lt;/h2&gt;

&lt;p&gt;I tested it on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub API&lt;/strong&gt; → ✅ Has rate limiting (returns 429 like a champ)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSONPlaceholder&lt;/strong&gt; → ❌ No rate limiting at all (classic)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A random e-commerce API I found&lt;/strong&gt; → ❌ No rate limiting AND missing security headers. Yikes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So yeah. It finds problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;I just released v1.0. It's stable, it works, and I actually use it on my own projects.&lt;/p&gt;

&lt;p&gt;Future stuff I'm thinking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication support (Bearer tokens, API keys)&lt;/li&gt;
&lt;li&gt;GraphQL support&lt;/li&gt;
&lt;li&gt;More vulnerability checks (OWASP Top 10 for APIs)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links (because you're going to ask anyway)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/miladrezanezhad/api-security-auditor-pro" rel="noopener noreferrer"&gt;miladrezanezhad/api-security-auditor-pro&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyPI:&lt;/strong&gt; &lt;code&gt;pip install api-security-auditor-pro&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker:&lt;/strong&gt; &lt;code&gt;docker pull miladrezanezhad/api-security-auditor-pro&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  One last thing
&lt;/h2&gt;

&lt;p&gt;If you try it and it breaks — open an issue. If you like it — drop a star. If you have ideas — I'm all ears.&lt;/p&gt;

&lt;p&gt;I built this because I needed it. But maybe you do too.&lt;/p&gt;

&lt;p&gt;Go audit your APIs. You might be surprised.&lt;/p&gt;

&lt;p&gt;— Milad&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; The tool won't attack your API. It just sends normal requests and looks at responses. Safe enough for production (but maybe test on staging first, yeah?).&lt;/p&gt;

</description>
      <category>python</category>
      <category>api</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Web Security Analyzer Pro v3.0 — I built 49 security modules, but I need your help</title>
      <dc:creator>milad</dc:creator>
      <pubDate>Fri, 15 May 2026 07:54:03 +0000</pubDate>
      <link>https://dev.to/miladrezanezhad/web-security-analyzer-pro-v30-i-built-49-security-modules-but-i-need-your-help-41gl</link>
      <guid>https://dev.to/miladrezanezhad/web-security-analyzer-pro-v30-i-built-49-security-modules-but-i-need-your-help-41gl</guid>
      <description>&lt;p&gt;👇 &lt;strong&gt;The honest truth&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Three months ago, I started building a web security scanner.&lt;br&gt;&lt;br&gt;
Today, it has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;49 security modules&lt;/strong&gt; (WordPress, cPanel, SQLi, XSS, SSL, API security, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advanced SQL injection detection&lt;/strong&gt; (error-based, boolean blind, time-based, UNION)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WAF evasion engine&lt;/strong&gt; (detects 9 WAFs + Cloudflare, Sucuri, ModSecurity)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in CVE database&lt;/strong&gt; (2024–2026 vulnerabilities with CVSS scores)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML, PDF, Markdown, JSON reports&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;230+ automated tests&lt;/strong&gt; (99.5% pass rate)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And it's &lt;strong&gt;completely free and open source&lt;/strong&gt; under MIT license.&lt;/p&gt;

&lt;p&gt;But here's the part I don't put in the README:&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;🐛 It's not perfect. And I need help.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is a &lt;strong&gt;one-person project&lt;/strong&gt;. I've tested it on dozens of targets, but:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some modules fail on edge cases I haven't seen&lt;/li&gt;
&lt;li&gt;The SQLi detector works great on MySQL, less tested on PostgreSQL&lt;/li&gt;
&lt;li&gt;DOM XSS detection needs more real-world validation&lt;/li&gt;
&lt;li&gt;The evasion engine works against 9 WAFs — but new WAFs appear every week&lt;/li&gt;
&lt;li&gt;I'm sure there are bugs I don't even know about&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;I'm not looking for praise. I'm looking for people who will break this tool and tell me how.&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;🎯 Who this tool is for&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web developers&lt;/strong&gt; who want to audit their own sites before deployment&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security researchers&lt;/strong&gt; who need a free, scriptable scanner&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Penetration testers&lt;/strong&gt; who want a second opinion alongside Burp/ZAP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DevOps engineers&lt;/strong&gt; who need CI/CD integration (REST API + JSON output)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Students&lt;/strong&gt; learning web security (the code is open, modules are simple)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What this tool is NOT:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A replacement for Burp Suite Pro or Acunetix&lt;/li&gt;
&lt;li&gt;A zero-day finder&lt;/li&gt;
&lt;li&gt;An automated hacker machine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's a &lt;strong&gt;free, honest scanner&lt;/strong&gt; that catches low-hanging fruit and helps you understand your security posture.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;🛠️ How you can help&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Run it on your sites&lt;/strong&gt; (with permission — read the LEGAL WARNING first)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open an issue&lt;/strong&gt; when it crashes, misses something, or gives a false positive&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Send a pull request&lt;/strong&gt; for a bug fix or new module&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Share your test results&lt;/strong&gt; — even failures help me improve&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The code is modular. Adding a new module takes ~50 lines. The Wiki has templates.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;📦 Quick start&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/miladrezanezhad/web-security-scanner-pro.git
&lt;span class="nb"&gt;cd &lt;/span&gt;web-security-scanner-pro
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
python main.py scan https://your-test-site.com &lt;span class="nt"&gt;--mode&lt;/span&gt; stealth
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or just run &lt;code&gt;python main.py&lt;/code&gt; for interactive mode.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;⚠️ One more honest thing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm a frontend developer who fell into security.&lt;br&gt;&lt;br&gt;
Some modules are better than others. Some code is messy.&lt;br&gt;&lt;br&gt;
But I ship it anyway — because someone else might need it, even if it's not perfect.&lt;/p&gt;

&lt;p&gt;Open source isn't about flawless code. It's about building together.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;🔗 GitHub:&lt;/strong&gt; &lt;a href="https://github.com/miladrezanezhad/web-security-scanner-pro" rel="noopener noreferrer"&gt;miladrezanezhad/web-security-scanner-pro&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#websecurity #opensource #bugbounty #python #infosec #helpneeded&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>security</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
