Aplikacija za beleženje casa

Velikost: px
Začni prikazovanje s strani:

Download "Aplikacija za beleženje casa"

Transkripcija

1 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: doc. dr. Rok Rupnik Ljubljana 2014

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. Besedilo je oblikovano z urejevalnikom besedil L A TEX.

4

5 Fakulteta za računalništvo in informatiko izdaja naslednjo nalogo: Tematika naloge: Beleženje in evidentiranje porabljenega časa za dnevne delovne aktivnosti je pomembno za podjetja več gospodarskih branž. Analizirajte nekaj obstoječih aplikacij za evidentiranje porabljenega časa. Na podlagi ugotovitev analize zasnujte in razvijte spletno aplikacijo za evidentiranje časa. Pri izbiri tehnologij za razvoj upoštevajte, da naj aplikacija ne deluje le v brskalnikih računalnikov, temveč naj deluje tudi na čim več različnih mobilnih napravah.

6

7 Izjava o avtorstvu diplomskega dela Spodaj podpisani Peter Povirk, z vpisno številko , sem avtor diplomskega dela z naslovom: Aplikacija za beleženje časa S svojim podpisom zagotavljam, da: sem diplomsko delo izdelal samostojno pod mentorstvom doc. dr. Roka Rupnika, 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 na svetovnem spletu preko univerzitetnega spletnega arhiva. V Ljubljani, dne 8. septembra 2014 Podpis avtorja:

8

9 Kazalo Povzetek Abstract 1 Uvod Opis problema Pregled obstoječih rešitev Toggl Timecamp Tehnologije Računalništvo v oblaku IaaS PaaS SaaS Spletne tehnologije PHP Ogrodje Symfony MySQL JavaScript in knjižnica jquery REST Opis funkcionalnosti aplikacije Uporabniki Facebook PayPal

10 KAZALO 3.2 Stranke Projekti Časovni vnosi Poročila in izvozi Večjezičnost Arhitektura Opis uporabljene programske opreme Arhitektura baze Zagotavljanje varnosti Vmesnik API Opravila CRON Testiranje Testiranje enot in PHPUnit Testiranje funkcionalnosti Možne izboljšave Dodatne funkcionalnosti Prijava z Izboljšanje uporabniške izkušnje Uporabniške vloge Integracije Skaliranje Vertikalno skaliranje Horizontalno skaliranje Skaliranje naše aplikacije Sklepne ugotovitve 35

11 Seznam uporabljenih kratic API (angl. Application Programming Interface) - Programski vmesnik, ki se uporablja za povezovanje različnih programov CSS (angl. Cascading Style Sheets) - Kaskadne stilske podloge, preprost mehanizem za dodajanje stilov, barv, ozadij spletnih stranem CRUD (angl. Create Read Update Delete) - Ustvari, poglej, posodobi in izbriši so štiri tipične operacije, ki jih izvajamo na elementih HTML (angl. Hypertext Markup Language) - označevalni jezik, ki ga brskalnik prikaže kot spletno stran IaaS (angl. Infrastructure as a Service) - infrastruktura kot storitev, najem fizične in virtualne računalniške opreme JSON (angl. JavaScript Object Notation) - Zapis (format) objekta v jeziku JavaScript MVC (angl. Model View Controller) - arhitektura Model Pogled Krmilnik, ki se uporablja za boljšo ločenost med podatki v bazo, programsko kodo in HTML kodo PaaS (angl. Platform as a Service) - platforma kot storitev, najem fizične opreme s prednaloženo osnovno programsko opremo REST (angl. Representational state transfer) - predstavitveni prenos stanja, enostaven protokol za izmenjavo podatkov med odjemalcem in strežnikom SaaS (angl. Software as a Service) - programska oprema kot storitev, najem aplikacij in pogosto uporaba le-teh preko svetovnega spleta SOAP (angl. Simple Object Access Protocol) - manj enostaven protokol za izmenjavo podatkov med spletnimi storitvami SQL (angl. Structured Query Language) - strukturiran povpraševalni jezik, ki se uporablja v relacijskih bazah podatkov

12

13 Povzetek Namen diplomskega dela je predstaviti izdelavo spletne aplikacije za beleženje časa. Beleženje časa nam omogoča spremljanje finančnega stanja naših projektov, izkoriščenosti posameznih kadrov in optimizacijo poslovanja. Še posebej pomembno je za samostojne podjetnike in manjše ekipe, ki nimajo sistema za evidenco delovnega časa z uporabo kartic. Spletna aplikacija je zaradi odzivnega oblikovanja na voljo na vseh napravah, ki imajo dostop do svetovnega spleta od pametnih telefonov do osebnih računalnikov. Uporabniki lahko beležijo svoj čas z uporabo štoparice ali pa svoje časovne vnose vnesejo za nazaj. Aplikacija omogoča pregled časovnih vnosov z uporabo različnih filtrov (po projektu, po stranki) in izvoz podatkov v različnih formatih. Ključne besede: beleženje časa, spletna aplikacija, splet, www, symfony2, php, mysql, saas.

14

15 Abstract We built a time tracking web application and documented every step of it in this thesis. Time tracking is of great importance to companies as it offers them insights into financial status of each project, human resources usage and enables them to optimize their operations. Freelancers and small teams would benefit most from our application because they usually don t have time tracking terminals in their offices. Our application can be used on virtually all web capable devices such as smart phones, tablets and PCs due to responsive design. Users can track their time using our stopwatch in real-time or manually enter duration for past entries. Our application offers export in PDF and XLS formats as well as custom filters (by project, by client). Keywords: time tracking, time logging, web application, web, www, symfony2, php, mysql, saas.

16

17 Poglavje 1 Uvod V diplomski nalogi bomo v Poglavju 1 predstavili probleme z beleženjem časa v manjših kolektivih, v Poglavju 2 si bomo pogledali, kakšne tehnologije so nam na voljo za rešitev problema ob razvoju računalništva v oblaku in kako lahko uporabimo spletne tehnologije za izdelavo aplikacij, ki so dostopne na različnih napravah. Poglavje 3 je namenjeno opisu glavnih funkcij rešitve s stališča uporabnika, medtem ko Poglavje 4 razkriva tehnične podrobnosti rešitve in tehnologije, ki smo jih uporabili. Posebno pozornost smo posvetili avtomatskemu testiranju programske opreme, ki se prevečkrat zanemarja - več v Poglavju 5. Zaključimo s Poglavjem 6, kjer predstavimo možne izboljšave oziroma nadaljnje možnosti za razvoj naše spletne aplikacije. 1.1 Opis problema Beleženje časa (angl. time tracking) je pomembno povsod, kjer se tekom delovnega dneva srečujemo z različnimi projekti, ki jih opravljamo za različne stranke. Na ta način lahko spremljamo zaposlene (za potrebe obračuna osebnih dohodkov in izkoriščenosti) in finančno uspešnost projektov (so naše cene primerne?), kar je še posebej pomembno za vodje projektov. V večjih podjetjih se za beleženje časa uporablja draga programska oprema, ki si je samostojni podjetniki in manjše ekipe ponavadi ne morejo privoščiti. Večja podjetja uporabljajo tudi registratorje časa, kjer zaposleni ob prihodu in odhodu 1

