RESTful API vs REST API: Is There Actually a Difference?
What is REST? REST (Representational State Transfer) is an architectural style , not a protocol or a standard. It was introduced by Roy Fielding in…
Последние новости Web от Tech News
What is REST? REST (Representational State Transfer) is an architectural style , not a protocol or a standard. It was introduced by Roy Fielding in…
Give an AI coding agent a small task: add voucher activation to an existing subscription system. The generated code might look reasonable. The endpo…
Несколько лет назад мы решили заменить legacy e‑commerce‑платформу, которая продолжала работать и принимать заказы. Новый frontend построили на …
Lean has one word that I like because it is brutally simple: Muda . Waste. In a factory, waste is often visible. Extra movement. Waiting. Too much i…
Three articles ago I wrote that the Postgres role which runs your migrations bypasses every row-level security policy, unless the table has FORCE RO…
Сколько сервера уходит на одного игрока 2D MMO — вместе с существами, которых он будит вокруг себя? Показываю, как платформа считает расход живого м…
Doppar 4.0 is out today. I want to start this post with something I haven't said out loud before. Doppar 3.0 was a good framework, but if you put it…
The container I had, the container I don't have, and what I do instead. 👋 I'm Anton - a software engineer working mostly in PHP/Symfony and Go, curr…
Two articles ago I wrote that the Postgres role which runs your migrations bypasses every row-level security policy. Last week I wrote that with one…
Symfony shipped a TUI component in 8.1 — a widget tree, a layout engine and a renderer for building full-screen terminal applications in PHP. One th…
So, it's been half a year since the first stable version of Symfony JSON Schema Validation Bundle was released, which turned out to be version 3. So…
TL;DR What: In coopcycle-web — the open-source logistics and marketplace platform that worker-owned courier co-operatives self-host instead of renti…
Database migrations are one of those things that often look harmless during code review. A migration may contain only a few lines of SQL, the applic…
У виджета было 92 теста и 100% построчного покрытия. Потом я открыл его в маленьком окне терминала, и шапка таблицы уехала за верхнюю границу экрана…
There is a concurrency problem in APIs that is easy to miss. Two clients read the same resource: Client A -> GET /documents/42 Client B -> GET…
Работая с PHP, испытываешь постоянную необходимость поддерживать документацию в актуальном состоянии. В последнее время PHP проекты&n…
I recently released a small open-source Symfony bundle called MaskedBundle . The reason for building it was quite simple: logs are useful, but somet…
A comment on my last article was better than the article. The subject was single-database multi-tenancy, and @to21as argued that the predicate shoul…
Single-database multi-tenancy is the cheapest kind: one schema, one connection, an organization_id column on every tenant-owned table. The whole des…
JSON has no representation for a file. Strings, numbers, arrays, objects - that is the whole list. So every JSON-RPC API eventually runs into the sa…
Upgrading a Symfony application to PHP 8.4 doesn't have to mean rewriting half the codebase. For applications that have been running in production f…
If you write PHP and work with Symfony every day, chances are you’ve already run PHPStan or Psalm, or at least heard of Rector. But let’s be honest:…
В августе 2023-го я писал здесь про свой бандл для JSON-RPC API на Symfony. С тех пор он дорос с 1.x до 5.1 и работает в нескольких продакшенах - от…
mailkite/symfony-mailer resolves a mailkite+api:// DSN into a first-party Symfony Mailer transport — which means Mautic, PrestaShop, Drupal, and any…
Над одной игрой работает команда: люди правят контент в браузере, ИИ — через тот же сервис, локально разворачивать ничего не нужно. Каждый ассет жив…
Shopify's app documentation has exactly one first-class path: Node, the official CLI, and a Remix template that wires authentication for you. Pick a…
Contract testing a Symfony API with OpenAPI takes four moving parts: the OpenAPI spec, a WebTestCase (or a plain Request / Response pair), one trait…
Именно так я думал, когда начинал разбираться в этой теме. Но, разобравшись, я с уверенностью могу сказать, что это реально, такая ид…
Обычно процесс разработки API выглядит так: мы пишем контроллер. Затем каким-то образом его документируем. После чего фронтер, опираясь на такую док…
For years, Symfony teams solved UI scaling one of two ways. Either you adopted a JavaScript build pipeline — Webpack Encore, Vite, npm scripts — and…