Symfony.
Jak dostat LLM do Symfony aplikace, aby ji neshodil?
Volání LLM jako nespolehlivá externí služba: port a adaptér, timeout a max_duration, retry jen na správné chyby, rozpočet tokenů, strukturovaný výstup validovaný Symfony Validatorem, fallback, Messenger a prompt injection. Se Symfony AI 0.14.
Idempotence: Proč máte v databázi stejnou objednávku dvakrát?
Klient pošle Idempotency-Key, ale ochránit vás musí server. Jak napsat endpoint a handler, které snesou stejný request dvakrát: unikátní index, tabulka klíčů, souběh, platební brána a Messenger.
MCP server v Symfony: Jak pustit AI agenta do aplikace a nepustit ho dál?
Jak ze Symfony aplikace udělat MCP server přes symfony/mcp-bundle a proč bezpečnostní kontroly patří dovnitř nástroje: voter, OAuth bez přeposílání tokenů, poznámka zákazníka jako prompt injection, potvrzení, idempotence a audit.
Refactoring v malých krocích: Jak měnit živý kód a nic nerozbít?
Branch by abstraction, parallel change a postupné vytahování kódu z controlleru. Jak refaktorovat Symfony a React kód tak, aby šel každý commit rovnou na produkci.
Retry patterns: Proč se API po výpadku rozbije ještě víc?
Naivní retry umí po výpadku systém dorazit. Thundering herd, exponential backoff, jitter a idempotence. Jak napsat retry, který pomáhá, a ne škodí?
Videokurz DDD v Symfony. Má to vůbec smysl, když kód píše AI?
Videokurz Domain-Driven Design v Symfony 8: 46 dílů, česky a zdarma na YouTube. Proč kurz začíná strategickým designem místo entit a proč je to v době AI agentů ještě důležitější?
Cache odshora dolů: CDN, Redis, OPcache, memoize
Cache má nejmíň čtyři vrstvy a každá se invaliduje jinak. Co odchytí CDN, na co je Redis, kdy vám zámek v Symfony nepomůže a co se stane, až vyprší horký klíč?
Schématik δ: Update po 10 letech
Moje logická hra běžela deset let na Symfony 3.1 a PHP 5.5, aniž bych v ní změnil jediný řádek. Na jeden prompt jsem ji přepsal na Symfony 8.1 a na PHP 8.5.
Kdy je CQRS v PHP overkill? 3 signály, že si komplikujete život
CQRS je jen rozdělení jednoho objektu na dva. Složité je všechno, co si k němu lidi přibalí, aniž by to potřebovali. Tři signály, že platíte režii, ze které nic nemáte.
Ubiquitous language: Jak ho vynutit v Symfony projektu?
Ubiquitous language není slovník pro celou firmu, ale jazyk jednoho bounded contextu. Šest praktik, jak ho udržet v Symfony projektu, včetně toho, jak ho nechat hlídat CI místo reviewera.
Průvodce Domain-Driven Designu v Symfony 7
Poslední dobou jsem se zajímal o architekturu DDD a její aplikaci v Symfony a říkal jsem si, že o tom napíšu článek na blog, nakonec to bylo moc…
Symfony: Pozor na služby závislé na EntityManageru!
Abych to nejprve uvedl na pravou míru: Služby, které mají závislost (ať už v constructoru nebo setteru) na EntityManagerInterface nejsou sami o sobě problém. Ale jen do chvíle,…