|
|
Line 1: |
Line 1: |
| __toc__ | | __toc__ |
|
| |
|
| =Hindamiskriteeriumid=
| |
| Arvestuse saamiseks peab tudeng esitama järgmised tööd:
| |
| 2 kodutööd
| |
| 3 hinnangut teiste pythoni kodutöödele
| |
| 2 kontrolltööd
| |
|
| |
| Lisapunkte on võimalik teenida esitades tähtaegselt praktikumide töid
| |
|
| |
|
| |
| Kodutööd saata aadressile martin.rajur@itcollege.ee
| |
|
| |
| =Labori keskkond=
| |
|
| |
| https://elab.itcollege.ee/users/sign_in
| |
|
| |
| Labs -> Skriptimine 2017
| |
| Kasutaja: student
| |
| Parool: student
| |
|
| |
| =Praktikumide ülesanded=
| |
|
| |
| ==Ülesanne 1 ==
| |
| Looge skript, mis jagaks etteantud grupile uue kausta
| |
| <pre>
| |
| [sudo] ./jaga.sh KAUST GRUPP <JAGATUD KAUST>
| |
| </pre>
| |
| Skript teeb järgnevat:
| |
|
| |
| *paigaldab samba (kui vaja)
| |
|
| |
| *loob kausta KAUST (kui vaja)
| |
|
| |
| *loob grupi GRUPP (kui vaja)
| |
|
| |
| *lisab grupile sobivad read smb.conf faili ja teeb failiserveri teenusele reload'i
| |
|
| |
| *abimaterjal: [[Failiserveri labor v.2]]
| |
|
| |
| [http://enos.itcollege.ee/~mernits/infrastruktuur/arhiiv/loeng03%20-%20Failiserver.pdf Failiserveri loeng ]
| |
|
| |
| [http://enos.itcollege.ee/~mernits/infrastruktuur/arhiiv/loeng04%20-%20Veebiserver.pdf Veebiserveri loeng ]
| |
|
| |
| Mõistlik on konfiguratsioonist eelnevalt koopia teha ja muudatused koopiasse sisse viia. Koopiat testitakse testparm korraldusega ja kopeeritakse alles seejäral fail üle.
| |
|
| |
| ==Ülesanne 2==
| |
|
| |
| Looge skript mille abil uude serverisse/tööjaama paigaldatakse vajadusel GIT
| |
| Luuakse kodukataloogi kaust kuhu giti repositooriumit hakatakse sünkroniseerima(kasutajalt küsitakse kausta nime)
| |
| Seadistatakse ühendus rühmatöö git'i
| |
| git remote add origin git@bitbucket.org:Martinra_itk/skriptimine_2017.git
| |
| Tehakse esimene git pull
| |
|
| |
| Sisselogimiseks võib kasutada nii parooli küsimist kui ssh võtit, vastavalt valikule ka see osa seadistada
| |
|
| |
| ==Ülesanne 3==
| |
|
| |
| Ülesandeks on luua lihtsam kalkulaator. Kasutajalt küsitakse muutujad ja tehe ning kuvatakse ekraanile tehe koos vastusega
| |
|
| |
| ==Ülesanne 4==
| |
| Looge skript mis arvutab kokku sisendiks antud kasutajale allokeeritud mälukoguse(VSZ) ja kasutuses oleva mälukoguse(RSS) suurima täiskohalise ühikuna(K,M,G,T)
| |
| Kasutaja tuleb küsida kasutajaliidese kaudu
| |
|
| |
| ==Ülesanne 5==
| |
| Looge skript mis arvutab kõikide /etc kaustas ja alamkaustades olevate .conf laiendiga failide md5sum väärtused ja salvestab need faili selliselt et esimesena on failinimi ja teisena hash
| |
| Ülesannet on võimalik lahendada ka one-linerina!
| |
|
| |
| =Pythoni praktikumid=
| |
|
| |
| ==Ülesanne 1==
| |
| Looge kalkulaatori skript mis küsib käsurealt sisendit ja liidab, lahutab, korrutab, jagab, astendab ja juurib.
| |
|
| |
| ==Ülesanne 2==
| |
| Looge programm mis küsib kasutajalt sisendiks numbrit ja selle järgi tekitab korrutustabeli. Number on siis tabli X ja Y telje maksimaalseks väärtuseks.
| |
|
| |
| ==Ülesanne 3==
| |
| Looge numbri arvutamise mäng. Number peab olema naturaalarv ja kasutajalt küsitakse vastuseid seni kuni saadakse õige vastus.
| |
| Vale vastuse puhul öeldakse kas otsitav number on suurem või väiksem.
| |
|
| |
| ==Ülesanne 4==
| |
| Tekitage XML parser mille abil on võimalik XML sõnumist otsida erinevaid elemente nii päisest kui kehast.
| |
| Failinimi tuleb anda sisendiks igal käivitamisel, elementide nimed tuleb võtta seadistuse failist, sõnumid võivad olla nii Eesti kui Inglise keelsed.
| |
| Näidis XML sõnumid mille lugemine peab õnnestuma saab aaderssilt http://enos.itcollege.ee/~mrajur/
| |
|
| |
| ==Ülesanne 5==
| |
| Tekitage süsteemi jõudluse testimise skript.
| |
| Testima peaks
| |
| a) võrguühenduse kiirust
| |
| b) andmesalvestuslahenduse kiirust(lugemine/kirjutamine)
| |
| c) Protsessori kiirust(võite ise välja mõelda mingisuguse testi)
| |
| d) Midagi muud?
| |
|
| |
|
|
| |
|
Line 243: |
Line 153: |
|
| |
|
| https://www.cyberciti.biz/faq/bash-for-loop/ | | https://www.cyberciti.biz/faq/bash-for-loop/ |
|
| |
| =Kodutööd=
| |
| ==Bashi kodutöö==
| |
| Kodutöö ülesandeks on luua skript mille abil lisada bind9 DNS serverisse kirjeid.
| |
| Kirjete lisamisel tuleb kontrollida kas lisatav ip aadress või hostinimi on juba olemas, juhul kui see leitakse tuleb anda adminnile võimalus täiendava lisamiseks või asendamiseks(nii hostinime kui ip).
| |
| Kirjete sisend võib olla käsurealt käsitsi või failiga sisendiks.
| |
| Olenemata sisendist tuleb iga rea kohta kontrollida kirje olemasolu.
| |
| Skript peab kontrollima reverse resolution zone filet ning seda täiendama.
| |
| Peale muudatuste tegemist tuleb dns serverile teha ka reload.
| |
|
| |
| Loengus tutvustatud näidis(puudustega) protsessivoog on saadaval http://enos.itcollege.ee/~mrajur
| |
|
| |
| Täiendavad kitsendused mis peaks tööd lihtsustama:
| |
| Skripti abil peab saama ainult lisada ja muuta A ja PTR kirjeid, kustutamine ei ole vajalik
| |
| Reverse tsooni faili lisamisel tuleb ka named.conf'i uuendada.
| |
|
| |
| NB! Ärge unustage seriali muuta
| |
|
| |
| Abiks materjal:
| |
| https://wiki.itcollege.ee/index.php/Nimeserveri_seadistamine_BIND9_n%C3%A4itel
| |
| http://askubuntu.com/questions/330148/how-do-i-do-a-complete-bind9-dns-server-configuration-with-a-hostname
| |
| https://help.ubuntu.com/community/BIND9ServerHowto
| |
| http://www.bashoneliners.com
| |
|
| |
| ==Pythoni kodutöö==
| |
|
| |
| {| class="wikitable"
| |
| !Nimi
| |
| !Teema
| |
| |Link
| |
| |-
| |
| |Erik Sõlg
| |
| |Rotten Tomatoes otsiagent (filmid, vastavalt kriteeriumile)
| |
| |http://enos.itcollege.ee/~mrajur/python/esolg.zip
| |
| |-
| |
| |Margus Sumla
| |
| |ÕIS'i hinnete automaatne kontroll ja e-maili saatmine hinde muutumisel
| |
| |http://enos.itcollege.ee/~mrajur/python/msumla.zip
| |
| |-
| |
| |Karel Laid
| |
| |Oracle alertlogi jälgimine, alertide saatmine e-mailina
| |
| |http://enos.itcollege.ee/~mrajur/python/klaid.zip
| |
| |-
| |
| |Richard Rõngelep
| |
| |Piltide masstöötlus (muuta saab resolutsiooni(kuni X KB), formaati(jpg,png) ja suurust(kuni X KB)
| |
| |http://enos.itcollege.ee/~mrajur/python/rrongelep.zip
| |
| |-
| |
| |Ott Pärnoja
| |
| |apache2 vhosti lisamine/muutmine(SSL lisamise võimalus, ID kaardi tugi)
| |
| |http://enos.itcollege.ee/~mrajur/python/oparnoja.zip
| |
| |-
| |
| |Siim Saar
| |
| |Tail -f kloon üle HTTP/Websocketi, kus kasutaja annab ette failid mida ta tahab pollida ning seejärel käivitatakse veebiserver ( näiteks 192.168.0.1:3000 ), kust teised läbi brauseri näevad kuidas logidesse lisanduvad read.
| |
| |http://enos.itcollege.ee/~mrajur/python/ssaar.zip
| |
| |-
| |
| |Jevgeni Kuzmin
| |
| |Piltide masstöötlus (muuta saab resolutsiooni(kuni X KB), formaati(jpg,png) ja suurust(kuni X KB)
| |
| |http://enos.itcollege.ee/~mrajur/python/jkuzmin.zip
| |
| |-
| |
| |Kadri Karatšev
| |
| |yahtzee
| |
| |http://enos.itcollege.ee/~mrajur/python/kkaratsev.zip
| |
| |-
| |
| |Margit Kont
| |
| |Portscanner
| |
| |http://enos.itcollege.ee/~mrajur/python/mkont.zip
| |
| |-
| |
| |Veiko Villo
| |
| |HV toote hinna jälgimine.
| |
| |http://enos.itcollege.ee/~mrajur/python/vvillo.zip
| |
| |-
| |
| |Marta-Heliise Tuur
| |
| |Hangman välise sõnadebaasiga ja mehe joonistamisega
| |
| |http://enos.itcollege.ee/~mrajur/python/mtuur.zip
| |
| |-
| |
| |Karl Oskar V. Kukke
| |
| |Texas hold 'em pokker
| |
| |http://enos.itcollege.ee/~mrajur/python/kkukke.zip
| |
| |-
| |
| |Raigo Laanemets
| |
| |Isikukoodi elementide analüüsija kasutades väliseid andmeallikaid
| |
| |http://enos.itcollege.ee/~mrajur/python/rlaanemets.zip
| |
| |-
| |
| |Marvin Martinson
| |
| |Skript mis käib üle mp3 muusika failide ja võtab sealt info ja laeb selle andmebaasi
| |
| |http://enos.itcollege.ee/~mrajur/python/mmartinson.zip
| |
| |-
| |
| |Katariina Purru
| |
| |Failide/kaustade korrastaja
| |
| |http://enos.itcollege.ee/~mrajur/python/kpurru.zip
| |
| |-
| |
| |Triinu Tamm
| |
| |Duplikaatide eemaldaja
| |
| |http://enos.itcollege.ee/~mrajur/python/ttamm.zip
| |
| |-
| |
| |Kaspar Kannik
| |
| |MP3 Mängija
| |
| |http://enos.itcollege.ee/~mrajur/python/kkannik.zip
| |
| |-
| |
| |Aleksandr Laada
| |
| |Kataloogide sünkroniseerija koos logimisega
| |
| |http://enos.itcollege.ee/~mrajur/python/alaada.zip
| |
| |-
| |
| |Priit Saar
| |
| |Failinimede muutja
| |
| |http://enos.itcollege.ee/~mrajur/python/psaar.zip
| |
| |-
| |
| |Aleksandr Pikalo
| |
| |Udp chat serveriga
| |
| |http://enos.itcollege.ee/~mrajur/python/apikalo.zip
| |
| |-
| |
| |}
| |
|
| |
| ==Retsensiooni sisu==
| |
| Retsensioon tuleb kirjutada endast kolme järgneva töö kohta.
| |
| Iga töö kohta kirjutatav retsensioon peab sisaldama järgmiseid punkte:
| |
| Kas loodud skript/programm vastab lähteülesandele?
| |
| Teiepoolsed soovitused koodiparandusteks.
| |
| Teiepoolne hinnang kirjutatud koodile(tekstiline + number 1-5ni).
| |
|
| |
| ==Tähtajad==
| |
| Kodutöö 1
| |
| Tähtaeg 19.03 kell 23:59
| |
| Hinnangute tähtaeg 26.03 kell 23:59
| |
|
| |
| Kodutöö 2
| |
| Tähtaeg 07.05 kell 23:59
| |
| Hinnangute tähtaeg 19.05 23:59
| |
|
| |
| Loengu slaide saab vaadata aadressilt http://enos.itcollege.ee/~mrajur
| |