<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://robert-chang.com/</loc>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://robert-chang.com/" />
    <xhtml:link rel="alternate" hreflang="en" href="https://robert-chang.com/en" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://robert-chang.com/" />
  </url>
  <url>
    <loc>https://robert-chang.com/archive</loc>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://robert-chang.com/archive" />
    <xhtml:link rel="alternate" hreflang="en" href="https://robert-chang.com/en/archive" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://robert-chang.com/archive" />
  </url>
  <url>
    <loc>https://robert-chang.com/about</loc>
    <xhtml:link rel="alternate" hreflang="zh-Hant" href="https://robert-chang.com/about" />
    <xhtml:link rel="alternate" hreflang="en" href="https://robert-chang.com/en/about" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://robert-chang.com/about" />
  </url>
  <url>
    <loc>https://robert-chang.com/still-no-silver-bullet</loc>
    <lastmod>2026-07-05T08:44:43Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/changed-to-a-engineer-and-survived-for-two-years</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-the-learning-map</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-control-the-query-results</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-fuzzy-match-query</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-phrase-search</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-search-multiple-fields</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-scoring</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-full-text-query</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-term-level-query</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-basic-query</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-reindex-and-alias</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-type-coercion</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-mapping-and-data-type</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-use-analyze-api-and-inverted-indices</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-analyzer-introduction</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-bulk-import</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-update-and-delete-by-query</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-versioning-and-optimistic-control</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-write-data-and-basic-recovery-process</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/understand-elasticsearch-routing-and-upsert</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-scripts-update</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/crud-of-elasticsearch-index-and-document</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-add-new-node-to-cluster</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-replica-sharding</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/elasticsearch-sharding</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/inspect-elasticsearch-cluster</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/basic-architecture-of-elasticsearch</loc>
    <lastmod>2026-07-05T17:58:50Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/setup-elasticsearch-and-kibana</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/install-elasticsearch</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/introduce-elastic-stack</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/introduce-elasticsearch</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/use-docker-volume</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/introduce-docker-volume</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/how-to-use-dockerignore</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/multi-stage-build-image</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/cache-mechanism-for-building-docker-image</loc>
    <lastmod>2026-07-05T17:58:50Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/build-docker-image</loc>
    <lastmod>2026-07-05T17:58:50Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/docker-file-command-explanation</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/name-of-docker-image-and-docker-registry</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/push-docker-image-to-docker-hub</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/the-read-only-nature-of-docker-image</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/the-secret-of-docker-image-caching</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/docker-image-tag</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/what-is-docker-image</loc>
    <lastmod>2026-07-05T18:01:00Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/the-dns-in-the-docker</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/docker-network-command</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/docker-netowrk-part-two</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/docker-network</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/deep-into-docker-container-part-two</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/deep-into-docker-container</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/docker-container-versus-virtual-machine</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/how-to-use-docker-container-part-three</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/how-to-use-docker-container-part-two</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/how-to-use-docker-container</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/what-happens-when-a-docker-container-run</loc>
    <lastmod>2026-07-05T18:01:13Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/run-the-docker-container</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/what-is-docker</loc>
    <lastmod>2026-07-05T18:00:37Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/docker-basic-structure</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/install-docker</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/docker-pretrip-information</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/where-is-docker-come-from</loc>
    <lastmod>2026-07-05T17:59:56Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/behind-the-http</loc>
    <lastmod>2026-07-05T17:58:50Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/five-benefits-of-automated-testing</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-factories-and-fixtures</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-characterization-test</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-mock-stub</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-which-test-is-important</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-vcr-webmock</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-capybara-setting</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-factory-bot</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-rails-intro</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-spies</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-instance-double</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-double-object</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-matchers-part-four</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-matchers-part-three</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-matchers-part-two</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-matchers</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-shared-example</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/variables-of-rspec</loc>
    <lastmod>2026-07-05T18:01:26Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/rspec-hooks-and-scope</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/learn-to-use-context</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/let-method-and-customize-error-message</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/organize-examples</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/how-to-deal-with-lots-examples</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/reading-errors-to-passing-test</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/basic-syntax-of-rspec</loc>
    <lastmod>2026-07-05T17:58:50Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/test-driven-development</loc>
    <lastmod>2026-07-05T17:58:52Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/initial-rpsec-folder-profiling</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/install-rspec-and-setting</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/different-types-of-tests</loc>
    <lastmod>2026-07-05T17:58:51Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/what-is-the-rspec</loc>
    <lastmod>2026-07-05T18:00:21Z</lastmod>
  </url>
  <url>
    <loc>https://robert-chang.com/javascript-es6-syntax</loc>
    <lastmod>2026-07-05T09:06:36Z</lastmod>
  </url>
</urlset>
