p Flashcards

(34 cards)

1
Q

9 Kriteria DBS

A
  1. Oddelenie definície dát a príkazov na manipuláciu s nimi
  2. Nezávislosť dát na programoch
  3. Minimalizácia redundancie
  4. Konzistentnosť dát
  5. Integritné obmedzenia – explicitne podmienky
  6. Zdieľanie dát
  7. Bezpečný prístup k dátam
  8. Viacnásobná využiteľnosť
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

22 Vlastnodti algoritmu

A
  • Determinovanosť: každý krok má presný význam.
    • Konečnosť: po určitom počte krokov skončí.
    • Rezultatívnosť: pre rovnaký vstup, rovnaký výstup.
    • Hromadnosť: aplikovateľný na celú množinu vstupov.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

26 Charakteristiky informačných systémov

A

Soft inžinierstvo - inž. disciplína, kt sa zaoberá princípmi, metódami a ľudskými zdrojmi pre plánovanie, vývoj, používanie a vykonávanie údržby systému
Systém - vzájomne prepojenie častí na dosiahnutie cieľa
alebo: súbor prvkov medzi kt existujú vzájomne vzťahy a ako celok má vzťahy k okoliu (vstup -> system -> vystup)
Metóda - súbor pravidiel a postupov na riešenie konkrétneho problému nezávisle od prog. jazyka/prostredia
* Yourdanova - Model prostredia (kontext diagram, opis) a Model chovania (diagram dat. tokov, ER diagram)
* Jacksonova - štrukturovaný návrh (Entity action, entity structure, initial model, sys timing, implementation)
* Objektovo orientovaný (Objekt, Trieda, Dedenie)
Metodika - súbor métod alebo pravidiel v rámci špec. oblasti - napr. vývoj IS
Nástroj - podporný softvér, uľahčuje implementáciu; modelovanie: DFD, ERD Entitno-relačné diagramy, UML

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

27 Princípy softvérového inžinierstva

A
  1. Konštruktívna predvídavosť – rozhodnutia pri návrhu ovplyvňujú ďalšie komponenty.
  2. Abstrakcia – zjednodušenie zložitých systémov, skrytie detailov implementácie.
  3. Postupné zjemňovanie riešenia – doplňovanie abstrakcie, redukcia zložitosti.
  4. Štrukturovanie – rozdelenie systému na komponenty a vzťahy medzi nimi.
  5. Hierarchizácia – viacero úrovní abstrakcie na zníženie zložitosti.
  6. Modularizácia – rozdelenie na nezávislé moduly, ľahšia údržba a testovanie.
  7. Štandardizácia – zavedenie štandardov pre lepšiu spoluprácu a kvalitu.
  8. Ukrývanie informácií – vnútorná logika modulu je skrytá pred ostatnými časťami.
  9. Viacnásobné použitie – opakované využitie softvérových komponentov.
  10. Integrovaná dokumentácia – dokumentácia vzniká počas všetkých fáz vývoja.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

27 Problémy pri tvorbe

A
  1. Primárne (neodstrániteľné, len redukovateľné):
    • Zložitosť – náročné na predvídanie vedľajších efektov.
    • Prispôsobivosť – odklon od požiadaviek k domnelým potrebám.
    • Nestálosť – časté zmeny požiadaviek a technológie.
    • Neviditeľnosť – nejasná predstava o hotovom produkte.
  2. Sekundárne (možno odstrániť):
    • Špecifikácia požiadaviek.
    • Programátorská produktivita.
    • Práca v tíme.
    • Opakovateľnosť tvorby.
    • Dokumentácia.
    • Starnutie softvéru (technický dlh).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

26 externe atributy kvality

A

Externá vlastnosť
Dostupnosť
Pohodlnosť inštalácie
Integrita
Kompatibilita
Výkonnosť
Spoľahlivosť
Stabilita
Ochrana
Bezpečnosť
Používateľská pohodlnosť

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

interne atributy kvality

A

Vnútorná vlastnosť
Efektivita
Možnosť modifikovania
Prenositeľnosť
Možnosť opätovného využitia
Rozšíriteľnosť
Overiteľnosť

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

