Aleš Keprt Univerzita Palackého v Olomouci listopad 2008, listopad 2009 PARALLEL FX A PARALELNÍ PROGRAMOVÁNÍ NA PLATFORMĚ.NET 4.0

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Aleš Keprt Univerzita Palackého v Olomouci listopad 2008, listopad 2009 PARALLEL FX A PARALELNÍ PROGRAMOVÁNÍ NA PLATFORMĚ.NET 4.0"

Transkript

1 Aleš Keprt Univerzita Palackého v Olomouci listopad 2008, listopad 2009 PARALLEL FX A PARALELNÍ PROGRAMOVÁNÍ NA PLATFORMĚ.NET 4.0

2 AKTUÁLNÍ TRENDY V procesorech nám přibývá jader Na serverech, desktopech i noteboocích Software je ve využívání jader pozadu Většina programů není vůbec paralelní Vícevláknové programy jsou výsledkem těžké práce programátorů Metody pro pohodlné paralelní programování existují Zůstávají však v oblasti vědeckých pokusů, alternativních programovacích jazyků či výukových nástrojů 2/31

3 O ČEM BUDE ŘEČ 1. Shrnutí prostředků pro paralelní programování ve stávající verzi.netu (3.5) 2. Představení nových možností příští verze.netu (4.0) Dříve k dispozici jako CTP Parallel FX Nyní Visual Studio 2010 a.net Framework 4.0 beta 2 3/31

4 PROCESY, APLIKAČNÍ DOMÉNY A VLÁKNA.NET přebírá vlákna a procesy z Windows Navíc je zde prvek aplikační doména Je to de facto podproces Knihovna BCL obsahuje řadu souvisejících tříd Synchronizace Komunikace Nástroje pro asynchronní programování 4/31

5 SYSTÉMOVÉ PRVKY.NET přebírá synchronizační a komunikační prvky z operačního systému (tj. z Windows) Např. systém čekatelných objektů, mutexy, semafory, vláknová afinita, signály, časovače, roury, blokované (interlocked) operace Jsou to všechno objektové prvky Jsou ale nízkoúrovňové při jejich používání lze udělat spoustu programátorských chyb Není možno sdílet paměť mezi procesy.net nepracuje s pojmem paměť nebo adresa 5/31

6 MONITORY A SIGNÁLY.NETU Monitor nejpoužívanější synchronizační prvek Je na vyšší úrovni abstrakce Má širokou funkcionalitu, používá se snadno Nejčastěji jako jednoduchý zámek či signál Menší riziko programátorských chyb C# a Visual Basic mají pro monitory i syntaktickou podporu Je to syntaktický cukr 6/31

7 DALŠÍ NÁSTROJE ASYNCHRONNÍHO PROGRAMOVÁNÍ Fond vláken (thread pool) Každý proces v.netu má fond vláken Odpadá časově náročné založení a zrušení vlákna Jednodušší použití než pracovat přímo s třídou Thread Zámek pro čtenáře a písaře Umožňuje souběh při čtení.net nabízí dokonce dvě různé implementace Asynchronní programový model (APM) Zobecnění (nevláknové) práce se soubory na pozadí APM definuje rozhraní pro asynchronní operace Řada tříd BCL přímo APM používá/podporuje 7/31

8 DALŠÍ NÁSTROJE ASYNCHRONNÍHO PROGRAMOVÁNÍ (2.) Asynchronní aktualizace GUI GUI může být obsluhováno jen jedním vláknem.net umožňuje volat metody okna i jiným vláknům Je to systémová podpora, vnitřně je to implementováno pomocí systémové fronty zpráv Oknu je poslána zpráva s údajem, kterou metodu má zavolat Při doručení zprávy okno samo svým vláknem zavolá požadovanou metodu Background worker (vlákno na pozadí) Vlákno, které umí komunikovat s vláknem okna Definuje mezivláknové události 8/31

9 PARALLEL EXTENSIONS TO THE.NET FRAMEWORK Sada nových tříd v.net Frameworku 4.0 Zatím ve verzi beta 2 říjen 2009 Umožňuje programování na vyšší úrovni abstrakce Tři různé způsoby paralelizace: Deklarativní paralelizace dat Imperativní paralelizace dat Imperativní paralelizace úloh PFX používá vlastní řízení běhu, nasazuje vlákna dle volných jader CPU Nepoužívá tedy klasický fond vláken.netu 9/31

10 DEKLARATIVNÍ PARALELIZACE DAT PLINQ PLINQ = paralelní LINQ Implementováno jako rozšíření System.Linq Deklarativní = deklarujeme, co chceme spočítat Neřešíme ale, jak to chceme paralelizovat Rozšiřující metoda IEnumerable.AsParallel() Převede kolekci na typ IParallelEnumerable Dále používáme PLINQ stejně jako LINQ 10/31

