Kafemlejnek.TV

Kafemlejnek.TV

Zastavte se na kávu s Honzou Novotným a Petrem Ferschmannem a nic vás při tvorbě software nesemele. Od vývojařů přes designery, architekty až po zakladatele společností. Za kamerou je Tomáš Hodr.

  • 32 minutes 49 seconds
    67 - Canarytrace
    V druhém dílu s Radimem Danielem Pánkem se podíváme na zoubek nástroji Canarytrace, který Radim s týmem vyvíjí a který umožňuje auditing výkonosti webové aplikace z pohledu uživatele. Díl je tentokrát lepší sledovat na YouTube, protože se v něm hojně odkazujeme na to, co je vidět na monitoru a ve videozáznamu uvidíte záznam obrazovky. Canarytrace je nástroj úzce integrovaný do Google Chrome, který přes jeho debug protokol sniffuje telemetrická data prohlížeče a ukládá je do Elasticsearch. Nad vybranými metrikami potom vytváří reporty, grafy a notifikuje odpovědné stakeholdery. V průběhu 30 minut v rychlosti prolétneme základní funkce tohoto nástroje. Zajímavým faktem je to, že nástroj může běžet 24/7 jako jeden z běžných uživatelů vaší webové aplikace a průběžně monitoruje její odezvy. V podstatě je to kontinuálně běžící web.dev / Lighthouse, který měří chování aplikace za běžného provozu i v průběhu speciálně připravených výkonnostních testů. Pokud jste nadšenci do testování výkonnosti – Radim hledá pro Canarytrace co-foundera.
    25 April 2022, 6:16 am
  • 49 minutes 24 seconds
    66 - Výkonnostní testování
    Radim Daniel Pánek je v Čechách známým evangelizátorem výkonnostního testování. Sám natáčí vlog o výkonnostním testování TEST-STACK, přednáší a spoluorganizuje veřejné akce. Kromě toho je také zakladatelem startupu Canarytrace, který umožňuje auditing výkonosti webové aplikace z pohledu uživatele. To jsou důvody, proč jsme si právě jeho pozvali do dalšího dílu Kafemlenku, který je zaměřený na výkonnostní testování. Natáčení jsme rozdělili na dvě části – v této se bavíme o výkonnostním testování obecně – například, jak připravit infrastrukturu, data a na co si při přípravě dát pozor. Druhá se zaměří přímo na Canarytrace – jaké možnosti nám tento nástroj přinese, jak vnitřně funguje a v jakých případech se ho vyplatí použít. Radim se s námi podělil o řadu zajímavých vhledů do života výkonnostního testera, který spolupracuje s různými firmami na IT trhu. Dozvíte se, že metriky jsou základ každého systému. Základem je také analýza, která nám řekne, které parametry systému jsou žádoucí a kde se předpokládá jeho růst. Analýza také odpoví na to, jaké objemy dat bude nutné připravit a jaké testovací uživatele k tomu využít. Padne také zajímavý fakt, že dobré je v úvodu testování prověřit čistý výkon “prázdné infrastruktury” bez vlastní aplikace, aby bylo možné stanovit “baseline”. Zkrátka jednoduše – drobných tipů a faktů během natáčení proběhne celkem dost. Doufáme, že rozšíří obzory i vám.
    7 April 2022, 5:21 am
  • 1 hour 2 minutes
    65 - České zlato - Mapy.cz
    Mapy.cz jsou klenotem českého Seznamu a troufám si odhadnout, že neexistuje Čech, který by je neznal. Mnoho z nás je běžně používá ať už pro plánování a navigaci na pěších, či cyklo výletech, jiní i jakou auto-navigaci. Osobně jsem s Mapy.cz absolvoval cestu až do řeckých Atén a offline mapy, mě bezpečně provedly přes několik zemí bez jediného zaváhání. V naší zemi nám Mapy.cz nabízejí mnohem více možností, než konkurenční celosvětoví SW hegemoni jako je Google nebo Apple. Proto mi bylo velkou ctí v Kafemlejnku uvítat Martina Baka, který tým vyvíjející tuto aplikaci vede. Hned v úvodu se od Martina dozvídáme, že Mapy.cz jsou provozovány v Kubernetes clusteru, frontend je napsán převážně ve vanilla JavaScriptu a pouze jedna izolovaná část je napsána v Reactu. V týmu stále probíhá diskuse, zda-li se vydají cestou Reactu nebo nikoliv – kdysi se používala knihovna JAK, která je v současné době dostupná jako open-source. Data jsou ukládána převážně v PosgreSQL a jeho rozšíření PostGIS. Martin překvapivě tvrdí, že současní vývojáři nemusí nijak zásadně řešit geografickou matematiku, protože ta byla “oprogramována” před lety a od té doby funguje v podstatě beze změny. Grafické dlaždice jsou uloženy v jedném velikém souboru, kde jsou dostupné na konkrétních souřadnicích. Aktuálně používají 9+9 fyzických strojů na poskytování rastrových dat z výše uvedeného velkého souboru a obsluhují 20 tisíc reqs/sec. Do budoucna plánují postupnou migraci na nové řešení založené na CDN, které Martin v podcastu celkem podrobně popisuje. Pro vykreslování map používají knihovnu Mapnik a to jak pro vlastní dataset, tak i pro data přebíraná z OpenStreetMap. Na toto téma jsme se pustili i do určitého fabulování na téma schvalování úprav v OpenStreetMap, takže pokud někdo z posluchačů je v této oblasti odborníkem, budeme rádi za upřesnění informací, třeba v komentáři – díky! Snažíme se z Martina vytáhnout více informací o tom, jak funguje algoritmus pro vyhledání optimální trasy z bodu A do bodu B avšak neúspěšně. Každopádně se dozvídáme, že algoritmus funguje samostatně jak na klientovi (přímo v aplikaci), tak na serveru. Vyhledání trasy tedy funguje i v offline režimu. Překvapením pro nás bylo poodkrytí způsobu, jak jsou generovány návrhy na výlety v požadované délce. Čekali jsme kdoví jak sofistikovaný algoritmus pro návrhy oblíbených POI, ale vlastně se jedná jen o nalezení okruhu v okolí tak, aby uživatel neprošel 2x stejným úsekem. Plno funkcí, kde jsme čekali nějakou magii, skrývá jen velmi jednoduchá, ale praktická řešení. Zajímavá je informace o spolupráci s Windy.com, jejímž výsledkem je i pokus o rozšíření českých map do světa pod značkou WindyMaps. Narazili jsme i na funkce pro monitorování šíření Covidu, která je v mapách stále dostupná a zamýšleli se nad její smysluplností. Tuhle část zde nebudu podrobněji komentovat a doporučuji poslechnutí záznamu od 48 minuty. Tým pro Mapy.cz stále hledá nové vývojáře. Hledají především Python, C++ vývojáře. Umožňují práci z domu, ale preferují setkávání 2x týdně v Praze. Probíráme, jak vypadá přijímací pohovor do Seznamu a co mohou případní uchazeči při práci v Seznamu čekat.
    8 March 2022, 6:44 am
  • 1 hour 7 minutes
    64 - Vývojářem ve Zboží.cz
    Zboží.cz asi není třeba dlouze představovat – je to jeden ze stavebních kamenů české jedničky Seznam.cz. Agreguje nabídky zboží a umožňuje vyhledávat zajímavé nabídky skrz rozsáhlý sortiment českých e-shopů. Kombinuje katalog, fulltextové vyhledávání a PPC systém v jednom. Do tohoto dílu se nám podařilo dohodnout rozhovor s Petrem Novákem, který vede vývojáře, kteří mají rozvoj Zboží.cz na starosti. I v tomto případě jsme využili příležitosti a natočili rozhovory hned dva – v příštím díle se budete moci těšit na Martina Baka, který má na starosti Mapy.cz. Petr Novák nám představil architekturu a způsob vývoje. Dozvěděli jsme se, že Zboží.cz je složeno s desítek komponent (dalo by se říci mikroslužeb) a je provozováno na privátním cloudu Seznamu z Čech. Produktová databáze je v MySQL, kde již naráží na velikostní limity a tak pokukují po Vitess.io a možnosti automatického shardování, které nabízí. Vedle toho používají také Elasticsearch a samozřejmě i vlastní “seznamácké” fulltextové vyhledávání. Zajímavé je, že frontendový index je aktualizován celý – tedy nikoliv inkrementálně, ale je vždy vybudován z nuly. Kromě PPC části a s tím souvisejícího “účetnictví” je zajímavé načítání a agregace nabídek s tisíců e-shopů, které dohromady tvoří miliony produktů, které se často mezi sebou překrývají. K agregaci je vytvořena umělá inteligence, která v kooperaci s lidskou supervizí a korekcí slučuje nabídky e-shopů do srozumitelných a porovnatelných produktů v katalogu Zboží.cz. V týmu Zboží.cz najdete vývojáře v C++, Pythonu a frontend je celý v Typescriptu/Reactu, nově se přepisuje na SSR v Next.JS. Pro přesnos dat se historicky používá protokol FastRPC, někde REST API. Poměrně detailně probíráme způsob nasazování nových verzí aplikace, monitoring služeb a další věci, které spadají pod termín SRE. V Seznamu preferují pravidelné osobní setkání týmů, ale ani jim se v Covidové době nevyhnul částečný full remote. I na to přišla řeč, stejně tak jako na komunikační nástroje, které používají a v závěru probíráme, které pro které role hledají ve Zboží.cz nové vývojáře. Doufáme, že vás tento díl bude bavit alespoň tak, jak nás bavilo jeho natáčení.
    11 February 2022, 6:17 am
  • 1 hour 7 minutes
    63 - Zvláštnosti vývoje algoritmického automatu
    V tomto dílu se s Františkem soustředíme především na zásadní rozdíly v přístupu k vývoji aplikace pro algoritmické obchodování a běžnými enterprise aplikacemi, které pravděpodobně vytváří řada z nás. Františkova předchozí kariéra se odehrávala především v bankovním sektoru v oblasti elektronického bankovnictví. Vývoj podobných webových aplikací si každý z nás v dnešní době už asi umí představit, v případě bankovnictví je práce okořeněná navíc jen větším důrazem na kvalitu výstupu a bezpečnost. Co je tedy tak odlišného při psaní obchodovacího automatu?! Jednou ze zajímavostí je to, že pokud optimalizujete obchodovací algoritmus na rychlost (latenci), vyplatí se v tomto segmentu znovu vynalézat kolo. Vymýšlení vlastních optimalizovaných řešení, místo použití generických knihoven, může ve svém výsledku přinést v kritických momentech několik mikrosekund náskoku, který umožní algoritmu vyhrát v konkurenci ostatních. František také bez uzardění přiznává, že teprve při psaní algotradingové aplikace se naučil reálně programovat. Teprve tady si skutečně sáhnul na vlastní implementaci B-stromů a řadu dalších low-level datových struktur a algoritmů, které my ostatní používáme zaobalené do high-level knihoven aniž bychom o tom leckdy sami věděli. Další z překvapivých momentů je ten, že chyba aplikace s potenciální finanční ztrátou, může být pro zadavatele – obchodníky bez problémů akceptovatelná. Pokud na druhé straně dostanou novou verzi aplikace s úpravami, které jim umožní obchodovat s náskokem oproti ostatním a potenciálně vydělat násobně víc. Dozvíme se, že na první pohled složité optimalizace nemusí v Javě ve výsledku až tak bolet. Jednou formou zpomalení v aplikacích obecně jsou systémová volání kernelu (context switch). Při psaní aplikací, které vyžadují nekompromisní výkon (jakými jsou např. i databáze) se doporučuje minimalizovat počet systémových volání kernelu a co lze si spravovat aplikačně sami. František zmiňuje existenci síťových karet, které si umí samy generovat časový otisk (dotaz na aktuální čas totiž obvykle vyžaduje právě systémové volání) a možnost vyjmout síťovou kartou ze správy kernelem a spravovat si ji nativně aplikací přes C knihovnu implementující TCP/IP stack. Tímto způsobem je možné se dostat i na řádově lepší rychlosti. Věříme, že tento druhý díl, pohladí na duši všechny tech-geeky mezi našimi posluchači. Tento díl vám přináší Luhačovická pražírna kávy. Kávové předplatné můžete spolu s Feršem a Novojem vychutnávat společně. Při zadání slevového kódu “kafemlejnek” v košíku dostanou naši posluchači exklusivní slevu 15%.
    19 January 2022, 1:58 pm
  • 45 minutes 17 seconds
    62 - Taje obchodování na energetické burze
    Námět na tento díl vznikl na loňském ročníku jOpenSpace, kde měl František Řezáč skvělý offline příspěvek o zvláštnostech psaní algoritmických automatů pro obchodování na energetické burze. Vzhledem k tomu, že byl tak zajímavý a zároveň nebyl zaznamenán, jsme se v Kafemlejnek.TV dohodli, že tyto zkušenosti nasdílíme přes náš kanál. V prvním díle našeho rozhovoru s Františkem se snažíme nejdříve proniknout do specifik vlastních burze s energiemi a především Ferš hosta trápí svými dotěrnými otázkami, které pramení z jeho zkušeností s fotovoltaikou na domě. Pokud vás zajímají čistě IT informace, přeskočte rovnou na druhý díl z této série, kde se budeme už skutečně věnovat pouze programování. V tomto se dozvíte, jak jsou producenti a spotřebitelé energie trhem incentivizováni dodržovat plánované dodávky a odběry elektřiny, jak se měří a rozpočítává spotřeba elektřiny a jak se odhaduje spotřeba na základě historické zkušenosti a diskrétních odečtech. V řadě detailů nebudou informace dostatečně přesné, ale pro naše účely jsou dostačující. Energetika je skutečně velmi složité odvětví s klíčovým dopadem na naše životy, a proto by mohl být tento náhled na tuto problematiku užitečný i pro vás.
    5 January 2022, 7:21 am
  • 40 minutes 1 second
    61 - Z jakých ingrediencí Luigi's Box vaří?!
    Pokračujeme druhým dílem s hosty z Luigi’s Box, kteří se zabývají vývojem chytrého vyhledávacího stroje pro e-commerce. Tentokrát s nimi zabloudíme do pozadí celé služby a dozvíme se třeba o tom, že běží na Amazon WS, jejich řešení je složené z řady dílčích služeb – částečně jako lambdy, které mezi sebou používají Kinesis pro výměnu zpráv. To a plno dalších technických detailů se dozvíte právě v dnešním díle. Jak jsme již probírali v minulém díle – srdcem řešení je Elasticsearch cluster, částečně PostgreSQL a Redis pro dílčí úlohy. Dozvěděli jsme se, že každý zákazník si trénuje svůj vlastní model pro AI, žonglují s TB dat v databázi a jak řeší třeba Black Friday. Jaké strategie používají pro chytré vyhledávání a kde vidí svou přidanou hodnotu. V díle najdete i naše oblíbené okénko o fuckupech 🙂 Stejně jako ostatní i v Luigi’s Box hledají nové talenty, takže pokud vás zajímá problematika vyhledávání, AI či ElasticSearche, budou rádi, když se jim ozvete. Tento díl vám přináší Luhačovická pražírna kávy. Kávové předplatné můžete spolu s Feršem a Novojem vychutnávat společně. Při zadání slevového kódu “kafemlejnek” v košíku dostanou naši posluchači exklusivní slevu 15%.
    8 December 2021, 7:15 am
  • 45 minutes 25 seconds
    60 - Luigi's Box - recept na rychlé hledání
    Otvírákem podzimní sezóny Kafemlejnku jsou borci z Luigi’s Box, kteří se zabývají vývojem chytrého vyhledávacího stroje pro e-commerce. Se svým produktem získali naposledy letos ocenění nejlepšího řešení pro e-commerce vyhledávání v E-commerce Germany Awards a jejich dráha je velice slibně rozjetá. Kromě inteligentního fulltextového vyhledávání dodávají e-shopům i řešení pro doporučování alternativních nabídek a personalizovaných doporučení uživatelům. Umí zajistit i výpis produktů v katalogu a svižné brouzdání v kategoriích. Jejich engine má v pozadí osvědčený Elasticsearch, který je doplněný o originálně pospojované komponenty, které kombinují heuristické algoritmy s nacvičenou umělou inteligencí tak, aby výsledky prezentované uživateli maximalizovaly jeho zájem, prodej a výkon e-shopu. Na podobné téma jsme v Kafemlejnku hovořili s Adamem Surákem, který pracuje pro společnost Algolia v díle 34. a díle 35. Algolia však necílí pouze na e-commerce, ale má záběr širší. V tomto prvním díle probíráme s chlapci spíše byznysovou stránku věci a podíváme se na úplné počátky jejich startupu. Ptáme se na to, co je ten hlavní tahák jejich řešení, a proč jsou lepší než Algolie nebo TypeSense. Bavíme se o tom, že vyhledávání má strašně velký long-tail a co se s tím dá dělat. Jak mají nastavený pricing a proč se orientují podle počtů objednávek a produktů v katalogu. Oba byli neuvěřitelně otevření, takže jsme se dozvěděli spoustu věcí. Pokud se chcete o Luigi’s Box vědět něco, co na internetu v současné době nenajdete, je tento díl právě pro vás. Tento díl vám přináší Luhačovická pražírna kávy. Kávové předplatné můžete spolu s Feršem a Novojem vychutnávat společně. Při zadání slevového kódu “kafemlejnek” v košíku dostanou naši posluchači exklusivní slevu 15%.
    22 November 2021, 6:52 am
  • 37 minutes 9 seconds
    59 - Inspekce v Luhačovické pražírně kávy
    Kafemlejnek.TV si dal delší přestávku v natáčení, protože nebylo v našich silách v nedávném Covidovém období ani najít vlastní čas, natož pak místo a hosty pro natáčení. Doba se pomaličku mění k lepšímu a tak jsme znovu rozjeli natáčení, které nám, doufejme, už vydrží. S novou etapou přichází i další sponzor našeho pořadu a tím je Luhačovická pražírna kávy, která nás bude zásobovat pravidelným přísunem kofeinu a pomůže Kafemlejnek naplnit tím správným obsahem. A protože nikdy nekupujeme zajíce v pytli, zajeli jsme se do Luhačovic osobně podívat, jak takové pražení vypadá a dozvěděli se plno zajímavých věcí ze světa kávy. Třeba i to, že první malou pražírnu jim řídila podomácku vytvořená umělá inteligence a že i teď je řízení pražírny pevně v rukou stroje. V tomto díle se spolu s námi dozvíte plno zajímavých faktů o světě kvalitní kávy a způsobu její přípravy. A pokud do firmy hledáte dodavatele kvalitní kávy, můžeme vám lázeňskou vřele doporučit – dodají vám nejen kávu, ale zajistí i bezproblémový servis a provoz vašeho kávovaru. V příštím díle se můžete těšit na lídry startupu Luigi’s Box, kteří nám povypráví o jejich vizi správného vyhledávání v e-commerce světě.
    9 November 2021, 10:36 am
  • 58 minutes 7 seconds
    58 - CI/CD v GitLab
    Ondra Šika se zabývá školením DevOps open-source technologií a do tohoto dílu jsme si ho pozvali, kvůli jeho znalostem v oblasti continuous integration / continuous deployment v GitLabu. Vzhledem, že jedno z jeho školení je přímo věnováno tomuto tématu, nemohli jsme získat nikoho lepšího. GitLab je aplikace pro správu zdrojového kódu (git repository), která v sobě integruje řadu dalších oblastí vývojářského ekosystému a snaží se nabídnout all-in-one řešení. V posledních letech silně roste, protože má vstřícnou licenční politiku (jejich on-premise free tier obsahuje všechny základní funkcionality, které firma s 0 až 100 lidmi potřebuje) a zároveň velmi dobře integruje běžně používané open-source technologie (Git, Node, MarkDown, Docker, Prometheus, Jaeger, Sentry). Kromě repozitáře zdrojového kódu vám nabídne i repositář artefaktů (Docker registry, Maven repository, Node registry), issue tracking i CI. Jeho UI je napsáno ve Vue.js a je velmi plynulé a skvěle se s ním pracuje. S každou novou verzí přepadává celá řada užitečných funkcí z placených plánů do komunitní verze a tak si třeba od verze 13 můžete užívat třeba Service Desku nebo schvalování merge requestů. Všechny funkcionality má pokryté pomocí REST API, takže práce s GitLabem lze velmi dobře skriptovat. To a plno dalších věcí jsme probrali v tomto díle s Ondrou Šikou a pokud se Vám zdá, že jsme mu nepokrytě dělali reklamu, máte pravdu. Reklama to byla ovšem zcela nezištná – prostě jsme byli s jeho školením natolik spokojeni (já a kolegové z FG.cz), že se to zkrátka na tomto díle projevilo. Snad vás tedy moje chvála neurazí.
    29 August 2020, 6:52 am
  • 57 minutes 28 seconds
    57 - Node.JS v Shoptet Premium
    V minulém díle s Borkem Bernardem z pardubické společnosti VersionPress jsme vám slíbili ještě jeden díl zaměřený víc na technologii, ve které je Shoptet Premium vytvořeno – tedy Node.JS. Do tohoto dílu jsme si přizvali ještě dalšího hosta a tím je Jakub Ruffer z FG Forrest, který vede tamní tým Node.JS vývoje, aby nám kryl záda, pokud by došlo na hlubší témata, ve kterých s Feršem nejsme tak kovaní. V tomto díle si povídáme o technologickém stacku, který kluci při vývoji Shoptet Premium použili, o tom, že jejich část v Node.JS je kompletně bezestavová, o rozdílech mezi REST a GraphQL API a užitečných knihovnách, které byly při vývoji použity. Jednou z takových je třeba lokalizační knihovna TTag.JS, na jejíž jméno si Borek při natáčení nemohl vzpomenout. Bavíme se o specifikách e-commerce projektů a problematice využívání předgenerovaných statických souborů či využití cache. Poměrně detailně rozebíráme i techniky Node.JS, kterými si pomáhá pro rychlejší vykreslení první stránky a jejich nevýhody.
    29 July 2020, 10:51 am
  • More Episodes? Get the App
© MoonFM 2024. All rights reserved.