ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA

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

Download "ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA"

Transkript

1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA FAKULTA PROVOZNĚ EKONOMICKÁ Obor: Informatika - magisterský DIPLOMOVÁ PRÁCE Téma: Aplikační frameworky v objektově orientovaných jazycích Vypracoval: Vedoucí diplomové práce: Bc. Jan Tauchmann doc. Ing. Vojtěch Merunka Ph.D. Praha 2009

2

3

4 Aplikační frameworky v objektově orientovaných jazycích The application frameworks for the object oriented languages

5

6

7

8

9 Kapitola 1: Stránka 1

10 Kapitola 2: Stránka 2

11 Kapitola 3: Stránka 3

12 Kapitola 3: Stránka 4

13 LD A,2 LD B,3 CALL SOUCET # zavolání podprogramu SOUCET # registry A a B zde nahrazují parametry :SOUCET ADD A,B RET Kapitola 4: Stránka 5

14 Definice knihovny "matice": Unit Matice; Interface Type TMatice = Array [1..5, 1..5] of Integer; function Diskriminant(var mat: TMatice): Integer; Implementation function Diskriminant(var mat: TMatice): Integer; begin... zde je implementace vypočtu diskriminantu } end; begin End. Využití knihovny matice v jiném programu: Program MaticeGui; Uses Crt, Matice; var mat: TMatice; Begin... zde se nactou hodnoty matice do promenne "mat" z klavesnice} WriteLn('Vysledek je:'); WriteLn(Diskriminant(mat)); End. Kapitola 4: Stránka 6

15 Program Form1; var myform : TForm; procedure b_okclick(sender:tobject); begin myform.close; end; begin myform := TForm.Create(Application) ; //vytvoření formuláře //vytvoření tlačítka na formuláři TButton okbutton := TButton.Create(myForm); okbutton.left := 22; okbutton.right := 47; okbutton.label := "OK"; //přiřazení procedury b_okclick události kliknutí na tlačítko okbutton okbutton.onclick := b_okclick; myform.show; //zobrazení formuláře end. Kapitola 4: Stránka 7

16 Aplikace Komponenta A Komponenta B "Nested komponenta" X1 "Nested komponenta" X2 Výchozí API vývojového prostředí (framework) API operačního systému Kapitola 4: Stránka 8

17 Kapitola 4: Stránka 9

18 protected void Button1_OnClick(object sender, EventArgs e) connection.execsql("update pohledavky set value='"+txtvalue.text+"'"); } Kapitola 5: Stránka 10

19 Kapitola 5: Stránka 11

20 Model c) Prezentační vrstva se dotáže na zaktualizovaný model View a) Controller upraví objekty doménové logiky na základě uživatelského vstupu b) Controller požádá prezentační vrstvu o zobrazení aktuálního stavu Controller Kapitola 5: Stránka 12

21 Evidence klientů E-shop Autentizace Správa Objednávky Produktový katalog Intranet Zobrazení/správa Catalog Sklad Obsah/Rezervace Správa skladu Kapitola 5: Stránka 13

22 SerializationContext 0..* 0..* ISerializable Serialize (ObjectStream stream) Deserialize (ObjectStream stream) : void : void 0..* 0..1 ObjectSerializer Items : Item[] Status : int <<Implement>> <<Implement>> ShoppingCart Serialize (ObjectStream stream) Deserialize (ObjectStream stream) : void : void Name Price : string : float <<Implement>> <<Implement>> Product Serialize (ObjectStream stream) Deserialize (ObjectStream stream) : void : void Kapitola 5: Stránka 14

23 Kapitola 5: Stránka 15

24 Kapitola 5: Stránka 16

25 Kapitola 6: Stránka 17

26 Interní firemní framework Vlastní implementace IoC kontejneru Vlastní implemetace layout manageru Ukázky použití + best practices Log4Net (logování) Infragistics (uživ. rozhraní) NHibernate (ORM) ODP.NET (přístup k DB) Kapitola 6: Stránka 18

27 Kapitola 6: Stránka 19

28 Kapitola 7: Stránka 20

29 IObjectFactory factory = ContextRegistry.GetContext(); Connection connection = (Connection)factory.GetObject("myDbConnection"); <object id="mydbconnection" type="sytem.data.oracledbconnection"> <property name="connectionstring" value="datasource=serv1;user id=scott;password=tiger"/> <property name="connectiontimeout" value="120" /> <property name="keepalive" value="false" /> </object> public Connection GetMyDbConnection() Type t = Type.GetType(Configuration["Type"]); Connection conn = (Connection)Activator.CreateInstance(t); conn.connectionstring = (string)configuration["connectionstring"]; conn.connectiontimeout = (int)configuration["connectiontimeout"]; conn.keepalive = (bool)configuration["keepalive"]; return conn; } Kapitola 7: Stránka 21

