Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Martin Jakomin Sistem za avtomatsko ocenjevanje algor

Velikost: px
Začni prikazovanje s strani:

Download "Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Martin Jakomin Sistem za avtomatsko ocenjevanje algor"

Transkripcija

1 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Fakulteta za matematiko in fiziko Martin Jakomin Sistem za avtomatsko ocenjevanje algoritmov DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN MATEMATIKA Mentor: doc. dr. Tomaž Dobravec Ljubljana 2012

2

3 Rezultati diplomskega dela so intelektualna lastnina avtorja in Fakultete za računalništvo in informatiko Univerze v Ljubljani. Za objavljanje ali izkoriščanje rezultatov diplomskega dela je potrebno pisno soglasje avtorja, Fakultete za računalništvo in informatiko ter mentorja.

4 Namesto te strani vstavite original izdane teme diplomskega dela s podpisom mentorja in dekana ter žigom fakultete.

5 Izjava o avtorstvu diplomskega dela Spodaj podpisani Martin Jakomin, z vpisno številko , sem avtor diplomskega dela z naslovom: Sistem za avtomatsko ocenjevanje algoritmov S svojim podpisom zagotavljam, da: sem diplomsko delo izdelal samostojno pod mentorstvom doc. dr. Tomaža Dobravca so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter ključne besede (slov., angl.) identični s tiskano obliko diplomskega dela soglašam z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI. V Ljubljani, dne 21. septembra 2012 Podpis avtorja:

6 Kazalo POVZETEK ABSTRACT 1 UVOD Kaj je algoritem Kako predstaviti algoritem Kako oceniti algoritem O aplikaciji NAVODILA ZA NAMESTITEV SISTEMA Potrebna programska oprema za delovanje sistema Namestitev potrebne programske opreme Nastavitev Nastavitev podatkovne baze Nastavitev datoteke settings.dat Primer datoteke settings.dat Testni zagon na lokalnem strežniku Zagon aplikacije s strežnikom Apache NAVODILA ZA UPORABO SISTEMA Uporabniška navodila Registracija Prijava

7 KAZALO Odjava Profil Osnovni meni Domov O sistemu Pregled skupin algoritmov Oddaja algoritmov Zahteve za oddane algoritme Stran algoritma Navodila za administratorje Dodajanje uporabniških in administratorskih računov Administratorjeva plošča Pregled uporabnikov Pregled algoritmov Pregled skupin algoritmov Dodajanje nove skupine algoritmov Datoteka meta.dat Program za testiranje algoritmov Testne datoteke Vmesnik Ponovno testiranje vseh algoritmov Oddaja algoritmov z administratorskim računom OCENJEVANJE KAKOVOSTI ALGORITMOV Postopek testiranja algoritmov Zahteve programa za testiranje algoritmov Zahteve za oddane algoritme IMPLEMENTACIJA Splošno o aplikaciji O Djangu Podatkovna baza

8 KAZALO Algoritem Skupina algoritmov Implementacija strežnika Implementacija testiranja algoritmov Abstraktni razred Tester program ZipTest SKLEPNE UGOTOVITVE 45 7 PRILOGE Program ZipTest Kazalo slik LITERATURA 53

9

10 POVZETEK Glavni cilj diplomske naloge je bil ustvariti učinkovit sistem za avtomatsko ocenjevanje algoritmov. Sistem, ki je dovolj robusten in prilagodljiv, hkrati pa učinkovit ne glede na izbrani algoritem. Pri izdelavi sistema je bila ključnega pomena enostavnost uporabe tako za uporabnike, kot tudi za administratorje sistema. Še prej pa je bilo potrebno definirati, kako je v sistemu dejansko predstavljen algoritem. Potrebna je bila poenostavitev in abstrakcija algoritma. V uvodu so na kratko predstavljeni cilji in motivacija, naša predstavitev algoritma v aplikaciji, ter kratek opis same aplikacije. Sledijo navodila za namestitev sistema, ter navodila za uporabnike in administratorje. V četrtem poglavju so opisani postopki ocenjevanja kakovosti algoritmov ter zahteve, ki jih morajo izpolnjevati oddani algoritmi. Nato so predstavljene uporabljene tehnologije in orodja. Sledi sama implementacija sistema, ter sklepne ugotovitve in priloge. Na priloženi zgoščenki se nahaja spletna aplikacija, program za testiranje algoritmov za brezizgubno stiskanje podatkov ZipTest in enostavni primer takšnega algoritma MyZip.

11

12 ABSTRACT The main goal of this diploma thesis was to create efficient system for automatic evaluation of algorithms. The system, which is sufficiently robust and flexible and at same time efficient regardless of the chosen algorithm. When making this system, it was essential to create system, that is easy to use for both users as well as system administrators. But first it was necessary to define how is algorithm actually presented in the system. It took a simplification and abstraction of algorithm. In the introduction, there is a brief presentation of the goals and motivation, representation of algorithm, and a short presentation of application. Following up, are the instructions for installation, and instructions for users and administrators. The fourth chapter gives a description of the procedures for quality evaluation of algorithms, and requirements that must be met by submited algorithms. Then there is a presentantion of the technology and tools used. Following up is the implementation of the system itself. Last but not least there is conclusion and annexes. The included CD-ROM contains web application, testing program for lossless data compression algorithms ZipTest, and simple example of such an algorithm MyZip.

13

14 Poglavje 1 UVOD V življenju se soočamo z vrsto problemov, ki jih lahko rešujemo na najrazličnejše načine. Izdelujemo tako enostavne, kot tudi zapletene algoritme. Vendar ali nam zapletenost algoritma zagotavlja tudi boljšo rešitev od drugih? Kako lahko sploh nepristransko primerjamo dva ali več različnih algoritmov za nek isti problem? Kako lahko na koncu ocenimo algoritme in izberemo najboljšega? Izbrati najboljši algoritem še zdaleč ni tako trivialno kakor se zdi na prvi pogled, še posebej zato, ker obstaja veliko različnih problemov. Lahko pa za različne vrste (kasneje v delu omenjene kot skupine ) algoritmov razvijemo različne ocenjevalne tehnike, ter ocenimo algoritme na podlagi le teh. Prav to je bil tudi namen diplomske naloge, zato smo razvili sistem oziroma spletno aplikacijo, ki omogoča ocenjevanje najrazličnejših vrst algoritmov. Pri tem nam je bila dodatna motivacija tudi dejstvo, da podobni sistemi zaenkrat ne obstajajo. 1.1 Kaj je algoritem Na začetku moramo definirati, kaj algoritem sploh je, oziroma kako ga predstavimo v računalniškem svetu. Pojem algoritem lahko formalno opišemo kot končno, deterministično in učinkovito metodo za reševanje problemov, 1

15 2 POGLAVJE 1. UVOD ki se jo da implementirati kot računalniški program [2]. Drugi način opisa algoritma pa pravi, da je algoritem zaporedje računskih korakov, ki pretvorijo vhodne podatke v izhodne [1]. Algoritem je torej lahko karkoli, kar zadošča tem pogojem. Za lažjo predstavitev v našem sistemu bomo morali definirati pojem abstraktnega algoritma. 1.2 Kako predstaviti algoritem Algoritem lahko definiramo s tem, da mu natančno opišemo postopke oziroma korake za rešitev nekega problema. Natančnost definicije algoritma lahko zagotovimo s tem, da algoritem predstavimo v obliki računalniškega programa, saj je tako lažje preveriti ali je algoritem končen, determinističen in učinkovit. Kako torej predstaviti algoritem v našem sistemu? Kakšno definicijo je treba uporabiti, da bomo zajeli, kar največ različnih vrst algoritmov? V ta namen bomo najprej definirali vrsto oziroma skupino algoritmov. Vsaka skupina algoritmov je objekt s svojim unikatnim imenom, z do deset različnih merljivih kriterijev, kateri lahko ocenijo primere algoritmov teh skupin in s programom, ki avtomatsko oceni te kriterije. Za definicijo samega algoritma potrebuje vsaka skupina tudi svoj vmesnik, kateri natančno predpisuje metode, ki jih mora definirati vsak primer dane skupine. Vmesnik natančno določi tudi vhodne in izhodne podatke. S tem lahko definiramo algoritem kot vsak program, ki pravilno implementira vse metode, ki jih predpisuje nek vmesnik, ki je del neke skupine algoritmov v našem sistemu. Definiramo tudi objekt algoritem z unikatnim imenom in z do deset različnih številskih polj za rezultate. Z vpeljavo teh dveh objektov, bomo v nadaljevanju lahko med seboj primerjali in ocenjevali algoritme istih skupin.

16 1.3. KAKO OCENITI ALGORITEM Kako oceniti algoritem Kateri algoritem je najboljši pri danem problemu je težko določiti. Na to vpliva zelo veliko dejavnikov. Osredotočili se bomo na učinkovitost algoritma pri porabljanju računalniških virov, kot sta na primer poraba pomnilnika ali čas izvajanja. Teoretični pristop testiranja te učinkovitosti bi bil s pomočjo matematičnih modelov in napovedovanjem same učinkovitosti algoritmov. Na primer asimptotično ocenjevanje računske zahtevnosti. Mi pa bomo uporabili bolj praktični pristop. S pomočjo našega sistema in posebnimi programi za testiranje in ocenjevanje bomo testirali vse algoritme. Za vsako skupino algoritmov bomo uporabili različne programe, ter s tem zajeli kar največ različnih načinov ocenjevanja različnih vrst algoritmov. Samo oceno kakovosti algoritma lahko potem ocenimo s pomočjo do deset rezultatov oziroma kriterijev, katere vrne program za testiranje. Rezultate lahko nato primerjamo tudi z rezultati drugih algoritmov iste skupine s pomočjo razpredelnic in grafov. 1.4 O aplikaciji Razvita aplikacija omogoča uporabnikom, da se prijavijo v sistem in preko spleta pošiljajo svoje algoritme na strežnik, kjer se nepristransko ocenijo. Uporabnik lahko nato preveri svoje rezultate in jih s pomočjo preglednic in grafov tudi primerja s standardnimi algoritmi (algoritmi, ki so že shranjeni v aplikaciji in predstavljajo neko mejo za ostale algoritme) in z algoritmi, ki so jih oddali drugi uporabniki. Uporabniki lahko oddajajo le algoritme za probleme, za katere tisti trenutek obstaja podpora v sistemu. Nove probleme oziroma nove skupine algoritmov lahko dodaja skrbnik sistema oziroma administrator. Njegova naloga je tudi, da pri vsaki skupini algoritmov natančno določi zahteve, katere morajo izpolnjevati oddani algoritmi. Administrator lahko kadarkoli izvrši ponovno testiranje vseh algoritmov.

