Pro vývojáře od vývojářů z AGRP[DEV] #20

Inspirativní zdroje a tipy pro tvůj lepší kód

Nový AGRP[NEWSLETTER] je tady a tentokrát jedeme napříč celým stackem – od AI modelů, přes Kubernetes detektivky, až po feature flagy bez vendor lock-inu.

Mrkneš na SubQ 1.1 Small, který posouvá long-context na 12M tokenů, na Ponytail – plugin, co AI agentům říká „nepiš to, co nemusíš“, nebo na Project Valhalla, který po 12 letech konečně přistává v JDK 28. K tomu pořádná DevOps porce od Martina – hairpin routing v Kubernetes, nginx resolve directive proti věčným 502, SLO jako CRD a důvod, proč ti CPU pořád čeká na disk.

Přihodili jsme i tipy na tooly (RepoLens, CodeBurn) a článek o OpenFeature a taky CALL FOR PAPERS na MODERNÍ STACK no. 7 – pokud máš co říct, tohle je tvoje šance.

POHODLNĚ SE USAĎ A POJĎ SE ZAČÍST!

💡 AGRP[TIPY]: part 1

👨‍💻 Tip od našeho AI Agentic Engineera — Lukáše

##Introducing SubQ 1.1 Small

Nový model SubQ 1.1 Small posouvá hranice long-contextu – díky Subquadratic Sparse Attention zvládne až 12M tokenů s near-perfect retrievalem. Při 1M tokenech potřebuje 64,5x méně compute než dense attention a běží 56x rychleji než FlashAttention-2.

Pro coding agenty zajímavá vize: nahrát celý repozitář do jednoho kontextu a řešit architekturu, refactoring i závislosti v jednom průchodu.

👉 Odkaz najdeš ZDE.

 

👨‍💻Tip od našeho Frontend Developera — Martina

##Ponytail – AI agent jako líný senior dev

Plugin do AI agentů (Claude Code, Codex, Cursor a další), který tvého agenta nutí přemýšlet, než začne kódit – musí to vůbec existovat? Není to ve stdlibu? Nemá to browser nativně? Výsledkem by mělo být až o 54 % méně kódu, ~20 % nižší cost a o 27 % rychlejší běh.

Na první pohled fakt zajímavé, u nás zatím netestováno. Pokud jsi to zkoušel/a, dej nám vědět, jak ti to šlape! 👀

👉 Odkaz najdeš ZDE.

 

👨‍💻Tip od našeho Senior Backend Developera — Pepy

##Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

Po 12 letech vývoje se Project Valhalla konečně dostává do JDK 28 jako preview. Nové value class přinášejí objekty bez identity, které JVM může ukládat flat v paměti – bez pointerů, bez zbytečných hlaviček. Pro data-heavy Javu potenciálně game changer.

Článek tě provede od základů, přes historii projektu, až po to, co v JDK 28 ještě chybí (specializované generiky, nullable typy).

👉 Odkaz najdeš ZDE.


🐀  AGRP[CAREER]

S nasazováním AI novinek u nás problém nemáme. Testujeme, zkoušíme a chytře používáme to, co dává smysl. Žádné meetingy o tom, jestli se AI smí – prostě JUST CODE!

Pokud ti je takhle otevřená a učící se kultura blízká, mrkni na naše otevřené pozice 👀

 

🤖 AGENTIC AI ENGINEER / CODEXIS

JAVA + GraphQL + AI nástroje od Anthropicu a OpenAI. Budeš stavět inteligentní featury pro největší právní databázi poháněnou AI!

👉 Kóduj s námi!

 

🧭 ENGINEERING MANAGER

Pro člověka s technickým backgroundem, kterého dnes víc než kód baví vést lidi. Povedeš Product Managery a pomůžeš stavět nové týmy kolem CODEXIS AI.

👉 Buď u toho!


💡 AGRP[TIPY]: part 2

👨‍💻Tip od našeho Senior Devops Engineera — Martina

