<?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: Dev Learning Tools</title>
    <description>The latest articles on DEV Community by Dev Learning Tools (@devlearningtools).</description>
    <link>https://dev.to/devlearningtools</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%2F4103123%2F53ba1908-d525-4843-bf04-4d51c280efb3.png</url>
      <title>DEV Community: Dev Learning Tools</title>
      <link>https://dev.to/devlearningtools</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/devlearningtools"/>
    <language>en</language>
    <item>
      <title>AI Coding Agents Explained (With a Real Example)</title>
      <dc:creator>Dev Learning Tools</dc:creator>
      <pubDate>Wed, 09 Sep 2026 17:48:16 +0000</pubDate>
      <link>https://dev.to/devlearningtools/ai-coding-agents-explained-with-a-real-example-12k2</link>
      <guid>https://dev.to/devlearningtools/ai-coding-agents-explained-with-a-real-example-12k2</guid>
      <description>&lt;p&gt;AI coding agents have moved past autocomplete: they can read an entire codebase, plan a multi-file change, write it, verify it, and ship it, mostly without step-by-step approval.&lt;/p&gt;

&lt;p&gt;I wrote up how that actually looks day to day, since this exact site (devlearningtools.com) is built entirely through a terminal agent (Claude Code): request comes in as plain language, agent reads the existing code first, plans the change, writes it, verifies with a real build, then commits and confirms it's live.&lt;/p&gt;

&lt;p&gt;Also compares Claude Code, Codex CLI, Gemini CLI, Cursor, Copilot, and Windsurf, plus a Common Mistakes section from real experience.&lt;/p&gt;

&lt;p&gt;Full writeup: &lt;a href="https://www.devlearningtools.com/blog/ai-coding-agents-explained" rel="noopener noreferrer"&gt;https://www.devlearningtools.com/blog/ai-coding-agents-explained&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Curious what everyone else's actual workflow looks like.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agentskills</category>
      <category>programming</category>
      <category>claude</category>
    </item>
    <item>
      <title>ColdFusion's September 2026 Security Update: What 2025 Update 13 and 2023 Update 24 Actually Fix</title>
      <dc:creator>Dev Learning Tools</dc:creator>
      <pubDate>Wed, 09 Sep 2026 12:55:36 +0000</pubDate>
      <link>https://dev.to/devlearningtools/coldfusions-september-2026-security-update-what-2025-update-13-and-2023-update-24-actually-fix-3730</link>
      <guid>https://dev.to/devlearningtools/coldfusions-september-2026-security-update-what-2025-update-13-and-2023-update-24-actually-fix-3730</guid>
      <description>&lt;p&gt;Adobe recently released ColdFusion (2025 release) Update 13 (build 2025.0.13.331960) and ColdFusion (2023 release) Update 24 (build 2023.0.24.330957) as a coordinated security update across both currently supported versions.&lt;/p&gt;

&lt;p&gt;According to the release notes, this update resolves critical, important, and moderate vulnerabilities that could lead to arbitrary code execution, arbitrary file system read, privilege escalation, security feature bypass, and memory exposure, tracked under security bulletin APSB26-119.&lt;/p&gt;

&lt;p&gt;Key changes include:&lt;/p&gt;

&lt;p&gt;SQL injection prevention —  and  now validate that table and procedure names are plain SQL identifiers before use.&lt;br&gt;
XSLT security hardening — XmlTransform() now blocks the collection() and uri-collection() functions, in addition to the existing restrictions on doc() and document().&lt;br&gt;
Stricter AJAX widget sanitization — dynamic content now requires GetSafeHTML() before rendering.&lt;br&gt;
Configurable deserialization limits — cfserialfilter.txt now supports settings for maximum array length, nesting depth, and total element count.&lt;br&gt;
If cfgridupdate or cfstoredproc build any part of a query from user-controllable input, or an app runs XmlTransform() against untrusted XSLT, those are the two areas worth checking first.&lt;/p&gt;

&lt;p&gt;Full writeup with version numbers and sources: &lt;a href="https://www.devlearningtools.com/blog/coldfusion-security-update-september-2026" rel="noopener noreferrer"&gt;https://www.devlearningtools.com/blog/coldfusion-security-update-september-2026&lt;/a&gt;&lt;/p&gt;

</description>
      <category>coldfusion</category>
      <category>cfml</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>MCP vs RAG Explained (Complete Beginner Guide with Architecture)</title>
      <dc:creator>Dev Learning Tools</dc:creator>
      <pubDate>Wed, 02 Sep 2026 18:56:33 +0000</pubDate>
      <link>https://dev.to/devlearningtools/mcp-vs-rag-explained-complete-beginner-guide-with-architecture-3hgd</link>
      <guid>https://dev.to/devlearningtools/mcp-vs-rag-explained-complete-beginner-guide-with-architecture-3hgd</guid>
      <description>&lt;p&gt;Two terms you'll keep hearing around modern AI assistants — RAG and MCP. Beginners often assume they're two versions of the same thing. They're not.&lt;/p&gt;