30 Uživatelské rozhraní void SaveUser(User user) User GetUser(int id) Business logika void ExecSQL(...) DataReader GetSQLResult(...) Přístup k databázi (DAO) public void btnsave_click() //uložíme informace o uživateli currentuser UserLogic.SaveUser(currentUser); } Kapitola 7: Stránka 22

31 void SaveUser(User user) Interface void ExecSQL(...) Interface Uživatelské rozhraní Business logika Přístup k databázi (DAO) GetObject("UserLogic") Objekt UserLogic GetObject("DAO") Objekt DAO Spring framework public void btnsave_click() //uložíme informace o uživateli currentuser IObjectFactory factory = ContextRegistry.GetContext(); IUserLogic userlogic = (IUserLogic) factory.getobject("userlogic"); userlogic.saveuser(currentuser); } <objects xmlns=" <object id="userlogic" type="shopping.bl.userlogic"> <property name="minusernamelength" value="4" /> </object> </objects> public class UserLogic: IUserLogic private int minusernamelength; public int MinUserNameLength get return minusernamelength; } set minusernamelength = value; } } Kapitola 7: Stránka 23

32 public void Save(User user) //validace if (user.name.length < MinUserNameLength) throw new ValidationException("User name's length must be greater then " + MinUserNameLength); } } //implementace uložení objektu user //.. //.. Uživatelské rozhraní Neexistuje žádný použitelný interface Business logika Neexistuje žádný použitelný interface Přístup k databázi (DAO) začne vyvvíjet za 4 měsíce začně vyvíjet za 2 měsíce vyvíjí Čeká až bude mít DAO vývojář první funkční verzi Čeká až bude mít DAO vývojář první funkční verzi 1) 2) public class UserLogic: IUserLogic public User GetUser(long id) Kapitola 7: Stránka 24

33 } } //Volání DAO vrstvy return DAO.GetObject<User>(id, Record.Current); public class UserLogicFake: IUserLogic public User GetUser(long id) User user = new User(); user.id = id; user.name = "Jan Novák"; //... ruční vyplnění dalších atributů //... return user; } } [TestFixture] public class UserLogicUnitTest public void SaveUserTest() User user = new User(); user.id = id; user.name = "Jan Novák"; //...vyplnění dalších povinných položek userlogic.saveuser(user); Assert.AreEqual(user.LastModified,DateTime.Now); //...další Assert příkazy } } <objects xmlns=" <object id="testuser1" type="shopping.be.user"> <property name="name" value="jan Novák" /> <property name="birthdate" value=" " /> <!--...vyplnění všech atributů --> </object> <object id="testuser2" type="shopping.be.user"> <property name="name" value="jana Nováková" /> <!--...vyplnění všech atributů --> </object> </objects> public void SaveUserTest() Kapitola 7: Stránka 25

34 } IObjectFactory factory = ContextRegistry.GetContext(); User user = (IUserLogic) factory.getobject("testuser2"); userlogic.saveuser(user); //... Assert příkazy Kapitola 7: Stránka 26

35 Webový server WWW prohlížeč (Firefox, IE...) HTTP požadavek HTTP odpověd HTTP server index.php picture.jpg style.css 1) 2) o o Kapitola 8: Stránka 27

36 <html> <body> Dnes je: <? print date()?> </body> </html> <html> <body> Dnes je: :21 </body> </html> Kapitola 8: Stránka 28

37 XML konfigurace Http požadavek Webový kontejner Volá Servlet 1. Volání Business logika (získání dat, výpočty) 2. Business objekty 3. Přesměrování na JSP Http odpověď JSP stránka Přístup pomocí URL /register RegisterServlet Nový požadavek nebo Validační chyby Úspěšná registrace register.jsp registrationsuccess.jsp <body> <font color="red">$validationmessage}</font> <form action="register"> Name: <input name="name" /><br /> Password: <input name="password" /><br /> <!-- další položky formuláře --> <input type="submit" /> </form> </body> public class RegisterServlet extends HttpServlet public void doget (HttpServletRequest req,httpservletresponse res) Kapitola 8: Stránka 29

38 String name = req.parameters["name"]; String password = req.parameters["password"]; length"; formulář //validace vstupu if(password==null password.length<3) req.attributes["validationmessage"] = "Invalid password's } req.forward("register.jsp"); //přesměrování zpět na return; //volání business logiky pro založení uživatele UserLogic logic=new UserLogic(); User user=logic.registernewuser(name, password,...); if(user!=null) //zpřístupnění objektu "user" v JSP stránce req.attributes["user"] = user; req.forward("registrationsuccess.jsp"); //přesměrování } else //nastavení validační hlášky req.attributes["validationmessage"] = "Your name is already used."; req.forward("register.jsp"); //přesměrování zpět na formulář } } <body> Registration process for user registered with ID: $user.id} </body> $user.name} succeeded. User Kapitola 8: Stránka 30

