Preskočiť na hlavný obsah

Frontendové zvesti #4

· Čítanie na 8 min

Dnešných noviniek je veľa a z rôznych oblastí. Dostanete tipy na nové nástroje, dokumentárne filmy o histórii technológií. Nevyhneme sa ani umelej inteligencii a na koniec sa chvíľu pobavíme aj o prepise naozaj veľkej hry (EVE Online) do Python-u 3.

Bol vydaný Vitest vo verzii 5.0

  • https://vitest.dev/blog/vitest-5.html

  • Zámerom tohto vydania bol hlavne vylepšený výkon. Môžete očakávať, že vaše testy budú bežat rýchlejšie aspoň o zopár percent (8% - 53% podľa ich benchmarkov).

  • Máme k dispozícii novú pomocnú metódu vi.when, ktorú vyuzijeme v situáciách kde potrebujeme, aby namockovaná funkcia vracala hodnoty na základe daných argumentov.

    const findById = vi.fn();

    vi.when(findById)
    .calledWith(1)
    .thenResolve({ id: 1, name: "Ella" })
    .calledWith(2)
    .thenResolve({ id: 2, name: "Gracie" })
    .calledWith(expect.any(Number))
    .thenReject(new Error("not found"));
  • chyby pochádzajúce z neschopnosti nájsť element budú odteraz vypisovať strom s použitím ARIA rolí a názvov. Mali by sme to zobrať ako príležitosť sa ich naučiť a používať lepšie.

  • falošné časovače po novom mockujú aj Temporal API, nie iba Date

  • nastavenie clearMocks je teraz predvolene zapnuté (true). Predchádzajúce verzie to mali vypnuté (false).

SVG, React a <defs>

Vykresľujete na jednej stránke viacero kópií rovnakého SVG obrázku a radi by ste používali <defs>, aby ste sa zbavili duplicitného markupu, ale nemôžete, lebo vám v tom bráni fungovanie React-u? Nuž, tak si prečítajte tieto dva články a naučíte sa, aké máte možnosti:

Ako vy osobne môžete ovplyvniť a zmeniť JavaScript?

Kratučké video o tom, ako sa aj vy môžete stať súčasťou vývoja jazyka a jeho špecifikácie:

https://www.youtube.com/watch?v=OkuNJo9tTtg

Opäť ďalšie riešenie na tvorbu natívnych aplikácií v JavaScript-e

Ľudia stojaci za editorom Zed vytvorili svoj vlastný v Rust-e napísaný GPU akcelerovaný UI framework nazvaný GPUI. Poskytujú k nemu aj binding-y pre React pod názvom GPUIX. Znamená to, že môžeme písať aplikácie pre počítače, ktoré môžu využívať silu grafických kariet pre vykreslovanie (napriamo cez Metal, DirectX alebo Vulkan) použitím jazyka (JavaScript/TypeScript) a UI frameworku (React), ktoré dobre poznáme.

Umelá inteligencia

S AI pre nás môže byť lepšie použiť primitívy namiesto abstraktných knižníc

Žijeme v historických časoch (niekto múdry kedysi povedal, že je oveľa lepšie žiť v pokojných a nudných časoch), kedy musíme prehodnocovať aj dlho-platiace pravdy, zákonitosti a paradigmy okolo programovania.

Robin Wieruch nedávno napísal článok o svojej skúsenosti z jedného projektu. Uvedomil si, že programovanie pomocou AI agentov zmenilo "ekonomiku" výberu medzi použitím knižnice tretej strany poskytujúcej abstrakciu problému (spolu s názormi a pravidlami) na jednej strane. Alebo na druhej strane, vytvorením vlastného riešenia na zelenej lúke pomocou "primitív".

Mne Robinove vysvetlenia dávajú zmysel a jeho argumentáciu si môžete prečítať v nasledovnom článku:

Apokalyptický pohľad na vývoj AI od bývalého zamestnance Anthropic-u a OpenAI

Nie som si istý, čo k tomuto dodať a čo si o tom myslieť. Je to síce krátke, ale veľmi smutné čítanie.

Kopec dokumentárnych filmov o technológiách, ktoré používame a máme radi

Z nasledovnej štvorice filmov som zatiaľ videl iba ten prvý o Visual Studio Code a môžem ho s kľudným srdcom odporučiť. Hneď zo začiatku ma prekvapilo, že za vývoj VS Code je zodpovedný Erich Gamma, čo je jeden zo štvorice autorov, ktorý spísali knihu o návrhových vzoroch.

The Story of VS Code

https://www.youtube.com/watch?v=kHL3XzjpT5w

The Java Story

https://www.youtube.com/watch?v=ZqGSg4b_cZA

Vite: The Documentary

