JAVA V JDBC Java, letní semestr

Rozměr: px
Začít zobrazení ze stránky:

Download "JAVA V JDBC Java, letní semestr"

Transkript

1 JAVA JDBC

2 Přehled rozhraní pro přístup k relační databázi jednotné nezávislé na databázi výrobce databáze musí dodat JDBC driver umožňuje vykonávání SQL dotazů přístup k výsledkům dotazů podobné reflection API balíky java.sql, javax.sql verze JDK 1.1 JDBC 1.0 JDK 1.2 JDBC 2.0 JDK 1.4 JDBC 3.0 JDK 6 JDBC 4.0 JDK 7 JDBC 4.1 JDK 8 JDBC 4.2

3 JDBC Driver JDBC API v podstatě jen rozhraní implementace dodána přes driver driver explicitně natáhnout a zaregistrovat Class.forName("com.driver.Name"); po natažení driveru, vytvořit připojení na DB Connection con = DriverManager.getConnection(url, "mylogin", "mypassword"); url jdbc:mysql://localhost/test jdbc:odbc:source

4 JDBC Driver typy driveru Native-protocol pure Java driver Native-API partly-java driver JDBC-Net pure Java driver JDBC-ODBC bridge plus ODBC driver

5 Základní třídy a rozhraní DriverManager třída všechny metody jsou statické getconnection() několik variant getdrivers() všechny natažené drivery getlogwriter(), setlogwriter() println() zapis do logu getlogintimeout(), setlogintimeout()

6 Základní třídy a rozhraní Connection interface vytváření a vykonávání dotazů ResultSet interface výsledky dotazu

7 Základní příklad Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection( "jdbc:mysql://localhost/test", "",""); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * FROM test"); while (rs.next()) { // zpracování výsledků po řádcích } stmt.close(); con.close();

8 Přístup k výsledkům podbné reflection API getstring(), getint(),... pracuje se nad aktuálním řádkem identifikace sloupce pomocí jména pořadí ResultSet rs = stmt.executequery("select ID, NAME FROM TEST"); while (rs.next()) { int id = rs.getint("id"); String s = rs.getstring("string"); System.out.println(id + " " + s); }

9 Přístup k výsledkům ResultSet.next() musí být zavoláno i na první řádek getstring() lze volat na všechny typy nelze na nové SQL3 typy automatická konverze na String

10 Dotazy Connection.createStatement() vytvoření dotazu ("prázdného") Statement.executeQuery("...") pro dotazy vracející vysledky (SELECT) výsledky přes ResultSet Statement.executeUpdate("...") pro dotazy nevracející výsledky UPDATE CREATE TABLE

11 PreparedStatement PreparedStatement interface dědí od Statement předpřipravený dotaz s parametry vyplní se před použitím metody settype(int index, type v) clearparameters() PreparedStatement pstmt = con.preparestatement("update EMPLOYEES SET SALARY =? WHERE ID =?"); pstmt.setbigdecimal(1, ) pstmt.setint(2, )

12 Transakce implicitně auto-commit mód commit se provede po každé změně auto-commit lze zrušit con.setautocommit(false); // // posloupnost změn // con.commit(); // nebo con.rollback() con.setautocommit(true);

13 Callable Statements pro přístup k uloženým procedurám dědí od PreparedStatement nastavení parametrů settype(int index, type v) návratový typ nutno zaregistrovat registeroutparameter(int index, int sqltype) formát a) {?= call <procedure-name>[<arg1>,<arg2>, ]} b) {call <procedure-name>[<arg1>,<arg2>, ]} CallableStatement cs = con.preparecall("{call SHOW_SUPPLIERS}"); ResultSet rs = cs.executequery();

14 Ošetření chyb SQLException a její potomci String getsqlstate() definováno X/Open int geterrorcode() specifický pro konkrétní databázi varování (warnings) SQLWarning není to výjimka nutno explicitně testovat Statement.getWarnings() SQLWarning.getNextWarning()