specifikacia poziadaviek

A
  • Detailný popis toho, čo má softvér robiť, vrátane funkcií, výkonu, rozhraní a návrhu.
  • Slúži ako základ pre:
    • Implementáciu,
    • Testovanie,
    • Validáciu a verifikáciu.

Zahŕňa:
1. Vonkajšie rozhranie - interakcia s používateľom, zariadeniami, iným softvérom.
2. Funkcie systému - čo má softvér robiť.
3. Výkonnostné požiadavky - rýchlosť, odozva, kapacita.
4. Údaje a ich spracovanie - typy a objem dát.
5. Obmedzenia návrhu - normy, štandardy, HW požiadavky.
6. Atribúty kvality - spoľahlivosť, bezpečnosť, udržiavateľnosť.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

ciele kryptografie

A
  • Hlavné ciele:
    • Dôvernosť (Confidentiality): Neautorizované osoby nemajú prístup.
    • Integrita (Integrity): Dáta neboli počas prenosu zmenené.
    • Autentifikácia (Authentication): Overenie identity odosielateľa.
    • Nepopierateľnosť (Non-repudiation): Odosielateľ nemôže poprieť, že správu poslal.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

3 deadlock

A

situácia kde 2 alebo viac procesov uviazne, pretože čaká na uvolnenie prostriedkov kontrulujuce inym procesom, coffmanove:

vzajomne vylucenie
drz a cakaj
neodnimatelnost
cyklicke cakanie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

3 deadlock riesenie

A

ignorovat hrozbu detekcie
prevencia - zrusit podmienku
vyhybat sa - aby sa nevytvoril cyklus cakania
detekcia a zotavenie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Operácie, ktoré je schopné CPU vykonať:

A
  • na presun údajov
  • aritmeticko logické
  • riadenia toku programu zmena obsahu programového počítadla
    • výrobcovia doplňujú inštrukcie pre prehrávanie videa, zvuku, grafiky.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nutné časti - na to, aby CPU mohlo vykonávať program musí mať:

A
  • registre na dočasné uchovávanie informácií (akumulátor, registre pre všeobecné použitie, stavový register)
  • programové počítadlo
  • inštrukčný register
  • smerník zásobníka
  • aritmeticko-logickú jednotku
  • riadiacu jednotku
  • jednotku na zápis a čítanie informácie v pamäti a I/O priestore
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

9 a) Princípy databázových systémov

A

Cieľ: efektívne ukladanie, spracovanie a získavanie údajov

Nahrádzajú súborový systém – zníženie redundancie
konzistencia dát
bezpečnosť
dotazovanie (SQL)
viacnásobný prístup
zálohovanie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

12 databazove architektury - uvod

A

disciplina informatiky zaoberajúca sa navrhovanim struktrury databazoveho systemu a jeho zložiek a vzťahov medzi nimi

  • Môžu byť na rôznych počítačoch, pričom údaje sú posielané po sieti, pomocou SQL jazyka posúvanie dopytu na dat. server
  • zabezpečuje: obmedzenie toku dát po sieti, redukciu dát, zachovanie možnosti viac použív. prístupu
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

39 Proces vydania certifikátu

A
  1. Žiadosť (CSR)
    vygeneruje par klucov (verejný a súkromný).
    posle verejny s udajmi do CA
  2. Overenie totožnosti
    CA overi identitu
    • jednoducha - domena cez email
    • dokladnu - pomocou oficial docs
  3. Vydanie cert
    CA podpise dig podpisom cert, obsahuje:
    - verejny kluc
    - identita subjektu
    - platnost
    - podpis CA
  4. Distrib a použitie
    Subj použiva napr pre HTTPS
    klienti overuju pomocou verejneho kluca CA
  5. Overenie
    klient (browser) overi
    a. platnost podpisu CA
    b. ci je cert doveryhodny (CA je v zozname autorit)
    c. ci je zneplatneni cez CRL alebo OCSP
17
Q

39 Flow SSL (cast CA autority)

A

