3594
Comment:
|
3868
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
2007/08 -- ZS | 2010/11 -- LS ##[[attachment:zadanie.pdf]] ## [[attachment:gallery.tar.gz]] ##[[attachment:passwd.txt]] ## [[attachment:zadanie2.pdf]] ##[[attachment:zadanie_opr.pdf]] == Zadanie na prvé skúšobné cviko == <<Pozor>> Prvé skúšobné cvičenie bude 15.4.2011 v B206, v dvoch rundách po 90 minút. Domáce zadanie je [[ /Zadanie1 | tu ]]. Na skúšobnom cvičení dostanete za úlohu doplniť/rozšíriť domáce zadanie. <<Pohov>> ##== Uploady == ##[[/Uploady]] |
Line 7: | Line 27: |
## Doplň vyučujúcich | * Gejza Jenča gejza.jenca@stuba.sk |
Line 9: | Line 29: |
* Gejza Jenča gejza.jenca@stuba.sk * Jozef Martin Kollar jmkollar@penguin.sk |
== Konzultačné hodiny == V stredu 16:00-17:00. Radšej ale konzultuje priamo na cvičení. |
Line 21: | Line 42: |
* Textový editor vim | |
Line 23: | Line 43: |
* Základy internetových protokolov | |
Line 25: | Line 44: |
== Témy na skúšku == | == Výsledky == |
Line 27: | Line 46: |
1. Súborový systém, užívatelia a skupiny, prístupové práva 2. Procesy, signály, rúry. 3. Regulárne výrazy. 4. Náčrt riešenia jednoduchého problému v shelli. 5. Náčrt jednoduchého programu v Pythone. 6. Základy internetových protokolov IP, TCP, UDP, HTTP. == Komentáre ku skúške == V prvom zadaní ste nevedeli zabezpečiť, aby nikto okrem vlastníka nevedel zmazať súbor. Treba dať súbor do osobitného adresára a revokovať zápisové práva pre skupinu a ostatných. Nevedeli ste (až na výnimku) význam setgid na adresár. umask malo byť 007. Druhé zadanie dopadlo pomerne dobre, máte o tom správnu predstavu. Ale niektorí si myslíte, že sa forkuje ls, prípadne nepíšete čo sa forkuje. Forkuje sa shell. V treťom zadaní bol problém s tým, že väčsinou neviete spätné referencie -- to je nutné, ak chceme vybrať riadky s rovnakým prvým aj posledným znakom. Takto: {{{ '^\(.\).*\1$' }}} Toto vám výrazne komplikovalo život pri robení shellovského scriptu, ale poradili ste si. V skripte bolo najjednoduchšie použiť {{{ sed 's/.*BODY=\([0-9]*\).*/\1/ }}} na vystrihnutie bodov z každého riadku. Python nemal dobre snáď nikto, väčšinou ste sa vôbec netrápili s tým, že ak robíte novú maticu, musíte si ju najprv vytvoriť. Za skutočnú chybu som ale považoval, ak ste proste prebehli maticu a urobili {{{ A[i,j]=A[j,i] }}} toto predsa celú maticu zničí. |
##[[/Výsledky]] |
Line 68: | Line 49: |
Pre zaujímavosť prikladám mimoriadne expertné riešenie, využívajúce Python nadoraz: | == Ďalšie cvičenia == |
Line 70: | Line 51: |
{{{ [list(x) for x in zip(*A)] }}} |
[[ /CviceniaZoShellu | Cvičenia zo shellu]] |
Line 74: | Line 53: |
== Výsledky skúšky == == Domáce zadania == [:/Zadanie1: prvé] |
[[attachment:python_zadania.pdf | Cvičenia z Pythonu]] |
Line 86: | Line 57: |
* [attachment:prva.pdf pdf k prvej prednáške] | * [[attachment:prva.pdf|pdf k prvej prednáške]] * [[attachment:tahak_unix.pdf|Ťahák - príkazy v UNIXe]] * [[attachment:tahak_python.pdf|Ťahák - Python (komplexný)]] * [[http://www.yukoncollege.yk.ca/~ttopper/COMP118/rCheatSheet.html|Ťahák - Python (jednoduchší)]] * http://bitbucket.org/gjenca/c_vyuka_public repozitar s C programami |
Line 88: | Line 63: |
=== Pythonovské programy === | ##=== Pythonovské programy === |
Line 90: | Line 65: |
* [:/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 101: | Line 77: |
1. ''Začínáme programovat v jazyce Python'', Daryl Harms, Kenneth !McDonald; Computer Press, 2003 (nie je nutné, stačí dokumentácia v systéme) | 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 |
Line 108: | Line 85: |
1. ''A Byte of Python'', Swaroop C H, http://www.swaroopch.com/notes/Python 1. ''How to Think Like a Computer Scientist'', Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/ 1. Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/ |
|
Line 112: | Line 92: |
1. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu 1. Mercurial SCM, http://mercurial.selenic.com/ |
|
Line 115: | Line 99: |
20 bodov zo 40. Body sa budú udeľovať v rámci cvičení. | 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. |
Line 119: | Line 104: |
http://bitbucket.org/gjenca/csv2html |
Operačné systémy
2010/11 -- LS
Zadanie na prvé skúšobné cviko
Prvé skúšobné cvičenie bude 15.4.2011 v B206, v dvoch rundách po 90 minút. Domáce zadanie je tu. Na skúšobnom cvičení dostanete za úlohu doplniť/rozšíriť domáce zadanie. |
Vyučujúci
Gejza Jenča gejza.jenca@stuba.sk
Konzultačné hodiny
V stredu 16:00-17:00. Radšej ale konzultuje priamo na cvičení.
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
http://bitbucket.org/gjenca/c_vyuka_public repozitar s C programami
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
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
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/
Mercurial: The Definitive Guide by Bryan O'Sullivan, http://hgbook.red-bean.com/
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/
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
http://bitbucket.org/gjenca/csv2html