---
title: "Backend | Blog | Phát Lâm"
url: https://phatdev.net/en/blog/c/backend
lang: en
updated: 2026-10-21
alternate:
  vi: https://phatdev.net/vi/blog/c/backend
markdown: https://phatdev.net/en/blog/c/backend.md
---

# Backend

Technical notes drawn from real projects: frontend, backend, AI, security, SEO, media and mobile apps.

## Posts

- [Getting Started with Python in 2026: Install, a Clean Setup and Your First Script](https://phatdev.net/en/blog/python-start-2026.md) (Backend | 2026-10-21 | 6 min read): Typed python and got the Microsoft Store? How to install Python 3.15, use uv for a private environment per project, run your first script and fix common Windows and macOS problems.
- [Automating Office Work with Python: Merge Excel Files, Build a Report and Send the Email](https://phatdev.net/en/blog/python-office-automation.md) (Backend | 2026-10-21 | 7 min read): Copying three branches' numbers by hand takes an hour each month. A small Python program merges Excel files, builds the report and sends the email in seconds, tested safely with a fake mailbox.
- [Your First API with FastAPI: Products, Input Checks and Automatic Docs](https://phatdev.net/en/blog/python-fastapi-first-api.md) (Backend | 2026-10-21 | 7 min read): When every system keeps its own stock copy, one is always wrong. Build a small FastAPI service, validate input with Pydantic, watch the docs appear by themselves and try it with curl.
- [Syncing Stock Between Your Website, Marketplaces and Spreadsheets](https://phatdev.net/en/blog/sync-inventory-web-marketplace.md) (Backend | 2026-10-21 | 6 min read): One last speaker, three orders at once. Why stock drifts apart, five ways to handle it from manual work to API links, and where to start.
- [Domain, Hosting, SSL and Domain Email Explained for Beginners](https://phatdev.net/en/blog/domain-hosting-ssl-email-explained.md) (Backend | 2026-10-21 | 5 min read): House address, plot of land, door lock and mailbox: four web concepts explained with everyday examples, how to choose, and two common mistakes, a forgotten domain renewal and email in spam without SPF, DKIM and DMARC.
- [Designing an API Other People Will Use: Errors, Paging, Safe Retries and Limits](https://phatdev.net/en/blog/rest-api-design-practical.md) (Backend | 2026-10-19 | 8 min read): Conventions that keep your API from breaking other people's apps: path naming, one shape for errors, cursor paging, versioning, protection against duplicate orders, and call limits.
- [Slow Query? How to Read EXPLAIN and Put Indexes in the Right Place](https://phatdev.net/en/blog/mysql-index-explain.md) (Backend | 2026-10-19 | 8 min read): Use EXPLAIN to see what the database plans to do with a slow query, then order index columns correctly, avoid the mistakes that hide an index, and paginate deep without slowing down.
- [Make Your API Faster With Redis: Save Answers So the Database Gets a Break](https://phatdev.net/en/blog/redis-cache-aside-api.md) (Backend | 2026-10-19 | 8 min read): Using Redis as a notebook of saved answers for your API: setting lifetimes, clearing cache safely, stopping a crowd from hitting the database at once, and sharing one Redis between sites.
- [Packing Many On/Off Switches Into One Number: Bitmasks for Permissions and IPs](https://phatdev.net/en/blog/bitwise-in-practice.md) (Backend | 2026-10-19 | 7 min read): Store a dozen user permissions in one numeric column, check whether an IP address is in an allowed range, and avoid the traps JavaScript sets when you work with bits.
- [One Shared Connection for the Whole App: Using Singleton Properly](https://phatdev.net/en/blog/singleton-pattern-typescript-php.md) (Backend | 2026-10-19 | 6 min read): Why a site freezes with too many database connections when you save files under next dev, how to share one copy with a Singleton (TypeScript and PHP), and when not to.

RSS: https://phatdev.net/en/blog/rss.xml
