<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://hsuanblog.com/tags/ai/</loc>
    <lastmod>2026-04-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/</loc>
    <lastmod>2026-04-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/ai_refactoring_legacy_code_real_experience_2026_04_19/</loc>
    <lastmod>2026-04-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/</loc>
    <lastmod>2026-04-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/</loc>
    <lastmod>2026-04-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/building_an_identity_server_and_crm_system_my_2025_engineering_recap_2026_01_05/</loc>
    <lastmod>2026-01-05T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/aws/</loc>
    <lastmod>2025-05-12T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/aws/</loc>
    <lastmod>2025-05-12T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/</loc>
    <lastmod>2025-05-12T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/one_to_many_and_many_to_many_in_dynamodb_guide_with_simple_steps_2025_05_12/</loc>
    <lastmod>2025-05-12T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/how_oidc_builds_on_oauth2_simple_guide_2025_04_03/</loc>
    <lastmod>2025-04-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/oauth2/</loc>
    <lastmod>2025-04-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/oauth2/</loc>
    <lastmod>2025-04-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/oidc/</loc>
    <lastmod>2025-04-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/four_oauth2_grant_types_for_developers_2025_03_01/</loc>
    <lastmod>2025-03-01T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/five_benefits_of_using_aws_s3_multipart_upload_2025_02_14/</loc>
    <lastmod>2025-02-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/internet/</loc>
    <lastmod>2024-09-22T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/internet/</loc>
    <lastmod>2024-09-22T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/node.js/</loc>
    <lastmod>2024-09-22T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/what_are_sse_server_sent_events_expressjs_example_2024_09_22/</loc>
    <lastmod>2024-09-22T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/dsa/</loc>
    <lastmod>2024-08-18T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/implement_five_common_sorting_algorithms_with_javascript_2024_08_18/</loc>
    <lastmod>2024-08-18T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/javascript/</loc>
    <lastmod>2024-08-18T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/javascript/</loc>
    <lastmod>2024-08-18T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/back-end/</loc>
    <lastmod>2024-05-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/docker/</loc>
    <lastmod>2024-05-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/docker/</loc>
    <lastmod>2024-05-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/how_to_dockerize_nestjs_2024_05_14/</loc>
    <lastmod>2024-05-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/nestjs/</loc>
    <lastmod>2024-05-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/node.js/</loc>
    <lastmod>2024-05-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/laravel/</loc>
    <lastmod>2024-01-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/laravel/</loc>
    <lastmod>2024-01-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/laravel-%E9%97%9C%E8%81%AF-model/</loc>
    <lastmod>2024-01-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/orm/</loc>
    <lastmod>2024-01-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/php/</loc>
    <lastmod>2024-01-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/php/</loc>
    <lastmod>2024-01-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/php-%E4%BD%BF%E7%94%A8%E7%AD%86%E8%A8%98/</loc>
    <lastmod>2024-01-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/rails/</loc>
    <lastmod>2023-10-12T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/rails/</loc>
    <lastmod>2023-10-12T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/rails_polymorphic_2023_10_12/</loc>
    <lastmod>2023-10-12T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/crud/</loc>
    <lastmod>2023-06-08T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/rails_n_plus_one_with_joins_includes_preload_and_eager_load_2023_06_08/</loc>
    <lastmod>2023-06-08T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/sql/</loc>
    <lastmod>2023-06-08T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/sql/</loc>
    <lastmod>2023-06-08T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/rails-%E5%9F%BA%E7%A4%8E-orm-%E5%B0%8D%E6%87%89%E7%9A%84-sql-%E8%AA%9E%E6%B3%95/</loc>
    <lastmod>2023-06-04T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/ruby/</loc>
    <lastmod>2023-04-23T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/categories/ruby/</loc>
    <lastmod>2023-04-23T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/ruby-%E5%AF%A6%E9%AB%94%E6%96%B9%E6%B3%95-vs-%E9%A1%9E%E5%88%A5%E6%96%B9%E6%B3%95/</loc>
    <lastmod>2023-04-23T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/rails%E4%B8%AD%E4%BD%BF%E7%94%A8postgresql/</loc>
    <lastmod>2023-04-15T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/rails-orm-%E5%B8%B8%E8%A6%8B%E7%9A%84crud%E6%8C%87%E4%BB%A4/</loc>
    <lastmod>2023-04-04T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/tags/front-end/</loc>
    <lastmod>2023-04-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/javascript-%E4%B8%AD%E7%9A%84-call-by-sharing/</loc>
    <lastmod>2023-04-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://hsuanblog.com/posts/js%E5%AF%A6%E7%94%A8%E8%AA%9E%E6%B3%95/</loc>
    <lastmod>2023-03-22T00:00:00+00:00</lastmod>
  </url>
</urlset>