Forward secrecy - vzdy jedinecny, docacny sifrovaci kluc, nei je odvodeny od dlhodobych lucov
kazda relacia je nezavisla
ECDHE - Elliptic Curve Diffie-Hellman ephemeral

📌
Princíp SSL/TLS (HTTPS) komunikácie:
1. Zahájenie spojenia: Klient (napr. webový prehliadač) sa pripojí na server.
2. Odoslanie certifikátu: Server pošle svoj digitálny certifikát klientovi.
3. Overenie certifikátu: Klient overí platnosť certifikátu pomocou verejného kľúča CA.
4. Výber kryptografie: Klient a server sa dohodnú na šifrovacích algoritmoch.
5. Vytvorenie tajného kľúča:
* Klient vygeneruje náhodný symetrický kľúč.
* Zašifruje ho verejným kľúčom servera a pošle späť.
* Server dešifruje kľúč svojím súkromným kľúčom.
6. Šifrovaná komunikácia: Obidve strany teraz komunikujú pomocou symetrického šifrovania.

S FS:
Server a klient cez ECDHE (alebo DHE) dohodnú dočasný reláciový kľúč → Forward Secrecy.
Bez FS:
symetrické šifrovacie kľúče často šifrujú priamo pomocou verejného kľúča zo serverového certifikátu. → Ak niekto získa privátny kľúč servera, môže spätne dešifrovať starú komunikáciu, aj keď certifikát je dôveryhodný (od CA).

18
Q

Definicia VR

A

Ide o interaktívny počítačový systém, vytvárajúci ilúziu v danom čase neexistujúceho priestoru alebo tzv. dokonalej simulácii v prostredí tesného spojenia človek-počítač.
* Plne simulované prostredie (HMD - Oculus, HTC Vive)
* Využitie: hry, simulácie, medicína, architektúra

Monitor-based
Wall projector
Immersa desk
CAVE
Simulator (letectvo, autoskoly, armada)

19
Q

Metody MotionCapture

A

Magnetická Snímače na tele, merajú magnetické pole, 6-11 senzorov Lacné, jednoduché Citlivosť na kov, nízka presnosť, sklz markerov, proximity skreslenie ked viac hercov Polhemus

Optická – Pasívna Reflexné značky + kamery, kt odrážajú IR svetlo Bežné, presné Vyššia náročnosť spracovania, vela kamier Vicon

Optická – Aktívna LED značky Vysoká presnosť Veľký priestor, drahé (vela kamier needed), náročné na energiu Optitrack

Mechanická (Electro-Mechanical) pevná konštrukcia, Kĺby s gyroskopmi a potenciometrami v obleku Bez kamier, vhodné pre reálny čas, bezdratové Obmedzený pohyb s batériou, robustnosť zariadení (nie pre gymnastiku) Xsens

20
Q

9 d d) Modelovanie reality

A

Úlohou DBS – abstraktný pohľad na dáta. Údajová základňa vytvára model reálneho sveta. (napr. študent, kurz, zápis…)
Krok 1. - určiť podstatné charakteristiky sveta
Krok 2. - aké sú vzťahy medzi týmito charakteristikami

21
Q

rasterizacia usecky

A
  • DDA (Digital Differential Analyzer)
    • “jednoduchý prirastkový algo”
    • postupné pripočítavanie konštantných prírastkov k obom súradniciam
    • postup pri smernici 0 < m < 1 (os x)
      1. prvý vykreslený bod (x1, y1) je začiatok úsečky
      2. ak x+1, y+m; m (prírastok) bude m < 1
      3. reálne hodnoty za zaokruhlujú
  • Bresenhamov algoritmus – rýchly, bez desatinných čísel
    • výsledok je rovnaký ako DDA
    • hľadá kt z 2 okolitých celočíselných bodov (v smere y) yi alebo yi+1 je bližšie k pôvodnému priesečníku priamky s mriežkou.
    • Rozhodujúce je znamieko rozdielu Δd.
      • ak je Δd<0 (d1<d2), vykreslený bude bod (xi+1,y).
      • ak je Δd>0 (d1>d2), vykreslený bude bod (xi+1,yi+1).
22
Q

rasterizacia kruznice

