Hotel Stok v polské Visle, prosluněný podzimní víkend, konference zarámovaná kopci utopenými v barvách nažloutlého listí. Tři přednášková pásma, páteční workshopy a sobotní přednášky na nejrůznější témata. Takový byl uplynulý víkend ve znamení PHPCon Poland 2024.
Já jsem vyrazil až na sobotní přednášky, pátek jsem si ponechal na pohodovou cestu a návštěvu Visly samotné. Po jednadvaceti letech od poslední návštěvy těchto míst mě překvapilo, jak hladce člověk prosviští přes Těšín a najednou je v Polsku. Cesta po dálnici je o úplně něčem jiném než dřívější putování.
Organizace konference a ubytování
Za výběr místa konference bych dal organizátorům PHPCon Poland jedničku. Visla je evidentně spíše zimní horské středisko, které ve zbytku roku asi moc zážitků nenabídne, ale můžete se projít po hlavní třídě, posedět v nespočtu restaurací a kaváren, prohlédnout si medvědí stezku, lovecký zámeček Habsburků nebo se svézt turistickým vláčkem. Doporučuji návštěvu velmi příjemné nádražní restaurace s vlastní produkcí piva.
Hotel Stok, ve kterém se konference koná, leží v odlehlé části města u vlastní sjezdovky. Nebudu se pouštět do podrobné recenze, jen ve stručnosti. Objednat ubytování a zaplatit jej byl složitý proces, nepřijímají v online rezervaci VISA karty. Paní z hotelu to vyřešila tím, že mě mailem požádala o číslo karty a PIN. Pokud bych neměl Revolut a jednorázové karty, asi bych zůstal sedět doma, takto jsem byl rád za ochotu.
Ubytování v pohodě, bufetové snídaně a obědy v rámci konference též, stejně jako večeře na objednávku. Čepují jediný druh piva. Trochu mě zarazilo, že téměř nikdo z personálu neumí anglicky, v lepším případě zvládá jen nezbytné základy, slovíčka a holé věty. Zato ze čtyř oslovených lidí, než jsem uspěl s angličtinou, mi dva nabídli ruštinu. Němčina také nic (no, je to daleko), ale ani čeština (hranice jsou přitom téměř na dohled). U čtyřhvězdy bych čekal lepší znalosti.
Dojem z ubytování vyloženě kazila téměř netekoucí sprcha bez tlaku, takže umýt se chtělo velké vypětí a jogínské pozice. Konečně, k pocitu „jsem vítán“ moc nepřispělo, že jsem neviděl nikoho z personálu, kdo by se usmíval. Takové malé ledově odměřené království.
Vstupenky v mobilu jsou dnes již běžné, není třeba nic tisknout, na místě si každý ráno před přednáškami našel sám svou kartičku a od organizátorů pak po kontrole vstupenky dostal uvítací balíček – tašku s ručníkem a letáčkem sponzora. Program konference byl dostupný jen online a hodnocení přednášek probíhalo pomocí mně do té doby neznámé platformy joind.in.
Tipy pro přebírání projektů od jiných vývojářů
Přednášky v trojici přednáškových pásem byly kombinací polštiny a angličtiny, nechyběli zahraniční řečníci. Jako první jsem si poslechl povídání o přebírání projektů od jiných vývojářů. Oskar Barcz přinesl celou řadu tipů, a tak mám z této přednášky taky nejdelší zápisky.
Naplánujte si cíle projektu. Jiný bude mít byznys (čísla, klienti, optimalizace, fičury), jiné vývojový tým. Z jeho perspektivy je důležité si vybudovat autoritu, snažit se byznysu vysvětlovat věci bez přílišných emocí a nové technické výzvy brát jako příležitost.
Nachystejte si checklist všech potřeb. Spojte se s dosavadním vývojovým týmem. Zjistěte, kdo je kdo, s kým je třeba komunikovat, neodsuzujte je, jsou to stejní vývojáři jako vy.
Samostatná kapitola jsou přístupy. Kdo má v ruce hosting, Git, deployment, CI/CD, Atlassian nebo jak dlouho budete na něco čekat, je třeba znát hned od začátku. Projděte dokumentaci. Že není? Měli byste přesvědčit původní tým k jejímu sepsání.
Zkontrolujte kód. Jaký měl vývojový tým dosavadní stack? Umíte jejich technologii? Nesmrdí v kódu něco? Ujasněte si dosavadní delivery. Jaký mají stakeholdeři vliv na vývoj? Kdo stanovuje priority projektu? Přejděte na CI/CD dosavadního týmu, předělat projekt hned na vaše řešení může být velmi riskantní. Postupujte evolučně a ne revolučně.
Věnujte se QA procesu. Zmapujte celé workflow. Nedělá některý developer jednou za čas ručně nějakou operaci, protože ji slíbil někomu od klienta s tím, že vývoj rozhraní by pro to trval mnohem déle? Upravte nastavení alertů. Na co reagují a kdy se spouští?
Naplánujte si separátní schůzky specialistů v týmech. Frontend s frontendem, backend s backendem atd.
DDD a hexagonální architektura
Následující přednáška se týkala konceptů a architektury vývoje. Michał Giergielewicz nás seznámil s konceptem cargo cults, hexagonální architekturou, pohledy doména vs byznys nebo logika vs pravidla. Na podobné téma měl později přednášku The PHP Awakens: A Force is in Domain Ivan Penović. Jeho doporučení: hlavním fokusem vývoje by měl být byznys. Lidi zajímá funkcionalita, nikoli jak je něco technicky udělané.
Pro mě snad až moc teoretická témata, na druhou stranu jsem si chtěl poslechnout trochu více o dané problematice, a to mi obě přednášky splnily.
Využití AI v kódu a psychologie v UI
Fabrizio Balliano nám představil PHP framework LLPhant, který slouží pro napojení PHP kódu na generativní AI. Inspiraci čerpá z Pythonu, který takových knihoven má několik, například LangChain.
Proč framework, když tu máme PHP klienty pro různé AI? Svět AI se rychle mění, potřebujeme reagovat a neměnit platformu pokaždé, pokud budeme chtít zajít nad klasickou komunikaci s otázkami na ChatGPT. LLPhant podporuje OpenAI, Anthropic, Mistral nebo Ollama, resp. vše další, co je kompatibilní s OpenAI, například LocalAI.
Líbilo se mi snadné použití a posílání dotazů, systémových nastavení pro AI (ala reaguj jako zkušený PHP vývojář), vnucení nějaké historie komunikace, nástroje nebo embeddings.
Keren Kenzi je sice React vývojářka, ale tady nám povídala užitečné tipy a postřehy k návrhu UI. Při návrhu ovládání nebo designu webu či aplikace myslete na to, že mozek má omezenou kapacitu, co pojme. Gestalt Principles. Principy vzdálenosti, třeba vzdálenost popisků od tlačítek nebo obrázků. Objekty blízko u sebe vnímáme jako jednu skupinu, není pak potřeba rozdělování skupin políček ve formulářích pomocí čar, pokud použijeme vhodné mezery.
Princip podobnosti, například sloupečky s ujišťovadly na webu. Používejte obrázky a grafy pro zdůraznění informace. Sdělení na začátku si lidé pamatují více. Efekt izolace – například ceník se zvýrazněnou volbou. Čím více možnost na výběr, tím déle trvá rozhodnutí.
Pracujte s postupným odhalováním. Například u ceníku je nějaký holý plán, pak doporučený s více vlastnostmi a potom nejnabušenější se vším možným. Status quo bias. Máme tendenci nedělat nic, když se musíme rozhodnout, to lze využít pro výchozí volby ve formuláři. A konečně, čím více estetické prostředí, tím je snadněji použitelné a efektivní.
Novinky v PHP 8.4
S velmi povedenou přednáškou přišel Grzegorz Korba. Ve svém slotu pro přednášku shrnul ty nejzajímavější novinky v PHP 8.4. Řada z nich se týká DOM Extension. Nově bude možné při parsování řetězců pracovat s CSS selektory, používat TokenList a innerHTML, přibyla řada vlastností DOMDocumentu a nových funkcí API pro práci s ním.
Instancování bez závorek. Nové parsování těla požadavku. Nově jsou funkcemi exit() a die(). Zastaralý kód je možné označit atributem #[Deprecated]. Končí nulové typy, E_STRICT, různá nastavení curl a sessions.
Zásadní novinkou jsou lazy objekty. Z property hooks už Grzegorz tak nadšený nebyl, přinese to podle něj akorát chaos. Asymetrická viditelnost. Verze 8.4 je největší sada změn od vydání PHP 8.0.
ReactPHP, praktické využití websocketů a rychlost PHP
Frank Berger nám nejprve v rychlosti zopakoval, co jsou to WebSockets a protokoly ws:// a wss://. Standardem jsou od roku 2011 a umožňují oboustrannou komunikaci mezi serverem a prohlížečem. Určeny jsou především k přenosu malých dat.
Knihovna ReactPHP slouží k událostmi řízenému programování v PHP. Skript spustíte na speciálním portu, přes proxy na webserveru jej zpřístupníte a on vám vlastně ve smyčce posílá data přes WebSocket. Jediný proces zvládá tisíce připojení. Pro trvalé spuštění na serveru použijte systemd službu nebo nástroj forever známý ze světa Node.js.
Tato přednáška byla plná kódování a živých ukázek, Frank nám ukázal praktické využití ReactPHP i WebSocketu pro sestavení jednoduché chatovací aplikace, která si ukládá historii konverzace do Redisu.
Na závěr dne jsem si nechal přednášku o rychlosti PHP od Bohuslava Šimka. Podívali jsme se na různé způsoby zpracování dat o jednom bilionu řádků. PHP umí být rychlejší než C či Rust, jen je třeba jej správně nastavit. Například PHP-CLI nemá standardně zapnutou OPcache a JIT.
A to je z PHPCon Poland v letošním roce vše. Kromě témat mě zaujaly i úvodní vizitky jednotlivých přednášejících, které byly namluveny pomocí AI s doplněným potleskem. Zjistil jsem, že dávám přednost živým moderátorům, ale chápu, proč to tak bylo pro organizátory pohodlnější.
Mimochodem, na chodbách i v přednáškách hodně často zaznívalo Symfony nebo Laravel. Je vidět, které PHP frameworky patří k těm nejpoužívanějším za našimi hranicemi a čím se tak trochu vymykáme. Budu se o to více těšit na prosincový SymfonyCon Vienna 2024 a třeba za rok na další setkání v Polsku.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.
Přidat komentář