Práce s daty v počítači a možnosti internetu
(obsahová garance: Jan Martinek)
Pro zájemce
Doporučená literatura
- BUENO, Carlos. Lauren Ipsum: a story about computer science and other improbable things. ISBN 978-1-59327-574-7. William Pollock, San Francisco 2014.
- PETZOLD, Charles. Code: the hidden language of computer hardware and software. Redmond, WA: Microsoft Press, 1999. ISBN 978-0735605053.
- KIDDER, Tracy. The soul of a new machine. Boston: Little, Brown, 1981. ISBN 978-0-316-49170-9.
- MEADOWS, Donella H. a Diana WRIGHT. Thinking in systems: a primer. White River Junction, Vt.: Chelsea Green Pub., 2008. ISBN 978-1603580557.
Doporučené aktivity
- Zamyslete se, jaký používáte software a jaké jsou jeho licence. Který z nich je open source? Která nesvobodné programy by bylo možné nahradit programy s otevřeným zdrojovým kódem a jakými?
- Zamyslete se, kde a jak publikujete. Na jaké platformě provozujete své studijní portfolio? Proč sjte si ji vybrali a jaké má výhody a jaké nevýhody?
- Představte si svůj pokoj/byt/dům a zamyslete se, jak by se dal zautomatizovat. Jaké procesy by bylo možné usnadnit a zrychlit? Jaké technologie včetně IoT by bylo možné použít?
- Vytvořte a popiště jednoduchý regulární výraz pro validaci/kontrolu emailové adresy.
Okruhy
[6.1] Značkovací jazyky
Otevřená otázka
Jak mezi sebou souvisí sémantika a vzhled jednotlivých HTML elementů ve vykreslené webové stránce? 105/140
Uzavřené otázky
-
- K čemu slouží značkovací jazyk? 36/140
- Značkovací jazyk obohacuje text o dodatečné informace – nejčastěji o významu, struktuře a způsobu zobrazování jednotlivých částí textu. 152/140
-
- Proč byl vytvořen jazyk HTML? 31/140
- Tim Berners-Lee vytvořil HTML jako nástroj pro organizaci informací pro vědce z CERN, rozmístěné po celém světě. 122/140
-
- Uveďte několik příkladů validních značek v HTML5 a uveďte jejich sémantiku. 84/140
- P (odstavec), EM (zvýrazněné písmo), NAV (navigace), OL (řazený seznam), ASIDE (vedlejší obsah) aj. 107/140
-
- Co je to HTML prvek (element)? 30/140
- HTML prvek (element) je základní součást HTML dokumentu či webové stránky, který byl začleněn do DOM (objektového modelu dokumentu). 143/140
-
- Co je to DOM (objektový model dokumentu)? 42/140
- DOM je objektová reprezentace HTML dokumentu. Objekty organizuje ve stromové struktuře a umožňuje s nimi interagovat pomocí API. 134/140
-
- Uveďte několik typů uzlů, z nichž se skládá DOM. 55/140
- Dokument, prvek, atribut, text, komentář aj. 46/140
-
- Proč byl vytvořen formát Markdown? 37/140
- Pro zjednodušení psaní textů vhodný k publikaci v prostředí, které podporuje hypertext. 95/140
-
- Jak vypadá zápis odkazu ve formátu Markdown? 47/140
- Základní tvar je „[text odkazu](url)“. Odkazy je možné psát též pomocí reference („[text odkazu][1]“ a pak na samostatném řádku „[1]: url“). 163/140
-
- Uveďte několik způsobů, jak převést Markdown do HTML. 59/140
- Přímo pomocí původní či jiné knihovny, exportem z textových editorů (např. iA Writer, Dillinger) nebo pomocí online konvertorů. 139/140
-
- Proč existují různé dialekty Markdown? 42/140
- Protože pro určité typy dokumentů jsou důležité strukturní a sémantické atributy textu nezahrnuté v základní specifikaci jazyka Markdown. 150/140
[6.2] Regulární výrazy
Otevřená otázka
Jaký úkol, s nímž jste se nedávno setkali při studiu či v práci, by byl zjednodušitelný díky regulárním výrazům? 127/140
Uzavřené otázky
-
- Co je to regulární výraz? 28/140
- Je to řetězec popisující celou množinu řetězců. 55/140
-
- Z čeho se skládá regulární výraz? 39/140
- Regulární výraz se skládá z literálů textu a speciálních znaků, které slouží pro popis alternativ, množin, počtů výskytů a přepínačů. 155/140
-
- Vytvořte a popište jednoduchý regulární výraz pro kontrolu e-mailové adresy. 83/140
- Například [a-z0-9.]+@[a-z0-9.]+\.[a-z]+ (je potřebné popsat množiny znaků, opakování a užité literály). 114/140
-
- Jaké úkoly můžete časově úsporně splnit za užití regulárních výrazů? 82/140
- Například dohledat všechny webové a e-mailové adresy či telefonní čísla, vložit pevné mezery za krátké předložky, změnit HTML atributy atp. 155/140
-
- K čemu slouží speciální a zástupné znaky v kancelářských programech? 78/140
- Popisují netisknutelné znaky (např. nový řádek, pevná mezera, tabulátor aj.) a množiny řetězců. Využívají se při vyhledávání a nahrazování. 160/140
[6.3] Tabulková data
Otevřená otázka
Srovnejte užívání tabulkového procesoru a databáze: jaké jsou přednosti a nedostatky obou způsobů práce s daty? Ilustrujte příklady. 145/140
Uzavřené otázky
-
- Co je to entita? 16/140
- Jde o popis objektu pomocí hodnot uložených v jednom řádku tabulky. 72/140
-
- Jaké znáte tabulkové procesory? 34/140
- Microsoft Excel, Google Spreadsheets, OpenOffice/LibreOffice Calc, Apple Numbers aj. 84/140
-
- Uveďte několik různých datových typů. 43/140
- Text, celé číslo, reálné číslo, logická hodnota, datum a čas aj. 73/140
-
- Co je to filtrování? 22/140
- Jde o výběr množiny řádků, které splňují specifická kritéria. 72/140
-
- Popište jak pracuje funkce VLOOKUP (česky SVYHLEDAT) v rozšířených tabulkových procesorech. 98/140
- VLOOKUP vyhledá v prvním sloupci definovaného rozsahu hledanou hodnotu a vrátí hodnotu, která je ve stejném řádku v definovaném sloupci. 146/140
-
- Co je to CSV? 13/140
- Jde o souborový formát pro ukládání tabulkových dat. Jednotlivé sloupce jsou odděleny čárkou (popř. jiným oddělovačem). 133/140
[6.4] Databáze
Otevřená otázka
Navrhněte konkrétní proces, který využívá ukládání dat v databázi a navrhněte jednoduchý datový model vyjádřený pomocí ER diagramu. 149/140
Uzavřené otázky
-
- K čemu slouží relační databáze? 37/140
- Databáze slouží k ukládání dat strukturovaných v tabulkách, které jsou propojeny cizími klíči. 106/140
-
- Co je to index? 15/140
- Index (též klíč) je databázová konstruce, která urychluje vyhledávání v databázi. 92/140
-
- Co je to SQL? 13/140
- SQL (Structured Query Language) je jazyk navržený pro management dat uložených v relačních databázových systémech. 123/140
-
- Co je to cizí klíč? 22/140
- Cizí klíč definuje v relační databázi vztah (relaci) mezi dvěma tabulkami. 81/140
-
- Jaká je syntaxe příkazu SELECT? 34/140
- SELECT FROM WHERE 19/140
-
- Co jsou to tzv. normální formy? 33/140
- Jde o pravidla strukturování dat v relačních databázích, jejichž respektování podporuje efektivní využití databáze a konzistenci dat. 146/140
[6.5] Skriptování v Javascriptu
Otevřená otázka
Zamyslete se nad opakovanými činnostmi, které vykonáváte v práci či při studiu a vyhodnoťte, které z nich by bylo možné automatizovat. 146/140
Uzavřené otázky
-
- Co je to proměnná? 20/140
- Proměnná je identifikátor, pomocí něhož je možné vyvolat hodnotu uloženou v úložišti. 97/140
-
- Co je to objekt? 16/140
- Objekt je datový typ, který má vlastní atributy a metody. Je základem objektově orientovaného programování (OOP). 122/140
-
- Co je to zapouzdření? 23/140
- Zapouzdření je zabalení dat a metod do komponenty, která má definované API a skrývá před okolím svou implementaci. 124/140
-
- Co je to podmíněná konstrukce? Uveďte několik příkladů. 63/140
- Podmíněná konstrukce je prostředek programovacího jazyka, umožňující podmíněně provádět různé operace. Např. if–then(–else), switch, case aj. 162/140
-
- K čemu slouží události (DOM events) v kontextu Javascriptu? 63/140
- Události umožňují reagovat na akce uživatele (pohyb a klikání myší, stisk kláves, posun stránky, pohyb okna aj.) konkrétním chováním. 148/140
-
- Co je to cyklus? Uveďte několik příkladů cyklů v Javascriptu. 67/140
- Cyklus je sekvence příkazů, které jsou definovány jednou, ale je for, while, do–while, foreach, for–in aj. 115/140
-
- Jaký význam mají příkazy break a continue v Javascriptu? 61/140
- Příkaz break ukončí probíhající cyklus, příkaz continue přeskočí zbývající část stávající iterace a pokračuje další iterací. 148/140
-
- Jaké druhy operátorů existují v Javascriptu? 48/140
- Relační, logické, bitové, řetězcové, ternární aj. 58/140
-
- Z čeho se skládá program v Javascriptu? 42/140
- Je tvořen sekvencí příkazů, které jsou odděleny středníkem. 68/140
[6.6] Síťová neutralita
Otevřená otázka
Je internet obdobnou veřejnou infrastrukturou jako například elektřina, voda, plyn nebo kanalizace? 103/140
Uzavřené otázky
-
- Co je to síťová neutralita? 30/140
- Je to princip, dle něhož by poskytovatelé internetového připojení a vlády měli přistupovat ke všem po internetu přenášeným datům stejně. 152/140
-
- Na co bývají vázána omezení, která jdou proti principu síťové neutrality? 82/140
- Uživatel, obsah, webové sídlo, používaná aplikace či platforma, připojená zařízení nebo způsob komunikace. 119/140
-
- Kdo poprvé použil termín „síťová neutralita“ a kdy? 61/140
- Byl to Tim Wu, profesor mediálního práva z Columbia University v roce 2003. 78/140
-
- Jaké jsou časté argumenty pro síťovou neutralitu? 54/140
- Prevence kontroly nad daty, digitální práva a svobody, znevýhodnění ekonomicky slabších poskytovatelů obsahu, konkurence a inovace aj. 143/140
-
- Jaké jsou časté argumenty proti síťové neutralitě? 57/140
- Zpomalování inovací a redukce investic, vyvažování serverové ne-neutrality, součást širokopásmové infrastruktury, zbytečná právní úprava aj. 157/140
-
- Co říká princip konec-konec, jeden z ústředních principů použitých při návrhu protokolu TCP? 103/140
- Říká, že operace komunikačního protokolu by měly být prováděny buď v koncových bodech kom. systému, nebo co nejblíže ovládaného zařízení. 157/140
[6.7] Svobodný software a open-source
Otevřená otázka
Popište, jaké procesy pracují nebo by mohly pracovat s open source technologiemi v oblasti vašeho (očekávaného) profesního uplatnění. 143/140
Uzavřené otázky
-
- Co znamená, že je software poskytován s otevřeným zdrojovým kódem? 73/140
- Znamená to poskytování kódu s licencí, která umožňuje užívání, modifikaci a/nebo sdílení za konkrétních podmínek. 130/140
-
- Jaké znáte druhy otevřených licencí v kontextu vývoje softwaru? 69/140
- MIT License, Apache License 2.0, GNU GPL V2, GNU GPL V3, BSD aj. 64/140
-
- Co je to svobodný software dle Richarda Stallmana? 51/140
- Pouze software respektující „základní uživatelské svobody“: spouštět, studovat a měnit program a redistribuovat jej se změnami či bez nich. 154/140
-
- Uveďte významné organizace spojované s hnutím Open Source či Free Software a s nimi spojené významné osoby. 116/140
- Free Software Foundation (Richard Stallman), Open Source Initiative (Bruce Perens, Eric S. Raymond), Linux Foundation (Linus Torvalds) aj. 138/140
-
- Co je to systém pro správu verzí? 36/140
- Je to nástroj pro správu změn v dokumentech, počítačových programech a jiných kolekcích informací. 108/140
-
- Uveďte příklad systému pro správu verzí v kontextu vývoje software. 74/140
- CVS, Apache Subversion, Git, Bazaar, Mercurial aj. 50/140
-
- Co je to větvení v kontextu Gitu? 35/140
- Je to vytvoření nové kopie kódu pro účely úprav – ty mohou být později zařazeny do původní kopie anebo tvoří samostatný celek. 143/140
-
- Co je to pull request v kontextu Gitu? 38/140
- Pull request je žádost o zařazení změn v kódu do kódu spravovaného jiným autorem. 90/140
[6.8] Web 2.0
Otevřená otázka
Jaký dopad má na užívání internetu dominance Facebooku? Na jaké oblasti se tato dominance vztahuje? 106/140
Uzavřené otázky
-
- Co je to web 2.0? 17/140
- Jde o koncept popisující proměnu v užívání a tvorbě webů, související s uživatelským obsahem, použitelností a užíváním webových API. 152/140
-
- Uveďte několik příkladů služeb, které souvisejí s webem 2.0. 68/140
- Sociální sítě, blogy, wiki, folksonomie, služby pro sdílení videa, webové aplikace, mashupy aj. 103/140
-
- Jaké technologie prošly výrazným rozvojem v souvislosti s rozvojem webu 2.0? 80/140
- Javascriptové knihovny pracující s AJAX a DOM (jQuery, YUI, Ext JS), mutlimediální technologie Adobe Flash, standardy vedoucí k HTML5 aj. 143/140
-
- Co je to wiki? 14/140
- Wiki je webová stránka, která umožňuje kolaborativní tvorbu svého obsahu a struktury přímo prostřednictvím webového prohlížeče. 142/140
-
- Co je to Web-Oriented Architecture? 35/140
- Jde o způsob tvorby webových aplikací, který zdůrazňuje distribuci obsahu prostřednictvím jiné webové služby (např. RSS). 133/140
-
- Co je to Rich Internet Application? 35/140
- Jde o aplikaci, která běží v prostředí internetu, ale uživatelsky se blíží zkušenosti s nativní aplikací provozovanou na použitém zařízení. 157/140
-
- Co je to sociální web? 24/140
- Jde o koncept fungování webu, který klade důraz na roli koncového uživatele při tvorbě obsahu. 102/140
-
- Jak přistupuje ke konceptu Webu 2.0 tvůrce webu Tim Berners-Lee? 66/140
- Říká, že web navrhl coby kolaborativní médium, sloužící všem k setkávání, čtení a psaní. Web 2.0 tedy nepovažuje za zásadně odlišný. 153/140
-
- Co je to Dark web? 18/140
- Jde o část webu, která existuje pouze na darknetech – částech internetu dostupných pouze pomocí specifického vybavení či autorizace. 144/140
-
- Co je to Tor? 13/140
- Tor je software zajišťující anonymní komunikaci. Ztěžuje identifikaci uživatele pomocí mnohonásobného přesměrování internetového provozu. 153/140
[6.9] Publikační platformy
Otevřená otázka
Zamyslete se, jaký obsah byste díky svému odbornému zaměření mohli publikovat; jakou platformu byste zvolili pro jeho publikaci na webu? 143/140
Uzavřené otázky
-
- Co je to MAB? 13/140
- MAB (multi-author blog) je profesionálně editovaný blog tvořený více autory. 82/140
-
- Uveďte několik příkladů webových služeb, které slouží coby blogovací platformy. 90/140
- Wordpress.com, Medium.com, Tumblr.com, Blogger.com, Ghost.org aj. 65/140
-
- Jaké jsou technické požadavky pro spuštění vlastního blogu bez využití (bezplatné) publikační webové služby? 122/140
- Většinou jde o doménu, hosting s možností spouštění skriptů, databázi a redakční systém. 101/140
-
- Uvěďte tři rozšířené webové CMS, které si můžete sami nainstalovat? 78/140
- WordPress, Joomla, Drupal, Magento aj. 38/140
-
- Jaký je princip fungování tzv. generátorů statických webů? 65/140
- Generátory statických webů vytvářejí na základě šablon a textových dat výsledné HTML soubory určené k publikování. 130/140
-
- Uveďte tři rozšířené generátory statických webů. 57/140
- Jekyll, GitBook, Octopress, Hexo, Hugo aj. 42/140
-
- Co je to šablona v kontextu webových publikačních platforem? 64/140
- Šablona je sada pravidel, které definují vzhled a rozložení obsahu webové prezentace. 91/140
[6.10] Komunikace stroj–stroj a Internet věcí
Otevřená otázka
Jaké služby, které využívají komunikace mezi více webovými službami, využíváte? 91/140
Uzavřené otázky
-
- Co je to API (Application Programming Interface)? 49/140
- API je popis metod, vstupů a výstupů softwarové komponenty (vč. datových typů). Umožňuje integraci více různých programů či jejich částí. 154/140
-
- Co je to JSON (JavaScript Object Notation)? 43/140
- JSON je otevřený standard, který užívá lidmi čitelný text k přenosu datových objektů sestavených z párů {atribut: hodnota}. 137/140
-
- Co je to Google Apps Script? 28/140
- Google Apps Script je jazyk pro vývoj jednoduchých aplikací, které pracují s daty uloženými v cloudu na platformě Google Apps. 134/140
-
- Co umožňuje webová služba IFTTT? 36/140
- IFTTT slouží k automatizaci – umí např. odeslat e-mail na základě informací o počasí. Pracuje se službami jako Gmail, Facebook, Dropbox aj. 151/140
-
- Co je to internet věcí (IoT)? 31/140
- Internet věcí je síť fyzických objektů (zařízení, vozidel, budov aj.) vybavených elektronikou, softwarem, senzory. 124/140
-
- Uveďte několik příkladů senzorů kompatibilních s Raspberry Pi. 69/140
- Kamera, mikrofon, teploměr, tlakoměr, vlhkoměr, NFC snímač, akcelerometr, dotykový senzor, měřič pH, detektor plynu, detektor alkoholu aj. 147/140
-
- Co je to scrapování webových dat? 36/140
- Scrapování je způsob automatizovaného získávání informací z webových stránek, které obsahují nestrukturovaná data. 128/140
-
- Co je to XPath? 15/140
- XPath (XML Path Language) je dotazovací jazyk pro výběry uzlů z XML dokumentů. 83/140
-
- Jaká funkce Google Spreadsheets vytváří výstupy z různých souborů pomocí jazyka XPath a jaké má parametry? 117/140
- Jde o funkci IMPORTXML(url, dotaz_xpath). 41/140
[6.11] Otevřená data (open data)
Otevřená otázka
Jak byste využili otevřených dat ve vaší stávající či očekávané budoucí pracovní pozici? 102/140
Uzavřené otázky
-
- Co jsou to otevřená data? 27/140
- Otevřená data jsou data, která mohou být svobodně užívána, znovu-užívána a redistribuována. 103/140
-
- V jakých sektorech se objevuje užití otevřených dat? 57/140
- Nejčastěji je princip otevřených dat využíván ve veřejné sféře; především ve veřejné správě, vzdělávání a výzkumu. 137/140
-
- Co je to pětihvězdičkové schéma? 37/140
- Jde o stupnici, která hodnotí otevřenost dat dle faktorů jako jsou: poskytnutá licence, dokumentace, otevřený formát, strojová čitelnost atp. 151/140
-
- Co je to otevřený formát? 28/140
- Otevřený formát je souborový formát pro ukládání digitálních dat, jehož specifikace je veřejná a může být kýmkoli využita a implementována. 158/140
-
- Uveďte několik organizací spojovaných s hnutím otevřených dat. 69/140
- Open Knowledge Foundation, The Open Data Foundation, Data.gov.uk, ArcGIS, Health Data Consortium, w3.org, Wikidata aj. 118/140
-
- Co je to CKAN? 14/140
- Jde o rozšířenou open-source platformu pro publikaci open data. 66/140
-
- Jaké organizace prosazují užívání otevřených dat v České republice v rámci platformy Fórum pro otevřená data? 123/140
- Fond Otakara Motejla, Matematicko-fyzikální fakulta UK a Fakulty informatiky a statistiky VŠE v Praze. 105/140
[6.12] Sebevzdělávání při pokročilé práci s počítačem
Otevřená otázka
Jak postupujete, když při práci narazíte na neočekávanou chybu či problém ve vašem kódu? 98/140
Uzavřené otázky
-
- Uveďte název portálu, kde si uživatelé vzájemě odpovídají na otázky z konkrétního oboru a popište způsob jeho fungování. 136/140
- Portál se jmenuje StackExchange. Uživatelé zde zodpovídají konkrétní dotazy a odpovědi jsou hodnoceny a komentovány ostatními. 136/140
-
- Uveďte jaké oborové sekce portálu StackExchange patří mezi ty nejrozsáhlejší a k jakému účelu slouží. 115/140
- Patří mezi ně např. StackOverflow (programování), Super User (užívání PC), English Language & Usage, Mathematics či Arqade (poč. hry). 146/140
-
- Jaká jsou kritéria pro pokládání vhodného dotazu na portálu StackExchange? 81/140
- Neduplikování již položených otázek, tematičnost, konkrétnost a relevance pro ostatní. 95/140
-
- Vyjmenujte různé druhy dokumentace softwaru. 46/140
- Specifikace požadavků, návrh architektury, technická dokumentace, manuál koncového uživatele a propagační materiály. 126/140
-
- Jaký je význam zkratky UTFG? 30/140
- Zkratka znamená „Use The Fucking Google!“, volně přeloženo „Si to vygoogli, k čertu!“ (STVKČ). 108/140
-
- Jaké možnosti poskytuje při hledání řešení technického problému vyhledávač Google? 94/140
- Užitečné jsou mj. možnost omezit stáří hledaných dokumentů a možnost hledání v rámci jedné domény. 113/140
-
- Uveďte několik vzdělávacích portálů, které poskytují bezplatné kurzy v oblasti vývoje software. 106/140
- Codecademy, Udacity, Khan Academy, Code School, Code Avengers aj. 65/140