Category:Skriptimiskeeled
Skriptimiskeeled ainekaart
Eesmärk
Õppeaine eesmärk on tutvustada õppijatele skriptimiskeelte vajalikkust korduvate haldustegevuste automatiseerimisel ning arendada õppijate oskuseid serverite ja tööjaamade haldamiseks.
Lühitutvustus
Õppeaines käsitletakse skriptimiskeeli kui ühte töövahendit, mille abil on võimalik süsteemide haldamiseks vajalikke tegevusi efektiivselt ning otstarbekalt sooritada ja automatiseerida. Pikemalt tutvustatakse Bash kooriku programmeerimisvõimalusi ning skriptimiskeelt Python. Põgusalt viidatakse ka teistele skriptimiskeeltele, nt Ruby ja PowerShell. Õppija omandab aine läbimise käigus enamlevinud srkiptimisvahendite esmase kasutusoskuse ja ülevaate tänapäeval kasutatavatest skriptimisvahenditest.
Õpiväljundid
- Õppija mõistab skriptimise kui töövõtte vajadust ning kasutusvaldkondi.
- Õppija teab ja tunneb enimkasutatavaid skriptimiskeeli ja nende kasutamisvõimalusi.
- Õppija oskab kasutada skriptimiskeeli lihtsamate haldustegevuste automatiseerimiseks.
- Õppija oskab koostada keerulisemaid skripte kasutades selleks erialast kirjandust ja sotsiaalseid keskkondi.
Hinde kujunemine
Arvestuse tulemus kujuneb semestri jooksul tehtud töö baasil. Hindamisele kuuluvad iseseisva töö aruanded ehk skriptid koos dokumentatsiooniga (30% ulatuses) ning praktilised kontrolltööd (40% ulatuses). Kontrolltööd koosnevad praktilistest arvuti abil lahendatavatest skriptimisülesannetest. Arvestustööd saab teha semestri jooksul (kui kodutööd/kontrolltööd on tehtud) või arvestuse päeval.
Iseseisev töö koosneb kahest hinnatavast plokist:
- Bash
- Python
Mõlemas plokis tuleb õppijal koostada aruanne, mis koosneb juhendist ja enda loodud skriptist. Iseseisva tööna tuleb teha kokku kaks aruannet.
Hea skript (vastavalt 1. loengu lõpus kokku lepitule):
- Teeb AINULT seda, mida vaja
- Kasutab muutujaid
- Teeb oma ülesande ära nii lihtsalt, kui võimalik (KISS)
- On kommenteeritud ja dokumenteeritud
- Teavitab kasutajat tekkivatest probleemidest
- Logib oma tegevust ja probleeme
- Ei eelda, kontrollib (nt kas Apache on paigaldatud)
- Küsib luba, kui järgnev toiming on pöördumatu (failide kustutamine, ülekirjutamine jms)
- On skriptitav
- Vajadusel käivitatav nii, et skript töötaks ilma kasutajapoolse sekkumiseta
- Veasituatsiooniga lõpetades tagastab väljumiskoodi (exit code)
- On korralikult vormindatud
Üldist
Loengusalvestised kevad 2016 (päevaõpe)
Anna teada, mida aines paremaks võiks teha (keelatud pole ka lihtsalt soovitused/kiitused/laitused
Skriptimiskeeled aine muudatuste ideed
GIT
Kodutööd on soovitatav esitada GIT repositooriumi kaudu, kas Bitbucket, GitHub või mõne muu keskkonna abil.
Bash
Loengute videod 2015 kevad Enesetest aine Bash osa eelduse kontrolliks
Materjal, mille läbitöötamine asendab Bash loengutes kaasatöötamist
Tunnis lahendatud näited leiab siit - Bash näited 2013
Kiiruse peale lahendatavad ülesanded. Punkte saab esimene töötav lahendus Bash quests 2014
Bash arvestuse saamiseks tuleb teha kodutöö, mis koosneb kahest osast (vaata loengumaterjali) ja sooritada arvestustöö kas tunnis või arvestuse päeval. Arvestustöö tegemise eelduseks on esitatud kodutöö.
Tunnis antud ülesanded
Bash Kodutöö 1 - failiteenus
Looge skript, mis jagaks etteantud grupile uue kausta
./jaga.sh KAUST GRUPP <JAGATUD KAUST>
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
Mõistlik on konfiguratsioonist eelnevalt koopia teha ja muudatused koopiasse sisse viia. Koopiat testitakse testparm korraldusega ja kopeeritakse alles seejäral fail üle.
Bash kodutöö 2 - veebihosting/veebiteenus
Looge skript, mis looks uue veebkodu
Kasutaja sisestab:
[sudo] ./loo-kodu.sh www.minuveebisait.ee
- Skript paigaldab apache2 serveri, kui see puudub
- Loob nimelahenduse (lihtsalt /etc/hosts failis)
- Kopeerib vaikimisi veebisaidi ja modifitseerib index.html faili sisu vastavalt loodavale lehele
- Abimaterjal Virtualhost apache2 näitel Veebiserveri labor v.2
The only way to really learn scripting is to write scripts
Praktika
- Esimeses praktikumis saavad kõik endale ELab-keskkonna kasutajatunnused ja õigused vastavasse laborisse.
Python
Lisamaterjal (algajad saavad siit abi isegi siis, kui programmeerimise algõpe jäi puudulikuks)
- http://learnpythonthehardway.org/book/ - Selle materjali läbimine asendab loengutes kohalkäimist
- http://www.codecademy.com/tracks/python - Väga hea algus algajale
- https://courses.cs.ut.ee/all/MTAT.03.100/2012_fall/uploads/opik/ - Suurepärane materjal
Python kodutöö
Soovituslik on oma kodutöö teema ise välja mõelda. Kui ühtegi mõtet ei tule, võib võtta järgmise skripti:
Skript loeb esimese parameetrina antud failist sisse URL-id ja nende järel olevad stringid. String ja URL eraldatakse, seejärel tehakse päring vastava URLi pihta. Vastuse lähtekoodist otsitakse URLi järel olnud stringi. Teise parameetrina antud faili kirjutatakse uuesti URL, otsitav string ja "JAH/EI" vastavalt sellele, kas otsitav string leiti või mitte.
Skriptimiskeelte varasem materjal
Pages in category "Skriptimiskeeled"
The following 39 pages are in this category, out of 39 total.
P
- PowerShell
- PowerShell: Faililist CSV-sse
- PowerShell: kataloogi ruumikasutuse aruande skript
- PowerShell: Märt Lindre, find files.ps1
- Powershell: Vaba kettaruumi hoiatus
- PowerShelli arvestusülesanne 2011, sügis, kaugõpe
- PowerShelli näidisteemad kodutöödeks 2010, sügis, kaugõpe
- Protsessiinfo veebilehe genereerimise ja IIS serveri paigaldamise skript: Meeskond "Jõukest 2.0"
- Protsessiinfo veebilehe genereerimise ja IIS serveri paigaldamise skript: Meeskond "Urmo Laaneots, Oliver Kilk, Karet Rikko, Erko Umal"
S
- Skript millega saab arvutis kustutada wifi profiilid Python
- Skript, millega saab arvutis käivitada IDkaardi haldusvahendi ja selle sulgemisel kustutatakse sertifikaadid - PowerShell
- Skript, millega saab public folderitesse õiguseid lisada ja neid sealt ka eemaldada - PowerShell
- Skript, mis arhiveerib etteantud laiendiga failid - PowerShell
- Skript, mis kuvab kasutajad ja grupid
- Skript, mis küsib ACL-i objekte AD-st - Powershell
- Skript, mis leiab application log'ist viimase nädala joosul tehtud "Error" tüüpi kirjed ja edastab need administraatorile e-kirjana Powershell
- Skript, mis leiab etteantud kataloogist või kettalt samanimelised failid ja väljastab nende nimekirja- PowerShell
- Skript, mis otsib pilte ja loob kaustad aasta järgi ning tõstab vastava aasta pildi vastava aasta kausta-Python
- Skript, mis otsib üles failid mille poole ei ole ammu pöördutud ja arhiveerib - Python
- Skript, mis pakib failid ja laeb ftp abil üles
- Skript, mis teeb midagi printeritega
- Skript, mis teeb sama mis WinToFLash
- Skript, mis teeb teatud kaustast backupi ja kustutab üle 30 päeva vanad backupid ära-BASH
- Skriptimiskeeled aine aruanded 2010 sügis
- Skriptimiskeeled aine aruanded 2010 sügis/SigmarMuuga/Poweshell
- Skriptimiskeeled aine muudatuste ideed
- Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe
- Skriptimiskeeled: powershelli kodutööd 2011, sügis, kaugõpe