15 Batch update zpracování více dotazů najednou Statement.addBatch(String sql) přidá dotaz do dávky int[] Statement.executeBatch(); provede dávku vrací počet ovlivněných řádků pro každý dotaz v dávce

16 Updatable ResultSet implicitní ResultSet nelze měnit, lze se pohybovat pouze vpřed lze změnit při vytváření Statementu Statement stmt = con.createstatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = stmt.executequery("select..."); výsledný ResultSet lze měnit, lze se v něm volně pohybovat, nejsou v něm vidět změny od ostatních uživatelů

17 Java DB Oraclem podporovaná distribuce databáze Apache Derby kompletně v Javě lze používat samostatně jako server uvnitř jiné aplikace snaha o malou spotřebu paměti (~ 2MB) existují i jiné databáze napsané v Javě

18 Objektové databáze ne-relační databáze ukládaní a vyhledávání objektů vlastní přístup bez JDBC NeoDatis db4o příklad pro NeoDatis Sport sport = new Sport("volley-ball"); ODB odb = ODBFactory.open("test.neodatis"); odb.store(sport); Objects<Player> players = odb.getobjects(player.class); odb.close();

19 ORM problém s OO databázemi jednoduché na použití nepříliš výkonné, nepříliš podporované,... řešení ORM (object-relational mapping) vrstva mapující relační databázi na objekty zjednodušeně třída ~ schéma tabulku objekt ~ řádek v tabulce JDBC se typicky používá uvnitř automaticky Hibernate nejpoužívanější ORM pro Javu implementace i pro další technologie

20 JAVA Práce s XML

21 Přehled JAXP Java API for XML Processing čtení, zápis a transformaci XML SAX, DOM, XSLT podle W3C podporuje různé implementace referenční implementace součástí JDK lze použít jiné JDOM zjednodušený DOM pro Javu JAXB Java Architecture for XML Binding mapování XML <=> Java objekty Elliotte Rusty Harold: Processing XML with Java kniha volně ke stažení

22 JAXP přehled balíky javax.xml.parsers org.w3c.dom org.xml.sax javax.xml.transform SAX (Simple API for XML) průchod přes XML dokument element po elementu na každém elementu něco provést rychlé, nenáročné na paměť složitější na použití DOM postaví z dokumentu strom v paměti jednoduché na použití pomalé, náročné na paměť 22

23 SAX 23

24 DOM 24

25 DOM: použití DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newdocumentbuilder(); // vytvoří celý strom v paměti Document document = builder.parse("file.xml"); Element root = document.getdocumentelement(); NodeList nl = root.getchildnodes(); for (int i=0; i<nl.length(); i++) { Node n = nl.item(i);... } 25

26 SAX: použití class MyHandler extends DefaultHandler { void startdocument() {... } void enddocument() {... } void startelement(...) {... }... } SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxparser = factory.newsaxparser(); saxparser.parse("file.xml", new MyHandler() ); 26

27 Implementace existují různé implementace JAXP DocumentBuilderFactory.newInstance() i SAXParserFactory.newInstance() uvnitř používají ServiceLoader varianta newinstance(string factoryclassname, ClassLoader classloader) hledá danou třídu 27

28 JDOM Přehled API pro XML přímo pro Javu používá std. API z Javy (kolekce,...) jednoduché na používání rychlé "light-weight" 28

29 Použití SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(filename); Element root = doc.getrootelement(); List children = current.getchildren(); Iterator iterator = children.iterator(); while (iterator.hasnext()) { Element child = (Element) iterator.next();... } 29

30 JAXB přehled automatické mapovaní mezi XML dokumenty a Java objekty princip Java třídy a odpovídající XML schema lze vygenerovat třídy ze schematu i obraceně použití vytvoření Java objektů z XML (unmarshaling) práce s Java objekty uložení Java objektů do XML (marshaling) 30

31 JAXB příklad <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd=" xmlns:jxb=" jxb:version="2.0"> <xsd:element name="greetings" type="greetinglisttype"/> <xsd:complextype name="greetinglisttype"> <xsd:sequence> <xsd:element name="greeting" type="greetingtype" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="greetingtype"> <xsd:sequence> <xsd:element name="text" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="language" type="xsd:language"/> </xsd:complextype> </xsd:schema> 31