A
  • pre vykresľovanie kružnice v rastri možno využiť metód pre kresbu úsečky a kružnicu nahradiť lomenou čiarou - využíva symetriu
  • kružnica je definovaná: F(x,y):=x2+y2-r2=0 (suradnice stredu a polomerom r)
  • na rasterizáciu sa používa Bresenhamov algoritmus
    • využitie osovej súmernosti kružnice (výpočet v 1 oktante, ostatné jednoducho odvodené od nej)
      • pri danom oktante platí, že ak x rastie, y klesá ==> pri vstupe bodu so súradnicami [xi, yi] treba určiť nasledujúci bod pre krok xi+1 medzi yi a yi-1
      • použijeme stredový bod ležiaci medzi 2 možnými bodmi yi a yi-1 a dosadíme ho do rovnice kružnice F (x,y), dostaneme hodnotu pi
      • pri výbere bodu sa rozhodujeme podľa znamienka:
        • ak pi ≥ 0, vyberie sa bod yi-1 (stredový bod y leží mimo kružnice a bližšie je bod yi-1)
        • ak pi < 0, vyberie sa bod yi
23
Q

interpol a aproxim krivky

A

Typy kriviek
1. Interpolačné krivky:
* Prechádzajú priamo cez body. dorykove vektory
* Fergusonove kubiky: určené krajnými bodmi a dotykovými vektormi.
2. Aproximačné krivky:
* Prechádzajú okolo bodov. riadiaci polygon
* Bezierové krivky (BK): určované riadiacimi bodmi, nie vždy prechádzajú cez ne.
* Lineárna (n=1), Kvadratická (n=2), Kubická (n=3).
* B-spajny: zovšeobecnenie Bezierky, zložená z m-1 oblúkov . úprava bodu neovplyvní celý tvar.
* Uniformné (Coonsonova), Neuniformné (NURBS).

24
Q

Trieda P

A

Trieda P (Polynomial time) - PTIME
* Problémy riešiteľné deterministickým Turingovým strojom v polynomiálnom čase (“rozumný čas“ nie exponecialny).
* Predstavuje prakticky riešiteľné problémy, pre ktoré existujú realistické algoritmy s prijateľnou dobou výpočtu .
* Príklady problémov z triedy P:
* Priame zatrieďovanie, bublesort, heapsort, Quicksort…
* Aritmetický priemer, medián, najväčší prvok v poli…
* Násobenie matíc, riešenie sústavy lineárnych rovníc…
* Vyhľádavanie v grafe: Cesta medzi dvoma vrcholmi grafu, spojitosť grafu, najkratšia cesta medzi dvoma vrcholmi v ohodnotenom grafe, minimálna kostra grafu…
* Hľadanie maximálneho toku v sieti…