39 o o o o Webový formulář Odeslání formuláře Http požadavek:?user=root&pass=12345 Přijetí požadavku ActionServletem a vyplnění LoginFormBean LoginFormBean User=root Pass=12345 Kapitola 8: Stránka 31

40 Konfigurace (struts-config.xml) Form bean Vytváří Využívá Http požadavek /nejaka_cesta Volá Web kontejner Action servlet Action třída Volá Business logika Přesměruje volání na Http odpověď JSP stránka Využívá Kapitola 8: Stránka 32

41 o o <struts-config> <!-- definice form beanu RegisterForm --> <form-beans> <form-bean name="registerform" type="myapp.registerform" /> </form-beans> <!-- validace uživatelského vstupu --> <form-validation> <formset> <form name="registerform"> <field property="username" depends="required,minlength"> <arg0 key="user.name"/> <arg1 name="minlength" key="3"/> </field> </form> </formset> </form-validation> <!-- namapování URL /register na akci RegisterAction --> <action-mappings> <action path="/register" type="myapp.registeraction" name="registerform" scope="request"> <!-- definice JSP souboru pro stavy "success" a "failure" --> <forward name="failure" path="/register.jsp"/> <forward name="success" path="/registrationsuccess.jsp"/> </action> </action-mappings> </struts-config> public class RegisterAction extends Action public ActionForward execute(actionmapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) Kapitola 8: Stránka 33

42 ...); } throws Exception //volání business logiky pro založení uživatele UserLogic logic=new UserLogic(); RegisterForm rf=(registerform)form; User user=logic.registernewuser(rf.getname(), rf.getpass(), } if(user!=null) //zpřístupnění objektu "user" v JSP stránce req.attributes["user"] = user; //dokončení běhu se stavem "success" return (mapping.findforward("success")); } else //dokončení běhu se stavem "failure" return (mapping.findforward("failure")); } Kapitola 8: Stránka 34

43 Kapitola 8: Stránka 35

44 <body> <form id="form1" runat="server"> <asp:button ID="btnSubmit" runat="server" text="odeslat" /> </form> </body> protected void Page_Load(object sender, EventArgs e) //vytvoříme instanci tlačítka Button mybutton=new Button(); //vyplníme potřebné vlastnosti mybutton.text = "Odeslat"; mybutton.id = "btnsubmit"; //přidáme tlačítko na formulář Form.Controls.Add(myButton); } Kapitola 8: Stránka 36

45 Klik na tlačítko HTML stránka Http požadavek Http odpověď Strom komponent (umístěn v paměti po dobu zpracování požadavku) FacesServlet / PageHandlerFactory Automatické události Zavolání události komponenty tlačítko Soubor (ASPX / JSP) Kód obsluhy událostí stránky (načtení dat / renderování) Kód obsluhy události "Klik na tlačítko Login" Business logika Kapitola 8: Stránka 37

46 Kapitola 8: Stránka 38

47 User GetUser() SELECT... Business vrstva void SaveUser(User) DAL INSERT... Databáze public static List<User> GetUserById(long id) List<User> result=new List<User>(); try // Vytvoříme instanci DbCommand. DbCommand command = connection.createcommand(); Kapitola 9: Stránka 39

48 } command.commandtext = "SELECT * FROM USERS WHERE ID=@id"; command.parameters["@id"] = id; //spustíme příkaz using (DbDataReader reader = command.executereader()) //vyplníme kolekci výsledku vrácenými daty while (reader.read()) User user = new User(); user.name = reader["name"] as string; user.address = reader["address"] as string; //... mapování dalších položek result.add(user); } } return result; } catch (Exception e) //zpracování vyjímek } o o Kapitola 9: Stránka 40

49 Konfigurace SaveObject(Object obj) GetObject(Type type,string wherestring) ORM INSERT... SELECT... Databáze User GetUser() GetObject(..) SELECT... Business vrstva void SaveUser(User) DAL SaveObject(...) ORM INSERT... Databáze public static List<User> GetUserById(long id) try return ormsession.getobject(typeof(user), "ID=" + id); } catch (Exception e) //zpracování vyjímek } } Kapitola 9: Stránka 41

50 <mapping> <class name="user" dbname="user"> <attribute name="name" dbname="fullname" /> <attribute name="salary" dbname="annual_salary" /> </class> </mapping> Kapitola 9: Stránka 42

51 Konfigurace GetObject(...) SELECT... Business vrstva SaveObject(...) Hibernate INSERT... Databáze Objekty business logiky XML mapovací soubor Databázové schéma Kapitola 9: Stránka 43

52 o o Kapitola 9: Stránka 44

53 ArrayList numbers = new ArrayList() 1, 2, 3, 4, 5 }; ArrayList result = new ArrayList(); foreach (int i in numbers) if(i<4) result.add(i); } result.sort(delegate(int a, int b) return b.compareto(a); }); ArrayList numbers = new ArrayList() 1, 2, 3, 4, 5 }; var result = numbers.where(n => n < 4).OrderByDescending(n => n); numbers Where(), n => n < 4. OrderByDescending() ArrayList numbers = new ArrayList() 1, 2, 3, 4, 5 }; var result = from int n in numbers where n < 4 orderby n descending select n; Kapitola 9: Stránka 45

54 Kapitola 9: Stránka 46

55 Testovaný kód Kód unit testu Testovací framework Kapitola 10: Stránka 47

56 public class StringUtil public string Concat(string s1, string s2) //pro názornost uděláme úmyslnou chybu return s1 + s1; } } [TestFixture] public class StringUtilTest [Test] public void ConcatTest() StringUtil util = new StringUtil(); string result = util.concat("a", "B"); Assert.AreEqual("AB", result, "Concatenation"); } } Kapitola 10: Stránka 48

57 Kapitola 10: Stránka 49

58 Unit tests U I A P P L I C A T I O N B U S I N E S S D A T A A C C E S S DATA Kapitola 10: Stránka 50

59 Console.WriteLine("Starting UI test scenario"); Console.WriteLine("Launching WinApp under test"); string exepath testform = LaunchApp(exePath, "WinApp.Form1"); //spuštění aplikace Console.WriteLine("Setting textbox1 to 'yellow'"); SetControlPropertyValue("textBox1", "Text", "yellow"); Console.WriteLine("Setting textbox1 to 'red'"); SetControlPropertyValue("textBox1", "Text", "red"); Console.WriteLine("Selecting combobox1 to 'blue'"); SetControlPropertyValue("comboBox1", "SelectedItem", "blue"); Console.WriteLine("Clicking button1"); InvokeMethod("button1_Click", new object[]null, new EventArgs()} ); Console.WriteLine("Checking for state: 'red', 'blue', 'Result is purple'"); bool pass = true; if (!((ListBox.ObjectCollection)GetControlPropertyValue("listBox1", "Items")).Contains("Result is purple")) pass = false; if (pass) Console.WriteLine("\nUI test scenario result: PASS"); else Console.WriteLine("\nUI test scenario result: *FAIL*"); Kapitola 10: Stránka 51

60 WebConversation wc = new WebConversation(); //načtení stránky localhost/index.aspx WebResponse resp = wc.getresponse(" ); //použití DOM k získání formuláře na stránce WebForm form = resp.getforms()[0] //nastavení parametru formuláře Name na hodnotu Novák Jiří form.setparameter( "Name", "Novák Jiří") form.submit(); //odeslání formuláře //načtení stránky, na kterou se odkazoval link Kapitola 10: Stránka 52

61 WebResponse resp = wc.getcurrentpage(); //použití DOM k získání první tabulky na stránce WebTable table = resp.gettables()[0]; //kontrola počtu řádků v tabulce Assert.AreEqual( "rows", 4, table.getrowcount() ); //kontrola počtu sloupců v tabulce Assert.AreEqual( "columns", 3, table.getcolumncount() ); //kontrola počtu hypertextových odkazů v buňce s indexem (0,2) Assert.AreEqual( "links", 1, table.gettablecell( 0, 2 ).getlinks().length ); Kapitola 10: Stránka 53

62 Kapitola 10: Stránka 54

63 Kapitola 10: Stránka 55

64 Kapitola 10: Stránka 56

65 Kapitola 11: Stránka 57

66 public class Calculator ILog log = LogManager.GetLogger("Calculator"); public void Compute() try //... // zápis zprávy se závažností info log.info("příprava výpočtu kapitálové přiměřenosti"); //... //zápis zpravy se závažností warn log.warn("vstupní soubor je možná poškozen."); //... } catch (Exception e) Kapitola 11: Stránka 58

67 } } //zápis informace o selhání log.fatal("výpočet kapitálové přiměřenosti selhal",e); //... <log4net> <root> <level value="warn" /> <appender-ref ref="logfileappender" /> <appender-ref ref="consoleappender" /> </root> <appender name="logfileappender" type="log4net.appender.fileappender" > <param name="file" value="log-file.txt" /> <param name="appendtofile" value="true" /> <layout type="log4net.layout.patternlayout"> <param name="header" value="log soubor aplikace Calculator\r\n"/> <param name="footer" value="-----\r\nkonec"/> <param name="conversionpattern" value="%d [%t] %-5p %logger - %m%newline" /> </layout> <filter type="log4net.filter.levelrangefilter"> <param name="levelmin" value="info" /> <param name="levelmax" value="fatal" /> </filter> </appender> <appender name="consoleappender" type="log4net.appender.consoleappender" > <layout type="log4net.layout.patternlayout"> <param name="conversionpattern" value="%d [%t] %-5p %c[%x] %Xauth} %m%n" /> </layout> </appender> </log4net> o Kapitola 11: Stránka 59

68 o o Kapitola 11: Stránka 60

69 Kapitola 12: Stránka 61

70 <project name="ukazka_1" default="init"> <target name="init"> <mkdir dir="bin"/> <chmod file="bin" perm="a+xr"/> </target> </project> <project name="ukazka_2" default="compile"> <target name="compile"> <mkdir dir="bin"/> <chmod file="bin" perm="a+xr"/> <javac srcdir="src" destdir="bin"/> </target> <target name="clean"> <delete dir="bin"/> </target> Kapitola 12: Stránka 62

71 </project> Soubor example.properties bindir=c:\example\release\bin Soubor build.xml <project name="ukazka_3" default="init" basedir="."> <property file="example.properies" prefix="ext"/> <target name="compile"> <mkdir dir="$ext.bindir}"/> <chmod file="$ext.bindir}" perm="a+xr"/> <javac srcdir="src" destdir="$ext.bindir}"/> </target> </project> Kapitola 12: Stránka 63

72 Kapitola 13: Stránka 64

73 Kapitola 14: Stránka 65

74 Kapitola 14: Stránka 66

75 Kapitola 14: Stránka 67

76 Kapitola 15: Stránka 68

77 Kapitola 15: Stránka 69

78 Kapitola 16: Stránka 70

79 Kapitola 16: Stránka 71

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

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ů, 2007/2008 c 2006-2008 Michal Krátký, Miroslav Beneš Tvorba informačních

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ů, 2007/2008 c 2006 2008 Michal Krátký, Miroslav Beneš Tvorba informačních

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

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Webové aplikace Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Harmonogram Dopolední blok 9:00 12:30 Ing. Dostal Úvod, XHTML + CSS Ing. Brada,

Více

KIV/PIA 2013 Jan Tichava

KIV/PIA 2013 Jan Tichava KIV/PIA 2013 Jan Tichava Java EE JSF, PrimeFaces Spring JPA, EclipseLink Java Platform, Enterprise Edition Persistence Zobrazovací vrstva Interakce aplikací Deployment Java Persistence API Enterprise

Více

Jazyk C# - přístup k datům

Jazyk C# - přístup k datům Jazyk C# - přístup k datům Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Data Reader BI-PCS Evropský sociální fond Praha & EU:

Více

Jazyk C# - přístup k datům

Jazyk C# - přístup k datům Jazyk C# - přístup k datům Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Entity Framework BI-PCS Evropský sociální fond Praha

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

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

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

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší

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

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

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

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

ISZR Referenční agent.net

ISZR Referenční agent.net Informační systém základních registrů ISZR Referenční agent.net Název dokumentu: ISZR Referenční agent.net Verze: 1.04 Projekt: ISZR Stádium: Pracovní Autor/Autoři: Pavel Odstrčil Jméno souboru: ISZR Referenční

Více

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# 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 přednášky Architektura.NET Historie Vlastnosti

Více

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování Tvorba WWW stránek přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování HTML/XHTML kaskádové styly PHP spolupráce PHP s databázemi Technologie

Více

Čipové karty Lekařská informatika

Čipové karty Lekařská informatika Čipové karty Lekařská informatika Následující kód je jednoduchou aplikací pro čipové karty, která po překladu vytváří prostor na kartě, nad kterým jsou prováděny jednotlivé operace a do kterého jsou ukládány

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy 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 Jak ukládat a efektivně zpracovávat

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

Plánování a vývoj základního frameworku

Plánování a vývoj základního frameworku Shrnutí KAPITOLA 2 Plánování a vývoj základního frameworku Nyní, když máme jasno v tom, co nás v této knize čeká a proč, můžeme začít s vývojem našeho sociálního webu. Abychom zajistili rychlý postup vývoje,

Více

Komponenty v.net. Obsah přednášky

Komponenty v.net. Obsah přednášky 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 přednášky Rozdíl mezi COM a.net Distribuce komponent Programování

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/49 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/49 Úvod

Více

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

Více

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

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

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

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2

Více

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz Databáze čajových sáčků Martina Málková Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky Databázové systémy 2 9. června 2007 krovacek@students.zcu.cz 1 1 Datová analýza V původním

Více

Obsah přednášky. Vývoj aplikací řízený testy. Extrémní programování (XP) Požadavky na nástroje pro XP. Testování aplikací

Obsah přednášky. Vývoj aplikací řízený testy. Extrémní programování (XP) Požadavky na nástroje pro XP. Testování aplikací Obsah přednášky Vývoj aplikací řízený testy Miroslav Beneš Principy extrémního programování (XP) Testy v prostředí Java JUnit Testy v prostředí.net NUnit Testování webových aplikací Mock Objects Testování

Více

KIV/PIA Semestrální práce

KIV/PIA Semestrální práce KIV/PIA Semestrální práce Diskuzní fórum Tomáš Časta(A10N0057P) casta@students.zcu.cz 1. Architektura aplikace 1.1 MVC Model-view-controller (MVC) je softwarová architektura, která rozděluje datový model

Více

Rezervační systém Tvorba WWW stránek

Rezervační systém Tvorba WWW stránek 2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma

Více

Michal Augustýn www.augi.cz Microsoft Most Valuable Professional

Michal Augustýn www.augi.cz Microsoft Most Valuable Professional Michal Augustýn www.augi.cz Microsoft Most Valuable Professional dříve převážně desktopové aplikace rozmach internetu poptávka po webových vývojářích ASP.NET WebForms snadný přechod - RAD mezitím jiné

Více

Java a Caché IV: Manipulace s objekty

Java a Caché IV: Manipulace s objekty 1 z 6 11.1.2007 11:13 přihlašovací jméno heslo Registrace Přihlásit články odkazy aktuality CZJUG konference o portálu přidejte se o nás Vyhledávání Text: najdi Oborový filtr J2ME J2SE J2EE Enterprise

Více

Semestrální práce z DAS2 a WWW

Semestrální práce z DAS2 a WWW Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce z DAS2 a WWW Databázová část Matěj Trakal 8.12.2009 Kapitola 1: Obsah KAPITOLA 1: OBSAH 2 KAPITOLA 2: ZÁKLADNÍ CHARAKTERISTIKA

Více

Vývoj aplikací řízený testy. Miroslav Beneš

Vývoj aplikací řízený testy. Miroslav Beneš Vývoj aplikací řízený testy Miroslav Beneš Obsah přednášky Principy extrémního programování (XP) Open Source nástroje pro XP Testy v prostředí Java JUnit Testy v prostředí.net NUnit Testování webových

Více

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV) Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java

Více

Artlingua Translation API

Artlingua Translation API Artlingua Translation API Dokumentace Jan Šváb, Artlingua, a.s. 2015 Revize: 2015-09-22 - verze API : v1 Obsah Obsah... 2 Předávání dokumentů k překladu... 3 Implementace klientské aplikace pro Translation

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

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

Více

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu Servlety a JSP Petr Adámek, petr.adamek@ibacz.eu Úvod Rekapitulace vstupních znalostí Standardy Nástroje (Běhové prostředí, nástroje pro vývoj) Servlety JSP JSP značky EL (Expression Language) Internacionalizace

Více

Distribuované systémy a výpočty

Distribuované systémy a výpočty Distribuované systémy a výpočty X36DSV Jan Janeček XML-RPC jednoduchá definice www.xmlrpc.com implementace obvykle opřené o XML parser X36DSV - Distribuované systémy a výpočty (3) 2 XML-RPC jednoduché

Více

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 2. část BI-DNP Evropský sociální fond

Více

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE X33EJA Security, Realms Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE 'web.xml' 'glassfish-web.xml' dále nutno nastavit realm v admin. konzoli GF 1

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

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV) Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java

Více

EMBARCADERO DATASNAP. OBSAH Úvod... 2 DataSnap a DBExpress... 2 Serverová část... 2 VCL Klient... 6 Nasazení... 7

EMBARCADERO DATASNAP. OBSAH Úvod... 2 DataSnap a DBExpress... 2 Serverová část... 2 VCL Klient... 6 Nasazení... 7 EMBARCADERO DATASNAP OBSAH Úvod... 2 DataSnap a DBExpress... 2 Serverová část... 2 VCL Klient... 6 Nasazení... 7 ÚVOD DataSnap je jednou z nejdůležitějších technologií obsažených v nástrojích Delphi a

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

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

Formuláře. Internetové publikování. Formuláře - příklad

Formuláře. Internetové publikování. Formuláře - příklad Formuláře Internetové publikování Formuláře - příklad 1 Formuláře - použití Odeslání dat od uživatele Možnosti zpracování dat Webová aplikace na serveru (ASP, PHP) Odeslání e-mailem Lokální script Formuláře

Více

Softwarové komponenty a Internet

Softwarové komponenty a Internet Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty

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

Robert Haken [MVP ASP.NET/IIS, MCT] software architect, HAVIT, s.r.o. haken@havit.cz, @RobertHaken. Perly code-review z praxe

Robert Haken [MVP ASP.NET/IIS, MCT] software architect, HAVIT, s.r.o. haken@havit.cz, @RobertHaken. Perly code-review z praxe Robert Haken [MVP ASP.NET/IIS, MCT] software architect, HAVIT, s.r.o. haken@havit.cz, @RobertHaken Perly code-review z praxe Task: Přidej do sloupce Název info-baloon Co je code-review? druhé vývojářské

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

24.5.2008 Jaku b Su ch ý 1

24.5.2008 Jaku b Su ch ý 1 Drupal API 24.5.2008 Jaku b Su ch ý 1 Témata Práce s databází Bezpečnost práce s Drupalem Forms API Jak udělat vlastní modul Hooks Lokalizace 24.5.2008 Jaku b Su ch ý 2 Práce s databází Drupal poskytuje

Více

PHP a Large Objecty v PostgreSQL

PHP a Large Objecty v PostgreSQL PHP a Large Objecty v PostgreSQL Pavel Janík ml. http://www.janik.cz PHP a Large Objecty v PostgreSQL 1 Jazyk PHP je velmi mocným jazykem pro vývoj webových aplikací. Má podporu snad všech velkých i menších

Více

MVVM pro desktop i web

MVVM pro desktop i web MVVM pro desktop i web Tomáš Herceg CEO @ RIGANTI Co-founder of Update Conference Microsoft MVP tomas.herceg@riganti.cz @hercegtomas www.tomasherceg.com/blog MVVM Model View ViewModel { firstname: "Humphrey",

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Verzování a publikace dat na webu za pomoci PostgreSQL

Verzování a publikace dat na webu za pomoci PostgreSQL Prague PostgreSQL Developers' Day 2013 Verzování a publikace dat na webu za pomoci PostgreSQL Jan Pěček Kdo jsem? Jan Pěček Programátor PostgreSQL Jyxo, s.r.o. (Blog.cz) MAFRA, a.s. - Internet Trading

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

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

OMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC

OMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational

Více

Základy HTML, URL, HTTP, druhy skriptování, formuláře

Základy HTML, URL, HTTP, druhy skriptování, formuláře Základy HTML, URL, HTTP, druhy skriptování, formuláře Skriptování na straně klienta a serveru Skriptování na straně klienta se provádí pomocí programovacího jazyka JavaScript, který je vkládán do HTML

Více

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití: Architektura webové aplikace, funkce jednotlivých vrstev, životní cyklus standardizovaných komponent Java EE, Servlety, JSP, frameworky, návrhové vzory 1. Distribuce Javy Distribuce Javy se liší podle

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

Popis logování v aplikačním serveru

Popis logování v aplikačním serveru Popis logování v aplikačním serveru Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 3.10.2011 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz Dne: 26.3.2018

Více

Architektura aplikace

Architektura aplikace Architektura aplikace MARBES-JIRA plugin Tým: GRSS Členové: František Schneider Jaroslav Ráb Lukáš Gemela Jaromír Staněk Upravil Verze dokumentu Datum F. Schneider 1.0 25.3.2012 F. Schneider 2.0 25.4.2012

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

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

GWT pro pokročilé. MoroSystems, s.r.o. Pavel Klobása. Senior Java Developer.

GWT pro pokročilé. MoroSystems, s.r.o. Pavel Klobása. Senior Java Developer. GWT pro pokročilé MoroSystems, s.r.o. Pavel Klobása Senior Java Developer pavel.klobasa@morosystems.cz Obsah Co je to GWT? Návrhové vzory a užitečné knihovny Komunikace klient - server ExtGWT GWT+Spring

Více

ISZR Referenční agent.net

ISZR Referenční agent.net Informační systém základních registrů ISZR Referenční agent.net Název dokumentu: ISZR Referenční agent.net Verze: 1.02 Projekt: ISZR Stádium: Pracovní Autor/Autoři: Pavel Odstrčil Jméno souboru: ISZR Referenční

Více

CMS LARS VIVO VERZE 1.2 Z POHLEDU VIVOJÁŘE

CMS LARS VIVO VERZE 1.2 Z POHLEDU VIVOJÁŘE CMS LARS VIVO VERZE 1.2 Z POHLEDU VIVOJÁŘE Miroslav Hájek mhajek@lundegaard.eu OBSAH Implementace entity Document Vivo Exceptions Vivo Interfaces Vivo Validator Vivo CMS Events 2 IMPLEMENTACE ENTITY DOCUMENT

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Stručný úvod pro programátory. Michal Kuchta

Stručný úvod pro programátory. Michal Kuchta Stručný úvod pro programátory Michal Kuchta Alespoň základní znalost PHP Základy klasického OOP a jeho implementaci v PHP Schopnost oprostit se od konvenčního tvoření stránek 2 Framework pro snazší vývoj

Více

Jazyk C# - přístup k datům

Jazyk C# - přístup k datům Jazyk C# - přístup k datům Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Zpracování dat po částech ( stránkování DataSetu) BI-PCS

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

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

IW5 - Programování v.net a C# 4 Pokročilé konstrukce C#

IW5 - Programování v.net a C# 4 Pokročilé konstrukce C# 4 - Pokročilé konstrukce C# IW5 - Programování v.net a C# Strana 1 Obsah přednášky Výjimky Delegáti Události Lambda výrazy Strana 2 Výjimky a jejich zpracování Slouží k ošetření výjimečných (chybových)

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OPVK-VT-III/2-ŠR-303 Druh didaktického materiálu DUM Autor RNDr. Václava Šrůtková Jazyk čeština

Více

Object-relational mapping (JPA, Hibernate)

Object-relational mapping (JPA, Hibernate) Vysoká škola báňská - technická univerzita Ostrava 17. března 2010 Obsah 1 2 3 4 namapovat chování objektového světa do relačních struktur a naopak, tak aby spolu mohli jednoduše komunikovat většina moderních

Více

Databáze I. Přednáška 7

Databáze I. Přednáška 7 Databáze I Přednáška 7 Objektové rozšíření SQL Objektově relační databáze SQL:1999 objektové rozšíření SQL vztahuje se k objektově relačním databázovým systémům ukládají objekty do relační databáze umožňují

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

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

PA165: Úvod do Java EE. Petr Adámek

PA165: Úvod do Java EE. Petr Adámek PA165: Úvod do Java EE Petr Adámek Obsah přednášky Organizace předmětu Formy výuky Hodnocení Osnova Java EE aplikace Architektury Java EE aplikací Technologie Java EE Základní koncepty PA165: Úvod do Java

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

Programování v jazyku C# II. 8.kapitola

Programování v jazyku C# II. 8.kapitola Programování v jazyku C# II. 8.kapitola Obsah Kontrolky Validace Stavy Bezpečnost 2/27 Web formuláře Kontrolky na formuláři označené atributem runat="server" HTML kontrolky těsně kopírují rozhraní dané

Více

Projekty pro výuku programování v jazyce Java

Projekty pro výuku programování v jazyce Java JIHOČESKÁ UNIVERZITA V ČESKÝCH BUDĚJOVICÍCH Pedagogická fakulta Katedra informatiky Akademický rok: 2006/2007 TEZE BAKALÁŘSKÉ PRÁCE Projekty pro výuku programování v jazyce Java Jméno: František Přinosil

Více

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce Databázové systémy 2 Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: čtvrtek, 4 5 Obor: ININ SWIN E-mail: jtichava@students.zcu.cz Databázové systémy II. KIV/DB2 LS 2007/2008 Zadání semestrální

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

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

Vazba ESO9 na MS Outlook a MS Exchange

Vazba ESO9 na MS Outlook a MS Exchange Vazba ESO9 na MS Outlook a MS Exchange Zpracoval: Kočíbová Jana U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 24.6.2011 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz Dne:

Více

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV) Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Enterprise Java

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

Platforma J2EE. Lukáš Zapletal liberix.cz. Platforma Java 2 Enterprise Edition vývoj webových aplikací

Platforma J2EE. Lukáš Zapletal liberix.cz. Platforma Java 2 Enterprise Edition vývoj webových aplikací Platforma J2EE Lukáš Zapletal liberix.cz Platforma Java 2 Enterprise Edition vývoj webových aplikací Pictures (c) Sun Microsystems from J2EE 5 Tutorial J2EE - webové aplikace hlavní komponentou u webového

Více

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13 Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

20. Projekt Domácí mediotéka

20. Projekt Domácí mediotéka Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý

Více

10. Architektura klient/server a třívrstvá architektura

10. Architektura klient/server a třívrstvá architektura 10. Architektura klient/server a třívrstvá architektura 10.1. Varianty architektury... 3 10.2. Přínos architektury klient/server a třívrstvé architektury... 5 10.3. Podpora pro rozdělení zátěže v architektuře

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