| Size: 4087 Comment:  | Size: 2689 Comment:  | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 2: | Line 2: | 
| = Počítačové siete = | = Operačné systémy = | 
| Line 4: | Line 4: | 
| 2008/09 -- ZS | 2008/09 -- LS | 
| Line 11: | Line 11: | 
| Line 22: | Line 21: | 
| * Textový editor vim | |
| Line 24: | Line 22: | 
| * Základy internetových protokolov * Protokol http * Základy HTML | == Výsledky == | 
| Line 30: | Line 28: | 
| === Cvičenia pre prípravu na prvé skúšobné cvičenie === | |
| Line 32: | Line 29: | 
| A) premenovanie obrázkov | |
| Line 34: | Line 30: | 
| Vytvorte v bashi skript {{{rename_pics}}}, ktorý premenuje všetky súbory v aktuálnom adresári, ktoré majú koncovku {{{JPG}}} na súbory s koncovkou {{{jpg}}}, napr. {{{obrazok1.JPG}}} premenuje na {{{obrazok1.jpg}}}. | ##=== Cvičenia z pythonu === | 
| Line 38: | Line 32: | 
| Pomôcka: pre transformáciu mena môžete použiť takéto niečo: {{{ NOVE_MENO=`echo $STARE_MENO | sed '...'`}}} Dávajte si pozor na to, aby ste premenovali iba koncovky, reťazec {{{JPG}}} sa môže vyskytovať aj uprostred mena súboru. Môžete prepokladať, že mená súborov neobsahujú žiadne biele znaky, napr. medzery. | ## 1. Napíšte program, ktorý zostrojí a vypíše zoznam prvočísiel < 100 ## 1. Napíšte funkciu, ktorá transponuje maticu. Matica je daná ako zoznam zoznamov čísel. ## 1. Napíšte funkciu {{{permutuj(zoz)}}}, ktorá vráti všetky permutácie zoznamu {{{zoz}}} | 
| Line 42: | Line 36: | 
| B) upravte skript z A) tak, aby premenoval aj súbory ako {{{obrazok1.jPG}}} a podobne. C) Vytvorte v bashi skript {{{showsize}}}, ktorý sčíta dĺžky súborov v aktuálnom adresári a výsledok vypíše. Pomôcka: je niekoľko ciest ako to spraviť. Vyskúšajte prvú cestu a potom druhú: V prvom rade musíte nejako vyprodukovať stĺpec s dľžkami súborov. Buďto na to choďte cez {{{ ls | cut -c ... }}} alebo {{{ for FILE in *; do stat ... $FILE }}} (viď manuálová stránka {{{stat}}}) Teraz je viac ciest. 1. Naprogramujete to sčítanie v bashi sami, klasicky cez premenné s použitím bashovskej aritmetiky cez príkaz let. 2. Pomocou postupnosti príkazov prepojených do rúry vyrobíte z tých čísel výraz ako {{{12+1024+254}}} a ten potom pošlete na vstup príkazu bc cez rúru. Budete zrejme musieť nahradiť nové riadky plusom, to sa robí pomocou {{{ tr '\n' '+' }}} Kostra prvého spôsobu: {{{ SUM=0 for NUMBER in `... kód produkujúci zoznam dĺžok ...`; do ... sem prirátavanie NUMBER k SUM cez let ... done echo $SUM }}} Kostra druhého spôsobu: {{{ ... kód produkujúci zoznam dĺžok ... | tr '\n' '+' | bc }}} Poznamenávam, že tomu ešte niečo chýba, pretože ten {{{tr}}} vyrobí z posledného newline tiež plus, takže {{{bc}}} bude frfľať, že má nekorektný príkaz. Stačí však ešte jeden {{{sed 's...'}}} a je to; poraďte si sami. | |
| Line 85: | Line 41: | 
| Line 87: | Line 44: | 
| * [[/Fork|fork(), wait(), SIGCHLD]] * [[/Pipe|pipe()]] * [[/Socket| UNIXové sockety]] === Skripty === | * [[PocitacoveSiete/Fork|fork(), wait(), SIGCHLD]] * [[PocitacoveSiete/Pipe|pipe()]] * [[PocitacoveSiete/Socket| UNIXové sockety]] * [[PocitacoveSiete/TCPSocket | Klient a server TCP]] * [[PocitacoveSiete/Sumator | TCP server pre scitanie cisel]] * [[PocitacoveSiete/ChatServer | Chatovací server - multithreading]] * [[PocitacoveSiete/Webserver | "Webovsky server" implementovaný na úrovni socketov]] * [[attachment:cgi-server.tar.gz | CGI server a skripty]] | 
| Line 109: | Line 67: | 
| 1. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám | 
Operačné systémy
2008/09 -- LS
Vyučujúci
- Gejza Jenča gejza.jenca@stuba.sk 
Stručná osnova predmetu
- Princípy OS Unix/Linux
- Základy práce so systémom
- Súborový systém
- Užívatelia a skupiny
- Procesy, rúry
- Prehľad základných utilít
- Programovanie v shelli, skripty
- Programovací jazyk Python
Výsledky
Domáce zadania
Materiály
Pythonovské programy
Literatúra
- Linux: Příručka českého uživatele, Vilém Vychodil; Computer Press 2003, Brno (je žiadúce, aby každý mal svoju kópiu) 
- Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003 (nie je nutné, stačí dokumentácia v systéme) 
- The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/ 
- Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného) 
- How To Ask Questions The Smart Way, Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html 
- Dive into Python, Mark Pilgrim, http://www.diveintopython.org/ 
- Advanced Bash-Scripting Guide, Mendel Cooper, http://tldp.org/guides.html 
- GNU/Linux Command-Line Tools Summary, Gareth Anderson, http://tldp.org/guides.html 
Webové stránky
- http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu 
- http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám 
Podmienky na zápočet
20 bodov zo 40. Body sa budú udeľovať v rámci cvičení.
Príklady a cvičenia

