Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010

Velikost: px
Začni prikazovanje s strani:

Download "Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010"

Transkripcija

1 Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010

2 I Diplomsko delo univerzitetnega študijskega programa PROFILIRANJE SPLETNIH APLIKACIJ Študent: Študijski program: Mentor: Arjan Topolovec UN ŠP Računalništvo in informacijske tehnologije izr. prof. dr. Potočnik Božidar Maribor, september 2010

3 II

4 ZAHVALA Zahvaljujem se mentorju prof. dr. Božidarju Potočniku za pomoč in vodenje pri opravljanju diplomskega dela. Posebna zahvala velja staršem, ki so mi omogočili študij.

5 IV PROFILIRANJE SPLETNIH APLIKACIJ Ključne besede: profilirnik, profiliranje, spletna aplikacija, sledilnik, protokol, spletni vmesnik UDK: 004.5: (043.2) Povzetek V tem diplomskem delu se ukvarjamo s problemom profiliranja spletnih aplikacij. Najprej smo pregledali obstoječe rešitve, ki služijo kot pomoč pri profiliranju spletnih aplikacij. Nato smo razvili lasten profilirnik, namenjen profiliranju spletnih aplikacij. Profilirnik je sestavljen iz treh delov: sledilnika, protokola in spletnega vmesnika. Sledilnik omogoča spremljanje izvajanja klicanih metod. Razvili smo ga za uporabo v ogrodju Spring MVC. Naslednji del profilirnika je dejansko protokol, ki omogoča komunikacijo med sledilnikom in spletno aplikacijo. Zadnji del našega profilirnika pa je spletni vmesnik. Ta služi za prikazovanje uporabnih informacij, ki smo jih zbrali med izvajanjem aplikacije. Profilirnik smo preizkusili na spletni aplikaciji PetClinic, ki je vzorčna aplikacija ogrodja Spring MVC. Rezultati so obetavni.

6 V WEB APPLICATION PROFILING Key words: profiler, profiling, web application, tracer, protocol, web interface UDK: 004.5: (043.2) Abstract In this diploma thesis, we deal with web application profiling. Firstly, we reviewed existing solutions, which serve as an aid for web applications profiling. Afterwards, we develop our own profiler designed for profiling web applications. Our profiler is composed of three parts: the tracer, protocol, and web interface. The tracer enables monitoring of method execution. It was developed for use in Spring MVC framework. The next part of this profiler is actually the protocol that enables communication between the tracer and the web application. The last part of our profiler is a web interface. This interface serves for displaying useful information collected during application execution. This profiler was tested with PetClinic web application, which is a sample application of the Spring MVC framework. Results are promising.

7 VI KAZALO 1 UVOD 1 2 PREGLED OBSTOJEČIH REŠITEV Profilirnik VisualVM Orodje New Relic RPM Pregled Spletne transakcije Podatkovna baza Javanski virtualni stroji Sledi transakcij Napake Profiliranje niti Opravila v ozadju Aplikacijsko okolje Orodje Spring Insight Pretekla dejavnost Zdravje aplikacije UPORABLJENE METODE Orodje AspectJ Standard JSON HTTP Zahteva Odgovor Spletni servis REST Spring MVC SLEDILNIK 13

8 VII 4.1 Zahteva HTTP Klic metode Krmilnik Razreši pogled Izriši pogled Izjava JDBC PROTOKOL Sled Klic funkcije/metode in Krmilnik Poizvedba SQL Razreši pogled Izriši pogled SPLETNI VMESNIK Realno časovni pogled Časovni pregled Zahteve HTTP Podrobnosti zahteve Seznam krmilnikov Podrobnosti krmilnika Osnovni podatki Odzivni čas Zahteve na minuto Povprečni odzivni čas Baza podatkov Zadnji stavki SQL Najpočasnejši stavki SQL Povprečni čas izvajanja

9 VIII Seznam stavkov SQL REZULTATI IN DISKUSIJA Podrobnosti implementacije Programska oprema Priprava profilirnika za uporabo Delovanje aplikacije ZAKLJUČEK 34

10 IX KAZALO SLIK 2.1 Profilirnik VisualVM Orodje New Relic RPM Orodje Spring Insight Delovanje ogrodja Spring MVC Delovanja sledilnika Spletni vmesnik: Realno časovni pogled Realno časovni pogled spletnega vmesnika: časovni pregled Realno časovni pogled spletnega vmesnika: seznam zahtev HTTP Realno časovni pogled spletnega vmesnika: podrobnosti zahteve Realno časovni pogled spletnega vmesnika: seznam krmilnikov Spletni vmesnik: podrobnosti krmilnika Pogled podrobnosti krmilnika: osnovni podatki Pogled podrobnosti krmilnika: odzivni čas Pogled podrobnosti krmilnika: zahteve na minuto Pogled podrobnosti krmilnika: povprečni odzivni čas Spletni vmesnik: baza podatkov Pogled baza podatkov: zadnji stavki SQL Pogled baza podatkov: najpočasnejši stavki SQL Pogled baza podatkov: povprečni čas izvajanja Pogled baza podatkov: seznam stavkov SQL Delovanje aplikacije: realno časovni pogled po izvajanju zahtev Delovanje aplikacije: pogled podrobnosti krmilnika po izvajanju zahtev Delovanje aplikacije: pogled baza podatkov po izvajanju zahtev

11 X UPORABLJENJE KRATICE GC HTTP JSON MIME MVC REST RPM SQL URI Čiščenje pomnilnika (angl. Garbage Collection) Protokol svetovnega spleta (angl. Hypertext Transfer Protocol) Oblika serializacije (angl. JavaScript Object Notation) Tip vsebine (angl. Multipurpose Internet Mail Extensions) Programski vzorec model-pogled-krmilnik (angl. Model View Controller) Oblika spletnega servisa (angl. Representational State Transfer) Zahteve na minuto (angl. Requests Per Minute) Jezik za dostop do relacijskih podatkovnih baz (angl. Structured Query Language) Lokacija vira (angl. Uniform Resource Identifier)

12 Profiliranje spletnih aplikacij Stran 1 1 UVOD Profiliranje je oblika dinamične analize programov. Omogoča vpogled v obnašanje programa na osnovi podatkov, ki jih zbere profilirnik. Pri razvoju programske opreme igra profiliranje veliko vlogo, in sicer vse od začetkov profilirnikov v sedemdesetih letih prejšnjega tisočletja. Prve korake je naredil IBM, sledili pa so simulatorji ukaznega nabora (angl. instruction set simulators), s katerimi je bilo mogoče spremljati zmogljivost celotnega klicnega drevesa. Najbolj pogosti sta dve obliki profiliranja: analiza zmogljivosti in analiza porabe pomnilnika. Pri analizi zmogljivosti nas zanima predvsem čas izvajanja posamezne funkcije. S tem omogočimo iskanje delov programa, ki potrebujejo optimizacijo. Analiza porabe pomnilnika vrne informacije o količini pomnilnika, ki ga je določena funkcija rezervirala. Na osnovi pridobljenih informacij lahko ustvarimo detajlen profil aplikacije, s katerim si pomagamo pri nadaljnem razvoju in optimizaciji delov kode s slabo zmogljivostjo. Končni rezultat profiliranja je, da se izognemo prezgodnji optimizaciji (angl. premature optimization), ki je pri razvoju programske opreme še vedno pogost pojav. Z množičnim pojavom spletnih aplikacij so se spremenile tudi zahteve, kaj naj profilirnik omogoča. Razvijalcu je potrebno ponuditi jasen in preprost vpogled v posamezne zahteve HTTP, in sicer od generiranja zahteve, izvajanja te zahteve in končnega odgovora aplikacije. S porastom ogrodij za razvoj aplikacij pa je potrebno razvijalcu omogočiti tudi ogled profila in to le tistega dela aplikacije, ki ga še posebej zanima. Ponavadi je to kar del kode, ki ga razvija sam. Razvijalca, ki uporablja določeno ogrodje kot pomoč pri razvoju spletne aplikacije, torej ne zanima podroben vpogled v profil celotnega ogrodja, saj ga optimizacija delov kode, ki jih ne more spreminjati, oziroma na njihov razvoj nima vpliva, niti ne zanima. Za dosego tega cilja moramo iz profila izpustiti vse klice funkcij, ki spadajo k posameznemu ogrodju. Te klice prikažemo razvijalcu kot lahko razumljive enote, in sicer vrnemo informacijo, da se je določena akcija v ogrodju zgodila, podrobnosti o strukturi klicev funkcij pa skrijemo. Na koncu si oglejmo še strukturo tega diplomskega dela. V drugem poglavju si ogledamo obstoječe rešitve za profiliranje. Najprej predstavimo profilirnik VisualVM [7], ki je

