<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://xfyuan.github.io/2013/08/vagrant-is-a-powerfull-tool-for-developer/</loc>
<lastmod>2013-08-14T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2013/08/use-vagrant-and-chef-to-create-virtual-environment-quickly/</loc>
<lastmod>2013-08-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2014/04/set-up-development-environment-and-workflow-using-cygwin-in-windows7/</loc>
<lastmod>2014-04-25T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2017/03/the-inheritance-of-rails-render-path/</loc>
<lastmod>2017-03-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2017/03/use-alfred-to-auto-upload-screenshot-to-qiniu-and-generate-the-markdown-image-url/</loc>
<lastmod>2017-03-17T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2017/03/prefer-ember-js-over-angular-and-react-js/</loc>
<lastmod>2017-03-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/06/update-blog-to-jekyll-4-1-with-github-actions/</loc>
<lastmod>2020-06-18T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/06/dhh-citadel-pattern-for-majestic-monolith/</loc>
<lastmod>2020-06-22T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/06/programming-elixir-1-6-preface/</loc>
<lastmod>2020-06-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/06/vim-increase-numbers/</loc>
<lastmod>2020-06-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/06/programming-elixir-1-6-chapter-1/</loc>
<lastmod>2020-06-28T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/06/programming-elixir-1-6-chapter-2/</loc>
<lastmod>2020-06-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/06/rspec-9-tips/</loc>
<lastmod>2020-06-30T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/programming-elixir-1-6-chapter-3/</loc>
<lastmod>2020-07-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/programming-elixir-1-6-chapter-4-part1/</loc>
<lastmod>2020-07-02T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/programming-elixir-1-6-chapter-4-part2/</loc>
<lastmod>2020-07-03T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/dhh-talk-about-heystack/</loc>
<lastmod>2020-07-04T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/integrate-stimulus-and-tailwindcss-with-rails6/</loc>
<lastmod>2020-07-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/patch-sf-mono-to-nerd-font/</loc>
<lastmod>2020-07-08T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/dockeerizing-rails-development/</loc>
<lastmod>2020-07-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/dip-introduction/</loc>
<lastmod>2020-07-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/vim-mac-dictionary-plugin/</loc>
<lastmod>2020-07-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/proper-browser-testing-in-rails/</loc>
<lastmod>2020-07-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/programming-elixir-1-6-chapter-5/</loc>
<lastmod>2020-07-20T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/testprof-doctor-for-slow-ruby-tests/</loc>
<lastmod>2020-07-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/testprof-factory-therapy-for-ruby-tests/</loc>
<lastmod>2020-07-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/became-github-arctic-code-vault-contributor/</loc>
<lastmod>2020-07-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/07/github-special-readme-appear-on-profile/</loc>
<lastmod>2020-07-27T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/08/ports-and-adapters-pattern-part1/</loc>
<lastmod>2020-08-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/08/ports-and-adapters-pattern-part2/</loc>
<lastmod>2020-08-12T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/08/ports-and-adapters-pattern-part3/</loc>
<lastmod>2020-08-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/08/testprof-chinese-doc-is-online/</loc>
<lastmod>2020-08-18T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/09/auto-run-mongodb-docker-in-replica-mode/</loc>
<lastmod>2020-09-22T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/10/build-docker-with-private-ssh-key/</loc>
<lastmod>2020-10-17T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/10/squash-n-plus-one-queries-in-rails/</loc>
<lastmod>2020-10-31T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/11/auto-run-mongodb-docker-in-replica-mode-update/</loc>
<lastmod>2020-11-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/11/graphql-on-rails-series-1/</loc>
<lastmod>2020-11-12T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/11/graphql-on-rails-series-2/</loc>
<lastmod>2020-11-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/11/graphql-on-rails-series-3/</loc>
<lastmod>2020-11-28T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2020/12/how-to-graphql-no-n-plus-one/</loc>
<lastmod>2020-12-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/02/switch-to-neovim-builtin-lsp/</loc>
<lastmod>2021-02-22T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/02/neovim-builtin-lsp-basic-configuration/</loc>
<lastmod>2021-02-27T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/03/neovim-builtin-lsp-keymappings/</loc>
<lastmod>2021-03-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/03/hotwire-turbo-introduction/</loc>
<lastmod>2021-03-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/03/a-awesome-neovim-lsp-plugin/</loc>
<lastmod>2021-03-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/03/hotwire-turbo-drive/</loc>
<lastmod>2021-03-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/03/hotwire-turbo-frame/</loc>
<lastmod>2021-03-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/03/hotwire-turbo-streams/</loc>
<lastmod>2021-03-19T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/03/hotwire-build-turbo-application/</loc>
<lastmod>2021-03-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/04/the-foundation-of-how-tailwindcss-works/</loc>
<lastmod>2021-04-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/04/hotwire-reactive-rails-with-no-javascript/</loc>
<lastmod>2021-04-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/09/jetbrains-assigned-open-source-licence-to-me/</loc>
<lastmod>2021-09-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/09/jekyll-on-m1-macbook/</loc>
<lastmod>2021-09-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2021/11/github-copilot-in-neovim/</loc>
<lastmod>2021-11-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/03/fate-fangs-on-me/</loc>
<lastmod>2022-03-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/03/neovim-plugins-over-one-hundred/</loc>
<lastmod>2022-03-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/04/my-github-contribution-in-recent-five-years/</loc>
<lastmod>2022-04-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/04/add-a-legend-area-in-my-vim-config/</loc>
<lastmod>2022-04-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/08/setup-a-new-macos-dev-env/</loc>
<lastmod>2022-08-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/08/turbo-streams-vs-frames/</loc>
<lastmod>2022-08-23T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/11/viewcomponent-in-the-wild-building-modern-rails-frontends/</loc>
<lastmod>2022-11-08T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/11/viewcomponent-in-the-wild-supercharging-your-components/</loc>
<lastmod>2022-11-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/11/vanilla-rails-is-plenty/</loc>
<lastmod>2022-11-17T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/11/rails7-zeitwerk-mode/</loc>
<lastmod>2022-11-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/11/copy-foler-structure-without-contents/</loc>
<lastmod>2022-11-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/11/cyan-mountain/</loc>
<lastmod>2022-11-29T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/12/deep-into-rails-zeitwerk-autoloader/</loc>
<lastmod>2022-12-04T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/12/10x-productive-programmer/</loc>
<lastmod>2022-12-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/12/vite-lizing-rails/</loc>
<lastmod>2022-12-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2022/12/world-cup-2022/</loc>
<lastmod>2022-12-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/02/blog-use-a-new-brand/</loc>
<lastmod>2023-02-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/02/lazy-neovim/</loc>
<lastmod>2023-02-13T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/03/pending-tests/</loc>
<lastmod>2023-03-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/03/fractal-journeys/</loc>
<lastmod>2023-03-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/04/domain-driven-boldness/</loc>
<lastmod>2023-04-04T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/06/good-concerns/</loc>
<lastmod>2023-06-16T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/09/jetbrains-embrace-neovim/</loc>
<lastmod>2023-09-11T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/09/valadimir-gift-book/</loc>
<lastmod>2023-09-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2023/12/the-radiating-programmer/</loc>
<lastmod>2023-12-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2024/01/hearthstone-deck-creative/</loc>
<lastmod>2024-01-06T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2024/01/testprof-3-guided-and-automated-ruby-test-profiling/</loc>
<lastmod>2024-01-15T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2024/04/viewcomponent-in-the-wild-embracing-tailwindcss-classes-and-html-attributes/</loc>
<lastmod>2024-04-25T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2024/05/why-should-developers-write-3-reasons-and-3-common-blocks/</loc>
<lastmod>2024-05-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2024/06/five-cool-and-surprising-ways-to-configure-lefthook-for-automation-joy/</loc>
<lastmod>2024-06-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2024/06/let-there-be-docs-a-documentation-first-approach-to-rails-api-development/</loc>
<lastmod>2024-06-08T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2025/03/inertiajs-in-rails-a-new-era-of-effortless-integration/</loc>
<lastmod>2025-03-12T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2025/03/gemfile-of-dreams-libraries-we-use-to-build-rails-apps/</loc>
<lastmod>2025-03-26T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2025/04/railing-against-time-tools-and-techniques-that-got-us-5x-faster-result/</loc>
<lastmod>2025-04-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2025/06/keeping-rails-cool-the-modern-frontend-toolkit/</loc>
<lastmod>2025-06-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2025/06/12-days-of-mandatory-developer-joy-and-challenge/</loc>
<lastmod>2025-06-10T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/2025/07/who-is-llm/</loc>
<lastmod>2025-07-24T00:00:00+00:00</lastmod>
</url>
<url>
<loc>http://xfyuan.github.io/about</loc>
</url>
<url>
<loc>http://xfyuan.github.io/categories</loc>
</url>
<url>
<loc>http://xfyuan.github.io/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/tags</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page2/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page3/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page4/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page5/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page6/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page7/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page8/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page9/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page10/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page11/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page12/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page13/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page14/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page15/</loc>
</url>
<url>
<loc>http://xfyuan.github.io/page16/</loc>
</url>
</urlset>
