Category:Skriptimiskeeled (arhiiv)

From ICO wiki
Jump to navigationJump to search

Skrpitimiskeeled ainekaart

Eesmärk

Õppeaine eesmärgiks 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, skriptimiskeelte pyhton, ruby ja vbscript kasutamist ning Windows-tööjaamade ja –serverite haldamisel kasutatavat skriptimiskeskkonda 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 ja retsensioonid (50% ulatuses) ning osaarvestustööd (50% ulatuses). Osaarvestustööd koosnevad praktilistest arvuti abil lahendatavatest skriptimisülesannetest.

Iseseisev töö koosneb kolmest hinnatavast plokist (Powershell, bash shell, Ruby või python). Igas plokis tuleb õppijal koostada aruanne, mis koosneb juhendist ja enda loodud skriptist ning samuti tuleb retsenseerida teise õppija koostatud aruannet. Iseseisva tööna tuleb teha kokku kolm aruannet ja kolm retsensiooni.

Anna teada, mida aines paremaks võiks teha (keelatud pole ka lihtsalt soovitused/kiitused/laitused

Skriptimiskeeled aine muudatuste ideed

Bash

Enesetest aine bash osa eelduse kontrolliks

Materjal, mille läbitöötamine asendab BASH loengutes kaasatöötamist


PS: Uuendatud loengumaterjal


Bash arvestuse saamiseks tuleb teha kodutöö ja lahendada tunnis (või kodus) kaks ülesannet (veebikodu ja failiteenus).

Tunnis antud ülesanded

http://enos.itcollege.ee/~mernits/skriptimine/robot.itcollege.ee-access.log.zip


Ülesanne - failiteenus

Looge skript, mis jagaks etteantud grupile uue kausta

jaga KAUST GRUPP <JAGATUD KAUST>

Skript teeb järgnevat

  • paigaldab samba (see osa pole kohustuslik)
  • loob kausta KAUST (kui vaja)
  • loob grupi GRUPP (kui vaja)
  • lisab grupile sobivad read smb.conf faili ja teeb failiserveri teenusele reload'i

Kes jõuab teeb enne konfiguratsioonist koopia ja teeb muudatused koopiasse. Koopiat testitakse testparm korraldusega ja kopeeritakse alles seejäral fail üle

Ülesanne - veebihosting/veebiteenus

Looge skript, mis looks uue veebkodu Kasutaja sisestab:

loo-kodu 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 Veebiserveri labor v.2



The only way to really learn scripting is to write scripts

Praktika

  • Esimeses praktikumis installeeritakse Ubuntu töölaud ja luuakse lihtsamaid skripte

Kui soovite Ubuntu töölaua vers. ise paigaldada, siis järgige järgmist juhendit.

cd "/My Virtual Machines"
wget  ftp://ftp.estpak.ee/pub/ubuntu-releases/10.10/ubuntu-10.10-desktop-amd64.iso


Tunnis kasutatud virtuaalmasina saab endale alla laadida. (NB see on päris suur fail)

cd "/My Virtual Machines"
wget  http://enos.itcollege.ee/~mernits/skriptimine/skriptimine.tar.gz
tar zxf skriptimine.tar.gz


Bash quests - leht neile, kellel pole bash kodutöö teema ideed...

Skriptimiskeeled aine aruanded 2010 sügis

Teemad

Python

Kodutöö python skript

Tähtaeg 20.01.2012 (Kaugõpe)

Luua isikukoodi parser ja õigsuse kontrollija.

Sisendiks fail kus igal real on isikukood, mis võib olla õige või vale. Väljundiks on fail kus on õiged isikukoodid kus kontrollsumma klapib ning kuupäev on korrektne (aastas 12 kuud ning iga kuu päevade arv sobiv). Sisendfail enesekontrolliks: http://lauri.vosandi.eu/python/isikukoodid.txt

NB! Kuupäeva õigsuse kontrollimiseks kasutage datetime.strptime funktsiooni ja uuesti vormindamiseks datetime.strftime funktsiooni


python isikukoodid.py isikukoodid.txt

Eeldatav väljund:

61206116170 - 11.06.2012 - naine
40511309870 - 30.11.1905 - naine
41407165380 - 16.07.1914 - naine
63511033026 - 03.11.2035 - naine
44408261855 - 26.08.1944 - naine
36001157802 - 15.01.1960 - mees
68905216902 - 21.05.2089 - naine
44702094652 - 09.02.1947 - naine
63812277449 - 27.12.2038 - naine
41207203213 - 20.07.1912 - naine
68708158219 - 15.08.2087 - naine
59803250119 - 25.03.2098 - mees
53912086035 - 08.12.2039 - mees
51211188093 - 18.11.2012 - mees
43805027379 - 02.05.1938 - naine
63206180726 - 18.06.2032 - naine
51501095401 - 09.01.2015 - mees
41609258538 - 25.09.1916 - naine
60306250756 - 25.06.2003 - naine
61901193165 - 19.01.2019 - naine
43107188423 - 18.07.1931 - naine
48210160415 - 16.10.1982 - naine
48910144868 - 14.10.1989 - naine
37605156061 - 15.05.1976 - mees
30907090640 - 09.07.1909 - mees
53907089733 - 08.07.2039 - mees

Programm peab sisaldama infot skripti autori kohta ning valede parameetrite korral väljastama programmi kasutusinfo

PowerShell

Skriptimiskeeled: powershelli kodutööd 2011, sügis, kaugõpe

Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe

PowerShelli näidisteemad kodutöödeks 2010, sügis, kaugõpe

PowerShelli arvestusülesanne 2011, sügis, kaugõpe

PowerShell scriptimiskeele tutvustus, peamised kasutatavad käsud

Tutvustus


PowerShelli paigaldus

PowerShelli seaded

  • Käsk, millega loengus allkirjanõude väljalülitasime
    • Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy unrestricted

Praktika

  • Loo alias Get-Process cmdleti jaoks: prots
  • Loo funktsioon näitamaks kõiki printereid nimega printerid
  • Ekspordi alias
  • Salvesta loodud funktsioon profiili

Näited

Esimese loengu näited: PowerShell

Esimese loengu näited: PowerShell (2011, päevaõpe)

PowerShell skriptimiskeskkonna alus- ja põhimõisted

Sissejuhatus

Muutujad ja massiivid

If, kordused ja konveierid

Praktika

  • Võta system EventLog'ist 25 viimast sündmust ja ekspordi need CSV faili
  • Leia application EventLog'ist enim kirjeid loonud rakendus
  • Käivita Notepad ning leia seejärel vastav protsess ja tee kindlaks PID
  • Leia enim mäluruumi kasutav protsess ja sulge see

PowerShell skriptimiskeskkonnas WMI objektide kasutamine

Sissejuhatus


Näited

PowerShell skriptimiskeskkonnas IIS veebiserveri haldamine

Praktika

  • Koosta skript, mis:
    • paigaldaks IIS veebiserveri
    • Kustutaks Default Web Site
    • Looks uue veebilehe, mille füüsiline asukoht oleks C:\www
      • Kontrolliks ka eelnevalt kataloogi olemasolu ning vajadusel looks selle
  • Koosta skrpit, mis genereeriks veebilehe, mis sisaldaks töötavate protsesside loetelu ja nende ressursikasutusesinfot ja viimast viit kirjet system EventLog'ist
    • See skript peab väskendama infot viieminutilise intervalliga

Kaughaldus PowerShelli abil

Teooria

Praktika

Arvestus kaugõppele 2012 jaanuar

Python

Kasuta oma kodutööd ja töötle isikukoode, mida loed järgmisest failist http://lauri.vosandi.eu/python/isikukoodid.txt

Kirjuta skript, mis leiab kõige vanema inimese ja kõige noorema inimese. NB: See isikukood peab olema korrektne

Lahendus saada aadressile margus.ernits@itcollege.ee - Subjekt: [skriptimine]

Bash

paranda ära skript: http://enos.itcollege.ee/~mernits/share.sh

Kirjelda leitud probleemid ja saada margus.ernits@itcollege.ee - Subjekt: [skriptimine]

PowerShell

Loo skript, mis kopeerib etteantud lähtekausta sisu rekrusiivselt etteantud sihtkausta.

  • Kui sihtkaust puudub see luuakse.
  • Kui kaust on olemas ja seal on faile ning kaustu, siis kirjutatakse üle ainult need failid, mille suurus sihtkaustas on erinev lähtekaustas olevast faili suurusest ning kui alamkaustad puuduvad, need luuakse.
  • Lisaks on skriptil parameeter -Kustuta, mille kasutamisel kustutatakse sihtkaustast failid, mida lähtekaustas ei ole.

Lahendus saada aadressile heiki.tahis@eesti.ee - Subjekt: [skriptimine]

This category currently contains no pages or media.