Ve spolupráci se Sherpas jsme opětovně provedli uživetelské testování našeho nového vyhledávacího procesu. Testování se jako přihlížející účastnili jak naši testeři, tak i část vývojového týmu. A výsledek? Skvělý zážitek a pár nápadů, jak proces pro naše zákazníky ještě vylepšit :)
Michal nám představil nový projekt, kompletně napsaný pro AWS, na kterém ukázal deployment pomocí frameworku Serverless, který zjednodušuje popis infrastruktury a automatizuje proces nasazení. Projekt byl napsán v Typescriptu a tak jsme si ukázali jak zdrojové kódy v Typescriptu kompilovat pomocí Webpacku a Babelu, a optimalizovat kód pro browsery. Pro vývojáře Javascriptu byla zajímavá část o použití nového standartu ECMAScript 6 v rámci AWS Lambda funkcí. Velká část přednášky byla zaměřena i na testy, včetně selenium testů, které byly spouštěny lokálně pomocí Serverless Offline.
Jak zrychlit práci při vývoji sw? Ano, samozřejmě, například využíváním speciálních nástrojů. Náš QA týmu začal používat nástroj Postman a experimentovat s jeho možnostmi, jako je rychlé přepnutí z prostředí na prostředí, pre-request a post-request scripty, které dokáží pro následující request vytáhnout z předchodzí odpovědi důležité údaje, atd... Zrychlení bylo tak viditelné že i vývojáři projevili o tento nástroj zájem. QA oddělení tedy na společném meetingu předvedlo možnosti nástroje a celý tým aktuálně může využívat připravené RQ pro svojí práci. Uvidíme, jak se to osvědčit v praxi.
Malá výprava na deváté setkání backendistů. Praktická ukázka DSL v Kotlinu přinesla zamyšlení, jestli máme kód dost hezký. Prezentace Ondřeje Mirtese dala pár tipů na nástroje užitečné pro vývoj v AWS lambda. A Petr Ferschmann předvedl užitečné (a zábavné) shrnutí principů, které by mělo splňovat každé API.
Tématem 65. setkání komunity [PRO]Test! bylo opět QA, tentokrát šlo ale o QA as a service. O kvalitní přednášku se postaral dlouholetý tester Tomáš Přibyl, který se s námi podělil o pozitivní, ale i negativní zkušenosti se zaváděním a udržováním kvality vývoje v agilním prostředí.
Rozhodli jsme si rozšířit své obzory v programování front-endů a ponořili jsme se do funkcionálního jazyka ELM, jenž je nádherný svojí jednoduchostí a striktním dodržováním typů.
jsDevMeetup - Tomáš Látal - Výlet do funkcionálního světa Elmu
QA je nedílnou součástí vývoje SW a protože se neustále vyvíjí, snažíme se s ní udržet krok. Vyrazili jsme tedy na QA Meetup, které pořádalo Zonky a udělali jsme dobře. Ve velmi příjemném prostředí proběhly 3 přednášky. Dozvěděli jsme se, jak náročné mohou být testy nových lokomotiv, co je nástroj Mabl.com a jak testovat testy :). Vše se nám líbilo a ještě jednou děkujeme Zonky za super akci. Příště určitě opět rádi dorazíme.
Přednáška od Petra Máry o metodách jak organizovat čas a priority při plnění několika projektů či úkolů zároveň.
Konferenci Devel.cz máme rádi. Jednodenní výtah z agendy výrazných osobností (nejen) webového vývoje je něco, na co stojí za to si vyhradit čas. Letos patřily k nejzajímavějším témata OpenSource vývoje (Jakub Nešetřil a David Grudl), tradiční prezentace top technologií dneška (Martin Hochel a Martin Michálek) a drobná technická témata (GraalVM, autoformáting).
Náš tester Libor se opět vydal na setkání skupiny [PRO]Test, kde se tentokrát dozvěděl, jaký je život QA/testera mobilní aplikace ve společnosti Liftago. A jaký je? No zdá se, že je hodně agilní, plný nástrah od výrobců mobilních telefonů a s nádechem neustálého hledání kompromisů mezi časem stráveným regresním testováním a sledováním chyb po nasazení do produkce z různých analytických nástrojů. Prostě plný výzev :-).
O návštěvě Jobs Dev jsme sepsali i kratičkou zprávu na naše firemní stránky.
U příležitosti Jobs Dev jsme připravili Soutěž se Záludnými otázkami z letecké dopravy a Logickým kvízem Kolektiv. Sami si ji můžete vyzkoušet.
Dělíme se o poznámky z přehození GOL IBE na https a http2.
Připravujeme se na účast na 2. ročníku veletrhu pro programátory Jobsdev. Kromě setkání s námi budeme mít i soutěž o letenku.
Na našem Githubu jsme uvolnili nástroj, který používáme pro konfiguraci proměnných v config.php (a obdobných) souborech. Navíc jsme sepsali, co nás k tomuto přístupu vede.
Meetup skupina se ve skutečnosti jmenuje MySQL, MariaDB and MongoDB talks, CZ a jednočlenná výprava na přednášky představující základní vlastnosti obou systému byla spokojenější než čekala. Nejzajímavější byly informace ohledně replikací a High Availability.
Memcached už máme nasazenou na produkci, ale nebylo to bez překvapení. Poznámky jsme shrnuli do krátkého článku.
Nečekané potíže při převodu session z filesystému do Memcached.
Na setkání [PRO]Test komunity jsme se zájmem poslouchali Mirka Bureše a jeho téma: testování IoT. Aktuálně sice trochu mimo naše působení, ale v blízké budoucnosti .... kdo ví :)
Prima návštěva Backendistů #8. Nejveselejší byla Geneea s analýzou (ale i generováním) psaného textu. Zajímavé i Zonky s microservicama v cloudu.
Opět velká spokojenost ze setkání [PRO]Test komunity. Až z dalekého SK k nám do Prahy přijela parta, která stojí za vybudováním QA v dynamickém start-upu ve společnosti sli.do. Přednáška byla velmi přínosná a při porovnání zkušeností a postupů můžeme říci, že i ohledně QA jdeme s dobou :).
Na Commission Microservice si zkoušíme nový koncept, jak kód z našeho C++ jádra znovupoužít v prostředí AWS. Zrovna tak se utkáváme se znovupoužitím legacy PHP kódu našeho backofficu. Zatím se obojí plus mínus daří, a tak jsme do dříve zveřejněné dokumentace mohli doplnit práci s pravidly pro commission.
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.