11 PLINQ PŘÍKLAD Vyfiltrujeme z kolekce slov jen ta obsahující písmeno 'a' a převedeme je na velká písmena var aslova = from d in slova.asparallel() where d.contains("a") select d.toupper(); Důkaz paralelního zpracování: jiné pořadí slov Modifikátor AsOrdered() zachová pořadí prvků Sníží výkon paralelního výpočtu Modifikátor AsUnordered() opak Modifikátor AsSequential() zpět na IEnumerable 11/31

12 PLINQ POD POKLIČKOU LINQ je implementován ve třídě Enumerable Je to sada rozšiřujících metod nad IEnumerable/<T> PLINQ je ve třídě ParallelEnumerable Je to sada rozšiřujících metod nad IParallelEnumerable/<T> Třída ParallelQuery definuje As modifikátory PLINQ není vhodný ve všech situacích Např. výpočty s vedlejším efektem, práce s GUI, práce se soubory (limitovány diskem, ne rychlostí CPU) 12/31

13 IMPERATIVNÍ PARALELIZACE TASK PARALLEL LIBRARY Třída Parallel Metody pro paralelní For, ForEach, Invoke Třídy Task a Future<T> High level obdoby třídy Thread 13/31

14 TŘÍDA PARALLEL PŘÍKLADY Parallel.For(0, 100, i => results[i] = Compute(i)); Naplní pole o 100 prvcích výsledky volání funkce Compute s příslušným indexem do pole Parallel.ForEach(data, c => Compute(c)); Volá funkci Compute pro každý prvek kolekce data ForEach je méně efektivní než For, kromě kolekcí typu IList<T> Funkce pro rekurzivní průchod binárním stromem: static void WalkTree<T>(Tree<T> tree, Action<T> func) { if (tree == null) return; Parallel.Invoke( () => WalkTree(tree.Left, func), () => WalkTree(tree.Right, func), () => func(tree.data)); } 14/31

15 TŘÍDA TASK - ÚLOHA Statická metoda Task.Create(delegát) vytvoří úlohu Je to obdobné jako u fondu vláken, ale vrací objekt úlohy typu Task, který máme dál k dispozici Pozor! Voláním Create() nevzniká přímo vlákno, ale úloha Metoda Wait() čeká na dokončení úlohy Lze čekat i na více úloh najednou Metoda Cancel() zruší úlohu čekající na spuštění Běžící úlohy lze zrušit také, ale jen kooperativně Toto chování je stejné jako u třídy BackgroundWorker Systém si pamatuje vztah rodič potomek Výpočet úlohy není považován za dokončený, dokud nejsou dokončeny výpočty všech jejích potomků 15/31

16 TŘÍDA FUTURE<T> Úloha s návratovou hodnotou (výsledkem výpočtu) Je to specializace (potomek) třídy Task Vytvoření pomocí Create stejně jako u třídy Task Property Value vrací výslednou hodnotu Je blokující, pokud hodnota ještě není k dispozici 16/31

17 FUTURE<T> PŘÍKLAD Zjištění počtu uzlů v binárním stromu: int CountNodes(Tree<T> node) { if (node == null) return 0; var left = Future.Create(() => CountNodes(node.Left)); int right = CountNodes(node.Right); return 1 + left.value + right; } 17/31

18 CONTINUEWITH Třídy Task a Future<T> mají metodu ContinueWith Umožňuje určit pokračování, tj. co se má dít po skončení této úlohy Vrací opět objekt Task nebo Future<T> Takže pokračování lze takto i řetězit Při volání ContinueWith lze nastavit řadu detailů (je to už nad rámec této prezentace) 18/31

19 NOVÉ SYNCHRONIZAČNÍ PRVKY.NET 4.0 Jsou to prvky na vyšší úrovni abstrakce CountDownEvent LazyInit<T> ManualResetEventSlim, SemaphoreSlim SpinLock, SpinWait WriteOnce<T> Jsou nezávislé na implementaci paralelizmu Čili použitelné všude (Thread, PLINQ, Task, atd.) 19/31

20 COUNTDOWNEVENT Zobecnění události ManualResetEvent Je třeba vícekrát signalizovat, než se aktivuje Metody Decrement() a Increment() Vhodné ve scénářích typu fork join Pro implementaci bariéry Poznámka: Stejně jako ManualResetEvent zde není zaručeno doručení signálu při příliš rychlém resetu 20/31