18 2 POGLAVJE 1. UVOD ob registrator prislonijo kartico. Ta naprava sicer beleži skupni delovni čas zaposlenega, ne zna pa ga razdeliti med projekte. Manjša podjetja se tako zatečejo k uporabi preglednic ali pa še huje - evidence vodijo v papirnati obliki, kar je dober recept za neorganizirano poslovanje, saj ne vedo, za katere naloge njihovi zaposleni porabljajo čas. Omeniti je potrebno tudi izgubo dragocenih podatkov, saj v primeru požara vsi podatki izginejo. Rešitev za to so aplikacije v obliki programske opreme kot storitve (angl. Software as a service). Omogočajo varno hrambo podatkov v oblaku (angl. cloud) z nizkimi stroški, primerne pa so tudi za tehnično slabše izobražene posameznike, saj imajo prijazen uporabniški vmesnik. Dostopne so preko svetovnega spleta (iz pisarne, od doma, s terena) s kateregakoli operacijskega sistema. Cilj naše aplikacije je torej odgovoriti na vprašanje direktorja, šefa, vodje: Kaj je moja ekipa počela včeraj? 1.2 Pregled obstoječih rešitev Na tržišču je na voljo mnogo različnih rešitev za beleženje časa. Omenili bomo nekatere, ki so posebej primerne za samostojne podjetnike in male ekipe. Osredotočili smo se na rešitve, ki za svoje delovanje ne potrebujejo fizičnega čitalca kartic ampak se zanašajo na ročni vnos delovnega časa. Omejili smo se tudi na rešitve, ki delujejo preko spletnega brskalnika in ki smo jih lahko brezplačno testirali Toggl Toggl [1] je aplikacija, ki ponuja beleženje časa. Večina funkcij je brezplačna, zato je še posebej primerna za tiste, ki se s potrebo po beleženju časa srečujejo prvič, za nekatere napredne funkcije pa je potrebno plačati. Poleg vnosa preko spletne strani omogoča tudi uporabo namiznega programa, ki deluje na vseh večjih operacijskih sistemih. Razvijalci Toggl-a so se še posebej potrudili pri uporabniški izkušnji, saj je vnos časovnih vnosov enostaven in hiter, kot je razvidno na Sliki 1.1.

19 1.2. PREGLED OBSTOJEČIH REŠITEV 3 Omogoča tudi enostavno ustvarjanje poročil z možnostjo filtriranja po času, projektu in stranki. Slika 1.1: Vmesnik aplikacije Toggl Timecamp Timecamp [2] se beleženja časa loti na drugačen način. Omogoča sinhronizacijo podatkov s storitvami, ki jih zaposleni uporabljajo pri svojem delu, kot so programi za vodenje projektov in računovodski programi. Z enostavnim uvozom projektov iz prej omenjenih programov je potrebno zaposlenim samo še dodati čas, ki je bil porabljen na posameznem projektu, Timecamp pa omogoči pregled nad vsemi porabljenimi urami in porabljenimi sredstvi. Kot je razvidno iz uporabniškega vmes 1.2, je možen tudi ročni vnos podatkov. Timecamp omogoča tudi uporabi namiznega program, možno pa ga je uporabljati tudi na pametnih telefonih.

20 4 POGLAVJE 1. UVOD Slika 1.2: Vmesnik aplikacije Timecamp

21 Poglavje 2 Tehnologije 2.1 Računalništvo v oblaku Računalništvo v oblaku (angl.cloud computing) lahko opredelimo kot storitev, ki nam omogoča obdelavo podatkov (vse vrste računanja). Pojem je povezan z deljenjem sredstev kot so procesor, pomnilnik in diskovni prostor z drugimi uporabniki. [3] Za uporabnike je računalništvo v oblaku zanimivo, ker znatno zmanjša stroške in potrebe po usposobljenih kadrih. Manjšim podjetjem tako ni treba kupiti dragih strežnikov ampak jih preprosto najamejo pri ponudnikih storitev. S tem prihranijo tudi pri kadrovskih stroških, saj za najete strežnike skrbi ponudnik sam. Enako velja tudi za programsko opremo: manjša podjetja si na začetku njihove poslovne poti lažje privoščijo mesečno najemnino programske opreme kot pa nakup dragih (trajnih) licenc. Računalništvo v oblaku delimo na tri glavne tipe, ki jih bomo v nadaljevanju bolj podrobno spoznali: IaaS - infrastruktura kot storitev (angl. Infrastructure as a service), PaaS - platforma kot storitev (angl. Platform as a service) in SaaS - programska oprema kot storitev (angl. Software as a service). 5

22 6 POGLAVJE 2. TEHNOLOGIJE IaaS Infrastruktura kot storitev je osnoven model računalništva v oblaku se navezuje na ponujanje strojne opreme v najem, bodisi fizične ali virtualne. Ponudnik je lastnik in vzdrževalec strojne opreme, svojim strankam pa jo daje v najem na podlagi vnaprej dogovorjenih pogojev. Ponudniki so navadno večja podjetja, ki imajo svoje ali najete prostore, ki so primerni za gostovanje strežnikov. Skrbijo za fizično varovanje, imajo generatorje za primer izpada električne energije in odlično internetno povezljivost. Največkrat uporabnik najame določeno količino določenih sredstev, na primer virtualni računalnik, ki ima 2 GHz procesor, 2 GB pomnilnika in 20 GB trdega diska. Uporabnik lahko v večini primerov svoja sredstva na enostaven način poljubno nadgrajuje ali znižuje glede na potrebe oziroma zasedenost, kar še posebej potrebujejo nova, majhna podjetja, ki se hitro razvijajo. Ta model storitve zajema samo strojno opremo, kot je strežnik ali omrežna oprema. Primer takega ponudnika je na primer ponudnik gostovanja, ki ponuja najem virtualnega strežnika PaaS Platforma kot storitev je nadgradnja infrastrukture kot storitev z osnovno programsko opremo in okoljem. Ponudnik na svojo strojno opremo namesti in vzdržuje ter posodablja operacijski sistem, bazo podatkov, spletni strežnik in knjižnice, ki jih posamezen programski jezik potrebuje. Namenjena je razvijalcem, ki nimajo znanja administracije sistemov ali pa želijo svoj čas posvetiti razvoju aplikacije in se ne želijo obremenjevati z vzdrževanjem okolja. Različni ponudniki podpirajo različne programske jezike, vsi pa zagotavljajo več kot 99.9% čas delovanja (angl. uptime). Znana primera IaaS ponudnikov sta Google s storitvijo App Engine [4] in Microsoft s storitvijo Azure [5] SaaS Programska oprema kot storitev opisuje poslovni model, kjer ponudnik storitve strankam ponuja uporabo aplikacije. Ponudnik skrbi za hrambo in varnost podat-

