Serijalizacija u.net okruženju
|
|
- Arnold Harris
- 6 years ago
- Views:
Transcription
1 INFOTEH-JAHORINA Vol. 11, March Serijalizacija u.net okruženju Stefan Tešanović, Željko Gavrić studenti prvog ciklusa studija Fakultet za informacione tehnologije, Slobomir P Univerzitet Doboj, BIH stefan.tesanovic@fit.spu.ba, zeljko.gavric@fit.spu.ba Sadržaj U ovom radu prikazan je način serijalizacije i deserijalizacije podataka u.net okruženju, korištenje XML i prilagođene serijalizacije. U uvodu su navedene oblasti primjene te spomenute tehnike i vrste izlaznih podataka serijalizacije. U dijelu rada koji se odnosi na serijalizaciju podataka, opisani su procesi serijalizacije i deserijalizacije objekata, kreiranja klasa koje mogu biti serijalizovane, odabira formata serijalizacije i korištenja SOAP formatera. U dijelu koji se odnosi na XML serijalizaciju, objašnjeno je zašto i kako koristiti XML serijalizaciju i deserijalizaciju, kako se prilagoditi XML shemi i kako serijalizaovati DataSet. Na kraju rada objašnjena je prilagođena serijalizacija, kako je implementirati i odgovoriti na događaje serijalizacije te kako kreirati prilagođeni formater. Ključne riječi.net; C#; Serijalizacija; Deserijalizacija; XML; Binarni podaci; Formater; I. UVOD Mnoge aplikacije trebaju sačuvati ili prenijeti objekte. Kako bi ove zadatke obavili najjednostavnije moguće,.net okruženje uključuje nekoliko tehnika serijalizacije. Ove tehnike pretvaraju objekate u binarne podatke, SOAP, ili XML dokumente koji se mogu lako sačuvati, prenositi i preuzeti. Ovaj rad opisuje kako implementirati serijalizaciju koristeći alate ugrađene u.net okruženje i kako implementirati serijalizaciju u susret prilagođenim zahtjevima. II. SERIJALIZACIJA OBJEKATA A. Šta je serijalizacija Kada se stvori objekat u aplikaciji u.net okruženju, vjerojatno se nikad ne razmišlja o tome kako su podaci pohranjeni u memoriji. Ne treba razmišljati -.NET okruženje se brine o tome. Međutim, ako se želi sačuvati sadržaj objekata u datoteku, poslati objekat drugom procesu ili prenositi objekat preko mreže, mora se razmišljati o tome kako je objekat predstavljen, jer će ga trebati pretvoriti u drugi format. Ova pretvorba se naziva serijalizacija. Serialization, implementirana u prostoru imena System.Runtime.Serialization, je proces serijalizacije i deserijalizacije objekata, tako da oni mogu biti pohranjeni ili prenošeni, a kasnije ponovo kreirani. Serijalizacija je proces pretvaranja objekata u linearni niz bajtova koji mogu biti pohranjeni ili prenošeni. Deserijalizacija je proces pretvaranja prethodno serijalizovanog niza bajtova u objekat. Uglavnom, ako se želi sačuvati objekat (ili više objekata) u datoteku za kasnije pretraživanje, pohranjuje se izlaz serijalizacije. Slijedeći put kada se žele pročitati objekti, poziva se metoda deserijalizacije, a objekat je kreiran ponovo tačno onako kakav je i ranije bio. Isto tako, ako se želi poslati objekat aplikaciji u izvršavanju na drugom računaru, uspostavi se mrežna konekcija, serijalizuje objekat u tok, a zatim deserijalizuje objekat na udaljenoj aplikaciji. Teleportacija u naučnoj fantastici je dobar primjer serijalizacije. B. Kako serijalizovati objekat Na apstraktnom nivou, koraci za serijalizaciju objekata su slijedeći: Napraviti objekat toka koji će čuvati izlaz serijalizacije. Napraviti BinaryFormatter objekat (nalazi se u System.Runtime.Serialization.Formatters.Binary) Pozvati BinaryFormatter.Serialize metodu da bi serijalizovali objekat i ispisati rezultat u tok. Na nivou razvoja, serijalizacija se može implementirati sa vrlo malo kôda. Ako treba sačuvati samo jednu riječ u datoteku, ne bi trebalo koristiti serijalizaciju, može se jednostavno upisati riječ direktno u tekstualnu datoteku. Serijalizacija postaje korisna kada se čuvaju složenije informacije, kao što su trenutni datum i vrijeme. Kao što slijedeći kôd pokazuje, serijalizacija složenih objekata je jednostavna kao serijalizacija riječi: // Kreira fajl da čuva podatke u njega FileStream fs = new FileStream("SerializedDate.Data", FileMode.Create); // Kreira BinaryFormatter objekat da izvrši serijalizaciju BinaryFormatter bf = new BinaryFormatter(); // Koristi BinaryFormatter objekat da serijalizuje podatke // u fajl bf.serialize(fs, System.DateTime.Now); C. Kako deserijalizovati objekat Deserijalizacija objekata omogućuje da se stvori novi objekat na temelju sačuvanih podataka. U osnovi, deserijalizacija vraća sačuvani objekat. Na apstraktnom nivou, koraci za deserijalizaciju objekata su slijedeći:
2 Napraviti tok objekat da čita serijalizovani izlaz. Napraviti objekat tipa BinaryFormatter. Napraviti novi objekat za čuvanje deserijalizovanih podataka. Pozvati BinaryFormatter.Deserialize metodu da deserijalizuje objekat, i prevesti ga u ispravan tip. Na nivou kôda, korake za deserijalizaciju objekata je lako implementirati. Slijedeća konzolna aplikacija, koja zahtijeva System.IO, System.Runtime.Serialization.Formatters.Binary, kao i System.Runtime.Serialization prostore imena, pokazuje kako čitati i prikazivati serijalizovanu podatke spremljene u ranijim primjerima. Slijedeći kôd prikazuje dan u sedmici i vrijeme sačuvane od strane prethodnog kôda: // Otvara fajl iz koga čita podatke FileStream fs = new FileStream("SerializedDate.Data", FileMode.Open); // Kreira BinaryFormatter objekat da izvrši deserijalizaciju BinaryFormatter bf = new BinaryFormatter(); // Kreira objekat da sačuva deserijalizovane podatke DateTime previoustime = new DateTime(); // Koristi BinaryFormatter objekat da deserijalizuje // podatke iz fajla previoustime = (DateTime)bf.Deserialize(fs); // Prikazuje deserijalizovane podatke Console.WriteLine("Day: " + previoustime.dayofweek + ", Time: " + previoustime.timeofday.tostring()); Kao što ovi kôdovi pokazuju, čuvanje i primanje objekata zahtijeva samo nekoliko linija kôda, bez obzira koliko je objekat složen (uz pretpostavku da objekat podržava serijalizaciju). D. Kako kreirati klase koje mogu biti serijalizovane Mogu se napraviti prilagođene klase za serijalizaciju i deserijalizaciju dodavanjem atributa Serializable klasi. To je važno jer omogućava korištenje te klase za lako čuvanje ili prenos instance klase. Čak i ako serijalizacija nije odmah potrebna, dobra je praksa omogućiti je za buduću upotrebu. Ako je zadano rukovanje serijalizacijom zadovoljavajuće, nijedan drugi kôd osim atributa Serializable nije potreban. Kada je klasa serijalizovana, izvršno okruženje serijalizuje sve članove, uključujući i privatne članove. Serijalizacija te klase se može kontrolisati kako bi se poboljšala efikasnost iste ili kako bi se izašlo u susret prilagođenim zahtjevima. E. Odabir formata serijalizacije.net okruženje sadrži dvije klase za oblikovanje serijalizovanih podataka u System.Runtime.Serialization prostoru imena, od kojih oba implementiraju IRemotingFormatter interfejs: BinaryFormatter - ovaj formater je najefikasniji način serijalizacije objekata koji će biti pročitani samo u aplikacijama baziranim na.net okruženju. SoapFormatter - ovaj XML bazirani formater je najpouzdaniji način za serijalizaciju objekata koji će se prenositi preko mreže ili čitati od strane aplikacija koje nisu bazirane na.net okruženju. Objekti serijalizovani sa SoapFormatter-om imaju veću vjerojatnost da uspješno prođu zaštitni zid nego oni formatirani sa BinaryFormatter-om. Ukratko, trebalo bi odabrati BinaryFormatter samo ako se zna da će svi klijenti koji otvaraju serijalizovane podatke biti aplikacije iz.net okruženja. Prema tome, ako se čuvaju objekti koji bi kasnije trebali biti pročitani aplikacijom sa diska, BinaryFormatter je savršen. SoapFormatter se koristi kada druge aplikacije možda trebaju pročitati serijalizovane podatke i kada se šalju podaci preko mreže. SoapFormatter takođe radi pouzdano u situacijama u kojima se može izabrati BinaryFormatter; nedostatak je da serijalizovani objekat može zauzeti tri do četiri puta više prostora. Iako SoapFormatter formatira podatke pomoću XML-a, prvenstveno je namijenjen da se koristi od strane SOAP Web servisa. F. Kako koristiti SoapFormatter Da bi se koristio SoapFormatter, dodaje se referenca na System.Runtime.Serijalization.Formatters.Soap.dll u projekat. Zatim se napiše kôd tačno onako kao kad bi se koristio BinaryFormatter, ali se zamijeni BinaryFormatter klasa sa SoapFormatter klasom. Iako je pisanje kôda za BinaryFormatter i SoapFormatter vrlo slično, serijalizovani podaci su vrlo različiti. Slijedeći primjer je objekat sa tri člana serijalizovanim sa SoapFormatter koji je malo uređen radi čitljivosti: <SOAP-ENV:Envelope xmlns:xsi=" XMLSchema-instance"> <SOAP-ENV:Body> <a1:shoppingcartitem id="ref-1"> <productid>100</productid> <price>10.25</price> <quantity>2</quantity> </a1:shoppingcartitem> </SOAP-ENV:Body> </SOAP-ENV:Envelope> III. XML SERIJALIZACIJA A. Zašto koristiti XML serijalizaciju XML je standardizovani, tekst-bazirani format dokumenata za čuvanje aplikacijski-čitljivih podataka. Baš kao što HTML
3 omogućuje tekst-bazirani standard za formatiranje svima čitljivih dokumenata, XML omogućuje standard koji se može lako obrađivati računarima. XML se može koristiti za čuvanje bilo koje vrste podataka, uključujući dokumente, slike, muziku, binarne datoteke i podatke baze podataka..net okruženje sadrži nekoliko biblioteka za čitanje i upis XML datoteka, uključujući System.Xml.Serialization prostor imena koji pruža metode za konverziju objekata, uključujući i one bazirane na prilagođenim klasama, u i iz XML datoteke. Sa XML serijalizacijom, može se upisati gotovo bilo koji objekat u tekstualnu datoteku za kasnije pronalaženje sa samo nekoliko linija kôda. Isto tako, može se koristiti XML serijalizacija za prenos objekata između računara putem Web usluga, čak i ako se na udaljenom računalu ne koristi.net okruženje. XML serijalizacija se koristi kada je potrebno razmijeniti objekat s aplikacijom koja možda nije bazirana na.net okruženju, a ne treba serijalizovati nikakve privatne članove. XML serijalizacija pruža slijedeće prednosti nad standardnom serijalizacijom: Veća interoperabilnost - XML je tekstualno bazirani standard datoteka, sva moderna razvojna okruženja uključuju biblioteke za obradu XML datoteka. Prema tome, objekat koji je serijalizovan pomoću XML-a može biti lako obrađen od strane aplikacija pisanih za drugačiji operativni sistem i u različitim razvojnim okruženjima. Više pogodno administratoru - objekti serijalizovani pomoću XML-a se mogu pregledati i urediti pomoću bilo koje aplikacije za uređivanje teksta, uključujući i Notepad. Ako su čuvani objekte u datoteke, to daje administratorima mogućnost pregledanja i uređivanje XML datoteka. Ovo može biti korisno za prilagođavanje zahtjeva, rješavanje problema i razvoj novih aplikacija koje interoperabiluju sa postojećom aplikacijom. Bolja kompatibilnost unaprijed - Objekti serijalizovani pomoću XML-a su samoopisujući i lako obradivi. Prema tome, kada dođe vrijeme za zamjenu postojeće aplikacije, nova aplikacija će imati manje vrijeme obrade serijalizovanog objekta ako se koristiti XML. Osim toga, XML serijalizacija se mora koristiti kada god je potrebno usklađivanje s određenom XML shemom ili kontrolisanje kako je objekat kôdiran. Međutim, XML se ne može koristiti za svaku situaciju. Naime, XML serijalizacija ima slijedeća ograničenja: XML serijalizacija može serijalizovati samo javne podatke. Ne mogu se serijalizovati privatni podaci. Ne može serijalizovati povezane objekte, XML serijalizacija se može koristiti samo na pojedinačnim objektima. B. Kako koristiti XML za serijalizaciju objekata Na apstraktnom nivou, koraci za serijalizaciju objekata u XML-u su slijedeći: Napraviti tok, TextWriter ili XmlWriter objekat da čuva serijalizovani izlaz. Napraviti XmlSerializer objekat pretvarajući ga u tip objekta koji se planira serijalizovati. Pozvati XmlSerializer.Serialize metodu da serijalizuje objekat i ispiše izlazne rezultate na tok. Na nivou kôda, koraci su slični standardnoj serijalizaciji. Slijedeća aplikacija koja zahtijeva System.Xml.Serialization i System.IO prostor imena, pokazuje jednostavnost XML serijalizacije: // Kreira fajl da čuva podatke u njega FileStream fs = new FileStream("SerializedDate.XML", FileMode.Create); // Kreira XmlSerializer objekat da izvrši serijalizaciju XmlSerializer xs = new XmlSerializer(typeof (DateTime)); // Koristi XmlSerializer objekat da serijalizuje podatke xs.serialize(fs, System.DateTime.Now); Kada se pokrene, aplikacija stvara tekstualnu datoteku sličnu slijedećoj: <?xml version="1.0"?> <datetime> t16:28: :00</datetime> U poređenju sa serijalizovanim DateTime objektima kreiranim u ranijim primjerima, XML serijalizacija kreira vrlo čitljivu i datoteku laku za uređivanje. C. Kako koristiti XML za deserijalizaciju objekata Kako bi se deserijalizovao objekat, potrebno je slijediti ove korake: Napraviti tok, TextReader ili XmlReader objekat za čitanje serijalizovanog ulaza. Napraviti XmlSerializer objekat (nalazi se u prostoru imena System.Xml.Serialization) pretvarajući ga u tip objekta koji se namjerava deserijalizovati. Pozvati XmlSerializer.Deserialize metodu kako bi se deserijalizovao objekat, i prebacio u ispravan tip. Slijedeći kôd deserijalizuje XML datoteku koja sadrži DateTime objekat i prikazuje dan u sedmici i vrijeme tog objekta: // Otvara fajl iz koga čita podatke FileStream fs = new FileStream("SerializedDate.XML", FileMode.Open); // Kreira XmlSerializer objekat da izvrši deserijalizaciju XmlSerializer xs = new XmlSerializer(typeof (DateTime));
4 // Koristi XmlSerializer objekat da deserijalizuje podatke // iz fajla DateTime previoustime = (DateTime)xs.Deserialize(fs); // Prikazuje deserijalizovane podatke Console.WriteLine("Day: "+ previoustime.dayofweek +", Time: " +previoustime.timeofday.tostring()); D. Kako kreirati klase koje se mogu serijalizovati koristeći XML serijalizaciju Za kreiranje klase koja se može serijalizovati pomoću XML serijalizacije, mora se uraditi slijedeće: Definisati klase kao javne. Definisati sve članove koji se serijalizuju kao javne. Kreirati bezparametarski konstruktor. Za razliku od klase obrađene sa standardnom serijalizacijom, klase ne moraju imati Serializable atribut kako bi bile obrađene sa XML serijalizacijom. Ako postoje privatni ili zaštićeni članovi, oni se preskaču tokom serijalizacije. E. Kako se prilagoditi XML Shemi Obično, kada dvije različite aplikacije žele razmjeniti XML datoteke, programeri rade zajedno kako bi stvorili datoteku XML sheme. XML sheme određuje strukturu XML dokumenta. Mnoge vrste XML shema već postoje, i kad god je to moguće, trebalo bi iskoristiti postojeću XML shemu. Ako postoji XML shema, može se pokrenuti XML Schema Definition alat (Xsd.exe) kako bi se proizveo skup klasa koje su snažno tipizirane na shemu i povezane s atributima. Kada je instanca takve klase serijalizovana, generisani XML dokument se pridržava XML sheme. Ovo je jednostavnija alternativa korištenju drugih klasa u.net okruženju, kao što su XmlReader i XmlWriter klase, za raščlaniti i upisati XML tok. Za generisanje klase na temelju sheme, treba slijediti ove korake: Kreirati ili preuzeti XML shemu.xsd datoteku na računaru. Otvoriti Visual Studio komandnu liniju. Može se pokrenuti komandna linija i izvan Microsoft Visual Studio/Visual Studio Tools mape na meniju Start. U naredbenom retku upisati Xsd.exe schema.xsd / classes / language: [CS] i pritisnuti Enter. Na primjer, za kreiranje nove klase na bazi sheme datoteka pod nazivom C:\sheme\Library.xsd, pokrenuti slijedeću naredbu: xsd C:\schema\library.xsd /classes /language:cs Otvoriti novokreiranu datoteku (sa nazivom Schema.cs), i dodati klase aplikaciji. Kada se serijalizuju novokreirane klase, one automatski odgovaraju XML shemi. Ovo čini kreiranje aplikacija koje komuniciraju sa standardnim web servisima jednostavnim. F. Kako serijalizovati DataSet Osim serijalizacije instance javne klase, instanca DataSet objekta može se serijalizovati, kao što je prikazano u slijedećem primjeru: private void SerializeDataSet(string filename) XmlSerializer ser = new XmlSerializer(typeof(DataSet)); // Kreira DataSet; dodaje tabelu, kolone, i deset redova. DataSet ds = new DataSet("myDataSet"); DataTable t = new DataTable("table1"); DataColumn c = new DataColumn("thing"); t.columns.add(c); ds.tables.add(t); DataRow r; for(int i=0; i<10 ; i++) r = t.newrow(); r[0] = "Thing " + i; t.rows.add(r); TextWriter writer = new StreamWriter(filename); ser.serialize(writer, ds); writer.close(); Isto tako, mogu se serijalizovati nizovi, kolekcije, te instance XmlElement ili XmlNode klasa. Iako je to korisno, ne pruža isti nivo kontrole koji bi postojao da su podaci sačuvani u prilagođene klase. Alternativno, mogu se koristiti DataSet.WriteXml, DataSet.ReadXML i DataSet.GetXml metode. IV. PRILAGOĐENA SERIJALIZACIJA A. Kako implementirati prilagođenu serijalizaciju Prilagođena serijalizacija je proces kontrole serijalizacije i deserijalizacije tipa. Kontrolom serijalizacije, moguće je osigurati kompatibilnost serijalizacije, što daje mogućnost serijalizacije i deserijalizacije između verzija tipa bez razbijanja funkcionalne jezgre. Na primjer, u prvoj verziji tipa, mogu biti samo dva polja. U slijedećoj verziji, dodano je još nekoliko polja. Ipak, druga verzija aplikacije mora moći serijalizovati i deserijalizovati oba tipa. Ovo poglavlje opisuje kako kontrolisati serijalizaciju primjenom svojih serijalizacionih klasa. Serijalizacija u.net okruženju je vrlo fleksibilna i može se prilagoditi tako da zadovolji većinu razvojnih zahtjeva. U nekim okolnostima, možda će trebati potpuna kontrola nad procesom serijalizacije. Može se prepisati serijalizacija ugrađena u.net okruženje implementacijom ISerializable interfejsa i primjenom
5 Serializable atributa klase. Ovo je korisno u slučajevima gdje je vrijednost promjenljive neispravna nakon deserijalizacije, a treba dati promjenljivu sa vrijednošću kako bi se rekonstruisalo potpuno stanje objekta. Osim toga, ne bi trebalo koristiti pretpodešenu serijalizaciju na klasi koja je označena atributom Serializable atribut i ima deklarativnu ili imperativnu sigurnost na nivou klase ili svoga konstruktora. Umjesto toga, ove klase uvijek trebaju implementirati ISerializable interfejs. Implementacija ISerializable uključuje implementaciju GetObjectData metode i prilagođenog konstruktora koji se koristi kada je objekat deserijalizovan. Izvršno okruženje poziva GetObjectData tokom serijalizacije i konstruktor serijalizacije tokom deserijalizacije. Prevodilac upozorava ako je zaboravljeno implementirati GetObjectData, ali ako je zaboravljeno implementirati neki prilagođeni konstruktor, neće se primijetiti problem do izvođenja kada se primi izuzetak serijalizacije. Kada izvršno okruženje pozove GetObjectData tokom serijalizacije, potrebno je popuniti SerializationInfo objekat koji je priložen uz poziv metode, jednostavno dodavanjem promjenljive kako bi bila serijalizovana kao ime ili par podataka korištenjem AddValue metode, koja interno kreira SerializationEntry strukturu za čuvanje podataka. Bilo koji tekst se može koristiti kao ime. Postoji sloboda odlučivanja koje će se promjenljive dodati SerializationInfo objektu, čineći da je dovoljno podataka serijalizovano da se objekat vrati tokom deserijalizacije. Kada izvršno okruženje pozove svoj konstruktor serijalizacije, jednostavno se preuzimaju vrijednosti promjenljivih iz SerializationInfo objekta koristeći imena koja su korišćena tokom serijalizacije. Slijedeći kôd, koji koristi System.Runtime.Serialization i System.Security.Permissions prostor imena, pokazuje kako implementirati ISerializable, konstruktor serijalizacije i GetObjectData metodu: [Serializable] class ShoppingCartItem : ISerializable public Int32 productid; public decimal price; public Int32 quantity; [NonSerialized] public decimal total; // Standardni, ne-serijalizacioni konstruktor public ShoppingCartItem(int _productid, decimal _price, int _quantity) productid = _productid; price = _price; quantity = _quantity; total = price * quantity; // Naredni konstruktor je za serijalizaciju ShoppingCartItem(SerializationInfo info, StreamingContext context) productid = info.getint32("product ID"); price = info.getdecimal("price"); quantity = info.getint32("quantity"); total = price * quantity; // Poziva narednu metodu tokom serijalizacije [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter=true)] public virtual void GetObjectData(SerializationInfo info, StreamingContext context) info.addvalue("product ID", productid); info.addvalue("price", price); info.addvalue("quantity", quantity); public override string ToString() return productid + ": " + price + " x " + quantity + " = " + total; U ovom primjeru, SerializationInfo radi većinu posla oko serijalizacije i deserijalizacije. Kreiranje objekata SerializationInfo zahtijeva objekat čiji tip implementira IFormatterConverter interfejs. BinaryFormatter i SoapFormatter uvijek konstruišu instancu System.Runtime.Serialization.FormatterConverter tipa, ne dajući priliku da se koristi drugi tip IformatterConverter-a. FormatterConverter uključuje metode za pretvaranje vrijednosti između osnovnih tipova, kao što je pretvaranje Decimal u Double ili označenog cijelog broja u neoznačeni cijeli broj. B. Odgovarajući na događaje serijalizacije.net okruženje podržava događaje kod binarne serijalizacije kada se koristi klasa BinaryFormatter. Događaji su podržani samo za BinaryFormatter serijalizaciju. Za SoapFormatter ili prilagođenu serijalizaciju, ograničeno je korišćenje IDeserializationCallback interfejsa, kao što je objašnjeno ranije. Ovi događaji pozivaju metode u klasi pri odvijanju serijalizacije ili deserijalizacije. Postoje četiri događaja serijalizacije: Serializing - Ovaj događaj se dešava upravo prije nego što se serijalizacija započne. Staviti OnSerializing atribut na metodu koju bi se trebala pokrenuti kao odgovor na ovaj događaj. Serialized - Ovaj događaj se dešava upravo nakon što se serijalizacija završila. Dodati OnSerialized atribut na metodu koja bi se trebala pokrenuti kao odgovor na ovaj događaj. Deserializing - Ovaj događaj se dešava upravo prije nego što se deserijalizacija započne. Dodati OnDeserializing atribut na metodu koju bi se trebala pokrenuti kao odgovor na ovaj događaj. Deserialized - Ovaj događaj se dešava upravo nakon odvijanja deserijalizacije i nakon pozivanja
6 IDeserializationCallback.OnDeserialization. Trebalo bi koristiti IDeserializationCallback.OnDeserialization osim kada se mogu koristiti drugi formateri umjesto BinaryFormatter-a. Trebalo bi dodati OnDeserialized atribut na metodu koja bi se trebala pokrenuti kao odgovor na ovaj događaj. C. Kako kreirati prilagođeni formater Da bi se kreirao prilagođeni formater, treba se implementirati interfejs IFormatter. I BinaryFormatter i SoapFormatter implementiraju interfejs IFormatter. FormatterServices klasa pruža statičke metode (uključujući GetObjectData) za pomoć u implementaciji formatera. ZAHVALNICA Istraživanja u ovom radu rađena su u sklopu izrade seminarskog rada iz predmeta Osnovi.NET tehnologija na prvom ciklusu studija na Fakultetu za informacione tehnologije Slobomir P Univerziteta, pod mentorstvom asistenta Dragoljuba Pilipovića. Literatura [1] MCTS Self-Paced Training Kit (Exam ): Microsoft.NET Framework 3.5 Windows Communication Foundation, 2008 [2] [3] ABSTRACT This paper shows how to serialize and deserialize data in.net framework, using of XML and custom serialization. In the introduction are listed areas of application and mentioned techniques and types of the serialization output data. In the part of paper related to data serialization are described processes of serialization and deserialization objects, creating a class that can be serialized, choice of serialization formats and using SOAP formatter. In the part relating to the XML serialization, it is explained why and how to use XML serialization and deserialization, how to adapt to the XML schema and how to serialize DataSet. At the end of the paper are explained the custom serialization, how to implement it and respond to serialization events and how to create a custom formatter. SERIALIZATION IN.NET FRAMEWORK Stefan Tesanovic Zeljko Gavric
Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi
Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete
More informationOsnove programskog jezika C# Čas 4. Nasledjivanje 2. deo
Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()
More informationPREDMET. Osnove Java Programiranja. Čas JAVADOC
PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,
More informationVRIJEDNOSTI ATRIBUTA
VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not
More informationSvi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt
Funkcionalno programiranje Interoperabilnost jezika Scala i Java Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući
More informationSberbank Business Online na Mozilla FireFox
Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI
More informationPROGRAMIRANJE. Amir Hajdar
PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u
More informationWindows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365
Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint
More informationpojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1
NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija
More informationCSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets
CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family
More informationVežbe - XII nedelja PHP Doc
Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje
More informationVDSL modem Zyxel VMG1312-B10A/B30A
VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,
More informationProgramiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010
Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa
More informationMicrosoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,
Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016
More informationDogađaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.
Obrada izuzetaka Šta je izuzetak? Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Prosleđuje izuzetak,
More informationUputstvo za korišćenje logrotate funkcije
Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen
More informationUNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET
UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :
More informationOBJEKTNO ORIJENTISANO PROGRAMIRANJE
OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 12: NASLEĐIVANJE Miloš Kovačević Đorđe Nedeljković 1 /17 OSNOVNI KONCEPTI - Statički i dinamički tipovi podataka - Prepisivanje metoda superklase - Polimorfizam
More informationGUI - događaji (Events) i izuzeci. Bojan Tomić
GUI - događaji (Events) i izuzeci Bojan Tomić Događaji GUI reaguje na događaje (events) Događaj je neka akcija koju korisnik programa ili neko drugi izvrši korišćenjem perifernih uređaja (uglavnom miša
More informationCase Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,
Case Study Hrvatska pošta: Korisničko iskustvo iz snova Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, 27.12.2018. Sadržaj Hrvatska pošta prije projekta Izazovi projekta Tehnologije korištene
More informationNIZOVI.
NIZOVI LINKOVI ZA KONZOLNI C# OSNOVNO http://www.mycity.rs/net/programiranje-u-c-za-osnovce-i-srednjoskolce.html http://milan.milanovic.org/skola/csharp-00.htm Niz deklarišemo navođenjem tipa elemenata
More informationdr. sc.. Josip Musić Originalne slideove izradio:
Uvod u programiranje Programiranje 1 (450) Poglavlje 1 Uvod u računala, Microsoft.NET i VB.NET (dio 2 od 2): Pregled.NET platforme dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo
More informationProgramiranje III razred
Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog
More informationString. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta
String string ili znakovni niz (string) nije niz znakova u Javi su stringovi klase String paketa java.lang!!! Usporedba: char gf = G ; Niz znakova String char [] gf = { G, e, o, d, e, t, s, k, i ; String
More informationUPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a
UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa
More informationPITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM
PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I 1. Definicija svake klase sadrzi kljucnu rec iza koje se navodi ime klase: class public extends 2. Kada je funkcija clanica definisana izvan
More informationInformatika Uvod u C#,.NET Framework i Visual Studio... nastavak...
Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike
More informationUpute za postavljanje Outlook Expressa
Upute za postavljanje Outlook Expressa Prije postavljanja klijenata morate obavezno obaviti prvu prijavu na web mail kako bi aktivirali vaš račun na novom sustavu. Ukoliko niste obavili prvu prijavu, nećete
More informationJava. Ugnježdeni tipovi IMI PMF KG OOP 09 AKM. najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2
Java IMI PMF KG OOP 0 AKM 1 Ugnježdeni tipovi najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2 Ugneždeni tipovi IMI PMF KG OOP 0 AKM 2 Unutrašnje klase
More informationIzrada VI laboratorijske vježbe
Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box
More informationOUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije
Iskustva u razvoju i implementaciji ADF aplikacije Sadržaj Opis aplikacije za AZ Mirovinski Fond Internacionalizacija aplikacije Integracija sa Oracle Reports Iskorištenje postojeće PL/SQL logike Kreiranje
More informationBinarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133
Binarne hrpe Potpuno binarno stablo binarno stablo u kojem svaki čvor koji nije list ima točno 2 nasljednika. Binarna hrpa potpuno binarno stablo u kojem svaki čvor koji nije list ima veću ključnu vrijednost
More informationRačunarske osnove Interneta (SI3ROI, IR4ROI)
Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)
More informationUputstvo za podešavanje mail klijenta
Uputstvo za podešavanje mail klijenta 1. Podešavanje Thunderbird mail klijenta 1.1 Dodavanje mail naloga Da biste podesili Vaš mail klijent (u ovom slučaju Thunderbird) da prima i šalje mail-ove potrebno
More informationPRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA
PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA SPECIFIKACIJA BAZE PODATAKA ZA PROJEKAT NAZIV_PROJEKTA Veb knjižara - Specifikacija baze podataka 1 10.04.2017. Verzija V 1.0 Datum: 20. mart 2017. Istorija
More informationJavaScript i HTML DOM
4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.
More informationUputa za instaliranje programske potpore za operativni sustav WINDOWS
ZABA SignErgy Desktop aplikacija Uputa za instaliranje programske potpore za operativni sustav WINDOWS SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE
More informationSingle Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu
Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu Stipe Gorenjak, Kineziološki fakultet Sveučilišta u Zagrebu e-mail: stipe.gorenjak@kif.hr Sponzori Ugasite mobitele. Hvala.
More informationVB komande. Programiranje 1
VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj
More informationVHDLPrimeri Poglavlje5.doc
5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0
More informationUvod u relacione baze podataka
Uvod u relacione baze podataka Ana Spasić 5. čas 1 Podupiti, operatori exists i in 1. Izdvojiti imena i prezimena studenata koji su položili predmet čiji je identifikator 2001. Rešenje korišćenjem spajanja
More informationPARALELNO PROGRAMIRANJE
Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom
More informationSveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS
Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje WEB programiranje HTML & CSS Autor/i: Juraj Benić 2018 1. Zadatak Kreirati stranicu kojoj će naslov biti Zadatak 1. i veličina teksta 20px te staviti
More informationPROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar
PROGRAMIRANJE Amir Hajdar Teme 2 Packages Reference objekata Inheritance nasljeđivanje Exceptions Packages API Application Programmer Interface Sve klase ponuđene u sklopu Java jezika, uključujući i kompajler
More informationUputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.
Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj
More informationInformacioni sistemi i baze podataka
Fakultet tehničkih nauka, Novi Sad Predmet: Informacioni sistemi i baze podataka Dr Slavica Kordić Milanka Bjelica Vojislav Đukić Rad u učionici (1/2) Baze podataka (db2015): Studentska korisnička šema
More informationnamespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;
More informationMašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv
Mašinska vizija Dr Nenad Jovičić 2017. tnt.etf.rs/~mv Linearne 2D geometrijske transformacije 2D geometrijske transformacije Pretpostavka: Objekti u 2D prostoru se sastoje iz tačaka i linija. Svaka tačka
More informationCiljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi
Ograničenja Ciljevi Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi Generisati i održavati ograničenja u bazi podataka Uvod
More informationUvod u programiranje - vežbe. Kontrola toka izvršavanja programa
Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if
More informationPKI Applet Desktop Application Uputa za instalaciju programske potpore
1 SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE POTPORE 3 4. INSTALACIJA PROGRAMSKE POTPORE 3 5. DEINSTALACIJA PROGRAMSKE POTPORE 6 2 1. Uvod PKI
More informationUputstvo za konfiguraciju računara za korištenje BIHnet ADSL usluge
Uputstvo za konfiguraciju računara za korištenje BIHnet ADSL usluge Za ADSL vezu na Internet potrebno je: Računar: 133MHz i 16 MB Ram (preporučeno više), 10 Base-T/ 100 Base- TX Ethernet mrežni adapter,
More informationSveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević
Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje
More informationILM implementacija DWH baza u T-mobile
ILM implementacija DWH baza u T-mobile Bojan Šumljak, PS Consultant Hrvoje Dubravica, PS Head Consultant www.snt-world.com 1 Što je ILM? - information Lifecycle Management praksa primjenjivanja pravila
More informationProgramski jezik JAVA PREDAVANJE
Programski jezik JAVA PREDAVANJE 8 2018 www.etf.ac.me Polja za potvrdu i Radio tasteri Polja za potvrdu i radio tasteri nijesu uzajamno isključivi, što znači da ako imate pet polja za potvrdu u jednom
More informationvar Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.
1 PANEL komponenta kontejnerska, slična GropBox. Roditeljska komponenta za komp. postavljene na nju. Zajedno se pomeraju. Caption svojstvo za naziv; Alighment pomera svojstvo Caption levo i desno; Align
More informationPITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI
PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI 1. Enkapsulacija je podataka. skrivanje apstrakcija nasledivanje 2. Unutar deklaracije klase navode se: definicije funkcija clanica prototipovi (deklaracije) funkcija
More informationJezik Baze Podataka SQL. Jennifer Widom
Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case
More informationKodiranje GUI aplikacija u Visual C#
Kodiranje GUI aplikacija u Visual C# UVOD Uvod Kodiranje grafičke aplikacije u Visual C#: Ova lekcija se bavi dogadjajima, programiranjem dogadjaja. Daćemo jedan primer event-driven-programming-a, u vidu
More informationUčitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.
Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new
More informationObjektno orjentirano programiranje
Objektno orjentirano programiranje Predavanje 4 Objektno orijentirani koncepti Konstruktori Metoda koja se poziva prilikom stvaranja novog objekta Svojstveni su OO programiranju Imaju isto ime kao i klasa
More informationUputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0
POM - Pomoć korisnicima Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 IZUM, 2016 COBISS, COMARC, COBIB, COLIB, IZUM su zaštićeni znaci u posedu
More informationRazvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme
INFOTEH-JAHORINA Vol. 12, March 2013. Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme Igor Dujlović Elektrotehnički fakultet Banja Luka Banja Luka, BiH dujlovic@gmail.com Zoran Đurić Elektrotehnički
More informationVMware Workstation. VMwareWorkstation ESX ($) (vmotion, DRS, HA, Storage vmotion) vcenter Server ($) Server. Guest OS
VMware Workstation ESX ($) vcenter Server ($) (license manager) Server hardware (vmotion, DRS, HA, Storage vmotion) ESXi (freeware) (ESXi freeware is managed by the Virtual Infrastructure (or vsphere)
More informationVariable Neighborhood Descent - VND (Metoda promenljivog spusta)
Variable Neighborhood Descent - VND (Metoda promenljivog spusta) Izabrati skup okolina N k, k = 1,..., k max koje će se koristiti za pretragu; Na slučajan način izabrati početno rešenje x X i postaviti
More informationObjektno orjentirano programiranje. Predavanje 9 Postojani objekti, serijalizacija, marshaling, relacijske baze podataka
Objektno orjentirano programiranje Predavanje 9 Postojani objekti, serijalizacija, marshaling, relacijske baze podataka Postojani objekti - osnove eng. persistent objects Bez obzira na veličinu poslovne
More informationProgramiranje III razred
Tehnička škola 9. maj Bačka Palanka Programiranje III razred Konverzija tipova Konverzija tipova Prilikom komunikacije aplikacije sa korisnikom, korisnik najčešće unosi ulazne podatke koristeći tastaturu.
More informationKorisničko uputstvo za instalaciju i podešavanje securew2 programa za pristup eduroam servisu
Korisničko uputstvo za instalaciju i podešavanje securew2 programa za pristup eduroam servisu Termin supplicant se koristi u IEEE 802.1X standardu. U širem značenju, ovaj termin predstavlja entitet (korisnik
More informationb) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.
NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while
More informationMarko Milošević.
Marko Milošević marko643@gmail.com marko.milosevic@pmf.edu.rs ESPB 8 Bodovanje Domaći Kolokvijumi 2x10 2x20 Završni ispit 40 Konsultacije sreda 13-14 četvrtak 16-17 Šabloni dizajna (Design Patterns) Metrika
More informationNasleđivanje i izvedene klase u jeziku C++
Tema 08 Nasleđivanje i izvedene klase u jeziku C++ dr Vladislav Miškovic vmiskovic@singidunum.ac.rs Fakultet za informatiku i računarstvo - Tehnički fakultet OBJEKTNO ORIJENTISANO PROGRAMIRANJE 2016/2017
More informationIzrada web aplikacije u razvojnom okruženju Spring
SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ž D I N Stjepan Čolak Izrada web aplikacije u razvojnom okruženju Spring ZAVRŠNI RAD Varaždin, 2015. SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE
More informationOracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:
Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 7-1 Oracle Equijoin and Cartesian Product Prethodna sekcija se bavila upitima preko više od jedne tabele
More informationVjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom
Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom U ovoj vježbi trebate dodati sljedeće view-ove u OnlineVrijednosnice aplikaciju: Details view za Graf model objekte ovaj view će prikazivati
More informationKINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB
10 th International Scientific Conference on Production Engineering DEVELOPMENT AND MODERNIZATION OF PRODUCTION KINEMATIČKA ANALIZA MEHANIZAMA INDUSTRIJSKIH ROBOTA KORIŠTENJEM PROGRAMSKOG JEZIKA MATLAB
More informationBackup i Restore C particije ili Windowsa sa NORTON-om
BRZO KOPIRANJE I RESTAURIRANJE DISKOVA (programski paket Norton SystemWorks) OBJAŠNJENJE Backup i Restore C particije ili Windowsa sa NORTON-om Je li vam se nekada srušio operativni sustav ili pokvario
More informationTema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE)
Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE) SISTEMI ZA PODRŠKU ODLUČIVANJU dr Vladislav Miškovic vmiskovic@singidunum.ac.rs Fakultet za računarstvo i informatiku 2013/2014 Tema 8:
More informationpublic static void main(string []args) { System.out.println("Hello World"); /* prints Hello World */
Java Uvod Hello world primer Java program predstavlja skup objekata koji prozivaju jedni drugima metode i tako komuniciraju. Izvorni kod se uvek čuva u datotekama sa ekstenzijom.java. Ispod je predstavljen
More informationModbus TCP i dva PLC S7 1200
Industrijski sistemi i protokoli Modbus TCP i dva PLC S7 1200 1 Modbus TCP i dva PLC S7 1200 Laboratorijski deo - obavezno: Detaljno proučiti i testirati već napravljeni projekat za PLC-ove, koji se nalazi
More informationPredavanje 13. using namespace int for int return
Predavanje 13. Svi programi koje smo do sada pisali posjedovali su suštinski nedostatak da se svi uneseni podaci gube onog trenutka kada se program završi. Poznato je da se ovaj problem rješava uvođenjem
More information1. Poglavlje: Rad s podacima
1. Poglavlje: Rad s podacima Često imamo potrebu zapamtiti neke podatke, pa ih u sljedećim sessijama programa vratiti. Za to postoji više načina. Ovdje ćemo nabrojati osnovne principe. 1.1 Windows Registry
More informationKOMPAJLIRANJE IZVORNOG KODA U UPRAVLJIVE MODULE SOURCE CODE COMPILATION INTO MANAGED MODULES
TEHNOLOGIJA, INFORMATIKA I OBRAZOVANJE ZA DRUŠTVO UČENJA I ZNANJA 6. MeĎunarodni Simpozijum, Tehnički fakultet Čačak, 3 5. jun 2011. TECHNOLO GY, INFO RM ATICS AND EDUCATION FOR LEARNING AND KNOWLEDGE
More informationProjektovanje namenskih računarskih struktura
Univerzitet u Novom Sadu Fakultet tehničkih nauka Odsek za računarsku tehniku i računarske komunikacije Projektovanje namenskih računarskih struktura Mehanizam JNI i upotreba u Androidu i aplikacijama
More information4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7
Java zadaci Zadaci 1. Priprema novog projekta... 1 2. Organizacija klasa u fajlove... 2 3. Ispis vrijednosti u konzolni prozor... 3 4. Učitavanje vrijednosti sa konzolnog prozora... 4 4.1 Učitavanje podatka
More information9. RAD S DATOTEKAMA PODATAKA
Rad s datotekama 7-1 9. RAD S DATOTEKAMA PODATAKA U programiranju se često radi sa skupovima podataka koji se čuvaju na jedinicama perfernih memorija, a koji se organizuju u posebne cjeline koje nazivamo
More informationMICROSOFT LINQ. INFOTEH-JAHORINA Vol. 9, Ref. F-9, p , March Ognjen Borovina, Elektrotehnički fakultet, Istočno Sarajevo
INFOTEH-JAHORINA Vol. 9, Ref. F-9, p. 1032-1036, March 2010. MICROSOFT LINQ Ognjen Borovina, Elektrotehnički fakultet, Istočno Sarajevo Sadržaj: U ovom radu uveli smo LINQ i pokazali osnove njegovog rada.
More informationIBM Endpoint Manager. Maja Kehić. security
IBM Endpoint Manager Maja Kehić security IBM Endpoint Manager Endpoints Jedinstven agent Desktop / laptop / server endpoint Mobile Purpose specific Jedinstvena konzola Zajednička infrastruktura Jedan server
More informationOSNOVE PROGRAMIRANJA
OSNOVE PROGRAMIRANJA Struktura aplikacije Visual Basica Za svaku formu u aplikaciji postoji pripadajuci modul forme (.frm) koji sadrži njen programski kod Modul forme sadži event procedure - dijelovi koda
More informationAndroid. Osobine. Razvojno okruženje
Android Android je operativni sistem za mobilne uređaje kao što su pametni telefoni i tablet računari. Razvio ga je Android Inc. kojeg je kupio Google. Google kompanija je osnovala Open Handset Alliance,
More informationXML. Miroslav Trajanović. Šta je XML
XML Miroslav Trajanović Šta je XML XML je skraćenica zaextensible Markup Language XML je proširivi jezik označavanja(markup language) XML je projektovan da strukturira, čuva i prenosi podatke između aplikacija
More informationPrva recenica. Druga recenica.
Algoritmi i programiranje Predavanje 4 METODE LOKALNE, GLOBALNE VARIJABLE I KONSTANTE METODA je imenovani izdvojeni slijed naredbi koji rješava određeni zadatak i po potrebi se poziva jednom ili više puta
More informationKURSORI BAZE PODATAKA U ORACLE 11g
KURSORI BAZE PODATAKA U ORACLE 11g SAŽETAK Kursor baze podataka je privatno SQL područje u kojem se čuvaju informacije za procesiranje određene SQL naredbe. Oracle PLSQL jezik koristi implicitne i eksplicitne
More informationBAZE PODATAKA. SQL Opis podataka. Neđeljko Lekić Irena Orović
BAZE PODATAKA SQL Opis podataka Neđeljko Lekić Irena Orović www.etf.ac.me U OVOJ LEKCIJI SQL SQL jezik SQL, relacioni model i E/R diagram CREATE TABLE Kolone Primarni ključevi Spoljnji ključevi DROP TABLE
More information33 Rad s RESTful Web uslugama
33 Rad s RESTful Web uslugama Tokom devedesetih godina prošlog stoljeća Web se počeo masovno koristiti pa su novim Web aplikacijama pristupali milijuni ljudi širom svijeta. U isto vrijeme, bilo je dostupno
More informationGeant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce)
Geant2 - JRA1 Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce) 21.11.2007, CUC2007, Rijeka Što je to JRA1? Glavni zadatak JRA1 (Performance
More informationProgramske paradigme Funkcionalna paradigma
Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju
More informationAROS. 8čas Softver i OS za prenosive uređaje
AROS 8čas Softver i OS za prenosive uređaje 1 Zbog velike popularnosti pametnih telefona i tablet uređaja očekuje se da će vrednost tržišta mobilnih aplikacija u narednim godinama iznositi preko 50 milijardi
More informationWindows Phone SDK 8.0 omogućuje kreiranje aplikacija za Windows Phone 8 and Windows Phone 7.5 uređaje. SDK 7.1
Igor Mirković SDK 8.0 Windows Phone SDK 8.0 omogućuje kreiranje aplikacija za Windows Phone 8 and Windows Phone 7.5 uređaje. SDK 7.1 Windows Phone SDK 7.1 i 7.1.1 omogućuju razvoj aplikacija za Windows
More informationRazvoj C# aplikacije RAD metodom
INFOTEH-JAHORINA Vol. 11, March 2012. Razvoj C# aplikacije RAD metodom Željko Gavrić, Stefan Tešanović studenti prvog ciklusa studija Fakultet za informacione tehnologije, Slobomir P Univerzitet Doboj,
More informationLekcija 4. Java programiranje sa bazama podataka. dr Svetlana Cvetanović
Lekcija 4 Java programiranje sa bazama podataka dr Svetlana Cvetanović JAVA PROGRAMIRANJE SA BAZAMA PODATAKA Uvod 01 02 03 04 Uvod JDBC Interfejsi Vežba: Preduslovi za pisanje Java koda Zaključak Kreiranje
More information