&lt;p&gt;The short version: RAG helps AI find information. MCP helps AI use tools.&lt;/p&gt;

&lt;p&gt;Think of AI as a new hire at your company. They're smart, but hit two walls immediately:&lt;/p&gt;

&lt;p&gt;They don't know your documents (HR policy, product manuals, customer records) — that's the gap RAG fills, by searching your actual current data before answering instead of guessing from stale training data.&lt;br&gt;
Even once they know the answer, they can't send an email or query a database on their own — that's the gap MCP fills, giving AI a standard way to call real tools (Gmail, a database, GitHub, a calendar) instead of a custom integration per app.&lt;br&gt;
RAG's pipeline: your question → an embedding model turns it into a vector → a vector database (Pinecone, Weaviate, pgvector) finds the closest-matching documents → the language model reads them and answers.&lt;/p&gt;

&lt;p&gt;MCP's pipeline: the AI client → an MCP client → an MCP server exposing a tool (filesystem, database, calendar) → the real software doing the work, with the result routed back.&lt;/p&gt;

&lt;p&gt;The best AI systems use both — RAG to know things, MCP to do things.&lt;/p&gt;

&lt;p&gt;I wrote up the full version with architecture diagrams for each: &lt;a href="https://www.devlearningtools.com/blog/mcp-vs-rag-explained" rel="noopener noreferrer"&gt;MCP vs RAG Explained&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>A Free ColdFusion Course With Something Most Tutorials Skip: Interview Questions</title>
      <dc:creator>Dev Learning Tools</dc:creator>
      <pubDate>Wed, 02 Sep 2026 18:15:59 +0000</pubDate>
      <link>https://dev.to/devlearningtools/a-free-coldfusion-course-with-something-most-tutorials-skip-interview-questions-3cil</link>
      <guid>https://dev.to/devlearningtools/a-free-coldfusion-course-with-something-most-tutorials-skip-interview-questions-3cil</guid>
      <description>&lt;p&gt;I've been building a free, structured ColdFusion course: &lt;a href="https://www.devlearningtools.com/learn/coldfusion" rel="noopener noreferrer"&gt;Learn ColdFusion&lt;/a&gt; — no signup, no paywall.&lt;/p&gt;

&lt;p&gt;It covers the basics (variables, loops, conditionals), collections (arrays, structs, queries, JSON), a full OOP module (CFCs, inheritance, polymorphism, interfaces), Application.cfc and scopes, and reusable code (custom tags, cfmodule, cfinclude).&lt;/p&gt;

&lt;p&gt;What makes it different from other CFML tutorials: every single lesson ends with interview questions on that topic — real questions, phrased the way they actually come up in interviews, not generic recap quizzes. There's even a dedicated Scopes Interview Questions page. I haven't found this depth of interview prep anywhere else in ColdFusion learning content online.&lt;/p&gt;

&lt;p&gt;If you've worked with ColdFusion, I'd love to know what topics you got asked about in interviews — happy to add them to the course.&lt;/p&gt;

</description>
      <category>coldfusion</category>
      <category>cfml</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Is ColdFusion Ready for AI in 2026? (Honest Take)</title>
      <dc:creator>Dev Learning Tools</dc:creator>
      <pubDate>Mon, 31 Aug 2026 18:00:06 +0000</pubDate>
      <link>https://dev.to/devlearningtools/is-coldfusion-ready-for-ai-in-2026-honest-take-284h</link>
      <guid>https://dev.to/devlearningtools/is-coldfusion-ready-for-ai-in-2026-honest-take-284h</guid>
      <description>&lt;p&gt;AI is changing how developers build software, but what does that mean for developers still maintaining ColdFusion/CFML applications? Is the language excluded from AI development, or just harder to search for?&lt;/p&gt;

&lt;p&gt;Short version: ColdFusion doesn't need its own AI model. It just needs to talk to one over an API, the same way it already talks to any other third-party service. That architecture works the same whether you're calling OpenAI, Gemini, or Anthropic.&lt;/p&gt;

&lt;p&gt;I wrote up the full breakdown covering document processing use cases, why the API call is actually the easy part (retrieval quality and evaluation matter way more), how the developer skillset is shifting, and where Lucee fits in.&lt;/p&gt;

&lt;p&gt;Full post here: &lt;a href="https://www.devlearningtools.com/blog/coldfusion-2025-ai-integration" rel="noopener noreferrer"&gt;https://www.devlearningtools.com/blog/coldfusion-2025-ai-integration&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Curious what others think, especially anyone who's actually tried wiring an LLM into a legacy CFML app.&lt;/p&gt;

</description>
      <category>coldfusion</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
