FRANDEL, M. Blokování webových API pomocí rozšíření [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2023.
Pan Frandel si vybral experimentální práci, pro kterou by byly vhodné častější konzultace, Bohužel k těm nedošlo a výsledek je spíše polotovarem. Velkým pozitivem práce je množství nasbíraných dat. I přes snahu při dokončování práce navrhuji práci hodnotit jako dobrou.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Informace k zadání | Práce navazovala na dřívější absolventské práce. Dobře zvládnutá práce by vyžadovala: Získání dat crawlováním nejnavštěvovanějších stránek. Analýzu těchto dat spojenou s tím, jak vybrat API, která se používají převážně ve skriptech blokovaných rozšířením uBlock Origin. Krok 1 je časově náročný a byl plně splněn, krok 2 náročný na přemýšlení. Krok 2 byl splněný, nicméně pro dokonalé splnění by bylo potřeba více času. | ||
Práce s literaturou | Student s literaturou pracoval dobře a samostatně. Je trochu škoda, že nakonec nebyla využitá část předchozí práce týkající se identifikace API přidaných v dřívějších letech. | ||
Aktivita během řešení, konzultace, komunikace | V zimním semestru práce probíhala hladce. Poměrně záhy začal student s experimenty s crawlerem vzniklým již dříve a upravil si jej pro účely této práce. Pak komunikace vázla. Myslím, že student čekal až bude mít dokončený sběr dat z miliónu stránek. Nedokončený krok crawlování však nebránil diskuzím nad částečnými daty. Bohužel student v té době nepřišel na konzultace, což vedlo k tomu, že jsme řadu činností probírali až na poslední chvíli. | ||
Aktivita při dokončování | Přibližně měsíc před odevzdáním jsem viděl předběžné výsledky crawlingu (což bylo vcelku pozdě). Vzhledem k tomu, že student nepřišel v doporučený čas na konzultace jsme pak výsledky probírali týden před odevzdáním, kdy už nebyl čas na podstatné změny. | ||
Publikační činnost, ocenění | Skript pro generování konfigurace nástroje JShelter je ve veřejném repozitáři projektu. Aktuální stav však není připravený na brzké nasazení. |
Pan Frandel zdokumentoval používaná webová API. Na základě svých poznatků pak navrhl a implementoval poměrně zdařilé vylepšení nástroje JShelter. Použitelnost implementovaného řešení experimentálně ověřil. Technická zpráva je napsána srozumitelně, ovšem na kvalitě ji ubírá množství formálních nedostatků, kterých je bohužel tolik, že nelze udělit vyšší hodnocení u jinak velmi pěkné práce. Doporučuji proto hodnocení "C".
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Náročnost zadání | Práce má "výzkumně implementační" charakter, přičemž k problematice existuje množství kvalitní literatury. Zadání považuji za průměrně obtížné. | ||
Rozsah splnění požadavků zadání | Zadání považuji za splněné v celém rozsahu. | ||
Rozsah technické zprávy | Práce čítá celkem 55 stran v husté LaTexové šabloně. Dle app.fit.vut.cz/normostrany práce vychází na 72.34 normostran. Na diplomovou práci nejde o nijak rozsáhlý text. Je na pomezí mezi minimálním a doporučeným rozsahem, blíže však obvyklému rozmezí. Kapitola o nástroji JShelter by mohla být delší, ale zbytek kapitol je v pořádku. | ||
Prezentační úroveň technické zprávy | 77 | Struktura práce je rozvržena poměrně dobře. Byť zvolená forma vyjadřování místy není příliš vhodná (viz poznámky k formální úpravě), je samotný text vcelku srozumitelný. První dvě kapitoly přívětivou formou uvádí čtenáře do problematiky webových API. Místy jde autor možná až příliš do detailu (např. popis organizací, které standardizují webová API), avšak vše je relevantní a k tématu. Třetí kapitola o projektu JShelter je naopak příliš stručná. S ohledem na skutečnost, že práce řeší úpravu tohoto nástroje, jsou necelé dvě stránky skutečně málo. Naopak analýzu webových API student zvládl podrobně a systematicky a ve čtvrté kapitole ji dostatečně detailně zpracoval. Zbývající kapitoly se zabývají návrhem, implementací a testováním řešení. Jednotlivé kapitoly jsou srozumitelné a logicky na sebe navazují. | |
Formální úprava technické zprávy | 55 | Formální stránka je bohužel kámen úrazu celé práce. Technická zpráva obsahuje velké množství drobných nedostatků, které dohromady kazí celkový dojem. V grafu na obr. 4.9 je popisek osy v angličtině, v obr. 4.10 a 6.2 také a navíc s chybou ("treshold" místo "threshold"). Přitom stejné slovo je na obr. 6.1 zapsáno správně, ale opět anglicky včetně popisku druhé osy ("Count"). Angličtina se vyskytuje i u dalších obrázků a schémat, přitom často nejde ani o názvy, ani o jiné zažité termíny. Na mnohé obrázky je z textu odkazováno nevhodným způsobem ("V kapitole sa zameriam na návrh užívateľského 5.1 rozhrania"), na některé není odkazováno vůbec (např. obrázek 5.3). Podobně chybí odkaz na tabulky 2.1 a 4.2. V obr. 6.2 je zvoleno velmi drobné písmo, které je v tištěné podobě obtížné přečíst. Podobně pro obr. 4.3, ačkoli zde už je to o něco lepší. Práce je psána slovensky, tudíž nemohu podrobněji hodnotit pravopis a gramatiku. Přesto jsem narazil na množství zjevných překlepů. Autor také používá (pro CZ/SK netypickou) zkratku "et al." U slova "viď" se zřejmě domnívá, že jde o zkratku a píše za něj tečku. Dále jsou v práci hojně využívány anglikanismy a anglické pořadí slov, někdy i v kombinaci ("v Alexa listu" namísto "v zozname Alexa"). Práci by skutečně prospěla korektura. Místy už nejde o anglikanismy, ale o ryze anglická slova ve slovenském textu bez jakéhokoli opodstatnění ("objekty a ich properties"). Student by možná udělal lépe, kdyby psal celou práci v angličtině. Autor také místy sklouzává k příliš neformálnímu jazyku, který je vhodný spíše pro populárně naučnou literaturu, např. pokládá čtenáři otázky, píše věty s vykřičníkem apod. | |
Práce s literaturou | 97 | Práci s literaturou naopak student zvládl na výbornou. Bibliografie čítá celkem 57 pramenů, přičemž většinu tvoří seriózní vědecké publikace. Kvalita i kvantita zvolených pramenů je na diplomovou práci nadprůměrná. Prohřešky vůči citační etice jsem neobjevil. Drobnou výhradu mám opět k výskytu angličtiny v bibliografii. Jednou autor píše u závěrečné práce "Vysoké učení technické v Brně," jindy zase "Brno University of Technology". U online zdrojů by to chtělo doplnit slovo "online", datum návštěvy a když není znám autor, tak alespoň název instituce/firmy/vydavatele. Oprava: u jednoho zdroje datum návštěvy je, ale opět anglicky "Accessed". | |
Realizační výstup | 80 | Realizační výstup zahrnuje přes dva tisíce řádků kódu v jazyce Python a množství souborů ve formátu JSON se specifikací webových API, z nichž ale většina je vygenerována automaticky. Realizační výstup je funkční, což student demonstroval jak v práci, tak i mně při osobním setkání. Implementační přínos není nijak extrémně rozsáhlý, nicméně způsob řešení je netradiční a zajímavý. Na základě konfigurace dochází k automatickému generování kódu jednotlivých modulů ("wrappers") nástroje JShelter a dalších souborů. Kód je poměrně přehledný dobře komentovaný. To platí zejména pro generátor kódu. U souboru API_data_grabber.py je čitelnost trochu obtížnější a rušivé jsou různé zakomentované části kódu bez hlubšího vysvětlení. Celkově jde ale o zdařilé řešení. | |
Využitelnost výsledků | Výstupy práce považuji za užitečné a využitelné v praxi, neboť přispívají k ochraně soukromí uživatelů na webu. Samotné rozšíření (i po studentem provedené úpravě) lze velmi jednoduše nainstalovat do prohlížeče a základní použití je snadné. Detailnější nastavení již tak triviální není a možná by bylo vhodné k němu poskytnout nějakou příručku či sadu doporučení á la "best practices" (viz otázky k obhajobě). |
eVSKP id 139628