
		<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
			<channel>
				<title>TungDaDev&#39;s Blog – stories, insights &amp; ideas</title>
				<link>https://tungdadev.com/blog</link>
				<description>A personal space on the cloud where I document my programming journey, sharing lessons, insights and resources for fellow developers.</description>
				<language>en-us</language>
				<managingEditor>bthanhtung.ite@gmail.com (TungDaDev)</managingEditor>
				<webMaster>bthanhtung.ite@gmail.com (TungDaDev)</webMaster>
				<lastBuildDate>Tue, 19 Nov 2024 00:00:00 GMT</lastBuildDate>
				<atom:link href="https://tungdadev.com/tags/software-architecture/feed.xml" rel="self" type="application/rss+xml"/>
				
		<item>
			<guid>https://tungdadev.com/blog/abstract-pattern</guid>
			<title>abstract factory pattern</title>
			<link>https://tungdadev.com/blog/abstract-pattern</link>
			<description>Phân tích chuyên sâu Abstract Factory Pattern dưới góc nhìn Enterprise Solution Architect: Giải bài toán Vendor Lock-in trong Multi-Cloud, Xây dựng bộ trừu tượng hóa Blob Storage, Message Queue &amp; Secret Manager cho AWS/GCP, và Đánh đổi Lowest Common Denominator.</description>
			<pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>cloud-native</category><category>aws</category><category>gcp</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/api-gateway</guid>
			<title>kiến trúc API Gateway</title>
			<link>https://tungdadev.com/blog/api-gateway</link>
			<description>Phân tích chuyên sâu kiến trúc API Gateway trong hệ thống Microservices quy mô lớn: So sánh 3 kỳ phùng địch thủ Kong vs Spring Cloud Gateway vs Envoy, Thuật toán Distributed Rate Limiting Token Bucket với Redis Lua, Mô hình BFF và Khả năng tự phục hồi Circuit Breaker.</description>
			<pubDate>Thu, 04 Sep 2025 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>api-gateway</category><category>microservices</category><category>system-design</category><category>spring-cloud</category><category>software-architecture</category><category>devops</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/command-pattern</guid>
			<title>command pattern</title>
			<link>https://tungdadev.com/blog/command-pattern</link>
			<description>Phân tích toàn diện Command Pattern dưới góc nhìn Solution Architect: Bản chất biến động từ thành danh từ (Objectifying Actions), Kiến trúc Dual-Stack Undo/Redo kết hợp Memento, Sự tiến hóa sang CQRS (Command Query Responsibility Segregation) và Giao dịch bù trừ (Compensating Transactions) trong Saga.</description>
			<pubDate>Thu, 09 Jan 2025 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>cqrs</category><category>saga-pattern</category><category>software-architecture</category><category>system-design</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/criteria-api-in-hibernate</guid>
			<title>Criteria API trong Hibernate</title>
			<link>https://tungdadev.com/blog/criteria-api-in-hibernate</link>
			<description>Phân tích chuyên sâu kiến trúc xây dựng Dynamic Queries trong Java Enterprise: Hibernate 6 SQM, JPA Metamodel Generator, Spring Data Specification, Cạm bẫy Fetch Join N+1 và Ma trận so sánh 4 chiều với QueryDSL và jOOQ.</description>
			<pubDate>Thu, 12 Oct 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>criteria</category><category>hibernate</category><category>jpa</category><category>spring-data</category><category>database</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/cross-origin-basic</guid>
			<title>CORS &amp; CSRF</title>
			<link>https://tungdadev.com/blog/cross-origin-basic</link>
			<description>Phân tích toàn diện cơ chế bảo mật trình duyệt dưới góc nhìn Security Architect: Bản chất của Same-Origin Policy, Phân tích chi phí Preflight OPTIONS, Cạm bẫy Access-Control-Allow-Origin wildcard và Chiến lược tập trung hóa CORS tại API Gateway.</description>
			<pubDate>Thu, 22 Feb 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>security</category><category>cors</category><category>spring-security</category><category>api-gateway</category><category>system-design</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/decorator-pattern</guid>
			<title>decorator pattern</title>
			<link>https://tungdadev.com/blog/decorator-pattern</link>
			<description>Mổ xẻ chuyên sâu Decorator Pattern dưới góc nhìn Solution Architect: Vụ nổ lớp kế thừa (Class Explosion), So sánh Decorator thủ công vs Spring AOP Proxies (JDK vs CGLIB), Cạm bẫy Self-Invocation trong AOP và Bản thiết kế Resilient Caching Decorator chuẩn production.</description>
			<pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>spring-boot</category><category>aop</category><category>clean-code</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/facade-pattern</guid>
			<title>facade pattern</title>
			<link>https://tungdadev.com/blog/facade-pattern</link>
			<description>Phân tích toàn diện Facade Pattern dưới góc nhìn Solution Architect: Bản chất Định luật Demeter (Law of Demeter), Sự khác biệt sống còn giữa Facade vs Adapter vs Proxy vs Decorator, và Sự tiến hóa thành Anti-Corruption Layer (ACL trong DDD) khi bọc lõi Legacy Core Banking.</description>
			<pubDate>Thu, 28 Nov 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>microservices</category><category>domain-driven-design</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/factory-pattern</guid>
			<title>factory pattern</title>
			<link>https://tungdadev.com/blog/factory-pattern</link>
			<description>Phân tích toàn diện Factory Pattern dưới góc nhìn Solution Architect: Nghịch lý vi phạm Open/Closed Principle của Factory kinh điển, Kiến trúc Dynamic Bean Injection Map trong Spring Boot, Functional Factory với Java Supplier, và Phân biệt Factory Method vs Abstract Factory trong Multi-Cloud.</description>
			<pubDate>Thu, 05 Sep 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>spring-boot</category><category>clean-code</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/java-records</guid>
			<title>java records</title>
			<link>https://tungdadev.com/blog/java-records</link>
			<description>Mổ xẻ bản chất kiến trúc của Java Records: Bản giao kèo ngữ nghĩa Transparent Enclosure, Cơ chế Serialization miễn nhiễm lỗ hổng bảo mật, Pattern Matching với Sealed Types, Shallow vs Deep Immutability và Cạm bẫy khi dùng với JPA / Hibernate.</description>
			<pubDate>Sun, 30 Jul 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-architecture</category><category>jvm</category><category>system-design</category><category>spring-boot</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/java-string-buffer</guid>
			<title>string vs stringbuilder vs stringbuffer</title>
			<link>https://tungdadev.com/blog/java-string-buffer</link>
			<description>Phân tích chuyên sâu cơ chế chuỗi ký tự trong JVM: Cơ chế Compact Strings (JEP 254), Sự tiến hóa từ StringBuilder sang invokedynamic StringConcatFactory (JEP 280), Phân tích đánh đổi String vs StringBuilder vs StringBuffer, và Tối ưu hóa Lock Elision qua Escape Analysis.</description>
			<pubDate>Wed, 22 Feb 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>jvm</category><category>performance</category><category>optimization</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/java-string-pool</guid>
			<title>java string pool</title>
			<link>https://tungdadev.com/blog/java-string-pool</link>
			<description>Mổ xẻ tầng sâu cơ chế Native StringTable trong HotSpot JVM: Lịch sử dịch chuyển từ PermGen sang Java Heap, Cơ chế băm C++ HashTable O(1) vs O(N), Cạm bẫy tràn bộ nhớ của String.intern(), và Phân biệt String Interning với G1GC String Deduplication (JEP 192).</description>
			<pubDate>Wed, 15 Feb 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>jvm</category><category>memory-management</category><category>performance</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/java-thread-pool-executor-pool-size-control</guid>
			<title>threadpool executor pool size</title>
			<link>https://tungdadev.com/blog/java-thread-pool-executor-pool-size-control</link>
			<description>Phân tích toàn diện ThreadPoolExecutor dưới góc nhìn Solution Architect: Cơ chế biến bit ctl, Định luật Little &amp; Công thức Goetz tính toán Pool Size, Bẫy chết người Unbounded Queue OOM, Thread Starvation Deadlock và So sánh với Virtual Threads.</description>
			<pubDate>Sun, 12 Feb 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>concurrency</category><category>multithreading</category><category>system-design</category><category>optimization</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/llm-security-owasp</guid>
			<title>bảo mật LLM &amp; OWASP Top 10</title>
			<link>https://tungdadev.com/blog/llm-security-owasp</link>
			<description>Phân tích chuyên sâu kiến trúc an ninh thông tin cho hệ thống Generative AI &amp; Agentic Workflows: Bản chất nghịch lý Code-Data Plane, Ma trận tấn công OWASP Top 10 for LLM, Mô hình Dual-LLM Sandbox, Zero-Trust Tool Broker và Production Guardrails Defense-in-Depth.</description>
			<pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>ai</category><category>security</category><category>system-design</category><category>software-architecture</category><category>llm</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/observer-pattern</guid>
			<title>observer pattern</title>
			<link>https://tungdadev.com/blog/observer-pattern</link>
			<description>Mổ xẻ sự tiến hóa từ Observer Pattern kinh điển đến Kiến trúc Hướng Sự kiện (EDA): Tại sao java.util.Observable bị khai tử trong Java 9, Quản lý giao dịch với @TransactionalEventListener AFTER_COMMIT, Xử lý Backpressure trong Reactive Streams và So sánh với Apache Kafka.</description>
			<pubDate>Thu, 12 Dec 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>event-driven</category><category>spring-boot</category><category>reactive</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/one-to-one-relationship</guid>
			<title>@OneToOne trong JPA</title>
			<link>https://tungdadev.com/blog/one-to-one-relationship</link>
			<description>Phân tích chuyên sâu quan hệ @OneToOne trong Hibernate &amp; JPA: Tại sao FetchType.LAZY bị vô hiệu hóa trên Non-Owning side gây thảm họa N+1, Kiến trúc Khóa chính dùng chung (@MapsId), Kỹ thuật Bytecode Enhancement và Anti-pattern dùng Lombok @Data trên Entity.</description>
			<pubDate>Fri, 28 Jul 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>jpa</category><category>hibernate</category><category>spring-data</category><category>database</category><category>performance</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/optional</guid>
			<title>Optional trong Java</title>
			<link>https://tungdadev.com/blog/optional</link>
			<description>Phân tích toàn diện Java Optional dưới góc nhìn Solution Architect: Chi phí GC và Object Header 16-24 bytes, 6 Anti-Patterns kinh điển làm suy giảm hiệu năng hệ thống, Sự khác biệt sống còn giữa orElse và orElseGet, và Chuẩn mực Null-Safety với JSpecify.</description>
			<pubDate>Wed, 24 Jan 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>jvm</category><category>software-architecture</category><category>clean-code</category><category>optimization</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/rag-vs-finetuning-decision-matrix</guid>
			<title>RAG vs Fine-tuning</title>
			<link>https://tungdadev.com/blog/rag-vs-finetuning-decision-matrix</link>
			<description>Khi nào nên dùng RAG? Khi nào nên Fine-Tuning? Hiểu sai bản chất hai phương pháp này có thể thiêu rụi hàng trăm ngàn USD ngân sách GPU. Mổ xẻ bản chất bộ nhớ tham số, 7 trục đánh đổi kiến trúc, bài toán TCO và bản thiết kế kết hợp RAG + Specialized SLM chuẩn production.</description>
			<pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>ai</category><category>rag</category><category>fine-tuning</category><category>system-design</category><category>software-architecture</category><category>best-practices</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/singleton-pattern</guid>
			<title>singleton pattern</title>
			<link>https://tungdadev.com/blog/singleton-pattern</link>
			<description>Mổ xẻ tầng sâu Singleton Pattern dưới góc nhìn Solution Architect: Bản chất CPU Instruction Reordering đòi hỏi biến volatile trong Double-Checked Locking, 4 kỹ thuật phá vỡ Singleton (Reflection, Serialization, Clone, ClassLoader) và Sự tiến hóa sang Spring IoC Container Scope.</description>
			<pubDate>Thu, 22 Aug 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>jvm</category><category>concurrency</category><category>spring-boot</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/small-language-models</guid>
			<title>Small Language Models (SLM)</title>
			<link>https://tungdadev.com/blog/small-language-models</link>
			<description>Phân tích chuyên sâu kiến trúc Small Language Models (1B - 8B) dưới góc nhìn Solution Architect: Toán học tính toán VRAM &amp; KV-Cache, Cơ chế lượng tử hóa (AWQ vs GGUF), Dynamic Multi-LoRA Serving trên vLLM, Kiến trúc phân tầng Compound AI và bài toán TCO ROI.</description>
			<pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>ai</category><category>slm</category><category>system-design</category><category>optimization</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/spring-ai-1.1.1</guid>
			<title>spring ai và kiến trúc rag</title>
			<link>https://tungdadev.com/blog/spring-ai-1.1.1</link>
			<description>Phân tích chuyên sâu kiến trúc Spring AI 1.x dưới góc nhìn Solution Architect: ChatClient Fluent API, Chuỗi Advisors, VectorStore Hybrid Search, Function Calling, Observability với OpenTelemetry và Resilience Pattern chống Rate-limiting.</description>
			<pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>spring-ai</category><category>software-architecture</category><category>rag</category><category>llm</category><category>system-design</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/spring-boot-auto-configuration</guid>
			<title>Spring Boot Auto-configuration</title>
			<link>https://tungdadev.com/blog/spring-boot-auto-configuration</link>
			<description>Phân tích toàn diện cơ chế ma thuật của Spring Boot Auto-Configuration: Phân tích tầng sâu AutoConfigurationImportSelector &amp; ASM Bytecode Reader, Trật tự nạp DeferredImportSelector, Sự chuyển đổi từ spring.factories sang AutoConfiguration.imports trong Spring Boot 3, và Cẩm nang thiết kế Custom Starter chuẩn production.</description>
			<pubDate>Fri, 15 Sep 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>spring-boot</category><category>java</category><category>software-architecture</category><category>jvm</category><category>system-design</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/spring-profiles</guid>
			<title>spring profiles và externalized config</title>
			<link>https://tungdadev.com/blog/spring-profiles</link>
			<description>Phân tích chuyên sâu kiến trúc quản trị cấu hình trong Spring Boot: Nguyên lý 12-Factor Config, Thứ tự ưu tiên 17 tầng PropertySource, Cơ chế spring.config.import (Spring Boot 2.4+), Tích hợp HashiCorp Vault &amp; Kubernetes ConfigMaps và Hot-Reload với @RefreshScope.</description>
			<pubDate>Wed, 11 Oct 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>spring-boot</category><category>devops</category><category>kubernetes</category><category>software-architecture</category><category>system-design</category><category>security</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/strategy-pattern</guid>
			<title>strategy pattern</title>
			<link>https://tungdadev.com/blog/strategy-pattern</link>
			<description>Phân tích toàn diện Strategy Pattern dưới góc nhìn Solution Architect: Phân biệt bản chất Strategy vs State vs Template Method, Sự thay thế của Java Functional Interfaces loại bỏ class bừa bãi, và Kiến trúc Dynamic Promotion Engine trong Spring Boot.</description>
			<pubDate>Thu, 26 Dec 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>spring-boot</category><category>clean-code</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/zero-downtime-database-migration-expand-contract</guid>
			<title>zero-downtime database migration</title>
			<link>https://tungdadev.com/blog/zero-downtime-database-migration-expand-contract</link>
			<description>Cẩm nang toàn diện của Database Solution Architect về Zero-Downtime Migration: Phân tích ma trận AccessExclusiveLock, Chiến lược Expand-Contract 5 pha, Kỹ thuật Dark Launching Shadow Reads, Throttled Keyset Backfill và So sánh gh-ost vs pg_repack.</description>
			<pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>database</category><category>system-design</category><category>flyway</category><category>postgresql</category><category>mysql</category><category>zero-downtime</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
			</channel>
		</rss>
	