23 2.2. SPLETNE TEHNOLOGIJE 7 kov strank. Ponudnik strankam pogosto zaračunava uporabo storitve glede na število uporabnikov, stranke pa večinoma niso vezane za dalj kot en mesec. Gre torej za mesečno naročnino, ponudnik pa strankam običajno ponuja več različnih paketov, na primer: bronastni, srebrni, zlati. Paketi z naprednimi funkcijami so seveda dražji, stranke pa lahko, glede na svoje potrebe in razvoj, prehajajo med paketi. Model SaaS je čedalje bolj priljubljen pri razvijalcih, saj omogoča hiter razvoj z nizkimi stroški. Še ena prednost je delovanje v brskalniku - če uporabimo odzivno oblikovanje ni važno, katero napravo oziroma kateri operacijski sistem ima uporabnik. Tako razvijalcu ni potrebno skrbeti, če bo program enako deloval na sistemu Windows kot na sistemu Mac, ni pa se mu treba tudi odreči delu trga. Majhne prototipe izdelka, ki so namenjeni hitremu preizkusu tržišča, imenovane MVP (angl. Minimum viable product je mogoče razviti že v nekaj tednih. S tem se razvijalci izognejo dolgotrajnemu razvoju izdelka, ki ga stranke na koncu ne bodo hotele kupiti. Za razliko od prejšnjih dveh modelov računalništva o oblaku, ki sta bila namenjena tehnično bolje izobraženim posameznikom, je ta model namenjen tudi tehnično manj veščim posameznikom. Uporabnik dobi uporabniško ime in geslo, s katerima se prijavi v sistem. Arhitektura sistema končnemu uporabniku ni znana, je transparentna, ponavadi pa gre za porazdeljen sistem. Primer SaaS storitve je poleg sistema, ki smo ga razvili v okviru diplomske naloge, Toggl [1]. 2.2 Spletne tehnologije V tem poglavju bomo predstavili glavne spletne tehnologije, ki so bile uporabljene za izvedbo naše aplikacije. Za naslednje spletne tehnologije smo se odločili predvsem zaradi dobrega poznavanja, primernosti in enostavnega ter hitrega razvoja, ki ga omogočajo PHP PHP je popularen, objektno orientiran skriptni jezik [7], ki je bil razvit prav za spletno programiranje, zato omogoča hiter razvoj spletnih aplikacij. Njegove ko-

24 8 POGLAVJE 2. TEHNOLOGIJE renine segajo v leto 1994, danes pa uporabljamo njegovo peto verzijo (PHP5). Jezik PHP je v januarju 2013 uporabljalo več kot 240 milijonov strani [8], zato ga podpira večina podjetij, ki ponujajo spletno gostovanje. Zaradi enostavnosti in razširjenosti je primeren tudi za učenje programiranja, na svetovnem spletu pa obstaja mnogo brezplačnih tečajev Ogrodje Symfony2 V jeziku PHP je razvito tudi ogrodje Symfony2, ki je skupek neodvisnih komponent [9]. Kot nakazuje že ime, gre za drugo verzijo. Začetki ogrodja sodijo v leto 2005, razvilo ga je podjetje SensioLabs. Uporablja se v popularnih odprotokodnih projektih kot sta Drupal [10] in phpbb [11]. Za ogrodje Symfony smo se odločili, ker je omogoča hiter razvoj in ponuja stabilno, dobro definirano arhitekturo. Celotno ogrodje temelji na principu MVC (angl. Model-View-Controller). Vstavljanje odvisnosti Poseben pomen posvetimo konceptu vstavljanje odvisnosti [12] (angl. dependecy injection), ki se v razvoju v jeziku PHP zelo redko pojavi, je pa za nas zelo pomemben koncept, ki je tudi vplival na izbiro ogrodja Symfony2. Pri vstavljanju odvisnosti vse zunanje odvisnosti v objekt prenesemo kot parameter konstruktorja objekta ali pa odvisnost nastavimo kot lastnost objekta. Z drugimi besedami - namesto, da si objekt odvisnosti ustvari sam, jih prejme kot parametre konstruktorja. To nam močno olajša testiranje enot, o katerem bomo več govorili v Poglavju 5. Komponente ogrodja Symfony2 Predstavili bomo nekaj najbolj popularnih, ključnih komponent ogrodja Symfony2: Console - komponenta, ki omogoča razvoj vmesnikov za ukazno vrstico DependencyInjection - komponenta, ki omogoča razvoj vmesnikov za ukazno vrstico EventDispatcher - komponenta, ki zagotavlja sistem za dogodke med izvajanjem

25 2.2. SPLETNE TEHNOLOGIJE 9 aplikacije (angl. events) (obveščanje, možnost prijave na obveščanje) Form - komponenta, ki vsebuje orodja za enostavno kreiranje in ponovno uporabo HTML obrazcev Routing - komponenta, ki omogoča enostavno prevedbo lepih naslovov URL na krmilnike Security - komponenta, ki vsebuje vso potrebno infrastrukturo za razvoj sistema za avtorizacijo in avtentikacijo MySQL MySQL je odprtokodna relacijska baza [13], ki je na drugem mestu po uporabi med odprtokodnimi relacijskimi bazami. [14]. Skupaj s PHP-jem in spletnim strežnik Apache [6] tvorijo na operacijskem sistemu Linux odprtokodni razvojni paket (angl. solution stack) LAMP, ki je zelo popularen med razvijalci spletnih rešitev. Uporablja dialekt jezika SQL, ki omogoča hitre poizvedbe. Ključni ukazi so: SELECT, INSERT, UPDATE in DELETE JavaScript in knjižnica jquery JavaScript je dinamičen skriptni jezik [15], ki navadno teče v brskalniku, lahko pa se izvaja tudi na strežniku. Uporablja ga večina spletnih strani, saj poskrbi za interaktivnost in omogoča dinamično vsebino brez ponovnega nalaganja strani. jquery je knjižnica za JavaScript, ki razvijalcem omogoča hitro implementacijo pogosto uporabljenih funkcionalnosti [16] kot so na primer: validacijo podatkov, skrivanje in prikazovanje elementov (na primer: obvestil), asinhrone zahteve na strežnik, animacije elementov (na primer: menjavanje oglasnih pasic) in še bi lahko naštevali.

26 10 POGLAVJE 2. TEHNOLOGIJE REST REST (angl. Representational state transfer) je arhitektura, na kateri temelji delovanje svetovnega spleta [17]. Loči med odjemalcem in strežnikom in nima stanj. Sicer ga nezavedno uporabljamo ob večini zahtev na svetovnem svetu, namenoma pa se omenja pri spletnih servisih, kjer je glavni način za izmenjavo podatkov. Za SaaS aplikacije je pomemben zaradi integracij, saj ga uporablja veliko vmesnikov API (angl. Application Programming Interface). Uspešna SaaS aplikacija omogoča enostavno izmenjavo podatkov v standardnih izmenjevalnih formatih kot sta XML in JSON.

27 Poglavje 3 Opis funkcionalnosti aplikacije V tem poglavju bomo opisali glavne funkcionalnosti aplikacije, čemu služijo in kakšni problemi so se pojavili pri razvoju le-teh. Uporabniški vmesnik je za uspešnost spletne aplikacije zelo pomemben, sploh če je na trgu že veliko konkurentov. Poleg uporabnikov so entitete, s katerimi se ukvarjamo še Stranka, Projekt in Časovni vnos. 3.1 Uporabniki Za dostop do aplikacije se je potrebno registrirati. Obrazec za registracijo je prikazan spodaj na Sliki 3.1. Želeli smo, da ima obrazec za registracijo minimalno število polj. Tako povečamo število registracij in s tem število potencialnih strank, morebitne druge podatke, ki jih želimo pridobiti, pa pridobimo naknadno preko urejanja podatkov uporabnika ali preko elektronske pošte. Lahko bi odstranili še polje uporabniško ime, saj je elektronska pošta unikaten identifikator, vendar se za ta korak nismo odločili, saj se v tem primeru lahko pojavijo težave ob spremembi elektronskega naslova uporabnika Facebook Glede na razširjenost socialnega omrežja Facebook in dejstva, da želijo imeti uporabniki čim manj uporabniških imen in gesel smo se odločili, da omogočimo upo- 11

28 12 POGLAVJE 3. OPIS FUNKCIONALNOSTI APLIKACIJE Slika 3.1: Obrazec za registracijo rabnikom poleg standardne registracije in prijave tudi prijavo s podatki, ki jih že uporabljajo na Facebook-u. Ustvarili smo Facebook aplikacijo, da smo dobili zahtevana parametra facebook app id in facebook app secret. Nastavili smo tudi naslov, na katerega Facebook preusmeri uporabnika po uspešni avtentikaciji. Nato smo uporabnika ob kliku na gumb Prijavi se s Facebook-om preusmerili na Facebook kjer se je moral, če že ni bil, prijaviti. Po uspešni prijavi je bil uporabnik preusmerjen nazaj na našo stran, prikazala pa se je prva stran za prijavljene uporabnike PayPal Cilj naše aplikacije za beleženje časa je seveda tudi poslovna uspešnost, to pa ni mogoče brez vsaj enega načina za sprejemanje plačil. Klasična načina, kot sta plačilo po povzetju ali bančno nakazilo, na spletu ne prideta v poštev, ker nista takojšnja. Ponudnik plačila ne prejme tako, zato mora uporabnik na odobritev dostopa čakati tudi po več dni. Zato ne preseneča dejstvo, da je med uporabniki spletnih storitev popularen

29 3.2. STRANKE 13 sistem za plačila PayPal [19], ki omogoča sprejemanje in pošiljanje v več kot 200 državah. Omogoča varno nakupovanje, saj uporabniku ni treba vpisovati številke kreditne kartice na vsaki spletni strani posebej, ampak jo vpiše samo v PayPalu, spletna stran pa ga ob nakupu samo preusmeri na PayPal, kjer uporabnik odobri transakcijo. PayPal omogoča tudi sprejemanje plačil za naročnine, kar je še posebej pomembno za SaaS aplikacije. Sam postopek je zelo podoben avtentikaciji z omrežjem Facebook. Uporabnika ob nakupu paketa preusmerimo na PayPal, kjer sklene naročnino (Slika 3.2). Po uspešnem plačilu je uporabnik preusmerjen nazaj na našo stran, naša aplikacija pa je s strani PayPal-a obveščena o uspešni transakciji, da lahko uporabniku dodamo novo ali podaljšamo obstoječo naročnino. PayPal nas o vseh spremembah statusa naročnine obvešča preko servisa IPN (angl. Instant Payment Notification) na naslov URL, ki smo ga vnesli v administraciji. Tako smo takoj obveščeni v primeru, da uporabnik naročnino prekliče ali pa v sistemu nima dovolj stanja za plačilo mesečne naročnine. Slika 3.2: Sklenitev naročnine v sistemu PayPal 3.2 Stranke Stranka je entiteta v sistemu, kateri se dodeli projekte. Na Sliki 3.3 je razvidno, da ne vsebuje veliko polj - samo naziv in opis.

30 14 POGLAVJE 3. OPIS FUNKCIONALNOSTI APLIKACIJE Entiteto Stranka bi lahko razširili s poljem obračunski interval, ki bi, če bi bil nastavljen na na primer 30 minut, vse časovne vnose navzgor zaokrožil na 30 minut. Za izboljšanje uporabniške izkušnje bi lahko vsaki stranki dodali tudi barvo, da bi se uporabnik lažje znašel v pregledu že opravljenih časovnih vnosov. Smiselno bi bilo tudi, da bi uporabnik lahko stranke uvažal iz svojega programa za elektronsko pošto. Slika 3.3: Obrazec za urejanje stranke 3.3 Projekti Vsaka stranka ima lahko več projektov, projektu pa lahko poleg naziva in opisa nastavimo tudi stranko. Projekte lahko, kot je razvidno s Slike 3.4, poleg naziva in opisa razvrščamo po datumu ustvarjanja ali spremembe. Pri časovnih vnosih je ime projekta združeno z imenom stranke. Projekt Testni projekt, ki pripada stranki Testna stranka, je prikazan kot Testni projekt (Testna stranka). Na ta način omogočimo uporabnikom boljšo preglednost pripadnosti posameznega časovnega vnosa. 3.4 Časovni vnosi Časovni vnos je osnovna entiteta v sistemu. Pripada projektu in posledično tudi stranki.

31 3.4. ČASOVNI VNOSI 15 Slika 3.4: Razvrščanje projektov Zaradi enostavnosti vnosa je polje projekt neobvezno. To nam omogoča hiter vnos časovnih vnosov tudi za nove projekte, ki jih še nimamo v sistemu, povzroči pa nam težave pri poročilih in izvozih, saj ne vemo, kam naj štejemo ta porabljen čas. Časovni vnos lahko vnesemo ročno (Slika 3.5) ali pa uporabimo štoparico (Slika 3.6). Ročni vnos je namenjen predvsem preteklim časovnim vnosom ali pa tistim, ki jih zaradi različnih okoliščin (na primer: bili smo na terenu brez dostopa do spleta) nismo mogli vnesti. Pri ročnem vnosu lahko izberemo tudi datuma vnosa. Polje za vnos časa sprejme vnos oblike ure:minute ali pa samo minute. Slika 3.5: Ročni vnos časovnega vnosa

32 16 POGLAVJE 3. OPIS FUNKCIONALNOSTI APLIKACIJE Štoparica pa je idealna za vnos tistih nalog, ki jih opravljamo v pisarni, saj ob začetku naloge enostavno pritisnemo gumb Začni ob koncu pa gumb Končaj. Medtem, ko nalogo opravljamo, nam ni treba imeti odprtega brskalnika ali pa sploh prižganega računalnika, saj je za merjenje časa zadolžen strežnik. Posebno pozornost je potrebno nameniti izbiri časovnega pasu. Ta se ne sme spreminjati medtem, ko je nek časovni vnos uporabnika aktiven, saj bi v tem primeru lahko prišli v situacijo, ko bi končali z merjenjem časa kasneje kot smo začeli. Slika 3.6: Vnos časovnega vnosa preko štoparice Ob pritisku na gumb Začni se uporabniku trenutni časovni vnos nastavi kot aktiven, zabeleži se tudi trenutni strežniški čas. Če uporabnik zapre stran, se ob ponovnem obisku aktivni časovni vnos prebere iz baze, štoparica pa se nastavi na pravilen čas in merjenje časa se nadaljuje. 3.5 Poročila in izvozi Pomemben del aplikacije so tudi poročila, saj brez ne vemo, koliko moramo določeni stranki zaračunati oziroma koliko ur je bilo porabljenih na določenem projektu. Slika 3.7 prikazuje vmesnik za izbiro časovnega okvirja izvoza. Vsebuje šest vnaprej določenih možnosti (danes, včeraj, ta teden, prejšnji teden, ta mesec in prejšnji mesec), omogoča pa tudi poljuben začetka in konca časovnega okvirja. Za izvoze smo podprli dva popularna formata: PDF in XLS. Za generiranje PDF dokumentov smo uporabili odprtokodno orodje wkhtmltopdf [22], ki kodo HTML pretvori v format PDF. Naredili smo preprosto HTML tabelo, uporabili smo enak izgled kot pri poročilih in tudi tukaj je bilo uporabljeno ogrodje Twitter Bootstrap. Večjih težav nismo imeli, problem je bil samo s šumniki. Rezultat si lahko ogledate na Sliki3.8.

33 3.5. POROČILA IN IZVOZI 17 Slika 3.7: Vmesnik za določanje časovnega okvirja poročil Slika 3.8: Poročilo v formatu PDF Za generiranje XLS dokumentov smo uporabili odprtokodno knjižnico PHPExcel [21], katere uporaba je zelo enostavna: $phpexcelobject = $ t h i s >get ( phpexcel ) > createphpexcelobject ( ) ; // Set a c t i v e s h e e t index to the f i r s t sheet, so Excel opens t h i s as the f i r s t s h e e t $phpexcelobject >s e t A c t i v e SheetIndex ( 0 ) ; // t i t l e row... // header row... $ i = 4 ; foreach ( $ e n t r i e s as $entry ) { // add e n t r i e s

34 18 POGLAVJE 3. OPIS FUNKCIONALNOSTI APLIKACIJE }... $ a c t i v e S h e e t >s e t C e l l V a l u e ( A. $i, $entry >getid ( ) ) >s e t C e l l V a l u e ( B. $i, $content ) >s e t C e l l V a l u e ( C. $i, $ p r o j e c t ) >s e t C e l l V a l u e ( D. $i, PericeExtension : : f o r m a t D u r a t i o n F i l t e r S t a t i c ( $entry > getduration ( ), $ t h i s >get ( t r a n s l a t o r ) ) ) >s e t C e l l V a l u e ( E. $i, $entry > getstartedat ( ) >format ( s e l f : : DATE TIME FORMAT) ) ; $ i ++; Od odprtju datoteke sicer Microsoft Excel prikaže sporočilo, da je datoteka lahko nevarna, ker izvira s spletne lokacije, česar žal ne moremo preprečiti. Izgled dokumenta XLS si lahko ogledate na Sliki3.9. Slika 3.9: Poročilo v formatu XLS 3.6 Večjezičnost Že od začetka smo planirali, da bi aplikacija lahko podpirala več jezikov, če bi bilo to potrebno. Vsa besedila, imena polj, napisi na gumbih in ostali teksti so zbrani v ločeni datoteki v obliki asociativne tabele:...