##Když ti ipBlock rozbije HTTPS – hairpin routing v praxi

Detektivka z Kubernetes. Pod nedosáhne na https://api.dev.example.com, DNS resolvuje, ale TCP na 443 padá do timeoutu – přestože NetworkPolicy povoluje egress na 443 do 0.0.0.0/0. Vypneš policy, jede to. Kde je háček?

Sešly se tři věci: hairpin routing (public endpoint reálně resolvuje dovnitř clusteru), Service DNAT (443 forwarduje na Traefik backend 8443 na IP 10.x.x.x) a fakt, že některé CNI vyhodnocují policy až po DNATu. Policy tak vidí 10.x.x.x:8443 – a ta padá do RFC1918 rozsahu, který byl vyloučený.

👉 Odkaz najdeš ZDE.

 

##Nginx resolve directive – konec Kubernetes 502 při každém deployi

Intermitentní 502 Bad Gateway pokaždé, když clusterem pohne deploy nebo autoscaling? Příčina je zákeřná: nginx by default resolvuje hostname při startu a cachuje IP napořád. Jenže pod IPs jsou v Kubernetes ephemeral, a nginx zarputile routuje na mrtvé adresy, dokud ho sám nerestartuješ – nejhorší u headless services.

Starý workaround přes proměnnou v proxy_pass sice vynutil re-resolve, ale obětoval keepalive, load-balancing, health checks i retry. Od nginx 1.27.3 (listopad 2024) je ale resolve parametr open-source – dřív deset let NGINX Plus exkluzivita. Hlídá DNS na pozadí a updatuje upstream pool bez restartu a bez ztráty featur.

👉 Odkaz najdeš ZDE.

 

##Tvoje SLO patří do Kubernetes, ne do Grafana dashboardu

Jak dnes vypadá typické SLO? Target ve wiki, recording rules ručně v Prometheu, dashboard v Grafaně, alerting thresholdy ještě jinde. Nic propojené, nic version-controlled pohromadě. Změníš target a dokumentace odplave od reality – rules se neupdatnou týdny, alert pálí špatně. Klasický configuration management problém.

Autor navrhuje řešit SLO jako deklarativní Kubernetes CRD. Jeden ServiceSLO resource definuje target, metriku i alerting threshold v jednom YAMLu, reviewnutém přes pull request. Operator (kubebuilder + controller-runtime) pak sám vygeneruje PrometheusRule, multi-window multi-burn-rate alerty i Grafana dashboard přes ConfigMap.

👉 Odkaz najdeš ZDE. 

 

##Running local models is good now – a Vicki Boykis to dokládá

Lokální modely byly dlouho spíš hračka na demo. Vicki Boykis ale tvrdí, že přerostly práh použitelnosti: finally, they’re surprisingly good now. Zlom přišel s GPT-OSS-20B – přestala si výstupy ověřovat proti API modelům. A s Gemma 4 se rozjelo i agentic coding lokálně, na ~75 % accuracy a rychlosti frontier modelů.

Hardware? M2 Mac, 64 GB RAM, stack postavený na LM Studio, llama.cpp, Ollamě a Pi jako agent framework. Reálné použití, žádné toy demo – refaktor Python notebooku do modulů, type hints pro generika, boilerplate na two-tower recommender, proofreading docs i unit testy.

👉 Odkaz najdeš ZDE.

 

##Block I/O optimization – proč ti CPU čeká na disk a co s tím

Storage hraje v úplně jiné latency lize než CPU a paměť: SSD je stokrát až tisíckrát pomalejší než DRAM, HDD desetitisíckrát. Vzniká gap, kde CPU jen idluje a čeká na data. Článek pěkně rozkresluje celý Linux I/O stack – VFS → Filesystem → Page Cache → Block Layer → I/O Scheduler → Device Driver – a kde na každé vrstvě zatlačit.

