<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
    <channel>
      <title>My Learning Journey</title>
      <link>https://mohammedhamzamalik.github.io/my-garden</link>
      <description>Last 10 notes on My Learning Journey</description>
      <generator>Quartz -- quartz.jzhao.xyz</generator>
      <item>
    <title>DSA</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/dsa/</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/dsa/</guid>
    <description><![CDATA[ DSA Notes on data structures and algorithms: problems, patterns, and implementations. Add new notes here as you go. ]]></description>
    <pubDate>Sat, 04 Apr 2026 04:48:59 GMT</pubDate>
  </item><item>
    <title>Arrays &amp; Hashing — First Pattern</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/dsa/arrays-and-hashing-basics</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/dsa/arrays-and-hashing-basics</guid>
    <description><![CDATA[ Using arrays with hash maps and sets for O(1) lookups, frequency counts, and complement problems—building on Big O. ]]></description>
    <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>My Learning Journey</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/</guid>
    <description><![CDATA[ Welcome! I’m Hamza. This is my little hypertext garden on the internet — make yourself at home. ]]></description>
    <pubDate>Sat, 14 Mar 2026 05:01:12 GMT</pubDate>
  </item><item>
    <title>Backend</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/backend/</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/backend/</guid>
    <description><![CDATA[ Backend Notes and projects on Java, Spring Boot, databases, and APIs—from the JVM and concurrency to transactional REST APIs, locking, testing, and deployment. ]]></description>
    <pubDate>Sat, 14 Mar 2026 04:58:07 GMT</pubDate>
  </item><item>
    <title>Big O and Why It Matters</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/dsa/big-o-and-why-it-matters</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/dsa/big-o-and-why-it-matters</guid>
    <description><![CDATA[ A short intro to Big O notation and why we use it when talking about data structures and algorithms. ]]></description>
    <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>Deploying the Transfer API — Docker and Beyond</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/backend/deploying-the-transfer-api-docker-and-beyond</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/backend/deploying-the-transfer-api-docker-and-beyond</guid>
    <description><![CDATA[ Containerize the transfer API with a multi-stage Dockerfile, run app + PostgreSQL with Docker Compose, and options for cloud deployment. ]]></description>
    <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>Testing the Transfer API — Unit and Integration Tests</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/backend/testing-the-transfer-api-unit-and-integration</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/backend/testing-the-transfer-api-unit-and-integration</guid>
    <description><![CDATA[ Unit tests for TransferService with mocked repositories, and integration tests for the REST endpoint with MockMvc—validation, success, and error paths. ]]></description>
    <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>REST API Design — DTOs, Validation, and Structured Error Responses</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/backend/rest-api-design-dtos-validation-error-handling</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/backend/rest-api-design-dtos-validation-error-handling</guid>
    <description><![CDATA[ Move from query params to request/response DTOs, add Bean Validation, and return consistent error payloads with @ControllerAdvice—without losing transactional guarantees. ]]></description>
    <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>Why @Transactional Isn’t Enough — Solving the Double Spend with JPA Locking</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/backend/why-transactional-isnt-enough-jpa-locking</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/backend/why-transactional-isnt-enough-jpa-locking</guid>
    <description><![CDATA[ Reproduce the “double spend” (lost update) in a transactional Spring Boot API, then fix it with optimistic locking (@Version) and pessimistic locking (SELECT FOR UPDATE). ]]></description>
    <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>Database Transactions &amp; Connection Pooling — Plain Java, No Spring</title>
    <link>https://mohammedhamzamalik.github.io/my-garden/backend/database-transactions-and-connection-pooling</link>
    <guid>https://mohammedhamzamalik.github.io/my-garden/backend/database-transactions-and-connection-pooling</guid>
    <description><![CDATA[ Raw JDBC, HikariCP, and ACID transactions—transferring money between accounts, crashing halfway through, and watching the database roll back. ]]></description>
    <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
  </item>
    </channel>
  </rss>