21 LAZYINIT<T> Vláknově bezpečný způsob opožděné inicializace proměnné Proměnnou inicializujeme až při prvním použití if(hodnota == null) hodnota = new Třída(); return hodnota; Vlákna mohou o inicializaci soupeřit Tj. více vláken provede výpočet, ale jen jedno dosadí hodnotu do proměnné Toto chování ale může vadit, lze jej naštěstí zakázat Proměnnou lze také označit jako thread local Potom má každé vlákno svou instanci 21/31

22 MANUALRESETEVENTSLIM, SEMAPHORESLIM Jsou to slim alternativy k systémovým třídám ManualResetEvent a Semaphore Jsou rychlejší, běží většinou v user módu Nejsou čekatelné (pochopitelně) Můžeme na ně sice čekat, ale nedědí ze třídy Waitable 22/31

23 SPINLOCK, SPINWAIT SpinLock je zámek s aktivním čekáním Je to jako zámek Monitoru, ale s aktivním čekáním SpinWait implementuje spin pro SpinLock Jde o vyčlenění algoritmu do samostatné třídy Metoda SpinOnce() provede jeden spin Sama rozhodne, zda se ihned vrátí, nebo předá řízení systému (a potažmo jinému vláknu) 23/31

24 WRITEONCE<T> Implementuje jedinkrát zapsatelnou proměnnou Má property Value a HasValue Vyhodí výjimku při pokusu o: Opakovaný zápis Čtení před zápisem 24/31

25 VLÁKNOVĚ BEZPEČNÉ KOLEKCE ConcurrentQueue<T> a ConcurrentStack<T> Vláknově bezpečná fronta a zásobník Vkládání jako tradičně: Enqueue / Push Vybírání prvků pomocí TryDequeue / TryPop Načtenou hodnotu vrací pomocí out parametru 25/31

26 BLOCKINGCOLLECTION<T> BLOKUJÍCÍ KOLEKCE Pro scénáře typu dodavatel odběratel Není to přímo kolekce, ale jen wrapper na kolekci (wrapper = obálka) Vyžaduje IConcurrentCollection<T> Tomu vyhovují například ConcurrentQueue<T> a ConcurrentStack<T> V konstruktoru lze nastavit maximální kapacitu Volání Add() na plné kolekci je blokující operace Volání Remove() na prázdné kolekci je blokující Dodavatel může pomocí CompleteAdding() oznámit konec dodávek Volání Remove() pak už není blokující, ale vyhodí výjimku Property IsAddingCompleted signalizuje konec dodávek Property IsCompleted signalizuje konec dodávek i zpracování 26/31

27 BLOCKINGCOLLECTION<T> BLOKUJÍCÍ KOLEKCE (2.) Poskytuje také sadu metod pro přidávání a odebírání prvků ze skupiny kolekcí Ve stylu vlož kamkoliv / odeber odkudkoliv Vhodné při větší zátěži Použitím více kolekcí současně se vyhneme celé řadě zamykání a získáme tak vyšší celkový výkon Metoda GetConsumingEnumerable() Vrací standardní enumerátor typu IEnumerable<T> Odběratele pak můžeme implementovat pomocí obyčejného foreach a výrazně tak zjednodušit paralelní program MSDN nevysvětluje, jak je toto implementováno Enumerátor má zřejmě blokující operaci MoveNext, díky čemuž může kontrolovat prázdnost kolekce i skončení dodávek 27/31

28 VÝJIMKY V PARALELNÍM PROGRAMU Každé vlákno musí zachytávat své výjimky Jak to ale řešit při implicitním vytváření vláken? Máme pořád k dispozici klasické try finally catch Při neošetřené výjimce v implicitním vlákně je tato předána do hlavního vlákna Hlavní = to, které zahájilo paralelní výpočet Před předáním výjimky do hlavního vlákna jsou zastavena všechna související implicitní vlákna Nastane-li více výjimek současně, jsou předány všechny dohromady v kontejneru AggregateException 28/31

29 VÝJIMKY POZNÁMKA K PLINQ LINQ i PLINQ odkládají vyhodnocení dotazu až na procházení kolekce Výjimka proto nenastane na řádku použití PLINQ, ale až při procházení výsledné kolekce Do try catch bloku tedy musíme uzavřít až foreach, ne volání PLINQ 29/31

30 PARALLEL FX ZHODNOCENÍ Je to jistě zajímavé rozšíření.netu Je již přislíbeno jeho obsažení v.netu 4.0 Bude se ještě řešit vnitřní implementace třídy Task Je to velmi důležité a složité téma Užívání přímo třídy Thread je jako šití na míru Můžeme tím dosáhnout nejlepšího výsledku Musíme ale umět velmi dobře šít Je to pracné a časově náročné Parallel FX nabízí přesný opak jednoduché nenáročné a ne tolik optimalizované paralelní programování 30/31

