<?xml version="1.0" encoding="UTF-8"?>
<!--generator='jetpack-16.4'-->
<!--Jetpack_Sitemap_Buffer_News_XMLWriter-->
<?xml-stylesheet type="text/xsl" href="//linhfish.dev/news-sitemap.xsl"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" 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">
 <url>
  <loc>https://linhfish.dev/2026/11/08/django-2028-bat-dau-thanh-hinh-nhanh-bootstrap-da-san-sang-bo-python-3-12-3-13-va-khai-tu-email_/</loc>
  <lastmod>2026-11-08T05:12:42Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django 2028 bắt đầu thành hình: nhánh bootstrap đã sẵn sàng, bỏ Python 3.12/3.13 và khai tử EMAIL_*</news:title>
   <news:publication_date>2026-11-08T05:12:40Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/django-hien-thi-thong-bao-sau-redirect-bang-messages-framework-trong-5-phut/</loc>
  <lastmod>2026-11-08T03:11:17Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: hiển thị thông báo sau redirect bằng messages framework trong 5 phút</news:title>
   <news:publication_date>2026-11-08T03:11:15Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/pip-26-3-thua-nhan-cai-dat-wheel-co-the-chay-ma-3-thay-doi-ban-can-biet/</loc>
  <lastmod>2026-11-08T01:14:18Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>pip 26.3 thừa nhận: cài đặt wheel có thể chạy mã — 3 thay đổi bạn cần biết</news:title>
   <news:publication_date>2026-11-08T01:14:17Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/django-rest-framework-xac-thuc-api-bang-tokenauthentication-trong-5-phut/</loc>
  <lastmod>2026-11-07T23:19:23Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django REST Framework: xác thực API bằng TokenAuthentication trong 5 phút</news:title>
   <news:publication_date>2026-11-07T23:19:21Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/07/django-running-in-production-11-security-checklist-allowed_hosts-https-hsts-csrf-cors-secure_-settings-and-django-axes/</loc>
  <lastmod>2026-11-07T15:16:50Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django Running in Production #11: Security Checklist — ALLOWED_HOSTS, HTTPS/HSTS, CSRF/CORS, SECURE_* Settings and django-axes</news:title>
   <news:publication_date>2026-11-07T15:16:17Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/github-actions-chinh-thuc-co-lockfile-khoa-moi-action-ve-dung-commit-da-duyet-tag-co-troi-cung-khong-so/</loc>
  <lastmod>2026-11-07T15:11:37Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>GitHub Actions chính thức có lockfile: khóa mọi action về đúng commit đã duyệt, tag có &amp;quot;trôi&amp;quot; cũng không sợ</news:title>
   <news:publication_date>2026-11-07T15:11:35Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/07/django-send-email-with-send_mail-in-5-minutes-configure-smtp-the-right-way/</loc>
  <lastmod>2026-11-07T15:06:23Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: Send Email with send_mail() in 5 Minutes — Configure SMTP the Right Way</news:title>
   <news:publication_date>2026-11-07T15:05:27Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/07/fastapi-receive-form-data-with-form-a-standard-oauth2-login-endpoint-in-5-minutes/</loc>
  <lastmod>2026-11-07T14:54:17Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: Receive Form Data with Form() — a Standard OAuth2 Login Endpoint in 5 Minutes</news:title>
   <news:publication_date>2026-11-07T14:53:15Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/07/django-replace-repetitive-function-views-with-listview-and-detailview/</loc>
  <lastmod>2026-11-07T14:45:41Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: Replace Repetitive Function Views with ListView and DetailView</news:title>
   <news:publication_date>2026-11-07T14:45:07Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/07/flask-get-a-record-or-return-404-in-one-line-with-get_or_404-in-flask-sqlalchemy/</loc>
  <lastmod>2026-11-07T14:36:19Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: Get a Record or Return 404 in One Line with get_or_404() in Flask-SQLAlchemy</news:title>
   <news:publication_date>2026-11-07T14:35:30Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/django-van-hanh-production-11-security-checklist-allowed_hosts-https-hsts-csrf-cors-cac-secure_-va-django-axes/</loc>
  <lastmod>2026-11-07T13:08:40Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django vận hành production #11: Security checklist — ALLOWED_HOSTS, HTTPS/HSTS, CSRF/CORS, các SECURE_* và django-axes</news:title>
   <news:publication_date>2026-11-07T13:08:39Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/linh-fish-dev-podcast-26-fastapi-nhan-du-lieu-form-bang-form-endpoint-login-chuan-oauth2-trong-5-phut/</loc>
  <lastmod>2026-11-07T12:37:06Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Linh Fish Dev Podcast #26: FastAPI: nhận dữ liệu form bằng Form() — endpoint login chuẩn OAuth2 trong 5 phút</news:title>
   <news:publication_date>2026-11-07T12:37:04Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/wagtail-8-1-chinh-thuc-ra-mat-api-v3-viet-duoc-du-lieu-trang-phuc-vu-markdown-cho-ai-agent/</loc>
  <lastmod>2026-11-07T11:06:59Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Wagtail 8.1 chính thức ra mắt: API v3 viết được dữ liệu, trang phục vụ Markdown cho AI agent</news:title>
   <news:publication_date>2026-11-07T11:06:58Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/django-gui-email-bang-send_mail-trong-5-phut-cau-hinh-smtp-dung-cach/</loc>
  <lastmod>2026-11-07T09:07:05Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: gửi email bằng send_mail() trong 5 phút — cấu hình SMTP đúng cách</news:title>
   <news:publication_date>2026-11-07T09:07:04Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/fastapi-nhan-du-lieu-form-bang-form-endpoint-login-chuan-oauth2-trong-5-phut/</loc>
  <lastmod>2026-11-07T07:11:28Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: nhận dữ liệu form bằng Form() — endpoint login chuẩn OAuth2 trong 5 phút</news:title>
   <news:publication_date>2026-11-07T07:11:26Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/anthropic-bo-tham-so-temperature-khoi-api-claude-code-python-cua-ban-co-the-loi-400/</loc>
  <lastmod>2026-11-07T05:15:43Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Anthropic bỏ tham số temperature khỏi API Claude: code Python của bạn có thể lỗi 400</news:title>
   <news:publication_date>2026-11-07T05:15:42Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/django-dung-listview-va-detailview-thay-ham-view-lap-lai/</loc>
  <lastmod>2026-11-07T03:12:57Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: dùng ListView và DetailView thay hàm view lặp lại</news:title>
   <news:publication_date>2026-11-07T03:12:55Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/07/flask-lay-ban-ghi-hoac-tra-404-trong-1-dong-voi-get_or_404-cua-flask-sqlalchemy/</loc>
  <lastmod>2026-11-06T23:09:26Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: lấy bản ghi hoặc trả 404 trong 1 dòng với get_or_404() của Flask-SQLAlchemy</news:title>
   <news:publication_date>2026-11-06T23:09:25Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/06/django-running-in-production-10-celery-in-production-workers-beat-flower-systemd-and-retries/</loc>
  <lastmod>2026-11-06T15:29:14Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django Running in Production #10: Celery in Production — Workers, Beat, Flower, systemd, and Retries</news:title>
   <news:publication_date>2026-11-06T15:28:24Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/06/fastapi-validate-query-strings-with-query-block-bad-parameters-at-the-api-gateway-in-5-minutes/</loc>
  <lastmod>2026-11-06T15:20:00Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: Validate Query Strings with Query() — Block Bad Parameters at the API Gateway in 5 Minutes</news:title>
   <news:publication_date>2026-11-06T15:19:08Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/pytest-9-2-ra-mat-parametrize-siet-chat-truyen-indirect-theo-vi-tri-gio-loi-ngay-luc-thu-thap-test/</loc>
  <lastmod>2026-11-06T15:15:25Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>pytest 9.2 ra mắt: parametrize siết chặt — truyền indirect theo vị trí giờ lỗi ngay lúc thu thập test</news:title>
   <news:publication_date>2026-11-06T15:15:24Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/06/django-let-your-model-know-its-own-link-with-get_absolute_url-stop-hardcoding-urls-everywhere/</loc>
  <lastmod>2026-11-06T15:09:38Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: Let Your Model Know Its Own Link with get_absolute_url() — Stop Hardcoding URLs Everywhere</news:title>
   <news:publication_date>2026-11-06T15:08:36Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/06/flask-debug-your-data-right-in-the-terminal-with-flask-shell-in-5-minutes/</loc>
  <lastmod>2026-11-06T14:57:09Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: Debug Your Data Right in the Terminal with flask shell in 5 Minutes</news:title>
   <news:publication_date>2026-11-06T14:56:08Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/06/fastapi-def-vs-async-def-for-endpoints-pick-the-wrong-one-and-your-api-slows-to-a-crawl/</loc>
  <lastmod>2026-11-06T14:43:16Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: def vs async def for Endpoints — Pick the Wrong One and Your API Slows to a Crawl</news:title>
   <news:publication_date>2026-11-06T14:42:01Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/django-van-hanh-production-10-celery-tren-production-worker-beat-flower-systemd-va-retry/</loc>
  <lastmod>2026-11-06T13:11:56Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django vận hành production #10: Celery trên production — worker, beat, Flower, systemd và retry</news:title>
   <news:publication_date>2026-11-06T13:11:55Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/linh-fish-dev-podcast-25-fastapi-validate-query-string-bang-query-chan-tham-so-sai-ngay-tu-cong-api-trong-5-phut/</loc>
  <lastmod>2026-11-06T12:30:02Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Linh Fish Dev Podcast #25: FastAPI: validate query string bằng Query() — chặn tham số sai ngay từ cổng API trong 5 phút</news:title>
   <news:publication_date>2026-11-06T12:30:00Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/fastapi-code-generator-dinh-2-lo-hong-rce-nghiem-trong-file-openapi-doc-hai-co-the-chay-ma-tuy-y-cap-nhat-len-0-8-1-ngay/</loc>
  <lastmod>2026-11-06T11:10:29Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>fastapi-code-generator dính 2 lỗ hổng RCE nghiêm trọng: file OpenAPI độc hại có thể chạy mã tùy ý — cập nhật lên 0.8.1 ngay</news:title>
   <news:publication_date>2026-11-06T11:10:27Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/fastapi-validate-query-string-bang-query-chan-tham-so-sai-ngay-tu-cong-api-trong-5-phut/</loc>
  <lastmod>2026-11-06T09:06:48Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: validate query string bằng Query() — chặn tham số sai ngay từ cổng API trong 5 phút</news:title>
   <news:publication_date>2026-11-06T09:06:46Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/django-de-model-tu-biet-link-cua-no-bang-get_absolute_url-khoi-hardcode-url-khap-noi/</loc>
  <lastmod>2026-11-06T07:07:26Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: để model tự biết link của nó bằng get_absolute_url() — khỏi hardcode URL khắp nơi</news:title>
   <news:publication_date>2026-11-06T07:07:25Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/sqlparse-ngung-bao-tri-sau-17-nam-django-se-lam-gi-tiep-theo/</loc>
  <lastmod>2026-11-06T05:13:45Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>sqlparse ngừng bảo trì sau 17 năm: Django sẽ làm gì tiếp theo?</news:title>
   <news:publication_date>2026-11-06T05:13:43Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/flask-debug-du-lieu-ngay-trong-terminal-bang-flask-shell-trong-5-phut/</loc>
  <lastmod>2026-11-06T03:10:43Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: debug dữ liệu ngay trong terminal bằng flask shell trong 5 phút</news:title>
   <news:publication_date>2026-11-06T03:10:42Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/pycharm-2026-3-ra-mat-jetbrains-air-dua-ai-agent-vao-ide-ho-tro-lazy-import-python-3-15-va-do-thi-dependency-fastapi/</loc>
  <lastmod>2026-11-06T01:41:00Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>PyCharm 2026.3 ra mắt: JetBrains Air đưa AI agent vào IDE, hỗ trợ lazy import Python 3.15 và đồ thị dependency FastAPI</news:title>
   <news:publication_date>2026-11-06T01:40:59Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/06/fastapi-dung-def-hay-async-def-cho-endpoint-chon-sai-api-cham-ca-he-thong/</loc>
  <lastmod>2026-11-05T23:13:15Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: dùng `def` hay `async def` cho endpoint? Chọn sai, API chậm cả hệ thống</news:title>
   <news:publication_date>2026-11-05T23:13:14Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
</urlset>
