<?xml version="1.0" encoding="UTF-8"?>
<!--generator='jetpack-16.4-a.3'-->
<!--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/en/2026/10/26/flask-log-the-right-way-with-app-logger-replace-print-before-production/</loc>
  <lastmod>2026-10-26T15:38:43Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: Log the Right Way with app.logger — Replace print() Before Production</news:title>
   <news:publication_date>2026-10-26T15:36:47Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/linh-fish-dev-podcast-14-flask-ghi-log-dung-cach-bang-app-logger-thay-print-truoc-khi-len-production/</loc>
  <lastmod>2026-10-26T15:27:46Z</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 #14: Flask ghi log đúng cách bằng app.logger — thay print() trước khi lên production</news:title>
   <news:publication_date>2026-10-26T15:27:45Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/26/fastapi-set-a-secure-login-cookie-with-response-set_cookie-in-5-minutes/</loc>
  <lastmod>2026-10-26T15:26:09Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: Set a Secure Login Cookie with Response.set_cookie in 5 Minutes</news:title>
   <news:publication_date>2026-10-26T15:24:56Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/10-lan-dang-nhap-gan-1-gb-ram-benchmark-argon2-cua-django-va-bai-hoc-ve-cai-dat-mac-dinh/</loc>
  <lastmod>2026-10-26T15:20:21Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>10 lần đăng nhập, gần 1 GB RAM: benchmark Argon2 của Django và bài học về cài đặt mặc định</news:title>
   <news:publication_date>2026-10-26T15:20:19Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/quan-ly-chi-tieu-voi-django-19-deploy-len-render-railway-fly-io/</loc>
  <lastmod>2026-10-26T15:16:20Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Quản lý chi tiêu với Django #19: Deploy lên Render/Railway/Fly.io</news:title>
   <news:publication_date>2026-10-26T15:16:19Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/26/django-replace-null-with-a-default-value-right-in-the-query-with-coalesce-in-5-minutes/</loc>
  <lastmod>2026-10-26T15:13:19Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: Replace NULL with a Default Value Right in the Query with Coalesce in 5 Minutes</news:title>
   <news:publication_date>2026-10-26T15:11:16Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/26/django-block-invalid-data-at-the-model-level-with-clean-and-full_clean-in-5-minutes/</loc>
  <lastmod>2026-10-26T15:01:14Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: Block Invalid Data at the Model Level with clean() and full_clean() in 5 Minutes</news:title>
   <news:publication_date>2026-10-26T14:55:54Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/flask-ghi-log-dung-cach-bang-app-logger-thay-print-truoc-khi-len-production/</loc>
  <lastmod>2026-10-26T11:40:44Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: ghi log đúng cách bằng app.logger — thay print() trước khi lên production</news:title>
   <news:publication_date>2026-10-26T11:40:42Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/fastapi-dat-cookie-dang-nhap-an-toan-bang-response-set_cookie-trong-5-phut/</loc>
  <lastmod>2026-10-26T11:38:40Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: đặt cookie đăng nhập an toàn bằng Response.set_cookie trong 5 phút</news:title>
   <news:publication_date>2026-10-26T11:38:38Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/python-phat-hanh-khan-cap-dot-2-3-15-2-3-14-10-va-3-ban-va-nua-lan-nay-ssl-tu-chan-khoa-ca-bi-lo/</loc>
  <lastmod>2026-10-26T11:38:16Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Python phát hành khẩn cấp đợt 2: 3.15.2, 3.14.10 và 3 bản vá nữa — lần này ssl tự chặn khóa CA bị lộ</news:title>
   <news:publication_date>2026-10-26T11:38:14Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/tsrs-typescript-viet-lai-bang-rust-nhanh-hon-toi-8-lan-nhung-dung-voi-thay-tsc-ngay/</loc>
  <lastmod>2026-10-26T06:18:29Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>tsrs: TypeScript viết lại bằng Rust nhanh hơn tới 8 lần — nhưng đừng vội thay tsc ngay</news:title>
   <news:publication_date>2026-10-26T06:18:27Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/django-thay-null-bang-gia-tri-mac-dinh-ngay-trong-query-bang-coalesce-trong-5-phut/</loc>
  <lastmod>2026-10-26T03:12:07Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: thay NULL bằng giá trị mặc định ngay trong query bằng Coalesce trong 5 phút</news:title>
   <news:publication_date>2026-10-26T03:12:06Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/fastapi-stream-lease-ra-mat-chan-nghen-stream-llm-bang-giay-phep-thay-vi-dem-request/</loc>
  <lastmod>2026-10-26T03:11:50Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI-Stream-Lease ra mắt: chặn nghẽn stream LLM bằng &amp;quot;giấy phép&amp;quot; thay vì đếm request</news:title>
   <news:publication_date>2026-10-26T03:11:49Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/26/django-chan-du-lieu-sai-ngay-o-model-bang-clean-va-full_clean-trong-5-phut/</loc>
  <lastmod>2026-10-26T03:10:56Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django: chặn dữ liệu sai ngay ở model bằng clean() và full_clean() trong 5 phút</news:title>
   <news:publication_date>2026-10-26T03:10:55Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/25/django-6-2-se-la-ban-lts-cuoi-cung-mang-so-cu-python-3-12-3-15-va-nhung-thay-doi-can-biet-truoc-thang-4-2027/</loc>
  <lastmod>2026-10-25T16:31:40Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django 6.2 sẽ là bản LTS cuối cùng mang số cũ: Python 3.12–3.15 và những thay đổi cần biết trước tháng 4/2027</news:title>
   <news:publication_date>2026-10-25T16:31:39Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/linh-fish-dev-podcast-13-django-admin-phan-quyen-theo-nhom-nhan-vien-chi-xem-quan-ly-moi-duoc-sua-trong-5-phut-2/</loc>
  <lastmod>2026-10-25T16:26:25Z</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 #13: Django admin: phân quyền theo nhóm — nhân viên chỉ xem, quản lý mới được sửa trong 5 phút</news:title>
   <news:publication_date>2026-10-25T16:26:23Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/25/building-an-expense-tracker-with-django-18-scheduled-tasks-with-celery-redis/</loc>
  <lastmod>2026-10-25T15:27:56Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Building an Expense Tracker with Django #18: Scheduled Tasks with Celery + Redis</news:title>
   <news:publication_date>2026-10-25T15:25:46Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/25/fastapi-reduce-api-bandwidth-with-gzipmiddleware-in-5-minutes/</loc>
  <lastmod>2026-10-25T15:19:08Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: Reduce API Bandwidth with GZipMiddleware in 5 Minutes</news:title>
   <news:publication_date>2026-10-25T15:17:42Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/25/fastapi-compress-responses-with-gzipmiddleware-in-5-minutes-less-bandwidth-no-endpoint-changes/</loc>
  <lastmod>2026-10-25T15:09:32Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: Compress Responses with GZipMiddleware in 5 Minutes — Less Bandwidth, No Endpoint Changes</news:title>
   <news:publication_date>2026-10-25T15:00:28Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/25/flask-manage-per-request-resources-with-g-and-teardown_appcontext-in-5-minutes/</loc>
  <lastmod>2026-10-25T14:50:43Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: Manage Per-Request Resources with g and teardown_appcontext in 5 Minutes</news:title>
   <news:publication_date>2026-10-25T14:48:51Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/en/2026/10/25/django-admin-group-based-permissions-staff-view-only-managers-edit-in-5-minutes/</loc>
  <lastmod>2026-10-25T14:41:21Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django Admin: Group-Based Permissions — Staff View Only, Managers Edit in 5 Minutes</news:title>
   <news:publication_date>2026-10-25T14:39:41Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/linh-fish-dev-podcast-13-django-admin-phan-quyen-theo-nhom-nhan-vien-chi-xem-quan-ly-moi-duoc-sua-trong-5-phut/</loc>
  <lastmod>2026-10-25T13:40:32Z</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 #13: Django admin: phân quyền theo nhóm — nhân viên chỉ xem, quản lý mới được sửa trong 5 phút</news:title>
   <news:publication_date>2026-10-25T13:24:10Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/fastapi-giam-bang-thong-api-bang-gzipmiddleware-trong-5-phut/</loc>
  <lastmod>2026-10-25T13:12:18Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: giảm băng thông API bằng GZipMiddleware trong 5 phút</news:title>
   <news:publication_date>2026-10-25T13:12:17Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/fastapi-nen-response-bang-gzipmiddleware-trong-5-phut-giam-bang-thong-ma-khong-doi-code-endpoint/</loc>
  <lastmod>2026-10-25T15:10:55Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>FastAPI: nén response bằng GZipMiddleware trong 5 phút, giảm băng thông mà không đổi code endpoint</news:title>
   <news:publication_date>2026-10-25T13:10:47Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/typescript-7-1-beta-ra-mat-trinh-bien-dich-go-nhanh-hon-nua-api-moi-cho-cong-cu-va-target-es2026-on-dinh/</loc>
  <lastmod>2026-10-25T13:09:59Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>TypeScript 7.1 Beta ra mắt: trình biên dịch Go nhanh hơn nữa, API mới cho công cụ và target es2026 ổn định</news:title>
   <news:publication_date>2026-10-25T13:09:57Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/react-native-0-88-ra-mat-su-kien-theo-chuan-web-font-bien-doi-va-scenedelegate-nang-cap-khong-breaking-change/</loc>
  <lastmod>2026-10-25T13:09:46Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>React Native 0.88 ra mắt: sự kiện theo chuẩn web, font biến đổi và SceneDelegate — nâng cấp không breaking change</news:title>
   <news:publication_date>2026-10-25T13:09:45Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/flask-quan-ly-tai-nguyen-theo-request-bang-g-va-teardown_appcontext-trong-5-phut/</loc>
  <lastmod>2026-10-25T13:15:14Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Flask: quản lý tài nguyên theo request bằng g và teardown_appcontext trong 5 phút</news:title>
   <news:publication_date>2026-10-25T13:09:39Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/quan-ly-chi-tieu-voi-django-18-task-dinh-ky-voi-celery-redis/</loc>
  <lastmod>2026-10-25T15:29:59Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Quản lý chi tiêu với Django #18: Task định kỳ với Celery + Redis</news:title>
   <news:publication_date>2026-10-25T13:09:03Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/django-admin-phan-quyen-theo-nhom-nhan-vien-chi-xem-quan-ly-moi-duoc-sua-trong-5-phut/</loc>
  <lastmod>2026-10-25T02:11:19Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Django admin: phân quyền theo nhóm — nhân viên chỉ xem, quản lý mới được sửa trong 5 phút</news:title>
   <news:publication_date>2026-10-25T02:11:18Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/vercel-mo-routing-middleware-cho-python-fastapi-flask-django-gio-chan-request-truoc-khi-vao-app/</loc>
  <lastmod>2026-10-25T02:07:39Z</lastmod>
  <news:news>
   <news:publication>
    <news:name>Linh Fish Dev</news:name>
    <news:language>vi</news:language>
   </news:publication>
   <news:title>Vercel mở Routing Middleware cho Python: FastAPI, Flask, Django giờ chặn request trước khi vào app</news:title>
   <news:publication_date>2026-10-25T02:07:38Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
 <url>
  <loc>https://linhfish.dev/2026/10/25/linh-fish-dev-podcast-12-chon-serializer-theo-action-bang-get_serializer_class-trong-5-phut/</loc>
  <lastmod>2026-10-24T18:01:46Z</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 #12: Chọn serializer theo action bằng get_serializer_class() trong 5 phút</news:title>
   <news:publication_date>2026-10-24T17:18:43Z</news:publication_date>
   <news:genres>Blog</news:genres>
  </news:news>
 </url>
</urlset>
