jOpenSpace

jOpenSpace - ročník 2021

Přednášky a záznamy

Mediální partneři

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 stojí Tomáš Hodr.

Fotogalerie

Kompletní fotogalerie z akce

Zápisky z konference

    Jan Horalík

    Kvantové počítače

    • využívá se znalostí quantové mechaniky
      • suprapozice,
      • interference - mohou se zvýraznit a
      • entanglement - schopnost provázat dvě částice geograficky vzdálené
    • umožňují řešit exponenciálně ryhchleji problémy neřešitelné jiným způsobem
      • RSA šifra - Shorův algoritmus
      • kdy bude prolomen bitcoin?
      • výzkum materiálů - sloučenin, které jsou možné je velké množství, které není ani možné vyzkoušet a kvantové počítače mohou být velmi efektivní v simulaci
    • hlavní problém - extrémní fyzikální podmínky a s tím spojený šum
      • velký pokrok v posledních letech
      • odhad že za deset let dojde k velkému zlomu
    • kvantové obvody
      • u klasických obvodů máme hradla
      • kvanmtové obvody jsou obecnější - vstupy a výstupy nemusí být jen 0 / 1, uvažuje se superpoziceměření p zmizení superpozice se převede na 0,1
    • kvantový stav qbitu
      • představa koule v prostoru, severní pól 9, jižný 1, a každý bod na této svéře je validným stavem.
      • tento bot je možné vyjádřit dvojicí komplexních čísel
    • kvantové hradlo
      • násobí unitární maticí - abysme se stále pohybovali po povrchu koule ve validním stavu
      • pauliho-X hradlo
      • NOT
      • CX - CNOT hradlo
        • kontrolované hradlo, dva vstupy dva výstupy
        • jeden vstup je kontolní - pracuje jen když je na něm jednička
      • Halamardovo hradlo
        • transformuje dva stavy do superpozice
    • Kvantový Hello World -sestavení obvodu

    • Spuštění - na simulátoru, nebo na kvantovém počítači

    • typicky se spouští mnohorkát kvůli šumu - aby statisticky vygeneroval správný výsledekspuštění na kvantovém počítači

    • dostupný prakticky zadarmo v každém cloudu

    • praktický příklad použití je bezpečnost a kryptografie

    Kamil Ševeček

    ZX Spectrum

    • 23.dubna 2022 - výročí 40 let
    • počítač se nerozpadl v prach, komunita nespí a vyrábí se klony
    • v osobním volnu dělá vývoj na spectru
    • má doma krásné muzeum ZX techniky a originálnho SW

    Čím to začalo

    • 23.dubna - 1982
    • ZX Spectrum - Sir Clive Sinclair
    • 30.7. 1944 - 16.9. 2021
    • Didaktik Gama
    • Didaktik M - nejstabilnější klon
    • Kompakt - s didketovkou
    • 90 léta - usnulo - na smetišti zadarmo
    • Ben Heck - ZX Spectrum na nepájivém poli
    • poměrně jednoduché

    Dnes jak se dělají

    • Diskrétní součástky - old school, velký problém s ula chipem
    • Harlequin 128 - stavebnice z didkrétních součástek

    • softwarová emulace - neemulují rozšiřující sběrnici

    • v system on chip vytvořená Spectrum emulace
    • VEGA - krabička která se připojí k televizi
    • ZX Baremulator - raspberry pi emulator

    FPGA

    • 100% kompatibilní se Spectrem ale drahé
    • ZX spectrum next - krásné zařízení ale nedostupné
    • Překvapivě velká komunita

    Oldcomp.cz

    • Bytefest 2021 konference v Praze
    • ZX Spectrum a Kamilovy projekty
    • TV digitizer - Cinch composite - HDMI
    • Plošinovka Dizzy - v Kotlinu

    Lukáš Křečan

    Jak vyhrát diskusi na internetu

    • Zesměšnit
    • Ukázat fakta
    • Nenásilná cesta -

    Co vyvolává nepravda na internetu - emoce - zlost frustraci

    • vztek = strach / stud / bezmoc

    Postup

    • ubrzdit automatickou reakci
    • pochopit svoje pocity - proč mi to vadí
    • pochopit co potřebuje ten druhý
    • pobavit se o tom jak to udělat spolu
    • https://nenasilnakomunikace.org/

    Kartičky

    • stěžejní pomůžou pojmenovat svoje emoce

    Martin Talpa

    Life 3.0

    • možný vliv umělé inteligence na lidskou společnost

    Co je život?

    • život ? kultura (změna vlastního SW) ? technologický život (změna vlastního SW i HW)
    • Inteligence - schopnost řešit komplikované tasky
    • dnes vídáme spíše slabou AI - šachy - ale neumí řídit auto
    • obecná inteligence - schopnost řešit jakýkoli problém stejně jako člověk
    • Superinteligence - za hranicemi člověka
    • Inteligence Explosion - inteligence, která se dokáže vylepšovat
    • Kniha Life 3.0 - Max Tegmark

    Hypotetická situace 1 - systém umí generovat AI systémy a vylepšovat se2 - během dne sám sebe vylepší a může vydělávat peníze bude řešit MTurk tasky ty dojdoukam dál - počítačové hry a programy ne - co kdyby vytvořil něco nebezpečného 3 - filmy - přečte knihy, scénáře a začne psát filmy a vydělá víc než všichni dohromady4 - Nestačí AWS- začne designovat datacentra aby měl kde běžet5 - získání moci

    • média - generování textu a analýza politické situace
    • ví jak podpořit, a koho se zbavit pomocí
    • pokud mají nejčtenější média tak je to velmi jednoduché nejsou zlí6 - nový svět - AI vybírá to nejlepší pro lidskou společnost a podporuje, tím vzniká víc stejně smýšlejících stran a lidé je podporují7 - aliance přeroste i vlády a na pozadí bude ovládat celý světlidé jsou spokojení, protože všechno funguje dobře

    Milan Lempera

    XTDB - CruxDb

    • svět funguje v čase a často si jej zjednodušujeme

    Např:

    • objednávkový systém
    • adresa odběratele se mění ale chceme mít historické hodnoty
    • evidence zaměstandů
      • mění se jména, náklady

    Bitemporal databáze

    • v databázi jsou dva zaznamy o čase
    • valid time, transaction time, decision time

    Použití XTDB

    • transakce - put / delete / match /evict
    • přistupuje se k jsonu
    • dotazuje se pomocí datalogu
    • dotazy dle času ukazují aktuální stav
    • evict - umožní zapomenout - řešení gdpr
    • SQL adapter - pokud nevyhovuje datalog je možné sql
    • Java API, HTTP api

    Dotaz do publika - jak toto řešíte:

    • duplikace dat - bobtnání dat
    • vložení kopie (adresa do objednávky)
    • datový sklad - protože v realtimu není historie často třeba
    • workspace - v oraclu
    • datalog umožňuje doptávat se na logické vazby (jméno herce, který hrál s vybraným hercem a je mladší než on)

    Petr Filip

    Jak jsem programoval RT multiplayer hru

    • z programátorského hlediska nutno vyřešit, jak komunikovat
    • jaká data posílat na a z klienta

    Přenos dat

    • long pooling - spousta requestů / responsů
    • event source - data jen ke klientovi
    • websockety - obousměrná komunikace

    nejdůležitější je samotný stav -

    • GameState = (currentState, moves, rules) = rules(currentState, moves)
    • ukládal historii stavu pro možnost znovuposlání - je k ničemu
    • ale poté došlo k tomu, že se posílal stále celý stav
    • v nové hře potřebujete
    • vykreslovací vrstva
    • definice stavu hry
    • pravidla

    Tomáš Látal

    Parse, don´t validate

    • funkcionální přístup umožní odstranit validaci vstupu z funkcí
    • pomocí parseru můžete z méně strukturovaného vstupu udělat více strukturovaný
    • dovnitř funkcí se pustí validní vstupy, nad kterými nemusíte dělat žádné kontroly
    • silný vstupní typ, slabý výstupní typ
    • neprázdné pole
    • neduplicitní pole

    • může vést k tomu, že nevalidní data se protáhnou systémem, a až na konci se zjistí, že nevyhovujev Elmu na to ale příjde při kompilaci

    • možnost zapouzdřit třeba číslo karty, kde nikde neuteče číslo a bude zde jen poslední čtveřice

    Víťa Plšek

    Lego

    • pokud máte sety z lega, často děti vyžadují další sety což není příliš ekologické a leze to do peněz
    • služba rebrickable - návody na alternativní plány pro sety z lega
    • podle čísel setů umožňuje vyhledat a stáhnout návody na řadu dalších modelů ze setů, které už máte
    • je možné si vytvořit jednoduchou bluetooth klávesnici na tři tlačítka s cenou 250 Kč, stačí umět trochu pájet
    • doporučuje nahrávat s dětmi návody na složení modelů pomocí stop motion aplikací v mobilu / tabletu
    • bricklink, umožňuje najít konkrétní dílek, který se ztratil a najít obchody, které je prodávají a v Čechách jich je hodně. Dílek stačí často třeba jen korunu.
    • IKEA příborník se hodí na kategorizaci dílků lega podle typu
    • třídit lze dobře ručně quicksortem
    • na YT je i video, které představuje automatickou třídičku, která používá AI na třídění dílků lega - https://www.youtube.com/watch?v=04JkdHEX3Yk&,ab_channel=DanielWest

    Strudio pro design lego modelů - https://www.bricklink.com/v3/studio/download.pageBrickling - bible lega - https://www.bricklink.com/v2/main.page Rebrickable - alternativní modely - https://rebrickable.com/home/

    Tomáš Zvěřina

    AsciiiDoc a PlantUML

    • ASCII doc je principem podobný markdownu, ale hodí se na psaní celých knih
    • má rozšíření pro poznámky, sidebary, poznámky pod čarou, citace, zdrojový kód
    • jeden z pluginů je PlantUML, který umí activity diagramy, sekvenční, deployent diagramy, vizualizovat JSON … velmi jednoduše se ty diagramy píší
    • výsledkem je velmi produktivní a spravovatelná dokumentace
    • nevýhody - klient to nemůže editovat - komentáře jen jako code review, diagramy nelze doladit o layoutu rozhoduje algoritmus, při větším množství obrázků je to pomalejší
    • výhody: lze to verzovat, rozdělit a includovat
    • formát umožňuje plno věcí a zároveň není výsledek rozbitý, formát je robustní
    • dokumentace se builduje Mavenem, existuje plugin do IntelliJ Idea … musí se ale něco doinstalovávat na stroj, který provádí publikaci

    Vojtěch Růžička

    Web monetization

    • pokud jsem tvůrce na webu a chci platit
      • reklamy
      • paywall - zaplaťte pro další čtení
      • jsou velmi invazivní
    • Brave browser
      • řeší privacy
      • řeší odměňování tvůrců
      • za reklamu dostávám BAT Cryptocurrency
      • na stránce vidím, zda stránka může získávat odměnu
      • můžu poslat přímo
      • můžu nastavit auto příspěvek - podle toho, jak na web chodím.
      • po spárování peněženky, mohu jako tvůrce dostávat odměnu
      • podpora také github, youtube, reddit, twitter, umožňuje odměňovat
      • problém - svázáno s prohlížečem - aktuálně 38M uživatelů
    • Web Monetization - návrh standardu W3C
      • po schválení by mohli podporovat prohlížeče
      • Uživatel
        • Registruju se u poskytovatele - platím Coil - (5$ měsíc
        • Aktuálně není standard - tedy potřebuju plugin
      • Poskytovatel
        • Registrace
        • připojení peněženky - Gatehub / uphold
        • JS api, můžu se dotazovat na eventy (začal platit)
    • Aktuálně Web Monetization menší použití než Brave Browser
    • API aktuálně nepodporuje “subscription” spíše funguje stylem, kudy chodím, tudy trousím peníze
    • dev.to - integruje

    Zbyšek Voda

    Jak na desky plošných spojů

    • v čem navrhovat:
      • EasyEDA - online, napojeno na prodejce součástek, jednoduše se vyrobí tišťák
      • KiCad - oblíbený - opensource, stojí za ním CERN
    • Kroky návrhu
      • Schéma
      • Konkrétní součástky
      • Import tvaru výsledné desky - vrstva - edge cuts
      • Rozmístění součástek
      • Nakreslení spojů
      • Vygenerování jednotlivých vrstev pro tvorbu
    • Výběr výrobce
      • číňan
      • Pragoboard
      • Isler
    • ukázka objednávky - JLCPCB
      • upload a výběr barev
      • naklikám
      • za 14 dní + celní řízení a mám je doma
      • je možné obědnat i se součástkama - KiCad by měl umět PCBA (PCB assembly)

    David Ondřich

    Jak (vy)řešíme GDPR

    • osobní údaj je v principu cokoliv podle čeho je možné identifikovat
      • možnost nakládat ukládá zákon, oprávněný zájem, souhlas
      • požadavky zákazníka
      • mít zákazníka jednou, se správnou rolí
      • historizace
      • omezená viditelnost, (pseudo)anonymizace
    • architektura
      • IDM - zná jen identifikátor, nezná email uživatele -
      • při přihlášení emailem se vytvoří hash proti kterému se porovnává
      • rejstřík osob pro osobní údaje - ta drží osobní data
      • profily - implementace role s daty navíc
    • REST API
      • zámky - data nelze měnit, musí udělat externí autorita, nebo právní zákaz změny dat
      • vše v paměti
      • úložiště ala firebase, event- driven úpravy
    • Kde je to GDPR?
      • data na jednom místě
      • klienti pracují jen s ID + displayName
      • anonymizace na jednom místě v kombinaci se zámky
      • auditní stopa

    Filip Sedlák

    Audit a startup

    • i v prostředí startupu se dá s auditem vyrovnat
      • chtějí vědět co děláte a co bude když se to rozsype
      • auditoři mají rozum a do malého týmu tolik netlačí
      • zpřesňování auditu
    • PCI-DSS - práce s platebními kartami
      • Roční KPMG audit
      • Due Diligence
      • 2 týdny práce pro několik lidí
      • spousta otázek z jiného světa
      • dopisován dokumentace
      • dohledávání
    • Nejvíc je zajímá
      • Change management
      • github + youtrack stačil
      • Důležité mít malý počet lidí, kteří mohou zasahovat do produkce
    • Vše zaznamenávat
      • Mít penetrační testy - auditorům stačí mít zaškrtnuto, že mají
      • Pci-DSS
      • nemít citlivá data a mít oddělené služby
      • Dodavatel měl jednoduchou databázi Key value - prodával za těžké peníze, protože procházel audity
      • není třeba splnit vše
      • nelhat a přiznat, že něco neumíme, je na majitelých aby se rozhodli co s tím

    Filip Štaffa

    Guix

    • výběr distribuce linuxu
    • ubuntu, debian - nuda, používají to všichni
    • GUIX - distribuce a package manager
      • Balíčkovací manager
      • zajišťují verzování souborů
      • řeší závislosti balíčků - nedovolí mít více balíčků ve stejné verzi
      • breaking update - nemůžu mít knihovny, které závisí na různých verzích
      • musím potenciálně upgradovat když nechci, nebo musím počkat na upgrade
      • je těžké zreplikovat instalaci současného systému
      • některé balíčky mohou být novější
      • při použití více balíčkovacích systémů musíme řešit kompilaci
    • GUIX
      • umožní mít balíčky ve více verzích
      • při instalaci vytváří profil a ukládá s hashem a zachovává starou verzi balíčku
      • profil - skupina balíčků
      • balíčky mohou být z libovolné doby - je možné replikovat jakýkoli stav
      • channel - repository s definicemi balíčků, commit určuje verze všech balíčků
      • source code distribuce - s binárními substitute
      • GNU - libre kernel - nemá svobodné balíčky
      • Asdf - možnost mít více verzí runtimu a přepíná podle adresářů - https://github.com/asdf-vm/asdf

    František Řezáč

    K čemu je pravda

    • Samoopravné a samodetekující kódy
      • pokud posíláme po nespolehlivém kanálu
    • řešení
      • zdvojení - samodetekující kód - nezjistíme ale co je správně
      • ztrojení - samoopravný - pravděpodobně opravíme podle dvou správných
    • Hammingův kód
      • 4 bity zakódujeme pomocí 7 kódů
      • vypočítá se “syndrom” - zjistí chybu v konkrétním bitu
    • Kompilátor

      • v kódu má dostatek redundance na to, aby vydedukoval co jsme chtěli udělat
      • navlékáme kód na syntaxi
      • pokud je kód složitý a není tam dostatek redundance, tak není možné zjistit kde je chyba - například Java Streamy
    • Explicitní tvrzení o skutečnosti jsou redundantní

      • pravdivé tvrzení může sloužit jako kontrolní redundance
    • V programování -Curry-Howardova korespondence
      • datový typ odpovídá logicky dokazovanému tvrzení a program je jeho důkaz
      • Redundance v programovacím jazyce je tradeoff
      • je třeba vyměnit výhody na nevýhody

    Jan Novotný

    Evita DB

    • E-commerce API pro sjednocení frontendů e-shopů
      • důraz na rychlost
      • google preferuje rychlé odezvy
      • research grant
      • tři konkurenční týmy
      • standardizované api
      • tři implementace - PostgreSQL / Elasticsearch / in-memory noSQL -
      • FG forrest se zabývá in-memory databází
    • kritéria
      • kompletní api
      • rychlost

    Zajímavé knihovny

    • Roaring Bitmaps
      • práce s rozsáhlýma polema čísel (ID záznamy v databázi)
      • automaticky kombinuje pole, BitSet , run-length encoding
      • velká úspora proti výběru pouze jedné strategie - pro každý případ se použije nejvýhodnější varianta
    • Kryo - serializační knihovna
      • řeší pomalost standardní serializace
      • 1,5gb dat - 7 sekund
    • Random testing
      • testování náhodných operací nad datovými strukturami
      • používá pro transaction memory
      • porovnávání operací nad referenční implementací a vlastní implementací
    • Výkonostní testy
      • CI/CD job - vytvoří infrastructure nad digital ocean, spustí testy a pošlou do gistu a infrastruktura se zruší - nízká cena
      • JMH - visualiser - zobrazuje JSON z Gistu

    Jaromír Pešout

    Shenandoah GC

    • firma Luxonit - low latency Java - zpracování dat
      • Ve finančním světě se dělají aplikace v C++ kvůli absenci garbage projektoru
      • díky nízké latency by bylo možné problém považovat za vyřešený
    • Shenandoah GC
      • JDK 8 - 17
      • low pause time
      • negenerační kolektor
    • Cyklus shenandoah
      • Konkurenční fáze - s aplikací Continuous mark
      • Paralelní fáze
      • Celá halda se prohledává najednou
      • pauza závislá na velikosti root setu - 5-10%
      • vysoké nároky na paměť, ideální utilizace 30%
      • poté zpomalení a prodloužení pauzy
      • Amazon corretto pracuje na podpoře generací
      • JDK 16-17 - concurent stack processing
      • STW méně než 1 ms

    Luboš Račanský

    Výuka programování bez PC

    • ve volném čase vede kroužek programování
      • jako první věc chce naučit převod z 10ky do 2kové
    • jako v Hejného matematice
      • základní schopnost - rozpoznávání vzorců opakování
      • trénovat barvy, nebo geometrické tvary
      • iq testy jsou pěkné úlohy na opakování
      • trendem jsou bloková schémata
      • úloha s podmínkami a kratami
      • rychle se naučí sledovat kroky, ale problém je abstrakce a opakování
    • datová struktura algoritmů
      • komprese
        • zvládne i druhá třída
      • kontrolní číslice - čárový kód
      • třídění
        • děti podle schématu mohou putovat v políčcích a na konci budou seřazení
      • grafové algoritmy
        • spojení mezi městečky
    • Bobřík informatiky - spousta úkolů pro různé věkové kategorie
    • Podzimní aktivita Codeweek
    • Stavebnice
      • Boffin a klony
    • Důležitost komunikace
      • pomocí lega a tiché pošty je možné tvořit stavby, a porovnávat se zadáním - dobrá ukázka, že komunikace je důležitá
    • Turring Tumble - turingtumble.com
      • turingovský počítač

    Tomáš Záluský

    Neo4j

    • grafová databáze
      • subset Cetin Network Inventory - 140 000 uzlů, 1.5M hran
      • úloha - analýza výpadků v síti
      • původní implementace - oracle
      • v nové implementaci - zmenšení datového skladu a napojení na Neo4j
    • přechod mezi paradigmaty
      • řádek možno připodobnit k uzlu v grafu
      • relationship není přímo hrana ale je to jemnější propojení
      • nemusí odpovídat 1:1
      • dotazuje se jazykem Cypher
      • grafové paradigma je silné pro hierarchie
      • je možné říct, kolikrát je možné přeskočit uzel
    • algoritmy a*
      • více se ptáme jak než co
      • java plugin - uložené procedury
    • netahejte skálu ke krumpáči.
      • Je možné vytvořit plugin do Neo4j, tedy vše se provádí v Neo4j
      • Traversal framework - umožní určit jak se graf bude procházet
      • dobrý sluha zlý pán
      • Plugin psali i kvůli zjednodušení, cypher by byl příliš složitý
    • Databázi si hostuje cetin sám

    Zdeněk Henek

    Volební obvody vytvořené genetickým algoritmem

    • změna pravidel vedla ke spravedlivějšímu rozdělení mandátů na hlasů
    • v 2017 - výsledky voleb vedly k tomu, že strany 6% měly 3% mandátů kvůli DHondtovu pravidlu
    • Pokud si začnete měnit volební obvody budete obviněni z Gerrymanderingu
    • V USA okrsek zvolen tak že vypadal jako salamander
    • většinový volební systém vede k tomu, že ten kdo vyhraje o procento dostává všechny mandáty

    Jaký systém by měl být spravedlivý

    • středočeský kraj -milion 397 tisíc
    • Karlovarský 300 tisíc
    • menší kraj generuje míň mandátů
    • Autoredistrict - pomocí genetického algoritmu vytvořeny volební obvody, které mají stejný počet voličů - tedy potenciálně stejné zastoupení
    • algoritmus to zvládne pro ČR s rozdílem desítek lidí
    • genetický algoritmus
    • pomocí fitness funkce zajistí spojitost okrsků
    • každý výpočet vypadá jinak

    Borek Bernard

    Jak v JSONu poslat číslo

    • některé api - posílají string, některé number

      • problém s number a přesností
      • řešíme přenos - datové typy v JSONUI
      • cena je normální číslo
      • IEEE 754
      • používá každá platforma
      • Kolem čísel je spousta bludů
    • Argumentace: 1.7 se nedá vyjádřit přesně - výsledkem je 1.69 nebo 1.7

      • 1,7 - double
      • uloženo jako 1.699999 …..
      • printing = 1.7 a nikdy 1.69
      • Tedy argumentace je špatná
    • JSON jako celek je string

      • JSON number je bezpečný na přenos, ale ne počítání
      • Přenos jako string má také své problémy - 7.47 - je formátorvací rozhodnutí
      • Pro přenos Number OK, ale ne pro výpočty
      • pro výpočty decimal datový typ
      • spočítat a zaokrouhlit
      • V Javě do BigDecimal
      • při převádění - použít string a ne number

    Martin Bednář

    Istio

    • service mesh
      • konkurence Linkerd(málo možností), Consul (komerční)
      • Istio - intenzivní vývoj
    • Funkce
      • Automatický load balancing - HTTP, gRPC, Sockety
      • routing, retrie mezi servisami, circuit breaker
      • je možné pracovat s chybovostí service - FaultInjection
      • metriky, a logy
      • zabezpečení, Autentizace autorizace (ingres)
      • dostupná v cloudu
    • Architektura s Istio
      • do každého konteineru přidá proxy envoy
      • služba s proxy komunikuje s HTTP
      • service spolu komunikují přes https - control plane je generuje a posílá do proxy
    • GUI
      • Kiali - vizualizace provozu a konfigurace istia
    • Budoucnost
      • B/G deployments - Canary deployments
      • WASM - filtery

    David Voňka

    Překlad do SQL

    • vytváří systém pro zpracování dat - no code system
      • velké množství práce v paměti po natažení všech dat do paměti
      • možno vylepšit
      • řada problémů
        • joiny
        • indexy
    • funkce nekorespondují v db a aplikaci
      • snaha o přepis do sql - Snowflake v cloudu
      • aktuálně zkouší proti sqllite

    Lubomir Petera

    Spolehlivost

    • jak špatná může být špatná prezentace
      • kritéria úspěchu
      • máme tendenci žít v černobílém světě
      • kdo si řekne “super mám 60% programu přeloženo a pak to spadlo”
    • faktory kvality - Spolehlivost - požadované funkce s požadovanou přesností
      • SLA
      • SLO
      • SLO
      • KPI
    • jakou škálu použít pro hodnocení jak vhodné je UI
      • nic není černobílé, je dobré znát celou škálu
      • často v porovnání s jinými, to nemusí být tak špatná volba
      • https://userinyerface.com/