| Size: 5508 Comment:  | Size: 3482 Comment:  | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 3: | Line 3: | 
| 2008/09 -- LS | == Repozitár programov písaných na prednáškach == | 
| Line 5: | Line 5: | 
| ## == Downloady pre cvičenia == ## ## [[attachment:gallery.tar.gz]] ##[[attachment:passwd.txt]] ## [[attachment:zadanie2.pdf]] ##[[attachment:zadanie_opr.pdf]] | https://github.com/gjenca/os2020 == Záznamy prednášiek == * [[https://drive.google.com/file/d/1gHvLco4zgIO-fxyj3_3X42f6fRl9xB81/view?usp=sharing | 29.9.2020 8:00 procesy, správa pamäti,fork]] * [[https://drive.google.com/file/d/1Qfel2bPsgBCeht-RFTPds_bbZYnjBdvD/view?usp=sharing | 29.9.2020 12:00 wait, execl, súborové popisovače, presmerovanie cez dup2]] * [[https://drive.google.com/file/d/1wrRLgwmWvYPI8Ngrd4XqIm5FExAre9LR/view?usp=sharing | 6.10.2020 8:00 komunikácia cez rúry]] * [[https://drive.google.com/file/d/1qmBbeLvis5RXdszfZW8OQCYiMj54Uapr/view?usp=sharing | 6.10.2020 12:00 bc ako príklad podriadeného procesu]] * [[https://drive.google.com/file/d/1R0BDf8gKI10lZF5ydPydvX0x-lQ_BQcH/view?usp=sharing | 13.10.2020 8:00 súbory, adresáre, symbolické linky]] * [[https://drive.google.com/file/d/1R6fwrTD2MuCEj2ndl__MFpc3YK0GBiy8/view?usp=sharing | 13.10.2020 12:00 elementy príkazového riadku]] | 
| Line 13: | Line 17: | 
| ##== Uploady == ##[[/Uploady]] == Vyučujúci == * Gejza Jenča gejza.jenca@stuba.sk == Konzultačné hodiny == V utorok 16:00-17:00. Radšej ale konzultuje priamo na cvičení. | |
| Line 38: | Line 31: | 
| [[/Výsledky]] == Zadanie na druhé zápočtové cvičenie == <<Pozor>> Toto zadanie si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete za to, čo urobíte priamo na cvičení. Skúšobné cvičenie bude 11.5.2010 počas cvičenia. <<Pohov>> Napíšte modul `stack.py`, ktorý obsahuje implementáciu * triedy `Stack` a * funkcie `stack_from_string` Trieda `Stack` implemetuje takéto metódy: ||`__init__(self)` || Inicializuj zásobník ako prázdny.|| ||`push(self,what)` || Vloží `what` na vrch zásobníka.|| ||`peek(self)` || Vráti objekt, ktorý je na vrchu zásobníka, pričom ho nevyberá.|| ||`pop(self)` || Vyberie objekt zo zásobníka, návratová hodnota je tento objekt. Ak je zásobník prázdny, môže (a má) vyvolať výnimku.|| ||`empty(self)`||Vyprázdni zásobník.|| ||`__repr__(self)`||Vráti reťazec, v ktorom sú zreťazené `repr(x)` pre všetky objekty `x` v zásobníku, oddelené medzerami. Vrch zásobníka je na konci tohto reťazca.|| Okrem triedy Stack obsahuje modul stack aj takúto funkciu: ||`stack_from_string(s)`||Ako parameter očakáva reťazec celých čísel oddelených medzerami, napr. `"1 -20 17 4 5"`. Vráti `Stack` naplnený týmito číslami, pričom vrchné číslo je na konci s.|| === Príklad použitia modulu na príkazovom riadku Pythonu === {{{#!python >>> import stack >>> s=stack.Stack() >>> s.push(10) >>> s.push(-10) >>> s.push(100) >>> print s 10 -10 100 >>> s.peek() 100 >>> print s 10 -10 100 >>> s.pop() 100 >>> print s 10 -10 >>> s.empty() >>> print s >>> s.pop() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/gejza/vyuka/python_vyuka/stack.py", line 31, in pop return self.l.pop() IndexError: pop from empty list >>> s2=stack.stack_from_string("1 2 3 17") >>> print s2 1 2 3 17 >>> s2.pop() 17 >>> print s2 1 2 3 >>> }}} | ##[[/Vysledky]] | 
| Line 114: | Line 41: | 
| * [[attachment:prva.pdf|pdf k prvej prednáške]] | |
| Line 119: | Line 45: | 
| ##=== Pythonovské programy === ## * [[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 133: | Line 48: | 
| 1. ''Začínáme programovat v jazyce Python'', Daryl Harms, Kenneth !McDonald; Computer Press, 2003 1. ''Learning Python",, Mark Lutz, David Ascher; O'Reilly 2007, http://slav0nic.org.ua/static/books/python/OReilly.Learning.Python.3rd.Edition.Oct.2007.eBook-BBL.rar | 1. ''Začínáme programovat v jazyce Python'', Daryl Harms, Kenneth !McDonald; Computer Press, 2003 | 
| Line 144: | Line 58: | 
| Line 148: | Line 63: | 
| 1. Mercurial SCM, http://mercurial.selenic.com/ 1. Python documentation, http://docs.python.org/ 1. A Guide to Python's Magic Methods, http://www.rafekettler.com/magicmethods.html | |
| Line 157: | Line 75: | 
| == Výsledky == | ## http://bitbucket.org/gjenca/csv2html2012 == Ostatné == ## http://bitbucket.org/gjenca/vimrc | 
Operačné systémy
Repozitár programov písaných na prednáškach
https://github.com/gjenca/os2020
Záznamy prednášiek
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
Ďalšie cvičenia
Materiály
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 
- 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 
- A Byte of Python, Swaroop C H, http://www.swaroopch.com/notes/Python 
- How to Think Like a Computer Scientist, Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/ 
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 Pythonu 
- Mercurial SCM, http://mercurial.selenic.com/ 
- Python documentation, http://docs.python.org/ 
- A Guide to Python's Magic Methods, http://www.rafekettler.com/magicmethods.html 
Podmienky na zápočet
15 bodov z 30. Body sa budú udeľovať v rámci cvičení. Budú 2 zápočtové cvičenia, jedno zo shell scriptov a jedno z Pythonu.
Príklady a cvičenia

