Důležité je také myslet na caching. U RESTu máte HTTP cache, kterou můžete nastavit na úrovni endpointů – to je rychlé a jednoduché. U GraphQL je caching složitější, protože každý dotaz je unikátní a máte jediný endpoint. Pokud si nechcete komplikovat život, využijte knihovny jako Apollo Client nebo Relay, ale i tak musíte pochopit, jak fungují normalizace a invalidace cache. Bez toho skončíte s tím, že každý dotaz jde na server naplno, a to vás připraví o výkon.
REST je vhodný, když máte jasně ohraničené zdroje a vystačíte si s jednoduchými operacemi. Typicky jde o veřejná API, CRUD aplikace nebo systémy, kde klient potřebuje celou entitu. Pokud ale potřebujete složitější dotazy nebo chcete omezit přenos dat, REST začne drhnout. Typická chyba? Vytvoříte endpoint pro každou variantu dat – jeden pro seznam, druhý pro detail, třetí rady pro rekonstrukci filtr. Tím roste počet endpointů, dokumentace se komplikuje a údržba se stává noční můrou.
Důležité je správně nastavit i prostředí. Místo tvrdě zapsaných tajemství do YAML souboru používejte GitHub Secrets. V nastavení repozitáře si nadefinujete proměnné, které pak v workflow odkazujete jako secrets.NAZEV. Nikdy je nevypisujte do logů — běžně se to stane při debugování, ale pak je nutné logy smazat a tajemství otočit. Actions automaticky maskuje známé secrets, ale pokud je zkopírujete do jiné proměnné, ochrana selže.
Pro efektivní caching závislostí použijte built-in cache action. Například pro jazyk Python ukládáte pip cache, pro Node.js npm cache. Klíč cache by měl obsahovat hash lock souboru. Bez cache se vám každý build zdrží o desítky sekund až minut, zvlášť u větších projektů. Nezapomeňte ale cache invalidovat při změně verze interpretu — jinak budete používat staré balíčky.
Na závěr si rozmyslete, zda chcete požadovat uvedení autora v poděkování nebo v dokumentaci. Tento požadavek je běžný u licencí jako BSD nebo MIT, ale může být pro některé uživatele nepříjemný. Pokud chcete maximální volnost, vyberte licenci bez této podmínky, například CC0 pro obsah. Ať už zvolíte cokoli, mějte na paměti, že licence se nedá snadno změnit, jakmile projekt začnou používat další lidé. Jeden špatný krok na začátku může znamenat, že váš kód skončí v projektu, se kterým nesouhlasíte, nebo že ho nikdo nebude chtít použít. Proto si dejte na výběru záležet.
Volba licence pro open source projekt vypadá na první pohled jako formalita. Stačí přidat soubor s textem a hotovo. Jenže právě tady vzniká většina problémů, které se později těžko napravují. Pokud licenci vyberete špatně, můžete přijít o kontrolu nad vlastním kódem, nebo naopak odradit potenciální přispěvatele. Než cokoli zveřejníte, udělejte si jasno v tom, co od projektu vlastně chcete.
Když už máte pipeline funkční, sledujte jeho dobu běhu a množství použitých minut. GitHub nabízí určitý limit zdarma, ale pro větší projekty se vyplatí investovat do placeného plánu nebo vlastních runnerů. Vlastní runner vám dá kontrolu nad hardwarem a rychlostí, ale zase musíte řešit jeho údržbu. Vyvážený přístup je začít s cloudovými runnery, a teprve když narazíte na limity, přesunout náročné joby na self-hosted.
Základní workflow definujete v YAML souboru ve složce .github/workflows. Stačí tři klíčové sekce: name (název), on (spouštěcí událost) a jobs (jednotlivé úlohy). Nejčastější chybou bývá zapomenout nábytek na míru oprávnění — pokud chcete, aby workflow mohlo pushovat změny zpět do repozitáře, musíte v jobu nastavit permissions: contents: write. Bez toho skončíte u chyby 403 a budete zbytečně hledat problém v kódu.
Selectory a memoizace: jak se vyhnout zbytečným překreslením Lidé si často stěžují, že Redux způsobuje pomalé renderování. Ve většině případů za to ale nemůže samotný Redux, ale špatně napsané selectory. Pokud v komponentě voláte funkci, která pokaždé vytvoří nový objekt nebo nové pole, React vyhodnotí, že se reference změnila, a spustí překreslení. Řešením je používat memoizované selectory, které vracejí stejnou referenci, dokud se nezmění závislá data. Vhodným nástrojem je knihovna Reselect, ale funkční memoizaci si můžete napsat i sami. Důležité je také nevybírat ze store celé velké části stavu, ale pouze to, co komponenta skutečně potřebuje.
Jak nastavit sdílené očekávání bez zbytečných detailů Začněte tím, že si analytik s vývojářem sednou společně a odhadnou obě fáze zvlášť. Nepoužívejte přitom žádné složité metody. Stačí jednoduché rozpětí: minimum a maximum pro analýzu, minimum a maximum pro implementaci. Pokud se odhady výrazně liší od předchozích zkušeností, je to varování. Řešte to hned, ne až po sprintu. Pro celý tým platí, že odhady jsou pravděpodobnosti, ne sliby. Nikdy nepřidávejte rezervu „na jistotu" do jedné části, protože tím jen posunete problém do druhé části.
Here is more about pokračovat ve čtení visit our web site.