IŠ PRAEITOS PASKAITOS - anotacija leidžia nerašyti get/set metodų Norint, kad neraudonuotų sakiniai IDE, reikia atsisiųsti lombok.jar fai
|
|
- Milda Grinius
- prieš 5 metus
- Peržiūrų:
Transkriptas
1 IŠ PRAEITOS PASKAITOS - anotacija leidžia nerašyti get/set metodų Norint, kad neraudonuotų sakiniai IDE, reikia atsisiųsti lombok.jar failą uždaryti Eclipse ir paleisti $ java -jar lombok.jar nurodyti, kur yra eclipse, ir instaliuoti pvz. ~/eclipse/jee /eclipse/ paleisti Eclipse ir atnaujinti projektus refresh/clean Idea turėtų padėti Lombok plugin'as 1
2 ORM. JPA. SPRING DATA/DB PRIJUNGIMAS PRIE SPRING BOOT Andrius Stašauskas 2
3 TURINYS Technologijos nuo JDBC iki Hibernate ORM JPA EntityManager Transakcijos Servisų kūrimas Spring Data DAO JPQL užklausų kalba 3
4 TECHNOLOGIJOS. NUO JDBC IKI HIBERNATE 4
5 JDBC 1.X 1997 JAVA 1 Java Database Connectivity 5
6 JDBC 2.X/DATASOURCE/DRIVERMANAGER 1998 JAVA 2 DB drivers, parameters validation 6
7 HIBERNATE 2001 Cross-DB SQL clauses/types, persistence of POJOs 7
8 JAVA PASAULIS PATOBULĖJO EJB 2 -> EJB 3 entities JPA 2006 Spring 2001 Hibernate įgyvendino JPA specifikaciją 8
9 HIBERNATE/SPRING 2005/2011 dar neseniai akademijoje 9
10 HIBERNATE/SPRING 2005/2011 daugiau konfigūracijos, bet daugiau ir automatizacijos, o ir mažiau kodo kelių CRUD metodų+paieškos pavyzdys (CRD be public class DBUserDAO implements UserDao private EntityManager entitymanager; public List<User> getusers() { return entitymanager.createquery("select u from User u", User.class).getResultList(); } public void createuser(user user) { entitymanager.persist(user); } public void deleteuser(string username) { User user = entitymanager.createquery("select u from User u where username = :un", User.class).setParameter("un", username).getsingleresult(); if (entitymanager.contains(user)) { entitymanager.remove(user); } else { entitymanager.remove(entitymanager.merge(user)); } } } 10
11 HIBERNATE/SPRING DATA /
12 HIBERNATE. SPRING BOOT. SPRING DATA 1.11+,
13 ORM 13
14 OBJEKTINIO-RELIACINIO MODELIO SUSIEJIMAS (ORM) Dauguma programų sąveikauja su RDBVS Dauguma DBVS gali dirbti tik su primityviais tipais tekstiniais laukais, datomis, skaičiais. RDBVS neoperuoja objektais ar sudėtiniais tipais. Programos autorius sprendžia kaip lentelėje esančius duomenis perkelti į objektų grafą. Technika, padedanti sujungti šiuos modelius (objektinį ir reliacinį) vadinama object-relation mapping (ORM). 14
15 OBJEKTINIO-RELIACINIO MODELIO SUSIEJIMAS (ORM) Impedance mismatch: iššūkio esmė susieti modelius, nors tam tikros koncepcijos egzistuojančios viename modelyje neturi atitikmens kitame modelyje. Pvz. Asmuo <-> Darbovietė susiejimas. Polimorfizmas Identitetas (equals(), ==, = (SQL)) Ryšiai (Java nuorodos ir išoriniai raktai). Enkapsuliacija Navigavimas ir skaitymas (nuorodos vs SQL rezultatų sąrašai) 15
16 OBJEKTINIO-RELIACINIO MODELIO SUSIEJIMAS (ORM) Duomenų saugojimo būdai RDBVS Išreikštinai gauti" reikšmes iš objektų ir išreikštinai išsaugoti naudoti SQL INSERT sakinius. Tam naudojama žemesnio lygio specifikacija JDBC. Naudoti aukštesnio abstrakcijos lygio susiejimą siejant Klases iš objektinio programavimo su Lentelėmis iš RDBVS. Toks susiejimas ir vadinamas ObjectRelational Mapping (ORM). Tam naudojama aukštesnio lygio specifikacija JPA. 16
17 JDBC JDBC atsirado pats pirmas, kaip būdas saugoti duomenis DB. JDBC pateikia standartizuotą abstrakciją, kaip bendrauti su įvairių gamintojų duomenų bazių sąsajomis. JDBC kodas yra portabilus, tačiau SQL kalba nėra portabili Realybėje praktiškai nepavyks parašyti SQL kodo, kuris nepakeistas veiktų ant bet kurių dviejų populiariųjų DB platformų 17
18 JPA 18
19 JDBC VS JPA JPA (Java Persistence Application programming interface arba API) suteikia priemones paprastų Java objektų saugojimui duomenų bazių valdymo sistemose. JPA gali būti naudojamas Java SE ir EE aplinkose JPA gali automatiškai susieti Java objektus ir duomenų bazių lentelių (ir kitų elementų) įrašus (eilutes). JPA yra aukštesnio lygio abstrakcija, nei JDBC. Java kodas gali būti* izoliuotas nuo DBVS specifikos. Naujausia JPA standarto versija (hibernate - 2.1) 19
20 JPA ARCHITEKTŪRA Persistence provider rūpinasi ORM JDBC suteikia metodus užklausoms ir duomenų atnaujinimui duomenų bazėje 20
21 JPA SAVYBĖS Pakeičiama realizacija, galima naudoti skirtingų gamintojų produktus. JPA tai specifikacija. JPA realizacija konkretus produktas, atitinkantis specifikaciją JPA 2.1 Hibernate EclipseLink DataNucleus(2.2) Dinaminės, Type-safe užklausos. JPQL gimininga SQL kalbai užklausų kalba, leidžianti daug paprasčiau operuoti objektais ir jų atributais, o ne duomenų bazės lentelėmis ir stulpeliais. SELECT c FROM Category c WHERE c.items is NOT EMPTY 21
22 JPA SAVYBĖS Gali sugeneruoti DB schemų kūrimo skriptus, juos įvykdyti. Gali perkurti visą DB. POJO (Plain Old Java Object) public class Customer implements Serializable protected Long id; protected String name; public Customer() {} public Long getid() {return id;} public String getname() {return name;} public void setname(string name) {this.name = name;} } 22
23 ESYBĖS (ENTITIES) Reliacinėje paradigmoje esybė (Entity) dažniausiai yra atpažystamas ir identifikuojamas realaus pasaulio objekto atitikmuo, turintis atributus bei sąryšius su kitomis esybėmis. Pvz. Darbdavys, darbuotojas, darbovietė, prekė... Objektinio-reliacinio susiejimo pagrindas: Entity klasės atitinka lenteles Entity objektai atitinka įrašus lentelėse Susiejimo detalės kontroliuojamos Java anotacijomis 23
24 = "customer") public class Customer public int id;... public String public int public Image photo;... } ENTITY PAVYZDYS 24
25 REIKALAVIMAI ENTITY KLASĖMS Entity klasės privalo atitikti reikalavimus: Entity klasė privalo turėti bent vieną public arba protected konstruktorių be parametrų Entity klasė negali būti pažymėta final Entity savybės ar metodai negali būti pažymėti final Klasės kintamieji privalo būti private/protected/package-private pasiekiamumo ir kreipimasis į juos galimas tik per klasės metodus 25
26 REIKALAVIMAI ENTITY KLASĖMS Entity klasių laukai turi būti šių tipų: Primityvūs java.lang.string Serializuojami tipai Wrappers of Java primitive types java.math.biginteger, java.math.bigdecimal java.util.date, java.util.calendar, java.sql.date, java.sql.time, java.sql.timestamp User-defined serializable types byte[], Byte[], char[], Character[] Enumeruojami tipai Kiti Entities tipų laukai arba jų pažymėtos klasės 26
27 REIKALAVIMAI ENTITY KLASĖMS Laukai, pažymėti javax.persistence.transient arba Java raktažodžiu transient NEbus saugomi į db. Entity klasės turi laikytis JavaBeans pavadinimų suteikimo taisyklių (setproperty, getproperty, isproperty). Naudojamos kolekcijos turi būti vienos iš: java.util.collection java.util.set java.util.list java.util.map 27
28 TABLE Lentelei duomenų bazėje galime suteikti = "klientas") public class Customer { Visur java ir JPA naudosime Customer, tačiau duomenų bazėje lentelė bus saugoma kaip klientas 28
29 COLUMN Lentelės stulpeliai // nebūtina anotacija public int nullable=false, length=5) private String someproperty; Kaip ir Table atveju, pavadinimą tikroje duomenų bazėje galime pakeisti someproperty duomenų bazėje saugomas stulpelyje DB_column, turi ribojimą NOT NULL ir yra VARCHAR(5) tipo. 29
30 COLUMN Lentelės stulpeliai žymimi scale=1) private Double private Date private Date someotherdate; DECIMAL(4, 1), max skaičius: somedate saugomas DATE tipo stulpelyje someotherdate saugomas TIMESTAMP tipo stulpelyje 30
31 ENUMERATED Lentelės stulpeliai anotacija public enum SalaryRate { JUNIOR, SENIOR, MANAGER, EXECUTIVE private SalaryRate salaryrate; Nėra tipo atitikmens duomenų bazėse, todėl anotacija leidžia parinkti duomenų bazės atitikmenis raidinę (string) enumeratoriaus eilės numerio (ordinal) 31
32 TRANSIENT Lentelėje nesaugomi duomenys private int mycounter; mycounter nebus saugomas į DB ir nebus valdomas 32
33 ENTITYMANAGER 33
34 ENTITYMANAGER Enitymanager klasė yra centrinis entity klasių valdymo taškas. Persistence context registras kur saugoma entity objektų būsenos. Jis valdo susiejimą tarp iš anksto žinomų entity klasių ir ORM duomenų šaltinio. Suteikia API užklausoms, objektų paieškai, sinchronizacijai, duomenų saugojimui DB. 34
35 ENTITYMANAGER find(class,object) - surasti objektą pagal pirminį raktą persist(object) - išsaugoti ir pradėti valdyti objektą merge(object) - išsaugoti objekto pakeitimus refresh(object) - gauti objekto pasikeitimus iš DB remove(object) - pašalinti objektą createquery(string) - sukurti JPQL užklausą Visos operacijos gali būti taikomos ir pilnam objektų grafui 35
36 EM.PERSIST Customer customer = new Customer(1, "John Bow"); em.persist(customer); Entitymanager io klasės persist() metodas užregistruoja entity į persistence context. Nuo šio momento entity yra valdomas ir Entitymanger užtikrina, kad šio objekto duomenys būtų sinchronizuoti su duomenų baze 36
37 EM.FIND Customer customer = em.find(customer.class, id); Entitymanager find() metodas leidžia pagal entity klasę ir pirminio rakto identifikatorių surasti entity duomenų bazėje. Jeigu operacija sėkmingai pasibaigia, grąžintas Customer objektas taps valdomas/prižiūrimas. Tačiau, jei objektas nebus surastas - find() grąžins null 37
38 EM.REMOVE Customer customer = em.remove(customer); Entitymanager remove() metodas pašalina duomenis susijusius su šiuo objektu iš duomenų bazės. remove() metodas pašalins objektą iš persistence context. T.y. jo būsena nebebus sekama 38
39 EM.CREATEQUERY Query q = entitymanager.createquery("select g from Good g"); List<Good> goods = q.getresultlist(); createquery() konvertuos JPQL užklausą į SQL užklausą ir ją įvykdys SQL užklausos rezultatą konvertuos į objektus 39
40 ENTITY LIFECYCLE 40
41 ENTITY LIFECYCLE 41
42 ENTITY IDENTIFIKATORIAUS SUTEIKIMAS (GENERAVIMAS) Identifikatorius Entity objektams gali būti sugeneruojamas JPA realizacijos (persitence provider) automatiškai, pagal nurodytą tipą. Tam anotacija Programuotojas gali pasirinkti vieną iš kelių strategijų: AUTO - provider chooses for us TABLE - naudoja generator table SEQUENCE - DB feature IDENTITY - DB feature 42
43 ENTITY IDENTIFIKATORIAUS SUTEIKIMAS public class = GenerationType.AUTO) private Long private String name; } // geteriai ir seteriai Auto naudoti reikėtų tik kuriant, realiems produktams - nurodyti konkretų tipą 43
44 TRANSAKCIJOS (OPERACIJOS) 44
45 TRANSAKCIJOS (OPERACIJOS) Metodai, kurių veiksmai vykdomi transakcijose Transakcija yra būtina visiems metodams dirbantiems su duomenų pradės transakciją tik jei komponentas sukurtas per Spring ir kviečiamas iš kitos klasės 45
46 TRANSAKCIJŲ VALDYMAS JTA ir Resource Local tipai: JTA - transakcijos valdomos per JTA API. Transakcijas valdo išorinis komponentas. Palaikoma Java EE aplinkoje. Transakcijos gali būti pradėtos ir baigtos išoriniuose (mūsų programuojamiems) komponentams. Resource Local transakcijos valdomos EntityManager pagalba. Palaikoma tiek Java EE, tiek Java SE aplinkose. 46
47 TRANSAKCIJŲ public void updategood(integer goodid) { Good good = entitymanager.find(good.class, goodid); good.setname("test"); } Pakeitimai bus išsaugoti automatiškai pasibaigus transakcijai - nereikės kviesti em.persist() 47
48 TRANSAKCIJŲ public void updategood(good good) { good.setname("test"); } Pakeitimas automatiškai į duomenų bazę išsaugotas nebus, nes good greičiausiai buvo užkrautas kitoje transakcijoje ir todėl nepriklauso esamai sesijai čia gautas Good yra detached 48
49 TRANSAKCIJŲ public void updategood(good good) { good = entitymanager.merge(good); good.setname("test"); } Pakeitimai bus išsaugoti, nes po merge(...) operacijos grąžintas good jau yra šios sesijos dalis 49
50 TRANSAKCIJŲ public void updategood(good good) { good.setname("test"); Good savedgood = goodrepository.save(good); } naudojant Spring Data save() metodą, merge būtų iškviestas automatiškai čia good yra detached, o savedgood - jau attached (valdomas) 50
51 SERVISŲ KŪRIMAS 51
52 MVC - TRANSACTIONAL 52
53 SERVISŲ SLUOKSNIS SoC - separation of concerns, dizaino principas TCP turi 7 sluoksnius.... arba HTML/CSS/JS, etc. Pagal REST standartą entity objektai neturi būti perduoti į per Rest servisą atgal klientui klientas dirba su Rest resursais. Resursas!= Esybė Esybės ID, vidiniai/transient parametrai ne resurso dalis. Pvz. jei turime 2 servisus ir jie dirba su skirtinga DB, kiekvienoje DB jų ID gali būti vienodas 53
54 SERVISŲ SLUOKSNIS serviso užduotis - atlikti biznio transakciją pridėti User, priskirti user'iui rolę jei ji nepavyko, tai užduotis: atlikti rollback RestController gali kviesti keletą verslo transakcijų RestController užduotis - priimti užklausas ir pateikti atsakymus Repository/DAO užduotis - atlikti atomines operacijas su esybėmis 54
55 SERVISŲ SLUOKSNIS norint atlikti skirtingas validacijas užklausos duomenims servisui reikalingiems duomenims DB reikalingiems duomenims pvz. gal mes priimam ir 254 simbolių ilgio vardą, bet servisas dirba su simbolių eilute, kurią turi užkoduoti, tai jam 200 gali būti maksimumas o DB pvz. jei prijungiam H2 - leidžiam 254, o jei prijungiam seną Mainframe vietoj DB - tai tik 50 55
56 SERVISŲ SLUOKSNIS darbui su DB reikalinga transakcija, bet RestController atitikmuo nebūtinai kviečiamas iš Spring. Kitaip sukonfigūravus aplikaciją, tai gali būti tiesiog klasė, todėl joje transkacijos neveiks, nes jos veikia tik kai yra kviečiamos iš Spring beje, ne visada naudojama ir Jackson biblioteka JSON kodavimui ar atkodavimui pvz JsonIgnore su kitomis bibliotekomis neveiks, tai kitur ID nebus galima tiesiog ignoruoti 56
57 UŽDUOTIS #1 - DAO SU EM pirmiausia reikia sukonfigūruoti Spring Boot aplikaciją konfigūracijos tikslas: turėti H2 duomenų bazę, veikiančią su Hibernate, kurį naudoja Spring Data, kad viskas veiktų Spring Boot aplikacijoje, o duomenų bazę mums sukurtų automatiškai mūsų nurodytoje vietoje ir išjungiant aplikaciją duomenys išliktų į pom.xml prisidėti priklausomybę <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-jpa</artifactid> </dependency> 57
58 UŽDUOTIS #1 - DAO SU EM į application.properties failą įsidėti DB nustatymus: ### # Database Settings ### spring.datasource.url=jdbc:h2:file://tmp/test2235.db;auto_server=true;db_close_delay=-1;db_close_on_exit=false # ;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE spring.datasource.platform=h2 spring.datasource.username = sa spring.datasource.password = spring.datasource.driverclassname = org.h2.driver spring.jpa.database-platform=org.hibernate.dialect.h2dialect DB bus sukurta /tmp/test2235.db, todėl atnaujinant DB struktūrą reiks ištrinti šiuos failus 58
59 UŽDUOTIS #1 - DAO SU EM į application.properties failą įsidėti H2 DB nustatymus: ### # H2 Settings ### spring.h2.console.enabled=true spring.h2.console.path=/console spring.h2.console.settings.trace=false spring.h2.console.settings.web-allow-others=false prie konsolės prieiti galima 59
60 UŽDUOTIS #1 - DAO SU EM naudodamiesi H2 konsole, nepamirškite įsivesti savo DB kelią, kurį nurodėte application.properties faile spring.datasource.url=jdbc:h2:file://tmp/test2235.db;auto_<..> 60
61 UŽDUOTIS #1 - DAO SU EM į application.properties failą įsidėti Hibernate nustatymus: ### # Hibernate Settings ### spring.jpa.hibernate.ddl-auto = update spring.jpa.properties.hibernate.show_sql=true spring.jpa.properties.hibernate.use_sql_comments=false spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.hibernate.dialect=org.hibernate.dialect.h2dialect spring.jpa.properties.hibernate.hbm2ddl.auto=update spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=true spring.jpa.properties.javax.persistence.validation.mode=auto 61
62 UŽDUOTIS #1 - DAO SU EM User klasę atsargiai - mes naudojam paprastą JPA, todėl anotacijos taip pat iš javax.persistence.*, pvz.: import javax.persistence.entity; User klasės atributus taip pat sukurti ir auto generated id pastaba: klasė negali buti final 62
63 UŽDUOTIS #1 - DAO SU EM implementuoti DAO su EM - galime pasinaudoti prieš tai rodytu public class DBUserDAO implements UserDao private EntityManager entitymanager; public List<User> getusers() { return entitymanager.createquery("select u from User u", User.class).getResultList(); } public void createuser(user user) { entitymanager.persist(user); } public void deleteuser(string username) { User user = entitymanager.createquery("select u from User u where username = :un", User.class).setParameter("un", username).getsingleresult(); if (entitymanager.contains(user)) { entitymanager.remove(user); } else { entitymanager.remove(entitymanager.merge(user)); } } } 63
64 UŽDUOTIS #1 - DAO SU EM sukurti UserService iš UserController kviesti tik UserService metodus userdao iš UserController pašalinti iš UserService kviesti public class private UserDao userdao; = true) public List<User> getusers() { return userdao.getusers(); public void createuser(user user) { userdao.createuser(user); }... 64
65 UŽDUOTIS #2 - REQUEST SCOPE susikurti request scope = "request", proxymode = ScopedProxyMode.TARGET_CLASS) public class PagingData { private int limit; public PagingData() { this.limit = 5; // <numatytasis filtras> } // getters and setters } UserController įsidėti kaip Autowired, o getusers nustatyti pvz setlimit(10) UserDao įsidėti kaip Autowired ir pries getresultlist pakviesti.setmaxresults() su getlimit() 65
66 SPRING DATA. DAO 66
67 SPRING DATA o kas jeigu nenorime rūpintis paprastomis užklausomis, juk jos visada vienodos mes nenorime išradinėti dviračio Spring Data leidžia atsisakyti paprastų užklausų lengviau rašyti vidutinio sudėtingumo užklausas visiškai nekurti repository klasės 67
68 DAO SU SPRING DATA CRUD įgyvendinantis DAO su Spring Data atrodo taip: public interface UserRepository extends JpaRepository<User, Long> { } nereikia implementacijos!! jei kitoje klasėje pasiimsime su Autowired, galėsime kviesti įvairius metodus, pvz.: userrepository.save(user); Create/Update userrepository.findall(); Read userrepository.delete(user); Delete ir kt. interfeisas: JpaRepository<Entity, ID> 68
69 DAO SU SPRING DATA JpaRepository yra CrudRepository + PagingAndSortingRepository Paging/Sorting: galima naudoti Pageable ir Sort parametrus Jpa: persistence contexto detalesnis valdymas, įrašų įterpimas/trynimas/ieškojimas batch'u (po daug vienu metu) pvz. susirasti įrašus pagal jų ID viena užklausa: List<User> findallbyid(iterable<id> ids) 69
70 DAO SU SPRING DATA Tampa ypatingai svarbus servisų sluoksnis įsitikinkite, kad kviečiate Dao ar Repository tik iš servisų sluoksnio, ne iš rest controller'io kitu atveju tiesiog galite nesuprasti, kodėl vienas ar kitas dalykas neveikia serviso sluoksnio metodai turi būti tuomet teisingai veikia DB trasakcijų automatizavimas 70
71 DAO SU SPRING DATA papildome metodu, kuris ieško User pagal tikslų public interface UserRepository extends JpaRepository<User, Long> { User findby (string ); } 71
72 DAO SU SPRING DATA papildome metodu, kuris ieško visų User, kurių dalis yra partof public interface UserRepository extends JpaRepository<User, Long> { List<User> findusersby containing(string partof ); } 72
73 DAO SU SPRING DATA papildome metodu, kuris trina visus User pagal username: public interface UserRepository extends JpaRepository<User, Long> { void deletebyusername(string username); } 73
74 SPRING DATA TAISYKLĖS galima susikurti bet kokius metodus, sujungiant operacijos pavadinimą (pvz delete), tuomet tai, ką norime rasti, pvz User, žodį by bei reikalingus laukus galimos operacijos: find, read, query, count, get, delete, exists neįrašius ieškomojo, bus pasirinkta iš interfeiso galima patikslinti, ko tiksliau ieškome: findfirst.., findtop.., finddistinct.., finduser.., findfirstuser.., finddistinctuser.. 74
75 SPRING DATA TAISYKLĖS laukus galima jungti su And ir Or, pvz.: findusersbyusernameand , findbyusernameor po laukų galime nurodyti jų naudojimo taisykles, pvz. Containing, IgnoreCase taip pat galime nurodyti rūšiavimą OrderBy Asc ar OrderByUsernameDesc daugiau informacijos ir visi raktiniai žodžiai, kuriuos galime naudoti: Spring Data Query Creation 75
76 SPRING DATA TAISYKLĖS keletas pavyzdžių, ką galime parašyti ir kaip komponuoti: List<Person> findby addressandlastname( address address, String lastname); // Enables the distinct flag for the query List<Person> finddistinctpeoplebylastnameorfirstname(string lastname, String firstname); List<Person> findpeopledistinctbylastnameorfirstname(string lastname, String firstname); // Enabling ignoring case for an individual property List<Person> findbylastnameignorecase(string lastname); // Enabling ignoring case for all suitable properties List<Person> findbylastnameandfirstnameallignorecase(string lastname, String firstname); // Enabling static ORDER BY for a query List<Person> findbylastnameorderbyfirstnameasc(string lastname); List<Person> findbylastnameorderbyfirstnamedesc(string lastname); 76
77 SPRING DATA TAISYKLĖS norėdami naudoti savo u from User u where u. address =?1") User findby address(string address); norėdami modifikuoti @Query("update User u set u.firstname =?1 where u.lastname =?2") int setfixedfirstnamefor(string firstname, String lastname); arba kuriame savo DAO ir jame naudojame EntityManager bei rašome savo Java kodą bei JPQL 77
78 PAVYZDYS EXISTSBY Spring Data existsby galima apsirašyti taip: boolean existsbynickname(string nickname); Bet galima panaudoti ir Query = "SELECT CASE WHEN count(u)> 0 THEN true ELSE false END" +" FROM User u WHERE nickname =?1") boolean existsbynickname(string nickname); arba findby metodą: User findbynickname(string nickname); default boolean existsbynickname(string nickname) { return findbynickname(nickname)!= null; } 78
79 UŽDUOTIS #3 - SPRING DATA sukurkite Rest servisą ieškoti naudotojams pagal vardą ir pavardę paiešką suprogramuokite sukurdami Spring Data interfeiso metodą 79
80 JPQL UŽKLAUSŲ KALBA 80
81 JPQL The Java Persistence Query language (JPQL) tai nuo platformos nepriklausoma objektiškai orientuota užklausų kalba. Ji yra dalis JPA specifikacijos. Pagrindinis skirtumas nuo SQL yra: JPQL operuoja esybėmis ir objektais (grafais) SQL operuoja lentelėmis, stulpeliais ir įrašais JPQL palaiko trijų tipų sakinius: SELECT, UPDATE, DELETE 81
82 JPQL JPQL panašus į SQL, bet tai ne tas pats SQL: SELECT c FROM Customer c FROM sąlyga JPQL kalboje nurodo entity, kuris bus naudojamas užklausoje. Pavyzdyje Customer yra entity klasė, c objekto identifikatorius. Identifkatorius gali būti naudojamas toliau sąlygoje nurodant sąryšius ar savybes (where sąlygoje) 82
83 JPQL Išraiškose galima naudoti taško sintaksę prieiti prie objekto laukų (path expressions): SELECT c FROM Customer c where c.address IS NOT EMPTY Path expressions gali būti naudojama: WHERE sąlygose ORDER BY sąlygose JPQL galima naudoti JOIN us, tačiau užtenka susieti su objektu, nereikia nurodyti pirminio/išorinio rakto. SELECT r.loginname FROM Customer c JOIN c.credentials r WHERE c.address.street = Fast SELECT r.loginname FROM Customer c, Credentials r WHERE c=r.customer AND c.address.street = Fast 83
84 QUERY API JPA technologija leidžia TRIMIS skirtingais būdais pasiekti duomenis: EntityManager.find() JPQL užklausomis SQL užklausomis JPQL ir SQL užklausos vykdomos JPA Query API priemonėmis Naudojant hibernate, JPQL išplečia HQL 84
85 QUERY API Query API palaiko dviejų rūšių užklausas. Abiem atvejais naudojamas Entity manager: Named Query ir Query Vardinės užklausos (Named queries) rašomos, kai užklausos kriterijai žinomi iš anksto Dinaminės užklausos konstruojamos ir vykdomos dinamiškai Užklausas, kurios naudojamos daugiau nei vienoje vietoje, geriau realizuoti kaip vardines. Jos pasižymi geresne greitaveika, nes yra suformuojamos vieną kartą ir vėliau pernaudojamos. Vardinės užklausos aprašomos entity klasėje naudojant ir vėliau naudojamos siejant Spring Data metodus arba em.createnamedquery("uzklausospavadinimas") 85
86 QUERY API vardinė esybėje: = "User.findBy Address", query = "select u from User u where u. address =?1") public class User { } ir Spring Data repository ją panaudos aprašius taip: public interface UserRepository extends JpaRepository<User, Long> { User findby address(string address); } 86
87 QUERY API Dinaminės užklausos kuriamos vykdymo metu ir yra naudojamos, kai pati užklausa priklauso nuo situacijos (pvz. kiek duomenų įvesta į paieškos laukelį) Query query = em.createquery("select c FROM Customer c"); Query klasės objektai atitinka vieną užklausą ir pateikia keletą metodų nurodyti užklausos parametrus Parametrus galima nurodyti dviem būdais: Pagal parametro vardą Pagal eilės numerį Spring Data šios užklausos rašomos 87
88 QUERY API parametrų pvz. Query query=em.createquery("select i FROM Item i WHERE i.name =?1"); query.setparameter(1, "Car"); List<Item> items = query.getresultlist(); Query query = em.createquery("select i FROM Item i WHERE i.name = :itemname"); query.setparameter("itemname", "Car"); List<Item> items = u from User u where u.firstname like %?1") List<User> findbyfirstnameendswith(string u from User u where u.firstname like %:name") List<User> findbynameendswith(@param("name") String name); 88
89 UŽDUOTIS #4 - JPQL User sukurkite age lauką sukurkite Rest servisą seniausiam naudotojui gauti nepamirškite ir UserService parašykite dinaminę SQL užklausą, kuri išrenka seniausią naudotoją užklausą realizuokite repozitorijos interfeise pasinaudodami Spring sukurkite default User findoldestuser() interfeiso metodą implementacijoje tiesiog pakvieskite Spring Data metodą paieškai 89
90 UŽDUOTIS #5 - PARDUOTUVĖS DAO sukurkite DAO tvarkytis su produktais įsivaizduokime, jog norėsime ir krepšelį saugoti duomenų bazėje sukurkite kitą DAO bei krepšelio tarpinį servisą, skirtą dirbti su krepšeliu panaudokite abu repository DAO Rest servisuose kol kas krepšelyje saugomi produktai bus atskiri krepšelio produktai, turintys tikrųjų produktų ID.. vėliau išmoksime susieti tarpusavyje 90
91 KITOJE PASKAITOJE JPA priklausomybės. Live coding. Užduotys 91
DB sukūrimas ir užpildymas duomenimis
DB sukūrimas ir užpildymas duomenimis Duomenų bazės kūrimas Naujas bendrąsias DB kuria sistemos administratorius. Lokalias DB gali kurti darbo stoties vartotojasadministratorius. DB kuriama: kompiuterio
DetaliauIŠ PRAEITOS PASKAITOS JpaRepository API yra User[Entity] tik aplinkiniai sluoksniai, DB (tiksliau Entity Manager šiuo atveju) arba servisas, gali keis
IŠ PRAEITOS PASKAITOS JpaRepository API yra User[Entity] tik aplinkiniai sluoksniai, DB (tiksliau Entity Manager šiuo atveju) arba servisas, gali keistis duomenimis su šiuo API taigi čia galima būtų bendrauti
DetaliauJava esminės klasės, 1 dalis Išimtys, Įvestis/išvestis
Java esminės klasės, 1 dalis Išimtys, Įvestis/išvestis Klaidų apdorojimas C kalboje If (kazkokia_salyga) { klaidos_apdorojimas(); return... } Tokio kodo apimtis galėdavo sekti iki 70-80proc. Klaidų/išimčių
DetaliauAdministravimo vadovas SAFTit Pro v3
SAF-T IT Pro programos administravimo vadovas Turinys 1. SQL užklausų modifikacija... 2 1.1. Užklausų katalogas ir kaip sukurti nestandartines užklausas... 2 1.2. Užklausų modifikavimas... 2 1.3. Specialieji
DetaliauPS Testavimo ir konfigūravimo valdymas Užduotis nr. 1. Karolis Brazauskas Mindaugas Rekevičius Jonas Riliškis Eugenijus Sabaliauskas
PS Testavimo ir konfigūravimo valdymas Užduotis nr. 1. Karolis Brazauskas Mindaugas Rekevičius Jonas Riliškis Eugenijus Sabaliauskas 2014-10-01 IT Kompanija Dirbame pagal užsakymus, daugiausiai 2 projektai
DetaliauMicrosoft Word - 15_paskaita.doc
15 PASKAITA Turinys: Išimtys Išimtys (exceptions) programos vykdymo metu kylančios klaidingos situacijos, nutraukiančios programos darbą (pavyzdžiui, dalyba iš nulio, klaida atveriant duomenų failą, indekso
DetaliauPardavimų aplikacija (Microsoft Dynamics AX (Axapta) sistemai) Diegimo instrukcija bifree.lt qlik.com
Pardavimų aplikacija (Microsoft Dynamics AX (Axapta) sistemai) Diegimo instrukcija bifree.lt qlik.com Microsoft Dynamics AX (Axapta) sistemai 2 Kaip įsidiegti Diegimo žingsniai: 1. Atsisiųsti ir įsidiegti
DetaliauK9 WebProtection (toliau K9) programa yra nemokama asmeniniam naudojimui. Programa suderinama su Windows Vista, Windows 7, Windows 10 ir Mac operacinė
K9 WebProtection (toliau K9) programa yra nemokama asmeniniam naudojimui. Programa suderinama su Windows Vista, Windows 7, Windows 10 ir Mac operacinėmis sistemomis. Programa K9 yra lengvai perprantama
DetaliauAutomatinis skolinimas Automatinio skolinimo paslauga automatiškai teikia pasiūlymus paskolų prašymams pagal Jūsų pasirinkto portfelio rinkinio nustat
Automatinis skolinimas Automatinio skolinimo paslauga automatiškai teikia pasiūlymus paskolų prašymams pagal Jūsų pasirinkto portfelio rinkinio nustatymus. Automatinio skolinimo paslauga yra efektyvi priemonė
DetaliauDBVS realizavimas Pagrindiniai DBVS komponentai Duomenų saugojimas diske Paruošė J.Skučas
DBVS realizavimas Pagrindiniai DBVS komponentai Duomenų saugojimas diske Paruošė J.Skučas Seminaro tikslai Trumpai apžvelgti pagrindinius DBVS komponentus Detaliai nagrinėjami optimalaus duomenų dėstymo
DetaliauTechninė dokumentacija Qlik Sense architektūros apžvalga 2015 m. gruodis qlik.com
Techninė dokumentacija Qlik Sense architektūros apžvalga 2015 m. gruodis qlik.com Platforma Qlik Sense tai analitikos platforma, naudojanti asociatyvinį analitikos variklį operatyvinėje atmintyje. Remiantis
DetaliauCloud_sprendimu_salygos.pdf
Sąvokos: SPECIALIOSIOS PUBLIC CLOUD INSTANCE PASLAUGOS NAUDOJIMO SĄLYGOS Versija: 2012-06-11 GAMA VERSIJA API (Application Programming Interface): Taikomojo programavimo sąsaja, kurią naudodamas Klientas
DetaliauCompoundJS Node on rails
CompoundJS Node on rails Turinys Node pristatymas Node platformos Sintaksės palyginimas Našumo palyginimas Node? Kas tai? 1 http = require("http") 2 onrequest = (request, response)-> 3 console.log("request
DetaliauEUROPOS KOMISIJA Briuselis, C(2017) 4679 final KOMISIJOS ĮGYVENDINIMO SPRENDIMAS (ES) / dėl bendros sistemos techninių standa
EUROPOS KOMISIJA Briuselis, 2017 07 11 C(2017) 4679 final KOMISIJOS ĮGYVENDINIMO SPRENDIMAS (ES) /... 2017 07 11 dėl bendros sistemos techninių standartų ir formatų, kad EURES portale būtų galima susieti
DetaliauP. Kasparaitis. Praktinė informatika. Skriptų vykdymas ir duomenų valdymas Skriptų vykdymas ir duomenų valdymas Įvadas Skripto failas tai M
Skriptų vykdymas ir duomenų valdymas Įvadas Skripto failas tai MATLAB komandų seka, vadinama programa, įrašyta į failą. Vykdant skripto failą įvykdomos jame esančios komandos. Bus kalbama, kaip sukurti
DetaliauMicrosoft PowerPoint - IOSrautai.ppt
I/O - srautai OP2, ver. 2009-11-25. Paruošė: R.Vaicekauskas Turinys Srauto abstrakcija Javoje Bazinių klasių ypatybės Specializuoti srautai Srautai-filtrai. Dekoratoriaus šablonas. Objektų srautas. Serializacija.
DetaliauMasyvas su C++ Užduotys. Išsiaiškinkite kodą (jei reikia pataisykite) ir paleiskite per programą. Ciklo skaitliuko įrašymas į vienmatį masyvą: #includ
Masyvas su C++ Užduotys. Išsiaiškinkite kodą (jei reikia pataisykite) ir paleiskite per programą. Ciklo skaitliuko įrašymas į vienmatį masyvą: #include main() int mas[100]; int k; for (int
DetaliauMuzikos duomenų bazės NAXOS Music Library naudojimo vadovas Turinys Kas yra NAXOS Music Library... 2 Kaip pradėti naudotis... 3 Kaip atlikti paiešką..
Muzikos duomenų bazės NAXOS Music Library naudojimo vadovas Turinys Kas yra NAXOS Music Library... 2 Kaip pradėti naudotis... 3 Kaip atlikti paiešką... 3 Paprastoji paieška... 3 Išplėstinė paieška... 3
DetaliauPowerPoint Presentation
Algoritmai ir duomenų struktūros (ADS) 15 paskaita Saulius Ragaišis, VU MIF saulius.ragaisis@mif.vu.lt 2018-05-28 Grįžtamasis ryšys Ačiū visiems dalyvavusiems Daug pagyrimų Ačiū, bet jie nepadeda tobulėti.
DetaliauHexagonal Architecture with Ruby on Rails - Šiašiakampe architektura su Ruby on Rails
Hexagonal Architecture with Ruby on Rails Šiašiakampė architektūra su Ruby on Rails Vilius Luneckas vilius.luneckas@gmail.com #3 Ruby Meetup 2013 Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with
DetaliauLongse Wi-Fi kameros greito paleidimo instrukcija 1. Jums prireiks 1.1. Longse Wi-Fi kameros 1.2. Vaizdo stebėjimo kameros maitinimo šaltinio 1.3. UTP
Longse Wi-Fi kameros greito paleidimo instrukcija 1. Jums prireiks 1.1. Longse Wi-Fi kameros 1.2. Vaizdo stebėjimo kameros maitinimo šaltinio 1.3. UTP RJ-45 interneto kabelio 1.4. Kompiuterio su prieiga
DetaliauPRESTASHOP 1.7 OMNIVA MODULIO DIEGIMO INSTRUKCIJA
PRESTASHOP 1.7 OMNIVA MODULIO DIEGIMO INSTRUKCIJA Turinys MODULIO FUNKCIONALUMAS... 3 ELEKTRONINĖS PARDUOTUVĖS REIKALAVIMAI... 3 SERVERIO REIKALAVIMAI... 3 DIEGIMO PROCEDŪRA... 3 Omniva LT modulio diegimas...
DetaliauMUITINĖS DEPARTAMENTAS PRIE LIETUVOS RESPUBLIKOS FINANSŲ MINISTERIJOS BENDRO NAUDOTOJŲ VALDYMO SISTEMOS, ATITINKANČIOS EUROPOS KOMISIJOS REIKALAVIMUS,
MUITINĖS DEPARTAMENTAS PRIE LIETUVOS RESPUBLIKOS FINANSŲ MINISTERIJOS BENDRO NAUDOTOJŲ VALDYMO SISTEMOS, ATITINKANČIOS EUROPOS KOMISIJOS REIKALAVIMUS, SUKŪRIMO VERSIJA: v0.10 Vilnius 2018 TURINYS 1 Windows
DetaliauIŠ PRAEITOS PASKAITOS jeigu java serveryje įkėlus projektą rodomas tuščias baltas langas, bent ant kito port'o aplikacija veikia pasiūlymas užkomentuo
IŠ PRAEITOS PASKAITOS jeigu java serveryje įkėlus projektą rodomas tuščias baltas langas, bent ant kito port'o aplikacija veikia pasiūlymas užkomentuoti index.js service worker import'ą bei paskutine eilutę,
DetaliauDažniausios IT VBE klaidos
Dažniausios IT VBE klaidos Renata Burbaitė renata.burbaite@gmail.com Kauno technologijos universitetas, Panevėžio Juozo Balčikonio gimnazija 1 Egzamino matrica (iš informacinių technologijų brandos egzamino
DetaliauMAGENTO 1.9 OMNIVA MODULIO DIEGIMO INSTRUKCIJA
MAGENTO 1.9 OMNIVA MODULIO DIEGIMO INSTRUKCIJA Turinys MODULIO FUNKCIONALUMAS... 3 NAUDOJAMI TERMINAI IR SĄVOKOS... 3 REKOMENDUOJAMI NAUDOTI ĮRANKIAI... 3 ELEKTRONINĖS PARDUOTUVĖS REIKALAVIMAI... 3 SERVERIO
DetaliauEDUKA DIENYNO IR EDUKA KLASĖS INTEGRACIJA KAIP NAUDOTIS EDUKA KLASĖS IR DIENYNO INTEGRACIJA?... 2 Kaip prisijungti prie EDUKA klasės?... 2 Kaip įkelti
EDUKA DIENYNO IR EDUKA KLASĖS INTEGRACIJA KAIP NAUDOTIS EDUKA KLASĖS IR DIENYNO INTEGRACIJA?... 2 Kaip prisijungti prie EDUKA klasės?... 2 Kaip įkelti grupę iš EDUKA dienyno?... 3 Kaip iš EDUKA klasės
DetaliauObjektiškai orientuota programa yra kompleksinis ir dinamiškas objektų tinkas
VILNIAUS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS PROGRAMŲ SISTEMŲ KATEDRA Programų sistemų kūrimo metodų praplėtimas rolėmis Role Extended Software Development Methods Magistro darbas Atliko:
Detaliau4 skyrius Algoritmai grafuose 4.1. Grafų teorijos uždaviniai Grafai Tegul turime viršūnių aibę V = { v 1,v 2,...,v N } (angl. vertex) ir briaun
skyrius Algoritmai grafuose.. Grafų teorijos uždaviniai... Grafai Tegul turime viršūnių aibę V = { v,v,...,v N (angl. vertex) ir briaunų aibę E = { e,e,...,e K, briauna (angl. edge) yra viršūnių pora ej
DetaliauFile Transfer programinės įrangos naudotojo instrukcija
File Transfer programinės įrangos naudotojo instrukcija Rinkmenos dalių įkėlimas naudojantis i.saf-t FileTransfer FileTransfer programinė įranga (toliau - FileTransfer PĮ) skirta didelės apimties rinkmenos
DetaliauLietuvos mokslo ir studijų institucijų kompiuterių tinklas LITNET Vilniaus universitetas Mokslininko darbo vietos paslauga Paslaugos naudojimo instruk
Lietuvos mokslo ir studijų institucijų kompiuterių tinklas LITNET Vilniaus universitetas Mokslininko darbo vietos paslauga Paslaugos naudojimo instrukcija Paslauga sukurta vykdant Europos socialinio fondo
DetaliauProgramų sistemų inžinerija Saulius Ragaišis, VU MIF
Programų sistemų inžinerija 2014-02-12 Saulius Ragaišis, VU MIF saulius.ragaisis@mif.vu.lt SWEBOK evoliucija Nuo SWEBOK Guide to the Software Engineering Body of Knowledge, 2004 Version. IEEE, 2004. prie
DetaliauPowerPoint Presentation
Duomenų archyvai ir mokslo duomenų valdymo planai 2018-06-13 1 Re3Data duomenų talpyklų registras virš 2000 mokslinių tyrimų duomenų talpyklų; talpyklos paiešką galima atlikti pagal mokslo kryptį, šalį,
DetaliauSlide 1
Duomenų struktūros ir algoritmai 12 paskaita 2019-05-08 Norint kažką sukonstruoti, reikia... turėti detalių. 13 paskaitos tikslas Susipažinti su python modulio add.py 1.1 versija. Sukurti skaitmeninį modelį
DetaliauAAA.AIEPI.Mokymu_medziaga_MOK_VI_07.Vandens_inventorizacijos_duomenu_tvarkymas.v.0.4
Informacinės sistemos eksploatacinė dokumentacija AIVIKS MOKYMO MEDŽIAGA 07. Vandens inventorizacijos duomenų tvarkymas Aplinkos apsaugos agentūra Aplinkosauginės informacijos elektroninių paslaugų išvystymas
DetaliauAlgoritmø analizës specialieji skyriai
VGTU Matematinio modeliavimo katedra VGTU SC Lygiagrečiųjų skaičiavimų laboratorija Paskaitų kursas. 5-oji dalis. Turinys 1 2 KPU euristiniai sprendimo algoritmai KPU sprendimas dinaminio programavimo
DetaliauPrekybos terminalas yra naujas ir galingas MetaTrader papildinys
MT4 Supreme Edition Trade Terminal Šiame vadove rasite MT4 Supreme Edition diegimo ir naudojimo instrukcijas. Naujajam MT5 Supreme Edition galioja tie patys diegimo ir naudojimo principai. 1.Prekybos terminalo
DetaliauMicrosoft Word - Dainius_Jurcikonis.doc
KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS KOMPIUTERIŲ KATEDRA Dainius Jurčikonis Studijų modulių planavimo ir valdymo sistema Magistro darbas Darbo vadovas prof. E. Kazanavičius Kaunas
DetaliauJABRA REVO WIRELESS Naudotojo Vadovas jabra.com/revowireless
Naudotojo Vadovas jabra.com/revowireless TURINYS 1. SVEIKI...3 2. APŽVALGA... 4 3. KAIP DĖVĖTI...5 3.1 AUKŠČIO REGULIAVIMAS 3.2 SULENKIAMI LANKSTAI 4. ĮKROVIMAS...7 4.1 BATERIJOS BŪSENA 5. PRIJUNGIMAS...
DetaliauPagrindiniai algoritmai dirbant su sveikųjų ir realiųjų skaičių masyvų reikšmėmis Sumos skaičiavimo algoritmas Sveikieji skaičiai int Suma (int X[], i
Pagrindiniai algoritmai dirbant su sveikųjų ir realiųjų skaičių masyvų reikšmėmis Sumos skaičiavimo algoritmas int Suma (int X[], int n) int s = 0; s = s + X[i]; return s; double Suma (double X[], int
DetaliauAlgoritmai ir duomenų struktūros (ADS) 7 paskaita Saulius Ragaišis, VU MIF
Algoritmai ir duomenų struktūros (ADS) 7 paskaita Saulius Ragaišis, VU MIF saulius.ragaisis@mif.vu.lt 2015-04-13 Grafai Grafas aibių pora (V, L). V viršūnių (vertex) aibė, L briaunų (edge) aibė Briauna
DetaliauAutomatinis skolinimas Automatinio skolinimo paslauga automatiškai teikia pasiūlymus paskolų prašymams pagal Jūsų sukurtuose portfeliuose pasirinktus
Automatinis skolinimas Automatinio skolinimo paslauga automatiškai teikia pasiūlymus paskolų prašymams pagal Jūsų sukurtuose portfeliuose pasirinktus kriterijus. Automatininio skolinimo paslauga yra efektyvi
DetaliauProjektas „Europos kreditų perkėlimo ir kaupimo sistemos (ECTS) nacionalinės koncepcijos parengimas: kreditų harmonizavimas ir mokymosi pasiekimais gr
Studijų programos aprašas Studijų programos pavadinimas Informatika Aukštojo mokslo institucija (-os), padalinys (-iai) Vilniaus universitetas, Matematikos ir informatikos fakultetas, Informatikos katedra
DetaliauLMTA prenumeruojamos duomenų bazės
LMTA PRENUMERUOJAMOS DUOMENŲ BAZĖS LMTA PRENUMERUOJAMOS DUOMENŲ BAZĖS EBSCO JSTOR Taylor & Francis Naxos Music Library Grove Music Online (Oxford Music Library) Emerald Management ejournals Collection
DetaliauHands-on exercise
Patvirtinamasis dokumentas 1 (4) 2017 m. gegužės 25 d. Praktinė užduotis Su sprendiniais 1 Turinys 1. Įvadas... 2 2. Instrukcijos... 2 2.1. Sutartiniai ženklai... 2 2.2. Užduoties etapai... 2 3. Užduoties
DetaliauAtviro konkurso sąlygų 4 priedas BENDROJO PAGALBOS CENTRO INFORMACINĖS SISTEMOS APTARNAVIMO PASLAUGŲ TEIKIMO SPECIFIKACIJA 1. Pirkimo objektas Bendroj
Atviro konkurso sąlygų 4 priedas BENDROJO PAGALBOS CENTRO INFORMACINĖS SISTEMOS APTARNAVIMO PASLAUGŲ TEIKIMO SPECIFIKACIJA 1. Pirkimo objektas Bendrojo pagalbos centro informacinės sistemos BPCIS, esančios
DetaliauNeiškiliojo optimizavimo algoritmas su nauju bikriteriniu potencialiųjų simpleksų išrinkimu naudojant Lipšico konstantos įvertį
Neiškiliojo optimizavimo algoritmas su nauju bikriteriniu potencialiųjų simpleksų išrinkimu naudojant Lipšico konstantos įvertį. Albertas Gimbutas 2018 m. birželio 19 d. Vadovas: Prof. habil. dr. Antanas
DetaliauPowerPoint Presentation
Algoritmai ir duomenų struktūros (ADS) 13 paskaita Saulius Ragaišis, VU MIF saulius.ragaisis@mif.vu.lt 2018-05-14 Šaltinis Paskaita parengta pagal William Pugh Skip Lists: A Probabilistic Alternative to
DetaliauKTU BIBLIOTEKOS PASLAUGOS
KTU BIBLIOTEKOS PASLAUGOS K T U B I B L I O T E K A Centrinė biblioteka K. Donelaičio g. 20 1. 2. 3. Cheminės technologijos fakulteto biblioteka Radvilėnų pl. 19 5. 4. Informatikos fakulteto biblioteka
DetaliauNACIONALINIS KIBERNETINIO SAUGUMO CENTRAS Tel El. p. NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS PRIE KRA
PRIE KRAŠTO APSAUGOS MINISTERIJOS RESPUBLIKOS PREZIDENTO IR EUROPOS PARLAMENTO RINKIMŲ KIBERNETINĖS ERDVĖS STEBĖSENOS ATASKAITA 2019 m. gegužės 28 d. Vilnius Santrauka: Respublikos Prezidento ir Europos
DetaliauGPAIS vartotojo vadovas savivaldybėms GPAIS VARTOTOJO VADOVAS SAVIVALDYBIŲ PILDOMAI INFORMACIJAI GPAIS TURINYS 1. BENDRI DARBO SU GPAIS PRINCIPAI... 2
GPAIS VARTOTOJO VADOVAS SAVIVALDYBIŲ PILDOMAI INFORMACIJAI GPAIS TURINYS 1. BENDRI DARBO SU GPAIS PRINCIPAI... 2 1.1 PRISIJUNGIMAS PRIE IŠORINIO PORTALO... 2 2. Savivaldybių ir regiono plėtros tarybų ataskaitos...
DetaliauSlide 1
Duomenų struktūros ir algoritmai 2 paskaita 2019-02-13 Algoritmo sąvoka Algoritmas tai tam tikra veiksmų seka, kurią reikia atlikti norint gauti rezultatą. Įvesties duomenys ALGORITMAS Išvesties duomenys
DetaliauMBP85CONNECT_EU_EN.book
Vartotojo instrukcija Wi-Fi mobiliosios auklės kamera Modelis: MBP85CONNECT Apžvalga: 1 2 8 3 4 5 6 7 9 10 11 1. Šviesos daviklis (naktinio matymo sensorius) 2. Kameros lęšis 3. Infraraudonųjų spindulių
DetaliauSlide 1
H2020 Pažangos sklaida ir dalyvavimo plėtra Informacinis renginys, Lietuvos mokslo taryba Živilė Ruželė, zivile.ruzele@lmt.lt 2019 m. birželio 7 d. Turinys 1. Plėtros stipendijos 2. Patarimai Twinning
DetaliauPowerPoint Presentation
Programų sistemų inžinerija 2018-02-07 Saulius Ragaišis, VU MIF saulius.ragaisis@mif.vu.lt Klausytojai: Susipažinimas Išklausyti programų sistemų inžinerijos kursai Profesinė patirtis Dabar klausomi pasirenkami
DetaliauSistemos specifikacija
Finansinių ataskaitų rinkinių teikimo elektroniniu būdu (interaktyviai) Vartotojo vadovas Kaip pateikti finansinių ataskaitų rinkinį el. būdu interaktyviai 2(32) Turinys 1. Įvadas...3 2. Finansinių ataskaitų
Detaliau124
APLINKOS APSAUGOS AGENTŪROS DIREKTORIUS Į S A K Y M A S DĖL PREKYBOS NE MĖGĖJŲ ŽVEJYBOS ĮRANKIAIS TVARKOS APRAŠO PATVIRTINIMO 2012 m. gruodžio 20 d. Nr. Vilnius Vadovaudamasis Lietuvos Respublikos mėgėjų
DetaliauJabra SPEAK 410 Naudotojo vadovas
Jabra SPEAK 410 Naudotojo vadovas www.jabra.com TURINYS SVEIKI...3 GAMINIO APŽVALGA...3 ĮRENGIMAS...4 PRIJUNGIMAS...4 KONFIGŪRACIJA...4 SKAMBINIMO FUNKCIJOS...4 2 SVEIKI Sveikiname įsigijus garsiakalbį
DetaliauDanfoss Link TM Wi-Fi Namų šildymas, valdomas nuotoliniu būdu 24/7 namų šildymo valdymas iš bet kurios vietos su Danfoss Link programėle ismanussildym
Wi-Fi Namų šildymas, valdomas nuotoliniu būdu 24/7 namų šildymo valdymas iš bet kurios vietos su Danfoss Link programėle ismanussildymas.danfoss.lt Danfoss Link Wi-Fi sistema Wi-Fi sistema leidžia: Valdyti
DetaliauPowerPoint Presentation
Autorių teisės ir plagiato prevencija Jūratė Kuliešienė Daiva Steponavičienė KTU biblioteka Turinys Intelektinė nuosavybė Autorių teisės Plagiato prevencija Intelektinė nuosavybė (IN) Intelektinė nuosavybė
DetaliauATV/UTV GERVĖ INSTRUKCIJA LDH3000lbs LDF3000lbs
ATV/UTV GERVĖ INSTRUKCIJA LDH3000lbs LDF3000lbs Skaitydami šias instrukcijas, pamatysite Įspėjimus ir atsargumo reikalavimus. Kiekvienas pranešimas turi konkretų tikslą. Įspėjimai ir pavojaus nustatymai.
DetaliauMicrosoft Word - SDH2.doc
PATVIRTINTA AB Lietuvos geleţinkeliai Geleţinkelių infrastruktūros direkcijos direktoriaus 2009-11-30 įsakymu Nr. Į (DI-161) SDH SĄSAJOS TECHNINIS APRAŠAS TURINYS I. BENDROJI DALIS... 4 II. TAIKYMO SRITIS...
DetaliauVALSTYBINIO SOCIALINIO DRAUDIMO FONDO VALDYBOS
VALSTYBINIO SOCIALINIO DRAUDIMO FONDO VALDYBOS PRIE SOCIALINĖS APSAUGOS IR DARBO MINISTERIJOS DIREKTORIAUS Į S A K Y M A S DĖL ELEKTRONINĖS DRAUDĖJŲ APTARNAVIMO SISTEMOS NAUDOJIMO TAISYKLIŲ PATVIRTINIMO
DetaliauPaslaugų teikimo aprašymas
NACIONALINĖ ŽEMĖS TARNYBA PRIE ŽEMĖS ŪKIO MINISTERIJOS TVIRTINU: Nacionalinės žemės tarnybos prie Žemės ūkio ministerijos direktorė Daiva Gineikaitė 2015-06-30 NUOSAVYBĖS TEISIŲ Į ŽEMĘ (MIŠKĄ IR VANDENS
DetaliauNACIONALINIS KIBERNETINIO SAUGUMO CENTRAS Tel El. p. NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS PRIE KRAŠTO APSA
PRIE KRAŠTO APSAUGOS MINISTERIJOS TAIKOMOSIOS MOB. PROGRAMĖLĖS FaceApp KIBERNETINIO SAUGUMO VERTINIMO ATASKAITA 2019 m. Liepos 26 d. Nacionalinis kibernetinio saugumo centras (NKSC) prie Krašto apsaugos
DetaliauBanko_paslaugu_internetu_teikimo_salygos_
Banko paslaugų internetu teikimo sąlygos 1. Banko paslaugos internetu tai AB SEB banko (toliau Bankas) ir SEB grupės įmonių, kurioms atstovauja Bankas ar kurios naudojasi Banko paslaugų internetu sistema,
DetaliauSlaptažodžių generatoriaus naudojimo instrukcija Slaptažodžių generatorius tai aukščiausius saugumo reikalavimus atitinkantis įrenginys, kuris generuo
Slaptažodžių generatoriaus naudojimo instrukcija Slaptažodžių generatorius tai aukščiausius saugumo reikalavimus atitinkantis įrenginys, kuris generuoja vienkartinius skaitmenimis išreiškiamus slaptažodžius.
DetaliauElektroninių pažymėjimų tvarkymo sistema
Data: 2019-09-16 Valstybinio socialinio draudimo fondo valdyba Turinys 1. Įžanga... 3 1.1. Dokumento tikslas... 3 1.2. Terminai ir santrumpos... 3 2. Perskaitykite pirmiausia... 4 2.1. Ką rasite šiame
DetaliauPrinting triistr.wxmx
triistr.wxmx / Triįstrižainių lygčių sistemų sprendimas A.Domarkas, VU, Teoriją žr. []; [], 7-7; []. Pradžioje naudosime Gauso algoritmą, kuriame po įstrižaine daromi nuliai. Po to grįždami į viršų virš
DetaliauAutorinė sutartis Nr
UAB INFORMACINIŲ TECHNOLOGIJŲ PASAULIS GENERALINIS DIREKTORIUS TOMAS LEVINSKAS SAULĖS ELEKTRINĖS ĮDIEGIMO KOMERCINIS PASIŪLYMAS 2012.08.21 Kaunas UAB Informacinių technologijų pasaulis Generalinis direktorius
Detaliauskaitiniai metodai 1
Lygiagretusis programavimas doc. dr. Vadimas Starikovičius 4-oji paskaita OpenMP programavimo standartas. Programavimo modelis. OpenMP konstrukcijos. PThreads: Hello, world! pavyzdys #include
DetaliauStyle Sample for C&N Word Style Sheet
Paslaugos aprašas IBM Sterling B2B Integration Services Šiame Paslaugos apraše apibūdinta Cloud Service, kurią IBM pateikia Klientui. Klientas reiškia įmonę, jos įgaliotuosius vartotojus ir Cloud Service
DetaliauVerslui skirta Facebook paskyra pilna sudėtingų terminų bei funkcijų Facebook Pixel, conversion rate ir taip toliau. Tačiau darbas su klientais social
Verslui skirta Facebook paskyra pilna sudėtingų terminų bei funkcijų Facebook Pixel, conversion rate ir taip toliau. Tačiau darbas su klientais socialiniuose tinkluose prasideda nuo keleto gerokai mažesnių
DetaliauMicrosoft Word - AUTOSERVISO MODULIS
AUTOSERVISO MODULIS APRAŠYMAS 1. Darbo pradžia. Autoserviso modul aktyvuokite per programos meniu Parametrai > Darbo vietos nustatymai. Skyrelyje Kiti pažymkite Autoservisas ir paspauskite mygtuk Gerai.
DetaliauStyle Sample for C&N Word Style Sheet
IBM naudojimo sąlygos su SaaS susijusios pasiūlymo sąlygos IBM MaaS360 (SaaS) Naudojimo sąlygas (NS) sudaro šios IBM naudojimo sąlygos su SaaS susijusios pasiūlymo sąlygos ( Su SaaS susijusios pasiūlymo
DetaliauLIETUVOS ITS POLITIKA IR ĮGYVENDINIMAS: STATUS QUO IR ESMINIAI POKYČIAI FORMUOJANT ITS DARBOTVARKĘ GRAŽVYDAS JAKUBAUSKAS Konferencija Intelektinės tra
LIETUVOS ITS POLITIKA IR ĮGYVENDINIMAS: STATUS QUO IR ESMINIAI POKYČIAI FORMUOJANT ITS DARBOTVARKĘ GRAŽVYDAS JAKUBAUSKAS Konferencija Intelektinės transporto sistemos ir išmaniosios technologijos transporte
DetaliauDIGIPASS DP 260 VARTOTOJO INSTRUKCIJA
DIGIPASS DP 260 VARTOTOJO INSTRUKCIJA Turinys 1. Kas tai yra DIGIPASS? 2. Kaip įjungti DIGIPASS, įvesti ir pakeisti PIN- kodą? 3.Kaip naudotis DIGIPASS? 1. Kas tai yra? - DIGIPASS 260 Kliento identifikavimo
DetaliauVienlusčių įtaisų projektavimas
Vienlusčių įtaisų projektavimas 5 paskaita Baigtiniai būsenų automatai Baigtinis būsenų automatas: angl. Finite State Machine (FSM) FSM yra nuosekliai būsenas keičiantis automatas su "atsitiktine" kitos
DetaliauĮžanga apie privatumą Dalyviai tyrinės tai, kaip jie patys suvokia privatumą ir kokį poveikį jis daro jų gyvenimams. Dalyviai apžvelgs informacijos, k
Įžanga apie privatumą Dalyviai tyrinės tai, kaip jie patys suvokia privatumą ir kokį poveikį jis daro jų gyvenimams. Dalyviai apžvelgs informacijos, kurią jie norėtų išlaikyti privačią, tipus ir kontekstus,
DetaliauVERSLO IR VADYBOS TECHNOLOGIJŲ PROGRAMA
PATVIRTINTA Lietuvos Respublikos švietimo ir mokslo ministro 2007 m. rugsėjo 6 d. įsakymu Nr. ISAK-1790 VERSLO IR VADYBOS TECHNOLOGIJŲ BENDROJI PROGRAMA MOKINIAMS, BESIMOKANTIEMS PAGAL VIDURINIO UGDYMO
DetaliauPridėtinės vertės mokesčio sąskaitų faktūrų registrų duomenų tvarkymo ir pateikimo taisyklių priedas I.SAF DUOMENŲ RINKMENOS APRAŠYMAS I DALIS ANTRAŠT
Pridėtinės vertės mokesčio sąskaitų faktūrų registrų duomenų tvarkymo ir pateikimo taisyklių priedas I.SAF DUOMENŲ RINKMENOS APRAŠYMAS I DALIS ANTRAŠTĖ Privalomumas pavadinimas reikšmės 1. *** FileDescription
DetaliauLogines funkcijos termu generavimo algoritmas pagristas funkciniu modeliu
KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS PROGRAMŲ INŽINERIJOS KATEDRA Tomas Žemaitis LOGINĖS FUNKCIJOS TERMŲ GENERAVIMO ALGORITMAS PAGRĮSTAS PROGRAMINIO PROTOTIPO MODELIU Magistro darbas
DetaliauNACIONALINIS KIBERNETINIO SAUGUMO CENTRAS Tel El. p. NACIONALINIS KIBERNETINIO SAUGUMO CENTRAS PRIE KRAŠTO APSA
PRIE KRAŠTO APSAUGOS MINISTERIJOS SUTRUMPINTAS PRANEŠIMAS APIE KIBERNETINIO INCIDENTO TYRIMĄ NR. 163811 2019 m. balandžio 19 d. Vilnius TLP: WHITE Kibernetinio incidento tyrimo objektas: 2019-04-10 imituotų
DetaliauVARTOTOJO INSTRUKCIJA Daikin Altherma Žemos temperatūros "Split" šilumos siurblys
VARTOTOJO INSTRUKCIJA Daikin Altherma Žemos temperatūros "Split" šilumos siurblys Turinys Psl. 1. Bendrieji perspėjimai dėl darbo saugos 4 1.1. Apie dokumentaciją 4 1.1.1. Simbolių ir perspėjimų reikšmė
DetaliauTRUMPA AIRTIES AIR4920 DIEGIMO INSTRUKCIJA
TRUMPA AIRTIES AIR4920 DIEGIMO INSTRUKCIJA www.telia.lt PASKIRTIS IR NAUDOJIMAS Įrenginiai AirTies Air4920 skirti naudoti tiek po vieną (1), tiek tarpusavyje sujungus kelis (2). Tarpusavyje sujungti įrenginius
DetaliauBrochure 4
Kaip kreiptis dėl peržiūros ir informacijos apie priežastis Apie šį lankstinuką Šiame lankstinuke aprašoma veiksmų tvarka, kaip kreiptis dėl sprendimo peržiūros ir informacijos apie sprendimą priežastis
DetaliauUAB AMEA Business Solutions Praktiniai IT Sprendimai smulkioms ir vidutin ms mon ms Direktor, Jurgita Vitkauskait , K
UAB AMEA Business Solutions Praktiniai IT Sprendimai smulkioms ir vidutin ms mon ms Direktor, Jurgita Vitkauskait j.vitkauskaite@amea.lt 2011.02.17, Kaunas +370 698 13330 Apie mus UAB AMEA Business Solutions
DetaliauSlide 1
U n i x O S Vilniaus Universitetas Matematikos ir Informatikos fakultetas Rolandas Naujikas 2008 FA I L Ų S I S T E M A : F I Z I N I S D I S K O S K I R S T Y M A S 2007 MIF.VU 2 TA R K I M E... = 2007
DetaliauAlgoritmai ir duomenų struktūros (ADS) 2 paskaita Saulius Ragaišis, VU MIF
Algoritmai ir duomenų struktūros (ADS) 2 paskaita Saulius Ragaišis, VU MIF saulius.ragaisis@mif.vu.lt 2016-02-15 Tiesinės duomenų struktūros Panagrinėsime keletą žinomų ir įvairiuose taikymuose naudojamų
DetaliauPATVIRTINTA Kauno sporto mokyklos Startas Direktoriaus 2019 m. balandžio 23 d. įsakymu Nr KAUNO SPORTO MOKYKLOS STARTAS PRIVATUMO POLITIKA Kauno
PATVIRTINTA Kauno sporto mokyklos Startas Direktoriaus 2019 m. balandžio 23 d. įsakymu Nr. 1-28 KAUNO SPORTO MOKYKLOS STARTAS PRIVATUMO POLITIKA Kauno sporto mokykla Startas (toliau - Mokykla) vertina
DetaliauIndividualus projektas Programa TE-PM, TE-PS, TE-SL, TEstream 4, TEstream 6, TEstream 8, TEstreamOBD 4, TEstreamOBD 6, TEstreamOBD 8 sistemų naudotoja
Individualus projektas Programa TE-PM, TE-PS, TE-SL, TEstream 4, TEstream 6, TEstream 8, TEstreamOBD 4, TEstreamOBD 6, TEstreamOBD 8 sistemų naudotojams Alternatyvus valdymo pultas telefone ViPGaS programos
DetaliauNEKILNOJAMO TURTO KADASTRO DUOMENŲ TEIKIMO IŠVADAI GAUTI EL. PASLAUGA: NAUDOTOJO VADOVAS NŽT DARBUOTOJAMS (V.1) VILNIUS 2017
NEKILNOJAMO TURTO KADASTRO DUOMENŲ TEIKIMO IŠVADAI GAUTI EL. PASLAUGA: NAUDOTOJO VADOVAS NŽT DARBUOTOJAMS (V.1) VILNIUS 2017 1. APIE PASLAUGĄ Paslaugos pavadinimas: Nekilnojamo turto kadastro duomenų teikimo
DetaliauPriedai
Priedai Priedas Nr. 3 Įvesti duomenys Na- smūgių dažnumas į 1km' Na= 2 v 4 4 C2= 1 - objekto konstrukcija L- objekto ilgis L= 24 C3= 1 - objekto vertė W- objekto plotis W= 12 C4= 1 - žmonių kiekis objekte
DetaliauUAB VALENTIS PRIVATUMO POLITIKA Uždaroji akcinė bendrovė Valentis (toliau Valentis arba mes), įgyvendindama 2016 m. balandžio 27 d. Europos Parlamento
UAB VALENTIS PRIVATUMO POLITIKA Uždaroji akcinė bendrovė Valentis (toliau Valentis arba mes), įgyvendindama 2016 m. balandžio 27 d. Europos Parlamento ir Tarybos reglamento (ES) 2016/679 dėl fizinių asmenų
DetaliauSlide 1
Projektų Elektroninių sąskaitų faktūrų posistemio (i.saf) sukūrimas ir Elektroninių važtaraščių posistemio (i.vaz) sukūrimas eiga. Geroji praktika Virginija Ginevičienė i.saf ir i.vaz projektų vadovė Mokestinių
DetaliauMicrosoft Word - T-Krivousas_magistrinis.doc
KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS PROGRAMŲ INŽINERIJOS KATEDRA Tomas Krivoūsas Verifikavimo algoritmų panaudojimas analizuojant formalių PLA specifikacijų teisingumą Magistro darbas
DetaliauBZN Start straipsnis
Lilija Šmeliova ir Roma Žilionytė. Asmeninio albumo nuotr. Ilgalaikio makiažo meistrės Lilija Šmeliova (44) ir Roma Žilionytė (39) prieš kelerius metus nusprendė, kad jau pats metas dalytis savo patirtimi.
DetaliauPowerPoint Presentation
Bibliotekos ištekliai ir paslaugos BIBLIOTEKA Centrinė biblioteka Gedimino g. 50 Mechanikos inžinerijos ir dizaino fakulteto biblioteka Studentų g. 56 Informatikos fakulteto biblioteka Studentų g. 50 Statybos
Detaliau