13 Profiliranje spletnih aplikacij Stran 2 splošni profilirnik za profiliranje spletnih aplikacij, zatem pa se srečamo še z orodjem New Relic RPM [3], ki je pravzaprav kombinacija med profilirnikom in orodjem za spremljanje delovanja aplikacije. Orodje je uporabno tako v produkcijskem okolju, kot tudi v času razvoja. Na koncu še predstavimo Spring Insight [5], ki je orodje za pomoč pri razvoju aplikacij z ogrodjem Spring. V tretjem poglavju predstavimo metode, ki smo jih potrebovali pri praktičnem delu diplomske naloge. Ob tem podamo še kratek opis uporabljenih metod dela. V četrtem poglavju opišemo sledilnik, ki je prvi del našega profilirnika. Predstavmo delovanje sledilnika, opišemo pa tudi katere dogodke v izvajanju aplikacije beležimo. Drugi del profilirnika opišemo v naslednjem poglavju. To je dejansko protokol, ki omogoča komunikacijo med sledilnikom in spletno aplikacijo. V šestem poglavju opišemo spletno aplikacijo, ki je zadnji del našega profilirnika. Spletna aplikacija služi prikazu uporabnih informacij, ki smo jih zbrali med izvajanjem aplikacije. Nato predstavimo še rezultate in delovanje našega razvitega profilirnika. Delo pa zaključimo s kratkim sklepom v osmem poglavju. Na koncu je navedena še literatura, ki smo jo uporabili kot pomoč pri izdelavi diplomske naloge.

14 Profiliranje spletnih aplikacij Stran 3 2 PREGLED OBSTOJEČIH REŠITEV 2.1 Profilirnik VisualVM Slika 2.1: Profilirnik VisualVM. Je profilirnik, ki je priložen Oracle JDK in OpenJDK. Ta profilirnik omogoča profiliranje porabe procesorskega časa in/ali porabe pomnilnika. To orodje ni specializirano za profiliranje spletnih aplikacij, saj je namenjeno splošnemu profiliranju. Kot rezultat zato dobimo podatke za veliko odvečnih metod, ki nas ne zanimajo. Slednje lahko rešimo na naslednje načine: s pomočjo filtriranja metod, z določanjem imenskega prostora ali z izločanjem imenskih prostorov. Filtriranje metod omogoča prikaz le metod s predpisanim imenom. S tem zožimo nabor prikazanih metod ter dobimo boljši vpogled v rezultate. Določanje imenskega prostora pa

15 Profiliranje spletnih aplikacij Stran 4 opredeljuje prostor (obseg), katerega bomo profilirali. Gre za določitev korena v drevesni strukturi, od katerega dalje bomo profilirali. Izločanje imenskih prostorov pa omogoča, da ne profiliramo izbranih imenskih prostorov. 2.2 Orodje New Relic RPM Slika 2.2: Orodje New Relic RPM. Je orodje namenjeno spremljanju delovanja aplikacije v produkcijskem okolju. Nudi veliko funkcionalnosti, ki omogočajo vpogled v delovanje aplikacije. Možno je celo identificirati napake med izvajanjem aplikacije. Orodje je namenjeno aplikacijam Java in Ruby. Primerno je tudi za testiranje stabilnosti aplikacije med obremenitvenim testom. Orodje je razdeljeno v naslednje poglede: 1. Pregled 2. Spletne transakcije 3. Podatkovna baza 4. Javanski virtualni stroji

16 Profiliranje spletnih aplikacij Stran 5 5. Sledi transakcij 6. Napake 7. Profiliranje niti 8. Opravila v ozadju 9. Aplikacijsko okolje Posamezne poglede bomo opisali v nadaljevanju Pregled Združuje uporabne informacije iz več drugih pogledov. Nudi grafičen vpogled v povprečni odzivni čas, oceno apdex in prepustnost aplikacije. Ocena apdex (angl. application performance index) je odprt standard, ki se uporablja za predstavitev zmogljivosti programske opreme Spletne transakcije Omogoča vpogled v dostope do posameznih strani. Za vsako stran lahko dobimo množico informacij kot so: ocena apdex število zahtev, povprečen, najmanjši, največji in skupen odzivni čas, ter skupen čas, potreben za prikaz strani Podatkovna baza Prikazuje stavke SQL, ki so bili izvedeni med delovanjem profilirane aplikacije. Seznam stavkov SQL lahko uredimo po različnih kriterijih (npr. najboljša prepustnost, največ porabljenega časa). Grafično sta prikazani prepustnost ter odzivni čas podatkovne baze.

17 Profiliranje spletnih aplikacij Stran Javanski virtualni stroji Vsebuje informacije o javanskih virtualnih strojih, na katerih teče aplikacija. Grafično so prikazane informacije o: 1. porabi pomnilnika, 2. porabi CPE, in 3. dejavnosti GC (angl. Garbage Collection) Sledi transakcij Prikažejo se informacije o zadnji izvedeni transakciji, kdaj se je transakcija začela ter čas izvajanja Napake Gre za seznam zadnjih izjem, sproženih med prikazom strani. Omogoča vpogled v odstotek napak za prikaze srani skozi čas Profiliranje niti Omogoča zbiranje profila v določenem časovnem obdobju. Tako zbran profil je primeren za analizo tipa, kje naša koda porabi največ časa za izvajanje, ter kje porabi največ CPE Opravila v ozadju Prikazuje izvajanje opravil v ozadju. število izvajanj skozi čas. Grafično sta prikazani povprečni čas izvajanja ter Aplikacijsko okolje Prikazuje informacije o spletnem strežniku, verzijah programske opreme ter o nastavitvah okolja.

18 Profiliranje spletnih aplikacij Stran Orodje Spring Insight Slika 2.3: Orodje Spring Insight. Spring Insight je orodje za pomoč pri razvoju aplikacij z ogrodjem Spring. Orodje, tako kot ogrodje Spring, razvija SpringSource. Spring Insight je del spletnega strežnika SpringSource tc Server Developer Edition. To orodje omogoča vpogled v profil izvajanja zahtev HTTP, kakor tudi procesov v ozadju (Spring Batch). Sestavljata ga dva pogleda. Prvi je»pretekla dejavnost«, kjer dobimo vpogled v pretekle sledi, ki jih je orodje zbralo. Drug pogled pa je»zdravje aplikacije«, kjer so zbrane osnovne informacije o odzivnosti aplikacije Pretekla dejavnost Ta pogled je razdeljen v tri dele: stolpični grafični prikaz, seznam sledi, in podroben prikaz sledi.

19 Profiliranje spletnih aplikacij Stran 8 Stolpični grafični prikaz kaže seštevek trajanja vseh sledi za določeno časovno obdobje. Omogoča hiter vpogled v število sledi in zadnje sledi iz izbranega časovnega obdobja. Ob izbiri stolpca v grafu se odpre še seznam sledi. V tem seznamu so vse sledi, ki so se zgodile v izbranem časovnem obdobju. Tabela prikazuje naslednje informacije: trajanje izvajanja sledi, čas začetka izvajanja sledi, in oznako sledi. Če želimo podroben prikaz izvajanja sledi, le-tega izberemo v seznamu sledi. Odpre se drevesni prikaz celotne sledi. Grafično je prikazan čas izvajanja vsake sledi in kdaj se je ta sled začela izvajati. V drevesu so za izbrano sled na voljo tudi dodatne informacije o sledi (npr. glava HTTP, vrnjena vrednost funkcije) Zdravje aplikacije Ta pogled nudi osnovne informacije o odzivnih časih krmilnikov profilirane aplikacije v določenem časovnem obdobju. Dobimo hiter vpogled v morebitna odstopanja odzivnih časov. Za vsak krmilnik (angl. controller) so zbrani naslednji podatki: zdravje (zeleno - dobro, rdeče - slabo), ime krmilnika, število zahtev za krmilnik, in povprečen odzivni čas. Podrobnejši prikaz za vsak krmilnik pa daje še informacije o odzivnih časih skozi izbrano časovno obdobje, ter o porazdeljenost zahtev po odzivnih časih.

20 Profiliranje spletnih aplikacij Stran 9 3 UPORABLJENE METODE V sklopu tega poglavja bomo predstavili metode, ki smo jih potrebovali za implementacijo našega profilirnika. Orodje AspectJ smo uporabili za prestrezanje klicev metod v profilirani aplikaciji. Za komunikacijo med sledilnikom in spletno aplikacijo smo uporabili format JSON in protokol HTTP. Spletni servis REST smo uporabili kot vstopno točko zbranih podatkov sledilnika v spletno aplikacijo. Spletni vmesnik profilirnika pa smo razvili s pomočjo ogrodja Spring MVC. 3.1 Orodje AspectJ AspectJ [6][4] je razširitev za programski jezik Java, ki omogoča aspektno usmerjeno programiranje. Razvija se pod okriljem fundacije Eclipse. Je najbolj razširjeno in najmočnejše orodje za aspektno usmerjeno programiranje. Aspektno usmerjeno programiranje sestoji iz naslednjih konstruktov: aspect), pointcut ter predlog (angl. advice). Opišimo vsakega od njih: aspekt (angl. aspekt: Je za aspektno programiranje to kar je razred za objektno usmerjeno programiranje. Lahko vsebuje več predlogov. pointcut : Omogoča izbiro točk izvajanja, kjer se bo določen predlog izvedel. Točka izvajanja je lahko klic metode, dostop do razrednih spremenljivk, inicializacija razreda ipd. predlog: Je enakovreden metodi v objektnem programiranju, s to razliko, da predlogu določimo pointcut, ob katerem se bo telo predloga izvedlo. AspectJ omogoča enostavno dodajanje funkcionalnosti pred, po ali okoli posameznih točk izvajanja. Funkcionalnosti se v obstoječe razrede dodajajo na dva načina, in sicer v: času prevajanja in času nalaganja razredov.

21 Profiliranje spletnih aplikacij Stran 10 V času prevajanja je omogočeno dodajanje funkcionalnosti s posebnim prevajalnikom. Ta način omogoča dodajanje funkcionalnosti samo v razrede, za katere imamo dostop do izvorne kode. Za nas bolj zanimivo je dodajanje funkcionalnosti v času izvajanja oz. ob nalaganju razredov. Slednje je implementirano kot agent za javanski virtualni stroj. Ta prestreže nalaganje razredov, poišče ustrezne pointcut -e ter jim doda funkcionalnosti, določene v predlogu. 3.2 Standard JSON JSON (angl. JavaScript Object Notation) je preprost standard, izpeljan iz dela programskega jezika JavaScript. Pogosto je uporabljen za serializacijo komunikacije med klientom in strežnikom. Je alternativa formatu XML, saj omogoča bolj kompaktno predstavitev. JSON je dobro podprt v programskih jezikih, nudi serializacijo neodvisno od platforme in programskega jezika. 3.3 HTTP HTTP (angl. Hypertext Transfer Protocol) je temeljni mrežni protokol svetovnega spleta. Deluje na principu»zahteva-odgovor«, pri čemer klient pošlje zahtevo, strežnik pa vrne odgovor na to zahtevo Zahteva Zgradba zahteve HTTP je naslednja: [ metoda ] [ URI ] HTTP / [ v e r z i j a ] ( 1 ) [ g l a v a ] : [ v r e d n o s t ] ( 2 )... ( 3 ) [ t e l o z a h t e v e ] ( 4 ) 1. metoda: katero akcijo želimo izvesti nad določenim URI-jem URI: naslov vira, kateremu je zahteva namenjena verzija: verzija protokola HTTP 2. glava: vrednost, katero bomo nastavljali vrednost: dejanska vrednost glave 3. prazna vrstica

22 Profiliranje spletnih aplikacij Stran telo zahteve: tip vsebine je določen z glavo»content-type« Odgovor Zgradba odgovora HTTP pa je naslednja: HTTP / [ v e r z i j a ] [ s t a t u s ] ( 1 ) [ g l a v a ] : [ v r e d n o s t ] ( 2 )... ( 3 ) [ t e l o odgovora ] ( 4 ) 1. verzija: verzija protokola HTTP status: status obdelave zahteve 2. glava: vrednost, katero bomo nastavljali vrednost: dejanska vrednost glave 3. prazna vrstica 4. telo odgovora: tip vsebine je določen z glavo»content-type«. 3.4 Spletni servis REST Je oblika spetnega servisa, zgrajenega na načelih protokola HTTP. Standard je zgrajen nad URI-ji (ki predstavljajo vire), nad temi viri pa lahko izvajamo metode HTTP, telo zahteve/odgovora je določeno s tipom MIME. 3.5 Spring MVC Spring MVC [1][2] je del ogrodja Spring in je namenjen za enostaven razvoj aplikacij MVC. Zasnovan je z močno integracijo ostalih komponent ogrodja Spring. Vse zahteve prejme glavni krmilnik, ta pa jih usmeri h krmilniku, ki ustreza obravnavani zahtevi HTTP. Glavni krmilnik skrbi tudi za razreševanje pogleda ter ustvarjanje prikaza iz modela in predloge. Slika 3.1 prikazuje delovanje ogrodja Spring MVC.

23 Profiliranje spletnih aplikacij Stran 12 Slika 3.1: Delovanje ogrodja Spring MVC. Akcija se izvede v šestih korakih: 1. zahteva HTTP; 2. poišče se pravilen krmilnik, na njem pa se izvede ustrezna metoda; 3. krmilnik obravnava zahtevo, ustvari model s podatki za prikaz pogleda; 4. krmilnik vrne model glavnemu krmilniku; 5. iz predloge in modela se ustvari prikaz; 6. ustvarjen prikaz se vrne kot odgovor HTTP.

24 Profiliranje spletnih aplikacij Stran 13 4 SLEDILNIK Sledilnik omogoča spremljanje izvajanja klicanih metod. Implementirali smo sledilnik za ogrodje Spring MVC. Za sledenje klicev metod smo uporabili orodje AspectJ, ki omogoča dodajanje funkcionalnosti k obstoječim klicem metod. AspectJ smo izbrali zato, ker omogoča razvoj v programskem jeziku Java, hkrati pa nudi zmogljiv jezik za izbiro metod, ki jim bomo sledili. Sledilnik smo implementirali v dveh delih. Prvi del je glavni sledilnik, ki se izvede ob vsaki zahtevi HTTP. Glavni sledilnik je zadolžen za zbiranje sledi ostalih sledilnikov. Ob koncu zahteve se zbrane sledi pošljejo profilirniku. Drugi del so sledilniki, ki zbirajo informacije o dogajanju v ogrodju. Ob izvedbi akcije v ogrodju, za katero je namenjen določen sledilnik, se zberejo potrebne informacije iz konteksta izvedene akcije. Te informacije tvorijo sled. Delovanje sledilnika prikazuje slika 4.1. Slika 4.1: Delovanja sledilnika. Implementirali smo sledenje za naslednje dogodke v ogrodju:

25 Profiliranje spletnih aplikacij Stran zahteva HTTP, 2. klic metode, 3. krmilnik, 4. izjava JDBC, 5. razreši pogled, in 6. izriši pogled. 4.1 Zahteva HTTP V razredu DispatcherServlet prestrežemo klic metode doservice. Ta metoda se izvede ob vsaki zahtevi HTTP v ogrodje Spring MVC. Preko argumentov lahko dobimo podatke o zahtevi (HttpServletRequest) ter odgovoru HTTP (HttpServletResponse). 4.2 Klic metode Kot klic metode izberemo vse metode, ki so del razredov označenih z oznako Service, Repository ali Component. S tem zajamemo večino razredov napisanih s strani razvijalca. To omogoča hitro določitev ozkega grla v posamezni aplikacijski plasti. 4.3 Krmilnik Kot krmilnik izberemo vse metode, ki so del razreda z oznako Controller in imajo oznako RequestMapping. 4.4 Razreši pogled V razredu ViewResolver prestrežemo metodo resolveviewname. S tem pridobimo ime pogleda, ki ga vrne krmilnik, in lokalizacijo, ki se bo uporabila za prikaz pogleda. 4.5 Izriši pogled V razredu View prestrežemo metodo render. S tem pridobimo model oz. podatke, ki se bodo uporabili od prikazu pogleda.

26 Profiliranje spletnih aplikacij Stran Izjava JDBC Java nudi več razredov za klicanje metod SQL. Zato moramo prestreči vse klice, če želimo dobiti vse izvedene stavke SQL. V razredu Statement prestrežemo klic vseh metod, ki se začnejo z besedo execute, kot prvi argument pa prejmejo stavek SQL. Stvari smo se morali lotiti na drugačen način, da bi pridobili stavek SQL in dolžino izvajanja v razredu PreparedStatement. V razredu Connection smo zato prestregli klic metode preparestatement. S tem smo pridobili stavek SQL. Metoda vrača razred PreparedStatement, ki ga shranimo za pozneje. Nato moramo pridobiti še informacije o dolžini izvajanja. To smo storili tako, da smo prestregli klic metod, ki se začnejo z besedo execute. Stavek SQL smo pridobili iz prej pridobljenih instanc razreda PreparedStatement. Tako smo dobili celotno sled, ki jo lahko pošljemo profilirniku.

27 Profiliranje spletnih aplikacij Stran 16 5 PROTOKOL Za zasnovo protokola našega profilirnika smo izbrali protokol HTTP ter format serializacije JSON. Protokol HTTP smo izbrali zaradi dobre podpore v standardnih knjižnjicah programskih jezikov za ta protokol. To omogoča lažjo implementacijo sledilnikov v različnih programskih jezikih. Format JSON pa smo izbrali zato, ker omogoča kompaktno serializacijo, hkrati pa je dobro podprt v programskih jezikih. V nadaljevanju natančno opisujemo naš uporabljen protokol. 5.1 Sled Predstavlja abstraktno sled profilirnika. profilirniku. Zgradba sledi je naslednja: Polja morajo vsebovati vse sledi, ki so poslane { } i d : [ s t e v i l o ], p a r e n t : [ s l e d ], time : [ s t e v i l o ], t r a c e D e p t h : [ s t e v i l o ], c h i l d r e n : [ p o l j e s l e d i ], e x e c u t i o n T i m e : [ s t e v i l o ], t y p e : [ t i p ] Pojasnimo posamezno polje: Identifikacijsko število (id): Število predstavlja unikatno število, s katerim identificiramo posamezno sled. število določi profilirnik. Če je število vnaprej nastavljeno, se ignorira. To Starš (parent): Je sled, ki je direkten starš trenutne sledi. Starš je sprožitelj dogodkov, ki ustvarijo novo sled. Trenutni čas (time): Je čas v milisekundah pretečen od 00:00:00 UTC, 1 januarja 1970.

28 Profiliranje spletnih aplikacij Stran 17 Globina sledi (tracedepth): Predstavlja globino klicnega drevesa sledi, pri čemer začnemo šteti z globino 0. Starš trenutne sledi ima globino vedno za 1 manjšo od trenutne. Otroci (children): Sledi, ki so nastale kot posledica dogodkov znotraj telesa trenutne sledi. Čas izvajanja (executiontime): Čas izvajanja sledi v milisekundah. V čas izvajanja so všteti tudi časi izvajanja sledi pod globino trenutne sledi. Tip sledi (type): Tip sledi profilirniku definira, katere informacije ob osnovnih, sled še vsebuje, ter kako mora sled prikazati v grafičnem vmesniku. 5.2 Klic funkcije/metode in Krmilnik Predstavljamo protokol za klic funkcije ali krmilnika. Struktura se razlikuje samo v tipu (polje type). Klic funkcije ima tip METHOD, klic krmilnika pa CONTROLLER. Zgradba strukture je naslednja: { } classname : [ n i z ], methodname : [ n i z ], r e t u r n T y p e : [ n i z ], r e t u r n V a l u e : [ n i z ], p a r a m e t e r T y p e s : [ p o l j e n i z o v ] Pojasnimo posamezno polje: Ime razreda (classname): Ime razreda, v katerem se klicana metoda nahaja. Ime lahko vsebuje tudi imenski prostor, pri čemer je ločilni znak pika (.). Če programski jezik ne vsebuje razredov, naj vrednost vsebuje samo ime imenskega prostora. Ime metode/funkcije (methodname): Polno ime klicane metode ali funkcije.

29 Profiliranje spletnih aplikacij Stran 18 Vrnjen tip (returntype): Ime tipa, ki ga funkcija vrača. Lahko vsebuje tudi imenski prostor, pri čemer je ločilni znak pika (.). Če vrnjenega tipa ni mogoče določiti, naj bo vrednost prazen niz; 5.3 Poizvedba SQL Predstavlja izveden stavek SQL. Tip sledi je SQL: { } query : [ n i z ] Pojasnimo posamezno polje: SQL poizvedba (query): Poizvedba v podatkovno bazo. 5.4 Razreši pogled Predstavlja ime pogleda in lokalizacijo pogleda, ki sta razrešena v predlogo za prikaz. Tip sledi je RESOLVE_VIEW: { } viewname : [ n i z ], l o c a l e : [ n i z ] Pojasnimo posamezno polje: Ime pogleda (viewname): Ime pogleda ki se uporablja za iskanje implementacije pogleda s tem imenom. Jezik (locale): Kakšna lokalizacija bo uporabljena pri prikazu pogleda. 5.5 Izriši pogled Predstavlja razrešen tip pogleda, tip vsebine in podatke za izris pogleda. RENDER_VIEW: Tip sledi je

30 Profiliranje spletnih aplikacij Stran 19 { } classname : [ n i z ], c o n t e n t T y p e : [ n i z ], model : [ s l o v a r ] Pojasnimo posamezno polje: Ime razreda (classname): Ime razreda, ki predstavlja pogled. Polje je neobvezno. Tip vsebine (contenttype): Tip vsebine MIME, ki bo prikazana. Vrednosti (model): Vrednosti uporabljene pri prikazu pogleda. Če vrednosti ni, naj bo vrednost prazen slovar.

31 Profiliranje spletnih aplikacij Stran 20 6 SPLETNI VMESNIK Zadnji del našega implementiranega profilirnika je spletni vmesnik. Ta omogoča vpogled v zbrane sledi. Razvili smo ga s pomočjo ogrodja Spring MVC. Za risanje grafov smo razvili lastno knjižnico. Za lažje delo z grafičnim formatom SVG smo si pomagali s knjižnjico jquery SVG. Naš vmesnik je sestavljen iz naslednjih treh pogledov: 1. realnočasovni pogled, 2. podrobnosti krmilnika, in 3. baza podatkov. Vmesnik prikazuje najbolj uporabne informacije, ki bi razvijalca spletnih aplikacij lahko zanimale. V nadaljevanju si bomo vse poglede pogledali bolj natančno. 6.1 Realno časovni pogled Slika 6.1 prikazuje izgled realno časovnega pogleda. Slika 6.1: Spletni vmesnik: Realno časovni pogled.

32 Profiliranje spletnih aplikacij Stran 21 Ta pogled omogoča spremljanje izvajanja zahtev. V okviru tega pogleda so zbrane štiri skupine informacij, in sicer: 1. Časovni pregled 2. Zahteve HTTP 3. Podrobnosti zahteve 4. Seznam krmilnikov Časovni pregled Prvi del časovnega pregleda (glej sliko 6.2) predstavlja pogosto osvežen graf. Slika 6.2: Realno časovni pogled spletnega vmesnika: časovni pregled. Graf prikazuje naslednje informacije: čas, ki ga je aplikacija porabila pri poizvedbah SQL in čas, ki ga je aplikacija porabila za izvajanje programske kode. To omogoča, da lahko takoj opazimo odstopanja od povprečnega trajanja poizvedb SQL, zapazimo pa lahko tudi spremembe v odzivnem času aplikacije ipd Zahteve HTTP Če na prikazanem grafu izberemo časovno rezino, ki nas podrobneje zanima, se prikaže podroben pogled vseh zahtev (glej sliko 6.3) in seznam zahtev, združenih po krmilnikih.

33 Profiliranje spletnih aplikacij Stran 22 Slika 6.3: Realno časovni pogled spletnega vmesnika: seznam zahtev HTTP Seznam zahtev prikazuje vse zahteve, ki so se začele izvajati v tisti časovni rezini. Za vsako zahtevo dobimo naslednje informacije: celoten čas trajanja zahteve, čas, kdaj je bila zahteva prejeta in naslov URI ter metoda HTTP, s katero je bil naslov zahtevan Podrobnosti zahteve Ob izbiri želene zahteve se odpre drevesni pogled celotne zahteve (glej sliko 6.4). Ta prikazuje vse sledi, ki so bile zbrane med izvajanjem zahteve. Pri vsaki sledi imamo možnost vpogleda v dodatne informacije (npr. vrnjena vrednost funkcije, izveden stavek SQL). Za vsako sled imamo tudi grafičen prikaz, kdaj in koliko časa se je sled izvajala. Slika 6.4: Realno časovni pogled spletnega vmesnika: podrobnosti zahteve.

34 Profiliranje spletnih aplikacij Stran Seznam krmilnikov Ta pogled (slika 6.5) prikazuje vse zahteve iz izbrane časovne rezine, združene glede na ime krmilnika. Za vsak krmilnik dobimo naslednje informacije: celoten čas trajanja zahtev, koliko zahtev je krmilnik prejel in ime krmilnika. Slika 6.5: Realno časovni pogled spletnega vmesnika: seznam krmilnikov. 6.2 Podrobnosti krmilnika Slika 6.6: Spletni vmesnik: podrobnosti krmilnika. Ta pogled (slika 6.6) prikazuje podrobne informacije o izvajanju izbranega krmilnika. Pogled je namenjen spremljanju delovanja in odzivnosti aplikacije med obremenitvijo. V okviru tega pogleda so zbrane naslednje skupine informacij:

35 Profiliranje spletnih aplikacij Stran Osnovni podatki 2. Odzivni časi 3. Zahteve na minuto 4. Povprečni odzivni čas. Posamezne skupine informacij bomo opisali v nadaljevanju Osnovni podatki Ta vrsta pogleda prikazuje osnovne podatke o izvajanju krmilnika. Uporabniku so na voljo naslednje informacije (glej sliko 6.7): Število zahtev - prikazuje kolikokrat je bil krmilnik zahtevan; Čas izvajanja stavkov SQL - skupen čas izvajanja stavkov SQL; Čas izvajanja v JVM - čas, ki ga je krmilnik porabil za izvajanje programske kode; Skupen čas - čas, porabljen za izvajanje krmilnika. Slika 6.7: Pogled podrobnosti krmilnika: osnovni podatki Odzivni čas V tem pogledu dobimo osnovne podatke o odzivnosti krmilnika. Prikazane so naslednje informacije (glej sliko 6.8): Povprečen čas izvajanja stavkov SQL - čas, ki ga je krmilnik povprečno porabil za izvajanje stavkov SQL; Povprečen čas izvajanja v JVM - čas, ki ga je krmilnik v povprečju potreboval za izvajanje programske kode;

36 Profiliranje spletnih aplikacij Stran 25 Najboljši odzivni čas - najkrajši odzivni čas, ki ga je dosegel krmilnik; Najslabši odzivni čas - najdaljši odzivni čas, ki ga je dosegel krmilnik. Slika 6.8: Pogled podrobnosti krmilnika: odzivni čas Zahteve na minuto Je grafični prikaz zahtev, ki jih je profilirana aplikacija servirala v določenem časovnem obdobju (npr. v minuti). Graf na sliki 6.9 prikazuje zahteve združene po minutah. Iz grafa lahko razberemo morebitno poslabšanje zmogljivosti pri testiranju z obremenitvijo. Slika 6.9: Pogled podrobnosti krmilnika: zahteve na minuto Povprečni odzivni čas Graf prikazuje povprečni odzivni čas aplikacije skozi določeno časovno obdobje (glej sliko 6.10). Na osnovi prikazanih podatkov lahko razberemo morebitne anomalije v odzivnem času. Slika 6.10: Pogled podrobnosti krmilnika: povprečni odzivni čas.

37 Profiliranje spletnih aplikacij Stran Baza podatkov Slika 6.11: Spletni vmesnik: baza podatkov. Ta pogled prikazuje informacije o izvajanju stavkov SQL (glej sliko 6.11). Pogled je namenjen iskanju»počasnih«stavkov SQL ter identificiranju morebitnih odstopanj pri porabljenem času za obdelavo stavkov SQL. V okviru tega pogleda so zbrane naslednje skupine informacij: 1. Zadnji stavki SQL 2. Najpočasnejši stavki SQL 3. Povprečen čas izvajanja 4. Seznam stavkov SQL Zadnji stavki SQL Prikažejo se zadnji izvedeni stavki SQL v aplikaciji (glej sliko 6.12). S prikazanimi podatki si lahko pomagamo pri spremljanju zadnjih stavkov SQL, dobimo pa tudi takojšen vpogled v dolžino njihovega izvajanja. V tabeli so prikazane naslednje informacije: stavek SQL, datum in čas izvajanja in dolžina izvajanja.

38 Profiliranje spletnih aplikacij Stran 27 Slika 6.12: Pogled baza podatkov: zadnji stavki SQL Najpočasnejši stavki SQL V okviru tega prikaza dobimo informacije o desetih najpočasnejših stavkih SQL. V tabeli je prikazan naslednji sklop informacij (glej sliko 6.13): stavek SQL, povprečni čas izvajanja, najboljši čas izvajanja, in najslabši čas izvajanja. Takšen pogled omogoča hitro analizo najpočasnejših stavkov SQL. Na tej osnovi pa se lahko odločimo za optimizacijo. Slika 6.13: Pogled baza podatkov: najpočasnejši stavki SQL Povprečni čas izvajanja Grafično je prikazan povprečni čas, ki ga aplikacija porabi za izvajanje stavkov SQL v določeni časovni rezini (glej sliko 6.14).

39 Profiliranje spletnih aplikacij Stran 28 Slika 6.14: Pogled baza podatkov: povprečni čas izvajanja Seznam stavkov SQL Ta pogled prikazuje vse stavke SQL, izvedene v aplikaciji (glej sliko 6.15). Tabela omogoča iskanje največkrat klicanega stavka, kakor tudi stavka z največjim skupnim porabljenim časom. V tabeli prikazujemo naslednje podatke: stavek SQL, število izvajanj, povprečni čas izvajanja, skupni čas, delež (odstotek) porabljenega časa glede na vse stavke SQL. Slika 6.15: Pogled baza podatkov: seznam stavkov SQL.

40 Profiliranje spletnih aplikacij Stran 29 7 REZULTATI IN DISKUSIJA V tem poglavju bomo predstavili delovanje naše razvite aplikacije. 7.1 Podrobnosti implementacije Pri implementaciji rešitve smo si pomagali z naslednjimi knjižnjicami: Spring Framework 3.0.3, jquery 1.4.2, jquery SVG in AspectJ Programska oprema Za prikaz delovanja pa smo uporabili naslednjo programsko opremo: OpenJDK 1.6, AspectJ 1.6.9, Apache Tomcat in operacijski sistem Fedora Priprava profilirnika za uporabo Za delovanje aplikacije potrebujemo dve knjižnjici (formata.jar) in spletno aplikacijo (formata.war): shared.jar, tracer.jar in

41 Profiliranje spletnih aplikacij Stran 30 profiler.war. Aplikacija je kompatibilna s strežniki, ki podpirajo standarda Java Servlet in JSP. Knjižnico shared.jar moramo kopirati v kazalo z deljenimi knjižnicami spletnega strežnika. Ta knjižnjica vsebuje dele profilirnika, ki jih uporabljata tako sledilnik kot spletna aplikacija. Knjižnico tracer.jar pa moramo dodati med knjižnice spletne aplikacije, ki jo želimo profilirati. Spletno aplikacijo profiler.war dodamo kar k spletnemu strežniku. Pri zagonu spletnega strežnika moramo še dodati agenta AspectJ, ki omogoča dodajanje kode za profiliranje v izbrano spletno aplikacijo. 7.4 Delovanje aplikacije Za prikaz delovanja bomo uporabili aplikacijo Petclinic [1]. To je vzorčna aplikacija namenjena demonstraciji delovanja ogrodja Spring. Predpostavimo, da je aplikacija Petclinic dosegljiva na naslovu /petclinic/. V aplikaciji bomo dostopali do omenjenih spletnih strani, in sicer do vsake strani tolikokrat, kot je dopisano ob naslovu strani: / (2x) /owners/search (3x) /petclinic/owners?lastname=davis (2x) /owners/2 (1x) Po dostopu do teh spletnih strani pa bomo opazovali vplive zahtev na posamezne poglede spletnega vmesnika. Najprej si bomo ogledali realno časovni pogled. Pri vseh zahtevah pričakujemo zahtevo z metodo GET (protokol HTTP), tip odgovora pa bo text/html s kodiranjem znakov ISO ter s tipom pogleda JstlView. Od našega profilirnika pričakujemo jasen prikaz na grafu, da so se pričakovane zahteve res zgodile. Ob ustrezni izbiri časovne rezine, v kateri smo izvedli zahteve do aplikacije, pričakujemo izpis vseh teh zahtev. Zahtev v seznamu mora biti 8. Hkrati še pričakujemo izpis izvedenih krmilnikov v seznamu krmilnikov. Izvesti se morajo štirje različni krmilniki. Na sliki 7.1 je realno časovni pogled po izvajanju zahtev. Pri oznaki (1) lahko vidimo jasen dvig linije v grafu. To prikazuje, da smo v tisti časovni rezini res izvedli zgoraj naštete zahteve. Z oznako (2) je označen seznam zahtev HTTP. V tabeli lahko vidimo vseh osem

42 Profiliranje spletnih aplikacij Stran 31 zahtev, vsak URI pa se pojavi tolikokrat, kolikokrat smo do njega dostopali. Ob oznaki (3) lahko vidimo seznam krmilnikov. Ta se sklada s številom različnih naslovov, do katerih smo dostopali. Slika 7.1: Delovanje aplikacije: realno časovni pogled po izvajanju zahtev. Sedaj si oglejmo še pogled»podrobnosti krmilnika«za naslov /owners/search. krmilnika za ta naslov je FindOwnersForm#setupForm. Ime Kot rezultat izvajanja zahtev morajo na tem krmilniku biti izvedene 3 zahteve. Skupen čas izvajanja mora biti enak seštevku časov izvajanja vseh treh zahtev. Povprečen čas izvajanja pa mora biti enak času izvajanja vseh zahtev deljeno s tri. Najslabši odzivni čas mora biti enak času, ki ga je porabila najpočasnejša zahteva, medtem ko mora biti najboljši odzivni čas enak času zahteve, ki je za izvajanje porabila najmanj časa. Na obeh grafičnih prikazih, tj. na pogledu»zahteve na minuto«in»odzivni čas«, moramo opaziti porast vrednosti na grafu v ustreznem časovnem obdobju. Slika 7.2 prikazuje pogled podrobnosti krmilnika po koncu izvajanja opisanih zahtev. Oznaka (1) kaže, da je bil krmilnik izveden trikrat, kar smo tudi pričakovali. Ob oznaki (2) lahko vidimo, da je skupen čas izvajanja krmilnika dejansko seštevek časov. Z oznako (3) je označen povprečni čas izvajanja krmilnika. Za pravilnega sta se izkazala tudi najboljši in najslabši odzivni čas krmilnika (glej oznako (4)). Oznaki (5) in (6) prikazujeta porast vrednosti na obeh grafičnih prikazih v času izvajanja zahtev.

43 Profiliranje spletnih aplikacij Stran 32 Slika 7.2: Delovanje aplikacije: pogled podrobnosti krmilnika po izvajanju zahtev. Kot zadnji del profilirnika pa si bomo ogledali delovanje pogleda podatkovna baza. V tabeli zadnji stavki SQL pričakujemo prikazanih deset stavkov SQL, kar je tudi največje število stavkov, ki so še lahko prikazani v tabeli. V aplikaciji pričakujemo izvajanje štirih različnih stavkov SQL. To se bo pokazalo v seznamu najpočasnejših stavkov SQL in seznamu vseh stavkov SQL. Oba seznama bosta vsebovala samo štiri stavke SQL, saj so v obeh prikazih enaki stavki združeni. Na grafičnem prikazu»povprečni čas izvajanja«bomo opazili dvig vrednosti grafa v času izvajanja zahtev, vendar pa le v primeru, če bo povprečje izvajanja stavkov SQL večje ali enako kot ena milisekunda. Pogled»Podatkovna baza«po izvajanju opisanih zahtev prikazuje slika 7.3. Vidimo lahko, da tabela zadnji stavki SQL (glej oznako (1)) res vsebuje deset stavkov SQL, pri čemer so stavki urejeni po času izvajanja. Tudi tabeli najpočasnejši stavki SQL (oznaka (2)) in seznam stavkov SQL (oznaka (4)) vsebujeta pričakovano število prikazanih stavkov, tj. štiri. Ker je bilo povprečje dolžin izvajanj stavkov SQL manjše kot ena milisekunda, na grafičnem prikazu povprečnega časa izvajanja ni sprememb (oznaka (3)).

44 Profiliranje spletnih aplikacij Stran 33 Slika 7.3: Delovanje aplikacije: pogled baza podatkov po izvajanju zahtev.

45 Profiliranje spletnih aplikacij Stran 34 8 ZAKLJUČEK V diplomskem delu smo razvili celovito rešitev za profiliranje spletnih aplikacij. To je profilirnik namenjen izključno profiliranju spletnih aplikacij. To orodje prikazuje spletnemu razvijalcu najbolj pomembne informacije. Slabost rešitve je, da ne omogoča vpogleda v dolžino izvajanja vseh metod. Navedeno bi lahko rešili s sledilnikom, ki bi sledil izvajanju vseh metod. Naša rešitev pa omogoča hiter vpogled v izvajanje aplikacije, pri čemer detajlno profiliranje izvedemo s splošnim profilirnikom, ko že vemo, kje težavo iskati. Lastno rešitev bi lahko izboljšali predvsem z dodajanjem novih funkcionalnosti v profilirnik. Tako bi lahko dodali nove grafične predstavitve podatkov. Omogočili bi lahko tudi filtriranje tabel, s čimer bi prikazovali samo določen nabor zahtev (npr. odzivni čas večji od postavljenega praga). Največji premik v smeri univerzalnosti našega orodja pa bi vsekakor bilo, če bi razvili sledilnike še za druga ogrodja in jezike. To bi seveda omogočilo še širšo uporabnost našega profilirnika pri razvoju spletnih aplikacij.

46 Profiliranje spletnih aplikacij Stran 35 7 VIRI, LITERATURA [1] Cloud Application Platform For Spring - Java, dostop [2] Craig Walls, Spring in Action, Third Edition, Manning, [3] New Relic.:. On-Demand Application Managment, dostop [4] Ramnivas Laddad, AspectJ in Action, Second Edition, Manning, [5] tc Server Developer Edition with Spring Insight, dostop [6] The AspectJ Project, dostop [7] visualvm, dostop

47 Profiliranje spletnih aplikacij Stran 36

48 Profiliranje spletnih aplikacij Stran 37

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č

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli - uvod Protokol je pravilo ali zbirka pravil, ki določajo načine transporta sporočil po računalniškem omrežju

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č

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č

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se nanaša na tobačne izdelke na trgu EU in na tobačne izdelke, izdelane v EU, vključno s tistimi

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č

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č

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č

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č

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č

Elektronska pošta

Elektronska pošta Elektronska pošta ZGODOVINA Prvo sporočilo je bilo poslano leta 1971. Besedilo, ki ga je vsebovalo, je bilo QWERTYUIOP. Pošiljatelj je bil Ray Tomlinson, računalnika med katerima je bilo sporočilo poslano

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 PowerPoint - Sequi_SecDAy.ppt

Microsoft PowerPoint - Sequi_SecDAy.ppt Sistem za zagotavljanje revizijske sledi zbirk podatkov Marko Hočevar Premisa d.o.o. Iztok Lasič Hic Salta d.o.o. O revizijski sledi Namen revizijske sledi Znane težave pri zajemanju revizijske sledi Zakaj

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č

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č

Aplikacija za beleženje casa

Aplikacija za beleženje casa Univerza v Ljubljani Fakulteta za računalništvo in informatiko Peter Povirk Aplikacija za beleženje časa DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA Mentor:

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č

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č

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č

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj novosti na področju SCADA sistemov (ifix Productivity

Prikaži več

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo Turingov stroj in programiranje Barbara Strniša 12. 4. 2010 1 Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolov (običajno Σ 2) Σ n = {s 1 s 2... s n ; s i Σ, i =

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č

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č

Nejc Rebernjak RAZVOJ MOBILNE APLIKACIJE SHOPLY Diplomsko delo Maribor, september 2018

Nejc Rebernjak RAZVOJ MOBILNE APLIKACIJE SHOPLY Diplomsko delo Maribor, september 2018 Nejc Rebernjak RAZVOJ MOBILNE APLIKACIJE SHOPLY Diplomsko delo Maribor, september 2018 RAZVOJ MOBILNE APLIKACIJE SHOPLY Diplomsko delo Študent: Študijski program: Smer: Mentor: Lektor: Nejc Rebernjak visokošolski

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č

UNIVERZA NA PRIMORSKEM

UNIVERZA NA PRIMORSKEM JAN BRATINA MAGISTRSKO DELO 2019 UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE MAGISTRSKO DELO RAZVOJ SISTEMA ZA SLEDLJIVOST IZDELKOV TER VPELJAVA NA PROIZVODNO

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č

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č

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Rok Erjavec Aplikacija za upravljanje identifikatorjev in podatkov v sistemu z NFC nadz

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Rok Erjavec Aplikacija za upravljanje identifikatorjev in podatkov v sistemu z NFC nadz Univerza v Ljubljani Fakulteta za računalništvo in informatiko Rok Erjavec Aplikacija za upravljanje identifikatorjev in podatkov v sistemu z NFC nadzorom temperatur DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI

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č

Analiza in primerjava spletnih storitev SOAP in protokola gRPC v okolju mikrostoritev

Analiza in primerjava spletnih storitev SOAP in protokola gRPC v okolju mikrostoritev Univerza v Ljubljani Fakulteta za računalništvo in informatiko Gregor Poročnik Analiza in primerjava spletnih storitev SOAP in protokola grpc v okolju mikrostoritev MAGISTRSKO DELO MAGISTRSKI PROGRAM DRUGE

Prikaži več

Presentation Name / Author

Presentation Name / Author Kako brez stresa zamenjati požarno pregrado How to Replace the Firewall Without Stress Sašo Tomc - SRC d.o.o. (21. januar 2019) 1) Analiza obstoječe konfiguracije 2) Določanje nivoja tveganja za izpad

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 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č

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Programirljivi Digitalni Sistemi Digitalni sistem Digitalni sistemi na integriranem vezju Digitalni sistem

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Napovedno oglaševanje Kombiniranje internih in eksternih podatkov za boljšo učinkovitost oglaševanja Miloš Suša, iprom Andraž Zorko, Valicon Mojca Pesendorfer, Atlantic Grupa Ljubljana, 22.10.2018 PREDIKTIVNO

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č

David Zakelšek SPLETNA PODPORA UČENJU MATEMATIKE Diplomsko delo Maribor, september 2013

David Zakelšek SPLETNA PODPORA UČENJU MATEMATIKE Diplomsko delo Maribor, september 2013 David Zakelšek Diplomsko delo Maribor, september 2013 Diplomsko delo Študent: Študijski program: Smer: Mentor: Lektorica: David Zakelšek Univerzitetni študijski program Informatika in tehnologije komuniciranja

Prikaži več

Style Sample for C&N Word Style Sheet

Style Sample for C&N Word Style Sheet IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS IBM BigInsights on Cloud Pogoje uporabe ("pogoji uporabe") sestavljajo ti IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS ("pogoji posebne ponudbe

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č

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č

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č

Primerjava razvoja prave domorodne mobilne aplikacije in razvoja z uporabo ogrodja React Native

Primerjava razvoja prave domorodne mobilne aplikacije in razvoja z uporabo ogrodja React Native Univerza v Ljubljani Fakulteta za računalništvo in informatiko David Mihelj Primerjava razvoja prave domorodne mobilne aplikacije in razvoja z uporabo ogrodja React Native DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI

Prikaži več

Folie 1

Folie 1 S&TLabs Innovations mag. Damjan Kosec, S&T Slovenija d.d. marec 2013 S&TLabs Laboratorij za inovacije in razvoj spletnih in mobilnih informacijskih rešitev Kako boste spremenili svoj poslovni model na

Prikaži več

Izdelava spletnih aplikacij z ogrodjem Angular

Izdelava spletnih aplikacij z ogrodjem Angular Univerza v Ljubljani Fakulteta za računalništvo in informatiko Vid Stoschitzky Izdelava spletnih aplikacij z ogrodjem Angular DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

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č

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete ELEKTRONSKI PODATKI, KI JIH ORGANIZACIJA USTVARJA IN POTREBUJE ZA DOSTOP, SE KAŽEJO V RAZLIČNIH

Prikaži več

PKP projekt SMART WaterNet_Opis

PKP projekt SMART WaterNet_Opis PKP projekt SMART WaterNet Po kreativni poti do znanja (PKP) opis programa Program Po kreativni poti do znanja omogoča povezovanje visokošolskih zavodov s trgom dela in tako daje možnost študentom za pridobitev

Prikaži več

Macoma katalog copy

Macoma katalog copy POSLOVNE APLIKACIJE PO ŽELJAH NAROČNIKA Poročilni sistem Finance in kontroling Poprodaja Podatkovna skladišča Prodaja Proizvodnja Obstoječi ERP Partnerji Implementacija rešitev prilagojena po željah naročnika

Prikaži več

Microsoft Word - A-3-Dezelak-SLO.doc

Microsoft Word - A-3-Dezelak-SLO.doc 20. posvetovanje "KOMUNALNA ENERGETIKA / POWER ENGINEERING", Maribor, 2011 1 ANALIZA OBRATOVANJA HIDROELEKTRARNE S ŠKOLJČNIM DIAGRAMOM Klemen DEŽELAK POVZETEK V prispevku je predstavljena možnost izvedbe

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Kraševec RAZVOJ SPLETNE APLIKACIJE ZA ANALIZO UPORABNIŠKIH PROFILOV NA FACEBOOKU

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Kraševec RAZVOJ SPLETNE APLIKACIJE ZA ANALIZO UPORABNIŠKIH PROFILOV NA FACEBOOKU UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Kraševec RAZVOJ SPLETNE APLIKACIJE ZA ANALIZO UPORABNIŠKIH PROFILOV NA FACEBOOKU DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

Prikaži več

Zasnova in razvoj rešitve za dinamicno odkrivanje mikrostoritev v oblacnih arhitekturah

Zasnova in razvoj rešitve za dinamicno odkrivanje mikrostoritev v oblacnih arhitekturah Univerza v Ljubljani Fakulteta za računalništvo in informatiko Urban Malc Zasnova in razvoj rešitve za dinamično odkrivanje mikrostoritev v oblačnih arhitekturah DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI

Prikaži več

COBISS3/Medknjižnična izposoja

COBISS3/Medknjižnična izposoja 3/Medknjižnična izposoja 2.2 KATALOG Katalog nam omogoča: iskanje gradiva prikaz izbranih bibliografskih zapisov ali pripadajočih podatkov o zalogi iz lokalne baze podatkov v formatu COMARC vpogled v stanje

Prikaži več

Gradbeništvo kot Industrija 4.0

Gradbeništvo kot Industrija 4.0 Povzetek: Kot vse druge panoge se mora gradbeništvo modernizirati Industrija 4.0 koncept, ki daje modernizaciji okvir, motivacijo, zagon Industrija 4.0 je stapljanje fizičnega in digitalnega sveta Gradbeništvo

Prikaži več

Event name or presentation title

Event name or  presentation title Marko Škufca Vodja programa BI, ADD d.o.o. Gorazd Cah Specialist področja Služba za informatiko, DARS d.d. Izziv Rešitev Rezultati... PROCESI + TEHNOLOGIJA + LJUDJE Poslanstvo: s sodobnimi pristopi in

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č

Cenik ES_spremembe_marec2013_ČISTOPIS_Sprememba_

Cenik ES_spremembe_marec2013_ČISTOPIS_Sprememba_ Cenik elektronskih storitev Na podlagi 332. člena Zakona o trgu finančnih instrumentov in 34. člena Statuta Ljubljanske borze vrednostnih papirjev, d. d., Ljubljana z dne 27.5.1997, z zadnjimi spremembami

Prikaži več

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA

ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA ŠTEVCI PROMETA IN NJIHOVA UPORABA ZA NAMENE STATISTIK ČRT GRAHONJA Navdih Poizvedovanje po BD podatkovnih virih, ki imajo časovno dimenzijo in so dostopni. Večji promet pomeni večje število dobrin in močnejšo

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č

VSEBINSKI NASLOV SEMINARSKE NALOGE

VSEBINSKI NASLOV SEMINARSKE NALOGE Univerza v Ljubljani Naravoslovnoteniška fakulteta Oddelek za tekstilstvo VSEBINSKI NASLOV SEMINARSKE NALOGE TITLE IN ENGLISH Avtorja: Študijska smer: Predmet: Informatika in metodologija diplomskega dela

Prikaži več

DES

DES Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Digitalni sistemi Vgrajeni digitalni sistemi Digitalni sistem: osebni računalnik

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č

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č

VS_Uroı_−antelj_1979

VS_Uroı_−antelj_1979 Uroš Šantelj RAZVOJ APLIKACIJ Z OGRODJEM ORACLE ADF Diplomsko delo Maribor, junij 2011 I Diplomsko delo visokošolskega strokovnega študijskega programa RAZVOJ APLIKACIJ Z OGRODJEM ORACLE ADF Študent:

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č

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č

2

2 LETNO POROČILO O KAKOVOSTI ZA RAZISKOVANJE ČETRTLETNO STATISTIČNO RAZISKOVANJE O ELEKTRONSKIH KOMUNIKACIJSKIH STORITVAH (KO-TEL/ČL) IN LETNO STATISTIČNO RAZISKOVANJE O ELEKTRONSKIH KOMUNIKACIJSKIH STORITVAH

Prikaži več

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Ivan Jovanovski TESTIRANJE ZMOGLJIVOSTI SPLETNE APLIKACIJE ORIGAMI DMS DIPLOMSKO DELO N

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Ivan Jovanovski TESTIRANJE ZMOGLJIVOSTI SPLETNE APLIKACIJE ORIGAMI DMS DIPLOMSKO DELO N UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Ivan Jovanovski TESTIRANJE ZMOGLJIVOSTI SPLETNE APLIKACIJE ORIGAMI DMS DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof. dr. Miha

Prikaži več

Style Sample for C&N Word Style Sheet

Style Sample for C&N Word Style Sheet IBM-ovi pogoji uporabe pogoji posebne ponudbe SaaS IBM IoT Continuous Engineering on Cloud in IBM Collaborative Lifecycle Management on Cloud Pogoje uporabe ("pogoji uporabe") sestavljajo ti IBM-ovi pogoji

Prikaži več

DSI 2019

DSI 2019 SINERGIJA PROTOKOLA IPFS IN TEHNOLOGIJE VERIŽENJA BLOKOV Aida Kamišalić Latifić, Muhamed Turkanović, Blaž Podgorelec, Marjan Heričko TEHNOLOGIJA VERIŽENJA BLOKOV in IPFS Porazdeljena & decentralizirana

Prikaži več

PowerPoint Presentation

PowerPoint Presentation ANALIZA SPREMEMB PRI UPORABNIŠKEM ZAVEDANJU O ZASEBNOSTI OB UPORABI DRUŽBENIH OMREŽIJ Lili Nemec Zlatolas DSI, 16.4.2019 Družbeno omrežje Facebook Dnevno uporablja omrežje 1, milijarde ljudi na svetu Slovenija

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č

PowerPointova predstavitev

PowerPointova predstavitev Dostopnost elektronskih virov za slepe, slabovidne in druge osebe z motnjami branja Kristina Janc ZSSML - 27. Seja TIFLO sekcije 22.3.2012 Možnost izkoriščanja elektronskih virov za slepe, slabovidne in

Prikaži več

Obremenitveno testiranje spletnih aplikacij v javnih oblakih

Obremenitveno testiranje spletnih aplikacij v javnih oblakih Univerza v Ljubljani Fakulteta za računalništvo in informatiko Simon Ivanšek Obremenitveno testiranje aplikacij v javnih oblakih MAGISTRSKO DELO ŠTUDIJSKI PROGRAM DRUGE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

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č

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode]

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode] Telekomunikacijski inženiring dr. Iztok Humar Vsebina Značilnosti TK prometa, preprosti modeli, uporaba Uvod Značilnosti telekomunikacijskega prometa Modeliranje vodovno komutiranih zvez Erlang B Erlang

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č

Microsoft Word - P-5_specifikacije.doc

Microsoft Word - P-5_specifikacije.doc Obrazec P-5 Specifikacije 24K110316»Vzdrževanje centralne rešitve enaročanje«tehnične specifikacije KAZALO VSEBINE 1. Predmet javnega naročila...4 2. Opis...4 2.1 EČAKALNI SEZNAMI...5 2.2 ENAROČANJE...6

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č

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar 2009 1 Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero velja 0 f(e) u(e) za e E(G). Za v V (G) definiramo presežek

Prikaži več

Vedno pod nadzorom, kjerkoli že ste

Vedno pod nadzorom, kjerkoli že ste Vedno pod nadzorom, kjerkoli že ste 02 Vedno pod nadzorom, kjerkoli že ste Daikin zagotavlja novo rešitev za nadzorovanje in krmiljenje glavnih funkcij stanovanjskih notranjih enot. Sistem deluje na uporabniku

Prikaži več

Razvoj ve\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef \spacefactor }\accent 20 c

Razvoj ve\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef \spacefactor }\accent 20 c Univerza v Ljubljani Fakulteta za računalništvo in informatiko Jan Sušnik Razvoj večplatformnih aplikacij s pomočjo spletnih tehnologij za področje TV sporedov DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI

Prikaži več

Projektno delo

Projektno delo Elvir Turan SISTEM ZA NADZOR ANDROID NAPRAVE Projektno delo MARIBOR, SEPTEMBER 2017 SISTEM ZA NADZOR ANDROID NAPRAVE Projektno delo Študent: Študijski program: Mentor: Somentor: Elvir Turan Univerzitetni

Prikaži več

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Peter Šfiligoj Analiza primernosti orodja za hiter razvoj aplikacij DIPLOMSKO DELO VISO

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Peter Šfiligoj Analiza primernosti orodja za hiter razvoj aplikacij DIPLOMSKO DELO VISO Univerza v Ljubljani Fakulteta za računalništvo in informatiko Peter Šfiligoj Analiza primernosti orodja za hiter razvoj aplikacij DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

Prikaži več

Diapozitiv 1

Diapozitiv 1 Vhodno izhodne naprave Laboratorijska vaja 4 - AV 4 Linije LTSpice, simulacija elektronskih vezij VIN - LV 1 Rozman,Škraba, FRI LTSpice LTSpice: http://www.linear.com/designtools/software/ https://www.analog.com/en/design-center/design-tools-andcalculators/ltspice-simulator.html

Prikaži več

bob p. p Ljubljana Tel.: (cena klica na minuto je 1 z DDV) Posebni pogoji uporabe storitve moj bob

bob p. p Ljubljana Tel.: (cena klica na minuto je 1 z DDV)   Posebni pogoji uporabe storitve moj bob bob p. p. 415 1001 Ljubljana Tel.: 090 068 068 (cena klica na minuto je 1 z DDV) www.bob.si Posebni pogoji uporabe storitve moj bob Kazalo Uvod 5 Opredelitve 5 Registracija in uporaba Storitve moj bob

Prikaži več

1. IDENTIFIKACIJA PODATKOVNEGA NIZA 1.1 Naslov Strukturno-tektonska karta Slovenije 1: Alternativni naslov Strukturno-tektonska karta Slove

1. IDENTIFIKACIJA PODATKOVNEGA NIZA 1.1 Naslov Strukturno-tektonska karta Slovenije 1: Alternativni naslov Strukturno-tektonska karta Slove 1. IDENTIFIKACIJA PODATKOVNEGA NIZA 1.1 Naslov Strukturno-tektonska karta Slovenije 1:250.000 1.2 Alternativni naslov Strukturno-tektonska karta Slovenije 1:250.000 1.3 Okrajšani naslov - 1.4 Globalni

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č

II-RIS-Primer Seminarske Naloge Redni-LJ

II-RIS-Primer Seminarske Naloge Redni-LJ UNIVERZA V LJUBLJANI FAKULTETA ZA UPRAVO Študijski program: Visokošolski strokovni program Uprava Prva stopnja (bolonjski) Način študija: redni ČIŠČENJE VOZIL V AVTOPRALNICI Seminarska naloga Predmet:

