<?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://ofeng.org/posts/nestjs-request-scoped-providers-background-workers/</loc>
    <lastmod>2026-03-09T09:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/backend/</loc>
    <lastmod>2026-03-09T09:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/backend/</loc>
    <lastmod>2026-03-09T09:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/</loc>
    <lastmod>2026-03-09T09:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/</loc>
    <lastmod>2026-03-09T09:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/nestjs/</loc>
    <lastmod>2026-03-09T09:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/</loc>
    <lastmod>2026-03-09T09:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/</loc>
    <lastmod>2026-03-09T09:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/nestjs-redis-bucket/</loc>
    <lastmod>2025-10-05T07:29:13+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/cloud-run-comfyui/</loc>
    <lastmod>2025-04-27T07:08:35+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/comfyui/</loc>
    <lastmod>2025-04-27T07:08:35+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/dify/</loc>
    <lastmod>2025-01-29T09:51:58+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/how-to-rag/</loc>
    <lastmod>2025-01-29T09:51:58+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/llm/</loc>
    <lastmod>2025-01-29T09:51:58+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/rag/</loc>
    <lastmod>2025-01-29T09:51:58+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/asyncio/</loc>
    <lastmod>2024-12-09T12:48:15+08:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/python/</loc>
    <lastmod>2024-12-09T12:48:15+08:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/multiple-asyncio-framework/</loc>
    <lastmod>2024-12-09T12:48:15+08:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/telegram-bot/</loc>
    <lastmod>2024-12-09T12:48:15+08:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/guide-to-llm-evaluation-frameworks/</loc>
    <lastmod>2024-11-08T07:01:09+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/llm-evaluation/</loc>
    <lastmod>2024-11-08T07:01:09+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/aws/</loc>
    <lastmod>2024-09-09T10:23:43+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/lambda/</loc>
    <lastmod>2024-09-09T10:23:43+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/telegram/</loc>
    <lastmod>2024-09-09T10:23:43+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/telegram-bot-with-aws-lambda/</loc>
    <lastmod>2024-09-09T10:23:43+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/terraform/</loc>
    <lastmod>2024-09-09T10:23:43+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/agent/</loc>
    <lastmod>2024-08-06T20:31:50+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/ai/</loc>
    <lastmod>2024-08-06T20:31:50+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/gpt-researcher-deep-dive/</loc>
    <lastmod>2024-08-06T20:31:50+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/crewai/</loc>
    <lastmod>2024-07-05T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/multi-agents-article-generation/</loc>
    <lastmod>2024-07-05T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/devops/</loc>
    <lastmod>2024-04-26T15:56:01+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/loki-grafana-prometheus-install-2024/</loc>
    <lastmod>2024-04-26T15:56:01+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/kubernetes/</loc>
    <lastmod>2024-04-26T15:56:01+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/monitoring/</loc>
    <lastmod>2024-04-26T15:56:01+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/browser-extension/</loc>
    <lastmod>2024-04-05T16:24:29+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/chrome-extension-auth/</loc>
    <lastmod>2024-04-05T16:24:29+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/firebase/</loc>
    <lastmod>2024-04-05T16:24:29+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/gin/</loc>
    <lastmod>2024-01-19T16:11:54+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/go/</loc>
    <lastmod>2024-01-19T16:11:54+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/go-embed-vite/</loc>
    <lastmod>2024-01-19T16:11:54+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/react/</loc>
    <lastmod>2024-01-19T16:11:54+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/vite/</loc>
    <lastmod>2024-01-19T16:11:54+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/oauth/</loc>
    <lastmod>2024-01-05T08:14:55+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/social-login-without-backend/</loc>
    <lastmod>2024-01-05T08:14:55+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/supabase/</loc>
    <lastmod>2024-01-05T08:14:55+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/react-infinite-scrolling/</loc>
    <lastmod>2023-12-03T08:59:25+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/typescript/</loc>
    <lastmod>2023-12-03T08:59:25+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/wailsapp-review/</loc>
    <lastmod>2023-11-26T09:34:53+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/codedeepdive/</loc>
    <lastmod>2023-11-05T15:54:24+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/learn-loki-1/</loc>
    <lastmod>2023-11-05T15:54:24+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/loki/</loc>
    <lastmod>2023-11-05T15:54:24+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/grafana/</loc>
    <lastmod>2023-10-27T14:57:37+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/springboot-prometheus-grafana/</loc>
    <lastmod>2023-10-27T14:57:37+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/prometheus/</loc>
    <lastmod>2023-10-27T14:57:37+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/springboot/</loc>
    <lastmod>2023-10-27T14:57:37+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/go-react-vite/</loc>
    <lastmod>2023-10-20T18:52:06+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/best-practices/</loc>
    <lastmod>2023-10-13T14:50:47+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/learn-build-go-applications-from-grafana/</loc>
    <lastmod>2023-10-13T14:50:47+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/build-go-commandline-app-with-cobra/</loc>
    <lastmod>2023-10-09T07:07:58+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/cobra/</loc>
    <lastmod>2023-10-09T07:07:58+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/goroutine-pool/</loc>
    <lastmod>2023-09-30T10:53:02+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/java/</loc>
    <lastmod>2023-09-22T15:20:23+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/node.js/</loc>
    <lastmod>2023-09-22T15:20:23+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/queue/</loc>
    <lastmod>2023-09-22T15:20:23+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/task-queues-in-different-langueages/</loc>
    <lastmod>2023-09-22T15:20:23+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/rss/</loc>
    <lastmod>2023-09-15T16:03:53+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/best-self-host-rss-reader/</loc>
    <lastmod>2023-09-15T16:03:53+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/cloudflare-worker-caching/</loc>
    <lastmod>2023-09-08T15:40:33+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/caching/</loc>
    <lastmod>2023-09-08T15:40:33+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/cloudflare/</loc>
    <lastmod>2023-09-08T15:40:33+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/cloudfare/</loc>
    <lastmod>2023-09-01T15:48:04+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/streamlit/</loc>
    <lastmod>2023-09-01T15:48:04+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/streamlit-cloudfare-image-gallery/</loc>
    <lastmod>2023-09-01T15:48:04+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/nodejs-queue-pm2/</loc>
    <lastmod>2023-08-25T14:49:58+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/javascript/</loc>
    <lastmod>2023-08-25T14:49:58+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/browser-extension-plugin-development/</loc>
    <lastmod>2023-08-19T08:27:34+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/github-action-approval/</loc>
    <lastmod>2023-08-11T20:59:08+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/devops/</loc>
    <lastmod>2023-08-04T16:12:20+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/self-host-wordpress-k8s/</loc>
    <lastmod>2023-08-04T16:12:20+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/wordpress/</loc>
    <lastmod>2023-08-04T16:12:20+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/langchain-streamlit-build-your-own-sql-chat/</loc>
    <lastmod>2023-07-28T14:50:38+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/data/</loc>
    <lastmod>2023-07-28T14:50:38+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/langchain/</loc>
    <lastmod>2023-07-28T14:50:38+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/cloudflare/</loc>
    <lastmod>2023-07-22T12:13:09+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/javascript/</loc>
    <lastmod>2023-07-22T12:13:09+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/node/</loc>
    <lastmod>2023-07-22T12:13:09+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/node-formdata-upload-cloudflare-image/</loc>
    <lastmod>2023-07-22T12:13:09+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/projects/</loc>
    <lastmod>2023-04-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/full-stack-home-server/</loc>
    <lastmod>2023-01-03T15:54:27+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/dev-guide-to-k8s-deployment/</loc>
    <lastmod>2022-08-09T14:32:04+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/kong-plugin-test/</loc>
    <lastmod>2022-08-05T15:09:43+01:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/hackers-and-painters-re-review/</loc>
    <lastmod>2020-12-27T09:54:30+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/%E6%9D%82%E6%96%87/</loc>
    <lastmod>2020-12-27T09:54:30+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/%E6%9D%82%E6%96%87/</loc>
    <lastmod>2020-12-27T09:54:30+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/data/</loc>
    <lastmod>2020-11-21T08:24:12+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/ml/</loc>
    <lastmod>2020-11-21T08:24:12+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pairs-trading/</loc>
    <lastmod>2020-11-21T08:24:12+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/kong-vs-goku/</loc>
    <lastmod>2020-09-19T10:44:08+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/uk-papers/</loc>
    <lastmod>2020-09-12T11:13:59+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/tsla-cov-analysis/</loc>
    <lastmod>2020-09-05T15:35:15+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/the-guide-to-predictive-data-analysis-on-mimic/</loc>
    <lastmod>2020-05-30T08:40:46+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/how-to-kaggle-5/</loc>
    <lastmod>2019-11-28T07:26:52+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/how-to-kaggle-4/</loc>
    <lastmod>2019-11-02T07:26:52+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/how-to-kaggle-3/</loc>
    <lastmod>2019-10-27T18:26:35+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/how-to-kaggle-2/</loc>
    <lastmod>2019-08-27T18:08:51+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/how-to-kaggle-1/</loc>
    <lastmod>2019-08-26T22:06:54+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/categories/algorithm/</loc>
    <lastmod>2018-11-08T11:14:28+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/algorithm/</loc>
    <lastmod>2018-11-08T11:14:28+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/backward-propagation-of-neural-network-explained/</loc>
    <lastmod>2018-11-08T11:14:28+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/stochastic-gradient-descent/</loc>
    <lastmod>2018-11-08T11:14:28+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-how-to-plot-counts-of-each-value/</loc>
    <lastmod>2018-10-22T20:40:47+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-how-to-calculate-datetime-difference-in-years/</loc>
    <lastmod>2018-10-22T16:43:34+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-how-to-list-all-columns/</loc>
    <lastmod>2018-10-19T22:31:23+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-how-to-import-from-sql-server/</loc>
    <lastmod>2018-10-18T20:08:25+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/basics-of-words-embedding/</loc>
    <lastmod>2018-10-01T11:14:28+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/what-is-tf-data-and-how-to-use/</loc>
    <lastmod>2018-09-26T20:30:31+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-handle-missing-data/</loc>
    <lastmod>2018-09-23T20:40:37+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-how-to-select-data/</loc>
    <lastmod>2018-09-20T21:49:51+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/what-is-attention-and-how-to-use/</loc>
    <lastmod>2018-09-20T10:06:45+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-how-to-drop-columns-rows/</loc>
    <lastmod>2018-09-18T21:39:25+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-how-to-rename-columns/</loc>
    <lastmod>2018-09-17T22:11:55+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/pandas-how-to-import-csv/</loc>
    <lastmod>2018-09-16T16:30:37+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/distributed-transactions-and-eventual-consistency/</loc>
    <lastmod>2018-08-26T21:38:34+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/how-to-troubleshooting-cpu-load-problems/</loc>
    <lastmod>2018-08-26T21:34:35+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/tensorflow101/</loc>
    <lastmod>2018-07-10T22:25:42+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/a-concurrency-requesting-case/</loc>
    <lastmod>2017-08-26T21:31:03+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/what-you-need-to-know-for-memory-leaks-troubleshooting/</loc>
    <lastmod>2017-08-25T17:12:06+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/key-points-of-threadpool/</loc>
    <lastmod>2017-06-26T21:44:08+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/posts/my-take-on-distributed-system/</loc>
    <lastmod>2017-03-25T19:37:04+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/about/</loc>
    <lastmod>1010-01-01T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://ofeng.org/tags/geek/</loc>
    <lastmod>1010-01-01T00:00:00+00:00</lastmod>
  </url>
</urlset>
