Objektové modelování, AD7B36OMO. Návrhy rozhraní. Tomáš Mayer. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze
|
|
- Zdenka Soukupová
- před 6 lety
- Počet zobrazení:
Transkript
1 Objektové modelování, AD7B36OMO Návrhy rozhraní Tomáš Mayer Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška je vytvořena na základě původních přednášek autorů: Karel Richta;Pavel Strnad, 2014
2 MOTIVACE PROČ SPECIFIKACE? ČASTOU PŘÍČINOU MNOHO CHYB V CHOVÁNÍ SYSTÉMU JE NEDOROZUMNĚNÍ NA ROZHRANÍ DVOU ČÁSTÍ KÓDU NEDOKUMENTOVANÉ ROZHRANÍ JE V MYSLI VÝVOJÁŘE, VÝVOJÁŘ DRUHÉ ČÁSTI KÓDU MŮŽE ROZHRANÍ VNÍMAT JINAK SPECIFIKACE ROZHRANÍ
3 MOTIVACE PROČ SPECIFIKACE?
4 MOTIVACE SPECIFIKACE ROZHRANÍ UMOŽNÍ DECOUPLING PŘEDSTAVUJE SPOLEČNÝ KONTRAKT, KTERÝ MUSÍ OĚ STRANY DODRŽET OBĚ ČÁSTI KLIENT VOLAJÍCÍ KÓD PŘES ROZHRANÍ A VÝVOJÁŘ KÓDU MOHOU VYVÍJET NEZÁVISLE
5 BEHAVIORÁLNÍ EKVIVALENCE OTÁZKA ZDA DVA ZDROJOVÉ KÓDY SE CHOVAJÍ STEJNĚ MOŽNOST VÝMĚNY KÓDU ZA JINÝ BEZE ZMĚNY CHOVÁNÍ SYSTTÉMU ROLI MOHOU HRÁT EKVIVALENCE SIMULAČNÍCH MODELŮ BEHAVIORÁLNÍ EKVIVALECNE - NENÍ OBECNĚ TESTOVATELNÁ
6 BEHAVIORÁLNÍ EKVIVALENCE REFLEXIVNÍ: SYMETRICKÁ: TRANSITIVNÍ: PŘEDEVŠÍM TRANSITIVNOST DŮLEŽITÁ PRO SIMULACE
7 PRECONDITIONS A POSTCONDITION PRECONDITIONS POPISUJÍ PODMÍNKY PRO VSTUPNÍ HODNOTY POSTCONDITIONS POPISUJÍ, JAKÝM ZPŮSOBEM MÁ BÝT VYMEZENA IMPLEMENTACE static int find(int[] arr, int val) requires: val occurs exactly once in arr effects: returns index i such that arr[i] = val
8 PRECONDITION A POSTCONDITION V JAVADOC Zdroj:
9 SILNĚJŠÍ VERSUS SLABŠÍ SPECIFIKACE V PŘÍPADĚ ZMĚNY IMPLEMENTACE NEBO PŘÍMO VLASTNÍ SPECIFIKACE POTŘEBUJEME URČIT, JAK BEZPEČNÉ JE PROVÉST ZMĚNU V IMPLEMENTACI VZHLEDEM K JIŽ EXISTUJÍCÍM KLIENTŮM DVĚ SPECIFIKACE S1, S2 S2 JE SILNĚJŠÍ NEBO STEJNÁ JAKO S1 KDYŽ V TAKOVÉM PŘÍPADĚ IMPLEMENTACE S2 DOKÁŽE USPOKOJIT TAKÉ POTŘEBY KLIENTŮ VYUŽÍVAJÍCÍCH S1. LZE TEDY S1 NAHRADIT S2.
10 SILNĚJŠÍ A SLABŠÍ SPECIFIKACE PŘÍKLAD static int find ExactlyOne (int[] a, int val) requires: val occurs exactly once in a effects: returns index i such that a[i] = val MŮŽE BÝT NAHRAZENA - MÁ SLABŠÍ PRECONDITION static int find OneOrMore,AnyIndex (int[] a, int val) requires: val occurs at least once in a effects: returns index i such that a[i] = val A TA MŮŽE BÝT NAHRAZENA - MÁ SILNĚJŠÍ POSTCONDITION static int find OneOrMore,FirstIndex (int[] a, int val) requires: val occurs at least once in a effects: returns lowest index i such that a[i] = val
11 GRAFICKÉ ZNÁZORNĚNÍ findfirst, findlast - implementace findoneormore, any index - specifikace findoneormore, firstindex silnější specifikace
12 NULL REFERENCE REFERENCE NA OBJEKTY A POLE MOHOU MÍT SPECIÁLNÍ HODNOTU NULL NEUKAZUJE NA ŽÁDNÝ OBJEKT NELZE PRO PRIMITIVNÍ OBJEKTY POUŽITÍ NULL POTENCIÁLNÍ VYJÍMKY NULLPOINTEREXCEPTION V RUNTIME POKUD MOŽNO SE JIM VYHÝBAT, PŘEDEVŠÍM NA ROZHRANÍ DOBRÁ PRAXE PRO KAŽDOU OPERACI IMPLICITNĚ NEPOVOLOVAT NULL V PARAMETRECH ANI NÁVRATOVÝCH HODNOTÁCH V PŘÍPADĚ, ŽE NĚKTERÝ PARAMETR POVOLUJE NULL, PAK VE SPECIFIKACI EXPLICITNĚ ZMÍNIT TOTÉŽ PLATÍ I PRO NÁVRATOVÉ HODNOTY
13 TESTOVÁNÍ A SPECIFIKACE TESTY MUSÍ SPLŇOVAT PODMÍNKY SPECIFIKACE ZNALOST IMPLEMENTACE MŮŽE BÝT VHODNÝM DOPLŇKEM PRO TESTOVÁNÍ static int find(int[] arr, int val) requires: val occurs in arr e ffects: returns index i such that arr[i] = val int[] array = new int[] { 7, 7, 7 }; assertequals(0, find(array, 0)); // bad test case: violates the spec assertequals(7, array[find(array, 7)]); // correct
14 SPECIFIKACE VYJÍMEK ANTIPATTERN PŘEDÁVAT INFORMACE O CHYBĚ NEBO OKRAJOVÉM STAVU POMOCÍ NÁVRATOVÉ HODNOTY class BirthdayBook { LocalDate lookup(string name) {... } } ATIPATTERN - POKUD V BIRTHDAYBOOK NEEXISTUJE DANÉ JMÉNO VRACÍ MÍSTO LOCALDATE NULL V HORŠÍM PŘÍPADĚ NĚJAKÉ DOMLUVENÉ DATUM, KTERÉ PO DOBU ŽIVOTA SYSTÉMU NEPŘEDPOKLÁDÁME, ŽE NASTANE 9/9/9999 LÉPE, ABY METODA VYHAZOVALA VYJÍMKY
15 SPECIFIKACE VYJÍMEK LÉPE, ABY METODA VRACELA VYJÍMKY LocalDate lookup(string name) throws NotFoundException {... if (...not found... ) throw new NotFoundException();... VYJÍMKY SE MOHOU VYSKYTNOUT PŘI CHYBĚ NEBO JAKO SPECIÁLNÍ VÝSLEDEK V PRVNÍM PŘIBLÍŽENÍ
16 HIERARCHIE VYJÍMEK V JAVĚ Checked Checked Unchecked Unchecked
17 POUŽITÍ VYJÍMEK ANTIPATTERN NEPOUŽÍVAT VYJÍMKY TAM, KDE SE NEJEDNÁ O VYJÍMEČNÉ STAVY try { int i = 0; while (true) a[i++].f(); } catch ArrayIndexOutOfBoundsException e) { } Převzato z Effective Java Joshua Bloch NENÍ VHODNÉ ZDE POUŽÍT VYJÍMKU, JEPŠÍ NAPŘÍKLAD FOR CYKLUS PŘES PRVKY POLE ARRAYINDEXOUTOFBOUNDEXCEPTION MŮŽE NAVÍC NASTAT NAPŘÍKLAD JINAK NEŽ V KÓDU OČEKÁVÁME -> TĚŽKO ODHALITELNÁ CHYBA
18 SPEFIKACE METOD MUTUJÍCÍCH DATA METODA, KTERÁ MĚNÍ VSTUPNÍ DATA static boolean addall(list<t> list1, List<T> list2) requires: list1!= list2 effects: modifies list1 by adding the elements of list2 to the end of it, and returns true if list1 changed as a result of call PRO SPECIFIKACI ROZHRANÍ JE VELMI VHODNÁ KONVENCE JAKO PRO NULL POKUD NENÍ EXPLICITNĚ UVEDENO V ROZHRANÍ, PAK METODA NEPROVÁDÍ ZMĚNU VE VSTUPNÍCH DATECH POPIS MUTACE VSTUPNÍCH PARAMETRŮ BY SE VŽDY MĚL EXPLICITNĚ OBJEVIT VE SPECIFIKACI ROZHRANÍ
19 VÝZNAM SPECIFIKACE PŘEDCHÁZÍ CHYBÁM DOBRÁ SPECIFIKACE JASNĚ DOKUMENTUJE PŘEDPOKLADY, NA KTERÝCH STAVÍ KLIENT I IMPLEMENTÁTOR. CHYBY ČASTO VZNIKAJÍ Z NESPRÁVNĚ POCHOPENÉHO ROZHRANÍ A SPECIFIKACE TOMUTO PŘECHÁZÍ. POUŽÍVÁNÍ STROJEM KOTROLOVANÉHO POPISU VE SPECIFIKACI JAKO TYPOVÁ KONTROLA A POŽITÍ VYJÍMEK MŮŽE JEŠTĚ VÍCE REDUKOVAT CHYBY SROZUMITELNOST - KRÁTKÁ JEDNODUCHÁ SPECIFIKACE JE MNOHEM VÍCE SROZUMITELNÁ NEŽ VLASTNÍ IMPLEMENTACE. OSTATNÍ VÝVOJÁŘI NEMUSÍ STUDOVAT KÓD, ABY MOHLI ROZHRANÍ VYUŽÍT PŘIPRAVENOST NA ZMĚNY - SPECIFIKACE ZAVÁDÍ KONTRAKT MEZI RŮZNÝMI ČÁSTMI KÓDU. TYTO ČÁSTI SE MOHOU, POKUD DORŽÍ KONTRAKT ROZHRANÍ ROZVÍJET NEZÁVISLE
20 PŘESNOST POPISU SPECIFIKACE POPISUJE SPECIFIKACE POUZE JEDEN MOŽNÝ VÝSTUP PRO DANÝ VSTUP NEBO DÁVÁ VOLNOST VÝVOJÁŘI VYBRAT Z MNOŽINY MOŽNÝCH HODNOT DETERMINISTIC JEDNOZNAČNĚ URČENÝ VÝSTUP UNDETERMINED NENÍ JEDNOZNAČNĚ URČENO, VÝVOJÁŘ MÁ JISTOU VOLNOST IMPLEMENTACE static int find ExactlyOne (int[] arr, int val) requires: val occurs exactly once in arr effects: returns index i such that arr[i] = val static int find OneOrMore,AnyIndex (int[] arr, int val) requires: val occurs in arr effects: returns index i such that arr[i] = val
21 DEKLARATIVNÍ VERSUS OPERATIVNÍ SPECIFIKACE OPERATIVNÍ SPECIFIKACE POPISUJE KROKY IMPLEMENTACE A DÁVÁ PŘEDPIS PRO VÝVOJÁŘE IMPLEMENTOVAT DEKLARATIVNÍ SPECIFIKACE NEPOPISUJE DETAILY INTERNÍCH KROKŮ IMPLEMENTACE, POPISUJE VÝSTUP NA ZÁKLADĚ VSTUPŮ DO METODY VE VĚTŠINĚ PŘÍPADŮ JE PREFEROVANÝ DEKLARATIVNÍ PŘÍSTUP SPECIFIKACE DEKLARATIVNÍ PŘÍSTUP
22 NÁVRH DOBRÉ SPECIFIKACE SPECIFIKACE JE KLÍČOVÝ KONTRAKT MEZI IMPLEMENTÁREM A KLIENTEM MĚLA BY BÝT KOHERENTNÍ METODY BY MĚLY MÍT VŽDY JEDNU JASNĚ DEFINOVANOU ZODPOVĚDNOST NÁVRATOVÁ HODNOTA BY MĚLA NÉST JASNOU A JEDNOZNAČNOU INFORMACI POKUD MOŽNO, SPECIFIKACE BY MĚLA VYUŽÍVAT ABSTRAKTNÍ TYPY ZABRAŇUJE CHYBÁM PŘI VOLÁNÍ ROZHRANÍ ZPŮSOBENÝCH RŮZNÝM VÁKLADEM ROZHRANÍ MĚLA BY BÝT SROZUMITELNÁ PŘIPRAVENA NA ZMĚNY
23 MICROSERVICES ARCHITEKTONICKÝ STYL ZNÁMÝ JAKO MICROSERVICE ARCHITECTURE Převzato z
24 MICROSERVICES VÝHODY KAŽDÁ MICOSERVICE JE RELATIVNĚ MALÁ KAŽDÁ MICROSERVICE MŮŽE BÝT NASAZENA DO RUNTIME NEZÁVISLE LEPŠÍ ŠKÁLOVATELNOST ŘEŠENÍ LEPŠÍ IZOLACE PROTI VÝPADKŮM (NAPŘÍKLAD OUT OF MEMORY ERRORS) LÉPE SE PRACUJE S NASAZENÍM NOVÝCH KNIHOVEM, FRAMEWORK
25 MICROSERVICES - NEVÝHODY VÝVOJÁŘ MUSÍ PRACOVAT S VĚTŠÍ SLOŽITOSTÍ DISTRIBUOVANÉHO SYSTÉMU NÁROČNĚJŠÍ TESTOVÁNÍ MUSÍ BÝT IMPLEMENTOVANÝ MEZI SERVISNÍ KOMUNIKAČNÍ MECHANISMUS OBTÍŽNÁ IMPLEMENTACE TRANSAKCÍ, ZEJMÉNA POKUD NEJSOU K DISPOZICI DISTIBUOVANÉ TRANSAKCE OBTÍŽNÁ IMPLEMENTACE PŘÍPADŮ UŽITÍ, POKUD SE ROZPROSTÍRAJÍ PŘES VÍCE MICROSERVICE VĚTŠÍ KOMPLEXITA NASAZENÍ SYSTÉMU ZVÝŠENÉ NÁROKY NA OPERAČNÍ PAMĚŤ
26 SPECIFIKACE A MICROSERVICES SPECIFIKACE JE KLÍČOVÁ V MICROSERVICES ARCHITEKTURE IMPLEMENTACE SLUŽEB JSOU OBYČEJNĚ NAVRHOVÁNY RŮZNÝMI TÝMI, PROTO MUSÍ BÝT KLADENÝ VELKÝ DŮRAZ NA SPECIFIKACE ROZHRANÍ API MUSÍ MÍT VELMI DOBŘE DEFINOVAOU SÉMANTIKU A SCHÉMA VERZÍ V PŘÍPADĚ MICROSERVICES JE DŮLEŽITÉ ODLIŠOVAT DVA DRUHY API VEŘEJNÉ API VOLÁNÍ KLIENTEM BACKEND API MEZI SERVISNÍ VOLÁNÍ
27 WEB API WEB API JE APPLICATION PROGRAMMING INTERFACE NA WEBOVÉM SERVERU NEBO WEBOVÉM KLIENTU SERVER-SIDE WEB API SESTAVÁ Z JEDNOHO NEBO VÍCE ENDPOINTŮ REQUEST-RESPONSE KONCEPT DATOVÝ FORMÁT JSON NEBO XML VE VĚTŠINĚ ŘEŠENÍ JE POSTAVENÝ NA HTTP(S), VYUŽÍVÁ HTTP RESPONSE KÓDŮ MNOHO ŘEŠENÍ VÍCE NEŽ SOAP WEB SERVICES VYUŽÍVÁ RESTFUL WEB RESOURCES
28 STANDARD OPENAPI DEFINUJE STANDARDNÍ, NA JAZYKU NEZÁVISLÉ ROZHRANÍ REST API UMOŽŇUJE JAK STROJI, TAK ČLOVĚKU PROHLÍŽET A POROZUMĚT SLUŽBĚ A JEJÍMU VÝZNAMU ANIŽ BY MUSEL ZKOUMAT ZDROJOVÝ KÓD NEBO DOKONCE SLEDOVAT SÍŤOVÝ PROVOZ DOBŘE NAPSANÁ SPECIFIKACE UMOŽNÍ KONZUMENTOVI SLUŽBY POROZUMĚT A INTERAGOVAT SE VZDÁLENOU SLUŽBOU S MINIMÁLNÍM MNOŽSTVÍM IMPLEMENTAČNÍ LOGIKY OPENAPI DEFINICE MŮŽE BÝT POUŽITA
29 SWAGGER FRAMEWORK PRO DEFINICI ROZHRANI PODLE SPECIFIKACE OPENAPI POKRÝVÁ CELÝ ŽIVOTNÍ CYKLUS SWAGGER EDITOR - NÁVRH SWAGGER CODEGEN BUILD SWAGGER INSPECTOR - TESTOVÁNÍ SWAGGER UI - DOKUMENTACE
30 SWAGGER EDITOR STRUKTUROVANÁ DEFINICE ROZHRANÍ JSON YAML EDITAČNÍ OKNO, OKNO S PRŮBĚŽNMÝM ZOBRAZENÍM GENEROVANÉ DOKUMENTACE MOŽNOST TESTOVÁNÍ SPECIFIKACE MOŽNOST GENEROVÁNÍ KÓDU SERVEROVÉ ČÁSTI MOŽNOST GENEROVÁNÍ KÓDU KLIENTSKÉ ČÁSTI GENEROVÁNÍ DO VELKÉHO MNOŽSTVÍ PROGRAMOVACÍCH JAZYKŮ A FRAMEWORKŮ
31 APIARY APIARY OBDOBNÝ NÁSTROJ PRO DEFINICI ROZHRANÍ PODOBNĚ JAKO SWAGGER EDITOR STRUKTUROVANÉHO POPISU ROZHRANÍ DOKUMENTACE TESTOVÁNÍ
32 REFERENCE BEHAVIORÁLNÍ EKVIVALENCE
1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services
13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -
PODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2
PI JE JEDNODUCHÝ IMPERATIVNÍ PROGRAMOVACÍ JAZYK OBSAHUJE PODPORU ANOTACÍ NEOBSAHUJE NĚKTERÉ TYPICKÉ KONSTRUKTY PROGRAMOVACÍCH JAZYKŮ JAKO JSOU REFERENCE, UKAZATELE, GLOBÁLNÍ PROMĚNNÉ PODOBÁ SE JAZYKU C
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky 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 rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
SOAP & REST služby. Rozdíly, architektury, použití
SOAP & REST služby Rozdíly, architektury, použití Obsah Srovnání SOAP a REST služeb Service Oriented Architecture Microservice Architecture Příklady použití Nástroje pro vývoj SOAP a REST služeb (v Java)
RESTful API TAMZ 1. Cvičení 11
RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer
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ů
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ě
Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.
Přednáška 5 1. Stručný přehled vývoje html H T m l (HTML...XML... html5), (Web API, JSON, REST,AJAX) 2. Některé související IT IP adresa, doménová adresa, name servery JavaScritp, Jquery, Angular PHP vs
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í
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
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
Úvod do Web Services
Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná
Common Object Request Broker Architecture
Common Object Request Broker Architecture Tvorba aplikací, jejichž komponenty budou komunikovat přes počítačovou síť Programátor jedné aplikace volá metody vzdálených objektů podobně jako u sebe lokální
Tvorba informačních systémů
9. Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2006-2008 Michal Krátký, Miroslav Beneš Tvorba
Výjimky. Tomáš Pitner, upravil Marek Šabo
Výjimky Tomáš Pitner, upravil Marek Šabo K čemu jsou výjimky Výjimky jsou mechanizmem umožňujícím reagovat na nestandardní (tj. chybové) běhové chování programu, které může mít různé příčiny: chyba okolí:
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
Projekt JetConf REST API pro vzdálenou správu
Projekt JetConf REST API pro vzdálenou správu Ladislav Lhotka lhotka@nic.cz 24. listopadu 2017 Osnova motivace, historie standardy: RESTCONF a YANG JetConf: implementace RESTCONF serveru backendy: Knot
Michal Krátký, Miroslav Beneš
Tvorba informačních systémů 1/20 Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních
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í
Semin aˇr Java V yjimky Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Unor 2008 Radek Koˇc ı Semin aˇr Java V yjimky 1/ 25
Seminář Java Výjimky Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Výjimky 1/ 25 Výjimky Co a k čemu jsou výjimky výjimka je mechanizmus umožňující psát robustní, spolehlivé
WCF. IW5 - Programování v.net a C# WCF
IW5 - Programování v.net a C# Strana 1 Obsah přednášky Představení Konfigurace hosta Vygenerování klienta Několik názorných příkladů Strana 2 Co to je Windows Communication Foundation Náhrada za COM, DCOM,.NET
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
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
Analýza a Návrh. Analýza
Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,
Reranking založený na metadatech
České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1
11.5.2012. Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9
Obsah přednášky 9 Základy programování (IZAPR, IZKPR) Přednáška 9 Základy dědičnosti, přístupová práva Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií
PA165: Úvod do Java EE. Petr Adámek
PA165: Úvod do Java EE Petr Adámek Obsah přednášky Organizace předmětu Formy výuky Hodnocení Osnova Java EE aplikace Architektury Java EE aplikací Technologie Java EE Základní koncepty PA165: Úvod do Java
UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
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
Požadavky pro výběrová řízení TerraBus ESB/G2x
Dokument: Převod dat TerraBus ESB/G2x Požadavky pro výběrová řízení TerraBus ESB/G2x Obsah 1. Účel dokumentu... 2 2. Použité termíny a zkratky... 2 3. Požadavky... 3 Účel dokumentu Účelem tohoto dokumentu
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
Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4
Fronta (Queue) Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Fronta uplatňuje mechanismus přístupu FIFO first
Základy datových vazeb Silverlightu. Funkce Silverlightu 2. Podpora jazyků a technologie.net Framework
Funkce Silverlightu 2 Podpora jazyků a technologie.net Framework Model pro popis webových služeb a jejich operací Volná vázanost datových služeb Nový model ovládacích prvků LINQ to Objects a UNQ to XML
Komponentový návrh SW
Komponentový návrh SW Komponentový návrh SW Komponenty jsou kompletně specifikované pomocí interface Jejich funkčnost je nezávislá na programovacím jazyku a mohou být integrované do toho samého systému
IS pro podporu BOZP na FIT ČVUT
IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod
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ů
ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION
ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION FUNKCE PŘI JEJÍM ZAVOLÁNÍ, JEJÍ POSTCONDITION JE SPLNĚNA PŘI NÁVRATU Z FUNKCE (POKUD NASTANE) OBECNĚ FUNKCE
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2
Vláknové programování část V
Vláknové programování část V Lukáš Hejmánek, Petr Holub {xhejtman,hopet@ics.muni.cz Laboratoř pokročilých síťových technologií PV192 2014 03 25 1/25 Přehled přednášky Paměťový model Javy GUI v Javě Vlákna
X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.
X33EJA Web Services Martin Ptáček, KOMIX s.r.o. ptacek@komix.cz Copyright 2007 KOMIX Copyright s.r.o. 2007 KOMIX s.r.o. 1. Obsah Historie Co jsou Web Services? Co je to SOA? JAX-WS (Java API for XML Web
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
Ú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
RMI - Distribuované objekty v Javě
Vysoká škola báňská - Technická univerzita Ostrava 30. března 2009 Osnova Co je to RMI? 1 Co je to RMI? 2 Vnější pohled Vrstvy RMI Stub & Skeletons Layer Remote Reference Layer Transport Layer Pojemnování
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
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,
Principy UML. Clear View Training 2005 v2.2 1
Principy UML Clear View Training 2005 v2.2 1 1.2 Co je touml? Unified Modelling Language (UML) je univerzálníjazyk pro vizuální modelování systémů Podporuje všechny životní cykly Mohou jej implementovat
Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů
- 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa
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í
Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003
Jiří Kosek Ministerstvo informatiky ČR ISSS 25. března 2003 Požadavky na RR!zákon 365/2000 Sb.!RR je souhrnem opatření, která vytvářejí jednotné integrační prostředí informačních systémů veřejné správy!rr
Řízení reálných projektů, agilní metodiky
Agent Technology Group Katedra kybernetiky Fakulta elektrotechnická - České vysoké učení technické Praha, 2009 Osnova Lze vyvíjet software bez metodiky? - bohužel ano menší komerční firmy (zejména vývoj
ZP API V1.0 Návod pro vývojáře SW
ZP API V1.0 Návod pro vývojáře SW 1. Úvod Agendový systém Ohlášení zdravotnických prostředků (dále jen Ohlášení, ZP nebo API ) používá synchronní REST API webové služby a využívá JSON datový formát. API
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í
8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod 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 třídám a objektům, instančním
Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:
Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva
Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML
Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k
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
Základy programovaní 3 - Java. Unit testy. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 26.,27.
Základy programovaní 3 - Java Unit testy Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 26.,27. listopad, 2014 Petr Krajča (UP) Unit testy 26.,27. listopad, 2014 1 / 14 Testování zásadní
Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová
Programové konvence, dokumentace a ladění 2. přednáška Alena Buchalcevová Proč dodržovat programové konvence? velkou část životního cyklu softwaru tvoří údržba údržbu provádí většinou někdo jiný než autor
Čipové karty Lekařská informatika
Čipové karty Lekařská informatika Následující kód je jednoduchou aplikací pro čipové karty, která po překladu vytváří prostor na kartě, nad kterým jsou prováděny jednotlivé operace a do kterého jsou ukládány
Code Contracts. Robert Haken [MVP ASP.NET, MCT] Software architect, Owner at HAVIT, s.r.o. knowledge-base.havit.cz
Code Contracts Robert Haken [MVP ASP.NET, MCT] Software architect, Owner at HAVIT, s.r.o. knowledge-base.havit.cz Contracts volaná strana deklaruje, jak se chová vzniká dohoda mezi volající a volanou stranou
Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA
Common Object Request Broker Architecture FJFI ČVUT 9. 12. 2010 Osnova 1 2 3 4 5 Standard umožňující propojení aplikací psaných v různých jazycích a běžících na různých strojích a architekturách. Definuje
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
Ú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
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 =
EXTRAKT z technické normy ISO
EXTRAKT z technické normy ISO Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě. Inteligentní dopravní systémy Kooperativní ITS Zkušební architektura ISO/TS 20026
ATS Global B.V. ATS Bus.
ATS Global B.V. je výrobní datová sběrnice, zajišťuje propojení výrobních systémů, poskytuje kompletní expozici výrobních dat, usnadňuje odstraňování problémů spojených s výrobky i procesy a umožňuje sledování
Objektově orientované databáze. Miroslav Beneš
Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Nevýhody modelů založených na záznamech Co potřebujeme modelovat? Identifikace
Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework
Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS
Distribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček Peter Macejko CORBA Common Object Request Broker Architecture - konsorcium OMG (Object Management Group) - standard pro podporu komunikace v DS - pouze
Konzistentnost. Přednášky z distribuovaných systémů
Konzistentnost Přednášky z distribuovaných systémů Pro a proti replikaci 1. Zvýšení spolehlivosti. 2. Zvýšení výkonnosti. 3. Nutnost zachování škálovatelnosti systému co do počtu komponent i geografické
7.3 Diagramy tříd - základy
7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'
7. Datové typy v Javě
7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů
Komprese a dotazování nad XML dokumenty
Komprese a dotazování nad XML dokumenty Prezentace diplomové práce Lukáš Skřivánek České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů květen 2007 Vedoucí práce: Ing. Miroslav
Web Services na SOAP
Web Services Používají HTTP Existují dvě varianty: Služby postavené na protokolu SOAP Java standard pro vytváření : JAX-WS RESTfull služby Java standard pro vytváření : JAX-RS Web Services na SOAP Žádost
Technická dokumentace B2C WS postcode
Technická dokumentace B2C WS postcode Zpracoval Útvar Datum vytvoření 01.06.2016 Pavel Kořízek, Jan Magnusek KC4 Datum aktualizace 23.06.2016_verze 0.4 Počet stran 7 Počet příloh 1 Obsah 1. Úvod... 3 2.
Bc. Martin Majer, AiP Beroun s.r.o.
REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam
Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr
Komponentově orientované webové frameworky Jiří Stránský jistr@jistr.net twitter.com/jistr O čem to bude Three-Tier aplikace MVC frameworky Komponentově orientované frameworky Apache Wicket Three-Tier
DOPLNĚK. Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj.
GLOBÁLNÍ ARCHITEKTURA ZÁKLADNÍCH REGISTRŮ DOPLNĚK Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj. Obsah 1 Cíle dokumentu...3 2
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
Servisně orientovaná architektura Základ budování NGII
Servisně orientovaná architektura Základ budování NGII Jan Růžička Institute of geoinformatics VSB-TU Ostrava 17.listopadu, 70833 Ostrava-Poruba Poruba, jan.ruzicka@vsb.cz NGII NGII složitý propletenec,
Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS
Architektura orientovaná na služby Návrh orientovaný na služby Webové služby Ing. Petr Weiss VUT v Brně,, FIT, UIFS 3. 12. 2007 Obsah Architektura orientovaná na služby Základní pojmy Koncepce architektury
7.3 Diagramy tříd - základy
7.3 Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'
SUTOL Symposium 2014
SUTOL Symposium 2014 24.dubna, GreenPoint Praha Partneři konference www.sutol.cz Otevřete Domino světu Ondřej Fuxa, YOUR SYSTEM, spol. s r.o. Jak řešíte načítání dat z IBM Domino aplikací do externích
Zápasíme s REST API. Lukáš Křečan REST API Architect GoodData
Zápasíme s REST API Lukáš Křečan REST API Architect GoodData Něco o mě GoodData REST API architekt Před tím několik let v korporacích SOAP-WS Spring WS Test Java programátor blog.krecan.net Agenda Co je
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
Vytváření a použití knihoven tříd
Vytváření a použití knihoven tříd doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Prostory jmen motivace spolupráce
Popis B2B rozhraní pro elektronickou neschopenku
Popis B2B rozhraní pro elektronickou neschopenku Historie dokumentu Verze Datum Změny 0.9 30. 4. 2019 Vytvoření dokumentu Obsah 1 Účel dokumentu... 3 2 Charakteristika rozhraní... 3 2.1 Způsob komunikace...
Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková
Ruby on Rails Bc. Tomáš Juřík Bc. Bára Huňková Co nás dnes čeká? Ruby (programovací jazyk) Ruby on Rails (webový framework) Praktická ukázka Ruby (programovací jazyk) Ruby (programovací jazyk) Skriptovací
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
Diagramy tříd - základy
Diagramy tříd - základy - popisuje typy objektů a statické vztahy mezi nimi Objednávka Zákazník -datumpřijetí -předplacena -číslo -cena +vyřiď() +uzavři() {if Objednávka.zákazník.charakteristika = 'nejistý'
Komponenty v.net. Obsah přednášky
doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Rozdíl mezi COM a.net Distribuce komponent Programování
Artlingua Translation API
Artlingua Translation API Dokumentace Jan Šváb, Artlingua, a.s. 2015 Revize: 2015-09-22 - verze API : v1 Obsah Obsah... 2 Předávání dokumentů k překladu... 3 Implementace klientské aplikace pro Translation
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
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
Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging
Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging 1. Vhodnost nasazení jednotlivých webových architektur - toto je podle Klímy
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
Sledování výkonu aplikací?
Sledování výkonu aplikací? FlowMon APM Pavel Minařík minarik@invea.com Problémy s výkonností aplikací Je příčina problému v síti nebo v aplikaci? Jedná se o pomalou odezvu aplikačního nebo databázového
Webové služby pro. CenovaMapa.cz
OctopusPro s.r.o. Webové služby pro CenovaMapa.cz Verze: 1.21 Datum vytvoření: 21.10. 2015 Datum poslední aktualizace: 7.7. 2016 Copyright OctopusPro s.r.o, Praha, 2012-2017 S t r á n k a 2 Obsah: 1 ÚVOD...
Ú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
RESTful web service v Javě
Mendelova univerzita v Brně Provozně ekonomická fakulta RESTful web service v Javě Literární rešerše práce Vedoucí práce: Ing. Jan Turčínek, Ph.D. Pavel Savrov Brno 2016 OBSAH 2 Obsah 1 Protokoly implementaci