Přejít k obsahu Přejít k hlavnímu menu

SUPERKODERS

Co nás zaujalo na TechMeetup Conference 2023

Ani ke konci roku nezahálíme a vyrazili jsme na další konferenci, do Ostravy na TechMeetup Conference 2023. Narozdíl od FrontKonu tentokrát jen jako účastníci. Zaujal nás bohatý a zajímavý program a také jsme chtěli načerpat inspiraci, jak to dělají jinde. :-)

Petr Bulánek 8. listopadu 2023 6 min. čtení

Navštívili jsme několik skvělých přednášek a chceme se s vámi podělit o to, co jsme si z nich odnesli.

Seamless Releases
with Feature Flags:
Insights from
GitHub's Experience

Hana Harenčárová

Na první přednášce nás Hana Harenčárová, která pracuje v GitHubu na pozici SW vývojářky, seznámila s konceptem tzv. feature flagů. Zjednodušeně řečeno jsou to vlastně takové honosnější if statementy. Hanka ukázala, jak s nimi pracují právě v GitHubu.

Používají programovací jazyk Ruby a na feature flagy knihovnu Flipper Externí odkaz . Vývoj jednotlivých features může trvat týdny, ale klidně i měsíce, takže je důležitá možnost inkrementálních buildů.

Tipy z přednášky:

  • Pod feature flagem by měl být komplet celý přidávaný kód a ne třeba jen návratová hodnota z funkce. Abyste si do aplikace nezavedli nechtěný a na první pohled neviditelný bug, či side effect.
  • Po zapracování kódu pod feature flagem je potřeba provést úklid a smazat již nepotřebné větve kódu.
  • GitHub CodeQL je engine pro automatickou analýzu kódu a upozornění na bezpečností problémy.
  • Testy je potřeba psát pro variantu, kdy je feature flag zapnutý, i pro variantu, kdy je vypnutý.

Rust – programovací jazyk
pro klidný spánek

Jakub Beránek

V další přednášce jsme se seznámili s programovacím jazykem Rust. Ten u nás sice nepoužíváme, ale rádi si rozšiřujeme obzory.

Podle toho, co říkal Jakub Beránek, Rust lpí na plné zpětné kompatibilitě nových verzích. Oproti JavaScriptu se chlubí i lepším výkonem a menším množstvím bugů v kódu svých uživatelů. Prý ho dokonce „pochválil“ i autor Linuxu Linus Torvalds, kdy na jeho adresu prohlásil: „I don't hate it.“

Rust se používá například pro backendy či serveless technologie a jedna zajímavost – nemá garbage collector.

Design tokeny
pro vývojáře

Šimon Jůn

Následovalo nám mnohem bližší téma design tokenů, které na mnoha projektech používáme.

Šimon ve své přednášce nejprve nastínil nejčastější problémy, které zažívají týmy vývojářů a designérů. Konkrétně zmínil:

  • předávání výstupů,
  • složitou komunikaci,
  • updaty,
  • vývoj bez designu,
  • rebranding.

Potom ukázal, jak tyto problémy řešit pomocí design tokenů, představil jejich koncept a ukázal, jak s nimi pracovat ve Figmě.

Šimon pro práci s design tokeny doporučil plugin Token Studio ve Figmě. Ta přišla i s vlastním nativním řešením Figma Variables, které ale zatím neumí všechno, takže Token Studio prý stále vítězí.

Jako další zajímavý poznatek si odnášíme, že je mezi vývojáři a designéry potřeba sladit jazyk – používat by se přitom měl jazyk vývojáře (JSON), protože samotný design ve Figmě není finální produkt. A to zaznělo od Šimona, který je sám designér.

Zajímají tě novinky ze světa Frontendu?

Přihlas se k našemu newsletteru nebo nás sleduj na  sociálních sítích Externí odkaz .

Jak se brousí
vývojářská pila
aneb rozvoj vývojářů v týmu

Karel Pávek

Přednáška Karla Pávka byla více manažerská a pomohla nám zamyslet se nad tím, jak vést vývojáře v jejich růstu.

Požadavky zaměstnanců se v posledních letech hodně proměnily. Chtějí mít možnost práce odkudkoli, flexibilní pracovní dobu a zejména individuální přístup v kariérním posunu. Vedoucí týmu musí brát ohled na různé motivace kolegů, individuální akční plán a zpětnou vazbu.

Karel také připomněl, jak je důležité nastavení týmových podmínek na komunikaci a spolupráci a v duchu „není hloupé otázky“. V rozvoji pomůžou například metody jako peer programming, či v rámci sprintu dedikovaný čas na osobní růst – pak je dobré mít vyhrazené alespoň 4 hodiny na 14 dní.

Jak tvořit API,
které nejde použít špatně

Jakub Neruda

Jakub svou přednášku o API začal rychlým opakováním, že je důležité ho navrhovat ideálně tak, aby uživatel vůbec nemusel číst dokumentaci. Tedy například věci jasně pojmenovávat – pro objekty používat podstatná jména, pro funkce imperativy a pro dotazy prefixy is, has, can, should.

Potom nastínil pět tříd problémů, se kterými se lze při návrhu API setkat a na konkrétních ukázkách kódu postupně ukázal jejich řešení.

Next 14
– React Server Components
and Server Actions

Martin Křištof

V programu byla původně přednáška o Next 13, ale minulý týden vyšel Next ve verzi 14. Všechna čest Martinovi, že stihl na poslední chvíli upravit slidy, aby jeho prezentace byla co nejaktuálnější.

Postupně probral koncept serverových komponent v Reactu, serverové akce a nový způsob routování. Zmínil, že v novém Nextu je také nový bundler Turbopack jako náhrada Webpacku. Zatím je pouze v Betě a Martin ho z vlastních zkušeností ještě nedoporučuje v dev prostředí používat, protože je navzdory svému názvu pomalý.

Velká část přednášky probíhala jako live coding malé aplikace, na které Martin postupně představil jednotlivé novinky a přidal k nim pár dalších tipů. Například podtržítko v názvu složky či souboru říká, že jde o privátní komponenty, které se nemají použít pro file base routing. Obdobně fungují i závorky v názvu složky, které umožňují lépe strukturovat stránky opět bez vlivu na routování.

Funkcionální jazyky v produkci

Antonín Hackenberg

Proč používat funkcionální programování? Jak vysvětlit Antonín, pro každý programovací jazyk jsou důležité jeho featury, tooling, dokumentace a komunita. Některé funkcionální jazyky mají toto vše již v základu.

Jako příklad ukázal jazyk Elixir, který má v sobě například balíčkovací manager, formatter, či statické typování. Všechno to jsou věci, které v našem hlavním jazyce pro frontendisty – JavaScriptu – musíme řešit složitěji samostatnými pluginy.

Antonín představil také funkcionální jazyk ReScript, který v sobě nemá null ani undefined, kompiluje se do JavaScriptu a můžete v něm například rovnou psát i React komponenty. Navíc má generátor, díky kterému je možné generovat typy do TypeScriptu, či naopak TS typy do něj. A prý je rychlejší než TypeScript.

Application Observability
from developer perspective

Ondřej Popelka

Milovníci grafů si museli u Ondřejovy přednášky přijít na své, protože jich měl připraveno opravdu hodně. Společnost Keboola, kde působí, pracuje s velkými daty s pomocí mnoha služeb, které jsou napsané v různých jazycích a spravují je různé týmy. Služby odbavují různé množství požadavků – od několika denně až po tisíce dotazů za sekundu. Monitorování a vyhodnocování, proč něco trvá déle než by mělo, je tak naprosto klíčové.

Ondřej v přednášce doporučil, které metriky je dobré sledovat a jak na to. Upozornil ale i na to, že ne všechno může být takové, jak se z grafů na první pohled jeví. Vždy je podle něj potřeba se nad daty hlouběji zamyslet.

AI: bublina
nebo revoluce?

David Grudl

Konferenci TechMeetup v Ostravě zakončoval David Grudl vydatnou přednáškou o AI. Poukázal na to, že AI nástroje nám mohou obrovsky ulehčovat práci, když pochopíme, jak fungují. A většina lidí je používá špatně.

Například u nástrojů jako je ChatGPT je potřeba si uvědomit, že fungují na principu predikce pravděpodobnosti dalšího slova. AI tedy nad textem nijak nepřemýšlí, pouze vezme prompt a vygeneruje další pravděpodobné slovo. AI navíc nepracuje přímo se slovy, ale s tzv. tokeny, kterých si pamatuje jen omezené množství a vše starší „zapomene“.

David také zmínil termíny jako backpropagation, few shots či word embedding. Pokud vás problematika AI více zajímá, určitě si je prostudujte. K učení můžete využít i samotnou AI, protože má nekonečnou trpělivost. Pomůže vám třeba i s programováním.

Co zajímavého jste se v poslední době naučili? Dejte nám vědět.

Chceš se bavit s námi?

Hledáme do týmu další zapálené vývojáře.
Mrkněte na kariéru a napište Michalovi.

Michal Matuška | CTO

Michal Matuška