32 JAXB příklad vygenerování tříd xjc -p hello hello.xsd 32

33 JAXB příklad public class Hello { private ObjectFactory of; private GreetingListType grlist; public Hello(){ of = new ObjectFactory(); grlist = of.creategreetinglisttype(); } public void make( String t, String l ){ GreetingType g = of.creategreetingtype(); g.settext( t ); g.setlanguage( l ); grlist.getgreeting().add( g ); } public void marshal() { try { JAXBElement gl = of.creategreetings( grlist ); JAXBContext jc = JAXBContext.newInstance( "hello" ); Marshaller m = jc.createmarshaller(); m.marshal( gl, System.out ); } catch( JAXBException jbe ){ } } Java, } letní semestr

34 JAXB příklad Hello h = new Hello(); h.make( "Bonjour, madame", "fr" ); h.make( "Hey, you", "en" ); h.marshal(); <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Greetings> <Greeting language="fr"> <Text>Bonjour, madame</text> </Greeting> <Greeting language="en"> <Text>Hey, you</text> </Greeting> </Greetings> 34

35 JAVA Scripting API

36 Přehled podpora skriptovacích jazyku přímo z Javy integrace skriptů do Java programu volání skriptů používání Java objektů ze skriptu a obraceně JSR 223 Scripting for the Java TM Platform od Java 6 přímo součástí JDK součástí JDK je JavaScript engine Java 6-7 Mozilla Rhino engine Java 8 Nashorn engine implementace JavaScript jazyka v Javě implementuje rozhraní JSR 223 existuje mnoho implementací pro další jazyky stačí dát JAR balík na CLASSPATH

37 Proč jednotné rozhraní pro všechny skriptovací jazyky dříve si každá implementace řešila rozhraní po svém snadné požívání skr. jazyků proměnné bez typů automatické konverze programy není nutno kompilovat existence shelů použití složitější konfigurační soubory rozhraní pro administrátora aplikace rozšiřování aplikace (pluginy) skriptování v aplikaci obdoba jako JS v prohlížeči, VBScript v office,...

38 Použití balíček javax.scripting ScriptEngineManager základní třída nalezení a získání instance skript. enginu základní použití instance ScriptEngineManageru nalezení požadovaného enginu spuštění skriptu pomocí metody eval()

39 Hello world public class Hello { public static void main(string[] args) { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getenginebyname("javascript"); //ScriptEngine engine = manager.getenginebyextension("js"); //ScriptEngine engine = manager.getenginebymimetype("application/javascript"); try { engine.eval("println( \"Hello World!\");" ); System.out.println( engine.eval( " 'Hello World again!' ")); } catch(scriptexception e) {... } } }

40 Přehled funkčnosti skript řetězec nebo znakový stream (reader) vyhodnocení přes ScriptEngine.eval() interface Compilable jeho implementace volitelná otestovat instanceof Compilable kompilace skriptu do byte-code interface Invocable jeho implementace volitelná otestovat instanceof Invocable volání metod a funkcí ze skriptů Bindings, ScriptContext prostředí pro vykonávání skriptů mapování proměnných sdílených mezi Javou a skriptem

41 Získání enginu (1) ScriptEngineManager.getEngineFactories() seznam všech ScriptEngineFactory for (ScriptEngineFactory factory : enginemanager.getenginefactories()) { System.out.println("Engine name: " + factory.getenginename()); System.out.println("Engine version: " + factory.getengineversion()); System.out.println("Language name: " + factory.getlanguagename()); System.out.println("Language version: " + factory.getlanguageversion()); System.out.println("Engine names:"); for (String name : factory.getnames()) { System.out.println(" " + name); } System.out.println("Engine MIME-types:"); for (String mime : factory.getmimetypes()) { System.out.println(" " + mime); } }

42 Získání enginu (2) ScriptEngineFactory.getEngine() nebo přímo ScriptEngineManager.getEngineByName() ScriptEngineManager.getEngineByExtension() ScriptEngineManager.getEngineByMimeType()

43 Skripty vykonání skriptu Object ScriptEngine.eval( String s,... Object ScriptEngine.eval( Reader r, předávání proměnných (základní varianta) void ScriptEngine.put(String name, Object value) Object ScriptEngine.get(String name) POZOR na konverze typů!

44 Předávání proměnných interface Bindings extends Map<String,Object> základní implementace SimpleBindings interface ScriptContext prostředí, ve kterém se skripty vykonávají základní implementace SimpleScriptContext obsahuje scopes scope = Binding speciální scopes ENGINE_SCOPE lokální pro ScriptEngine GLOBAL_SCOPE globální pro EngineManager getattribute(..) / setattribute(..) odpovídají getbindings(..).get / put lze nastavit standardní Reader a Writery (vstup a výstup) pro skript

45 Předávání proměnných zdroj obrázku:

46 Volání funkcí/metod interface Invocable volitelná funkčnost, je třeba testovat (instanceof) poskytuje volání funkcí skriptu z Java kódu volání metod objektů skriptu z Java kódu, pokud je skriptovací jazyk objektový implementace Java interface funkcemi (metodami) skriptu ScriptEngine engine = manager.getenginebyname("javascript"); Invocable inv = (Invocable) engine; engine.eval("function run() { println( 'funkce run'); };"); Runnable r = inv.getinterface(runnable.class); (new Thread(r)).start(); engine.eval("var runobj = { run: function() { println('metoda run'); } };"); o = engine.get("runobj"); r = inv.getinterface(o, Runnable.class); (new Thread(r)).start();

47 JavaScript engine v JDK (1) některé funkce odstraněny (nebo nahrazeny) převážně z důvodů bezpečnosti vestavěné funkce pro import Java balíčků importpackage(), importclass() balíčky přístupné přes Packages.JmenoBalíčku, pro nejpoužívanější balíčky jsou definované zkratky (proměnné): java (ekvivalentní Packages.java), org, com,.. java.lang není importován automaticky (možné konflikty objektů Object, Math,..) v Java 8 nutno nejdříve použít load("nashorn:mozilla_compat.js"); objekt JavaImporter pro ukrytí importovaných prvků do proměnné (předchází konfliktům) var imp = new JavaImporter( java.lang, java.io);

48 JavaScript engine v JDK (2) Java objekty v js vytváří se stejně jako v Javě var obj = new Trida(...) Javovské pole v js vytvoříme přes Java Reflection var pole = java.lang.reflect.array.newinstance(..) dále pracujeme běžně: pole[i], pole.length, var a = java.lang.reflect.array.newinstance( java.lang.string, 5); a[0] = "Hello" anonymní třídy anonymní implementace Java rozhraní var r = new java.lang.runnable() { run: function() { println( "running..."); } }; var th = null; th = new java.lang.thread( r); Java, letní semestr th.start(); 2016

49 JavaScript engine v JDK (3) anonymní třídy (pokrač.) autokonverze funkce na rozhraní s jednou metodou function func() { print("i am func!"); }; th = new java.lang.thread( func); th.start();

50 JavaScript engine v JDK (4) přetížené Java metody připomenutí overoading se děje při překladu (javac) při předání JavaScriptových proměnných Java metodám vybere script engine správnou variantu výběr můžeme ale ovlivnit objekt[ název_metody(typy parametrů) ](parametry) pozor! řetězec bez mezer!

51 Další enginy existuje velké množství hotových enginů awk, Haskell, Python, Scheme, XPath, XSLT, PHP,... použití stáhnout JAR dát JAR na CLASSPATH vytvoření vlastního enginu implementace API nutno implementovat alespoň ScriptEngineFactory ScriptEngine zabalení do JAR přidat soubor META-INF/services/javax.script.ScriptEngineFactory ScriptEngineManager používá ServiceLoader

52 Java, letní semestr Verze prezentace 2015 AJ07.cz Tato prezentace podléhá licenci Creative Commons Uveďte autora-neužívejte komerčně 4.0 Mezinárodní License. 52

JAVA Moduly Java, letní semestr 2019

JAVA Moduly Java, letní semestr 2019 JAVA Moduly Modularizace modul explicitně definované co poskytuje i co požaduje proč koncept classpath je křehký chybí zapouzření 2 3 Modulární aplikace motivace proč aplikace více a více komplexní skládání

Více

JAVA JDBC Java, letní semestr 2018

JAVA JDBC Java, letní semestr 2018 JAVA JDBC Přehled rozhraní pro přístup k relační databázi jednotné nezávislé na databázi výrobce databáze musí dodat JDBC driver umožňuje vykonávání SQL dotazů přístup k výsledkům dotazů podobné reflection

Více

Java a XML. 10/26/09 1/7 Java a XML

Java a XML. 10/26/09 1/7 Java a XML Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis

Více

Semináˇr Java X JDBC Semináˇr Java X p.1/25

Semináˇr Java X JDBC Semináˇr Java X p.1/25 Seminář Java X JDBC Seminář Java X p.1/25 Úvod JDBC API poskytuje základní rozhraní pro unifikovaný přístup k databázím Programátor je odstíněn od specifického API databáze Jednotné rozhraní JDBC pro všechny

Více

Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti

Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti Práce s databází Specifikace JDBC Pro práci s relačními databázemi poskytuje Java rozhraní JDBC Java Database Connectivity. Specifikace tohoto rozhraní má několik verzí. Verze 1.x je součástí SDK již od

Více

Datová vrstva informačního systému. Miroslav Beneš

Datová vrstva informačního systému. Miroslav Beneš Datová vrstva informačního systému Miroslav Beneš Obsah přednášky JDBC architektura ovladače použití ODBC architektura ovladače a zdroje dat použití PHP & MySQL Datová vrstva informačního systému 2 Java

Více

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

Více

Datová vrstva informačního systému. Java Database Connectivity JDBC. Obsah přednášky JDBC. Datová vrstva informačního systému

Datová vrstva informačního systému. Java Database Connectivity JDBC. Obsah přednášky JDBC. Datová vrstva informačního systému Datová vrstva informačního systému Miroslav Beneš Obsah přednášky JDBC architektura ovladače použití ODBC architektura ovladače a zdroje dat použití PHP & MySQL Datová vrstva informačního systému 2 Java

Více

JAVA Moduly Java, letní semestr 2018

JAVA Moduly Java, letní semestr 2018 JAVA Moduly Modularizace modul explicitně definované co poskytuje i co požaduje proč koncept classpath je křehký chybí zapouzření 2 Modularizace modul explicitně definované co poskytuje i co požaduje proč

Více

API pro práci s XML. Jirka Kosek. Poslední modifikace: $Date: 2014/12/17 17:15:28 $ Copyright 2001-2014 Jiří Kosek

API pro práci s XML. Jirka Kosek. Poslední modifikace: $Date: 2014/12/17 17:15:28 $ Copyright 2001-2014 Jiří Kosek Jirka Kosek Poslední modifikace: $Date: 2014/12/17 17:15:28 $ Obsah Úvod... 3 Parsery XML... 4 Rozhraní pro přístup k dokumentu XML... 5 Další charakteristiky parseru... 6 Sekvenční čtení... 7 Push parsery...

Více

STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ

STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ Technologie Jalapeño od InterSystems Andreas Dieckow, Principal Product Manager, Strategic Planning InterSystems Corporation Úvod Programovací jazyk Java má díky

Více

Podmínky na zápočet. Java, zimní semestr

Podmínky na zápočet. Java, zimní semestr Podmínky na zápočet zápočtový test u počítače zápočtový program "rozumná" velikost téma do 12. 1. 2018 emailem cvičícímu domácí úkoly 225 bodů (max 450) docházka víc než 3 absence 315 bodů 1 Domácí úkoly

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml Rozhraní SAX, SAX vs. SAX2 Jaroslav Ciml Použití SAX - připomenutí Vytvoření instance parseru XMLReader xmlreader = XMLReaderFactory.createXMLReader(); Registrace handleru xmlreader.setcontenthandler(

Více

RMI Remote Method Invocation

RMI Remote Method Invocation 2. cvičení RMI Remote Method Invocation 2007/09 ver.2.0 1 RMI co to je? vyvolání metody z jiné JVM lokalizace vzdáleného objektu komunikace se vzdálenými objekty přenos objektu v bytecode typicky klient

Více

Vánoční hrátky s JAXB

Vánoční hrátky s JAXB Vánoční hrátky s JAXB http://jaxb.dev.java.net Martin Grebáč, martin.grebac@sun.com Pavel Bucek, pavel.bucek@sun.com 1 Přehled Příklad 1 - Jednoduché čtení/zapisování z/do XML Co je JAXB > O projektu >

Více

Vytváření a použití knihoven tříd

Vytváření a použití knihoven tříd Vytváření a použití knihoven tříd doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Prostory jmen motivace spolupráce

Více

Iterator & for cyklus

Iterator & for cyklus Iterator & for cyklus for (Object o : foo) funguje pokud je foo pole nebo je foo iterovatelné jako to zařídit? implementovat interface java.lang.iterable Iterable má jednu metodu java.util.iterator iterator()

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Vytváření uživatelských datových typů a funkcí v Javě

Vytváření uživatelských datových typů a funkcí v Javě IBM Software Group Vytváření uživatelských datových typů a funkcí v Javě Jan Musil (jan_musil@cz.ibm.com) IBM Certified System Administrator - Informix Dynamic Server V11 2007 IBM Corporation Přehled prezentace

Více

4. lekce Přístup k databázi z vyššího programovacího jazyka

4. lekce Přístup k databázi z vyššího programovacího jazyka 4. lekce Přístup k databázi z vyššího programovacího jazyka Studijní cíl Tento blok popisuje základní principy přístupu k databázi z vyššího programovacího jazyka. Doba nutná k nastudování 2-3 hodiny Průvodce

Více

JAVA. Další jazyky kompilovatelné do Java byte-code

JAVA. Další jazyky kompilovatelné do Java byte-code JAVA Další jazyky kompilovatelné do Java byte-code Přehled Scala objektový a funkcionální jazyk Closure funkcionální jazyk dialekt Lispu Groovy skritpovací jazyk Kotlin nová Java Jython Java implementace

Více

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky Google Web Toolkit Martin Šurkovský, SUR096 Vysoká škola Báňská - Technická univerzita Ostrava Katedra informatiky 29. března 2010 Martin Šurkovský, SUR096 (VŠB - TUO) Google Web Toolkit 29. března 2010

Více

Oracle XML DB. Tomáš Nykodým

Oracle XML DB. Tomáš Nykodým Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k

Více

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance

Více

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)

Více

NSWI096 - INTERNET JavaScript

NSWI096 - INTERNET JavaScript NSWI096 - INTERNET JavaScript Mgr. Petr Lasák JAVASCRIPT JAK SE DNES POUŽÍVÁ Skriptovací (interpretovaný) jazyk Umožňuje interaktivitu Použití: Dialogy Kontrola dat ve formulářích Změny v (X)HTML dokumentu

Více

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5); Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace

Více

Jazyk C# (seminář 6)

Jazyk C# (seminář 6) Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

JAVA V RMI Java, letní semestr

JAVA V RMI Java, letní semestr JAVA RMI Přehled Remote Method Invocation používání vzdálených objektů objekty v jiné VM (na stejném počítači i přes síť) jako by to byly lokální objekty (téměř) pouze volání trvají déle Vzdálené volání

Více

Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek. http://www.kosek

Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek. http://www.kosek Podpora XML v.net Podpora XML v.net Jirka Kosek nezávislý publicista http://www.kosek kosek.cz Co nás čeká? Co nás čeká?! podpora XML ve VisualStudio.NET! architektura System.Xml! čtení XML dokumentů!

Více

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15 Platforma Java Objektově relační mapování II Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, 2016 1 / 15 Dotazování vyhledání objektu podle

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty Pokročilé techniky tvorby sestav v Caché ZENové Reporty Úvodem Jednoduché sestavy Pokročilé sestavy Ladění Historie ZEN reporty sdílejí podobný princip definování obsahu jako ZENové stránky Byly uvedeny

Více

Rozhraní pro práci s XML dokumenty. Roman Malo

Rozhraní pro práci s XML dokumenty. Roman Malo Rozhraní pro práci s XML dokumenty Roman Malo Práce s XML dokumenty Datově a dokumentově orientované XML dokumenty Problém preference elementů a atributů Strom elementů Strom uzlů Základní zpracování dokumentů

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

JAVA. Krátce o Reflection API

JAVA. Krátce o Reflection API JAVA Krátce o Reflection API 1 Přehled reflection, introspection umožňuje zjišťování informací o třídách, atributech, metodách vytváření objektů volání metod... balík java.lang.reflect třída java.lang.class

Více

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů Tvorba informačních systémů 1/18 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/18 Úvod

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

JAVA Unit testing Java, zimní semestr

JAVA Unit testing Java, zimní semestr JAVA Unit testing Úvod unit testing testování malý jednotek funkčnosti jednotka nezávislá na ostatních testování zcela oddělené vytvářejí se pomocné objekty pro testování kontext typicky v OO jazycích

Více

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text()); Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového

Více

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4. Základy programování 4 - C# - 8. cvičení Radek Janoštík Univerzita Palackého v Olomouci 3.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.2017 1 / 10 Reakce na úkoly

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ

SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ Vstupy a výstupy pokračování Kódování textů Texty (řetězce nebo znaky) v jazyce C# jsou v paměti uloženy v kódování označovaném běžně Unicode (kódová stránka 1200).

Více

GUI. Systémová integrace pro desktopové aplikace

GUI. Systémová integrace pro desktopové aplikace GUI Systémová integrace pro desktopové aplikace 1 java.awt.desktop systémová integrace desktopových aplikací static boolean isdesktopsupported() test zda je integrace k dispozici static Desktop getdesktop()

Více

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí Kolekce obecně Seznamy a iterátory doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Kolekce ::= homogenní sada prvků

Více

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/

UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/ UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok

Více

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

Více

ANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

ANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha ANT Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Více

Groovy agilní Java. Pavel Kříž Filip Malý

Groovy agilní Java. Pavel Kříž Filip Malý Groovy agilní Java Pavel Kříž Filip Malý Úvod Dynamický skriptovací jazyk pod JVM Navržen pro platformu Java, zcela interoperabilní (na úrovni bajtkódu) s běžnými programy v Javě, silně objektově orientovaný

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer Jalapeño: pekelně ostrá Java persistence v Caché Daniel Kutáč Senior Sales Engineer Co je Jalapeño Pár slov ředitele vývoje software Klikni! Tak tedy, o čem dnes budeme mluvit Architektura Instalace Anotace

Více

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20 Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006 2007 Michal Krátký Tvorba informačních systémů 1/37 Obsah 8.

Více

Návrh softwarových systém. Návrh softwarových systémů

Návrh softwarových systém. Návrh softwarových systémů Návrh softwarových systém ů - Java 8 Jiří Šebek Návrh softwarových systémů (B6B36NSS) Co je nového? Default interface methods Lambda expressions Method references and repeatable annotations Streams Functional

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta

Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta Integrace OpenOffice.org a Javy CZJUG, 15.12.2008, Robert Vojta Obsah Část 1 - Teorie Úvodní informace, definice pojmů Dokumentace, Java Language Binding Pomocné nástroje Část 2 - Praktické ukázky Lokální

Více

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,

Více

InterSystems Caché Post-Relational Database

InterSystems Caché Post-Relational Database InterSystems Caché Post-Relational Database Martin Holoubek xholoub@fi.muni.cz Úvod InterSystems byla založena shodou okolností ve stejném roce jako její největší konkurent Oracle 1978 Caché je velmi vyspělý

Více

JAVA RMI Java, letní semestr 2018

JAVA RMI Java, letní semestr 2018 JAVA RMI Přehled Remote Method Invocation používání vzdálených objektů objekty v jiné VM (na stejném počítači i přes síť) jako by to byly lokální objekty (téměř) pouze volání trvají déle java.rmi modul

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

Zabezpečení proti SQL injection

Zabezpečení proti SQL injection Zabezpečení proti SQL injection ESO9 intranet a.s. Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 19.9.2012 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Skriptovací jazyky. Obsah

Skriptovací jazyky. Obsah Skriptovací jazyky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Co je to skriptovací jazyk? Výhody a nevýhody

Více

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9 Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií

Více

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd 7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Java Cvičení 01.  CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Java Cvičení 01 http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Příklady - Porovnání Co kód vypíše? package cz.cuni.mff.java.example01.tests; public class Test01

Více

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4. Základy programování 4 - C# - 9. cvičení Radek Janoštík Univerzita Palackého v Olomouci 10.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.2017 1 / 13 Reakce na

Více

X36DSV 3. cvičení. XML (extensible Markup Language) JavaScript. AJAX (Asynchronous JavaScript and XML) X36DSV. 2007/10 ver.2.0 1

X36DSV 3. cvičení. XML (extensible Markup Language) JavaScript. AJAX (Asynchronous JavaScript and XML) X36DSV. 2007/10 ver.2.0 1 3. cvičení XML (extensible Markup Language) JavaScript AJAX (Asynchronous JavaScript and XML) 2007/10 ver.2.0 1 XML podmnožina SGML (Standard Generalized Markup Language) popis dat (rozdíl oproti HTML)

Více

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33

IRAE 07/08 Přednáška č. 2. atr1 atr2. atr1 atr2 -33 Objekt jako proměnná Objekty a metody Objekt = proměnná referenčního typu vznik pomocí new, chování viz pole jako referenční proměnná minulý semestr Stack Heap objekt ref this 10 20 atr1 atr2 jinyobjekt

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

Algoritmizace a programování. Terminálový vstup a výstup

Algoritmizace a programování. Terminálový vstup a výstup Algoritmizace a programování Terminálový vstup a výstup Verze pro akademický rok 2012/2013 1 Výpis hodnot Terminálový vstup a výstup budeme používat jako základní způsob interakce programu s uživatelem

Více

Anotace a Hibernate. Aleš Nosek Ondřej Vadinský Daniel Krátký

Anotace a Hibernate. Aleš Nosek Ondřej Vadinský Daniel Krátký Anotace a Hibernate Aleš Nosek Ondřej Vadinský Daniel Krátký Anotace v Javě novinka Javy 5 umožňují k Java kódu přidávat dodatečné informace (podobně jako JavaDoc) za předchůdce anotací je možné považovat

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Úvod do Web Services

Úvod do Web Services Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná

Více

1. Téma 12 - Textové soubory a výjimky

1. Téma 12 - Textové soubory a výjimky 1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se

Více

Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat.

Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat. Pokud zadání nerozumíte nebo se vám zdá nejednoznačné, zeptejte se. Pište čitelně, nečitelná řešení nebudeme uznávat. 1. Odkrokujte následující program a s použitím notace z přednášky popište stav paměti

Více

JAVA. Java Management Extensions JMX

JAVA. Java Management Extensions JMX JAVA Java Management Extensions JMX Přehled součást JDK od 5 dříve externí sada jar archivů MBean = Managed Java Bean beans určené pro správu něčeho (zařízení, aplikace, cokoliv) poskytují rozhraní jako

Více

Architektura, design, konstrukce

Architektura, design, konstrukce Architektura, design, konstrukce Dnešní program Úvod Upřesnění z minula Připomenutí poslat téma zápočtové práce. Změna pořadí cvičení Architektura Design Konstrukce Integrace Architektura vs. design Zjednodušeně:

Více