17 4 POGLAVJE 1. UVOD S tem poskrbi, da imajo vsi algoritmi ob morebitni posodobitvi strojne opreme ali menjavi strežnika enake in nepristranske pogoje testiranja.

18 Poglavje 2 NAVODILA ZA NAMESTITEV SISTEMA Navodila in postopki opisani v tem predelu se nanašajo na delo z operacijskim sistemom Ubuntu, ter strežnikoma Apache in MySQL. Sistem deluje tudi na drugih operacijskih sistemih, kot na primer Windows Potrebna programska oprema za delovanje sistema Python 2.7 Java Jdk MySQL Apache 2 Apache WSGI Pip Django 1.4 5

19 6 POGLAVJE 2. NAVODILA ZA NAMESTITEV SISTEMA MySQL-python MySQL Connector J 2.2 Namestitev potrebne programske opreme Python: Python verzije 2.7 je dostopen na spletnem naslovu: Java: Potrebna orodja za delovanje z Javo (JDK - Java Development Kit) so dostopna na naslovu: javase/downloads/index.html MySQL: Strežnik SQL je dostopen na spletnem naslovu mysql.com/downloads/ Apache: strežnik Apache je dostopen na spletnem naslovu: httpd.apache.org/download.cgi Apache WSGI: Modul WSGI za Apache namestimo z naslednjim ukazom: $ sudo apt-get install apache2 libapache2-mod-wsgi Pip: Orodje Pip namestimo z naslednjimi ukazi: $ sudo su $ apt-get install curl $ curl -O $ python distribute_setup.py $ curl -O $ python get-pip.py

20 2.3. NASTAVITEV 7 MySQLPython: Django in MySQLPython namestimo tako, da se pomaknemo v mapo Alg. Nato je potrebno pognati naslednji ukaz: $ pip install -r requirements.txt MySQL Connector J: Knjižnica je dostopna na spletnem naslovu: http: // Namestitev knjižnice MySQL Connector J ni potrebna, saj se ta že nahaja v mapi Alg/additional resources/lib. 2.3 Nastavitev Nastavitev podatkovne baze Potrebno je zagnati strežnik SQL in ustvariti novo podatkovno bazo. izvršimo z ukazom: To CREATE DATABASE <ime podatkovne baze>; Za ustvaritev potrebnih tabel v podatkovni bazi in normalno delovanje sistema je potrebno pognati program manage.py. To izvedemo s premikom v mapo Alg in z zagonom ukaza: $ python manage.py syncdb Program nam pri tem ponudi možnost, da ustvarimo administratorski račun (slika 2.1). Potrebno je vnesti uporabniško ime, elektronski naslov in geslo. V primeru da se za ta korak ne odločimo bomo morali kasneje sami ustvariti administratorski račun Nastavitev datoteke settings.dat Datoteka settings.dat se nahaja v mapi Alg/additional resources, v katero je potrebno zapisati podatke o podatkovni bazi, ter nekatere druge podatke, ki omogočajo pravilno delovanje sistema. Vsi podatki morajo biti zapisani ločeno v novih vrsticah.

21 8 POGLAVJE 2. NAVODILA ZA NAMESTITEV SISTEMA Slika 2.1: Ustvaritev tabel in administratorskega računa V datoteko moramo vpisati ime podatkovne baze (katera je bila ustvarjena v prejšnjem koraku) skupaj s ključno besedo name=, uporabniško ime in geslo za dostop do baze (pred njima je potrebno zapisati user= in password= ), ter ime gostitelja in vrata s ključnima besedama host= in port=. Za pravilno delovanje prevajalnika je potrebno navesti tudi pot do mape, kjer se nahaja Java JDK. Pred potjo je treba navesti path to jdk=. Pot, kjer se med testiranjem ustvari mapa (in po končanju tudi izbriše), v kateri poteka samo testiranje algoritmov, je privzeto nastavljena na Alg/testing env. Za spremembo poti je potrebno v datoteko zapisati path to test env= in želeno pot. Na koncu je potrebno zapisati še količino maksimalne dovoljene velikosti prenesenih datotek, izraženih v bajtih, s ključno besedo max size=. Primer datoteke settings.dat

22 2.3. NASTAVITEV 9 //Database data: databasename, username, password, host, port name=alg user=root password=e2ff4wb host=localhost port=3306 //Path to java jdk path_to_jdk=c:/program Files/Java/jdk1.7.0_05 //Path to testing environment directory (directory must not yet //exist, it will be created at start and delete itself at the end) //If left blank, "ROOT_DIR"/testing_env/ will be used path_to_test_env= // maximum upload size (in bytes) max_size= Testni zagon na lokalnem strežniku Za testni zagon aplikacije na lokalnem strežniku je potrebno pognati ukaz: $ python manage.py runserver [vrata ali naslov:vrata] Če izpustimo naslov in vrata, se avtomatsko privzame naslov in vrata Hkrati mora biti zagnan tudi strežnik SQL Zagon aplikacije s strežnikom Apache Za zagon aplikacije na strežniku Apache je potrebno v mapi, kjer je nameščen Apache, odpreti datoteko httpd.conf in v njo dodati: WSGIScriptAlias / <pot do mape Alg>/alg/wsgi.py WSGIPythonPath <pot do mape Alg> Alias /static <pot do mape Alg>/alg/frontend/static

23 10 POGLAVJE 2. NAVODILA ZA NAMESTITEV SISTEMA

24 Poglavje 3 NAVODILA ZA UPORABO SISTEMA 3.1 Uporabniška navodila Registracija Preden se lahko uporabnik prijavi v spletno aplikacijo, se mora najprej registrirati. To lahko naredi s klikom na gumb Register v desnem zgornjem kotu (slika 3.1). Prikaže se spletni obrazec (slika 3.2), v katerem je potrebno izpolniti vsa njegova polja: uporabniško ime, ki mora biti enolično in sestavljeno le iz črk, številk ali geslo, geslo (ponovno), ime, priimek in elektronska pošta. Registracija se zaključi s pritiskom na gumb Register na obrazcu spodaj. Slika 3.1: Prijava in registracija v zgornjem desnem kotu 11

25 12 POGLAVJE 3. NAVODILA ZA UPORABO SISTEMA Prijava Slika 3.2: Obrazec za registracijo V aplikacijo se lahko uporabnik prijavi s klikom na gumb Login v zgornjem desnem kotu. Za prijavo sta potrebna uporabniško ime in geslo (slika 3.3). S prijavo imajo uporabniki (glede na dodeljene pravice) možnost dostopa do nekaterih delov aplikacij, ki so drugače nedostopni. Na primer možnost oddaje svojih algoritmov Odjava Po končanem delu v spletni aplikaciji je priporočeno, da se uporabnik odjavi iz aplikacije. To lahko naredi s klikom na gumb Logout v desnem zgornjem kotu Profil Do lastne strani s profilom lahko uporabnik dostopa s klikom na svoje uporabniško ime v zgornjem desnem kotu. Odpre se stran s podatki o uporabniku

26 3.1. UPORABNIŠKA NAVODILA 13 Slika 3.3: Obrazec za prijavo in povezavo do njegovih oddanih algoritmov (slika 3.4). Slika 3.4: Profil uporabnika Osnovni meni Osnovni meni (slika 3.5) aplikacije je sestavljen iz naslednjih komponent: domov, o sistemu, pregled skupin algoritmov in oddaja algoritmov. Privile-

27 14 POGLAVJE 3. NAVODILA ZA UPORABO SISTEMA girani uporabniki oziroma administratorji imajo v osnovnem meniju dostop tudi do administratorjeve plošče. Slika 3.5: Osnovni meni Domov S klikom na gumb Domov se uporabniku odpre domača stran (slika 3.6) O sistemu S klikom na gumb About se uporabniku odpre stran z informacijami o sistemu. Stran vsebuje kratek opis sistema z njegovimi osnovnimi podatki. Slika 3.6: Domača stran

28 3.1. UPORABNIŠKA NAVODILA Pregled skupin algoritmov Do seznama skupin algoritmov lahko pride uporabnik s klikom na gumb Algorithms. Odpre se stran s seznamom vseh skupin algoritmov urejenih v padajočem abecednem redu (slika 3.7). S klikom na ime skupine algoritmov se odpre nova stran (slika 3.8) z osnovnimi podatki in opisom, ter s tremi povezavami: primeri, vmesnik in oddaja algoritma. Povezava primeri ( Examples ) nudi dostop do vseh oddanih algoritmov, ki pripadajo tej skupini, povezava oddaja algoritma ( Submit algorithm ) pa dostop do spletnega obrazca za oddajo algoritma (obrazec ima polje skupina že nastavljeno). S klikom na povezavo Interface se prenese vmesnik, ki ga določa skupina algoritmov. Slika 3.7: Pregled skupin algoritmov Slika 3.8: Skupina algoritmov

29 16 POGLAVJE 3. NAVODILA ZA UPORABO SISTEMA Oddaja algoritmov Oddaja algoritmov je možna na več načinov. S klikom na povezavo na strani izbrane skupine algoritmov (kot je opisano v prejšnjem odstavku) ali pa s klikom na gumb Submit algorithm. Oba načina sta dostopna le prijavljenim uporabnikom. Pri obeh načinih se odpre spletna stran z istim obrazcem (slika 3.9), le da je pri dostopu s povezavo s strani algoritma že izpolnjeno obvezno polje skupina z imenom izbrane skupine algoritmov. Poleg tega ima obrazec še dva obvezna polja: ime algoritma (ki mora biti enolično in sestavljeno le iz črk, številk ali podčrtajev ter polje za dodajanje datotek, kjer s klikom na gumb Izberi datoteko izberemo algoritem, ki ga želimo oddati. Obrazec ima nato še dve neobvezni polji, ki jih ni potrebno izpolniti za uspešno oddajo algoritma. To sta polji opis in kratek opis. Slika 3.9: Obrazec za oddajo algoritmov

30 3.1. UPORABNIŠKA NAVODILA 17 Zahteve za oddane algoritme Oddani algoritmi morajo zadostiti vsem zahtevam opisanim v odstavku 4.3 Zahteve za oddane algoritme Če oddani algoritem ne izpolnjuje danih zahtev (na primer ne implementira zahtevanih metod ali pa je sintaktično nepravilen), sistem avtomatsko javi napako. V tem primeru se oddani algoritem izbriše iz podatkovne baze, uporabniku pa se prikaže spletna stran z opisom napake (slika 3.10 in slika 3.11). Ob uspešni oddaji in testiranju algoritma spletna stran avtomatsko preusmeri uporabnika na stran algoritma, katerega je oddal. Slika 3.10: Napaka pri prevajanju programa Slika 3.11: Napaka pri izvajanju algoritma

31 18 POGLAVJE 3. NAVODILA ZA UPORABO SISTEMA Stran algoritma Do strani algoritma je možen dostop na več načinov. Prvi način je možen v pregledu skupin algoritmov, najprej s klikom na ime skupine, kateri želeni algoritem pripada, nato s klikom na povezavo Examples ter nazadnje s klikom na ime želenega algoritma. Drugi način zahteva klik na povezavo uporabnikovih oddanih algoritmov na strani s profilom uporabnika, ki je želeni algoritem oddal, ter klik na samo ime želenega algoritma. Tretji način predstavlja avtomatska preusmeritev ob uspešni oddaji algoritma, četrti pa kar direkten dostop preko naslova: /algorithms/<ime skupine algoritmov>/<id algoritma>/ Stran vsebuje osnovne podatke o algoritmu (slika 3.12 in slika 3.13) ter njegove rezultate pri testiranju. Spodaj se prikažeta tudi razpredelnica z rezultati ostalih algoritmov iste skupine, ki je urejena glede na vrednost prvega kriterija v naraščajočem vrstnem redu in stolpičasti graf vseh algoritmov z vrednostmi prvega kriterija. Slika 3.12: Stran algoritma

32 3.2. NAVODILA ZA ADMINISTRATORJE 19 Slika 3.13: Rezultati 3.2 Navodila za administratorje Dodajanje uporabniških in administratorskih računov Uporabnike se dodaja tako, da se jih registrira (glej odstavek Registracija ). Za dodajanje novih administratorskih računov je potrebno obstoječim uporabniškim računom v podatkovni bazi spremeniti vrednost polja is superuser na 1, kar se da storiti na več načinov. Najprej je potrebno zagnati strežnik SQL in nato izvršiti enega izmed naslednjih ukazov: V primeru da poznamo uporabnikov id: UPDATE <ime podatkovne baze>.auth_user SET is_superuser=1 WHERE id=<id uporabnika>; V primeru da poznamo uporabnikovo uporabniško ime: UPDATE <ime podatkovne baze>.auth_user SET is_superuser=1 WHERE username=<ime>;

33 20 POGLAVJE 3. NAVODILA ZA UPORABO SISTEMA Administratorjeva plošča Do administratorjeve plošče lahko dostopajo le privilegirani uporabniki. S prijavo v spletno aplikacijo z administratorskim računom se administratorju v osnovnem meniju pojavi gumb Admin. S klikom nanj se odpre administratorjeva plošča (slika 3.14). Sestavljajo jo naslednje povezave: uporabniki, algoritmi, skupine algoritmov, dodaj novo skupino algoritmov in ponovno testiranje vseh algoritmov. Slika 3.14: Administratorjeva plošča Pregled uporabnikov S klikom na povezavo Users se odpre spletna stran s seznamom vseh uporabnikov (slika 3.15). S klikom na uporabniško ime se odpre uporabnikova stran s profilom Pregled algoritmov S klikom na povezavo Algorithms se odpre spletna stran s seznamom vseh algoritmov (slika 3.16). Pri vsakem algoritmu so na voljo tri povezave: povezava do algoritma ter povezavi uredi in izbriši. Za urejanje algoritmov služi povezava Edit. S klikom nanjo se odpre nova stran s spletnim obrazcem,

34 3.2. NAVODILA ZA ADMINISTRATORJE 21 Slika 3.15: Pregled uporabnikov kjer je možno spremeniti polja kratek opis, opis in polje Default algorithm, ki označuje ali algoritem spada v skupino standardnih algoritmov. S klikom na povezavo Delete je možno izbrisati izbrani algoritem. Odpre se nova stran, kjer je potrebno potrditi izbris s klikom na gumb Delete. Slika 3.16: Pregled algoritmov

35 22 POGLAVJE 3. NAVODILA ZA UPORABO SISTEMA Pregled skupin algoritmov S klikom na povezavo Groups se odpre spletna stran Pregled skupin algoritmov (glej odstavek Pregled skupin algoritmov ). Administratorjem sta na voljo še dve dodatni povezavi: uredi in izbriši (slika 3.17). S klikom na povezavo Edit se odpre spletna stran z obrazcem, ki vsebuje enaka polja kot obrazec za dodajanje skupin algoritmov. Urejanje se zaključi s klikom na gumb Edit. Izbrano skupino algoritmov je možno izbrisati s klikom na povezavo Delete. Pred izbrisom je potrebno potrditi izbiro s klikom na gumb Delete. Pri izbrisu skupine algoritmov, se hkrati izbrišejo tudi vsi oddani algoritmi, ki pripadajo tej skupini algoritmov. Slika 3.17: Administratorski pregled skupin Dodajanje nove skupine algoritmov S klikom na povezavo Add new group na administratorjevi plošči se odpre stran s spletnim obrazcem za dodajanje novih skupin algoritmov (slika 3.18). Potrebno je izpolniti dve obvezni polji: ime skupine algoritmov in polje za dodajanje datotek. Polje opis ni obvezno. Pri vsakem dodajanju novih skupin algoritmov je potrebno oddati naslednje datoteke (primere vseh potrebnih datotek najdemo v mapi ZipTest ): datoteka meta.dat ; program za testiranje algoritmov;

36 3.2. NAVODILA ZA ADMINISTRATORJE 23 Slika 3.18: Dodajanje nove skupine algoritmov morebitne testne datoteke, ki so potrebne za delovanje programa za testiranje algoritmov; vmesnik za algoritme. Datoteka meta.dat Datoteka meta.dat vsebuje osnovne podatke o skupini algoritmov. V prvih vrsticah mora vsebovati opise rezultatov ločene z novimi vrsticami. Nato mora slediti prazna vrstica in ime programa za testiranje algoritmov, ter nova prazna vrstica in ime vmesnika. Primer datoteke meta.dat: Time (in milliseconds) Compress rate

37 24 POGLAVJE 3. NAVODILA ZA UPORABO SISTEMA ZipTest.jar Zip.java Program za testiranje algoritmov Program, ki testira in ocenjuje oddane algoritme ter nato vpiše rezultate testiranja v podatkovno bazo. Zahteve katere mora izpolniti vsak program za testiranje algoritmov najdemo v odstavku 4.2 Zahteve programa za testiranje algoritmov. Testne datoteke Oddati je potrebno vse datoteke, ki jih program za testiranje algoritmov morebiti potrebuje. Vmesnik Vmesnik, ki definira vse potrebne metode, katere mora implementirati vsak oddani algoritem Ponovno testiranje vseh algoritmov S klikom na povezavo Re-Test se odpre spletna stran za potrditev izbrane izbire. Administrator lahko potrdi izbiro s klikom na gumb Re-Test. Ponovno testiranje algoritmov lahko traja dlje časa. Čas izvajanja je odvisen od števila in zahtevnosti vseh algoritmov Oddaja algoritmov z administratorskim računom Uporabniki z administratorskimi pravicami oddajajo algoritme enako kot ostali uporabniki (glej odstavek Oddaja algoritmov ). Pri tem imajo še dodatno možnost, da oddani algoritem označijo za standardnega. To lahko storijo tako, da v spletnem obrazcu (slika 3.19) odkljukajo polje Default algorithm. Za administratorje prav tako veljajo enaka pravila glede priloženih datotek.

38 3.2. NAVODILA ZA ADMINISTRATORJE 25 Slika 3.19: Administratorsko dodajanje algoritmov

39 26 POGLAVJE 3. NAVODILA ZA UPORABO SISTEMA

40 Poglavje 4 OCENJEVANJE KAKOVOSTI ALGORITMOV 4.1 Postopek testiranja algoritmov Za ocenjevanje kakovosti algoritmov v spletni aplikaciji skrbi poseben program imenovan program za testiranje algoritmov. Za vsako skupino algoritmov se ta program razlikuje od ostalih. Na ta način lahko ocenjujemo zelo različne vrste oziroma skupine algoritmov. Vse te programe pa mora sprogramirati in dodati v sistem administrator sam. Da to ne bi bila prezahtevna naloga mu je v pomoč abstraktni razred Tester, ki definira vse potrebne metode za pripravo algoritma na testiranje. Samo testiranje oziroma ocenjevanje algoritmov poteka po vnaprej določenemu vrstnemu redu. Najprej uporabnik na spletni strani izpolni obrazec in doda svoj program oziroma algoritem ter klikne na gumb Submit. Spletna aplikacija nato preveri vsebino obrazca in če ne najde nobenih napak v podatkovno bazo shrani nov objekt tipa algoritem. Sledi kopiranje vseh potrebnih datotek za delovanje programa za testiranje algoritmov v novo mapo, katere pot je določena v nastavitvah sistema. V to mapo se kopirajo vse datoteke, ki se nahajajo v mapi skupine algoritmov, kateri novi objekt pripada, uporabnikov program, ter datoteke iz mape 27

41 28 POGLAVJE 4. OCENJEVANJE KAKOVOSTI ALGORITMOV additional resources. Nato strežnik zažene nov sistemski proces v katerem se izvede tisti program za testiranje algoritmov, ki ga določa skupina algoritmov. Programu doda še prvi argument, ki je enak id -ju algoritma. Program za ocenjevanje algoritmov iz podatkovne baze prebere ime uporabnikovega programa, katerega tudi prevede. Če med prevajanjem ne pride do nobenih napak program naloži vse razrede, ki jih uporabnikov algoritem potrebuje. Ti razredi oziroma njihovi objekti se nato uporabijo v samem ocenjevanju kakovosti algoritma. Do te stopnje, so bili vsi koraki enaki za vse programe različnih skupin algoritmov. Za vse te korake poskrbi že abstraktni razred Tester sam. Sledijo koraki, ki so lahko pri vsaki skupini algoritmov različni. Ti koraki predstavljajo samo testiranje algoritma, ki se odvija v posebni metodi test(), katero mora definirati vsak program za testiranje algoritmov. V tej metodi lahko skrbnik sistema implementira želeno testiranje. Testiranje je lahko kakršnokoli, edina omejitev je število kriterijev oziroma rezultatov, ki ocenjujejo nek algoritem. Na voljo ima največ deset številskih mest za rezultate. Vse načine testiranja pa mora opisati oziroma sprogramirati sam. Na koncu mora zapisati rezultate v pravilnem vrstnem redu, da ti sovpadajo z opisi rezultatov, ki so nastavljeni ob ustvaritvi skupine algoritmov. Primer takšne implementacije testiranja je program ZipTest (priloga 7.1). Program je namenjen testiranju algoritmov za brezizgubno stiskanje podatkov. Program najprej preusmeri vse podatkovne tokove v začasno datoteko. To stori zato, da na strežnikov standardni izhod ne prihajajo stvari iz uporabnikovega programa. Nato s pomočjo naloženega objekta algoritma katerega testira, pokliče njegovo metodo compress, katera predstavlja samo stiskanje podatkov. Kot argument doda vnaprej določeno testno datoteko, pred tem pa si še zabeleži čas. Prav tako si zabeleži čas ob koncu izvajanja metode in tako dobi čas izvajanja algoritmovega stiskanja podatkov. Nato preveri velikost izhodne datoteke uporabnikove metode compress in s tem izračuna stopnjo

42 4.2. ZAHTEVE PROGRAMA ZA TESTIRANJE ALGORITMOV 29 stiskanja. Potem pokliče še algoritmovo metodo uncompress, ter preveri če se izhodna datoteka ujema z originalno datoteko. Na koncu zapiše stanje in rezultate v podatkovno bazo. V polje status zapiše Done če se je izvajanje uspešno izvedlo in če algoritem ustreza vsem pogojem. V nasprotnem primeru v polje status zapiše napako do katere je prišlo med izvajanjem. Nato v polje result1 vpiše čas izvajanja stiskanja podatkov, v polje result2 pa stopnjo stiskanja. S tem se izvajanje programa za testiranje algoritmov zaključi. Zatem spletna aplikacija najprej preveri izhodno stanje, ki ga vrne podproces. Če je prišlo do notranje napake med izvajanjem samega programa, aplikacija izbriše objekt algoritem in vse njegove datoteke na strežniku, uporabniku pa prikaže spletno stran z obvestilom o napaki. Če pa je prišlo do napake med prevajanjem ali pa algoritem ni izpolnjeval vseh zahtev, aplikacija prav tako izbriše objekt in datoteke, ter prikaže spletno stran z opisom napake. Morebitno napako aplikacija odkrije z vpogledom v polje status v podatkovni bazi. V primeru, da se je izvajanje programa uspešno zaključilo in da je testirani algoritem izpolnil vse zahteve, se uporabniku prikaže stran z rezultati (odstavek Stran algoritma ). Aplikacija iz podatkovne baze prebere vsa polja z rezultati algoritmov, ki pripadajo isti skupini algoritmov kot oddani algoritem ter jih prikaže v razpredelnici. Rezultati so urejeni glede na vrednost prvega kriterija v naraščajočem vrstnem redu. Algoritmi, ki pripadajo zbirki standardnih algoritmov so obarvani rdeče. Spodaj pod razpredelnico se nahaja tudi stolpičasti graf, ki prikazuje vrednosti prvega kriterija vseh algoritmov, ki pripadajo isti skupini algoritmov. 4.2 Zahteve programa za testiranje algoritmov Program mora biti v napisan v programskem jeziku Java in oddan v formatu.jar. Program mora razširiti abstraktni razred Tester (datoteka Te-

43 30 POGLAVJE 4. OCENJEVANJE KAKOVOSTI ALGORITMOV ster.java je dostopna v mapi Alg/additional resources ) in mora definirati abstraktno metodo test(). Metoda test() je glavna metoda sistema saj v njej poteka testiranje in ocenjevanje drugih algoritmov. V tej metodi je potrebno klicati metode algoritmov, ki se testirajo in jih kasneje tudi natančno opisati v vmesniku, katerega je potrebno priložiti programu. Poskrbeti je potrebno za pravilno delovanje teh metod, ter ocenit samo kakovost izvajanja (na primer: čas izvajanja ali poraba pomnilnika). Na koncu je potrebno nastaviti atributa results in status. V pomoč metodi test() so na voljo naslednje metode abstraktnega razreda Tester: statuserror(), getid(), getcompileresult(), getstatus(), getalgclass(), getalgobject(), getrootdir(), setresults(string[] results) in set- Status(String[] status). Vse naštete metode so opisane v odstavku Abstraktni razred Tester. V programu je potrebno definirati tudi konstruktor, ki sprejme niz id, ter v njem kliče metodo super(id). Prav tako je potrebno definirati metodo main() v kateri mora program ustvariti objekt svojega tipa z atributom id katerega program dobi kot prvi argument metode main(). Preveriti je potrebno, če so vsi atributi pravilno nastavljeni. To se da preveriti s klicem metode t.statuserror(), ki vrne False, če ni prišlo do nobenih napak. Nato je potrebno poklicati metodi test() in writeresults(). Prav tako je v programu potrebno poskrbeti za vse možne izjeme in napake, ki bi lahko nastale med testiranjem algoritmov. Priporočljivo je, da v metodi test() nastavimo maksimalen čas izvajanja algoritma, katerega lahko potem tudi prekinemo če je to potrebno. Prav tako je tudi priporočljivo, da pred samim začetkom izvajanja programa preusmerimo podatkovne tokove, saj v nasprotnem primeru, če karkoli zaide na standardni izhod, sistem javi napako: Internal error. Primer programa za testiranje algoritmov, ki izpolnjuje vse dane zahteve najdemo v prilogi (priloga 7.1). Za pravilno delovanje razreda Tester je potrebno programu dodati

44 4.3. ZAHTEVE ZA ODDANE ALGORITME 31 knjižnico MYSQL Connector J, ki je dostopna v mapi Alg/additional resources/lib. 4.3 Zahteve za oddane algoritme Oddani program, ki definira uporabnikov algoritem mora biti napisan v programskem jeziku Java, ter mora biti oddan v eni sami datoteki tipa.java, ki ne sme biti večja od maksimalne predpisane veličine. Program mora implementirati vmesnik, ki je natančno določen pri vsaki skupini algoritmov in je dostopen ter natančno opisan na strani vsake skupine algoritmov. To pomeni, da mora uporabnik v svojem programu natančno definirati vse metode, katere predpisuje dani vmesnik. Te metode natančno opisujejo tudi vhodne in izhodne podatke algoritma. V teh metodah mora uporabnik implementirati vse korake svojega algoritma. Primer zelo preprostega algoritma za brezizgubno stiskanje podatkov, ki zadostuje vsem zahtevam, ki jih določa vmesnik te skupine algoritmov, najdemo v mapi MyZip (datoteka MyZip.java ).

45 32 POGLAVJE 4. OCENJEVANJE KAKOVOSTI ALGORITMOV

46 Poglavje 5 IMPLEMENTACIJA 5.1 Splošno o aplikaciji Spletna aplikacija je večinoma napisana v programskem jeziku Python in deloma v programskem jeziku Java. Strežniški del, ki skrbi za izmenjavo spletnih zahtev sloni na ogrodju Django in je v celoti napisan v programskem jeziku Python. Del, ki testira same algoritme pa je napisan v programskem jeziku Java. Oba dela sistema uporabljata relacijsko podatkovno bazo MySQL. 5.2 O Djangu Django je odprtokodno ogrodje za izdelovanje spletnih aplikacij napisano v programskem jeziku Python. Namenjen je poenostavitvi izdelovanja zapletenih spletnih aplikacij. Django zagovarja hiter razvoj, programiranje s čim manj programske kode in s čim manj ponavljanja, čim večjo abstrakcijo, ter popolno neodvisnost med posameznimi plastmi ogrodja. Ogrodje bazira na arhitekturi MVC (model-view-controller) oziroma modelpogled-krmilnik, vendar pa Django uporablja malce drugačno poimenovanje: MTV (model-template-view) oziroma model-predloga-pogled. 33

47 34 POGLAVJE 5. IMPLEMENTACIJA Pogled predstavlja povratno funkcijo, ki točno določenim naslovom URL preslika podatke. Ti podatki se potem prikažejo v obliki katero določi predloga. Model pa opisuje, kako so podatki shranjeni. Vse podatke lahko predstavimo kot objekte v programskem jeziku Python, saj Django avtomatsko nudi preslikavo med Pythonovimi objekti in relacijskimi bazami. 5.3 Podatkovna baza Program uporablja Djangove tabele za avtentikacijo in sejo. Glavni tabeli v sistemu pa predstavljata tabeli algoritem in skupina algoritmov. Shema baze je predstavljena v sliki Algoritem Tabela algoritem vsebuje polja: primarni ključ id ; časovno polje datum oddaje algoritma; ime algoritma; tuji ključ avtor algoritma (kaže na tabelo uporabnikov); tuji ključ skupina algoritma (kaže na tabelo skupine algoritmov); polje ki označuje standardne algoritme; kratek opis; opis; status; pot do naložene datoteke; deset številskih polj za rezultate.

48 5.4. IMPLEMENTACIJA STREŽNIKA Skupina algoritmov Tabela skupina algoritmov vsebuje polja: primarni ključ id ; ime skupine; opis; polje za naložene datoteke; ime testnega programa; ime vmesnika; deset črkovnih polj za opise rezultatov. 5.4 Implementacija strežnika Kot že omenjeno je strežniški del implementiran s pomočjo ogrodja Django. Programiranje sistema smo razdelili na štiri dele ( apps ): frontend, account, admin in algorithm. Front end mapa Alg/alg/frontend Skrbi za zunanjo podobo spletne aplikacije. Definira osnovni izgled strani ter vsebuje pogleda za domačo stran in stran o sistemu. Hrani tudi vse statične datoteke. Pogledi (datoteka views.py ): class HomeView - pogled za domačo stran; class AboutView - pogled za stran o sistemu. Predloge (mapa templates ): plain - osnovni izgled strani. Vse strani razširjajo to datoteko;

49 36 POGLAVJE 5. IMPLEMENTACIJA Slika 5.1: Shema baze

50 5.4. IMPLEMENTACIJA STREŽNIKA 37 forms - izgled spletnih obrazcev; home in about - izgled domače strani in strani o sistemu. Vsebuje tudi mapo static s statičnimi datotekami kjer se nahajajo mape: Slike, datoteke CSS, datoteke Javascript in mapa z vmesniki. Account mapa Alg/alg/account Skrbi za registracijo in uporabnikovo stran s profilom. Za prijavo in odjavo skrbi Django sam. Definira izglede uporabnikove strani, registracijo, prijavo in odjavo. Pogledi (datoteka views.py ): class RegistrationView - pogled, ki preverja spletne obrazce za registracijo in ustvarja nove uporabnike v podatkovni bazi; class ProfileView - pogled za uporabnikovo stran s profilom. Predloge (mapa templates ): user - izgled uporabnikove strani; registration, login - izgled strani registracija in prijava (razširja form). Datoteka forms.py : class RegistrationForm - razred, ki ustvari spletni obrazec za registracijo. Admin mapa Alg/alg/admin Skrbi za administracijo sistema. Vsebuje poglede administratorjeve plošče in skrbi za dodajanje novih skupin algoritmov. Pogledi (datoteka views.py ): class MainView - pogled za stran z administratorjevo ploščo; class UserListView - pogled, ki v podatkovni bazi poišče vse uporabnike;

51 38 POGLAVJE 5. IMPLEMENTACIJA class AlgorithmListView - pogled, ki v podatkovni bazi poišče vse algoritme; class AddGroupView - pogled, ki preverja spletne obrazce za dodajanje novih skupin algoritmov in ustvarja nove skupine; ReTestView - pogled za ponovno testiranje algoritmov. Kliče metodo retest(); setinterface(group,name) - metoda, ki ustvari novo mapo z vmesnikom skupine v mapi static/interfaces ; setadditionalinfo(id) - metoda, ki v podatkovni bazi nastavi ime programa za testiranje algoritmov in ime vmesnika; retest() - metoda, ki na novo testira vse algoritme. Predloge (mapa templates ): admin home - izgled strani z administratorjevo ploščo; add new group - izgled strani za dodajanje novih algoritmov (razširja file form). Datoteka forms.py : class AddGroupForm - razred, ki ustvari spletni obrazec za dodajanje novih skupin algoritmov. Algorithm mapa Alg/alg/algorithm Skrbi za delovanje aplikacije z algoritmi. Definira objekta algoritem in skupina algoritmov. Prav tako skrbi za klicanje programov za testiranje algoritmov. Definira izglede strani algoritmov in predstavo rezultatov v razpredelnicah in grafih. Modeli (datoteka models.py ):

52 5.4. IMPLEMENTACIJA STREŽNIKA 39 class Algorithm - model, ki predstavlja algoritem (vsebovana polja so opisana v pododstavku Algoritem odstavka 5.3 Podatkovna baza ); class AlgorithmGroup - model, ki predstavlja skupino algoritmov (vsebovana polja so opisana v pododstavku Skupina algoritmov odstavka 5.3 Podatkovna baza ); class RestrictedFileField - Polje za dodajanje datotek z omejitvami. Razred tudi definira vse omejitve; setdata() - metoda, ki pokliče program za testiranje algoritmov; get upload folder(instance, filename) - metoda, ki vrne pot do mape, kamor se shranjujejo naložene datoteke; copydata(path1, path2, path3, destination) - metoda, ki skopira vse datoteke v mapah path1, path2 in path 3 v mapo destination. Pogledi (datoteka views.py ): class MainView - pogled, ki v podatkovni bazi poišče vse skupine algoritmov; class groupview - pogled za skupino algoritmov; class grouplistview - pogled, ki v podatkovni bazi poišče vse algoritme, ki pripadajo določeni skupini algoritmov; class SubmitAlgorithmView - pogled, ki preverja spletne obrazce za dodajanje novih algoritmov in ustvarja nove algoritme; class UserAlgorithmsView - pogled, ki v podatkovni bazi poišče vse algoritme, ki pripadajo določenemu uporabniku; class AlgorithmView - pogled, ki v podatkovni bazi poišče vse algoritme, ki pripadajo isti skupini kot določeni algoritem;

53 40 POGLAVJE 5. IMPLEMENTACIJA class EditGroupView - pogled za urejanje skupin algoritmov (preverja spletne obrazce in ureja skupine); class EditAlgorithmView - pogled za urejanje algoritmov (preverja spletne obrazce in ureja algoritme); class DeleteAlgorithmView - pogled za izbris algoritmov; class DeleteGroupView - pogled za izbris skupin algoritmov; metoda get content() - metoda, ki iz datoteke error.log prebere napake in jih vrne; deletedirectory(name) - metoda, ki izbriše mapo algoritma z imenom podanim kot argument; rename(oldname, newname) - metoda, ki preimenuje mapo skupine algoritmov iz starega imena v novega, podanega kot drugi argument. Predloge (mapa templates ): algorithm - izgled strani algoritma, vključno s tabelami in grafi; group - izgled strani skupina algoritmov; error - izgled strani, ki prikazuje napake. Datoteka forms.py : class SubmitForm - razred, ki ustvari spletni obrazec za dodajanje novih algoritmov. Datoteka results.py (nahaja se v mapi templatetags ): getatributes(context) - metoda, ki vrne vse opise rezultatov določene skupine; get results(context) - metoda, ki vrne vse rezultate določenega algoritma;

54 5.5. IMPLEMENTACIJA TESTIRANJA ALGORITMOV 41 get table(context) - metoda, ki vrne tabelo z rezultati vseh algoritmov ; get algorithm url(name) - metoda, ki vrne povezavo do določenega algoritma. Poleg tega aplikacija vsebuje še datoteke: settings.py - datoteka z nastavitvami sistema; urls.py - datoteka, ki vsebuje spremenljivko urlpatterns, ki definira vse možne naslove URL; wsgi.py - konfiguracijska datoteka za delovanje s strežnikom Apache. 5.5 Implementacija testiranja algoritmov Za samo testiranje algoritmov skrbi poseben program napisan v programskem jeziku Java. Za vsako skupino algoritmov se ta program razlikuje od ostalih, vsi pa so podrazredi abstraktnega razreda Tester. Programi morajo implementirati abstraktno metodo test(), konstruktor in metodo main(), kot je zapisano v odstavku 4.2 Zahteve programa za testiranje algoritmov. Za vse ostalo poskrbi Tester sam Abstraktni razred Tester datoteka Tester.java (ki se nahaja v mapi Alg/additional resources ). Razred tester vsebuje atribute: id, scriptname, compileresult, status, algclass, algobject, results, rootdir, jdkpath, dbname, username, password in url. Razred Tester vsebuje javne metode: public Tester(String id)- konstruktor, ki iz datoteke setting.dat nastavi atribute potrebne za povezavo s podatkovno bazo. Nato glede na

55 42 POGLAVJE 5. IMPLEMENTACIJA dani id v podatkovni bazi poišče ime programa ter ga na koncu tudi prevede ter nastavi atribute algclass in algobject. Če med izvajanjem metode ni prišlo do napake na koncu zapiše v atribut status vrednost OK ; public boolean statuserror() - metoda, ki vrne True če je vrednost atributa status OK, če ni, vrne False ; public void writeresults() - metoda, ki zapiše vrednosti polja results in status v podatkovno bazo; public String getid() - metoda, ki vrne vrednost atributa id; public int getcompileresult() - metoda, ki vrne vrednost atributa compileresult, če je vrednost atributa 0 pomeni, da se je prevajanje zaključilo brez napak; public String getstatus() - metoda, ki vrne vrednost atributa status; public Class getalgclass() - metoda, ki vrne razred testirajočega algoritma; public Object getalgobject() - metoda, ki vrne objekt testirajočega algoritma; public String getrootdir() - metoda, ki vrne vrednost atributa rootdir; public void setstatus(string status) - metoda, ki nastavi vrednost atributa status glede na podani argument; public void setresults(string[] results)- metoda, ki nastavi vrednost atributa results glede na podani argument. privatne metode: private String getscriptname() - metoda, ki v bazi preveri ime algoritma, ki se trenutno testira in ga na koncu tudi vrne;

56 5.5. IMPLEMENTACIJA TESTIRANJA ALGORITMOV 43 private Connection connecttodb() - metoda, ki se poveže s podatkovno bazo in vrne povezavo; private int compilescript() - metoda, ki prevede program algoritma, ki se trenutno testira. Če se prevajanje zaključi brez napak vrne 0, sicer pa neničelno število, ter hkrati zapiše napako v datoteko error.log ; private Class getalgoclass() - metoda, ki naloži in vrne vse razrede testirajočega programa. Razrede najde preko metode findclasses() in jih naloži z uporaba razreda MyClassLoader; private List String findclasses() - metoda, ki poišče vse datoteke tipa.class. in abstraktno metodo: abstract void test() - abstraktna metoda, ki dejansko poskrbi za ocenjevanje algoritmov. Definirati jo morajo vsi podrazredi razreda Tester. Datoteka Tester.java prav tako vsebuje tudi razred MyClassLoader, ki je podrazred razreda java.lang.classloader. Vsebuje metodi: public MyClassLoader(String loadfolder, List String restrict) - konstruktor, ki nastavi atributa loadfolder in restrict; public Class loadclass(string name) - metoda, ki naloži razred z imenom podanim kot argument te metode program ZipTest datoteka ZipTest.java (ki se nahaja v mapi ZipTest ) ZipTest je podrazred razreda Tester, ki testira in ocenjuje algoritme za brezizgubno stiskanje podatkov. Med testiranjem preveri, če je izhodna datoteka razširjanja enaka originalni datoteki, ter nato poda hitrost (v mili sekundah) in stopnjo stiskanja. Program je priložen v prilogi 7.1. ZipTest vsebuje metode:

57 44 POGLAVJE 5. IMPLEMENTACIJA public ZipTest(String id) - konstruktor; public static void main(string[] args) - metoda main, ki ustvari objekt tipa ZipTest z atributom id podanim kot prvim argumentom. Nato spremeni podatkovne tokove za standardni izhod in standardni izhod za napake. Zatem pokliče metodo test(), ponastavi podatkovne tokove, ter na koncu pokliče metodo writeresults(), ki zapiše rezultate v podatkovno bazo; void test() - metoda, ki oceni dani algoritem za stiskanje (katerega program testira). Najprej pokliče algoritmovo metodo compress() in meri čas njenega izvajanja zatem pa še izmeri dolžino dobljene datoteke. Nato pokliče algoritmovo metodo uncompress(), ter preveri, če sta dobljena datoteka in originalna datoteka enaki. Če se postopek zaključi brez napak metoda nastavi atribut results z rezultati testiranja (čas izvajanja in stopnja stiskanja), ter atribut status na Done. Ob napaki (na primer če metoda uncompress ne obstaja, ali pa vrne napačno datoteko) pa metoda v atribut status zapiše opis napake; private static boolean samefile(file testfile, File outputfile) - metoda, ki vrne True če sta podani datoteki v argumentu enaki. Če nista metoda vrne False.

58 Poglavje 6 SKLEPNE UGOTOVITVE Definirali smo pojem algoritem, ter predstavili, kako smo ga poenostavili in implementirali v našem sistemu, ter ga nato uporabili pri samem testiranju in ocenjevanju. Ustvarili smo sistem, ki lahko testira najrazličnejše vrste algoritmov. Uspešno smo realizirali vse zastavljene cilje. Sistem je dovolj robusten in prilagodljiv, kar pa ne vpliva na zapletenost uporabe. Spletna aplikacija je tako enostavna in prijazna do uporabnikov. Sistem je zaradi zmožnosti ponovnega testiranja vseh algoritmov hkrati tudi prenosljiv. Implementirali smo program za testiranje in ocenjevanje kakovosti algoritmov za brezizgubno stiskanje podatkov in ga tudi uspešno umestili v sam sistem. 45

59 46 POGLAVJE 6. SKLEPNE UGOTOVITVE

60 Poglavje 7 PRILOGE 7.1 Program ZipTest Program ZipTest za testiranje brezizgubnih algoritmov za stiskanje. Priloga 7.1: ZipTest import java.io.file; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.printstream; import java.lang.reflect.invocationtargetexception; import java.lang.reflect.method; import java.util.nosuchelementexception; import java.util.scanner; import java.util.logging.level; import java.util.logging.logger; /** * Martin */ public class ZipTest extends Tester { 47

61 48 POGLAVJE 7. PRILOGE // Every program for algortihm testing must define constructor containing "super(id)" public ZipTest(String id) { super(id); } public static void main(string[] args) { // Every program for algortihm testing must create its own object and then check for status errors. If there are no errors, program must then call method test() and at the end method writeresults() // It is also advisable to redirect output streams ( Internal error will raise, if anything comes to output stream during the program execution). PrintStream origout = System.out; PrintStream origerr = System.err; ZipTest t = new ZipTest(args[0]); if (!t.statuserror()) { try { PrintStream stdout = new PrintStream(new FileOutputStream(t.getRootDir() + "output.log ")); PrintStream stderr = new PrintStream(new FileOutputStream(t.getRootDir() + "error.log ")); System.setOut(stdout); System.setErr(stderr); } catch (FileNotFoundException ex) { Logger.getLogger(ZipTest.class.getName()).log( Level.SEVERE, null, ex); } t.test(); System.setOut(origOut); System.setErr(origErr); } t.writeresults(); }

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: 17.07.2013 Ver. 2.9.1.2 Spletni portal članov uporabniška navodila

Prikaži več

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX 3.5 1. Dodajanje uporabnikov vajexx v skupino Vaje 2. Kopiranje Win2003 strežnika in registracija na

Prikaži več

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski naslov: podpora@coks.si

Prikaži več

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574

Prikaži več

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte Navodila za uporabo programske opreme OTRS verzija 2.2.3 Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev INTRANET - DETEKTIV Detektivska zbornica Republike Slovenije Pozdravljeni, v kratki predstaviti in navodilih za delo z intranet sistemom Detektiv. Intranet članom Detektivske zbornice RS omogoča, da: -

Prikaži več

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk 1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatkov in njihov prenos med spletnimi mesti. Obrazec v

Prikaži več

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: +386 1 729 6 460 Faks.: +386 1 729 6 466 www.nevtrin.si info@elektrina.si USB RFID READER Navodila za uporabo?

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M17178111* SPOMLADANSKI IZPITNI ROK Izpitna pola 1 Četrtek, 1. junij 2017 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Microsoft Word - M _mod..docx

Microsoft Word - M _mod..docx Državni izpitni center *M17278113* JESENSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Ponedeljek, 28. avgust 2017 SPLOŠNA MATURA Državni izpitni center Vse pravice pridržane. M172-781-1-3 2 IZPITNA POLA 1 1

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8 Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8 Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...

Prikaži več

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik CNR-BTU3 Bluetooth vmesnik A. Vsebina pakiranja Bluetooth USB Adapter Bluetooth programska oprema in CD z gonilniki Navodila za uporabo in CD 1. Namestitev Bluetooth programske opreme za Windowse 1. Vstavite

Prikaži več

NETGEAR R6100 WiFi Router Installation Guide

NETGEAR R6100 WiFi Router Installation Guide Blagovne znamke NETGEAR, logotip NETGEAR in Connect with Innovation so blagovne znamke in/ali registrirane blagovne znamke družbe NETGEAR, Inc. in/ali njenih povezanih družb v ZDA in/ali drugih državah.

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev TIK terminal nima povezave s strežnikom Ob vpisu v TIK Admin se pojavi napis ni povezave s strežnikom Na terminalu je ikona 1. preverimo ali je pravilno nastavljen IP strežnika 1. Preverimo datoteko TIKSAdmin.INI

Prikaži več

(Microsoft Word - MSDN AA Navodila za \232tudente FS.doc)

(Microsoft Word - MSDN AA Navodila za \232tudente FS.doc) 1. Pogoji uporabe programske opreme Pred uporabo programske opreme iz programa MSDNAA morate prebrati in se strinjati s pogoji in določili Licenčne pogodbe za končnega uporabnika programske opreme MSDN

Prikaži več

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta 1.0 22.11.2013 Prva verzija dokumenta 1.1 15.04.2015 Dodana možnost

Prikaži več

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje

Prikaži več

PowerPoint Presentation

PowerPoint Presentation SAFE.SI VODIČ Nastavitve zasebnosti in varnosti na Instagramu 2017/1 Nastavitev zasebnega računa Račun na Instagramu je privzeto nastavljen tako, da lahko objave vidi vsakdo. Zato moramo nastavitve zasebnosti

Prikaži več

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr NAVODILA ZA UPORABO Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta in jih shranite za prihodnjo rabo Vsebina 1. Pregled 2. Sistem 3. Prednosti 4. Upravljanje

Prikaži več

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se velikokrat zmoti. Na srečo piše v programu Microsoft

Prikaži več

APS1

APS1 Algoritmi in podatkovne strukture 1 Visokošolski strokovni študij Računalništvo in informatika Abstraktni podatkovni tipi Jurij Mihelič, UniLj, FRI Podatkovni tipi Razvil Pascal, Oberon itd. Software is

Prikaži več

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI IZUM, 2015 COBISS, COMARC, COBIB, COLIB, IZUM so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod... 1 2 Uporaba tiskalnika...

Prikaži več

Zadeva: Ponudba

Zadeva: Ponudba Navodila za urejanje Spletne strani CTEK.si 1. Dodajanje novega polnilnika Za dodajanje novega polnilnika nikoli ne prepisujte že objavljenih vsebin, ampak sledite tem navodilom. Ta so zagotovilo, da bodo

Prikaži več

Navodila Trgovina iCenter

Navodila Trgovina iCenter Napredovanja v plačne razrede javnih uslužbencev 2019 S pomočjo SAOP programa Kadrovska evidenca lahko ob dokupljeni kodi vodimo napredovanja javnih uslužbencev. Za napredovanja v letu 2019 je potrebno

Prikaži več

CODEKS IP KAMERA

CODEKS IP KAMERA CODEKS IP KAMERA uporabniška navodila Vse pravice pridržane. Noben del uporabniških navodil se ne sme reproducirati v kakršnikoli obliki ali na kakršen koli način - grafični, elektronski ali mehanski,

Prikaži več

NETGEAR R6250 Smart WiFi Router Installation Guide

NETGEAR R6250 Smart WiFi Router Installation Guide Blagovne znamke NETGEAR, logotip NETGEAR in Connect with Innovation so blagovne znamke in/ali registrirane blagovne znamke družbe NETGEAR, Inc. in/ali njenih povezanih družb v ZDA in/ali drugih državah.

Prikaži več

Strojna oprema

Strojna oprema Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT

Prikaži več

Microsoft Word - IPIN slovenska navodila za pridobitev

Microsoft Word - IPIN slovenska navodila za pridobitev IPIN MEDNARODNA IDENTIFIKACIJSKA ŠTEVILKA IGRALCA Spoštovani igralec tenisa! Vsak, ki želi igrati na tekmovanjih pod okriljem mednarodne teniške zveze (ITF), mora pridobiti mednarodno identifikacijsko

Prikaži več

Navodilo Telemach

Navodilo Telemach Nastavitve za: MOJ TELEMACH Registracija: Na spletni strani Moj Telemach (http://moj.telemach.si) se pomaknite na spodnji del strani in pritisnite gumb REGISTRIRAJ SE. 1. korak Odpre se novo okence, kamor

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomočjo aplikacije Outlook, katero lahko prenesete s pomočjo trgovine App Store. Ko aplikacijo zaženete se vam pojavi naslednje

Prikaži več

Vaja04_Ver02

Vaja04_Ver02 Vaja 04 Varnost: Zaščita aplikacije, omejitev dostopa 1. Uredite prijavo in odjavo uporabnika brez uporabe menuja Special/Security. Nadgradite aplikacijo iz vaje 2. Kreirajte okno tipa Replace Začetno

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : ržavni izpitni center *M15178112* SPOMLNSKI IZPITNI ROK Izpitna pola 2 Četrtek, 4. junij 2015 / 90 minut ovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, 12.11.2018 Verzija 1.0 KAZALO 1 REGISTRACIJA... 3 1.1 Katere podatke potrebujem za registracijo/kreiranje

Prikaži več

Microsoft PowerPoint - Objekti_gradnja.ppt

Microsoft PowerPoint - Objekti_gradnja.ppt Naredimo razred Katera so stanja/lastnosti Kaj hočemo o objektih te vrste vedeti Kakšne lastnosti imajo Katere so metode Kakšno je znanje objektov Na katere ukaze se odzovejo Način predstavitve lastnosti

Prikaži več

Navodila za študente

Navodila za študente Moodle UM Verzija 3.5.1 Navodila za študente RCUM, Služba za IS Maribor, 2019 Kazalo 1 Prijava v Moodle UM... 3 2 Odjava iz Moodla UM... 3 3 Seznam učnih enot... 4 4 Navigacijski trak... 4 5 Bloki... 5

Prikaži več

Microsoft Word - eDenar - navodila za uporabo osebnega portala clana doc

Microsoft Word - eDenar - navodila za uporabo osebnega portala clana doc Navodila za uporabo osebnega portala člana 13.11.08 Pozor: Ta navodila so le v pomoč uporabnikom. V kolikor so navodila v nasprotju s splošnimi pogoji poslovanja kluba, veljajo splošni pogoji poslovanja

Prikaži več

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, marec 2019 Vsebina 1 Dostop do aplikacije... 3 1.1 Android...

Prikaži več

INFORMATOR BIROKRAT 1/2011

INFORMATOR BIROKRAT 1/2011 ta Veleprodaja Maloprodaja Storitve Računovodstvo Proizvodnja Gostinstvo Turizem Hotelirstvo Ticketing CRM Internetna trgovina Izdelava internetnih strani Grafično oblikovanje NOVOSTI IN NASVETI ZA DELO

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

Razpis - podiplomski študij

Razpis - podiplomski študij RAZPIS ZA VPIS V DOKTORSKA ŠTUDIJSKA PROGRAMA 3. STOPNJE UNIVERZE NA PRIMORSKEM PEDAGOŠKE FAKULTETE V ŠTUDIJSKEM LETU 2016/2017 Za vpis v podiplomske doktorske študijske programe 3. stopnje v študijskem

Prikaži več

Slide 1

Slide 1 Projektno vodenje PREDAVANJE 7 doc. dr. M. Zajc matej.zajc@fe.uni-lj.si Projektno vodenje z orodjem Excel Predstavitev Najbolj razširjeno orodje za delo s preglednicami Dva sklopa funkcij: Obdelava številk

Prikaži več

Navodilo za urejanje zavarovanj po šifri podlage za zavarovanje 033 prek portala e-vem Ljubljana, oktober 2015

Navodilo za urejanje zavarovanj po šifri podlage za zavarovanje 033 prek portala e-vem Ljubljana, oktober 2015 Navodilo za urejanje zavarovanj po šifri podlage za zavarovanje 033 prek portala e-vem Ljubljana, oktober 2015 Kazalo vsebine 1. Pooblastilo za izvajanje postopkov prek portala e-vem... 4 2. Prijava v

Prikaži več

Chapter 1

Chapter 1 - 1 - Poglavje 1 Uvod v podatkovne baze - 2 - Poglavje 1 Cilji (Teme).. Nekatere domene, kjer se uporabljajo podatkovne baze Značilnosti datotečnih sistemov Problemi vezani na datotečne sisteme Pomen izraza

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Uporaba storitve Office 365 v napravi iphone ali ipad Priročnik za hiter začetek dela Ogled e-pošte Nastavite napravo iphone ali ipad tako, da boste lahko pošiljali in prejemali e-pošto iz računa v storitvi

Prikaži več

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX 3.5 1. Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nastavitve strežnika ESX 3. Namestitev in nastavitve VM

Prikaži več

Slajd 1

Slajd 1 REPUBLIKA SLOVENIJA MINISTRSTVO ZA JAVNO UPRAVO 1 EU ENOTNI DIGITALNI PORTAL: PRIHAJA NOVA EU UREDBA Alenka Žužek Nemec, Tina Kuliš DNEVI SLOVENSKE INFORMATIKE 18. april 2018 Ko podjetja ali državljani

Prikaži več

Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo ELEKTRONSKA REDOVALNICA RAZISKOVALNA NALOGA AVTORJI Aleš Budna Jure Ulaga

Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo ELEKTRONSKA REDOVALNICA RAZISKOVALNA NALOGA AVTORJI Aleš Budna Jure Ulaga Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo ELEKTRONSKA REDOVALNICA RAZISKOVALNA NALOGA AVTORJI Aleš Budna Jure Ulaga Nik Perčič MENTOR Dušan Fugina, prof. Celje, marec

Prikaži več

Datum in kraj

Datum in kraj Ljubljana, 5. 4. 2017 Katalog znanj in vzorci nalog za izbirni izpit za vpis na magistrski študij Pedagoško računalništvo in informatika 2017/2018 0 KATALOG ZNANJ ZA IZBIRNI IZPIT ZA VPIS NA MAGISTRSKI

Prikaži več

Microsoft Word - CN-BTU4 Quick Guide_SI

Microsoft Word - CN-BTU4 Quick Guide_SI Bluetooth Dongle Artikel: CN-BTU4 NAVODILA v1.0 Sistemske zahteve Zahteve za PC: - Proc.: Intel Pentium III 500MHz or above. - Ram: 256MB ali več. - Disk: vsaj 50MB. - OS: Windows 98SE/Me/2000/XP - Prost

Prikaži več

Linksys PLEK500 User Guide

Linksys PLEK500 User Guide Uporabniški priročnik Linksys PLEK500 Omrežni vmesnik Powerline Vsebina Pregled............... 2 Funkcije..................... 2 Kako deluje omrežje Powerline 3 Primer namestitve 3 Namestitev omrežja Powerline.....

Prikaži več

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati. 1. Preverite spletno stran Ta posnetek zaslona vam prikazuje, da morate v levem vrhnjem kotu preveriti, če se nahajate na pravi

Prikaži več

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefonih. Obstaja precej različic, sam pa sem sestavil meni

Prikaži več

RAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s

RAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s RAČUNALNIŠTVO VARNOSTNA KOPIJA IN SLIKA DISKA Aleš Ovsenek Uvajanje novih izobraževalnih programov v srednjem poklicnem in strokovnem izobraževanju s področja tehnike za obdobje 2008-2012. Operacijo delno

Prikaži več

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko UPORABLJENE TEHNOLOGIJE Za izdelavo predstavitvene spletne strani smo izbrali tehnologije, ki zagotavljajo: Hitro delovanje spletne

Prikaži več

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.:

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.: SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 75 31 33 www.conrad.si NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.: 75 31 33 KAZALO 1. PRIKLOP STROJNE OPREME...3 2. KONFIGURACIJA

Prikaži več

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc) MORSE UČENJE PO KOCHOVI METODI Računalniški program za učenje skupaj z nekaterimi dodatnimi datotekami dobite na spletni strani avtorja: http://www.g4fon.net/. Zanimive strani so tudi: - http://www.qsl.net/n1irz/finley.morse.html

Prikaži več

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - UP_Lekcija04_2014.docx 4. Zanka while Zanke pri programiranju uporabljamo, kadar moramo stavek ali skupino stavkov izvršiti večkrat zaporedoma. Namesto, da iste (ali podobne) stavke pišemo n-krat, jih napišemo samo enkrat in

Prikaži več

DNEVNIK

DNEVNIK POROČILO PRAKTIČNEGA USPOSABLJANJA Z DELOM PRI DELODAJALCU DIJAKA / DIJAKINJE. ( IME IN PRIIMEK) Izobraževalni program FRIZER.. Letnik:.. oddelek:. PRI DELODAJALCU. (NASLOV DELODAJALCA) Šolsko leto:..

Prikaži več

Microsoft Word - NAVODILA ZA UPORABO.docx

Microsoft Word - NAVODILA ZA UPORABO.docx NAVODILA ZA UPORABO VODILO CCM-18A/N-E (K02-MODBUS) Hvala ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shranite za prihodnjo rabo. Vsebina

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, 14. 03.2019 Verzija 1.1 KAZALO 1 NAMEN...3 2 REGISTRACIJA...4 3 VNOS GESLA IN AKTIVACIJA RAČUNA...6

Prikaži več

PowerApps

PowerApps ko tehnologija postane brezmejna strast Microsoft PowerApps Uporabniška navodila Avtorji Brina Gomboc, Lucija Kos, Damjana Krampač Mentorici dr. Simona Sternad Zabukovšek Sara Cokan, mag. ekon. in posl.

Prikaži več

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC Državni zbor v številkah 90 poslancev 9 + 1 poslanska skupina 150+ mobilnih naprav (OS Android, ios) 500+ internih uporabnikov, 650+ osebnih računalnikov, 1100+

Prikaži več

Microsoft PowerPoint - seminar_ pptx

Microsoft PowerPoint - seminar_ pptx Leatalske informacije in ARO Slovenia Control Igor Čučnik, ARO Aleš Omahne, NOTAM Uroš Grošelj, AIP Brnik, 12.5.2018 Letalske informacije AIP AIP AMDT AIP SUP AIC NOTAM Serija A, B in C VFR karta Spletna

Prikaži več

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje priročno programsko okolje tolmač interpreter (ne prevajalnik)

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev IZKUŠNJE PRI PRILAGODITVI E-STORITEV AJPES ZAHTEVAM EIDAS ZA ČEZMEJNO PRIZNAVANJE MARJAN BABIČ, AJPES Vsebina Razlogi za vključitev v projekt CEF Telecom Izvajalno okolje AJPES in način integracije s SI-PASS

Prikaži več

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA KATALOG ZNANJA 1. IME PREDMETA ZBIRKE PODATKOV I ZBIRKE PODATKOV II 2. SPLOŠNI CILJI Splošni cilji predmeta so: razvijanje sposobnosti za uporabo znanstvenih metod in sredstev, razvijanje odgovornosti

Prikaži več

CT_SLO_White Paper_ENG

CT_SLO_White Paper_ENG UPORABNIŠKI PRIROČNIK //COMTRADE/ UPORABNIŠKI PRIROČNIK ZA PORTAL IN VARNOSTNO SHEMO MIZKŠ Priročnik za ravnatelje Priročnik pokriva glavne akcije, ki jih ravnatelji opravljajo v Varnostni shemi: upravljanje

Prikaži več

Diapozitiv 1

Diapozitiv 1 Računalništvo in informatika Program: Mehatronika dr. Hubert Fröhlich, univ. dipl. el. Podatkovne baze 2 Podatkovne baze Podatki osnova za odločanje in izvajanje akcij tiskana oblika elektronska oblika

Prikaži več

Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017

Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017 Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017 1. Uvod Navodilo je namenjeno tehničnemu osebju pri pošiljateljih poročil oziroma poročevalcih, ki

Prikaži več

TNUV Lab

TNUV Lab TNUV - VAJA 5 doc. dr. Marko Meža 2013/14 Cilji vaje Predvajanje multimedijskih vsebin MediaPlayer http://developer.android.com/training/building-multimedia.html http://developer.android.com/guide/topics/media/mediaplayer.html

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev Izkušnje pri prilagoditvi e-storitev AJPES zahtevam eidas za čezmejno priznavanje Marjan Babič, AJPES 11. 12. 2018 Vsebina Razlogi za vključitev v projekt CEF Telecom Izvajalno okolje AJPES in način integracije

Prikaži več

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadaljevanju»naročnik«) in družbo VI NOVA d.o.o. (v nadaljevanje»ponudnik«).

Prikaži več

Orodje za izvoz podatkov

Orodje za izvoz podatkov Pomoč uporabnikom -NA-SI-200, V6.13-00 IZUM, 2018 COBISS, COMARC, COBIB, COLIB, IZUM so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod... 1 2 Predstavitev orodja za izvoz podatkov...

Prikaži več

Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700

Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700 Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700 Začetek uporabe Razširjevalnik dosega WiFi NETGEAR doseg omrežja WiFi poveča tako, da okrepi obstoječi signal WiFi in izboljša splošno kakovost

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1,

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1, TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, 14. 03. 2019 KAZALO 1 Namen...3 2 Registracija...4 3 Vnos gesla in aktivacija računa...6 4 Prijava...7

Prikaži več

NAVODILA ZA MONTAŽO SI EWPE SMART Wi-FI app

NAVODILA ZA MONTAŽO SI EWPE SMART Wi-FI app NAVODILA ZA MONTAŽO SI EWPE SMART Wi-FI app Uporabniški račun V aplikacijo se je treba prijaviti z uporabniškim računom. Ob prvem zagonu vas bo aplikacija pozvala k registraciji (sign up) ali prijavi (sign

Prikaži več

EVROPSKA PRAVNA FAKULTETA V NOVI GORICI

EVROPSKA PRAVNA FAKULTETA V NOVI GORICI NOVA UNIVERZA, EVROPSKA PRAVNA FAKULTETA - Delpinova ulica 18b, 5000 Nova Gorica - tel: (05) 338-44-00, fax: (05) 338-44-01 - e-pošta: info@evro-pf.si Informativno mesto: - Referat za študijske zadeve,

Prikaži več

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu

Microsoft Word - 021_01_13_Pravilnik_o_zakljucnem delu Na podlagi 64. člena Pravil o organizaciji in delovanju Fakultete za humanistične študije, št. 011-01/13 z dne 27. 6. 2013, je Senat Univerze na Primorskem Fakultete za humanistične študije na svoji 4.

Prikaži več

ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva o

ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva o ZAHTEVA ZA UVELJAVLJANE PRAVIC POSAMEZNIKA V POVEZAVI Z NJEGOVIMI OSEBNIMI PODATKI Pošta Slovenije skladno z veljavno zakonodajo na področju varstva osebnih podatkov posameznikom omogoča uveljavljanje

Prikaži več

DCS-2330L_A1_QIG_v1.00(EU).indd

DCS-2330L_A1_QIG_v1.00(EU).indd HD WIRELESS N OUTDOOR CLOUD CAMERA DCS-2330L KRATKA NAVODILA ZA UPORABO VSEBINA PAKETA HD WIRELESS N OUTDOOR CLOUD CAMERA DCS-2330L NAPAJALNI ADAPTER ADAPTER ETHERNET KABEL (CAT5 UTP) MED POSTAVITVIJO,

Prikaži več

SPLETNA PRIJAVA NA IZPITE ZA DIJAKE Dijaki se na izpite prijavite na novem portalu novi.lopolis.si z istim uporabniškim imenom in geslom, kot ga upora

SPLETNA PRIJAVA NA IZPITE ZA DIJAKE Dijaki se na izpite prijavite na novem portalu novi.lopolis.si z istim uporabniškim imenom in geslom, kot ga upora SPLETNA PRIJAVA NA IZPITE ZA DIJAKE Dijaki se na izpite prijavite na novem portalu novi.lopolis.si z istim uporabniškim imenom in geslom, kot ga uporabljate tudi za portal Lo.Polis (www.lopolis.si), kjer

Prikaži več

PowerPoint Presentation

PowerPoint Presentation INFORMACIJSKI SISTEM MFERAC - LETA 2022 mag. Andreja Sladoje Jemec, Sanja Štumberger Kovačič Ministrstvo za finance 10.12.2018 Vsebina predstavitve 1. Projekt MFERAC05 in izhodišča prenove 2. Izvajanje

Prikaži več

Microsoft Word - Navodila za uporabo 1.1.doc

Microsoft Word - Navodila za uporabo 1.1.doc PhotoOrder Navodila za uporabo 1 Kazalo 1 Kazalo... 2 2 Kazalo slik... 3 3 PhotoOrder... 4 4 Nameščanje programa... 5 4.1 Internet Explorer... 5 4.1.1 "Save" ("Shrani")... 5 4.1.2 "Run" ("Odpri")... 6

Prikaži več

Razpis - podiplomski študij

Razpis - podiplomski študij RAZPIS ZA VPIS V MAGISTRSKE ŠTUDIJSKE PROGRAME 2. STOPNJE UNIVERZE NA PRIMORSKEM V ŠTUDIJSKEM LETU 2016/2017 Za vpis v podiplomske magistrske študijske programe 2. stopnje v študijskem letu 2016/2017 Univerza

Prikaži več

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega)

GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) GHOSTBUSTERS navodila za učitelje O PROJEKTU S tem projektom se učenci sami naučijo izdelati igro. Ustvariti morajo več ikon (duhcov ali kaj drugega) in za vsako napisati svojo kodo. Dve ikoni imata isto

Prikaži več

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C# Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C# Pomen posameznih oken uporabniškega vmesnika, urejevalnik

Prikaži več

Microsoft Word - CNR-MPV2 Quick Guide_SI

Microsoft Word - CNR-MPV2 Quick Guide_SI Canyon multimedijski MP3 predvajalnik Artikel: CNR-MPV2 Opozorilo: Pred uporabo pozorno preberite navodila za uporabo. Podrobna navodila se nahajajo na priloženem CD mediju. Opozorilo: Pred uporabo napolnite

Prikaži več

NAVODILA ZA IZPOLNJEVANJE OBRAZCA

NAVODILA ZA IZPOLNJEVANJE OBRAZCA NAVODILO ZA UPORABO PRIPOMOČKA ZA PRIPRAVO STROŠKOVNEGA NAČRTA PROJEKTA»Piano finanziario Stroskovni nacrt«dokument»piano finanziario Stroskovni nacrt«v Microsoft Excel obliki lahko uporabite kot pripomoček

Prikaži več

SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Id

SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Id SETCCE Uporabniška navodila za namestitev in upravljanje komponente SETCCE proxsign v2.0.5 za MAC OS X [Nova generacija komponent SETCCE proxsign ] Identifikacijska oznaka dokumenta: n/a Različica dokumenta:

