<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>SouvenirList</title><description>Your go-to resource for tech insights, tutorials, reviews, and tools.</description><link>https://souvenirlist.com/</link><language>en-us</language><item><title>gRPC vs REST in 2026: When to Pick Each for Service-to-Service APIs</title><link>https://souvenirlist.com/blog/grpc-vs-rest-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/grpc-vs-rest-2026/</guid><description>A 2026 comparison of gRPC vs REST — performance, schema, browser support, observability, and the workloads where each protocol actually wins.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>gRPC</category><category>REST</category><category>API design</category><category>microservices</category><category>Protocol Buffers</category></item><item><title>React Compiler in 2026: Auto-Memoization, Performance Wins, and Migration Notes</title><link>https://souvenirlist.com/blog/react-compiler-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/react-compiler-2026/</guid><description>How the React Compiler works in 2026 — what it auto-memoizes, the rules it enforces, real performance gains, and the migration steps for existing codebases.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>React Compiler</category><category>React 19</category><category>memoization</category><category>useMemo</category><category>performance</category></item><item><title>Zustand vs Jotai vs Redux Toolkit in 2026: When to Pick Each State Manager</title><link>https://souvenirlist.com/blog/zustand-vs-jotai-vs-redux-toolkit-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/zustand-vs-jotai-vs-redux-toolkit-2026/</guid><description>A practical 2026 comparison of Zustand, Jotai, and Redux Toolkit — bundle size, DX, atom vs store models, and when each React state manager actually wins.</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Zustand</category><category>Jotai</category><category>Redux Toolkit</category><category>React state</category><category>state management</category></item><item><title>Tailwind CSS v4 Migration in 2026: Engine Rewrite, Config &amp; Real-World Gotchas</title><link>https://souvenirlist.com/blog/tailwind-css-v4-migration-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/tailwind-css-v4-migration-2026/</guid><description>A practical 2026 guide to migrating from Tailwind CSS v3 to v4 — the Oxide engine, CSS-first config, plugin compatibility, and the gotchas that bite mid-port.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Tailwind CSS</category><category>v4 migration</category><category>CSS</category><category>frontend</category><category>build performance</category></item><item><title>TanStack Query vs SWR in 2026: Cache, Mutations &amp; DX Compared</title><link>https://souvenirlist.com/blog/tanstack-query-vs-swr-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/tanstack-query-vs-swr-2026/</guid><description>A practical 2026 comparison of TanStack Query vs SWR — cache mechanics, mutation handling, devtools, bundle size, and the React workloads where each one wins.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>TanStack Query</category><category>SWR</category><category>React data fetching</category><category>cache</category><category>React</category></item><item><title>Vitest vs Jest in 2026: Speed, ESM, and the Migration Path</title><link>https://souvenirlist.com/blog/vitest-vs-jest-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/vitest-vs-jest-2026/</guid><description>A 2026 comparison of Vitest vs Jest — speed benchmarks, ESM-first architecture, mock APIs, and the incremental migration path that doesn&apos;t break CI.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Vitest</category><category>Jest</category><category>testing</category><category>ESM</category><category>TypeScript</category></item><item><title>Drizzle ORM vs Prisma in 2026: Type Safety, Bundle Size, and Query DX Compared</title><link>https://souvenirlist.com/blog/drizzle-vs-prisma-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/drizzle-vs-prisma-2026/</guid><description>A practical 2026 comparison of Drizzle ORM vs Prisma — type inference, bundle size, query performance, migrations, and the workloads where each ORM wins.</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Drizzle ORM</category><category>Prisma</category><category>TypeScript ORM</category><category>database</category><category>SQL</category></item><item><title>Astro vs Next.js for Content Sites in 2026: Build Time, Bundle Size &amp; DX</title><link>https://souvenirlist.com/blog/astro-vs-next-js-content-sites-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/astro-vs-next-js-content-sites-2026/</guid><description>A 2026 comparison of Astro vs Next.js for content-heavy sites — build time, bundle size, islands vs RSC, and the workloads where each framework wins.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Astro</category><category>Next.js</category><category>static site generation</category><category>React Server Components</category><category>content sites</category></item><item><title>Biome vs ESLint + Prettier in 2026: Real-World Migration Notes</title><link>https://souvenirlist.com/blog/biome-vs-eslint-prettier-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/biome-vs-eslint-prettier-2026/</guid><description>A practical 2026 comparison of Biome vs ESLint + Prettier — speed, rule coverage, plugin ecosystem gaps, and the migration path that actually works.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Biome</category><category>ESLint</category><category>Prettier</category><category>JavaScript tooling</category><category>TypeScript</category></item><item><title>Turbo vs Nx for TypeScript Monorepos in 2026: Cache, DX, and When to Pick Each</title><link>https://souvenirlist.com/blog/turbo-vs-nx-monorepo-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/turbo-vs-nx-monorepo-2026/</guid><description>A practical 2026 comparison of Turborepo vs Nx for TypeScript monorepos — remote cache, task graphs, generators, and the migration cost each choice locks in.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Turborepo</category><category>Nx</category><category>monorepo</category><category>TypeScript</category><category>build tools</category></item><item><title>Zod vs Valibot in 2026: Schema Validation Bundle Size and DX Compared</title><link>https://souvenirlist.com/blog/zod-vs-valibot-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/zod-vs-valibot-2026/</guid><description>A practical 2026 comparison of Zod vs Valibot — bundle size, tree-shaking, inference quality, runtime cost, and the workloads where each validator wins.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Zod</category><category>Valibot</category><category>schema validation</category><category>TypeScript</category><category>bundle size</category></item><item><title>Bun vs Node.js in 2026: Real-World Production Benchmarks for API Servers</title><link>https://souvenirlist.com/blog/bun-vs-node-js-production-benchmarks-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/bun-vs-node-js-production-benchmarks-2026/</guid><description>A practical 2026 comparison of Bun vs Node.js for production API servers — cold start, RPS, memory, and the ecosystem gaps still worth knowing about.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Bun</category><category>Node.js</category><category>JavaScript runtime</category><category>API server</category><category>performance benchmarks</category></item><item><title>Cloudflare Workers vs AWS Lambda in 2026: Latency, Cost, and When to Pick Each</title><link>https://souvenirlist.com/blog/cloudflare-workers-vs-aws-lambda-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/cloudflare-workers-vs-aws-lambda-2026/</guid><description>A 2026 comparison of Cloudflare Workers vs AWS Lambda — cold starts, edge latency, pricing, runtime limits, and the workloads where each platform wins.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>Cloudflare Workers</category><category>AWS Lambda</category><category>serverless</category><category>edge computing</category><category>cold start</category></item><item><title>Postgres Partitioning for Time-Series Data in 2026: Range, List, and Hash Compared</title><link>https://souvenirlist.com/blog/postgres-partitioning-time-series-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/postgres-partitioning-time-series-2026/</guid><description>A 2026 guide to Postgres partitioning for time-series workloads — range vs list vs hash strategies, automation with pg_partman, and the traps to avoid.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>Postgres</category><category>partitioning</category><category>time-series</category><category>pg_partman</category><category>database performance</category></item><item><title>Server-Sent Events vs WebSockets in 2026: When SSE Is the Right Choice</title><link>https://souvenirlist.com/blog/server-sent-events-vs-websockets-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/server-sent-events-vs-websockets-2026/</guid><description>A practical 2026 comparison of Server-Sent Events vs WebSockets — protocol differences, scaling trade-offs, and the workloads where SSE wins.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Server-Sent Events</category><category>WebSockets</category><category>real-time</category><category>HTTP streaming</category><category>backend</category></item><item><title>Claude Agent SDK Memory Tool in 2026: Persistent Context That Survives /clear</title><link>https://souvenirlist.com/blog/claude-agent-sdk-memory-tool-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/claude-agent-sdk-memory-tool-2026/</guid><description>How the Claude Agent SDK memory tool keeps context across sessions — file-based memory patterns, trade-offs vs prompt caching, and a working Python setup.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>Claude Agent SDK</category><category>memory tool</category><category>AI agents</category><category>prompt caching</category><category>Claude API</category></item><item><title>Claude Haiku 4.5 in Production: Cost, Latency &amp; Quality vs Sonnet 4.6 (2026)</title><link>https://souvenirlist.com/blog/claude-haiku-4-5-production-benchmarks-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/claude-haiku-4-5-production-benchmarks-2026/</guid><description>A practical look at Claude Haiku 4.5 for production — per-million-token cost, latency, and where it holds up against Sonnet 4.6 in 2026.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>Claude Haiku 4.5</category><category>Anthropic API</category><category>LLM production</category><category>cost optimization</category><category>model selection</category></item><item><title>Claude Opus 4.7 1M Context Window: Cost, Latency &amp; When to Use It (2026)</title><link>https://souvenirlist.com/blog/claude-opus-4-7-1m-context-window-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/claude-opus-4-7-1m-context-window-2026/</guid><description>Opus 4.7 1M context in 2026: real per-million-token cost structure, latency scaling, and the three workloads where it actually earns its keep.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>Claude Opus 4.7</category><category>1M context</category><category>Anthropic API</category><category>LLM</category><category>prompt caching</category></item><item><title>Claude Skills vs MCP Servers in 2026: Which to Use for Each Job</title><link>https://souvenirlist.com/blog/claude-skills-vs-mcp-servers-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/claude-skills-vs-mcp-servers-2026/</guid><description>Claude Skills vs MCP servers in 2026 — what each actually does, when to use which, performance and cost trade-offs, and a concrete decision rubric for builders.</description><pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>Claude Skills vs MCP servers</category><category>Claude Agent SDK</category><category>Model Context Protocol</category><category>AI engineering</category><category>Anthropic</category></item><item><title>Claude API Prompt Caching in 2026: How to Cut LLM Costs by 90%</title><link>https://souvenirlist.com/blog/claude-api-prompt-caching-90-percent-savings-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/claude-api-prompt-caching-90-percent-savings-2026/</guid><description>A hands-on guide to Claude API prompt caching in 2026 — how cache_control works, what to cache, the TTL trade-offs, and the bugs that quietly void your cache.</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>Claude API</category><category>prompt caching</category><category>LLM cost optimization</category><category>Anthropic SDK</category><category>AI engineering</category></item><item><title>RAG Chunking Strategies Compared: Fixed-Size vs Semantic vs Agentic in 2026</title><link>https://souvenirlist.com/blog/rag-chunking-strategies-compared-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/rag-chunking-strategies-compared-2026/</guid><description>Compare fixed-size, semantic, and agentic chunking for RAG pipelines. Benchmarks, trade-offs, and when each strategy actually improves retrieval quality.</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>rag chunking strategies</category><category>retrieval augmented generation</category><category>semantic chunking</category><category>agentic chunking</category></item><item><title>Structured Output Streaming with Claude 4.6 and Zod: A Practical Guide</title><link>https://souvenirlist.com/blog/claude-structured-output-zod-streaming-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/claude-structured-output-zod-streaming-2026/</guid><description>How to stream structured JSON output from Claude 4.6 using the Anthropic SDK and Zod validation, with real code for partial parsing and error recovery.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>claude structured output zod streaming</category><category>anthropic sdk</category><category>llm structured output</category><category>zod validation</category></item><item><title>Dockerfile Multi-Stage Builds for Node.js: Cutting Image Size by 80%</title><link>https://souvenirlist.com/blog/dockerfile-multi-stage-build-nodejs-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/dockerfile-multi-stage-build-nodejs-2026/</guid><description>How to use Docker multi-stage builds to shrink Node.js production images from 1GB+ to under 150MB, with real Dockerfiles and benchmark numbers.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>dockerfile multi-stage build nodejs</category><category>docker optimization</category><category>nodejs docker</category><category>container image size</category></item><item><title>GitHub Actions Self-Hosted Runners on ARM64: Setup and Cost Savings</title><link>https://souvenirlist.com/blog/github-actions-arm64-self-hosted-runners-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/github-actions-arm64-self-hosted-runners-2026/</guid><description>How to set up GitHub Actions self-hosted runners on ARM64 instances, with real cost comparisons, Docker multi-arch builds, and performance benchmarks.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>github actions arm64 self-hosted runners</category><category>ci/cd</category><category>arm64</category><category>github actions cost</category></item><item><title>pgvector vs Pinecone for RAG in 2026: Cost and Latency Breakdown</title><link>https://souvenirlist.com/blog/pgvector-vs-pinecone-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/pgvector-vs-pinecone-2026/</guid><description>Head-to-head comparison of pgvector and Pinecone for production RAG in 2026 — indexing, latency, cost per million vectors, and when each one wins.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>pgvector vs pinecone 2026</category><category>rag</category><category>vector database</category><category>postgres</category></item><item><title>SQLite vs PostgreSQL for Side Projects in 2026: When to Use Which</title><link>https://souvenirlist.com/blog/sqlite-vs-postgres-for-side-projects-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/sqlite-vs-postgres-for-side-projects-2026/</guid><description>SQLite vs PostgreSQL for side projects in 2026. Performance, deployment, cost comparison and the crossover point where you should switch databases.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>sqlite vs postgres side projects</category><category>database choice</category><category>sqlite</category><category>postgresql</category></item><item><title>Claude Code Hooks: Pre-Commit Lint Automation Guide (2026)</title><link>https://souvenirlist.com/blog/claude-code-hooks-pre-commit-lint-2026/</link><guid isPermaLink="true">https://souvenirlist.com/blog/claude-code-hooks-pre-commit-lint-2026/</guid><description>A hands-on guide to Claude Code hooks for pre-commit lint automation — block bad commits, auto-format code, and standardize a team&apos;s AI-assisted workflow.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>Claude Code</category><category>hooks</category><category>pre-commit</category><category>lint</category><category>automation</category></item><item><title>Building a Custom MCP Server for Postgres Schema Introspection</title><link>https://souvenirlist.com/blog/custom-mcp-server-postgres-schema-introspection/</link><guid isPermaLink="true">https://souvenirlist.com/blog/custom-mcp-server-postgres-schema-introspection/</guid><description>Build a custom MCP server for Postgres schema introspection so Claude Code can read your database structure without shipping raw credentials.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>MCP</category><category>Model Context Protocol</category><category>Claude Code</category><category>Postgres</category><category>schema introspection</category></item><item><title>OpenTelemetry Auto-Instrumentation for Node.js in 2026: A Practical Setup Guide</title><link>https://souvenirlist.com/blog/opentelemetry-nodejs-auto-instrumentation/</link><guid isPermaLink="true">https://souvenirlist.com/blog/opentelemetry-nodejs-auto-instrumentation/</guid><description>OpenTelemetry Node.js auto-instrumentation — how to wire traces, metrics, and logs into a Node service in under 30 minutes, plus the gotchas the docs skip.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>OpenTelemetry</category><category>Node.js</category><category>observability</category><category>distributed tracing</category><category>DevOps</category></item><item><title>GraphQL API Design: REST의 한계에서 출발해 GraphQL을 도입하고 돌아온 여정</title><link>https://souvenirlist.com/blog/graphql-api-design-journey/</link><guid isPermaLink="true">https://souvenirlist.com/blog/graphql-api-design-journey/</guid><description>REST API의 Over-fetching, Under-fetching 문제를 해결하기 위해 GraphQL을 도입한 실전 경험. Schema 설계부터 N+1 해결까지 스토리텔링으로 풀어냅니다.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>graphql</category><category>rest-api</category><category>api-design</category><category>backend</category><category>schema-design</category><category>dataloader</category></item><item><title>Infrastructure as Code with Terraform: 수동 인프라 관리에서 코드형 인프라로의 여정</title><link>https://souvenirlist.com/blog/infrastructure-as-code-terraform-journey/</link><guid isPermaLink="true">https://souvenirlist.com/blog/infrastructure-as-code-terraform-journey/</guid><description>AWS 콘솔 클릭 지옥에서 벗어나 Terraform으로 인프라를 코드화한 실전 경험. HCL 문법부터 GitOps 워크플로우까지 스토리텔링으로 풀어냅니다.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>terraform</category><category>infrastructure-as-code</category><category>devops</category><category>aws</category><category>cloud</category><category>gitops</category></item><item><title>Zero Downtime Deployment: 다운타임 배포의 공포에서 무중단 배포로의 여정</title><link>https://souvenirlist.com/blog/zero-downtime-deployment-strategies/</link><guid isPermaLink="true">https://souvenirlist.com/blog/zero-downtime-deployment-strategies/</guid><description>Rolling Update, Blue-Green, Canary 등 무중단 배포 전략을 실전 경험과 함께 풀어냅니다. Kubernetes 기반 배포 자동화까지.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>zero-downtime</category><category>deployment</category><category>blue-green</category><category>canary</category><category>kubernetes</category><category>devops</category><category>rolling-update</category></item><item><title>Event-Driven Architecture: 동기 지옥에서 벗어나 시스템을 변화시킨 여정</title><link>https://souvenirlist.com/blog/event-driven-architecture-journey/</link><guid isPermaLink="true">https://souvenirlist.com/blog/event-driven-architecture-journey/</guid><description>동기 방식의 한계를 넘어 Event-Driven Architecture를 도입한 실전 경험. Kafka, RabbitMQ 활용법과 설계 패턴을 스토리텔링으로 풀어냅니다.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>event-driven architecture</category><category>kafka</category><category>rabbitmq</category><category>backend</category><category>system design</category><category>microservices</category><category>async</category></item><item><title>Webhook Design Patterns: How I Built a System That Never Loses an Event</title><link>https://souvenirlist.com/blog/webhook-design-patterns-reliable/</link><guid isPermaLink="true">https://souvenirlist.com/blog/webhook-design-patterns-reliable/</guid><description>Learn reliable webhook patterns including retry strategies, idempotency, signature verification, and dead letter queues with production code examples.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>webhooks</category><category>backend</category><category>api</category><category>system design</category><category>event-driven</category><category>reliability</category></item><item><title>Backend System Design Principles I Learned After Years of Production Failures</title><link>https://souvenirlist.com/blog/backend-system-design-principles/</link><guid isPermaLink="true">https://souvenirlist.com/blog/backend-system-design-principles/</guid><description>Core backend design principles: separation of concerns, statelessness, idempotency, and graceful degradation with real failure stories.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>backend</category><category>system design</category><category>architecture</category><category>software engineering</category><category>best practices</category></item><item><title>Database Design Patterns: How I Choose Between SQL and NoSQL for Every Project</title><link>https://souvenirlist.com/blog/database-design-patterns-sql-nosql/</link><guid isPermaLink="true">https://souvenirlist.com/blog/database-design-patterns-sql-nosql/</guid><description>A practical decision framework for choosing between SQL and NoSQL databases. Covers PostgreSQL, MongoDB, DynamoDB, and Redis with real-world tradeoffs.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>database</category><category>sql</category><category>nosql</category><category>postgresql</category><category>mongodb</category><category>system design</category><category>backend</category></item><item><title>Load Testing and Performance Optimization: How We Prepared Our Backend for 100K Concurrent Users</title><link>https://souvenirlist.com/blog/load-testing-performance-optimization/</link><guid isPermaLink="true">https://souvenirlist.com/blog/load-testing-performance-optimization/</guid><description>Load testing with k6, identifying bottlenecks like N+1 queries and connection pool exhaustion, and optimizing for high traffic.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>load testing</category><category>performance</category><category>optimization</category><category>k6</category><category>backend</category><category>scalability</category><category>system design</category></item><item><title>Monolith to Microservices: My Real Migration Story and What I Would Do Differently</title><link>https://souvenirlist.com/blog/monolith-to-microservices-migration/</link><guid isPermaLink="true">https://souvenirlist.com/blog/monolith-to-microservices-migration/</guid><description>Practical guide to migrating from monolith to microservices with strangler fig pattern, domain boundaries, and real lessons.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>microservices</category><category>monolith</category><category>system design</category><category>migration</category><category>architecture</category><category>backend</category></item><item><title>Agentic AI Frameworks Compared: Best Options for 2026</title><link>https://souvenirlist.com/blog/agentic-ai-frameworks/</link><guid isPermaLink="true">https://souvenirlist.com/blog/agentic-ai-frameworks/</guid><description>Compare the top agentic AI frameworks — LangGraph, CrewAI, AutoGen, and more. Benchmarks, code examples, and use-case recommendations.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>agentic ai</category><category>ai frameworks</category><category>langgraph</category><category>crewai</category><category>autogen</category><category>ai agents</category></item><item><title>Kubernetes Orchestration Guide: From Zero to Production</title><link>https://souvenirlist.com/blog/kubernetes-orchestration-guide/</link><guid isPermaLink="true">https://souvenirlist.com/blog/kubernetes-orchestration-guide/</guid><description>Learn kubernetes orchestration from scratch. This guide covers architecture, deployments, scaling, and 2026 features like Gateway API.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>Cloud &amp; DevOps</category><category>kubernetes</category><category>container orchestration</category><category>docker</category><category>devops</category><category>cloud</category></item><item><title>Multi-Agent AI Frameworks Compared: CrewAI vs AutoGen vs LangGraph</title><link>https://souvenirlist.com/blog/multi-agent-ai-framework-compared/</link><guid isPermaLink="true">https://souvenirlist.com/blog/multi-agent-ai-framework-compared/</guid><description>Compare top multi-agent AI frameworks including CrewAI, AutoGen, LangGraph, Agno, and OpenAI Swarm to find the best fit for your project.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>AI &amp; Machine Learning</category><category>multi-agent AI</category><category>CrewAI</category><category>AutoGen</category><category>LangGraph</category><category>AI frameworks</category><category>Python</category></item><item><title>REST API Design Patterns Every Developer Should Know in 2026</title><link>https://souvenirlist.com/blog/rest-api-design-patterns/</link><guid isPermaLink="true">https://souvenirlist.com/blog/rest-api-design-patterns/</guid><description>Master essential REST API design patterns with practical code examples. Covers naming, versioning, pagination, caching, error handling, and security.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>Programming</category><category>rest api</category><category>api design</category><category>design patterns</category><category>api best practices</category><category>web development</category><category>backend</category></item><item><title>CI/CD Pipeline Architecture: How Automating Deployments Eliminated Our Weekend Hotfixes</title><link>https://souvenirlist.com/blog/cicd-pipeline-architecture/</link><guid isPermaLink="true">https://souvenirlist.com/blog/cicd-pipeline-architecture/</guid><description>Design CI/CD pipelines from scratch with GitHub Actions. Covers build, test, deploy stages, blue-green deployments, canary releases, and infrastructure as code.</description><pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>cicd</category><category>devops</category><category>github actions</category><category>deployment</category><category>backend</category><category>automation</category></item><item><title>Building Observable Backend Systems: The Monitoring Setup That Catches Bugs Before Users Do</title><link>https://souvenirlist.com/blog/backend-observability-monitoring/</link><guid isPermaLink="true">https://souvenirlist.com/blog/backend-observability-monitoring/</guid><description>Build observable backend systems with structured logging, Prometheus metrics, and OpenTelemetry distributed tracing.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>observability</category><category>monitoring</category><category>logging</category><category>prometheus</category><category>grafana</category><category>backend</category><category>system design</category></item><item><title>API Rate Limiting Design: What I Learned After a Traffic Spike Took Down Our Service</title><link>https://souvenirlist.com/blog/api-rate-limiting-design/</link><guid isPermaLink="true">https://souvenirlist.com/blog/api-rate-limiting-design/</guid><description>Design effective API rate limiting with token bucket, sliding window, and fixed window algorithms. Redis implementation included.</description><pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>rate limiting</category><category>api</category><category>backend</category><category>redis</category><category>system design</category><category>scalability</category></item><item><title>JWT Authentication Done Right: Security Mistakes I Made So You Don&apos;t Have To</title><link>https://souvenirlist.com/blog/jwt-authentication-system-design/</link><guid isPermaLink="true">https://souvenirlist.com/blog/jwt-authentication-system-design/</guid><description>Design secure JWT authentication with access/refresh tokens, httpOnly cookies, token revocation, and OAuth 2.0 integration.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>jwt</category><category>authentication</category><category>security</category><category>oauth</category><category>backend</category><category>system design</category></item><item><title>Message Queue Architecture: Why I Switched from RabbitMQ to Kafka and When You Should Not</title><link>https://souvenirlist.com/blog/message-queue-kafka-rabbitmq/</link><guid isPermaLink="true">https://souvenirlist.com/blog/message-queue-kafka-rabbitmq/</guid><description>Compare RabbitMQ and Kafka for message queue architecture. Covers event-driven patterns, consumer groups, and dead letter queues.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>kafka</category><category>rabbitmq</category><category>message queue</category><category>event-driven</category><category>backend</category><category>system design</category></item><item><title>Redis Caching Strategies That Cut My API Response Time by 90%</title><link>https://souvenirlist.com/blog/redis-caching-strategies-backend/</link><guid isPermaLink="true">https://souvenirlist.com/blog/redis-caching-strategies-backend/</guid><description>Practical Redis caching patterns: cache-aside, write-through, write-behind, TTL strategies, and cache invalidation with results.</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate><category>Backend Engineering</category><category>redis</category><category>caching</category><category>performance</category><category>backend</category><category>api</category><category>system design</category></item></channel></rss>