35 3.6. VEČJEZIČNOST 19 customer. t i t l e => Naziv stranke, customer. d e s c r i p t i o n => Opis stranke,... Ogrodje Symfony za določitev jezika za prevode uporablja parameter locale. Tabela s prevodi se nahaja v datoteki messages.[locale].php, za slovenščino torej messages.sl.php. Za dodajanje novega jezika je tako potrebno prevesti samo to datoteko, programska in HTML koda pa ostaneta nespremenjeni. To tudi pomeni, da za prevajalca ni potrebno znanje jezika HTML.

36 20 POGLAVJE 3. OPIS FUNKCIONALNOSTI APLIKACIJE

37 Poglavje 4 Arhitektura 4.1 Opis uporabljene programske opreme Za razvojno okolje smo uporabili okolje za razvoj spletnih aplikacij WAMP (Windows Apache MySQL PHP) [24]. Sestavljajo ga štiri komponente, ki smo jih bolj podrobno predstavili že v Poglavju 2: operacijski sistem Windows, odprtokodni spletni strežnik Apache, odprtokodna relacijska baza MySQL in programski jezik PHP. 4.2 Arhitektura baze Symfony za delo z bazo uporablja Doctrine ORM (Object relational mapper) [25]. Programerju omogoča, da piše poizvedbe v jeziku DQL (angl. Doctrine Query Language). Aplikacija je tako prenosljiva med različnimi bazami podatkov (MySQL, PostgreSQL, Microsoft SQL). Doctrine dela z objekti ne glede na to, koliko poizvedb je za to potrebnih v ozadju. Nudi nam hitre bližnjice kot so ->find($id), ki nam vrne objekt s ključem $id, ki omogočajo izjemno hiter razvoj. 21

38 22 POGLAVJE 4. ARHITEKTURA Struktura baze je zasnova na osnovnih relacijah med objekti in večuporabniškim okoljem angl. multi-tenancy. Uporabnik ima lahko več strank, vsaka stranka ima lahko več projektov, vsak projekt ima lahko več časovnih vnosov. Slika 4.1: Arhitektura baze

39 4.3. ZAGOTAVLJANJE VARNOSTI Zagotavljanje varnosti Zagotavljanje varnosti je pri spletnih aplikacijah še posebej pomembno. Potencialne stranke je potrebo prepričati, da so njihovi podatki na spletu enako varni kot tisti, ki se nahajajo na njihovih osebnih računalnikih ali internih strežnikih podjetja. Odločili smo se za uporabo 128 bitnega certifikata SSL (angl. Secure Sockets Layer) [26]. Vsi podatki, ki se izmenjujejo preko protokola HTTPS (angl. Hypertext Transfer Protocol Secure), so šifrirani. [27] Podatke šifrirata strežnik in brskalnik na podlagi vnaprej dogovorjenega sejnega ključa, ki ga vzpostavita v postopku, ki ga imenujemo rokovanje (angl. handshake). Uporaba protokola HTTPS nam omogoča tudi enostavnejšo implementacijo vmesnika API, saj je za avtentikacijo uporabnik dovolj le ključ API, ki si ga, ob morebitnem razkritju, uporabnik lahko ponovno ustvari v administrativnem vmesniku. 4.4 Vmesnik API Vmesnik API smo zasnovali zato, da bi imela naša spletna aplikacija zaradi enostavnega načina integracije čim večje možnosti za uspeh na tržišču. Odločili smo se za protokol REST, ki je v primerjavi s protokolom SOAP (angl. Simple Object Access protocol) bolj enostaven za implementacijo. Za dostop do vmesnika API potrebuje uporabnik ključ API, ki mu ga dodelimo ob registraciji. Ključ API je niz naključnih znakov dolžine 32. Uporabnik ga lahko kadarkoli spremeni. Vsi klici vmesnika API potrebujejo obvezen parameter ključ API, ki ga uporabimo za avtentikacijo uporabnika. Preko vmesnika API smo izpostavili vse ključne entitete (Stranka, Projekt, Časovni vnos) in njihove CRUD (angl. Create Read Update Delete) operacij. V skladu s protokolom REST je struktura zahtev zelo preprosta. Uporabili smo angleška imena entitet (client, project, entry) in angleška imena operacij (list, add, edit, delete). Vmesnik API sprejme vse zahteve samo v obliki zahteve HTTP metode POST. Metoda POST je v primerjavi z metodo GET veliko bolj varna, saj parametrov zahteve ne shranjuje v dnevniških zapisih strežnika.

40 24 POGLAVJE 4. ARHITEKTURA Zahteve imajo naslednjo strukturo URL: prikaz seznama entitet: /api/{entiteta}/list, primer: /api/client/list dodanje nove entitete: /api/{entiteta}/add, primer: /api/project/add urejanje obstoječe entitete: /api/{entiteta}/edit/{id} primer: /api/entry/edit/6 brisanje entitete: /api/{entiteta}/delete/{id}, primer: /api/client/delete/8 Različne zahteve sprejmejo tudi različne parametre kot so polja in in njihove vrednosti pri dodajanju in urejanju ter maksimalno število rezultatov pri prikazu seznama. Primer odgovora vmesnika API za poizvedbo /api/entry/list: [ { id : 123, c r e a t e d a t : T12 :26: , updated at : T12 :26: , s t a r t e d a t : T12 :26: , ended at : T12 :26: , duration : 1380, duration rounded : 1380, type : 1, s t a t e : 3, content : vsebina t e s t }, { id : 122, p r o j e c t : { id : 1, c l i e n t : {

41 4.4. VMESNIK API 25 ] id : 2, t i t l e : t e s t c l i e n t n o 2, d e s c r i p t i o n : t e s t d e s c 2, b i l l i n g i n t e r v a l : 30 }, t i t l e : t e s t p r o j e c t 1, d e s c r i p t i o n : t e s t d e s c 1 }, c r e a t e d a t : T12 :19: , updated at : T12 :22: , s t a r t e d a t : T12 :19: , ended at : T12 :22: , duration : 172, duration rounded : 172, type : 1, s t a t e : 3, content : t e s t n i vnos abc }, { id : 121, c r e a t e d a t : T12 :19: , updated at : T12 :19: , s t a r t e d a t : T12 :19: , ended at : T12 :19: , duration : 2, duration rounded : 2, type : 1, s t a t e : 3, content : }

42 26 POGLAVJE 4. ARHITEKTURA 4.5 Opravila CRON Za potrebe avtomatskega generiranja poročil smo uporabili komponento Console ogrodja Symfony. Omogoča nam enostavno izdelavo ukazov za ukazno vrstico (angl command line). Še posebej uporabni so za periodična opravila kot so uvozi in izvozi. Za uporabnike smo pripravili enostavne povzetke o tedenskem delu, ki se pošiljajo vsak ponedeljek za prejšnji teden in vsak peti dan v mesecu za prejšnji teden. Tako omogočimo tudi vnose za nazaj, saj prvega v mesecu nekateri sodelavci morda še nimajo za nazaj vpisanih vseh vnosov. Klica komponente sta enostavna: php app/console reports:generate weekly in php app/console reports:generate monthly Uporabniki prejmejo poročila na naslov s priponkama v formatih PDF in XLS.

43 Poglavje 5 Testiranje Za zagotavljanje stabilnosti spletne aplikacije smo se odločili, da za pomembnejše funkcionalnosti uporabimo dve različni tehniki avtomatskega testiranja: testiranje enot in testiranje funkcionalnosti. Pri testiranju enot (angl. unit testing) testiramo najmanjši, samostojen del kode, ki ga je možno testirati, pogosto je to metoda ali funkcija. Uporabili smo tudi testiranje funkcionalnosti (angl. functional testing). Za razliko od testiranja enot testiranje funkcionalnosti testira večjo akcijo kot je na primer prijava uporabnika, kjer testiramo več komponent. Za skriptni jezik PHP je bilo razvito ogrodje za testiranje enot PHPUnit[28], ki ga bomo v nadaljevanju podrobneje predstavili. Izbrali smo ga predvsem zaradi razširjenosti, zrelosti in enostavne integracije z ogrodjem Symfony Testiranje enot in PHPUnit Avtomatsko testiranje enot nam omogoča: prihranek časa, saj test napišemo enkrat, poženemo pa ga lahko ob vsaki večji spremembi kode, natančnost, ki je pri ročnem testiranju ne moremo zagotoviti in 27