31 REFERENCE 1. Keprt A. Systémové programování v jazyce C#. Studijní text pro distanční vzdělávání (e-book), Univerzita Palackého, Olomouc, Microsoft Parallel Extensions to the.net Framework 3.5 June 2008 Community Technology Preview (CTP). chm nápověda, dostupná ze serveru 3. Toub S. Useful Abstractions Enabled with ContinueWith. V blogu: Parallel Programming in.net. 4. Duffy J. Professional.NET Framework 2.0. Wrox Press, ISBN , ISBN-13: Troelsen A. Pro C# 2008 and the.net 3.5 Platform, 4.vydání. Apress, pp., ISBN , /31

32 Mgr. Aleš Keprt, Ph.D., 2008, 2009 Vytvořeno pro potřeby přednášky na UP Olomouc. Tento text není určen pro samostudium, ale jen jako vodítko pro přednášku, takže jeho obsah se může čtenáři zdát stručný, nekompletní či možná i chybný. Použití je povoleno dle vlastní libosti, ale jen na vlastní nebezpečí. V případě dalšího šíření je NUTNO uvádět původního autora a odkaz na původní dokument. Komentáře můžete posílat em autorovi (adresu najdete přes Google). Vytvořeno podle původní publikace: Keprt A. Parallel FX a paralelní programování na platformě.net. In proceedings of Objekty Žilinská Univerzita, Žilina, 2008, pp , ISBN /31

Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner

Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner Jakub Čermák jakub@jcermak.cz, http://www.jcermak.cz Microsoft Student Partner Co paralelizace přinese? Jak paralelizovat? Jak si ušetřit práci? Jak nedělat běžné paralelizační chyby? Race condition, deadlocky

Více

Kolekce, cyklus foreach

Kolekce, cyklus foreach Kolekce, cyklus foreach Jen informativně Kolekce = seskupení prvků (objektů) Jednu již známe pole (Array) Kolekce v C# = třída, která implementuje IEnumerable (ICollection) Cyklus foreach ArrayList pro

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39

Ú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

Více

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.

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

Více

1. Programování proti rozhraní

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í

Více

V případě jazyka Java bychom abstraktní datový typ Time reprezentující čas mohli definovat pomocí třídy takto:

V případě jazyka Java bychom abstraktní datový typ Time reprezentující čas mohli definovat pomocí třídy takto: 20. Programovací techniky: Abstraktní datový typ, jeho specifikace a implementace. Datový typ zásobník, fronta, tabulka, strom, seznam. Základní algoritmy řazení a vyhledávání. Složitost algoritmů. Abstraktní

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

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

Platforma.NET 4. hodina dnes to bude ideologické

Platforma.NET 4. hodina dnes to bude ideologické Platforma.NET 4. hodina dnes to bude ideologické Aleš Keprt Ales.Keprt@upol.cz říjen 2006 Doporučená literatura 1. Duffy J. Professional.NET Framework 2.0. Wrox Press, 2006. 2. Wikipedia.NET Framework

Více

Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu

Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu Procesy, vlákna Vlákno odlehčený proces kód vlákna, zásobník privátní ostatní sdíleno s dalšími vlákny téhož procesu Implementace vláken one-to-one o implementace na úrovni jádra o každé vlákno je pro

Více

Datové struktury. alg12 1

Datové struktury. alg12 1 Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou

Více

Management procesu I Mgr. Josef Horálek

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

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Globální konstantní proměnné Konstantní proměnné specifikujeme s klíčovým slovem const, tyto konstantní proměné

Více

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci

Stream API. Petr Krajča. Základy programovaní 4 (Java) Katedra informatiky Univerzita Palackého v Olomouci Základy programovaní 4 (Java) Stream API Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/ZP4JV 5. listopad, 2014 1 / 10 Stream API Java 8 nový přístup k práci s kolekcemi

Více

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

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

Více

CineStar Černý Most Praha 31. 10. 2012

CineStar Černý Most Praha 31. 10. 2012 CineStar Černý Most Praha 31. 10. 2012 Stejná aplikace na více zařízeních Michael Juřek Microsoft s.r.o. Potřebné ingredience 1. Portable libraries 2. Návrhový vzor MVVM 3. XAML 4. Abstrakce platformy

Více

Stručný obsah. Část I Seznámení s jazykem Microsoft Visual C# a aplikací Microsoft Visual Studio 2010 27. Část II Poznáváme jazyk C# 141

