<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Browsing Posts on ToiDB</title>
    <link>https://www.toidang.xyz/posts/</link>
    <description>Recent content in Browsing Posts on ToiDB</description>
    <image>
      <title>ToiDB</title>
      <url>https://www.toidang.xyz/web/static/og-cv-1200x630-v2.png</url>
      <link>https://www.toidang.xyz/web/static/og-cv-1200x630-v2.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 14 Nov 2026 12:38:20 +0700</lastBuildDate>
    <atom:link href="https://www.toidang.xyz/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AbortController in JavaScript</title>
      <link>https://www.toidang.xyz/posts/2025/04/09/abortcontroller-in-javascript/</link>
      <pubDate>Wed, 09 Apr 2025 10:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2025/04/09/abortcontroller-in-javascript/</guid>
      <description>Learn how to use AbortController in JavaScript to manage and cancel asynchronous operations.</description>
    </item>
    <item>
      <title>What is CRC32 Checksum?</title>
      <link>https://www.toidang.xyz/posts/2024/12/10/what-is-crc32-checksum/</link>
      <pubDate>Tue, 10 Dec 2024 13:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/12/10/what-is-crc32-checksum/</guid>
      <description>CRC32 is a checksum algorithm that is used to detect errors in data transmission. In this article, we will explore the basics of CRC32, how it works, and some common applications.</description>
    </item>
    <item>
      <title>Checksum Algorithms: Importance of Security and Common Vulnerabilities</title>
      <link>https://www.toidang.xyz/posts/2024/12/09/checksum-algorithms-importance-of-security-and-common-vulnerabilities/</link>
      <pubDate>Mon, 09 Dec 2024 13:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/12/09/checksum-algorithms-importance-of-security-and-common-vulnerabilities/</guid>
      <description>Checksum algorithms are used to detect errors in data transmission and storage. In this article, we will explore the importance of security in checksum algorithms and some common security vulnerabilities.</description>
    </item>
    <item>
      <title>The Many Spatial Indexes of PostGIS</title>
      <link>https://www.toidang.xyz/posts/2024/08/27/the-many-spatial-indexes-of-postgis/</link>
      <pubDate>Tue, 27 Aug 2024 16:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/08/27/the-many-spatial-indexes-of-postgis/</guid>
      <description>PostGIS is a powerful extension to the PostgreSQL database that adds support for spatial data types and functions. In this article, we will explore the different spatial indexes that are available in PostGIS and how they can be used to optimize spatial queries.</description>
    </item>
    <item>
      <title>R-tree vs. Quadtree: A Comparison</title>
      <link>https://www.toidang.xyz/posts/2024/08/27/r-tree-vs.-quadtree-a-comparison/</link>
      <pubDate>Tue, 27 Aug 2024 15:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/08/27/r-tree-vs.-quadtree-a-comparison/</guid>
      <description>R-trees and quadtrees are tree data structures used to represent multi-dimensional spatial data. In this article, we will compare the two data structures, explore their differences, and discuss their common applications.</description>
    </item>
    <item>
      <title>What is Quadtree?</title>
      <link>https://www.toidang.xyz/posts/2024/08/27/what-is-quadtree/</link>
      <pubDate>Tue, 27 Aug 2024 14:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/08/27/what-is-quadtree/</guid>
      <description>A quadtree is a tree data structure that is used to represent a two-dimensional space. In this article, we will explore the basics of quadtree, how they work, and some common applications.</description>
    </item>
    <item>
      <title>What is R-Tree?</title>
      <link>https://www.toidang.xyz/posts/2024/08/27/what-is-r-tree/</link>
      <pubDate>Tue, 27 Aug 2024 13:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/08/27/what-is-r-tree/</guid>
      <description>An R-tree is a tree data structure that is used to represent multi-dimensional spatial data. In this article, we will explore the basics of R-tree, how they work, and some common applications.</description>
    </item>
    <item>
      <title>The Difference Between Concurrency and Parallelism</title>
      <link>https://www.toidang.xyz/posts/2024/08/13/the-difference-between-concurrency-and-parallelism/</link>
      <pubDate>Tue, 13 Aug 2024 18:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/08/13/the-difference-between-concurrency-and-parallelism/</guid>
      <description>Concurrency and parallelism are two terms that are often used interchangeably, but they are not the same thing. In this article, we will explore the differences between the two concepts and how they are related.</description>
    </item>
    <item>
      <title>gRPC vs Apache Thrift: A Comparison</title>
      <link>https://www.toidang.xyz/posts/2024/08/12/grpc-vs-apache-thrift-a-comparison/</link>
      <pubDate>Mon, 12 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/08/12/grpc-vs-apache-thrift-a-comparison/</guid>
      <description>A comparison of gRPC and Apache Thrift, two popular RPC frameworks.</description>
    </item>
    <item>
      <title>Ruby tap() vs yield_self()</title>
      <link>https://www.toidang.xyz/posts/2024/08/03/ruby-tap-vs-yield_self/</link>
      <pubDate>Sat, 03 Aug 2024 03:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/08/03/ruby-tap-vs-yield_self/</guid>
      <description>Ruby&amp;rsquo;s tap and yield_self methods are two powerful tools that can be used to chain method calls and transform data in a functional programming style. In this article, we will discuss how tap and yield_self work, and how they can be used in real-world scenarios.</description>
    </item>
    <item>
      <title>OLTP vs OLAP</title>
      <link>https://www.toidang.xyz/posts/2024/07/29/oltp-vs-olap/</link>
      <pubDate>Mon, 29 Jul 2024 03:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/29/oltp-vs-olap/</guid>
      <description>OLTP and OLAP are two types of databases that are optimized for different types of workloads. In this article, we will discuss the differences between OLTP and OLAP systems, their characteristics, and how they are used in real-world scenarios.</description>
    </item>
    <item>
      <title>Nginx Stream Module: A Quick Guide</title>
      <link>https://www.toidang.xyz/posts/2024/07/20/nginx-stream-module-a-quick-guide/</link>
      <pubDate>Sat, 20 Jul 2024 04:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/20/nginx-stream-module-a-quick-guide/</guid>
      <description>A quick guide to the Nginx Stream module: enabling it, proxying and load balancing TCP/UDP traffic, TLS termination, and how it differs from the HTTP module.</description>
    </item>
    <item>
      <title>Some Algorithms Based on Divide and Conquer Principles in Ruby - Part 3</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-3/</link>
      <pubDate>Sat, 13 Jul 2024 15:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-3/</guid>
      <description>Explore algorithms based on divide and conquer principles in Ruby, including Kruskal&amp;rsquo;s algorithm for minimum spanning tree, line intersection, and parallel algorithms for connected components, with examples and implementations.</description>
    </item>
    <item>
      <title>Some Algorithms Based on Divide and Conquer Principles in Ruby - Part 2</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-2/</link>
      <pubDate>Sat, 13 Jul 2024 14:45:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-2/</guid>
      <description>Explore some algorithms based on divide and conquer principles in Ruby, including the Master Theorem, Fast Walsh-Hadamard Transform, Counting Inversions, Skyline Problem, Maximum Subarray Problem, Sparse Table, Planar Point Location, Maximum Flow Problem, Dynamic Programming Optimization, and Discrete Fourier Transform.</description>
    </item>
    <item>
      <title>Some Algorithms Based on Divide and Conquer Principles in Ruby - Part 1</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-1/</link>
      <pubDate>Sat, 13 Jul 2024 14:30:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/some-algorithms-based-on-divide-and-conquer-principles-in-ruby-part-1/</guid>
      <description>Some example of divide and conquer algorithms in Ruby, including binary Karatsuba Algorithm, Fast Fourier Transform (FFT), Closest Pair of Points, Convex Hull, Optimal Binary Search Tree, VLSI Layout, Tower of Hanoi, Multipoint Polynomial Evaluation and Interpolation, Medians and Order Statistics, Ternary Search.</description>
    </item>
    <item>
      <title>Linked List Algorithms in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/linked-list-algorithms-in-ruby/</link>
      <pubDate>Sat, 13 Jul 2024 14:15:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/linked-list-algorithms-in-ruby/</guid>
      <description>Learn about linked list algorithms in Ruby, including linked list traversal, insertion, deletion, and reversal, with examples and comparisons of their performance.</description>
    </item>
    <item>
      <title>Divide and Conquer Algorithms</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/divide-and-conquer-algorithms/</link>
      <pubDate>Sat, 13 Jul 2024 11:30:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/divide-and-conquer-algorithms/</guid>
      <description>Learn about divide and conquer algorithms in Ruby, including binary search, merge sort and quick sort, with examples and comparisons of their performance.</description>
    </item>
    <item>
      <title>Backtracking Algorithms in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/backtracking-algorithms-in-ruby/</link>
      <pubDate>Sat, 13 Jul 2024 10:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/backtracking-algorithms-in-ruby/</guid>
      <description>Learn about backtracking algorithms in Ruby, including the N-Queens problem, Sudoku solver, and Knight&amp;rsquo;s tour problem, with examples and comparisons of their performance.</description>
    </item>
    <item>
      <title>Greedy Algorithms in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/greedy-algorithms-in-ruby/</link>
      <pubDate>Sat, 13 Jul 2024 09:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/greedy-algorithms-in-ruby/</guid>
      <description>Learn about greedy algorithms in Ruby, including the greedy algorithm paradigm, examples of greedy algorithms, and their applications in solving optimization problems.</description>
    </item>
    <item>
      <title>Graph Algorithms in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/graph-algorithms-in-ruby/</link>
      <pubDate>Sat, 13 Jul 2024 08:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/graph-algorithms-in-ruby/</guid>
      <description>Learn about graph algorithms in Ruby, including depth-first search (DFS), breadth-first search (BFS), Dijkstra&amp;rsquo;s algorithm, and A* search, with examples and comparisons of their performance.</description>
    </item>
    <item>
      <title>Tree Algorithms in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/tree-algorithms-in-ruby/</link>
      <pubDate>Sat, 13 Jul 2024 06:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/tree-algorithms-in-ruby/</guid>
      <description>Learn about tree algorithms in Ruby, including tree traversal, binary search trees, and balanced trees, with examples and comparisons of their performance.</description>
    </item>
    <item>
      <title>Search Algorithms in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/search-algorithms-in-ruby/</link>
      <pubDate>Sat, 13 Jul 2024 05:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/search-algorithms-in-ruby/</guid>
      <description>Learn about search algorithms in Ruby, including linear search, binary search, and interpolation search, with examples and comparisons of their performance.</description>
    </item>
    <item>
      <title>Sorting Algorithms in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/07/13/sorting-algorithms-in-ruby/</link>
      <pubDate>Sat, 13 Jul 2024 04:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/13/sorting-algorithms-in-ruby/</guid>
      <description>Learn about sorting algorithms in Ruby, including bubble sort, selection sort, insertion sort, quick sort, and merge sort, with examples and comparisons of their performance.</description>
    </item>
    <item>
      <title>Introduction: Apache Spark - A Unified Analytics Engine for Big Data Processing</title>
      <link>https://www.toidang.xyz/posts/2024/07/10/introduction-apache-spark-a-unified-analytics-engine-for-big-data-processing/</link>
      <pubDate>Wed, 10 Jul 2024 12:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/10/introduction-apache-spark-a-unified-analytics-engine-for-big-data-processing/</guid>
      <description>Learn about Apache Spark, a unified analytics engine for big data processing that provides high performance and scalability for a wide range of use cases.</description>
    </item>
    <item>
      <title>Unlogged Table vs Logged Table in PostgreSQL</title>
      <link>https://www.toidang.xyz/posts/2024/07/09/unlogged-table-vs-logged-table-in-postgresql/</link>
      <pubDate>Tue, 09 Jul 2024 13:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/09/unlogged-table-vs-logged-table-in-postgresql/</guid>
      <description>Learn about the differences between unlogged tables and logged tables in PostgreSQL and when to use each type of table for optimal performance.</description>
    </item>
    <item>
      <title>Introduction: Apache Doris - A Distributed SQL-Based Data Warehouse System</title>
      <link>https://www.toidang.xyz/posts/2024/07/09/introduction-apache-doris-a-distributed-sql-based-data-warehouse-system/</link>
      <pubDate>Tue, 09 Jul 2024 12:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/09/introduction-apache-doris-a-distributed-sql-based-data-warehouse-system/</guid>
      <description>Learn about Apache Doris, a distributed SQL-based data warehouse system that offers high performance and scalability for data analytics.</description>
    </item>
    <item>
      <title>Go Language Programming: A Beginner&#39;s Guide to the Go Programming Language</title>
      <link>https://www.toidang.xyz/posts/2024/07/02/go-language-programming-a-beginners-guide-to-the-go-programming-language/</link>
      <pubDate>Tue, 02 Jul 2024 01:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/02/go-language-programming-a-beginners-guide-to-the-go-programming-language/</guid>
      <description>Learn the basics of Go programming, a powerful and efficient programming language used in web development, cloud computing, and more.</description>
    </item>
    <item>
      <title>Lua Language Programming: A Beginner&#39;s Guide to the Scripting Language</title>
      <link>https://www.toidang.xyz/posts/2024/07/01/lua-language-programming-a-beginners-guide-to-the-scripting-language/</link>
      <pubDate>Mon, 01 Jul 2024 17:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/01/lua-language-programming-a-beginners-guide-to-the-scripting-language/</guid>
      <description>Learn the basics of Lua programming, a powerful and lightweight scripting language used in game development, embedded systems, and more.</description>
    </item>
    <item>
      <title>How to Safely Store Data on Redis in a Heavy Writing System?</title>
      <link>https://www.toidang.xyz/posts/2024/07/01/how-to-safely-store-data-on-redis-in-a-heavy-writing-system/</link>
      <pubDate>Mon, 01 Jul 2024 10:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/07/01/how-to-safely-store-data-on-redis-in-a-heavy-writing-system/</guid>
      <description>Learn how to safely store data on Redis in a heavy writing system by optimizing write operations, using data persistence mechanisms, and implementing data backup strategies.</description>
    </item>
    <item>
      <title>Introduction to Cassandra: The NoSQL Database for Scalable Applications</title>
      <link>https://www.toidang.xyz/posts/2024/06/29/introduction-to-cassandra-the-nosql-database-for-scalable-applications/</link>
      <pubDate>Sat, 29 Jun 2024 17:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/29/introduction-to-cassandra-the-nosql-database-for-scalable-applications/</guid>
      <description>Explore Cassandra, the distributed NoSQL database designed for high availability and scalability.</description>
    </item>
    <item>
      <title>Introduction to DuckDB: The New Database for Data Analysis</title>
      <link>https://www.toidang.xyz/posts/2024/06/29/introduction-to-duckdb-the-new-database-for-data-analysis/</link>
      <pubDate>Sat, 29 Jun 2024 10:00:00 +0000</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/29/introduction-to-duckdb-the-new-database-for-data-analysis/</guid>
      <description>Discover DuckDB, the high-performance, easy-to-use database designed for modern data analysis.</description>
    </item>
    <item>
      <title>Event Streaming in Rails with Kafka</title>
      <link>https://www.toidang.xyz/posts/2024/06/15/event-streaming-in-rails-with-kafka/</link>
      <pubDate>Sat, 15 Jun 2024 03:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/15/event-streaming-in-rails-with-kafka/</guid>
      <description>Event streaming is a pattern for capturing data in real time from event sources such as databases. In this post, we will discuss how to use Kafka with Rails to create real-time data pipelines and streaming applications.</description>
    </item>
    <item>
      <title>Apache Kafka in Use</title>
      <link>https://www.toidang.xyz/posts/2024/06/15/apache-kafka-in-use/</link>
      <pubDate>Sat, 15 Jun 2024 02:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/15/apache-kafka-in-use/</guid>
      <description>Apache Kafka is a distributed streaming platform that is used to build real-time data pipelines and streaming applications. It is horizontally scalable, fault-tolerant, and extremely fast. In this post, we will discuss how to use Apache Kafka in real-world scenarios.</description>
    </item>
    <item>
      <title>Keyword ThreadGroup in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/06/10/keyword-threadgroup-in-ruby/</link>
      <pubDate>Mon, 10 Jun 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/10/keyword-threadgroup-in-ruby/</guid>
      <description>Managing related threads with Ruby&amp;rsquo;s ThreadGroup: creating a group, adding threads, listing and joining them, and when grouping threads helps.</description>
    </item>
    <item>
      <title>Keyword Queue in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/06/10/keyword-queue-in-ruby/</link>
      <pubDate>Mon, 10 Jun 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/10/keyword-queue-in-ruby/</guid>
      <description>Using Ruby&amp;rsquo;s Queue for first-in, first-out data: creating a queue, the core push/pop methods, and how it fits thread-safe producer–consumer code.</description>
    </item>
    <item>
      <title>Keyword Lazy in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/06/10/keyword-lazy-in-ruby/</link>
      <pubDate>Mon, 10 Jun 2024 08:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/10/keyword-lazy-in-ruby/</guid>
      <description>How lazy enumerators work in Ruby: creating them with lazy and Enumerator::Lazy, chaining map/select/take, and when they save memory on large or infinite collections.</description>
    </item>
    <item>
      <title>CQRS Design Pattern</title>
      <link>https://www.toidang.xyz/posts/2024/06/07/cqrs-design-pattern/</link>
      <pubDate>Fri, 07 Jun 2024 08:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/07/cqrs-design-pattern/</guid>
      <description>This article explores the Command Query Responsibility Segregation (CQRS) pattern and how it can be used to design a system. CQRS separates the read and write operations of a data store into two separate components: the command side and the query side. This allows you to optimize the read and write operations independently and improve the performance, scalability, and consistency of the system.</description>
    </item>
    <item>
      <title>Understanding MVCC in MySQL and PostgreSQL</title>
      <link>https://www.toidang.xyz/posts/2024/06/05/understanding-mvcc-in-mysql-and-postgresql/</link>
      <pubDate>Wed, 05 Jun 2024 08:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/05/understanding-mvcc-in-mysql-and-postgresql/</guid>
      <description>MVCC (Multi-Version Concurrency Control) is a technique used in MySQL and PostgreSQL to manage concurrent access to the database. In this article, we will explore how MVCC works in MySQL and PostgreSQL and its benefits for developers and users.</description>
    </item>
    <item>
      <title>MVCC in Database</title>
      <link>https://www.toidang.xyz/posts/2024/06/05/mvcc-in-database/</link>
      <pubDate>Wed, 05 Jun 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/05/mvcc-in-database/</guid>
      <description>MVCC (Multi-Version Concurrency Control) is a technique used in databases to manage concurrent access to the database. In this article, we will explore how MVCC works in databases like PostgreSQL and MySQL and its benefits for developers and users.</description>
    </item>
    <item>
      <title>What is BASE Principle?</title>
      <link>https://www.toidang.xyz/posts/2024/06/03/what-is-base-principle/</link>
      <pubDate>Mon, 03 Jun 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/03/what-is-base-principle/</guid>
      <description>The BASE principle is a set of design principles that help developers create more scalable and available distributed systems. In this article, we will explore the concept of the BASE principle, its origins, and its applications in distributed systems.</description>
    </item>
    <item>
      <title>What is CAP Theorem?</title>
      <link>https://www.toidang.xyz/posts/2024/06/03/what-is-cap-theorem/</link>
      <pubDate>Mon, 03 Jun 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/03/what-is-cap-theorem/</guid>
      <description>The CAP theorem is a fundamental principle in distributed systems that states that it is impossible to simultaneously achieve consistency, availability, and partition tolerance in a distributed system. In this article, we will explore the concept of the CAP theorem, its implications for distributed systems, and how developers can design systems that balance consistency, availability, and partition tolerance.</description>
    </item>
    <item>
      <title>What is KISS Principle?</title>
      <link>https://www.toidang.xyz/posts/2024/06/03/what-is-kiss-principle/</link>
      <pubDate>Mon, 03 Jun 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/03/what-is-kiss-principle/</guid>
      <description>The KISS principle is a design principle that stands for &amp;lsquo;Keep It Simple, Stupid.&amp;rsquo; In this article, we will explore the concept of the KISS principle, its origins, and its applications in software development and design.</description>
    </item>
    <item>
      <title>What is SOLID Principle?</title>
      <link>https://www.toidang.xyz/posts/2024/06/03/what-is-solid-principle/</link>
      <pubDate>Mon, 03 Jun 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/06/03/what-is-solid-principle/</guid>
      <description>The SOLID principles are a set of five design principles that help developers create more maintainable, flexible, and scalable software systems. In this article, we will explore each of the SOLID principles and their applications in software development.</description>
    </item>
    <item>
      <title>What is Change Data Capture (CDC)?</title>
      <link>https://www.toidang.xyz/posts/2024/05/13/what-is-change-data-capture-cdc/</link>
      <pubDate>Mon, 13 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/13/what-is-change-data-capture-cdc/</guid>
      <description>Change Data Capture (CDC) is a technique used to track and capture changes made to data in a database. In this article, we will explore the concept of CDC, how it works, and its applications in data integration and replication.</description>
    </item>
    <item>
      <title>Interact with data in Redis</title>
      <link>https://www.toidang.xyz/posts/2024/05/12/interact-with-data-in-redis/</link>
      <pubDate>Sun, 12 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/12/interact-with-data-in-redis/</guid>
      <description>In this article, we will explore the key features of Redis, a popular in-memory data store. We will discuss how Redis stores data, the different data structures it supports, and how you can interact with data in Redis using commands and client libraries.</description>
    </item>
    <item>
      <title>RedisGears: A Serverless Engine for Redis</title>
      <link>https://www.toidang.xyz/posts/2024/05/12/redisgears-a-serverless-engine-for-redis/</link>
      <pubDate>Sun, 12 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/12/redisgears-a-serverless-engine-for-redis/</guid>
      <description>RedisGears is a serverless engine for Redis that allows you to run custom functions on Redis data. In this article, we will explore the features of RedisGears, how it works, and how you can use it to build serverless applications with Redis.</description>
    </item>
    <item>
      <title>Read Large File in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/05/11/read-large-file-in-ruby/</link>
      <pubDate>Sat, 11 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/11/read-large-file-in-ruby/</guid>
      <description>In this article, we will discuss how to read a large file in Ruby. We will cover different methods to read large files efficiently and handle memory issues when working with large files.</description>
    </item>
    <item>
      <title>StringIO in Ruby</title>
      <link>https://www.toidang.xyz/posts/2024/05/11/stringio-in-ruby/</link>
      <pubDate>Sat, 11 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/11/stringio-in-ruby/</guid>
      <description>In this article, we will discuss how to use StringIO in Ruby to work with in-memory strings as if they were files. We will cover how to create StringIO objects, read from and write to them, and use them in place of file objects in Ruby.</description>
    </item>
    <item>
      <title>ULID vs UUIDv4 vs UUIDv7: What&#39;s the Difference?</title>
      <link>https://www.toidang.xyz/posts/2024/05/11/ulid-vs-uuidv4-vs-uuidv7-whats-the-difference/</link>
      <pubDate>Sat, 11 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/11/ulid-vs-uuidv4-vs-uuidv7-whats-the-difference/</guid>
      <description>In this article, we will discuss the differences between ULID, UUIDv4, and UUIDv7, three popular types of unique identifiers used in software development. We will compare their characteristics, use cases, and advantages to help you choose the right type of identifier for your application.</description>
    </item>
    <item>
      <title>Web Worker in JavaScript</title>
      <link>https://www.toidang.xyz/posts/2024/05/11/web-worker-in-javascript/</link>
      <pubDate>Sat, 11 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/11/web-worker-in-javascript/</guid>
      <description>Web Workers in JavaScript are a way to run scripts in the background without blocking the main thread. They allow you to perform time-consuming tasks such as calculations, network requests, or file operations without affecting the user interface. In this article, we will discuss how to use Web Workers in JavaScript to run scripts in the background and communicate with the main thread.</description>
    </item>
    <item>
      <title>Comparing authentication methods in API with Ruby on Rails - Part 2</title>
      <link>https://www.toidang.xyz/posts/2024/05/07/comparing-authentication-methods-in-api-with-ruby-on-rails-part-2/</link>
      <pubDate>Tue, 07 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/07/comparing-authentication-methods-in-api-with-ruby-on-rails-part-2/</guid>
      <description>Part 2: comparing Rails API authentication methods on security, scalability, and complexity, how JWT stacks up, and opaque vs reference tokens.</description>
    </item>
    <item>
      <title>Design Transaction System in E-commerce</title>
      <link>https://www.toidang.xyz/posts/2024/05/07/design-transaction-system-in-e-commerce/</link>
      <pubDate>Tue, 07 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/07/design-transaction-system-in-e-commerce/</guid>
      <description>In this article, we will discuss how to design a transaction system in an e-commerce application. We will cover the key components of a transaction system, such as payment gateways, order processing, and inventory management. We will also explore best practices for designing a scalable and reliable transaction system.</description>
    </item>
    <item>
      <title>Firebase in Ruby on Rails</title>
      <link>https://www.toidang.xyz/posts/2024/05/07/firebase-in-ruby-on-rails/</link>
      <pubDate>Tue, 07 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/07/firebase-in-ruby-on-rails/</guid>
      <description>Firebase is a mobile and web application development platform developed by Firebase, Inc. in 2011, then acquired by Google in 2014. It provides a wide range of services to help developers build, grow, and monetize their applications. In this article, we will discuss how to integrate Firebase with Ruby on Rails.</description>
    </item>
    <item>
      <title>Comparing authentication methods in API with Ruby on Rails - Part 1</title>
      <link>https://www.toidang.xyz/posts/2024/05/06/comparing-authentication-methods-in-api-with-ruby-on-rails-part-1/</link>
      <pubDate>Mon, 06 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/06/comparing-authentication-methods-in-api-with-ruby-on-rails-part-1/</guid>
      <description>Part 1: how the common API authentication methods work in Ruby on Rails — Basic, OAuth, token-based, JWT, session, and API key authentication.</description>
    </item>
    <item>
      <title>PostgreSQL LOCKS: Comprehensive Guide 101</title>
      <link>https://www.toidang.xyz/posts/2024/05/06/postgresql-locks-comprehensive-guide-101/</link>
      <pubDate>Mon, 06 May 2024 07:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/06/postgresql-locks-comprehensive-guide-101/</guid>
      <description>PostgreSQL locks are used to control access to data in a database. They are used to prevent multiple transactions from accessing the same data at the same time, which can lead to data corruption and inconsistency. In this article, we will discuss the different types of locks in PostgreSQL, how to use them, and when to use them.</description>
    </item>
    <item>
      <title>Implement Rate Limiting in Ruby on Rails</title>
      <link>https://www.toidang.xyz/posts/2024/05/02/implement-rate-limiting-in-ruby-on-rails/</link>
      <pubDate>Thu, 02 May 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/02/implement-rate-limiting-in-ruby-on-rails/</guid>
      <description>Rate limiting is a common technique used to control the rate of incoming requests to a web application and prevent abuse or overload. Learn how to implement rate limiting in a Ruby on Rails application using middleware and Redis.</description>
    </item>
    <item>
      <title>Designing a RESTful API: Key Factors, Best Practices, and Strategies</title>
      <link>https://www.toidang.xyz/posts/2024/05/02/designing-a-restful-api-key-factors-best-practices-and-strategies/</link>
      <pubDate>Thu, 02 May 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/02/designing-a-restful-api-key-factors-best-practices-and-strategies/</guid>
      <description>Designing a RESTful API requires careful consideration of key factors such as resource-oriented design, uniform interface, stateless communication, and client-server architecture. Learn about best practices for authentication, authorization, pagination, and data consistency in RESTful APIs.</description>
    </item>
    <item>
      <title>Ensuring Data Consistency in a Distributed System</title>
      <link>https://www.toidang.xyz/posts/2024/05/02/ensuring-data-consistency-in-a-distributed-system/</link>
      <pubDate>Thu, 02 May 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/02/ensuring-data-consistency-in-a-distributed-system/</guid>
      <description>Ensuring data consistency in a distributed system is crucial for maintaining the integrity and reliability of the system. Learn about the challenges of data consistency, strategies for achieving consistency, and best practices for designing distributed systems that prioritize data integrity.</description>
    </item>
    <item>
      <title>Gem OJ - Enhance API Performance in Ruby on Rails</title>
      <link>https://www.toidang.xyz/posts/2024/05/01/gem-oj-enhance-api-performance-in-ruby-on-rails/</link>
      <pubDate>Wed, 01 May 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/01/gem-oj-enhance-api-performance-in-ruby-on-rails/</guid>
      <description>Learn how to optimize your API responses in Ruby using the OJ gem. OJ provides fast JSON serialization and deserialization, making it an excellent choice for improving the performance of your Ruby applications.</description>
    </item>
    <item>
      <title>Improve Redis Performance in Ruby on Rails</title>
      <link>https://www.toidang.xyz/posts/2024/05/01/improve-redis-performance-in-ruby-on-rails/</link>
      <pubDate>Wed, 01 May 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/05/01/improve-redis-performance-in-ruby-on-rails/</guid>
      <description>Optimizing Redis performance in Ruby on Rails applications is crucial for enhancing response times and reducing latency. Learn how to improve Redis performance by implementing connection pooling, leveraging the Hiredis client library, and monitoring Redis operations.</description>
    </item>
    <item>
      <title>API and JWT in Ruby on Rails</title>
      <link>https://www.toidang.xyz/posts/2024/04/27/api-and-jwt-in-ruby-on-rails/</link>
      <pubDate>Sat, 27 Apr 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/04/27/api-and-jwt-in-ruby-on-rails/</guid>
      <description>In this tutorial, we explore the implementation of an API with JWT authentication in Ruby on Rails. We cover the setup of the Rails application, the creation of API endpoints, and the integration of JWT for secure user authentication.</description>
    </item>
    <item>
      <title>Understanding I/O-Bound and CPU-Bound Tasks in Backend Development</title>
      <link>https://www.toidang.xyz/posts/2024/04/25/understanding-i-o-bound-and-cpu-bound-tasks-in-backend-development/</link>
      <pubDate>Thu, 25 Apr 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/04/25/understanding-i-o-bound-and-cpu-bound-tasks-in-backend-development/</guid>
      <description>In backend development, tasks can be classified as I/O-bound or CPU-bound based on their resource requirements and execution characteristics. Let&amp;rsquo;s explore the differences between these two types of tasks and how to optimize their performance in a backend application.</description>
    </item>
    <item>
      <title>Design Patterns in Ruby: Prototype, Abstract Factory, Bridge, and Facade Patterns</title>
      <link>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-prototype-abstract-factory-bridge-and-facade-patterns/</link>
      <pubDate>Thu, 18 Apr 2024 14:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-prototype-abstract-factory-bridge-and-facade-patterns/</guid>
      <description>In this article, we explore more design patterns in Ruby, including the Prototype, Abstract Factory, Bridge, and Facade patterns, and discuss how they can be applied to create elegant, maintainable code.</description>
    </item>
    <item>
      <title>Design Patterns in Ruby: Visitor, Memento, Mediator, Flyweight, and Builder Patterns</title>
      <link>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-visitor-memento-mediator-flyweight-and-builder-patterns/</link>
      <pubDate>Thu, 18 Apr 2024 11:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-visitor-memento-mediator-flyweight-and-builder-patterns/</guid>
      <description>In this article, we explore more design patterns in Ruby, including the Visitor, Memento, Mediator, Flyweight, and Builder patterns, and discuss how they can be applied to create elegant, maintainable code.</description>
    </item>
    <item>
      <title>Design Patterns in Ruby: Proxy, Composite, State, Chain of Responsibility, and Iterator Patterns</title>
      <link>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-proxy-composite-state-chain-of-responsibility-and-iterator-patterns/</link>
      <pubDate>Thu, 18 Apr 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-proxy-composite-state-chain-of-responsibility-and-iterator-patterns/</guid>
      <description>In this article, we explore more design patterns in Ruby, including the Proxy, Composite, State, Chain of Responsibility, and Iterator patterns, and discuss how they can be applied to create elegant, maintainable code.</description>
    </item>
    <item>
      <title>Design Patterns in Ruby: Strategy, Decorator, Template Method, and Command Patterns</title>
      <link>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-strategy-decorator-template-method-and-command-patterns/</link>
      <pubDate>Thu, 18 Apr 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/04/18/design-patterns-in-ruby-strategy-decorator-template-method-and-command-patterns/</guid>
      <description>Strategy, Decorator, Template Method, and Command patterns in Ruby — what problem each solves, idiomatic Ruby implementations, and when to reach for them.</description>
    </item>
    <item>
      <title>Speed Up Your Web Application with a Content Delivery Network (CDN)</title>
      <link>https://www.toidang.xyz/posts/2024/04/10/speed-up-your-web-application-with-a-content-delivery-network-cdn/</link>
      <pubDate>Wed, 10 Apr 2024 02:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/04/10/speed-up-your-web-application-with-a-content-delivery-network-cdn/</guid>
      <description>Learn how to speed up your web application with a Content Delivery Network (CDN). Find out what a CDN is, how it works, and the benefits of using a CDN for your website. Discover best practices for optimizing web performance with a CDN and improve the user experience of your web application.</description>
    </item>
    <item>
      <title>Optimziting web performance with SplitChunks in Webpack</title>
      <link>https://www.toidang.xyz/posts/2024/04/06/optimziting-web-performance-with-splitchunks-in-webpack/</link>
      <pubDate>Sat, 06 Apr 2024 02:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/04/06/optimziting-web-performance-with-splitchunks-in-webpack/</guid>
      <description>Learn how to optimize web performance by using SplitChunks in Webpack to bundle and split JavaScript code efficiently. Discover best practices for configuring SplitChunks to improve page load times and reduce network latency.</description>
    </item>
    <item>
      <title>Exploring Sharding in PostgreSQL</title>
      <link>https://www.toidang.xyz/posts/2024/03/31/exploring-sharding-in-postgresql/</link>
      <pubDate>Sun, 31 Mar 2024 02:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/31/exploring-sharding-in-postgresql/</guid>
      <description>Sharding is a database partitioning technique that involves splitting a large database into smaller, more manageable parts called shards. In this guide, we&amp;rsquo;ll introduce the concept of sharding, explore different sharding strategies, and provide step-by-step instructions for implementing vertical, horizontal, and hybrid sharding in PostgreSQL.</description>
    </item>
    <item>
      <title>Using Index Include in PostgreSQL</title>
      <link>https://www.toidang.xyz/posts/2024/03/31/using-index-include-in-postgresql/</link>
      <pubDate>Sun, 31 Mar 2024 02:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/31/using-index-include-in-postgresql/</guid>
      <description>Learn how to use the Index Include feature in PostgreSQL to create covering indexes that include additional columns in the index structure for improved query performance.</description>
    </item>
    <item>
      <title>Using Partial Index in Optimizing PostgreSQL</title>
      <link>https://www.toidang.xyz/posts/2024/03/31/using-partial-index-in-optimizing-postgresql/</link>
      <pubDate>Sun, 31 Mar 2024 02:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/31/using-partial-index-in-optimizing-postgresql/</guid>
      <description>Partial indexes in PostgreSQL allow you to create indexes on a subset of rows in a table, optimizing query performance and reducing storage requirements. This article explores the benefits of using partial indexes, common use cases, and best practices for leveraging them to improve the efficiency of your PostgreSQL database.</description>
    </item>
    <item>
      <title>Ansible - Automate Your Infrastructure</title>
      <link>https://www.toidang.xyz/posts/2024/03/30/ansible-automate-your-infrastructure/</link>
      <pubDate>Sat, 30 Mar 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/30/ansible-automate-your-infrastructure/</guid>
      <description>Ansible is an open-source automation tool that simplifies the management of IT infrastructure. In this article, we explore how Ansible works, its key features, and how it can help you automate your infrastructure tasks.</description>
    </item>
    <item>
      <title>PostgreSQL Performance Optimization Techniques - Part 1</title>
      <link>https://www.toidang.xyz/posts/2024/03/30/postgresql-performance-optimization-techniques-part-1/</link>
      <pubDate>Sat, 30 Mar 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/30/postgresql-performance-optimization-techniques-part-1/</guid>
      <description>PostgreSQL is a powerful open-source relational database management system that offers a wide range of features for optimizing performance. In this article, we explore some of the most effective techniques for optimizing PostgreSQL performance, including indexing, query optimization, and configuration tuning.</description>
    </item>
    <item>
      <title>Redis Performance Optimization Techniques</title>
      <link>https://www.toidang.xyz/posts/2024/03/30/redis-performance-optimization-techniques/</link>
      <pubDate>Sat, 30 Mar 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/30/redis-performance-optimization-techniques/</guid>
      <description>Redis is a high-performance, in-memory data store that is widely used for caching, session management, and real-time analytics. In this article, we explore some of the most effective techniques for optimizing Redis performance, including data modeling, key design, and configuration tuning.</description>
    </item>
    <item>
      <title>Rotating Logs with Logrotate</title>
      <link>https://www.toidang.xyz/posts/2024/03/30/rotating-logs-with-logrotate/</link>
      <pubDate>Sat, 30 Mar 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/30/rotating-logs-with-logrotate/</guid>
      <description>Logrotate is a utility for managing log files on Linux systems by rotating, compressing, and deleting old log files. In this article, we explore how to configure and use Logrotate to rotate logs for various applications, including Apache, Nginx, and system logs.</description>
    </item>
    <item>
      <title>Using Postfix in Sending Email</title>
      <link>https://www.toidang.xyz/posts/2024/03/30/using-postfix-in-sending-email/</link>
      <pubDate>Sat, 30 Mar 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/30/using-postfix-in-sending-email/</guid>
      <description>Postfix is a popular mail transfer agent (MTA) that is widely used for sending and receiving email on Linux systems. In this article, we explore how to configure and use Postfix to send email messages from a Linux server, covering key concepts such as SMTP relay, mail queue management, and troubleshooting common issues.</description>
    </item>
    <item>
      <title>Design Patterns in Ruby: A Few Popular Patterns</title>
      <link>https://www.toidang.xyz/posts/2024/03/29/design-patterns-in-ruby-a-few-popular-patterns/</link>
      <pubDate>Fri, 29 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/29/design-patterns-in-ruby-a-few-popular-patterns/</guid>
      <description>Singleton, Factory, and Observer patterns in Ruby — what problem each solves, idiomatic Ruby implementations, and how to apply them for maintainable code.</description>
    </item>
    <item>
      <title>Engines Modularized in Ruby on Rails</title>
      <link>https://www.toidang.xyz/posts/2024/03/29/engines-modularized-in-ruby-on-rails/</link>
      <pubDate>Fri, 29 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/29/engines-modularized-in-ruby-on-rails/</guid>
      <description>Engines in Ruby on Rails provide a way to modularize your application by breaking it into smaller, self-contained components. In this article, we explore how engines work in Ruby on Rails and how they can help you build scalable, maintainable applications.</description>
    </item>
    <item>
      <title>Regenerator in Redux Saga</title>
      <link>https://www.toidang.xyz/posts/2024/03/29/regenerator-in-redux-saga/</link>
      <pubDate>Fri, 29 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/29/regenerator-in-redux-saga/</guid>
      <description>Redux Saga leverages Regenerator to enable asynchronous operations in Redux applications. This article delves into the inner workings of Regenerator in Redux Saga, showcasing its role in managing side effects and enhancing the predictability of Redux workflows.</description>
    </item>
    <item>
      <title>Optimizing Your Website with Open Graph Meta Tags</title>
      <link>https://www.toidang.xyz/posts/2024/03/26/optimizing-your-website-with-open-graph-meta-tags/</link>
      <pubDate>Tue, 26 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/26/optimizing-your-website-with-open-graph-meta-tags/</guid>
      <description>Open Graph is a protocol that allows web pages to become rich objects in social media platforms. Learn how to use Open Graph meta tags to optimize your website&amp;rsquo;s appearance on social media and improve its visibility and engagement.</description>
    </item>
    <item>
      <title>Optimizing Your Website with WebP Images</title>
      <link>https://www.toidang.xyz/posts/2024/03/26/optimizing-your-website-with-webp-images/</link>
      <pubDate>Tue, 26 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/26/optimizing-your-website-with-webp-images/</guid>
      <description>WebP is a modern image format developed by Google that offers superior compression and quality compared to traditional formats like JPEG and PNG. Learn about the benefits of WebP, how it works, and how to use it to optimize images on your website.</description>
    </item>
    <item>
      <title>Service Workers in Web Development: A Comprehensive Guide</title>
      <link>https://www.toidang.xyz/posts/2024/03/26/service-workers-in-web-development-a-comprehensive-guide/</link>
      <pubDate>Tue, 26 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/26/service-workers-in-web-development-a-comprehensive-guide/</guid>
      <description>Service workers are a powerful feature of modern web browsers that enable you to build offline-capable web applications. Learn how to use service workers to cache assets, intercept network requests, and provide a seamless offline experience for your users.</description>
    </item>
    <item>
      <title>Understanding and Implementing Accelerated Mobile Pages (AMP)</title>
      <link>https://www.toidang.xyz/posts/2024/03/26/understanding-and-implementing-accelerated-mobile-pages-amp/</link>
      <pubDate>Tue, 26 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/26/understanding-and-implementing-accelerated-mobile-pages-amp/</guid>
      <description>Accelerated Mobile Pages (AMP) is an open-source initiative that aims to improve the performance of web content on mobile devices. Learn how to use AMP to create fast-loading, mobile-friendly web pages that provide a better user experience and higher search engine rankings.</description>
    </item>
    <item>
      <title>What are HSTS and the HSTS preload list?</title>
      <link>https://www.toidang.xyz/posts/2024/03/26/what-are-hsts-and-the-hsts-preload-list/</link>
      <pubDate>Tue, 26 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/26/what-are-hsts-and-the-hsts-preload-list/</guid>
      <description>The HSTS (HTTP Strict Transport Security) protocol is a policy / mechanism that forces a web connection over a secure HTTPS channel. In other words: without a valid SSL certificate, such a website will not load in your browser. The browser will not even show the option to ignore the SSL warning.</description>
    </item>
    <item>
      <title>Middleware in Rails: A Comprehensive Guide</title>
      <link>https://www.toidang.xyz/posts/2024/03/25/middleware-in-rails-a-comprehensive-guide/</link>
      <pubDate>Mon, 25 Mar 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/25/middleware-in-rails-a-comprehensive-guide/</guid>
      <description>Middleware in Rails is a powerful feature that allows you to intercept and modify HTTP requests and responses. Learn how to use middleware in Rails to add custom functionality, enhance performance, and improve security in your web applications.</description>
    </item>
    <item>
      <title>A Comparison of Data Storage on Disk in PostgreSQL and MySQL</title>
      <link>https://www.toidang.xyz/posts/2024/03/24/a-comparison-of-data-storage-on-disk-in-postgresql-and-mysql/</link>
      <pubDate>Sun, 24 Mar 2024 07:09:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/24/a-comparison-of-data-storage-on-disk-in-postgresql-and-mysql/</guid>
      <description>Explore how data is stored on disk in PostgreSQL and MySQL, two popular database management systems. Learn about their storage architecture, file structure, and data access optimization to understand the differences and similarities between the two systems.</description>
    </item>
    <item>
      <title>Comparing Event Machine, Fibers, Threads, and Processes: Real-World Applications</title>
      <link>https://www.toidang.xyz/posts/2024/03/24/comparing-event-machine-fibers-threads-and-processes-real-world-applications/</link>
      <pubDate>Sun, 24 Mar 2024 07:09:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/24/comparing-event-machine-fibers-threads-and-processes-real-world-applications/</guid>
      <description>Comparing Event Machine, Fibers, Threads, and Processes in Ruby for concurrent programming. Explore real-world applications and use cases for each concurrency model to understand their strengths and weaknesses.</description>
    </item>
    <item>
      <title>Event Machine and Fibers: A Comprehensive Guide</title>
      <link>https://www.toidang.xyz/posts/2024/03/24/event-machine-and-fibers-a-comprehensive-guide/</link>
      <pubDate>Sun, 24 Mar 2024 07:09:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/24/event-machine-and-fibers-a-comprehensive-guide/</guid>
      <description>Event Machine and Fibers are powerful tools for building highly concurrent and scalable applications in Ruby. In this comprehensive guide, we&amp;rsquo;ll explore the fundamentals of Event Machine, Fibers, and how they work together to enable efficient non-blocking I/O operations and parallel processing.</description>
    </item>
    <item>
      <title>Exploring Solr Integration with Rails using RSolr</title>
      <link>https://www.toidang.xyz/posts/2024/03/24/exploring-solr-integration-with-rails-using-rsolr/</link>
      <pubDate>Sun, 24 Mar 2024 07:09:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/24/exploring-solr-integration-with-rails-using-rsolr/</guid>
      <description>In this blog post, we&amp;rsquo;ll explore the integration of Solr with Ruby on Rails applications using the RSolr gem. Learn how to leverage the power of Solr for advanced search functionality in your Rails projects.</description>
    </item>
    <item>
      <title>Jemalloc: A Comprehensive Guide on Ruby Memory Management</title>
      <link>https://www.toidang.xyz/posts/2024/03/24/jemalloc-a-comprehensive-guide-on-ruby-memory-management/</link>
      <pubDate>Sun, 24 Mar 2024 07:09:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/24/jemalloc-a-comprehensive-guide-on-ruby-memory-management/</guid>
      <description>Jemalloc is a memory allocator that can significantly improve the memory management performance of Ruby applications. In this guide, we&amp;rsquo;ll explore the fundamentals of Jemalloc, how it works, and how to integrate it with Ruby to optimize memory allocation and reduce memory fragmentation.</description>
    </item>
    <item>
      <title>Redash: Empowering Data Visualization and Collaboration</title>
      <link>https://www.toidang.xyz/posts/2024/03/24/redash-empowering-data-visualization-and-collaboration/</link>
      <pubDate>Sun, 24 Mar 2024 07:09:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/24/redash-empowering-data-visualization-and-collaboration/</guid>
      <description>Redash is an open-source data visualization and collaboration platform that allows users to connect to various data sources, execute SQL queries, visualize data, and share insights with team members. Learn more about the key features of Redash and how it empowers organizations to make data-driven decisions.</description>
    </item>
    <item>
      <title>Page caching - Maximizing Performance with HTTP Caching: A Comprehensive Guide</title>
      <link>https://www.toidang.xyz/posts/2024/03/23/page-caching-maximizing-performance-with-http-caching-a-comprehensive-guide/</link>
      <pubDate>Sat, 23 Mar 2024 14:09:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/23/page-caching-maximizing-performance-with-http-caching-a-comprehensive-guide/</guid>
      <description>HTTP caching is a powerful technique for optimizing web performance and reducing server load. In this comprehensive guide, we&amp;rsquo;ll explore the fundamentals of HTTP caching, its benefits, implementation strategies, and best practices to help you harness its full potential.</description>
    </item>
    <item>
      <title>Cache avalanche, Cache breakdown, Cache Stampede and Cache Penetration</title>
      <link>https://www.toidang.xyz/posts/2024/03/23/cache-avalanche-cache-breakdown-cache-stampede-and-cache-penetration/</link>
      <pubDate>Sat, 23 Mar 2024 14:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/23/cache-avalanche-cache-breakdown-cache-stampede-and-cache-penetration/</guid>
      <description>In this article, we explore the concepts of cache avalanche, cache breakdown, and cache penetration, common issues that can affect the performance of caching systems. We discuss the causes of these problems, their impact on system performance, and strategies to mitigate their effects.</description>
    </item>
    <item>
      <title>Understanding PostgreSQL COUNT(NULL), COUNT(*), and COUNT(1)</title>
      <link>https://www.toidang.xyz/posts/2024/03/10/understanding-postgresql-countnull-count-and-count1/</link>
      <pubDate>Sun, 10 Mar 2024 09:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/10/understanding-postgresql-countnull-count-and-count1/</guid>
      <description>In PostgreSQL, the COUNT function is commonly used to count the number of rows in a table. However, there are subtle differences between COUNT(NULL), COUNT(*), and COUNT(1) that are worth understanding. Let&amp;rsquo;s delve into each of these variants, their usage, and performance implications.</description>
    </item>
    <item>
      <title>Unlocking the Power of PostgreSQL Window Functions: A Comprehensive Guide</title>
      <link>https://www.toidang.xyz/posts/2024/03/01/unlocking-the-power-of-postgresql-window-functions-a-comprehensive-guide/</link>
      <pubDate>Fri, 01 Mar 2024 21:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/03/01/unlocking-the-power-of-postgresql-window-functions-a-comprehensive-guide/</guid>
      <description>In PostgreSQL, window functions are a powerful feature that allows you to perform complex analytical calculations within SQL queries. By understanding the key features and common use cases of window functions, you can unlock their full potential and gain valuable insights into your data.</description>
    </item>
    <item>
      <title>Understanding PostgreSQL DISTINCT ON</title>
      <link>https://www.toidang.xyz/posts/2024/02/28/understanding-postgresql-distinct-on/</link>
      <pubDate>Wed, 28 Feb 2024 21:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/02/28/understanding-postgresql-distinct-on/</guid>
      <description>In PostgreSQL, the DISTINCT ON clause is a powerful tool used in the SELECT statement to retrieve unique rows based on a specified set of columns. It is often combined with the ORDER BY clause to determine which unique rows to select.</description>
    </item>
    <item>
      <title>Understanding Active Record&#39;s first and order.first Methods in Rails</title>
      <link>https://www.toidang.xyz/posts/2024/02/14/understanding-active-records-first-and-order.first-methods-in-rails/</link>
      <pubDate>Wed, 14 Feb 2024 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/02/14/understanding-active-records-first-and-order.first-methods-in-rails/</guid>
      <description>In Active Record, the first and order first methods are used to retrieve the first record from a table. However, there are differences between the two methods in terms of the order of retrieval and the use of sorting criteria. Understanding these differences is essential for efficient data retrieval and query optimization.</description>
    </item>
    <item>
      <title>Understanding PostgreSQL Partitioning</title>
      <link>https://www.toidang.xyz/posts/2024/01/15/understanding-postgresql-partitioning/</link>
      <pubDate>Mon, 15 Jan 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/01/15/understanding-postgresql-partitioning/</guid>
      <description>PostgreSQL partitioning is a powerful feature that allows you to divide large tables into smaller, more manageable pieces for improved performance and maintenance. Learn how to implement partitioning in PostgreSQL and leverage its benefits for your database.</description>
    </item>
    <item>
      <title>Regenerator in JavaScript: Bridging Modern Syntax and Compatibility</title>
      <link>https://www.toidang.xyz/posts/2024/01/05/regenerator-in-javascript-bridging-modern-syntax-and-compatibility/</link>
      <pubDate>Fri, 05 Jan 2024 10:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2024/01/05/regenerator-in-javascript-bridging-modern-syntax-and-compatibility/</guid>
      <description>Regenerator is a transformative tool that bridges the gap between modern JavaScript syntax and backward compatibility. This article delves into the significance of Regenerator, showcasing its prowess through practical examples and insights.</description>
    </item>
    <item>
      <title>Hotwire Stimulus: A Lightweight JavaScript Framework for Interactive Web Applications</title>
      <link>https://www.toidang.xyz/posts/2023/09/25/hotwire-stimulus-a-lightweight-javascript-framework-for-interactive-web-applications/</link>
      <pubDate>Mon, 25 Sep 2023 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2023/09/25/hotwire-stimulus-a-lightweight-javascript-framework-for-interactive-web-applications/</guid>
      <description>Hotwire Stimulus is a lightweight JavaScript framework that revolutionizes the way developers build interactive web applications. This log delves into the intricacies of Hotwire Stimulus, uncovering its features, benefits, and practical applications in JavaScript development.</description>
    </item>
    <item>
      <title>Optimizing PostgreSQL Data File Read</title>
      <link>https://www.toidang.xyz/posts/2023/07/16/optimizing-postgresql-data-file-read/</link>
      <pubDate>Sun, 16 Jul 2023 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2023/07/16/optimizing-postgresql-data-file-read/</guid>
      <description>PostgreSQL Data File Read refers to the process of reading data from the data files in a PostgreSQL database. These data files include the base data files, which contain tables, indexes, and data of other objects in the database. Reading data from data files can become a bottleneck in the performance of the database, especially when the database is large and experiences a high volume of concurrent queries. Optimizing PostgreSQL Data File Read is essential to improve the performance of the database system and minimize the response time of queries.</description>
    </item>
    <item>
      <title>An In-depth Introduction to Testing in Rails with RSpec</title>
      <link>https://www.toidang.xyz/posts/2023/05/23/an-in-depth-introduction-to-testing-in-rails-with-rspec/</link>
      <pubDate>Tue, 23 May 2023 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2023/05/23/an-in-depth-introduction-to-testing-in-rails-with-rspec/</guid>
      <description>Unit testing is a crucial aspect of software development, and RSpec provides an effective and user-friendly framework for writing and maintaining tests in Ruby on Rails applications. By incorporating unit testing with RSpec into your development workflow, you can ensure the reliability, quality, and maintainability of your codebase.</description>
    </item>
    <item>
      <title>Master-Master vs. Master-Slave Replication in Distributed Relational Databases</title>
      <link>https://www.toidang.xyz/posts/2022/08/07/master-master-vs.-master-slave-replication-in-distributed-relational-databases/</link>
      <pubDate>Sun, 07 Aug 2022 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2022/08/07/master-master-vs.-master-slave-replication-in-distributed-relational-databases/</guid>
      <description>In the distributed relational database model, two common models are multi-primary (master-master) and primary-replica (master-slave) replication. Let&amp;rsquo;s explore how each works, what replication does not give you, and when to use which.</description>
    </item>
    <item>
      <title>Understanding Threads and Processes in Ruby</title>
      <link>https://www.toidang.xyz/posts/2022/05/07/understanding-threads-and-processes-in-ruby/</link>
      <pubDate>Sat, 07 May 2022 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2022/05/07/understanding-threads-and-processes-in-ruby/</guid>
      <description>In Ruby, threads and processes are essential concepts for concurrent programming, allowing you to execute multiple tasks concurrently. Let&amp;rsquo;s delve into these concepts, the GVL, Ruby 3.x options like Ractors and the fiber scheduler, and how to size Puma workers and threads.</description>
    </item>
    <item>
      <title>Optimizing Nginx Configuration for Enhanced Performance</title>
      <link>https://www.toidang.xyz/posts/2022/04/11/optimizing-nginx-configuration-for-enhanced-performance/</link>
      <pubDate>Mon, 11 Apr 2022 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2022/04/11/optimizing-nginx-configuration-for-enhanced-performance/</guid>
      <description>Nginx is renowned for its efficiency and versatility in serving web content. However, optimizing its configuration is crucial to ensure optimal performance. This log outlines key techniques to optimize Nginx configuration for enhanced performance, from keepalive and compression to TLS, HTTP/2, HTTP/3 and upstream keepalive.</description>
    </item>
    <item>
      <title>Understanding Access Control in Rails: Private, Protected, and Public</title>
      <link>https://www.toidang.xyz/posts/2022/04/07/understanding-access-control-in-rails-private-protected-and-public/</link>
      <pubDate>Thu, 07 Apr 2022 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2022/04/07/understanding-access-control-in-rails-private-protected-and-public/</guid>
      <description>Access control decides which methods of a class can be called from outside it. Ruby (and therefore every Rails app) provides three access control levels: private, protected, and public. Let&amp;rsquo;s explore each of these levels, how they really behave, and their implications in Rails development.</description>
    </item>
    <item>
      <title>Introduction to Monitoring Tools for Web Systems and Rails</title>
      <link>https://www.toidang.xyz/posts/2022/02/08/introduction-to-monitoring-tools-for-web-systems-and-rails/</link>
      <pubDate>Tue, 08 Feb 2022 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2022/02/08/introduction-to-monitoring-tools-for-web-systems-and-rails/</guid>
      <description>Monitoring tools play a crucial role in ensuring the health, performance, and reliability of web systems, including those built with Rails. These tools provide insights into various aspects of system behavior, such as resource usage, response times, errors, and overall system health. Let&amp;rsquo;s explore some popular monitoring tools used in web systems and how they can be applied in a Rails environment.</description>
    </item>
    <item>
      <title>Preparing for a Ruby on Rails Web Development Interview</title>
      <link>https://www.toidang.xyz/posts/2022/01/08/preparing-for-a-ruby-on-rails-web-development-interview/</link>
      <pubDate>Sat, 08 Jan 2022 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2022/01/08/preparing-for-a-ruby-on-rails-web-development-interview/</guid>
      <description>Preparing for a Ruby on Rails web development interview requires a solid understanding of web development concepts, Ruby programming language, and the Rails framework. Here&amp;rsquo;s a list of common interview questions that cover various aspects of web development and Ruby on Rails, including Rails 7 and Rails 8 topics.</description>
    </item>
    <item>
      <title>Page caching - Combining Page Caching in Rails with Nginx Memory Caching</title>
      <link>https://www.toidang.xyz/posts/2021/08/07/page-caching-combining-page-caching-in-rails-with-nginx-memory-caching/</link>
      <pubDate>Sat, 07 Aug 2021 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2021/08/07/page-caching-combining-page-caching-in-rails-with-nginx-memory-caching/</guid>
      <description>Rails page caching and nginx make a natural pair: nginx serves the HTML files Rails writes to public/ straight from disk, and its proxy cache (stored on disk, indexed in shared memory) holds every other public response. In this guide, we&amp;rsquo;ll configure both, with a safe cache key, session-cookie bypass, cache locking and stale serving.</description>
    </item>
    <item>
      <title>Page caching - Implementing Page Caching in a Rails Application with Redis</title>
      <link>https://www.toidang.xyz/posts/2021/08/06/page-caching-implementing-page-caching-in-a-rails-application-with-redis/</link>
      <pubDate>Fri, 06 Aug 2021 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2021/08/06/page-caching-implementing-page-caching-in-a-rails-application-with-redis/</guid>
      <description>Serving whole pages from a shared cache breaks Rails forms, because every visitor receives the CSRF token that was rendered for someone else. In this post, we&amp;rsquo;ll cache public pages with Rack::Cache backed by Redis and look at two ways to keep CSRF tokens working: fetching a fresh token with JavaScript from a small uncached endpoint, and a Rack middleware that injects one on the server.</description>
    </item>
    <item>
      <title>Page caching - Leveraging Page Caching with Varnish in Rails Applications</title>
      <link>https://www.toidang.xyz/posts/2021/08/05/page-caching-leveraging-page-caching-with-varnish-in-rails-applications/</link>
      <pubDate>Thu, 05 Aug 2021 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2021/08/05/page-caching-leveraging-page-caching-with-varnish-in-rails-applications/</guid>
      <description>Varnish can cache whole Rails pages in memory and serve them without touching the application, but only if Rails tells it which pages are safe to share. In this article, we&amp;rsquo;ll let Rails mark public pages with Cache-Control, configure Varnish to honour those headers without leaking one user&amp;rsquo;s page to another, and add PURGE/BAN invalidation.</description>
    </item>
    <item>
      <title>Page caching - Strategies for Web Performance Optimization</title>
      <link>https://www.toidang.xyz/posts/2021/08/04/page-caching-strategies-for-web-performance-optimization/</link>
      <pubDate>Wed, 04 Aug 2021 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2021/08/04/page-caching-strategies-for-web-performance-optimization/</guid>
      <description>Page caching is a technique used to improve the performance of web applications by storing the entire HTML output of a page and serving it directly from the cache for subsequent requests. This eliminates the need to generate the page dynamically on each request, reducing server load and improving response times. In this article, we&amp;rsquo;ll explore the concept of page caching, the HTTP caching basics it relies on, and the main places a full page can be cached, plus related techniques that cache smaller pieces.</description>
    </item>
    <item>
      <title>Using Redis in Rails Applications</title>
      <link>https://www.toidang.xyz/posts/2021/04/07/using-redis-in-rails-applications/</link>
      <pubDate>Wed, 07 Apr 2021 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2021/04/07/using-redis-in-rails-applications/</guid>
      <description>Redis is an in-memory data structure store known for its speed and flexibility. It serves as a high-performance database, cache, and message broker, offering data structures such as strings, hashes, lists, sets, and sorted sets. This article covers how Rails applications use Redis for caching, sessions, background jobs and counters, how to set up Rails&amp;rsquo; built-in Redis cache store, and when Rails 8&amp;rsquo;s database-backed defaults make Redis optional.</description>
    </item>
    <item>
      <title>Understanding A/B Testing: Enhancing Decision-Making in Web Development</title>
      <link>https://www.toidang.xyz/posts/2021/02/08/understanding-a-b-testing-enhancing-decision-making-in-web-development/</link>
      <pubDate>Mon, 08 Feb 2021 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2021/02/08/understanding-a-b-testing-enhancing-decision-making-in-web-development/</guid>
      <description>A/B testing, also known as split testing, is a method used to compare two or more versions of a web page or application to determine which one performs better in achieving a predefined goal. In this article, we&amp;rsquo;ll look at the concept, how to implement it in Ruby on Rails with the Split gem, and how to read the results without fooling yourself.</description>
    </item>
    <item>
      <title>Understanding Load Balancing at Different Network Layers: A Comprehensive Overview</title>
      <link>https://www.toidang.xyz/posts/2020/07/16/understanding-load-balancing-at-different-network-layers-a-comprehensive-overview/</link>
      <pubDate>Thu, 16 Jul 2020 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2020/07/16/understanding-load-balancing-at-different-network-layers-a-comprehensive-overview/</guid>
      <description>In modern web application environments, load balancing plays a critical role in distributing traffic across multiple servers to ensure optimal performance, reliability, and scalability. Load balancing techniques and tools are deployed at various network layers, each with its own set of advantages and disadvantages. In this article, we&amp;rsquo;ll explore different types of load balancing at different network layers and provide examples.</description>
    </item>
    <item>
      <title>Understanding Nginx Real IP Module: Importance and Configuration</title>
      <link>https://www.toidang.xyz/posts/2020/03/07/understanding-nginx-real-ip-module-importance-and-configuration/</link>
      <pubDate>Sat, 07 Mar 2020 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2020/03/07/understanding-nginx-real-ip-module-importance-and-configuration/</guid>
      <description>In the realm of web servers, accurate logging of client IP addresses is crucial for security, analytics, and compliance purposes. However, when Nginx is deployed behind a reverse proxy, load balancer, or CDN, the IP addresses logged may not reflect the actual client IP addresses. This is where the Nginx Real IP module comes into play.</description>
    </item>
    <item>
      <title>Understanding Sidekiq: A Powerful Background Job Processing Solution</title>
      <link>https://www.toidang.xyz/posts/2020/03/02/understanding-sidekiq-a-powerful-background-job-processing-solution/</link>
      <pubDate>Mon, 02 Mar 2020 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2020/03/02/understanding-sidekiq-a-powerful-background-job-processing-solution/</guid>
      <description>In today&amp;rsquo;s web development landscape, handling background job processing efficiently has become crucial for building robust and scalable applications. Sidekiq stands out as a popular choice among developers due to its simplicity, performance, and powerful features. This article covers how it works, how to set it up in Rails, and how to tune it.</description>
    </item>
    <item>
      <title>Continuous Integration/Continuous Deployment (CI/CD) in Software Development</title>
      <link>https://www.toidang.xyz/posts/2020/02/08/continuous-integration-continuous-deployment-ci-cd-in-software-development/</link>
      <pubDate>Sat, 08 Feb 2020 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2020/02/08/continuous-integration-continuous-deployment-ci-cd-in-software-development/</guid>
      <description>Continuous Integration (CI) and Continuous Deployment (CD) are two essential practices in modern software development. These practices, often abbreviated as CI/CD, play a crucial role in ensuring the efficiency, reliability, and speed of the software development lifecycle.</description>
    </item>
    <item>
      <title>Understanding CSRF in Ruby on Rails</title>
      <link>https://www.toidang.xyz/posts/2020/01/07/understanding-csrf-in-ruby-on-rails/</link>
      <pubDate>Tue, 07 Jan 2020 21:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2020/01/07/understanding-csrf-in-ruby-on-rails/</guid>
      <description>CSRF (Cross-Site Request Forgery) is a type of attack where an attacker tricks a user into performing unintended actions on a web application in which the user is authenticated. This article explains what CSRF is, how Rails&amp;rsquo; authenticity tokens, Origin check and SameSite cookies protect against it, and when it is safe to skip the check.</description>
    </item>
    <item>
      <title>Understanding Promise and Deferred in JavaScript</title>
      <link>https://www.toidang.xyz/posts/2018/08/07/understanding-promise-and-deferred-in-javascript/</link>
      <pubDate>Tue, 07 Aug 2018 21:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2018/08/07/understanding-promise-and-deferred-in-javascript/</guid>
      <description>In JavaScript, Promise and Deferred are essential concepts used to handle asynchronous operations, such as fetching data from a server or performing time-consuming tasks. They provide a more readable and manageable way to work with asynchronous code, making it easier to handle asynchronous tasks and their results.</description>
    </item>
    <item>
      <title>Differentiating Virtual DOM, Glimmer, and Real DOM in Front-End Development</title>
      <link>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/</link>
      <pubDate>Wed, 07 Mar 2018 21:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2018/03/07/differentiating-virtual-dom-glimmer-and-real-dom-in-front-end-development/</guid>
      <description>In front-end development, understanding the differences between Virtual DOM, Glimmer, and Real DOM can help you choose the right library or framework for your project. Let&amp;rsquo;s explore the concepts behind these DOM manipulation engines and compare their performance and features.</description>
    </item>
    <item>
      <title>Ruby on Rails Best Practices</title>
      <link>https://www.toidang.xyz/posts/2016/10/04/ruby-on-rails-best-practices/</link>
      <pubDate>Tue, 04 Oct 2016 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2016/10/04/ruby-on-rails-best-practices/</guid>
      <description>In Ruby on Rails, following best practices is essential for writing clean, maintainable, and efficient code. By adhering to established conventions and guidelines, developers can optimize their codebase, improve performance, and enhance the overall quality of their Rails applications. Let&amp;rsquo;s explore some of the best practices for Ruby on Rails development.</description>
    </item>
    <item>
      <title>Prevent Content Type Spoofing on Paperclip</title>
      <link>https://www.toidang.xyz/posts/2016/10/03/prevent-content-type-spoofing-on-paperclip/</link>
      <pubDate>Mon, 03 Oct 2016 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2016/10/03/prevent-content-type-spoofing-on-paperclip/</guid>
      <description>If you have ever used paperclip, maybe you have seen the message like that: Image has contents that are not what they are reported to be. For this bug, we will have two solutions: specify an extension that cannot otherwise be mapped or override media_type_spoof_detector method.</description>
    </item>
    <item>
      <title>Ruby Best Practices</title>
      <link>https://www.toidang.xyz/posts/2016/10/03/ruby-best-practices/</link>
      <pubDate>Mon, 03 Oct 2016 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2016/10/03/ruby-best-practices/</guid>
      <description>In Ruby, following best practices is essential for writing clean, maintainable, and efficient code. By adhering to established conventions and guidelines, developers can optimize their codebase, improve performance, and enhance the overall quality of their Ruby applications. Let&amp;rsquo;s explore some of the best practices for Ruby development.</description>
    </item>
    <item>
      <title>Proc, Lambda, and Block in Ruby</title>
      <link>https://www.toidang.xyz/posts/2016/10/02/proc-lambda-and-block-in-ruby/</link>
      <pubDate>Sun, 02 Oct 2016 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2016/10/02/proc-lambda-and-block-in-ruby/</guid>
      <description>In Ruby, you can invoke, execute, or run Threads, Anonymous functions, Strings, and even methods that have been turned into objects. Let&amp;rsquo;s delve into the Callable and Runnable nature of Objects in Ruby.</description>
    </item>
    <item>
      <title>Ember - Controllers are Singletons</title>
      <link>https://www.toidang.xyz/posts/2016/10/01/ember-controllers-are-singletons/</link>
      <pubDate>Sat, 01 Oct 2016 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2016/10/01/ember-controllers-are-singletons/</guid>
      <description>Controllers in Ember are singletons. When the user leaves a page and goes to another one, the controller is not torn down. It lives on, keeping its properties. This makes sense for a framework that aims to create long-lived, rich client-side applications, but it&amp;rsquo;s something to watch out for when developing Ember applications.</description>
    </item>
    <item>
      <title>Ember - Bootstrap Modal</title>
      <link>https://www.toidang.xyz/posts/2016/09/30/ember-bootstrap-modal/</link>
      <pubDate>Fri, 30 Sep 2016 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2016/09/30/ember-bootstrap-modal/</guid>
      <description>Learn how to create a modal in Ember.js using Ember Wormhole and Ember Route Action Helper. This tutorial provides a step-by-step guide to implementing a modal component in your Ember application.</description>
    </item>
    <item>
      <title>Ember - Ember Addons</title>
      <link>https://www.toidang.xyz/posts/2016/09/29/ember-ember-addons/</link>
      <pubDate>Thu, 29 Sep 2016 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2016/09/29/ember-ember-addons/</guid>
      <description>Ember.js is a powerful front-end framework that comes with a rich ecosystem of addons to extend its functionality. In this article, we&amp;rsquo;ll explore some of the most popular Ember addons that can help you build better web applications.</description>
    </item>
    <item>
      <title>PostgreSQL Best Practices</title>
      <link>https://www.toidang.xyz/posts/2016/09/28/postgresql-best-practices/</link>
      <pubDate>Wed, 28 Sep 2016 18:08:55 +0700</pubDate>
      <guid>https://www.toidang.xyz/posts/2016/09/28/postgresql-best-practices/</guid>
      <description>PostgreSQL is a powerful, open source object-relational database system with decades of active development and a proven architecture. In this post, I will share some best practices to keep your PostgreSQL database fast, from EXPLAIN and indexing to schema design and basic configuration.</description>
    </item>
  </channel>
</rss>