Šest technik: sequential access patterns, readahead, prefetcher, výběr I/O scheduleru (mq-deadline, bfq), asynchronní I/O přes io_uring a komprese. Pozor na pasti – předimenzovaný readahead zaneřádí cache, špatně načasovaný prefetch je k ničemu, když se data evictnou dřív, než je použiješ.

👉 Odkaz najdeš ZDE. 

 

⚙️ Tipy na tooly

##RepoLens

– terminálový tool na rychlou orientaci v cizím codebase. Naviguješ importy, trasuješ call graph, procházíš funkce a ptáš se AI přímo nad kódem. Funguje pro Python, JS/TS, Go i Rust, basic featury (file tree, dependency graf) jedou offline, AI klíč potřebuješ jen na questioning a generování docs. Podporuje OpenAI, Gemini, Groq, Anthropic i lokální Ollamu.

👉 Odkaz najdeš ZDE. 

 

##CodeBurn

– CLI dashboard, který ti ukáže, kolik reálně utrácíš za AI coding. Čte session soubory lokálně (nic nenahrává) a rozpadne náklady přes 31+ toolů – Claude Code, Cursor, Codex a další – podle tasku, modelu i projektu. optimize command najde waste jako re-read souborů nebo nevyužité MCP servery a yield tracking ti spáruje session s git commity, ať vidíš, kolik šlo do kódu a kolik do konverzace. Je i menu bar appka pro macOS.

👉 Odkaz najdeš ZDE.


📝AGRP[ČLÁNEK]

OpenFeature: feature flagy bez vendor lock-inu

Feature flagy jsou jednoduchý princip s velkým dopadem: umožňují měnit chování aplikace za běhu, bez nového nasazení. Díky nim můžeme dělat canary releasy, A/B testy, skrývat rozpracované funkce, cílit funkcionalitu na konkrétní uživatele nebo v krizové situaci rychle vypnout problémovou část systému pomocí kill switche.

 

OpenFeature posouvá tenhle přístup o úroveň dál. Místo toho, aby byl aplikační kód pevně navázaný na konkrétní nástroj pro správu flagů, nabízí jednotné standardizované API. Vývojář tak pracuje pořád stejně, ať je pod tím Flagsmith, LaunchDarkly, Unleash, flagd nebo vlastní řešení. Pokud se provider časem změní, aplikační logika zůstává prakticky beze změny.

 

Hlavní výhody OpenFeature:

  • snižuje závislost na jednom dodavateli,
    sjednocuje práci s feature flagy napříč týmy, jazyky a aplikacemi,
    podporuje typované hodnoty, kontextové vyhodnocování a cílení,
    umožňuje rozšíření přes providers, hooks a events,
    zjednodušuje testování díky in-memory providerům,
    pomáhá držet kratší branche a podporuje trunk-based development.

 

Prakticky to znamená méně přepisování, méně znalostních ostrovů a větší svobodu při volbě nástroje. OpenFeature není další proprietární SDK, ale otevřený standard, který odděluje aplikační kód od konkrétního flagging systému. A právě to z něj dělá dobrý základ pro dlouhodobě udržitelnou práci s feature flagy.

👉 Více informací v prezentaci ZDE.


🎤AGRP[KONFERENCE]: MODERNÍ STACK

Máš co říct? Chceš se s ostatními podělit o své know how?
Nenech si uniknout možnost zazářit na pódiu a staň se speakerem příštího ročníku konference MODERNÍ STACK no. 7! ✨

👉 CALL FOR PAPERS ZDE!

BUĎ SPEAKER!

📸 AGRP[INSTAGRAM]

Newsletter ti nestačí? Na Instagramu sdílíme to, co se sem nevejde – behind the scenes, dev tipy, memes, humor a dev life bez filtru.

FOLLOW!

Baví tě náš obsah?

Odebírej náš newsletter a sleduj nás na našem webu, Instagramu nebo Youtube.

Newsletter

Instagram

Youtube

Těšíme se u příštího vydání našeho newsletteru! 💚 TÝM AGRP[DEV]