Stručný obsah. Část I Seznámení s jazykem Microsoft Visual C# a aplikací Microsoft Visual Studio 2010 27. Část II Poznáváme jazyk C# 141 Stručný obsah Část I Seznámení s jazykem Microsoft Visual C# a aplikací Microsoft Visual Studio 2010 27 1. Vítejte v C# 29 2. Práce s proměnnými, operátory a výrazy 51 3. Psaní metod a aplikace oboru platnosti

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

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í 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

Více

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13 Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje

Více

17. Projekt Trojúhelníky

17. Projekt Trojúhelníky Projekt Trojúhelníky strana 165 17. Projekt Trojúhelníky 17.1. Základní popis, zadání úkolu Pracujeme na projektu Trojúhelníky, který je ke stažení na java.vse.cz. Aplikace je napsána s textovým uživatelským

Více

Služba ve Windows. Služba (service) je program

Služba ve Windows. Služba (service) je program Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské

Více

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování

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

Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD

Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD Okruhy otázek ke státní závěrečné zkoušce z předmětu Systémové programování (SP) Operační systémy (OS) Paralelní programování (PPR) Formální jazyky a překladače

Více

Vlákna Co je to vlákno?

Vlákna Co je to vlákno? Vlákna Co je to vlákno? Hierarchie z pohledu operačního systému: Proces o největší výpočetní entita plánovače o vlastní prostředky, paměť a další zdroje o v závislosti na OS možnost preemptivního multitaskingu

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

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

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

Výčtový typ strana 67

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

Více

6. blok část B Vnořené dotazy

6. blok část B Vnořené dotazy 6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování

Více

Design Patterns. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz

Design Patterns. Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz Design Patterns Tomáš Herceg Microsoft MVP (ASP.NET) www.dotnetcollege.cz Základní návrhové vzory Kategorie Creational Patterns starají se o vytváření instancí Structural Patterns struktura komponent v

Více

INDIVIDUÁLNÍ PROJEKT 1 - ZPRACOVÁNÍ GNSS SIGNÁLU V GPU

INDIVIDUÁLNÍ PROJEKT 1 - ZPRACOVÁNÍ GNSS SIGNÁLU V GPU V O J T Ě C H T E R Š 27.1.2013 INDIVIDUÁLNÍ PROJEKT 1 - ZPRACOVÁNÍ GNSS SIGNÁLU V GPU Ú K O L P R O J E K T U: Přeprogramování rychlé diskrétní Furierovy Transformace (FFT) do jazyka Open CL. V Y B R

Více

Seznámení s prostředím dot.net Framework

Seznámení s prostředím dot.net Framework Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené

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

Desatero, aneb nejčastější chyby v programování

Desatero, aneb nejčastější chyby v programování Desatero, aneb nejčastější chyby v programování Aleš Keprt Univerzita Palackého listopad 2008, březen 2009 1. Nepoužívejte pole na místě veřejného rozhraní Používejte třídy obsahující pole uvnitř Pole

Více

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write(\nPrumerna teplota je {0}, tprumer); Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());

Více

Internet - internetové prohlížeče

Internet - internetové prohlížeče Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_09_INTERNET_P2 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

Jakub Čermák http://www.jcermak.cz. Microsoft Student Partner

Jakub Čermák <jakub@jcermak.cz> http://www.jcermak.cz. Microsoft Student Partner Jakub Čermák http://www.jcermak.cz Microsoft Student Partner Úvod, příklady použití, trocha teorie Struktura aplikace Typy obecně, primitivní typy, speciální typy Podmínky, cykly, namespaces

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 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 formátovanému výstupu,

Více

7. Dynamické datové struktury

7. Dynamické datové struktury 7. Dynamické datové struktury Java poskytuje několik možností pro uložení většího množství dat (tj. objektů či primitivních datových typů) v paměti. S nejjednodušší z nich, s polem, jsme se již seznámili.

Více

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Dokumentace k programu MMDoc

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Dokumentace k programu MMDoc Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Dokumentace k programu MMDoc Vypracoval: Petr Dvořák Datum: 15.prosince 2005 1. Úvod 1.1. Účel tohoto dokumentu

Více

udev a kamarádi... Středisko UN*Xových technologií

udev a kamarádi... Středisko UN*Xových technologií udev a kamarádi... Středisko UN*Xových technologií udev a kamarádi úvod Zařízení v Linuxu typicky adresář /dev tři typy zařízení znakové blokové síťové nejsou přítomny tvoří vazbu mezi userspace (programy)

Více

Z. Kotala, P. Toman: Java ( Obsah )

Z. Kotala, P. Toman: Java ( Obsah ) Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například

Více

Pavel Martinec 4.A 2011/2012

Pavel Martinec 4.A 2011/2012 Pavel Martinec 4.A 2011/2012 Tato úloha se skládala z několika částí: 1) Získávání informací 2) Instalace operačního systému 3) Konfigurace serverů 4) Testování propojení Bod 1: Získávání informací I když