44 28 POGLAVJE 5. TESTIRANJE hitrost, saj lahko v nekaj minutah testiramo celotno (manjšo) aplikacijo. Funkcije testiramo tako, da jim podamo zahtevane parametre in ocenimo (angl. assert) rezultat. Za oceno pogosto uporabljamo funkcije kot so: manjše, večje, je enako oziroma pravilno / nepravilno (angl. true / false). Preprost primer, ki preveri, če računalo vrne 42, ko kličemo funkcijo seštej z argumentoma 30 in 12, si lahko ogledate na Sliki 5.1. Slika 5.1: Primer testiranja enot PHPUnit poženemo iz ukazne vrstice s preprostim ukazom: phpunit c app/ V primeru uspeha nam izpiše: Time : 1.43 minutes, Memory : 74.00Mb [ 3 0 ; 4 2mOK (21 t e s t s, 21 a s s e r t i o n s ) [ 0m Če pa kakšen test ne uspe, pa dobimo ustrezno sporočilo o napaki: [ 4 1 ; 3 7 mf[ 0m

45 5.2. TESTIRANJE FUNKCIONALNOSTI 29 Time : 1. 4 minutes, Memory : 74.25Mb There was 1 f a i l u r e : 1) P e r i c e \ TimetrackerBundle \ Tests \ C o n t r o l l e r \ e n t r y C o n t r o l l e r T e s t : : t e s t E d i t F a i l e d a s s e r t i n g that f a l s e i s true. D: \www\ diploma \ s r c \ P e r i c e \ TimetrackerBundle \ Tests \ C o n t r o l l e r \ EntryControllerTest. php : 7 0 [ 3 7 ; 4 1m [ 0m [ 3 7 ; 4 1mFAILURES! [ 0m [ 3 7 ; 4 1 mtests : 21, A s s e r t i o n s : 21, F a i l u r e s : 1. [ 0m 5.2 Testiranje funkcionalnosti Testiranje funkcionalnosti uporabimo za testiranje zaključene akcije, kot je na primer urejanje časovnega vnosa. Testiramo naslednje komponente: usmerjanje (angl. routing), baza podatkov, krmilnik (angl. controller) in pogled (angl. view). Poleg urejanja časovnega vnosa testiramo tudi prijavo, saj moramo biti za urejanje časovnega vnosa, ki nam pripada, prijavljeni v spletno aplikacijo. Kodo testa si lahko ogledate na Sliki 5.2, kjer je tudi jasno razvidno, kako hitro lahko v okolju Symfony2 razvijemo teste. Postopek funkcionalnega testa je sledeč: prijavi se v sistem, naloži stran za urejanje časovnega vnosa številka 1,

46 30 POGLAVJE 5. TESTIRANJE Slika 5.2: Primer testiranja urejanja časovnega vnosa poišči obrazec, ki ima gumb za shranjevanje z imenom t entry[save] v polje za vsebino časovnega vnosa vpiši test entry 777, pošlji obrazec, na strani, ki se prikaže, preveri ali vsebuje vse tri tekste ( Prikaz časovnih vnosov od 1 do 1 od skupno 1, test entry 777 in Uspešno shranjeno ). Test je uspešen, če je uspešna zadnja točka (ocenimo ga z asserttrue).

47 Poglavje 6 Možne izboljšave 6.1 Dodatne funkcionalnosti Ob razvoju spletne aplikacije smo ves čas dobivali nove ideje za izboljšanje le-te, žal pa vseh zaradi pomanjkanja časa nismo mogli implementirati. V tem poglavju bomo nekaj najboljših podrobneje predstavili Prijava z... Facebook ni edina razširjena storitev, ki omogoča uporabo svojega avtentikacijskega sistema drugim. V prihodnosti bi lahko podprli še druge take servise kot so: Google, Instagram, Linkedin in drugi Izboljšanje uporabniške izkušnje Beleženje časa ne spada med najbolj priljubljena opravila, zato smo želeli aplikacijo izdelati tako, da bo uporabniku omogočala čim hitrejši in čim bolj prijazen vnos časovnih vnosov. Za dodatno izboljšanje uporabniške izkušnje, bi bi bilo potrebno dodati še naslednje funkcionalnosti: vnos novih strank in projektov pri vnosu časovnega vnosa - če stranka (ali projekt) ne obstaja, lahko uporabnik vpiše naziv stranke, v ozadju pa se samodejno ustvari stranka. Dodatne podrobnosti stranke lahko uporabnik uredi kasneje. 31

48 32 POGLAVJE 6. MOŽNE IZBOLJŠAVE možnost shranjevanja poljubnih, pred nastavljenih časovnih okvirjev. Primer: tromesečje Uporabniške vloge Trenutno so vsi naši uporabniki med sabo enakovredni, vidijo in urejajo lahko vse entitete. Smiselno bi bilo, da imeli več nivojev uporabnikov, na primer: administrator, vodja oddelka, kadrovska služba, delavec. Administrator bi lahko dostopal do vseh podatkov. Vodja oddelka bi lahko urejal samo tiste projekte, ki spadajo pod njegov oddelek. Kadrovska služba bi imela možnost urejati in pregledovati podatke o zaposlenih. Navaden delavec bi videl samo projekte, ki mu jih je dodelil vodja oddelka Integracije Naša aplikacija sicer vsebuje vmesnik API, ki ga lahko drugi programi uporabljajo, nismo pa naredili nobene integracije z že obstoječimi programi. Za tržno uspešnost naše aplikacije bi bilo koristno, če bi podpirala katerega od bolj znanih slovenskih računovodskih programov, kot so: Pantheon, Birokrat. 6.2 Skaliranje V primeru, da bi bila naša spletna aplikacija zelo uspešna, bi lahko prerasli zmogljivosti virtualnega strežnika. Lastnosti sistema, ki ga je mogoče prilagoditi na veliko večjo obremenitev, pravimo skaliranje (angl. scalability). Poznamo dva glavna načina skaliranja [29]: vertikalno skaliranje (angl. vertical scaling) in horizontalno skaliranje (angl. horizontal scaling) Vertikalno skaliranje Vertikalno skaliranje je pristop, pri katerem obstoječemu sistemu povečamo zmogljivosti. Za primer lahko uporabimo spletni strežnik (fizični ali virtualni), ki ga ob povečanju obiska nadgradimo - na primer: procesor zamenjamo z zmogljivejšim.

49 6.2. SKALIRANJE 33 Ta vrsta skaliranja je pomembna predvsem za aplikacije, ki niso primerne za porazdeljeno računalništvo. Dodati je potrebno še, da smo pri tej vertikalnem skaliranju omejeni, saj nam hitro zmanjka zmogljivejših procesorjev ali mest za dodatni spomin Horizontalno skaliranje Horizontalno skaliranje je pristop, pri katerem k sistemu dodajamo vozlišča (angl. node). Za primer lahko uporabimo spletni strežnik (fizični ali virtualni), ki mu ob povečanju obiska dodamo še enega, promet med njima pa enakomerno razdelimo. Tak sistem lahko ob predpostavki, da sta strežnika enaka, sedaj streže še enkrat več prometa. Vse aplikacije niso primerne za porazdeljeno računalništvo, spletne pa večinoma so. Možni pristopi pri spletnih aplikacijah po naraščajočem številu zahtev: razdelitev spletnega strežnika in podatkovne baze na ločena strežnika, razdelitev podatkovne baze na več strežnikov (angl. cluster), vzpostavitev večih spletnih strežnikov, vzpostavitev sistema predpomnjenja (na primer: Redis [30]) Skaliranje naše aplikacije Ob velikem uspehu naše aplikacije bi se raje odločili za horizontalno skaliranje, saj je cenejše in manj omejeno. Večina ponudnikov gostovanja v oblaku ponuja enostaven načina podvojitve ali nadgradnje enote. Pregledali smo ponudbo ponudnika DigitalOcean [31], ki nam omogoča avtomatično postavitev arhitekture, ki je prikazana na Sliki 6.1. Uporabnika ob dostopu na spletno stran prestreže izenačevalec obremenitve (angl. load balancer), ki ga usmeri na naključni spletni strežnik (web-backend). Spletni strežniki podatke pridobivajo iz baze, ki jo lahko sestavlja več strežnikov. DigitalOcean nam omogoča avtomatsko dodajanje novih instanc spletnih in podatkovnih strežnikov s preprostimi ukazi API. S sistemskimi orodji lahko spremljamo izkoriščenost procesorja in če se le-ta konstantno giblje nad 80%, ustvarimo

50 34 POGLAVJE 6. MOŽNE IZBOLJŠAVE novo instanco na podlagi predloge spletnega strežnika. Izenačevalec obremenitve bo tako namesto na dva pošiljal zahteve na tri spletne strežnike. Na podoben način lahko instanco, če število obiskovalcev upade, tudi uničimo. Visok nivo avtomatizacije nam omogoča prihranek časa in denarja, saj za zmogljivosti plačujemo samo takrat, ko jih dejansko uporabljamo. Slika 6.1: Primer skaliranja spletne aplikacije

51 Poglavje 7 Sklepne ugotovitve V diplomski nalogi smo razvili aplikacijo za beleženje časa, ki je posebej primerna za samostojne podjetnike in mala podjetja. Aplikacija je zahvaljujoč odzivnemu oblikovanju dostopna z vseh naprav, ki omogočajo dostop do svetovnega spleta. Cilj aplikacije je uporabniku olajšati beleženje časa. Aplikacija omogoča dodajanje strank, projektov in časovnih vnosov. Časovne vnose lahko uporabnik vnaša preko štoparice ali ročnega vnosa, za kar skrbi intuitiven vmesnik. Za razvoj aplikacije smo uporabili odprtokodna orodja PHP (Symfony2), MySQL in Apache za ozadje ter Twitter Bootstrap (HTML, CSS) in jquery (JavaScript) za uporabniški vmesnik. Aplikacijo je možno skalirati tako vertikalno kot horizontalno. Omogočili smo tudi izvoz podatkov v razširjenih formatih PDF in XLS. Raziskali smo tudi možnost plačil s sistemom PayPal, za slovenski trg pa bi lahko uporabili še kakšno domače podjetje. Med razvojem aplikacije nismo imeli večjih težav, ugotovili pa smo, da se za funkcionalnost štoparice nikoli ne smemo zanašati na odjemalca ampak moramo začetni in končni čas časovnega vnosa vedno hraniti na strežniku, kjer tudi opravimo preračun porabljenega časa. Aplikacija je seveda še zelo mlada, nekatere možne izboljšave pa smo navedli že v prejšnjih poglavjih. Izboljšali bi lahko predvsem uporabniško izkušnjo (izgled grafičnega vmesnika in poenostavitev nekaterih postopkov) in integracije z drugimi servisi. Če bi aplikacijo prodajali kot programsko opremo kot storitev, bi verjetno dobili veliko odziva od prvih rednih uporabnikov - to bi uporabili za izboljšanje 35

52 36 POGLAVJE 7. SKLEPNE UGOTOVITVE uporabniške izkušnje in nove funkcionalnosti. Nenazadnje bi lahko tudi prevedli uporabniški vmesnik v kakšen tuj jezik, predvsem angleščino.

53 Literatura [1] Aplikacija Toggl, dostopna na: [2] Aplikacija Timecamp, dostopna na: [3] Računalništvo v oblaku, dostopno na: computing [4] Google-ova Iaas storitev App Engine, dostopna na: [5] Microsoft-ova Iaas storitev Azure, dostopna na: [6] Odprtokodni spletni strežnik Apache, dostopen na: [7] Skripti jezik PHP, dostopen na: [8] Razširjenost jezika PHP, dostopno na: [9] Ogrodje Symfony2, dostopna na: [10] Odprtokodni sistem za urejanje vsebin Drupal, dostopen na: 37

54 38 LITERATURA [11] Sistem za spletni forum, dostopen na: [12] Vstavljanje odvisnosti, dostopno na: [13] Odprtokodna relacijska podatkovna baza MySQL, dostopna na: [14] Podatki o tržnem deležu baze MySQL, dostopna na: [15] Skriptni jezik JavaScript, dostopen na: [16] Knjižnica za skriptni jezik JavaScript jquery, dostopna na: [17] Arhitektura REST, dostopna na: state transfer [18] Socialno omrežje Facebook, dostopno na: [19] Sistem za spletno plačevanje PayPal, dostopen na: [20] Program za zaporedna dela Cron, dostopen na: [21] Odprtnokodna knjižnica za generiranje datotek Excel za jezik PHP [22] Odprtokodno ogrodje wkhtmltopdf, dostopno na: [23] Ogrodje za testiranje enot PHPUnit, dostopno na: [24] Okolje za razvoj spletnih aplikacij WAMP, dostopna na:

55 LITERATURA 39 [25] Doctrine ORM, dostopen na: [26] Opis protokolov SSL in TLS, dostopen na: Layer Security [27] Opis protokola HTTPS, dostopen na: Secure [28] Ogrodje za testiranje enot PHPUnit, dostopno na: [29] Skaliranje, dostopno na: [30] Odprtokodna podatkovna baza Redis, dostopna na: [31] Ponudnik gostovanja v oblaku DigitalOcean, dostopen na:

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č

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č

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č

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č

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č

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

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č

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č

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č

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č

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č

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č

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č

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č

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č

(Microsoft Word - Nakupovalni vodi\350 po angle\232kih spletnih trgovinah - IzAnglije)

(Microsoft Word - Nakupovalni vodi\350 po angle\232kih spletnih trgovinah - IzAnglije) Nakupovalni vodič po angleških spletnih trgovinah Vedno več ljudi se odloča za nakupe preko spleta. Cene na spletu so pogosto ugodnejše, izbira bolj široka, nakupovanje pa je enostavno in udobno. Dandanes

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č

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

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č

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č

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

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

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika Gimnazija Bežigrad Peričeva 4 1000 Ljubljana OPERACIJSKI SISTEM Predmet: informatika KAZALO 1. Uvod...3 2. Predstavitev programa Windows 98...5 3. Raziskovanje računalnika...5 4. Raziskovanje Interneta...6

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č

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č

SharePoint GRADNIKI ZA IZBOLJŠANE UPORABNIŠKE IZKUŠNJE

SharePoint GRADNIKI ZA IZBOLJŠANE UPORABNIŠKE IZKUŠNJE SharePoint GRADNIKI ZA IZBOLJŠANE UPORABNIŠKE IZKUŠNJE VSEBINA Spoštovani, 4 GALERIJA Pred vami je katalog gradnikov za SharePoint, ki jih lahko namestite na svoje okolje, bodisi, da uporabljate SharePoint

Prikaži več

Spletno raziskovanje

Spletno raziskovanje SPLETNO RAZISKOVANJE RM 2013/14 VRSTE SPLETNEGA RAZISKOVANJA RENKO, 2005 Spletne fokusne skupine Spletni eksperiment Spletno opazovanje Spletni poglobljeni intervjuji Spletna anketa 2 PREDNOSTI SPLETNIH

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

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 Exchange 2013

Microsoft Exchange 2013 Cumulative update 1 (CU1) for Exchange Server 2013 - izdan včeraj 2.4.2013. Get-AdminAuditLogConfig Get-SendConnector "Internet" Remove- ADPermission -AccessRight ExtendedRight - ExtendedRights "ms-exch-send-headers-

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č

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č

Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak

Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak Vzpostavitev več nivojske varnostne infrastrukture S pomočjo Elektro Maribor, McAfee SIEM, CISCO ISE, NGFW Zorna Varga, Sfera IT d.o.o in Klemen Bačak, Sfera IT d.o.o. 1 Priprava na: Vzpostavitev več nivojske

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č

Spoznajmo PowerPoint 2013

Spoznajmo PowerPoint 2013 Spoznajmo PowerPoint 2013 13 Nova predstavitev Besedilo v predstavitvi Besedilo, ki se pojavlja v predstavitvah lahko premaknemo kamorkoli v diapozitivu. Kadar izdelamo diapozitiv z že ustvarjenimi okvirji

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č

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č

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č

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č

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č

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č

Excel 2016

Excel 2016 PRIDOBIVANJE TEMELJN IH IN POKLICNIH KOMPETENC OD 2019 DO 2022 HIPERPOVEZAVA Gradivo za interno uporabo AVTOR: Belinda Lovrenčič Gradivo ni lektorirano V Maj 2019 Operacijo sofinancira Evropska unija,

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č

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č

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č

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č

PowerPoint Presentation

PowerPoint Presentation Novosti Državnega centra za storitve zaupanja SI-TRUST Mag. Aleš Pelan, Ministrstvo za javno upravo 11.12.2018 ... 2000 2001 2015 2018 Overitelj na MJU Državni center za storitve zaupanja Novosti v letu

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č

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č

PowerPointova predstavitev

PowerPointova predstavitev INFORMATIKA Tečaj za višjega gasilca OGZ PTUJ 2017 PRIPRAVIL: ANTON KUHAR BOMBEK, GČ VSEBINA TEORETIČNA PREDAVANJA INFORMACIJSKI SISTEMI SISTEM OSEBNIH GESEL IN HIERARHIJA PRISTOJNOSTI PRAKTIČNE VAJE ISKANJE

Prikaži več

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane.

Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane. Za vaše podjetje ModernBiz Glossary 2014 Microsoft Corporation. Vse pravice pridržane. A Analitična orodja: Programska oprema, s katero je mogoče zbirati in meriti poslovne podatke ter o njih poročati.

Prikaži več

Diplomsko delo visokošolskega strokovnega študija Informatika v organizaciji in managementu SPLETNA REŠITEV ZA ISKANJE TERMINOV IN LOKACIJ PREDAVANJ M

Diplomsko delo visokošolskega strokovnega študija Informatika v organizaciji in managementu SPLETNA REŠITEV ZA ISKANJE TERMINOV IN LOKACIJ PREDAVANJ M Informatika v organizaciji in managementu SPLETNA REŠITEV ZA ISKANJE TERMINOV IN LOKACIJ PREDAVANJ Mentor: doc. dr. Borut Werber Kandidat: Boštjan Koželj Somentor: viš. pred. dr. Gregor Lenart Kranj, September

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č

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č

Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010

Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010 Arjan Topolovec PROFILIRANJE SPLETNIH APLIKACIJ Diplomsko delo Maribor, september 2010 I Diplomsko delo univerzitetnega študijskega programa PROFILIRANJE SPLETNIH APLIKACIJ Študent: Študijski program:

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č

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č

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č

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č

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č

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA Portal e-vem obstoječe stanje in nadaljnji razvoj Jernej Baranja Ana Oblak 2 Registracija s.p. v 1 dnevu (prej 7 dni) Registracija d.o.o. v 3 dneh (prej več kot 60 dni) Brezplačna registracija s.p. in

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č

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č

NASLOV PREDAVANJA

NASLOV PREDAVANJA Dobrodošli! Welcome! Tomi Dolenc info@arnes.si Arnesove novosti in Campus Best Practice, srečanje informatikov, Tehnološki park Ljubljana 20. 10. 2011 Namen srečanja Povezujemo znanje Nadaljevanje? Sodelovanje?

Prikaži več

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnovno sporočilo. Izogibajte se daljših besedil in predolgih

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č

Slide 1

Slide 1 Tehnike programiranja PREDAVANJE 10 Uvod v binarni svet in računalništvo (nadaljevanje) Logične operacije Ponovitev in ilustracija Logične operacije Negacija (eniški komplement) Negiramo vse bite v besedi

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č

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č

Brezplačno učenje zaposlenim in brezposelnim od 2018 do 2022 omogočata Ministrstvo za izobraževanje, znanost in šport ter Evropska unija iz Evropskega

Brezplačno učenje zaposlenim in brezposelnim od 2018 do 2022 omogočata Ministrstvo za izobraževanje, znanost in šport ter Evropska unija iz Evropskega ter Evropska unija iz Evropskega socialnega sklada Računalniška pismenost za odrasle 60 ur. - Seznaniti vas z osnovnimi komponentami računalnika in osnovnimi pojmi informacijske tehnologije. - Naučiti

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č

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č

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č

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č

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 *M15245112* JESENSKI IZPITNI ROK Izpitna pola 2 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali kemični svinčnik in računalo.

Prikaži več

an-01-sl-Temperaturni_zapisovalnik_podatkov_Tempmate.-S1.docx

an-01-sl-Temperaturni_zapisovalnik_podatkov_Tempmate.-S1.docx SLO - NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 14 24 835 www.conrad.si NAVODILA ZA UPORABO Temperaturni zapisovalnik podatkov Tempmate. S1 Kataloška št.: 14 24 835 KAZALO 1. OPIS PROGRAMSKE OPREME ZA NAPRAVO...

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

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č

POMOČ PREDSTAVITEV EKOSKLADOVNICE UPORABLJENA TERMINOLOGIJA REGISTRACIJA V EKOSKLADOVNICO PRIJAVA V EKOSKLADOVNICO OBJAVA PRISPEVKA ISKANJE PRISPEVKOV

POMOČ PREDSTAVITEV EKOSKLADOVNICE UPORABLJENA TERMINOLOGIJA REGISTRACIJA V EKOSKLADOVNICO PRIJAVA V EKOSKLADOVNICO OBJAVA PRISPEVKA ISKANJE PRISPEVKOV POMOČ PREDSTAVITEV EKOSKLADOVNICE UPORABLJENA TERMINOLOGIJA REGISTRACIJA V EKOSKLADOVNICO PRIJAVA V EKOSKLADOVNICO OBJAVA PRISPEVKA ISKANJE PRISPEVKOV OCENJEVANJE PRISPEVKOV KOMENTIRANJE PRISPEVKOV KONTAKT

Prikaži več

Postavka Naziv storitve Enota mere Cenik velja od dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitv

Postavka Naziv storitve Enota mere Cenik velja od dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitv Postavka Naziv storitve Enota mere Cenik velja od 1. 8. 2019 dalje. Cena v EUR brez davka z davkom Stopnja davka 1. Poslovni paketi in dodatne storitve 1.1. Poslovni net paket 1.1.1. Naročnina 32,790 40,00

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č

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č

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č

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č

Kratka navodila za uporabo razširjevalnika dosega WiFi AC750 model EX3800

Kratka navodila za uporabo razširjevalnika dosega WiFi AC750 model EX3800 Hiter začetek Razširjevalnik dosega WiFi AC750 Model EX3800 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č

Diapozitiv 1

Diapozitiv 1 REPUBLIKA SLOVENIJA MINISTRSTVO ZA JAVNO UPRAVO Dnevi slovenske informatike 2019 NOVOSTI NA PODROČJU STORTEV ZAUPANJA DRŽAVNEGA CENTRA SI-TRUST Dr. Alenka Žužek Nemec 16. april 2019 e-identitete v Sloveniji

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č

Primerjava obla\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef \spacefactor }\accen

Primerjava obla\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef \spacefactor }\accen Univerza v Ljubljani Fakulteta za računalništvo in informatiko Anja Remic Primerjava oblačnih sistemov za upravljanje s strankami DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

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č

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č

Navodila za uporabo Mini snemalnik

Navodila za uporabo Mini snemalnik Navodila za uporabo Mini snemalnik www.spyshop.eu Pred vami so navodila za pravilno uporabo mini snemalnika in opis funkcionalnosti. Lastnosti snemalnika: Naziv Mere Teža Kapaciteta spomina Snemanje Format

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č

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boris Špoljar Analiza spletnih tehnologij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ment

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boris Špoljar Analiza spletnih tehnologij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Ment UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boris Špoljar Analiza spletnih tehnologij DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: izr. prof. dr. Marko Bajec Ljubljana, 2011 Rezultati

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č