<?xml version="1.0" encoding="UTF-8"?>
<!--generator='jetpack-16.5-a.1'-->
<!--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/10/django-van-hanh-production-14-upload-file-va-media-an-toan-validate-loai-file-gioi-han-dung-luong-signed-url/</loc>
  <lastmod>2026-11-10T13:14:03Z</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 #14: Upload file và media an toàn — validate loại file, giới hạn dung lượng, signed URL</news:title>
   <news:publication_date>2026-11-10T13:14:01Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/10/linh-fish-dev-podcast-29-python-viet-cli-chuyen-nghiep-bang-argparse-khoi-parse-sys-argv-thu-cong-trong-5-phut/</loc>
  <lastmod>2026-11-10T12:43:15Z</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 #29: Python viết CLI chuyên nghiệp bằng argparse — khỏi parse sys.argv thủ công trong 5 phút</news:title>
   <news:publication_date>2026-11-10T12:43:14Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/10/psf-tuyen-them-chuyen-gia-bao-mat-malware-tren-pypi-tang-60-doi-ung-pho-dang-qua-tai/</loc>
  <lastmod>2026-11-10T11:09:10Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>PSF tuyển thêm chuyên gia bảo mật: malware trên PyPI tăng 60%, đội ứng phó đang quá tải</news:title>
   <news:publication_date>2026-11-10T11:09:09Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/10/python-viet-cli-chuyen-nghiep-bang-argparse-khoi-parse-sys-argv-thu-cong-trong-5-phut/</loc>
  <lastmod>2026-11-10T09:10:19Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Python: viết CLI chuyên nghiệp bằng argparse — khỏi parse sys.argv thủ công trong 5 phút</news:title>
   <news:publication_date>2026-11-10T09:10:17Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/10/django-tao-custom-user-model-ngay-tu-dau-dung-de-sau-nay-phai-migrate-dau-dau/</loc>
  <lastmod>2026-11-10T07:11:48Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: tạo custom User model ngay từ đầu — đừng để sau này phải migrate đau đầu</news:title>
   <news:publication_date>2026-11-10T07:11:46Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/10/python-sap-co-toan-tu-va-het-so-loi-none-khi-truy-cap-du-lieu-long-nhau/</loc>
  <lastmod>2026-11-10T05:39:44Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Python sắp có toán tử `?.` và `??`: hết sợ lỗi None khi truy cập dữ liệu lồng nhau</news:title>
   <news:publication_date>2026-11-10T05:39:43Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/10/fastapi-viet-crud-chuan-voi-sqlalchemy-2-0-session-dependency-va-select-trong-5-phut/</loc>
  <lastmod>2026-11-10T03:20:55Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: viết CRUD chuẩn với SQLAlchemy 2.0 — session dependency và select() trong 5 phút</news:title>
   <news:publication_date>2026-11-10T03:20:53Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/10/pyscript-chuyen-sang-che-do-bao-tri-python-tren-trinh-duyet-se-di-ve-dau/</loc>
  <lastmod>2026-11-10T01:20:32Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>PyScript chuyển sang chế độ bảo trì: Python trên trình duyệt sẽ đi về đâu?</news:title>
   <news:publication_date>2026-11-10T01:20:30Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/10/django-dung-hardcode-url-trong-view-va-template-dung-reverse-va-reverse_lazy-trong-5-phut/</loc>
  <lastmod>2026-11-09T23:14:11Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: đừng hardcode URL trong view và template — dùng reverse() và reverse_lazy() trong 5 phút</news:title>
   <news:publication_date>2026-11-09T23:14:10Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/09/django-running-in-production-13-rate-limiting-and-abuse-protection-for-drf/</loc>
  <lastmod>2026-11-09T15:54:37Z</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 #13: Rate Limiting and Abuse Protection for DRF</news:title>
   <news:publication_date>2026-11-09T15:52:34Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/09/flask-hash-passwords-securely-with-werkzeug-never-store-plaintext-in-5-minutes/</loc>
  <lastmod>2026-11-09T15:41:45Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: Hash Passwords Securely with Werkzeug — Never Store Plaintext in 5 Minutes</news:title>
   <news:publication_date>2026-11-09T15:40:02Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/django-launch-editor-bam-mot-cai-la-mo-dung-file-dung-dong-loi-tren-trang-debug-cua-django/</loc>
  <lastmod>2026-11-09T15:36:20Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>django-launch-editor: bấm một cái là mở đúng file, đúng dòng lỗi trên trang debug của Django</news:title>
   <news:publication_date>2026-11-09T15:36:18Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/09/django-bulk-update-with-queryset-update-in-a-single-sql-statement-no-save-loop/</loc>
  <lastmod>2026-11-09T15:29:25Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: Bulk Update with QuerySet.update() in a Single SQL Statement — No save() Loop</news:title>
   <news:publication_date>2026-11-09T15:26:59Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/09/django-admin-group-fields-neatly-with-fieldsets-and-auto-generate-slugs-with-prepopulated_fields-in-5-minutes/</loc>
  <lastmod>2026-11-09T15:09:58Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django Admin: Group Fields Neatly with fieldsets and Auto-Generate Slugs with prepopulated_fields in 5 Minutes</news:title>
   <news:publication_date>2026-11-09T15:06:17Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/09/fastapi-protect-routes-with-httpbearer-bearer-token-auth-without-oauth2-in-5-minutes/</loc>
  <lastmod>2026-11-09T14:51:33Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: Protect Routes with HTTPBearer — Bearer Token Auth Without OAuth2 in 5 Minutes</news:title>
   <news:publication_date>2026-11-09T14:49:10Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/django-van-hanh-production-13-rate-limiting-va-chong-abuse-cho-drf/</loc>
  <lastmod>2026-11-09T13:12:25Z</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 #13: Rate limiting và chống abuse cho DRF</news:title>
   <news:publication_date>2026-11-09T13:12:23Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/linh-fish-dev-podcast-28-flask-hash-mat-khau-an-toan-bang-werkzeug-trong-5-phut/</loc>
  <lastmod>2026-11-09T12:31:24Z</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 #28: Flask hash mật khẩu an toàn bằng Werkzeug trong 5 phút</news:title>
   <news:publication_date>2026-11-09T12:31:23Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/wing-12-1-ra-mat-de-ai-agent-tu-viet-code-ban-chi-can-ra-de-va-duyet-ket-qua/</loc>
  <lastmod>2026-11-09T11:10:54Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Wing 12.1 ra mắt: để AI agent tự viết code, bạn chỉ cần ra đề và duyệt kết quả</news:title>
   <news:publication_date>2026-11-09T11:10:52Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/flask-hash-mat-khau-an-toan-bang-werkzeug-dung-luu-plaintext-trong-5-phut/</loc>
  <lastmod>2026-11-09T09:07:32Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: hash mật khẩu an toàn bằng Werkzeug — đừng lưu plaintext trong 5 phút</news:title>
   <news:publication_date>2026-11-09T09:07:30Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/django-cap-nhat-hang-loat-bang-queryset-update-trong-1-cau-sql-khoi-vong-lap-save/</loc>
  <lastmod>2026-11-09T07:17:26Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: cập nhật hàng loạt bằng QuerySet.update() trong 1 câu SQL, khỏi vòng lặp save()</news:title>
   <news:publication_date>2026-11-09T07:17:25Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/babel-8-1-0-ra-mat-import-anh-shader-nhu-module-thuong-nhung-3-plugin-lo-hen-sang-8-1-1/</loc>
  <lastmod>2026-11-09T05:14:07Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Babel 8.1.0 ra mắt: import ảnh, shader như module thường — nhưng 3 plugin &amp;quot;lỡ hẹn&amp;quot; sang 8.1.1</news:title>
   <news:publication_date>2026-11-09T05:14:05Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/django-admin-gom-field-gon-gang-bang-fieldsets-va-tu-sinh-slug-bang-prepopulated_fields-trong-5-phut/</loc>
  <lastmod>2026-11-09T03:11:25Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django admin: gom field gọn gàng bằng fieldsets và tự sinh slug bằng prepopulated_fields trong 5 phút</news:title>
   <news:publication_date>2026-11-09T03:11:24Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/openai-mo-decisions-api-phan-loai-cham-diem-va-dinh-tuyen-bang-ai-nhanh-gap-10-lan-khong-can-ep-model-tra-json/</loc>
  <lastmod>2026-11-09T01:33:15Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>OpenAI mở Decisions API: phân loại, chấm điểm và định tuyến bằng AI — nhanh gấp 10 lần, không cần ép model trả JSON</news:title>
   <news:publication_date>2026-11-09T01:33:14Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/09/fastapi-bao-ve-route-bang-httpbearer-xac-thuc-bearer-token-khong-can-oauth2-trong-5-phut/</loc>
  <lastmod>2026-11-08T23:10:01Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: bảo vệ route bằng HTTPBearer — xác thực Bearer token không cần OAuth2 trong 5 phút</news:title>
   <news:publication_date>2026-11-08T23:10:00Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/08/django-running-in-production-12-profiling-performance-in-production-slow-query-log-django-silk-explain-and-indexes/</loc>
  <lastmod>2026-11-08T15:17:17Z</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 #12: Profiling Performance in Production — Slow Query Log, django-silk, EXPLAIN, and Indexes</news:title>
   <news:publication_date>2026-11-08T15:14:59Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/node-js-27-alpha-ra-mat-v8-15-6-tinh-nang-moi-va-nhung-thay-doi-co-the-lam-vo-test-cua-ban/</loc>
  <lastmod>2026-11-08T15:15:00Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Node.js 27 Alpha ra mắt: V8 15.6, tính năng mới và những thay đổi có thể làm vỡ test của bạn</news:title>
   <news:publication_date>2026-11-08T15:14:58Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/08/javascript-run-multiple-promises-at-once-with-promise-allsettled-one-failure-wont-ruin-the-batch/</loc>
  <lastmod>2026-11-08T15:07:23Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>JavaScript: Run Multiple Promises at Once with Promise.allSettled — One Failure Won&amp;#039;t Ruin the Batch</news:title>
   <news:publication_date>2026-11-08T15:05:38Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/08/fastapi-block-unknown-fields-and-normalize-input-with-pydantic-model_config-in-5-minutes/</loc>
  <lastmod>2026-11-08T14:57:13Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: Block Unknown Fields and Normalize Input with Pydantic model_config in 5 Minutes</news:title>
   <news:publication_date>2026-11-08T14:55:16Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/08/django-show-messages-after-redirect-with-the-messages-framework-in-5-minutes/</loc>
  <lastmod>2026-11-08T14:46:14Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: Show Messages After Redirect with the Messages Framework in 5 Minutes</news:title>
   <news:publication_date>2026-11-08T14:45:13Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/11/08/django-rest-framework-authenticate-your-api-with-tokenauthentication-in-5-minutes/</loc>
  <lastmod>2026-11-08T14:36:06Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django REST Framework: Authenticate Your API with TokenAuthentication in 5 Minutes</news:title>
   <news:publication_date>2026-11-08T14:34:28Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/django-van-hanh-production-12-profiling-hieu-nang-production-slow-query-log-django-silk-explain-va-index/</loc>
  <lastmod>2026-11-08T13:08:03Z</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 #12: Profiling hiệu năng production — slow query log, django-silk, EXPLAIN và index</news:title>
   <news:publication_date>2026-11-08T13:08:01Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/linh-fish-dev-podcast-27-django-rest-framework-xac-thuc-api-bang-tokenauthentication-trong-5-phut/</loc>
  <lastmod>2026-11-08T12:28:56Z</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 #27: Django REST Framework: xác thực API bằng TokenAuthentication trong 5 phút</news:title>
   <news:publication_date>2026-11-08T12:28:54Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/fastapi-ra-mat-skill-chinh-thuc-cho-ai-coding-agent-cai-mot-lan-agent-viet-code-dung-phien-ban-cua-ban/</loc>
  <lastmod>2026-11-08T11:09:12Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI ra mắt skill chính thức cho AI coding agent: cài một lần, agent viết code đúng phiên bản của bạn</news:title>
   <news:publication_date>2026-11-08T11:09:10Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/javascript-chay-nhieu-promise-cung-luc-bang-promise-allsettled-mot-loi-khong-lam-hong-ca-lo/</loc>
  <lastmod>2026-11-08T09:06:46Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>JavaScript: chạy nhiều promise cùng lúc bằng Promise.allSettled, một lỗi không làm hỏng cả lô</news:title>
   <news:publication_date>2026-11-08T09:06:44Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/11/08/fastapi-chan-field-la-va-chuan-hoa-du-lieu-dau-vao-bang-pydantic-model_config-trong-5-phut/</loc>
  <lastmod>2026-11-08T07:06:16Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: chặn field lạ và chuẩn hóa dữ liệu đầu vào bằng Pydantic model_config trong 5 phút</news:title>
   <news:publication_date>2026-11-08T07:06:14Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <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>
</urlset>
