<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>BeBestDev</title><description>Crafting Better Software, One Day at a Time</description><link>https://bebestdev.com/</link><item><title>Application Layer ใน Clean Architecture: UseCase ที่ดีควรมีแค่นี้</title><link>https://bebestdev.com/articles/dotnet/application-layer-clean-architecture/</link><guid isPermaLink="true">https://bebestdev.com/articles/dotnet/application-layer-clean-architecture/</guid><description>Application Layer คือชั้น Orchestration ใน Clean Architecture — อธิบาย UseCase, Mapper และ Command/Query pattern พร้อมตัวอย่าง C# ที่แยก I/O ออกจาก Logic อย่างชัดเจน</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Core Layer ใน Clean Architecture: โครงสร้าง .NET ที่ Scale ได้จริง</title><link>https://bebestdev.com/articles/dotnet/core-layer-clean-architecture/</link><guid isPermaLink="true">https://bebestdev.com/articles/dotnet/core-layer-clean-architecture/</guid><description>Core Layer คือ Domain Layer ใน Clean Architecture — อธิบายวิธีจัด project structure ด้วย Feature-first, UseCase-based Repository และ CQRS พร้อมตัวอย่าง C# ที่ใช้งานได้จริง</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate></item><item><title>DataResponse: ออกแบบ HTTP Response Contract ที่ทุก Client ใช้ได้</title><link>https://bebestdev.com/articles/system-design/bonus-data-response/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/bonus-data-response/</guid><description>DataResponse&lt;T&gt; คือ HTTP Response Contract กลางของระบบ — แก้ปัญหา response format ต่างกันและ HTTP client field ต่างกัน ด้วย two-step unwrap พร้อม code จริงที่ใช้ได้ทั้ง backend และ frontend</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Swap HTTP Client Library TypeScript: เปลี่ยน axios เป็น fetch โดยไม่แตะ UseCase</title><link>https://bebestdev.com/articles/system-design/scale-ready-architecture-06-bonus/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/scale-ready-architecture-06-bonus/</guid><description>implement InventoryRemoteAxiosClient และ InventoryRemoteFetchClient ด้วย DataResponse&lt;T&gt; pass-through — เห็นความต่าง error handling, timeout, streaming และ swap ที่ Composition Root บรรทัดเดียว</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>HTTP Client TypeScript: ออกแบบ share-client ให้ Swap ได้โดยไม่แตะ UseCase</title><link>https://bebestdev.com/articles/system-design/scale-ready-architecture-06/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/scale-ready-architecture-06/</guid><description>ออกแบบ share-client ใน Modular Monolith ด้วย axios + ServiceClient Interface จาก share-core — group ตาม Provider BC, ไม่มี transform, swap HTTP↔Internal ได้ที่ Composition Root โดย UseCase ไม่รู้เลย</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Prerequisite 3: Clean Architecture + Hexagonal Architecture — แปลง Tactical Design เป็น Code Architecture</title><link>https://bebestdev.com/articles/system-design/prerequisite-03-clean-hexagonal-architecture/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/prerequisite-03-clean-hexagonal-architecture/</guid><description>เข้าใจ Clean Architecture และ Hexagonal Architecture ตั้งแต่ที่มา รู้ความต่าง รู้ว่าเลือกใช้เมื่อไร และเข้าใจว่า Tactical Design Building Blocks วางในโครงสร้าง Layer จริงยังไง</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>DDD Tactical Design — ออกแบบ Business Solution ที่ Dev แปลงเป็น Code ได้ทันที</title><link>https://bebestdev.com/articles/system-design/prerequisite-02-ddd-tactical-design/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/prerequisite-02-ddd-tactical-design/</guid><description>รู้จัก Entity, Value Object, Aggregate, Repository, Domain Service และ Application Service — หลักการสำหรับออกแบบ Domain Model ภายใน Bounded Context โดยไม่ผูกติดกับ Technology</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Prerequisite 1: DDD Strategic Design — แบ่งระบบให้ถูกก่อนเขียนโค้ดบรรทัดแรก</title><link>https://bebestdev.com/articles/system-design/prerequisite-01-ddd-strategic-design/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/prerequisite-01-ddd-strategic-design/</guid><description>เข้าใจ Domain, Bounded Context, Ubiquitous Language และ Context Mapping ผ่านมุมมองของ Dev, EM และ BA — ก่อนลงมือสร้างระบบที่ scale ได้จริง</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Test Strategy สำหรับ Data Layer: Mock, Fixture และ Describe Structure</title><link>https://bebestdev.com/articles/system-design/scale-ready-architecture-05/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/scale-ready-architecture-05/</guid><description>เจาะลึก Unit Test Strategy ของ Data Layer — วิธี mock PrismaClient ด้วย dbclient.mock.ts, ออกแบบ Fixture แบบ state-based, mock level ต่อ component และ configure Jest สำหรับ share-data</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate></item><item><title>AI Agent คืออะไร? พื้นฐาน LLM และ Tool Calling</title><link>https://bebestdev.com/articles/ai-agent/level-0-ai-foundation/</link><guid isPermaLink="true">https://bebestdev.com/articles/ai-agent/level-0-ai-foundation/</guid><description>เรียนรู้พื้นฐาน AI Agent ตั้งแต่ศูนย์ — LLM คืออะไร, Chatbot(Generative AI) ต่างจาก AI Agent ยังไง และ Tool Calling ทำงานอย่างไร อ่านแล้วเข้าใจได้เลยโดยไม่ต้องมีครู</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate></item><item><title>AI Agent ทำงานยังไง: Single Agent</title><link>https://bebestdev.com/articles/ai-agent/level-1-single-agent-foundation/</link><guid isPermaLink="true">https://bebestdev.com/articles/ai-agent/level-1-single-agent-foundation/</guid><description>เรียนรู้ว่า AI Agent ทำงานอย่างไร ตั้งแต่ Agent Loop, ส่วนประกอบ, Memory System ไปจนถึง Tool Design และ Safety Model — อ่านจบแล้วสร้าง Agent เองได้เลย</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate></item><item><title>ติดตั้ง .NET บน VSCode แบบไม่ง้อ C# DevKit (Mac/Ubuntu)</title><link>https://bebestdev.com/articles/dotnet/dotnet-vscode-setup-guide/</link><guid isPermaLink="true">https://bebestdev.com/articles/dotnet/dotnet-vscode-setup-guide/</guid><description>คู่มือครบจบสำหรับทีมที่ใช้ GitHub Copilot — ติดตั้ง .NET SDK, จัดการ version, ตั้งค่า extensions ฟรี และพัฒนา Backend ได้ประสบการณ์เทียบเท่า Visual Studio</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Source Map คืออะไร และตั้งค่าอย่างไรใน Production</title><link>https://bebestdev.com/articles/typescript/source-map-production-guide/</link><guid isPermaLink="true">https://bebestdev.com/articles/typescript/source-map-production-guide/</guid><description>เรียนรู้วิธีตั้งค่า Source Map สำหรับ TypeScript และ Node.js Production ครอบคลุม linked, inline, inlineSources และการแก้ปัญหา pnpm workspace symlink</description><pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate></item><item><title>วิธีใช้ GitHub Copilot Chat: Ask, Plan, Agent Mode</title><link>https://bebestdev.com/articles/ai-adoption/github-copilot-chat-guide/</link><guid isPermaLink="true">https://bebestdev.com/articles/ai-adoption/github-copilot-chat-guide/</guid><description>คู่มือภาษาไทยใช้งาน GitHub Copilot Chat ใน VS Code ครอบคลุม Ask, Plan, Agent Mode, Context Window และ Prompt Engineering สำหรับ AI Coding</description><pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate></item><item><title>GitHub Copilot ตอบไม่ตรงงาน? ตั้งค่า 5 จุดก่อนใช้กับ Monorepo</title><link>https://bebestdev.com/articles/ai-adoption/github-copilot-customization-guide/</link><guid isPermaLink="true">https://bebestdev.com/articles/ai-adoption/github-copilot-customization-guide/</guid><description>ก่อนโทษว่า Copilot ยังไม่เก่ง ลองเช็ก 5 จุดสำคัญในการตั้งค่า Custom Instructions, Prompts, Skills, MCP, Agents รวมถึง monorepo structure และการ delegate งานให้ subagent</description><pubDate>Wed, 11 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Delivery Team ต้องทำอะไร ในวันที่ AI สร้าง Product ได้</title><link>https://bebestdev.com/articles/ai-adoption/ai-spec-workflow/</link><guid isPermaLink="true">https://bebestdev.com/articles/ai-adoption/ai-spec-workflow/</guid><description>เรียนรู้ 6 Phases สร้าง AI-Spec ที่ทำให้ AI Coding Agent implement feature แทน Dev ได้จริง พร้อมบทบาทของทุก Role ใน Product Delivery Team ที่ชัดเจนในแต่ละขั้นตอน</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate></item><item><title>`record` ใน C# ไม่ได้ Immutable จริงๆ — กับดัก Shallow Immutability ที่โปรแกรมเมอร์ส่วนใหญ่ยังไม่รู้</title><link>https://bebestdev.com/articles/dotnet/immutabledata/</link><guid isPermaLink="true">https://bebestdev.com/articles/dotnet/immutabledata/</guid><description>เจาะลึก sealed record, IReadOnlyList vs IImmutableList, Structural Sharing และ Value Object ใน DDD พร้อม Code ที่ใช้งานจริงใน Production ครบในที่เดียว</description><pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate></item><item><title>SDLC Agile × AI Agent — Naming &amp; File Mapping</title><link>https://bebestdev.com/articles/ai-adoption/sdlc-agile-to-ai-spec/</link><guid isPermaLink="true">https://bebestdev.com/articles/ai-adoption/sdlc-agile-to-ai-spec/</guid><description>Spec การ map โครงสร้าง SDLC แบบ Agile เข้ากับโครงสร้างไฟล์ที่ AI Agent เข้าใจได้ ครอบคลุม Epic, Feature, Story, Task, Subtask และโครงสร้างโฟลเดอร์ plan/</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>หลักการเขียน PLAN.md สำหรับ AI Agent</title><link>https://bebestdev.com/articles/ai-adoption/plan-writing-guide/</link><guid isPermaLink="true">https://bebestdev.com/articles/ai-adoption/plan-writing-guide/</guid><description>อธิบายหลักการและเหตุผลของแต่ละส่วนใน PLAN.md เพื่อให้ทั้ง Human และ AI Agent เข้าใจตรงกัน ครอบคลุม Goal, Scope, Out of Scope, Stories และ Tasks</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>ตั้งค่า Playwright MCP สำหรับ Browser Testing ใน VS Code Agent</title><link>https://bebestdev.com/articles/ai-adoption/playwright-mcp-browser-testing/</link><guid isPermaLink="true">https://bebestdev.com/articles/ai-adoption/playwright-mcp-browser-testing/</guid><description>คู่มือติดตั้งและใช้งาน Playwright MCP เพื่อให้ AI Agent ตรวจสอบหน้า browser ได้โดยตรง รวมถึง screenshot, คลิก, ตรวจ console errors และ redirect</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>คู่มือ Bundle Library สำหรับ TypeScript/JavaScript</title><link>https://bebestdev.com/articles/typescript/bundling-guide/</link><guid isPermaLink="true">https://bebestdev.com/articles/typescript/bundling-guide/</guid><description>คู่มือครอบคลุม Tree Shaking, Code Splitting, Multi Entry Point, Source Map และ Declaration Files สำหรับการ bundle library ด้วย TypeScript/JavaScript ให้มีประสิทธิภาพสูงสุด</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Test Strategy: ทำที่ Layer ไหน ทำแค่ไหนพอ</title><link>https://bebestdev.com/articles/system-design/scale-ready-architecture-03/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/scale-ready-architecture-03/</guid><description>Test Matrix, Mock Strategy และ Fixture vs Seed Data ใน Modular Monolith — mental model เรื่อง testing ที่ทุก layer ของ series นี้ใช้ร่วมกัน</description><pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Abstraction Layer TypeScript: ออกแบบ Contract ที่ไม่มี Type ซ้ำ</title><link>https://bebestdev.com/articles/system-design/scale-ready-architecture-02/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/scale-ready-architecture-02/</guid><description>ออกแบบ Abstraction Layer ใน Modular Monolith ด้วย contract.type.ts, Repository Interface และ Pick&lt;&gt; inline — ไม่มี type ซ้ำซ้อน ใช้ได้จริงใน TypeScript + Nx</description><pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Data Layer Test Strategy</title><link>https://bebestdev.com/articles/system-design/data-layer-test-strategy/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/data-layer-test-strategy/</guid><description>Data Layer testing strategy using Action-Based Structure. Unit tests only with Jest, mock PrismaClient, 1 test file per action.</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Action-Based Structure Design for Data Layer</title><link>https://bebestdev.com/articles/system-design/action-based-structure-design/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/action-based-structure-design/</guid><description>การออกแบบ Data Layer โดยใช้ Action เป็นหลัก align กับ Abstraction Layer โดยแยก command/query และ Entry ทำหน้าที่เป็น Data Access Provider</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Scale-Ready Architecture: Modular Monolith ที่แยกได้ตั้งแต่วันแรก</title><link>https://bebestdev.com/articles/system-design/scale-ready-architecture-01/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/scale-ready-architecture-01/</guid><description>หลักการออกแบบ Modular Monolith บน Nx Monorepo ด้วย Hexagonal Architecture, Clean Architecture, CQRS และ DDD เริ่มง่าย scale ได้โดยไม่ต้อง refactor ครั้งใหญ่</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Data Layer Pattern: share-data และ Action-Based Structure</title><link>https://bebestdev.com/articles/system-design/scale-ready-architecture-04/</link><guid isPermaLink="true">https://bebestdev.com/articles/system-design/scale-ready-architecture-04/</guid><description>ออกแบบ Data Layer ด้วย Action-Based Structure — Entry, Task, flows, DAF และ data.logic ที่ implement repository pattern ใน TypeScript อย่างถูกต้อง</description><pubDate>Wed, 01 Oct 2025 00:00:00 GMT</pubDate></item></channel></rss>