Prikaži več

LAMP, MEAN, ANNE – kaj izbrati za razvoj spletne aplikacije?

LAMP, MEAN, ANNE – kaj izbrati za razvoj spletne aplikacije? Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tim Cestnik LAMP, MEAN, ANNE kaj izbrati za razvoj spletne aplikacije? DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

Prikaži več

Microsoft Word - P-2_prijava

Microsoft Word - P-2_prijava PRIJAVA Naročnik Oznaka Ime posla NIJZ Trubarjeva cesta 2 1000 LJUBLJANA 49K040717 Javno naročilo Nakup novih diskovnih kapacitet Povsod, kjer obrazec P-2 uporablja izraz»ponudnik«, gre v postopkih, kjer

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Osnove jezika VHDL Strukturno načrtovanje in testiranje Struktura vezja s komponentami

Prikaži več

Microsoft Word Navodila za povezavo naprave v oblak_SLO

Microsoft Word Navodila za povezavo naprave v oblak_SLO Navodila za povezavo naprave v oblak Navodila naj se predajo končnemu uporabniku. SLO Id.: 17-16-14-2968-03 5.2017 Navodila za povezavo naprave v oblak Id.: 17-16-14-2968-03 5.2017 Natisnjeno v Sloveniji,

Prikaži več

Microsoft Word - pravilnik diploma_1.doc