25
Trieda NP
✅ Trieda NP (Nondeterministic Polynomial time) * problémy, ktorých riešenie možno overiť (verifikovať) deterministickým algoritmom v polynomiálnom čase. * Alternatívne: Riešenie sa dá nájsť pomocou nedeterministického Turingovho stroja * Prakticky zahŕňa mnohé dôležité problémy, pre ktoré nie sú známe efektívne algoritmy s polynomiálnym časom riešenia: * hľadanie Hamiltonovej cesty * problém obchodného cestujúceho * satisfiabilita (SAT) * plánovacie a optimalizačné úlohy
26
np-uplne
✅ NP-úplné problémy (NP-complete) • Najťažšie problémy v NP • Ak vyriešiš jeden NP-úplný problém v polynomiálnom čase → vyriešiš všetky NP problémy (Stephan Cook, 1970) • Príklad: SAT, 3-SAT, CLIQUE, Traveling Salesman, Hamiltonov cyklus Príklady NP-úplných problémov: * Existencia k-kliky v grafe - či v danom grafe existuje množina k vrcholov, medzi ktorými sú všetky dvojice priamo spojené hranou * Problém obchodného cestujúceho (TSP) – nájdenie najkratšej trasy prechádzajúcej všetkými vrcholmi a návrat do východzieho bodu. * Problém batohu – výber predmetov s maximálnou hodnotou, ktorý neprekračuje nosnosť. * Problém splniteľnosti logických (booleovských) formúl (SAT=satisfiability problem, 3-SAT) * zisťujeme, či existuje také pravdivostné ohodnotenie booleovských premenných, aby daná logická formula bola pravdivá; 3-SAT je jeho verzia, kde každá klauzula má presne tri literály. * Nezávislá množina v grafe (Independent set). * Problém zafarbiteľnosti grafu * Hra Sudoku a rôzne plánovacie či optimalizačné úlohy (rozvrhovanie procesorov, alokácia pamäte a pod.).
27
algo neriesitelne
Algoritmicky neriešiteľné problémy * Problémy, ktoré žiadny algoritmus ani TS nemôže vyriešiť pre všetky vstupy * Tieto problémy patria do oblasti teórie vyčísliteľnosti a ich existenciu dokazuje tzv. Church-Turingova téza, ktorá hovorí, že každý algoritmus možno realizovať Turingovým strojom . Rekurzívne a rekurzívne vyčísliteľné jazyky * Rekurzívne jazyky sú také, ktoré možno rozpoznať Turingovým strojom, ktorý sa vždy zastaví. * Rekurzívne vyčísliteľné jazyky sú rozpoznateľné Turingovým strojom, ktorý sa môže pre niektoré vstupy nezastaviť (nedokáže vždy rozhodnúť negatívne prípady) . Príklady algoritmicky neriešiteľných problémov: * Problém zastavenia Turingovho stroja (Halting problem): otázka, či sa daný Turingov stroj na konkrétnom vstupe zastaví. Tento problém je nerozhodnuteľný – neexistuje TS, ktorý by ho vždy vedel rozhodnúť . * 🖥️🛑 Halting problem (problém zastavenia)
Predstav si, že máš robota, ktorému dáš program a vstup a chceš vedieť:
👉 Zastaví sa niekedy, alebo sa bude vykonávať navždy?
Halting problem sa pýta:
Existuje univerzálny spôsob, ako zistiť, či ĽUBOVOĽNÝ program so svojím vstupom niekedy skončí, alebo bude bežať donekonečna? - Odpoveď Nie! * Problém akceptovania prázdneho slova ε pre Turingov stroj je tiež algoritmicky neriešiteľný, pretože sa redukuje na problém zastavenia .
28
Životný cyklus vývoja IS
Fázy: 1. Plánovanie * voľba produktu - štúdie, analýza trhu * predbežne skúmanie produktu - hlavné funkcie, uživateľske požiadavky * skúmanie realizovateľnosti - technicka realiz, odhad a ekon kalkulacie * vysledné fázy - hrubý katalog požiadaviek, plan 2. Definícia - zoskupenie diagramov * datovo a procesovo orientovane metody * yourdanova metóda - určuje “čo” je treba urobiť v urč. fáze * essential model - čo má systém robiť * enviromental (voči okoliu) - definicia účelu, diagram kontextu * behaviour (def správanie) - DFD, ER, stavové * výsledky analýzy - celkový katalog poziadaviek, opis funkc, slovník dát 3. Návrh * hierarchická štruktúra a správanie modulov * plán testov a nasadenia do prevádzky * logické a fyzická štruktúra údajov * odhad ľudsky a materiálnych zdrojov * 1. verzia príručky 4. Implementácia - transformácia návrhu do funkčného programu, dokumentácie, dopracovanie príručky 5. Odovzdanie a uvedenie do prevádzky - zaberá 20-30% času, 25% nákladov * do fázy patria: * testy funkcií a modulov * integračné testy * nezávislé testy * inštalačné testy * alfa a beta testy - bez živých dát * preberacie testovanie * dokumenty o vysledkoch akc. kriterií a testov, o zaškolovaní používateľov, preberací protokol 6. Údržba a starostlivosť o produkt - update, upgrade, oprava a rozširovanie požiadaviek
29
28 struktur pristup k modelovaniu
§ Štruktúrovaný prístup k modelovaniu * Dátovo orientovaný prístup - štrukúra údajov a ich vzájomné vzťahy * Funkčne orientovaný prístup - opis funkcie * Štrukturovaný prístup - grafická hierarchicka dekompozícia sys * abstrakcia postupne zjemňujúca pohľad až na detailnú úroveň, * Model správania sa systému * Diagram dátových tokov (DFD) - rozdeľuje požiadavky na procesy a zobrazuje v tvare siete, pospojané tokmi údajov - vytvára hierarchické väzby
 *  * ER diagramy, diagramy prechodu stavov, slovník dát a špecifikácie procesov