https://www.youtube.com/watch?v=bmWQqAKLgT4

Node.js: The Documentary | An origin story

https://www.youtube.com/watch?v=LB8KwiiUGy0

Vytvorte svoje vlastné SSR riešenia s použitím Vite

Mám rád jednoduché riešenie a takisto ráď zisťujem, ako veci fungujú. Pokiaľ ste v tomto na tom podobne a chceli by ste vedieť, ako si nastaviť server-side rendering pre vašu React stránku s použitím Vite, tak nasledovný článok je pre vás. Ale upozorňujem, v titulku a najmä v druhej polovici článku autor používa termín SSG (Static Site Generation, generovanie statických html stránok), ale v skutočnosti ukazuje SSR (Server-side rendering).

Okrem iných vecí, autor v článku odkazuje aj na plugin vite-react-ssg, čo mne z neznámych príčin pripomenulo niekdajší plugin zvaný vite-plugin-ssr. Po nejakú dobu som ho spokojne používal. Medzičasom sa tento plugin vyvinul v plnohodnotný framework pod názvom Vike. Ak by ste chceli mať pod kontrolou úplne všetko vo vašej aplikácii, tak Vike je presne pre vás.

Zatkli dvoch členov skupiny TeamPCP zodpovednej za niektoré zo Shai-Hulud útokov

Predpokladám, že si pamätáte nekonečné vlny útokov na supply-chain infraštruktúru z pred pár mesiacov, ktoré sme skrátene volali Shai-Hulud. Už som dnes písal, že žijeme v historických časoch a zdá sa, že s príchodom LLM majú aj script-kiddies k dispozícii oveľa mocnejšie nástroje. Z prvých dojmov sa mi zdá, že TeamPCP nie sú typickými aktérmi s nejakým plánom, agendou (alebo štátom za chrbtom), ale iba zopár mladíkov, ktorí sa chytili príležitosti. To však neznamená, že nie sú nebezpeční. A nielen pre IT infraštruktúru, ale aj fyzicky nebezpeční. Ak chcete vedieť viac, prečítajte si nasledovný článok, ktorý napísal bezpečnostný výskumník Charlie Eriksen:

EVE Online migruje na Python 3

Táto novinka sa netýka frontendu, ani JavaScriptu. Vyzerá to tak, že s pomocou AI agentov je dnes veľmi jednoduché portovať projekt z jedného frameworku do druhého. Dokonca aj z jedného jazyka do druhého. Ako príklady sme nedávno videli TypeScript alebo Bun. Kedysi nám zvyklo zabrať mesiace a roky vymeniť niečo takéto alebo zorganizovat masívny refaktoring. Dnes sa z toho stáva záležitosť na týždne, dni a občas dokonca hodiny.

Ale stále existujú projekty a firmy, ktoré si zvolili inú cestu a stále vo veľkom spoliehajú na ručný prepis aspoň v kriticky dôležitých častiach ich aplikácie.

Jednou z takých spoločností je Fenris Creations a projekt nie je nič menšie ako EVE Online. Najväčšia online MMORPG hra odohrávajúca sa v jednom sharde (svete). Áno, sú aj väčšie MORPG hry, ale tie majú zväčša množstvo shardov (svetov), v ktorých sa pohybujú ich hráči. V EVE Online hráči zdieľajú jeden svet už vyše 25 rokov. A je to v skutku svet sám o sebe.

Táto hra nie je ľahká (poznáte inú hru, ktoré má oficiálny plugin do MS Office?), ani lacná má vlastnú vyspelú ekonomiku. Čokoľvek v hre viete priamo prerátať na peniaze skutočného sveta. Takže pre tvorcov je veľmi dôležité, aby všetky výpočty prebiehali správne, nech robia akúkoľvek zmenu. Nieto ešte, keď robia kompletný prepis z jedného jazyka do druhého.

A to je presne to, čo práve robia. Prechádzajú z používania Python 2 (už niekoľko rokov sa nevyvíja) na Python 3. Ak vás zaujíma, ako si to naplánovali, aké výzvy musia prekonávať, tak mám pre vás dva zdroje. Jeden článok so všeobecnými informáciami a potom video z konferencie, ktoré ide viac do detailov:

Ak ste EVE Online nepoznali a chcete vedieť viac:

Let tak pre zábavu

Niekto vytvoril Hľadanie mín len v 247 bajtoch JS kódu

Niekedy len žasnem nad tým, čo niektorí ľudia dokážu a aká je úroveň ich znalostí:

Koniec softvérového vývoja 🤣

Najnovšia kniha od O&#39;Reilly

Zdroj obrázku: https://www.reddit.com/r/ProgrammerHumor/comments/1wangyc/thelastoreillyjustdropped/