Microsoft Word - pravilnik diploma_1.doc Na podlagi Statuta Univerze v Ljubljani in 42. člena Pravil o organiziranosti in delovanju Visoke šole za zdravstvo je senat Univerze v Ljubljani Visoke šole za zdravstvo na 38. redni seji dne 16. 10.

Prikaži več

Microsoft PowerPoint - OAPS1- P12.ppt

Microsoft PowerPoint - OAPS1- P12.ppt Univerza v Ljubljani Fakulteta za računalništvo in informatiko Igor Rožanc Osnove algoritmov in podatkovnih struktur I (OAPS I) 2. letnik, VSP Računalništvo in informatika, vse smeri PROSOJNICE ZA 12.

Prikaži več

OBRAZEC ''PRIJAVA''

OBRAZEC ''PRIJAVA'' Obrazec ''Prijava'' PRIJAVA 1 PONUDBA, št. Ponudbo dajemo za javno naročilo, katerega predmet je dobava energijsko učinkovitih prenosnih in tabličnih računalnikov, z oznako SOS_rac-2014 (se označi z X):

Prikaži več

ISOFT , računalniški inženiring

ISOFT , računalniški inženiring ISOFT, računalniški inženiring Marko Kastelic s.p. Sad 2, 1296 Šentvid pri stični Spletna stran podjetja:http://www.isoft.si podjetja ISOFT Spletna stran sistema sledenja vozil track.si: http://www.track.si

Prikaži več

Podatkovni model ER

Podatkovni model ER Podatkovni model Entiteta- Razmerje Iztok Savnik, FAMNIT 2018/19 Pregled: Načrtovanje podatkovnih baz Konceptualno načtrovanje: (ER Model) Kaj so entite in razmerja v aplikacijskem okolju? Katere podatke

Prikaži več