30
29 Uml uvod
Diagram - je grafické znázornenie množiny prvkov. Zvyčajne ako graf s vrcholmi a hranami. § UML (unified modeling language) * štandardizovaný jazyk na vizuálne modelovanie softvérových systémov s použitím OOP prístupu * základné elementy: vzťahy, grafické symboly, text (vo vnutri elemtnov) * Používa sa na analýzu, návrh a dokumentáciu systémov a umožňuje grafické znázornenie ich štruktúry a správania * Využitie UML: režim nákresu, režim projektovania, režim programovacieho jazyka * Case prostriedky: automatizovaný vývoj SW, priamy - kreslenie diagramova, spätný - načítanie kódu a generovanie diagramov *  * Poskytuje: * Štruktúrne diagramy * tried * vlastnosti * väzby * komponentov * objektov * Diagramy správania * aktivít - proc. a paralelná činnosť * Sekvenčný diagram – postupnosť správ, ktoré si vymieňajú objekty medzi sebou * prípadov použitia - spolupráca použivateľov so systémom * stavový - zmena objektu v čase na základe udalosti
31
SGA obsahuje
* Obsahuje: cache buffery, redo log buffer, shared pool (lib cache, dic cache), large pool, java pool, streams pool
32
vlastnosti klient/server
* Spoľahlivosť – systém funguje stabilne a predvídateľne * Celistvosť – transakcie sú buď úplne dokončené, alebo úplne zrušené * Nezávislosť – transakcie používateľov sa navzájom neovplyvňujú * Stabilita – po ukončení transakcie sa výsledky zachovajú * Rozšíriteľnosť – systém zvláda rast používateľov a dát * Bezpečnosť – ochrana dát pred neoprávneným prístupom * Flexibilita (3 vrstvy aplikácie): * Užívateľské rozhranie – zobrazovanie dát používateľovi * Aplikačná logika – spracovanie pravidiel a operácií * Riadenie dát – manipulácia a transakcie s databázou
33
10 Dátový model - uvodna def
Reprezentuje reálne objekty, vzťahy medzi nimi, ich sémantiku a integritné obmedzenia pomocou konceptuálnych nástrojov. Existujú dva základné druhy vzťahov: 1. Vzťahy atribútov (vzťahy medzi vlastnosťami údajov), 2. Vzťahy asociácií (vzťahy medzi entitami).
34
10 Relačný model
c) Relačný model * Dáta vo forme tabuliek (relácií), nezávislé od fyzickej štruktúry, má prirodezenú štruktúru * Podporuje normalizáciu, zabezpečuje vysokú dátovú nezávislosť a minimálnu redundanciu.   Časti modelu: 1. Štrukturálna – tabuľky, záznamy (riadky), atribúty (stĺpce). 2. Riadiaca – manipulácia pomocou relačnej algebry a kalkulu. 3. Obmedzenia – integrita, kazdy zaznam primárny kľúč. Charakteristiky modelu: * Každá tabuľka má jedinečný názov, * Každý záznam má rovnakú štruktúru a je jednoznačne identifikovateľný pomocou primárneho kľúča, * Poradie stĺpcov ani riadkov nie je dôležité, * Hodnoty v stĺpci patria tomu istému atribútu, * Hodnoty v zázname musia úplne závisieť od primárneho kľúča.   Výhody: jednoduchosť, striktný návrh, nezávislosť dát, jedna inform struktura - tabulka, minimalizacia redundacie dat Nevýhody: nie vždy možne zobraziť cez tabulky, neprehľadnosť pri veľa tabuľkách, vyššie pamäťové nároky.