Letenkové GOL API, které vyvíjíme, je definováno v DTD. I když ve finále nyní používáme JSON. Sem tam musíme rozšířovat existující struktury, takže jsme sepsali pár principů, jak to dělat.
Marian, který má na starosti vývoj našeho nového frontendu pro GOL IBE, připravil pro PragueJS meetup #9 přednášku Sharing code between iOS, Android & web using React Native. Přednáška je nyní dostupná na Youtube.
Minulý týden se v Praze konala velká 4 denní testerská konference EuroSTAR 2019 a náš test lead Libor se na ní velmi těšil. Poktkal dokonce svůj velký vzor, jednoho ze zakladatelů Rapid software testing, pana M. Boltona :)
Na konferenci Devel.cz se dává dohromady menší výprava každý rok, letos jsme byli ve dvou. Konference byla neobyčejně málo webová a o to víc hardwarová. Na papíře to moc lákavě nevypadalo, ale rozšíření obzorů a strhující Ondřej Žára stáli za to.
Jak GOL-IBE k pluginu do WordPressu přišel.
Dne 17. 11. 2019 to bude 20 let od založení naší české pobočky Travelportu v České republice. Při té přiležitosti jsme v úterý 5.11. připravili odpolední workshop a slavnostní večeři v prostorách Lobkowiczkého paláce na Pražském hradě. Poslechli jsme si mimojiné Tomáše Sedláčka a Taťánu le Moigne a snědli dobré jídlo.
3. 10. workshop agilního vývoje a 4. 10. konference na téma testování. Tak to byl program našeho testera minulý týden. Níže odkaz a pár fotek.
O víkendu proběhla v Praze soutěž testerů Clash of TestStack. Sice jsme tam neměli vlastní soutěžící tým, ale náš QA Libor pomáhal akci organizovat a jako Travelport jsme se zařadili ke sponzorům akce a přispěli dobrým jídlem a pitím :)
V rámci Teribearu se zadařilo a kilometrů jsme nakonec nasbírali solidní množství. Nejvíce z programátorů přiložil nohu k dílu Petr se solidními 72km. Ale každý kilometr se počítá.
Travelport patří k partnerům charitativní akce Teribear hýbe Prahou, kterou pořádá Nadace Terezy Maxové dětem. Akce probíhá bez přestávky 10 dnů (i v noci) na Vítkově, kde je možné sbírat kilometry na jedenapůlkilometrovém okruhu. Zapojila se nejen značná část firmy, ale i naši příbuzní a spřátelené duše. V tuto chvíli máme posbíráno 679.5km a nekončíme.
Sem tam používáme u našich menších produktů reportování do ELKu. Aplikace loguje přímo (nebo nepřímo přes Logstash) do Elasticsearche a programátoři nebo manažer produktu si naklikají v Kibaně reporty jaké potřebují (například podklady pro fakturaci). Rádi bychom podobné využití ELKu rozšířili i na dashboardy k probíhajícím testům nebo pipelinám. Obecně by nějaký obdobný nástroj měl patřit do základní sady nástrojů každého programátora (podobně jako nějaká relační databáze nebo testovací framework). Proto jsme si udělali interní prezentaci základních principů ELKu.
Dokončujeme vývoj nového nástroje na prodej letenek a aby se k zákazníkům dostalo co nejméně chyb, tak jsme uspořádali celofiremní bug hunting. Cílem nebylo jen najít chyby, které prošly předchozím testováním, ale dostat produkt blíže interním zaměstnancům a získat případný feedback. Hlavní cena byla snídaně pro 2 v Cafe Louvre a po velkém boji byla udělena rovnou 2 vítězům :)
Občas se nám stalo, že jsme změnili pořadí souborů při kompilaci a aplikace začala padat. Záhada. Kolega Milan se rozhodl ji rozlousknout a výsledek popsal v krátkém článku se snadno pochopitelným příkladem.
Kolega Tomáš pro pobavení v rámci svých programátorských experimentů připravil osmisměrku, která ukrývá jména technologií, které využíváme při vývoji. Zkuste si je najít.
Po delší době jsme opět uspořádali další playback týkající se návrhových vzorů používaných v Riganti Infrastructure. Přednáška je z velké části soustředěna na způsoby přístupů k databázi ze svého projektu.
Ladislav Šesták: Návrhové vzory použité v Riganti Infrastructure
Po prvních krůčcích se statickou analýzou PHP kódu, se do ní s nástrojem Cppcheck pouští i C++ tým. A pokukuje i po silnějším Cppdependu.
Na 74. setkání [Pro]Test! komunity se probíralo téma: Proč si bez automatizovaného testování brzo ani neškrtnete a náš QA tam nemohl chybět. Padla i zajímavá otázka ohledně automatizace v zemědělství: Proč vznikl kombajn a ne robot s kosou? :)
To bylo téma našeho QA na 73. setkání testerské komunity [Pro]Test! Libor vyzdvihoval důležitost manuálního testování při kritice vyvíjeného produktu a roli novodobého testera v prostředí agilního vývoje. A aby to všechno mohlo fungovat, tak nutnost zautomatizování opakujících se regresních testů.
Celý název byl AWS CZSK Webinář 2019: Jak chránit vaše webové aplikace před DDos útoky a udělali jsme si čas se v menší skupince těch, co měli zájem, podívat v "premiérovém vysílání".
Konference X4B sice podle názvu spojuje téma User (Customer) experience s obchodem, ale v praxi šlo hlavně o vývoj inovativních nových produktů a služeb (nebo přesněji zážitků). K výpravě z oddělení ecommerce se připojil i zástupce programátorů.
Do stránky Hledáme přibyl popis, jakého nového kolegu bychom si přáli do týmu.
Náš test lead Libor Šimo byl pozván Radimem Danielem Pánkem a Tomášem Přibylem do live-streamu #TEST-STACK, aby představil, jak se u nás testuje a jaké nástroje používáme.
Michal připravil článek s nečekaným objevem v podobě tvorby GUI pro Windows.
Vypadá to, že Typescript se stává oblíbený už i u nás a tak bylo na čase sdílet zkušenosti skrze všechny naše týmy. Proto jsme vytvořili nový veřejný repozitář s osvědčenými postupy, který budeme postupně obrušovat k dokonalosti
Ze zvědavosti jsme se pustili do průzkumu, jak hodně se v praxi využívají technologie, o kterých se kolem nás tolik píše a mluví.
Se Zaleť si jsme připravili nový způsob, jak sledovat vývoj cen letenek. Jde o nástroj FlightWatchdog.
Komunita #proTest_cz pořádala nově panelovou diskuzi a náš tester Libor na ní nesměl chybět :) Probíraly se hlavně otázky "S čím se potýká QA", "Automatizace", "Continuous delivery a zkušenosti s ním" či "Testování na produkci".
Minulý rok jsme začali a letos v tom hodláme pokračovat. Mluvíme o párovém testování, které si zatím pochvalují jak programátoři, tak testeři. Hlavní výhodu vidíme ne jen v teoretické časové úspoře, ale i ve sdílení informací a zkušeností.
Michalovo krátké zamyšlení o Headless Chrome a jeho pragmatické využití, například pro generování PDF z HTML.
Vyvíjíme rezervační systém, kterému říkame GOL. Zkratka IBE znamená Internet booking (= rezervační) engine. Rezervujeme primárně letenky. Označení D4 značí čtvrtou generaci, vyvinutou v javascriptovém frameworku Next.js, postaveném na Reactu. Z původního Flow jsme přešli na Typescript. Testujeme v Jestu a Cypressu. Aplikace má i verzi určenou pro korporátní zákazníky - TripGate a s využitím React Native i verzi mobilní.
Uvnitř GOLu se skrývá C++ jádro staré více než 10 let. Historicky podporovalo několik zdrojů letenkových a hotelových dat, rezervace aut a pojištění. Stále je v něm co zlepšovat. Při vývoji si pomáháme mockováním všech externích zdrojů dat, se kterými spolupracujeme. To nám umožňuje psát automatické testy. Nový kód píšeme v C14 a když je to potřeba, využíváme Boost.
Starší verze GOLu. Systém stále intenzivně vyvíjíme a zároveň udržujeme v provozu přes 10 let. To znamená, že v začátcích GOLu vypadal webový vývoj úplně jinak než dnes. Ale neznamená to, že bychom ho dělali celou dobu stejně. Jsme na PHP 8.0, využíváme PHPStan (na nižších levelech), testy píšeme v Codeception a PHPUnit.
Využíváme různá API z cestovního ruchu. Nejvíce používáme API k systému Galileo, které využívají i největší hráči v oboru. V ČR jsou to například Kiwi.com, StudentAgency, nebo Pelikan. Obdobné je to s API Travelfusion.