Více

scalaz-stream Radek Miček

scalaz-stream Radek Miček scalaz-stream Radek Miček Obsah 1. Jednoduché zpracování proudů C# + standardní knihovna vs Scala + scalaz-stream 2. Použití knihovny scalaz-stream v naší aplikaci O naší aplikaci Architektura naší aplikace

Více

ROČNÍKOVÝ PROJEKT. Evade

ROČNÍKOVÝ PROJEKT. Evade PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY ROČNÍKOVÝ PROJEKT Evade V Olomouci, dne 21. června 2010 Anton Kuzmin Informatika, III. ročník Abstrakt Implementace hry Evade(původně od

Více

ArcGIS Server 10.1/10.2

ArcGIS Server 10.1/10.2 ArcGIS Server 10.1/10.2 Úvod do mapového serveru firmy ESRI Podpořeno grantem FRVŠ číslo 2308G1/2012. Katedra geomatiky, www.company.com Úvod Trend dnešní doby Desktop > Server (Cloud) ESRI je klíčovým

Více

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com

Novinky ve Visual Studio 2010. Tomáš Kroupa Tomas.Kroupa@hotmail.com Novinky ve Visual Studio 2010 Tomáš Kroupa Tomas.Kroupa@hotmail.com O čem si dnes řekneme Visual studio 2010 (beta 2) Jazyk C# 4.0 ASP.NET 4.0.NET 4.0 Visual Studio 2010 Beta 2 Jak získat Testovací verze

Více

Seminář Java II p.1/43

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

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

Návod k instalaci S O L U T I O N S

Návod k instalaci S O L U T I O N S Návod k instalaci SOLUTIONS Návod k instalaci Hasičská 53 700 30 Ostrava-Hrabůvka www.techis.eu www.elvac.eu +420 597 407 507 Obchod: +420 597 407 511 obchod@techis.eu Podpora: +420 597 407 507 support@techis.eu

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

Ošetřování chyb v programech

Ošetřování chyb v programech Ošetřování chyb v programech Úvod chyba v programu = normální záležitost typy chyb: 1) programátorská chyba při návrhu každých 10 000 řádek 1 chyba lze jen omezeně ošetřit (před pádem aplikace nabídnout

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

Internet Information Services (IIS) 6.0

Internet Information Services (IIS) 6.0 Internet Information Services (IIS) 6.0 V operačním systému Windows Server 2003 je obsažena i služba IIS v 6.0. Služba IIS poskytuje jak www server tak i některé další služby (FTP, NNTP,...). Jedná se

Více

WAK System. Ministerstvo dopravy ČR WAK System, spol. s r.o. Petržílkova 2564/21, 158 00 Praha 5 - Stodůlky

WAK System. Ministerstvo dopravy ČR WAK System, spol. s r.o. Petržílkova 2564/21, 158 00 Praha 5 - Stodůlky WAK System Název projektu: Systém automatizované kontroly a detekce změn bezpečnostního nastavení informačních systémů založený na specifikaci bezpečnostní politiky podle standardu BS7799 Číslo projektu:

Více

Úvod Informace o prostředí Práce se soubory Regulární výrazy Konec. Programování v C# Soubory a regulární výrazy. Petr Vaněček 1 / 27

Úvod Informace o prostředí Práce se soubory Regulární výrazy Konec. Programování v C# Soubory a regulární výrazy. Petr Vaněček 1 / 27 Programování v C# Soubory a regulární výrazy Petr Vaněček 1 / 27 Obsah přednášky Informace o prostředí Práce se soubory Regulární výrazy 2 / 27 Zprostředkování informací Třída System.Environment Poskytuje

Více

Používáme pole a kolekce

Používáme pole a kolekce Kapitola Po přečtení této kapitoly budete schopni: Deklarovat, inicializovat a používat proměnné typu pole Deklarovat, inicializovat a používat proměnné různých typů kolekcí Nyní již víte, jak vytvářet

Více

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Monitoring SQL Server, Resource Governor, Tracing SQL Server Monitoring SQL Server, Resource Governor, Tracing SQL Server 1. Monitoring Monitoring cíl Zrychlení odezvy. Hledání úzkého hrdla. Identifikace často prováděných dotazů. Úprava dotazu, změna indexu, Sledování

Více

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY technické vybavení počítače uchování dat vstupní a výstupní zařízení, paměti, data v počítači počítačové sítě sociální

Více

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ Střední průmyslová škola a Střední odborné učiliště, Trutnov, Školní 101, tel.: +420 499 813 071, fax: +420 499 814 729, e-mail: skola@spssoutu.cz, URL: http://www.spssoutu.cz Osnova kurzu OBSLUHA PC ZÁKLADNÍ

Více

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky 25 Pole Datová struktura kolekce elementů (hodnot či proměnných), identifikovaných jedním nebo více indexy, ze kterých

Více

Virtuální metody - polymorfizmus

Virtuální metody - polymorfizmus - polymorfizmus - potomka lze použít v místě, kde je možné použít předka - v dosud probraných situacích byly vždy volány funkce, které jsou známy již v době překladu. V situaci, kdy v době překladu není

Více

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

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

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY. Počítačová podpora výuky matematiky, soustavy rovnic

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY. Počítačová podpora výuky matematiky, soustavy rovnic PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Počítačová podpora výuky matematiky, soustavy rovnic 2010 Jiří Kučera Anotace Pomocí vytvořené aplikace lze interaktivně

Více

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy Volné stromy Úvod do programování Souvislý, acyklický, neorientovaný graf nazýváme volným stromem (free tree). Často vynecháváme adjektivum volný, a říkáme jen, že daný graf je strom. Michal Krátký 1,Jiří

Více

LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická

LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická Střední průmyslová škola elektrotechnická a Vyšší odborná škola, Pardubice, Karla IV. 13 LABORATORNÍ CVIČENÍ Střední průmyslová škola elektrotechnická Příjmení: Hladěna Číslo úlohy: 10 Jméno: Jan Datum

Více

Komprimace/Dekomprimace

Komprimace/Dekomprimace Základy programování Zápočtový projekt Komprimace/Dekomprimace souborů 1 Úvod Tento dokument slouží jako uživatelská příručka a technická dokumentace k programu realizujícímu komprimaci a zpětnou dekomprimaci

Více

Backup & recovery, SQL Server Agent, Alerts Jiří Tomeš

Backup & recovery, SQL Server Agent, Alerts Jiří Tomeš Backup & recovery, SQL Server Agent, Alerts Jiří Tomeš Administrace MS SQL Serveru (NDBI039) Úvodní motivace O čem to dnes bude Strategie zálohování Typy zálohování SQL Server Agent Modely pro obnovení

Více

Abstraktní datové typy Objektový přístup v Oracle

Abstraktní datové typy Objektový přístup v Oracle Text pro samostudium náhrada za přednášku a cvičení 6.4.2009 Abstraktní datové typy Objektový přístup v Oracle Motivace Objektový přístup v Oracle je především umožněn díky uživatelem definovaným (abstraktním)

Více

Správa verzí souborů na cvičení

Správa verzí souborů na cvičení Správa verzí souborů na cvičení Úvod do problematiky, metodické pokyny Karel Šimerda Univerzita Pardubice, Fakulta elektrotechniky a informatiky 1. února 2010 Karel Šimerda (KST, FEI) IOOP/INPSW 1. února

Více

Vývojové diagramy 1/7

Vývojové diagramy 1/7 Vývojové diagramy 1/7 2 Vývojové diagramy Vývojový diagram je symbolický algoritmický jazyk, který se používá pro názorné zobrazení algoritmu zpracování informací a případnou stručnou publikaci programů.

Více

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro: 21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)

