<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Sql on JsonKit Blog</title>
    <link>https://jsokit.com/blog/tags/sql/</link>
    <description>Recent content in Sql on JsonKit Blog</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© 2025 JsonKit</copyright>
    <lastBuildDate>Sat, 02 May 2026 13:32:23 +0000</lastBuildDate>
    <atom:link href="https://jsokit.com/blog/tags/sql/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>From String Concatenation to Parameterized Queries: Building a Safe SQL Builder</title>
      <link>https://jsokit.com/blog/posts/from-string-concatenation-to-parameterized-queries-building-a-safe-sql-builder/</link>
      <pubDate>Sat, 02 May 2026 13:32:23 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/from-string-concatenation-to-parameterized-queries-building-a-safe-sql-builder/</guid>
      <description>From String Concatenation to Parameterized Queries: Building a Safe SQL Builder During a recent code review, I found this pattern scattered throughout the codebase:&#xA;const sql = `SELECT * FROM users WHERE id = ${userId}` Convenient? Yes. Secure? Absolutely not. This is a textbook SQL injection vulnerability. If userId comes from user input and someone passes &#39; OR &#39;1&#39;=&#39;1, your entire users table is compromised.&#xA;I decided to build a SQL query builder tool that generates common queries quickly while avoiding the security pitfalls of manual SQL writing.</description>
    </item>
    <item>
      <title>Building Docker Compose Configs from Scratch: Engineering Practices for Service Orchestration</title>
      <link>https://jsokit.com/blog/posts/building-docker-compose-configs-from-scratch-engineering-practices-for-service-orchestration/</link>
      <pubDate>Mon, 09 Feb 2026 19:15:54 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/building-docker-compose-configs-from-scratch-engineering-practices-for-service-orchestration/</guid>
      <description>Building Docker Compose Configs from Scratch: Engineering Practices for Service Orchestration Recently deployed a full-stack project requiring Nginx + Node.js + MySQL + Redis working together. Hand-writing docker-compose.yml revealed how easy it is to mess up port mappings, volume mounts, environment variables, and service dependencies. So I built a generator and revisited Docker Compose core concepts.&#xA;Core Technology of YAML Generation Docker Compose configuration is essentially YAML-formatted service orchestration. The core data structure:</description>
    </item>
  </channel>
</rss>