Prikaži več

Teorija kodiranja in kriptografija 2013/ AES

Teorija kodiranja in kriptografija 2013/ AES Teorija kodiranja in kriptografija 23/24 AES Arjana Žitnik Univerza v Ljubljani, Fakulteta za matematiko in fiziko Ljubljana, 8. 3. 24 AES - zgodovina Septembra 997 je NIST objavil natečaj za izbor nove

Prikaži več

Programska sprememba oddelka šole

Programska sprememba oddelka šole Pomoč uporabnikom Programska sprememba oddelka šole -NA-SI-355, V1.0 IZUM, 2018 COBISS, COMARC, COBIB, COLIB, IZUM so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Navodila... 1 2 Postopek...

Prikaži več

Najboljša skupaj Kontrola pristopa + registracija delovnega časa

Najboljša skupaj Kontrola pristopa + registracija delovnega časa Najboljša skupaj Kontrola pristopa + registracija delovnega časa Globalna rešitev prilagojena lokalnemu okolju Rešitev Time&Space je na voljo v 15-ih jezikih ter podpira latinico, cirilico in arabsko pisavo.

Prikaži več

Protege, I.Savnik

Protege, I.Savnik Protégé Iztok Savnik Uporabljeni viri: A Practical Guide To Building OWL Ontologies Using Protege 4 and CO ODE Tools, Edition 1.1 http://protege.stanford.edu/ Protégé OWL ontologije za Semantični splet

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č

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č

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Vito Resnik RAZVOJ APLIKACIJE ZA NAROČANJE IN SPREMLJANJE MERITEV IZDELK

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Vito Resnik RAZVOJ APLIKACIJE ZA NAROČANJE IN SPREMLJANJE MERITEV IZDELK UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Vito Resnik RAZVOJ APLIKACIJE ZA NAROČANJE IN SPREMLJANJE MERITEV IZDELKOV Diplomsko delo Maribor, november 2016 RAZVOJ APLIKACIJE

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č

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Renato Mikša PROTOKOL SNMP IN NAMESTNIŠKI STREŢNIK Diplomska naloga Mari

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Renato Mikša PROTOKOL SNMP IN NAMESTNIŠKI STREŢNIK Diplomska naloga Mari UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Renato Mikša PROTOKOL SNMP IN NAMESTNIŠKI STREŢNIK Diplomska naloga Maribor, september 2008 i UNIVERZA V MARIBORU FAKULTETA

Prikaži več

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Milan Gabor Analiza varnostnih tveganj v mobilnih aplikacijah na platfor

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Milan Gabor Analiza varnostnih tveganj v mobilnih aplikacijah na platfor UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Milan Gabor Analiza varnostnih tveganj v mobilnih aplikacijah na platformi Android Diplomsko delo Maribor, avgust 2016 ANALIZA

Prikaži več