Více

Semestrální práce KIV/PC

Semestrální práce KIV/PC Semestrální práce KIV/PC Václav Löffelmann 2014-12-31 1 Zadání Naprogramujte v ANSI C přenositelnou konzolovou aplikaci, která jako vstup obdrží soubor obsahující obrázek ručně psané číslice a soubor s

Více

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba. Odpovědi jsem hledala v prezentacích a na http://www.nuc.elf.stuba.sk/lit/ldp/index.htm Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_01_RAR_P1 Číslo projektu: CZ 1.07/1.5.00/34.1077

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

PROGRAMOVÁNÍ PRO MS WINDOWS 1

PROGRAMOVÁNÍ PRO MS WINDOWS 1 Cílem předmětu je seznámit posluchače s moderními prostředky pro tvorbu aplikací pro Windows jmenovitě s programovou platformou.net a programovacím jazykem C#. V průběhu budou vysvětlena následující témata:

Více

Nasazení webových služeb do enterprise prostředí. Petr Steckovič

Nasazení webových služeb do enterprise prostředí. Petr Steckovič Nasazení webových služeb do enterprise prostředí Petr Steckovič 1 Webové služby Stabilní standard pro integraci systémů Platformě nezávislé Jednoduché kvalitní implementace napříč programovacími jazyky

Více

1) Napájecí zdroj. 2) Skříň (Case) 3) Pevný disk

1) Napájecí zdroj. 2) Skříň (Case) 3) Pevný disk 1) Napájecí zdroj - Maximální výstupní výkon minimálně 400W - ATX verze minimálně 2.3 - Alespoň pasivní PFC - Ventilátor: 120mm - +12V větev minimálně s 32A (16A + 16A) - +5V větev minimálně s 16A - Napájecí

Více

ABSTRAKTNÍ DATOVÉ TYPY

ABSTRAKTNÍ DATOVÉ TYPY Jurdič Radim ABSTRAKTNÍ DATOVÉ TYPY Veškeré hodnoty, s nimiž v programech pracujeme, můžeme rozdělit do několika skupin zvaných datové typy. Každý datový typ představuje množinu hodnot, nad kterými můžeme

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 12: Algebra Lineární transformace MATEMATIKA Lineární transformace, neboli přeet hodnoty x podle

Více

Souborové systémy Mgr. Josef Horálek

Souborové systémy Mgr. Josef Horálek Souborové systémy Mgr. Josef Horálek Souborové systémy = Prostředky pro práci se souborovými systémy patří mezi nejsilnější stránky linuxového jádra. = Využívají unixový přístup k souborové hierarchii

Více

IntraDoc. Řešení pro státní správu a samosprávu. http://www.inflex.cz

IntraDoc. Řešení pro státní správu a samosprávu. http://www.inflex.cz Motivace IntraDoc Řešení pro státní správu a samosprávu http://www.inflex.cz Naším cílem je nabídnout pracovníkům úřadu efektivní a do detailu propracovanou podporu procesů a správu dokumentů spojených

Více

MySQLi (objektově) Příklad vytvoření instance třídy včetně parametrů pro připojení: $mysqli = new mysqli('localhost', 'login', 'heslo', 'databaze');

MySQLi (objektově) Příklad vytvoření instance třídy včetně parametrů pro připojení: $mysqli = new mysqli('localhost', 'login', 'heslo', 'databaze'); MySQLi (objektově) Rozšíření PHP MySQL - základní rozšíření umožňující práci s MySQL. Doporučuje se ho používat pouze do verze MySQL 4.1.3. I když je funkční i u novějších verzí, neumožňuje využití nových

Více

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE Upozornění: Pro práci s RDF Oracle daty je třeba mít nainstalován Oracle Spatial Resource Description Framework (RDF). 1. Vytvoření tabulkového

Více

Druhá skupina zadání projektů do předmětu Algoritmy II, letní semestr 2014/2015

Druhá skupina zadání projektů do předmětu Algoritmy II, letní semestr 2014/2015 Druhá skupina zadání projektů do předmětu Algoritmy II, letní semestr 2014/2015 doc. Mgr. Jiří Dvorský, Ph.D. 6. dubna 2015 Verze zadání 6. dubna 2015 První verze 1 1 Sledování elektroměrů V panelovém

Více

7.5 Diagram tříd pokročilé techniky

7.5 Diagram tříd pokročilé techniky 7.5 Diagram tříd pokročilé techniky Stereotypy - jeden ze základních prostředků rozšiřitelnosti UML - pro modelovací konstrukce neexistující v UML, ale podobné předdefinované v UML definované uživatelem

Více

MetaCentrum - Virtualizace a její použití

MetaCentrum - Virtualizace a její použití MetaCentrum - Virtualizace a její použití Miroslav Ruda,... Cesnet Brno, 2009 M. Ruda (Cesnet) Virtualizace Brno, 2009 1 / 18 Obsah Motivace co je virtualizace kde ji lze využít Stávající využití na výpočetních

Více

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP Elektronická pošta Schéma e-pošty odesilatel UA disk SMTP fronta dopisů disk MTA SMTP MTA adresát UA disk POP IMAP poštovní schránka disk MTA SMTP UA (User Agent) rozhraní pro uživatele MTA (Message Transfer

Více

1. Přehled: SharePoint Services 3.0 a workflow... 7. 2. Úvod do problematiky, motivace... 8. 3. Popis technologie Workflow Foundation...

1. Přehled: SharePoint Services 3.0 a workflow... 7. 2. Úvod do problematiky, motivace... 8. 3. Popis technologie Workflow Foundation... 1 Obsah 1. Přehled: SharePoint Services 3.0 a workflow... 7 2. Úvod do problematiky, motivace... 8 3. Popis technologie Workflow Foundation... 9 3.1 Sekvenční workflow... 9 3.2 Stavové workflow... 9 4.

Více

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_01_ACCESS_P2 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

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

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2 Koncept pokročilého návrhu ve VHDL INP - cvičení 2 architecture behv of Cnt is process (CLK,RST,CE) variable value: std_logic_vector(3 downto 0 if (RST = '1') then value := (others => '0' elsif (CLK'event

Více