zk. 8.6. Forst

Seznámení se základními principy operačního systému UNIX, převážně z uživatelského hlediska. Absolvent kurzu by měl být schopen napsat netriviální program v shellu.

zk. 8.6. Forst

Příspěvekod Tommassino » 8. 6. 2010 14:37

Uloha: mime
Dostanete jmeno file ve kterem je mail v mime formatu, ten tvori takovy strom. Format je vzdy:
Hlavicka - tj:
Content-type: <type> <params>
Content-encoding: [2 druhy]
Content-description: param=value; ... ... file=filename;
Pak volny radek (oddeluje hlavicku od obsahu)
Dulezity byl typ multiform/.* protoze ten v obsahu mel dalsi soubory (tj. multiform byl nelist toho stromu), pak byl obsah ve formatu:
--<param z hlavicky - nahodny dlouhy retezec>
Mime soubor
--<param z hlavicky>
Mime soubor
....
--<param>--
Takze ste dostali tenhle soubor a meli ste vypsat ten jeho graf napr:
1 text/html test.html
1.1 text/html blabla
1.2 ... ...
2 ...
A pak se uzivatele ptat ktere soubory chce z emailu vyextrahovat a ulozit na disk. Uzivatel mohl zadat libovolny vrchol stromu (pak ulozit vsechny podlisty), nebo rozsah (1.1-2). Mohl taky zadat list a jine jmeno pro nej.
Reseni:
Jeden ze zpusobu byl urcite cist sekvencne soubor, z toho co ctu poznavat na ktere jsem urovni a rovnou si to nekam ukladat (nejlepe primo do stromu souboru) a pak si to ulehcit v druhe fazi programu.
Pak se dalo asi udelat to, ze si vyzobate potrebne informace z hlavicek a nekam si je schovate (cislo ve stromu, separator, filename, encoding ...) a pak pri zpracovavani prikazu to z tehle dat vyexportovat z toho mailu
Uspesnost:
4x1, 3x2, 1x3, 9-10x smula
byl sem na ustni, tak mam nekolik postrehu:
hodne mu vadilo, kdyz ste nejakou elementarni ulohu delali zbytecne slozite
- napr cteni vstupu uzivatele - nacist celou radku a tu pak rozsekavat pomoci cutu (s delimeterem nejaky whitespace)
- kdyz ste meli rozhodnout ktery z radku z hlavicky je nacteny radek, nemuselo se to poustet pres nejaky grep nebo kdovico, stacilo pouzit switch
apod...
hlavne se tyhle chyby dost rychle kumulovaly a to se nejspis dost projevovalo na znamce
vadilo mu, kdyz ste zbytecne pouzivali rozsirene prikazy (ruzne funkce awku co nejsou jeste v te starsi specifikaci? myslim) prestoze to nicemu zvlast nepomohlo (casova/pametova slozitost) a oznacoval je za prasarny, ale nevadilo mu to nejak zvlast
Uživatelský avatar
Tommassino
Matfyz(ák|ačka) level I
 
Příspěvky: 35
Registrován: 10. 9. 2009 20:03
Typ studia: Informatika Mgr.

Zpět na SWI095 Úvod do UNIXu

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník