TECHNOLOGIE RTSJ A JEJÍ UPLATNĚNÍ PŘI TVORBĚ APLIKAČNÍ A PREZENTAČNÍ VRSTVY PORTÁLOVÝCH ŘEŠENÍ
|
|
- Radomír Urban
- před 8 lety
- Počet zobrazení:
Transkript
1 TECHNOLOGIE RTSJ A JEJÍ UPLATNĚNÍ PŘI TVORBĚ APLIKAČNÍ A PREZENTAČNÍ VRSTVY PORTÁLOVÝCH ŘEŠENÍ Ivo Martiník Ekonomická fakulta VŠB-TU Ostrava, Sokolská třída 33, Ostrava 1, ČR, ivo.martinik@vsb.cz ABSTRAKT: Příspěvek se zabývá základními principy technologie RTSJ (Real-Time Specification for Java) zejména v oblasti členění a správy paměťové haldy a jejím možným uplatněním při implementaci aplikační a prezentační vrstvy portálových řešení. Nasazení technologie RTSJ má rovněž zajímavé aspekty v souvislosti se specializovaným návrhovým vzorem Brick-Box Model-View-Controller a jeho použitím při realizaci prezentační vrstvy portálových řešení. Uvedený návrhový vzor je prakticky využíván pro implementaci portálového řešení EkF VŠB-TUO s cílem sjednocení návrhu a implementace prezentační vrstvy v prostředí tenkého a tlustého klienta. KLÍČOVÁ SLOVA: RTSJ, programová vlákna reálného času, paměťové oblasti, Model-View-Controller, prezentační vrstva, tenký klient 1. ÚVOD Celosvětový úspěch programovacího jazyka Java vedl v posledním období k zájmu o rozšíření jeho specifikace o funkcionality umožňující vývoj a běh programů reálného času. Uvedené snahy pak dospěly v rámci aktivit JCP (Java Community Process) v lednu 2002 ke schválení první verze specifikace RTSJ (Real-Time Specification for Java viz [1], [2]). První komerčně dostupná implementace příslušných knihoven a dalších rozšíření platformy Java byla k dispozici v jarních měsících roku V současné době je aktuálně platná specifikace RTSJ v schválená v létě roku 2006 a implementovaná v programovém balíčku javax.realtime. Specifikace RTSJ provádí rozšíření platformy programovacího jazyka Java především v následujících oblastech: správa paměti, práce se zdroji reálného času, plánování v reálném čase, programová vlákna reálného času, správa asynchronních událostí, synchronizace a sdílení zdrojů v reálném čase, možnost přímého přístupu k vybraným oblastem paměti. 94
2 Specifikace RTSJ nadále podporuje princip WORA (Write Once, Run Anywhere), i když její aktuální implementace vyžadují běh programů nad operačními systémy, které podporují práci s programovými vlákny reálného času (např. Sun Solaris, Linux, IBM AIX, apod.). Specifikace RTSJ pak rovněž nevyžaduje žádná syntaktická rozšíření aktuální specifikace programovacího jazyka Java a při psaní programů je možno využívat i existujících knihoven jazyka, které nejsou primárně určeny pro běh programů v reálném čase. 2. SPRÁVA PAMĚTI V RÁMCI SPECIFIKACE RTSJ Jedním z klíčových problémů řešených v rámci specifikace RTSJ je správa programové haldy. Standardní implementace JVM (Java Virtual Machine viz [5], [6]) vyžívá pro tyto účely služeb programového vlákna realizujícího funkcionality správce programové haldy (garbage collector). Správce programové haldy provádí alokaci paměti pro potřebu vytváření nových instancí tříd a rovněž její dealokaci v případě destrukce objektů. Dealokace paměti může být realizována jednak v okamžiku, kdy není na haldě k dispozici již žádná volná oblast paměti, případně v souvislosti s každou alokací paměťové oblasti pro nově vytvářené instance tříd nebo jako reakce na asynchronní událost. Ve všech případech programové vlákno správce programové haldy pozastaví po dobu nutnou k dealokaci paměti činnost všech ostatních aktivních programových vláken, což může mít samozřejmě velmi negativní důsledky pro korektní činnost programových vláken reálného času. I když v této souvislosti bylo v minulých letech věnováno velké úsilí směřující k implementaci speciálního správce haldy reálného času (real-time garbage collector), aktuální implementace RTSJ stále ještě tímto prostředkem nedisponuje. Pro potřeby korektního běhu programových vláken reálného času proto RTSJ specifikace zavádí pojem paměťových oblastí (memory area), z nichž některé jsou alokovány mimo oblast standardní programové haldy a nejsou dotčeny aktivitami správce programové haldy. Z důvodu interakce programových vláken reálného času se standardními programovými vlákny pak specifikace umožňuje pozastavení činnosti správce programové haldy programovým vláknem reálného času a rovněž shora omezenou dobu čekání na toto pozastavení činnosti ze strany příslušného programového vlákna od okamžiku vznesení požadavku. Abstraktní třídou, jejíž podtřídy jsou určeny k práci s jednotlivými typy paměťových oblastí, je v rámci RTSJ specifikace třída MemoryArea. Jestliže programové vlákno reálného času využije ke své práci instanci třídy reprezentující příslušný typ paměťové oblasti, jsou pak již veškeré alokace paměti potřebné k vytváření objektů realizovány uvnitř této oblasti. Deklarovány jsou pak následující podtřídy abstraktní třídy MemoryArea: HeapMemory třída reprezentující standardní programovou haldu v prostředí JVM, ImmortalMemory paměťová oblast sdílená všemi programovými vlákny. Instance tříd alokované v této paměťové oblasti nejsou dotčeny činností správce programové haldy (a tedy nebudou po svém vytvoření a inicializaci podrobeny destrukci po celo dobu životního cyklu příslušné aplikace). Tato paměťová oblast je pak rovněž určena pro alokaci statických proměnných a jejich hodnot deklarovaných a inicializovaných v rámci jednotlivých tříd programového systému a konstantních řetězců (intern string). 95
3 ScopedMemory paměťová oblast přístupná pouze entitám reálného času (programovým vláknům a ovladačům asynchronních událostí). S každou instancí (úsekem) paměťové oblasti tohoto typu je asociován speciální čítač uchovávající informaci o tom, kolik entit reálného času ji aktuálně využívá. Pokud je hodnota čítače rovna nule (a tedy žádná entita reálného času již danou paměťovou oblast nevyužívá), zabezpečí správce programové oblasti provedení destruktorů všech objektů v ní rezidentních a uvolní tuto paměťovou oblast pro další alokaci. Svým charakterem chování připomíná tento typ paměťové oblasti některé vlastnosti standardního zásobníku návratových adres. ScopedMemory je deklarována jako abstraktní třída s následujícími podtřídami: o VTMemory třída reprezentuje paměťovou oblast, v níž není doba potřebná k alokaci nově vytvářené instance třídy úměrná velikosti alokovaného objektu, o LTMemory třída reprezentuje paměťovou oblast, v níž jsou doba alokace nově vytvářené instance třídy a velikost alokovaného objektu lineárně závislé. Entitám reálného času je umožněno při jejich inicializaci a poté v rámci jejich životního cyklu měnit vybrané parametry paměťových oblastí, mezi něž pak zejména patří: Maximální rozsah paměti, kterou smí entita reálného času alokovat ve své standardně přidělené paměťové oblasti pro své potřeby, Maximální rozsah paměti, který smí entita reálného času využívat prostřednictvím instance třídy ImmortalMemory, Maximální rychlost (v bytech za sekundu), s jakou smí entita reálného času alokovat paměť v dané paměťové oblasti. Tyto údaje pak může využívat plánovač programových vláken reálného času při své činnosti. 3. SPECIFIKACE RTSJ A PROGRAMOVÁ VLÁKNA REÁLNÉHO ČASU Plánování běhu programových vláken reálného času je jedním z kritických aspektů programových systémů reálného času. JVM umožňuje přiřazovat standardním programovým vláknům 10 úrovní jejich priorit a samotné přidělování času procesoru jednotlivým programovým vláknům může být realizováno až na úrovni operačního systému, nad nímž pracuje prostředí JVM ve formě samostatného procesu. Příslušný operační systém přitom vůbec nemusí podporovat preemptivní na prioritách založené přidělování času procesoru jednotlivým programovým vláknům. Na úrovni JVM proto nelze garantovat, že programové vlákno, které má v daném časovém okamžiku nejvyšší prioritu a je připraveno k běhu, bude mít skutečně přidělen plánovačem úloh potřebný čas procesoru. Tento stav je z pohledu provozu systémů reálného času samozřejmě neakceptovatelný. Specifikace RTSJ proto zavádí několik mechanismů s cílem dosáhnout kvalitativně odlišného deterministického plánování aktivit v prostředí podporujícím běh úloh v reálném čase. Prvním krokem je zobecnění pojmu programového vlákna, které je předmětem činnosti plánovače úloh v prostředí standardní implementace JVM, a jeho nahrazení pojmem plánovatelného objektu (schedulable object). Deklarace třídy příslušná každému 96
4 plánovatelnému objektu je povinna implementovat rozhraní Schedulable. Každý plánovatelný objekt musí rovněž deklarovat jeho specifické požadavky na zahájení běhu (za jakých podmínek je objekt spustitelný), požadavky na alokaci paměťových oblastí, požadavky pro plánovač objektů reálného času (např. priorita běhu plánovatelného objektu). Požadavky na zahájení běhu jsou specifikovány prostřednictvím instancí podtříd třídy ReleaseParameters. U všech podtříd je možno zadat např. hodnotu parametru cost specifikujícího maximální dobu běhu plánovatelného objektu po přidělení času procesoru. Jednotlivými deklarovanými podtřídami pak jsou: PeriodicParameters instance této třídy deklaruje požadavky na zahájení běhu spustitelného objektu, jehož spouštění se opakuje s přesně stanovenou periodou, AperiodicParameters instance třídy deklaruje požadavky na zahájení běhu spustitelného objektu, jehož spouštění se realizuje v náhodných časech, SporadicParameters instance třídy deklaruje požadavky na zahájení běhu spustitelného objektu, jehož spouštění se realizuje v náhodných časech, ale je definován minimální časový interval mezi jednotlivými přiděleními času procesoru. Plánovač objektů reálného času je implementován jako podtřída abstraktní třídy Scheduler. Specifikace RTSJ povoluje využívat v rámci daného procesu JVM dokonce několik plánovačů objektů reálného času současně, nicméně typicky je v reálných programových systémech využívána pouze jediná instance plánovače implementovaná s využitím třídy PriorityScheduler, která je založena na filozofii preemptivního plánování běhu objektů reálného času disponujícím 28 úrovněmi priorit. Jedním z významných typů objektů reálného času je samozřejmě programové vlákno reálného času, které lze vytvořit prostřednictvím instance třídy RealtimeThread (podtřídy třídy java.lang.thread reprezentující standardní programové vlákno v prostředí JVM). Třída RealtimeThread samozřejmě implementuje rozhraní Schedulable a její významnou podtřídou je třída NoHeapRealtimeThread, při jejímž použití je garantováno, že programové vlákno reálného času nebude žádným způsobem využívat alokace paměti na programové haldě a vyhne se tak interakci se programovým vláknem správce programové haldy. Jednoduchý příklad programu obsahujícího deklaraci a spuštění programového vlákna reálného času včetně inicializace jeho základních parametrů (priorita běhu vlákna bude mít hodnotu standardní hodnotu NORM_PRIORITY, vlákno bude spouštěno neperiodicky v náhodných časech, bude pro alokaci paměťových oblastí využívat standardní programovou haldu, nebude požadovat alokace v paměťové oblasti typu ImmortalMemory, její spustitelný kód je uložen v metodě run deklarované třídy HelloThread a po svém spuštění vypíše na konzolu nápis Hello, world!) je uveden ve výpisu č
5 Výpis č. 1 import javax.realtime.*; public class Hello { public static void main(string[] args) { SchedulingParameters schedulingparams = new PriorityParameters( PriorityScheduler.NORM_PRIORITY ); ReleaseParameters releaseparams = new AperiodicParameters( null, null, null, null); MemoryParameters memoryparams = new MemoryParameters( MemoryParameters.NO_MAX, // Heap 0); // Immortal MemoryArea area = HeapMemory.instance(); Thread thread = new MyThread(); RealtimeThread rt = new RealtimeThread( schedulingparams, releaseparams, memoryparams, area, null, thread ); rt.start(); } } private class MyThread extends Thread { public void run() { System.out.println( Hello, world! ); } } 3. SPECIALIZOVANÝ NÁVRHOVÝ VZOR BRICK-BOX MODEL-VIEW- CONTROLLER PRO IMPLEMENTACI PREZENTAČNÍ VRSTVY NEVEŘEJNÉ ČÁSTI FAKULTNÍHO PORTÁLU Jedním z významných návrhových vzorů, jež se již mnoho let výrazně uplatňují při návrhu a implementaci nejen informačních systémů, představuje Model-View-Controller (MVC viz [7]). Koncept MVC je od jeho samotných počátků svázán s paradigmatem objektově-orientovaného programování, lze jej samozřejmě uplatnit i v souvislosti s vícevrstvými distribuovanými programovými systémy s využitím konceptů budování portálů na bázi Java EE architektury, kde portlet (viz [3], [4]) tradičně vystupuje v roli controlleru, komponenta view je typicky implementována technologií Java Server Pages (JSP viz [8]) a v úloze komponenty model nalezneme instance tříd Java Bean, příp. Enterprise Java Bean. Implementace kvalitní prezentační vrstvy na straně tenkého klienta je pak jedním z klíčových problémů realizace neveřejné části portálu. Hlavním cílem v této oblasti je dosažení maximálně kvalitního uživatelského interface (včetně grafických komponent typu dialog box, pop-up menu, tree apod., jež nejsou standardně v rámci technologie XHTML dostupné) na straně uživatele bez možnosti využití instalovaných plug-in komponent WWW prohlížeče (zejména technologie Java Applets, Flash apod.). Autory projektu byla tedy 98
6 navržena a implementována poměrně rozsáhlá knihovna objektových komponent v programovacích jazycích Java na straně aplikačního serveru a JavaScript na straně tenkého klienta k realizaci uživatelského rozhraní na straně tenkého klienta s následujícími vlastnostmi: Filozofie tvorby grafického uživatelského rozhraní strany tenkého klienta je obdobná filozofii tvorby grafického uživatelského rozhraní tlustého klienta (známé např. z technologií Java AWT a Java Swing). Za tím účelem byla implementována knihovna tříd Java Bean, pomocí nichž je prováděna tvorba komponent view strany portálového serveru. Při generování grafického uživatelského rozhraní je kladen maximální důraz na rychlost vytváření konkrétního fragmentu WWW stránky, který typicky obsahuje značné množství grafických uživatelských komponent. Z tohoto důvodu bylo upuštěno od nasazení technologie Java Server Pages v roli komponent view návrhového vzoru, u nichž např. probíhá při prvním odkazu ze strany uživatele portálu kompilace zdrojového kódu JSP stránky za účelem vytvoření instance Java servletu, což značně zpomaluje generování fragmentu výsledné WWW stránky v prostředí portálových technologií s využitím Java portletů. Z obdobných důvodů rovněž není využito technologie Java Server Faces (JSF viz [9]) i když způsob generování prezentační vrstvy portálu respektuje mnohé ze zde známých a zavedených principů (např. práce s událostmi, využití komponent Java Beans apod.). Obr. 1: Prezentační vrstva neveřejné část portálu Pro vlastní implementaci prezentační vrstvy neveřejné části fakultního portálu je tedy využito speciálně pro tento účel vyvinutého návrhového vzoru Brick-Box Model-View- Controller, v němž v roli komponenty controller vystupuje instance Java portletu, komponenta model je reprezentována instancí třídy Enterprise Java Bean (příp. Java Bean) 99
7 provádějící interakci s databázovým systémem a komponenta model není v tomto případě reprezentována tradičním způsobem instancí stránky JSP, ale objektem splňujícím specifikace standardu pro Java Beans. Specializovaný návrhový vzor Brick-Box Model-View-Controller a jeho funkcionality vyplynuly především z požadavku na rychlost generování fragmentu WWW stránky portálového prostředí. V důsledku komplikovanosti a rozsahu XHTML kódu výsledného fragmentu se ukázalo velice účelným ustavení programové cache paměti, která uchovává již vygenerované části jednotlivých fragmentů stránek s konstantním obsahem reprezentujících jednotlivé grafické komponenty (např. tlačítka, panely, menu apod.) příp. jejich části (záhlaví tabulek, tabulátory apod.). Tyto předem vygenerované elementy výsledného fragmentu WWW stránky s konstantním obsahem v rámci obecně dynamicky generované WWW stránky si lze představit jako cihly v budované zdi, které budou při její stavbě slepeny jistým pojivem. Tímto pojivem jsou dynamicky generované části fragmentu WWW stránky (např. obsah tabulek, rolovacích menu apod.), jejichž obsah produkovaný komponentou model návrhového vzoru musí být přesně uzpůsoben již vygenerovaným konstantním částem fragmentu stránky (viz obr. 2). Web Sphere Portal Portlet Bean Aggregated Page Brick-Box View Obr. 2: Návrhový vzor Brick-Box Model-View-Controller Praktická realizace fakultního portálového řešení s využitím návrhového vzoru Brick- Box Model-View-Controller prokázala jeho funkčnost při významné podpoře rychlosti generování fragmentů WWW stránek obsahující velice komplexní uživatelské rozhraní. 4. MODIFIKOVANÝ NÁVRHOVÝ VZOR BRICK-BOX MODEL-VIEW- CONTROLLER VE VÍCEVLÁKNOVÉM VÝPOČETNÍM PROSTŘEDÍ S VYUŽITÍM TECHNOLOGIE RTSJ Vícevláknové výpočetní prostředí Java Virtual Machine a specifikace RTSJ umožňuje další modifikaci návrhového vzoru Brick-Box Model-View-Controller s cílem zvýšení efektivnosti vytváření výsledných fragmentů WWW stránek. Jedná se především o následující úpravy: 100
8 Předem vygenerované části jednotlivých fragmentů stránek s konstantním obsahem reprezentující jednotlivé grafické komponenty lze uložit ve formě instancí tříd v paměťové oblasti reprezentované objektem ImmortalMemory. Tyto objekty pak existují po celou dobu běhu aplikace a přístup k nim nebude blokován programovým vláknem správce programové haldy, Komponenta model může být navržena a implementována s využitím technologie programových vláken reálného času, které umožní souběžné, příp. paralelní generování jednotlivých nezávislých částí dynamických fragmentů stránek. Tato programová vlákna budou pro svoji činnost využívat výhradně paměťové oblasti reprezentované objektem ScopedMemory, což při velkém počtu souběžně pracujících uživatelů portálového prostředí urychlí správu a fázi destrukce velkého počtu dočasných instancí tříd (zejména objektů reprezentujících výsledky dotazů vůči databázi). Typický příklad takové situace je znázorněn na obr. 1, kde jsou dynamické části prezentační vrstvy portletu určeného k administraci dokumentů Systému managementu jakosti EkF VŠB-TUO složeny ze dvou nezávislých částí generovaných komponentou model, z nichž první je zobrazena ve formě hierarchie složek Systému managementu jakosti a druhá jako seznam dokumentů Systému managementu jakosti aktuální složky. Obě části mohou být generovány dvěma samostatnými programovými vlákny komunikujícími souběžně, příp. paralelně s příslušným databázovým systémem. Schéma modifikovaného návrhového vzoru Brick-Box Model-View-Controller, v němž je při implementaci komponenty model využito několik programových vláken, je znázorněno na obr. 3. Obr. 3: Návrhový vzor Brick-Box Model-View-Controller ve vícevláknovém prostředí 101
9 4. ZÁVĚR Závěrem lze tedy konstatovat vysokou aktuálnost více než 20 let starého návrhového vzoru Model-View-Controller při návrhu a implementaci portálových řešení s vícevrstvou architekturou. Souběžné, příp. paralelní generování nezávislých částí fragmentů WW stránek s využitím programových vláken reálného času a nasazení knihoven technologie RTSJ může výrazným způsobem zefektivnit celý proces reakce na požadavek strany klienta. LITERATURA 1. WELLINGS A.: Concurrent and Real-Time Programming in Java, Willey, 2004, ISBN X ABDELNUR A., HEPPER S.: Java Portlet Specification Version 1.0 (JSR 168), Sun Microsystems, LINWOOD J., MINTER D: Building Portals with the Java Portlet API, Apress, 2004, ISBN BURBECK S.: Applications Programming in Smalltalk-80: How To Use Model-View- Controller, 1992, ParcPlace, 8. HALL M.: More Servlets and Java Server Pages, Sun Microsystems Press, 2002, ISBN
Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/
Technologie Java Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trocha historie Java vznikla v roce 1995 jak minimalistický programovací jazyk (211 tříd). Syntaxe vycházela z C/C++. V
Semináˇr Java X J2EE Semináˇr Java X p.1/23
Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího
Matematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
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ě
Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU
Tvorba podnikových aplikací v jazyce JAVA Josef Pavlíček KII PEF CZU J2EE Jedná se o přístup: sadu pravidel, technologií, metod, doporučení jak provádět design, vývoj, nasazení a provozování vícevrstvých
Procesy a vlákna (Processes and Threads)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating
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
(Enterprise) JavaBeans. Lekce 7
(Enterprise) JavaBeans Lekce 7 JavaBeans vs. Enterprise JavaBeans (EJB) JavaBeans technologie: jedná se o tzv. komponentní architekturu určenou pro JSE platformu určená pro tvorbu JSE GUI programů pomocí
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
NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
NetBeans platforma Aplikační programování v Javě (BI-APJ) - 7 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha Evropský sociální fond Praha & EU: Investujeme
Architektury informačních systémů
Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to
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ů
Programátorská příručka
KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro
1. Programování proti rozhraní
1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní
Ú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
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
Programování II. Návrh programu I 2018/19
Programování II Návrh programu I 2018/19 Osnova přednášky Co víme? Objektový návrh programu. Příklad. Co víme? Třída Třída je popisem objektů se společnými vlastnostmi. class private:
Real Time programování v LabView. Ing. Martin Bušek, Ph.D.
Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití
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ů
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ů
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ů
Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23
Seminář Java Úvod Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Úvod 1/ 23 Téma přednášky Organizace semináře Java úvod, distribuce Radek Kočí Seminář Java Úvod 2/ 23
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
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ů
Správa paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016
Správa paměti Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016 Objektové modelování, B36OMO 10/2016, Lekce 2 https://cw.fel.cvut.cz/wiki/courses/xxb36omo/start
7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
Programování II. Třídy a objekty (objektová orientovanost) 2018/19
Programování II Třídy a objekty (objektová orientovanost) 2018/19 Osnova přednášky Objektový přístup (proč potřebujeme objekty). Třídy, objekty,... Příklad. Proč potřebujeme objekty? Udržovatelnost softwaru
Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.
Úvod Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne. Organizace předmětu Materiály k předmětu -Web stránky: http://cw.felk.cvut.cz/doku.php/courses/x33eja/start
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í
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í
Architektury informačních systémů
Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to
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ů
typová konverze typová inference
Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie
Class loader. každá třída (java.lang.class) obsahuje referenci na svůj class loader. Implementace class loaderu
Seminář Java Zavádění tříd Radek Kočí Fakulta informačních technologií VUT Duben 2008 Radek Kočí Seminář Java Zavádění tříd 1/ 16 JVM zavádí třídy dynamicky Class loader objekt schopný zavádět třídy abstraktní
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server
ADMINISTRACE POČÍTAČOVÝCH SÍTÍ OPC Server Funkce a využití v průmyslové automatizaci Jiří NOSEK 2011 Co je OPC Server? OPC = Open Process Control (původně OLE for Process Control) sada specifikací průmyslového
Elektronická podpora výuky předmětu Komprese dat
Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém
Základy objektové orientace I. Únor 2010
Seminář Java Základy objektové orientace I Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Základy OO (1) 1/ 20 Téma přednášky Charakteristika objektově orientovaných
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání
Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.
3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.
Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for
Převod 4GL aplikací do webového prostředí Ing. Jan Musil, IBM ČR Community of Practice for CEEMEA Co je to EGL? -4GL a EGL Agenda Popis převodu z -4GL do EGL krok za krokem Obecný postup převodu Závěrečný
Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links
Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links links Apache Struts Article with examples JSTL a EL (into JSP) MVC, webové aplikace, JSP Bezpečnost ve webových
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
PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette
Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá
7 Jazyk UML (Unified Modeling Language)
7 Jazyk UML (Unified Modeling Language) 7.1 Základní charakteristika jazyka Motivace - vznik řady OO metod a metodologií (konec 80. let a první polovina 90.let) podobné notace vyjadřující totéž, komplikující
VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA
Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)
Management procesu I Mgr. Josef Horálek
Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 29. Otázka : Zpracování událostí: mechanismus událostí a jejich zpracování (Event/Listener), nepřímá invokace (Observer/Observable). Obsah : 1. Mechanisums
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika
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
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 =
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
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
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
Úvod do programování v jazyce Java
Úvod do programování v jazyce Java Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 5. říjen, 2011 Petr Krajča (UP) KMI/UP3J: Seminář I. 5.10.2011 1 / 17 Organizační informace email: petr.krajca@upol.cz
Aplikace s grafickým uživatelským rozhraním
Aplikace s grafickým uživatelským rozhraním 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 1 Typy aplikací Konzolová
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
Principy operačních systémů. Lekce 1: Úvod
Principy operačních systémů Lekce 1: Úvod Sylabus Lekce 1: Úvod 2 Literatura Lekce 1: Úvod 3 Operační systém Základní programové vybavení počítače, které se zavádí do počítače při jeho startu a zůstává
Katedra měřicí a řídicí techniky, VŠB - Technická univerzita v Ostravě, tř. 17. listopadu, Ostrava-Poruba, Česká republika
Použití jazyka Java pro aplikace měření a řízení Roman Gužík Katedra měřicí a řídicí techniky, VŠB - Technická univerzita v Ostravě, tř. 17. listopadu, 708 33 Ostrava-Poruba, Česká republika Abstrakt Příspěvek
PREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
Programovací jazyky Přehled a vývoj
Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování
1 - Úvod do platformy.net. IW5 - Programování v.net a C#
1 - Úvod do platformy.net IW5 - Programování v.net a C# Strana 1 Obsah přednášky Objektově orientované paradigma.net Framework Základní rysy jazyka C# Strana 2 Objektová orientace C# implementuje základní
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í
java remote method invocation Kateřina Fricková, Matouš Jandek
java remote method invocation Kateřina Fricková, Matouš Jandek Distribuovaný systém počítačový systém, ve kterém jsou jednotlivé komponenty propojeny počítačovou síťí komponenty systému sdílí cíl, kterého
Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.
Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces
Znalostní systém nad ontologií ve formátu Topic Maps
Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:
Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna
Principy operačních systémů Lekce 5: Multiprogramming a multitasking, vlákna Multiprogramování předchůdce multitaskingu Vzájemné volání: Implementován procesem (nikoliv OS) Procesu je přidělen procesor,
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ů
1. Dědičnost a polymorfismus
1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář
Obsah přednášky. Technologie. Enterprise Java Beans. Enterprise Java Beans. EJB kontejner. Enterprise Java Beans (EJB)
Obsah přednášky Technologie Miroslav Beneš Popis technologie EJB J2EE aplikace Typy komponent Entity Beans Session Beans Message-Driven Beans Java Messaging Service (JMS) Závěr 2 (EJB) EJB kontejner Specifikace
Windows a real-time. Windows Embedded
Windows a real-time Windows Embedded Windows pro Embedded zařízení Současnost (2008): Windows Embedded WINDOWS EMBEDDED Windows Embedded CE Windows XP Embedded Windows Embedded for Point of Service Minulé
Programování II. Modularita 2017/18
Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích
Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39
Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy
Program. Organizace semináře Základní principy OOP Úvod do programovacího jazyka Java Distribuce
Seminář Java I Seminář Java I p.1/32 Program Organizace semináře Základní principy OOP Úvod do programovacího jazyka Java Distribuce Demonstrační příklad Seminář Java I p.2/32 Organizace semináře 12 seminářů
TÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta
Struktura programu v době běhu
Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů
Úvod. Leden Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 22
Seminář Java Úvod Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Úvod 1/ 22 Téma přednášky Organizace semináře Java úvod, distribuce Radek Kočí Seminář Java Úvod 2/
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
10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému
State. Známý jako. Účel. Použitelnost. Stav, Object for States. umožňuje objektu měnit svoje chování v závislosti na stavu objekt mění svou třídu
State State Známý jako Stav, Object for States Účel umožňuje objektu měnit svoje chování v závislosti na stavu objekt mění svou třídu Použitelnost chování objektu závisí na jeho stavu, který se mění za
Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář
Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění
Profilová část maturitní zkoušky 2017/2018
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
Tvorba informačních systémů na platformě J2EE Petr Hetmánek Masarykova Univerzita, Fakulta Informatiky, Botanická 68a, Brno
Tvorba informačních systémů na platformě J2EE Petr Hetmánek (xhetman@fi.muni.cz) Masarykova Univerzita, Fakulta Informatiky, Botanická 68a, Brno Abstrakt Rostoucí dostupnost internetu vede ke vzniku stále
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ů, 2006/2007 c 2005-2007 Michal Krátký, Miroslav Beneš Tvorba
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
NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze
NOVINKY V JEE EJB 3.1 Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze PROGRAM Seznámení s Java Enterprise Edition (JEE) Enterprise Java Beans (EJB) Novinky v EJB 3.1 2 JAVA EDITIONS Java
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
Java [džava] nebo [džáva] v americkém slangu "kafe" Sun Microsystems nyní Oracle
Java [džava] nebo [džáva] v americkém slangu "kafe" Sun Microsystems nyní Oracle Významné zdroje ze stovek/tisíců dostupných http:// java.sun.com Java http://dione.zcu.cz/java výborný rozcestník Historie
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
Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013
Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521
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
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á
Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití
Programové prostředky PC - 5 Informatika 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah: Vrstvy programového
TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);
TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;
Principy objektově orientovaného programování
Principy objektově orientovaného programování Třídy a objekty 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 C E T
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ývoj informačních systémů. Přehled témat a úkolů
Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení