Dokumentový sklad. Dokumentový sklad v.1. Dokumentový sklad v.2. Koncepce skladu v.2. Petr Lampa
|
|
- Bedřich Král
- před 8 lety
- Počet zobrazení:
Transkript
1 Dokumentový sklad v.1 Dokumentový sklad Petr Lampa První verze (2002): Ukládání diplomových prací a ročníkových projektů v PDF a PostScriptu Požadavky: Archivace dokumentů Malá četnost prohlížení Žádná indexace Řešení: Fixní systém práv (student pouze uložit/číst svou práci), ostatní všechno číst Pevná struktura pojmenování (/báze/rok/bp/id.pdf) Dokumentový sklad v.2 Druhá verze (2003): Cíle: Strukturovaný dokumentový sklad pro ukládání dokumentů fakulty Organizace ve formě stromu Ukládání metadat k dokumentům Přístupová a majitelství adresářů/souborů Možnost ukládat verze dokumentů Jednoduchá správa Web prohlížečem (použití sekretariáty) Koncepce: Stejné rozhraní by se hodilo pro prohlížení DP a do budoucna také pro odevzdávání projektů v předmětech Koncepce skladu v.2 Co je společné? Uživatelské rozhraní Zpracování úplného jména dokumentu, validace a kontroly Některé operace (download, upload, rm) Co je různé? Systém pojmenování dokumentů/adresářů Co je povoleno (přístupová práva) Vazba na tabulky v informačním systému 1
2 Koncepce skladu v.2 Řešení: Ukládání do systému souborů (důležitý návrh pojmenování) velké BLOBy v databází silně komplikují archivaci/restore na funkčnosti skladu bezprostředně nezávisí funkčnost IS fulltext v databázi sice funguje, ale: problém stemizace velká zátěž databáze při indexaci problém konverze formátů (PDF) Koncepce skladu v.2 Použít objektově orientovaný návrh Společné vlastnosti implementovat jako bázovou třídu Specifické mutace funkčnosti různých částí skladu implementovat odvozenými třídami Integrace různých typů skladu do jednoho stromu Omezení: typ je dán nejvyšším adresářem Pojmenování /rp/<rok>/<typ>/<id>.pdf (ps) /dr/{<adresář>/<soubor> /ci/<id_předmětu>/<id_termínu>/{<id_varian ty>/<login>/<soubor> /course/<zkr>/<typ>/{<adresář>/<soubor> První komponenta určuje typ skladu, čili třídu generovaného objektu Implementace class doc_file { function doc_create($name, $path) { // factory method $classname = "doc_folder_${name ; if (!class_exists($classname)) { $src = "$docs_handlers/docs_${name.php"; if (file_exists($src)) include_once($src); return new $classname($path); function doc_file($path) { // constructor 2
3 Metody doc_title(), doc_access($mode), doc_realpath(), doc_path(), doc_remove(), doc_upload() doc_attrs() seznam atributů, které podporuje daný typ skladu: array("type" => array("title"=>"typ", "sort"=>true, "show"=>true, "order"=>"10", "type"=>"icon"), "title" => array("title"=>"název", "sort"=>true, "show"=>true, "order"=>"20", "type"=>"link", "filter"=>32),... ); Metody doc_getdir() vygeneruje pole obsahující obsah adresáře, ke každému souboru všechny atributy doc_oper() zpracování požadavku z uživatelského rozhraní (download, upload, mkdir) Uživatelské rozhraní docs_show($dir, $attrs) Univerzální metoda, nezávislá na typu skladu. Styl zobrazení, zobrazené prvky, povolené operace dány polem parametrů. Zobrazí ovládací prvky (HTML form, vstupní pole), detekuje jejich použití, kontroluje validitu a volá patřičné metody. Podle definovaných atributů generuje patřičné filtry sloupců, odkazy pro řazení, titulky, obsahy sloupců, atd. Hlavní problémy Koncepce jedné třídy reprezentující dokument se ukázala jako příliš omezující: Při zpracování operací je třeba pracovat s komponentami v cestě diskrétně (kontrola práv, nadřazený adresář). Parsování a validaci cesty musela být implementována v každé odvozené třídě znovu. Pro nové typy skladů bylo třeba zavést přechody mezi různými typy skladů (obdoba mount v Unixu). Uživatelské rozhraní musí u některých operací pracovat současně s dvěma soubory. 3
4 Dokumentový sklad v.3 Cíle: Odstranit omezení rozšiřovatelnosti. Oddělit třídu zabalující uživatelské rozhraní od třídy popisující dokument. Implementovat do bázové třídy dokumentu více funkčnosti tak, aby byl návrh odvozených tříd jednodušší (a bezpečnější). Při implementaci využít principy používané v systémech souborů (místo kompletního parsování jména použít zpracování po komponentách jména). Nová struktura tříd class doc_folder komponenta v cestě class doc_file dokument (obsahuje pole objektů doc_folder) class doc_repos zabalení uživatelského rozhraní a společných dat doc_file function doc_parse($path) { $cur =& new doc_folder(&$this->repos, null, '/'); $this->folders[0] = &$cur; $this->dirs = explode('/', $path); for ($i = 1; $i < count($this->dirs); $i++) { if (!$cur->doc_access(auth_walk)) *ERR if (!$cur->doc_valid_name($this->dirs[$i], false)) *ERR if (!$cur->doc_lookup(&$this->repos, $this->dirs[$i], $i, &$this->folders[$i])) *ERR $cur = &$this->folders[$i]; doc_folder function doc_lookup($name, $level, &$cur) { if ($level!= 1!ctype_alpha($name)) *ERR $classname = "doc_folder_${name"; if (!class_exists($classname)) { $src = "$docs_handlers/docs_${name.php"; if (file_exists($src)) include_once($src); if (!class_exists($classname)) *ERR $cur = new $classname(&$this, $name); ctype_digit() PHP 4.3.x! 4
5 Výsledek Prodloužení kódu, nicméně logičtější struktura a snadnější zápis. Složitější na pochopení v některých metodách reprezentuje $this aktuální komponentu, jinde nadřazenou komponentu. Ukázalo se jako nezbytné v některých operacích reprezentovat dokument instancí a v jiných reprezentovat instancí nadřazeného adresáře a holým jménem (neregulérní struktura). Výsledek Lze přecházet z jednoho typu skladu do druhého libovolně: /pubs zpracováno bázovou třídou, vznikne instance třídy doc_pub /132 zpracováno doc_pub, vznikne instance třídy doc_dr /adresář /soubor zpracováno doc_dr Aplikovaná třída zajišťuje správnou kontrolu validity jména, testování přístupových práv a také povolený repertoár operací. Implementované typy ci soubory k termínům (jedna úroveň) course soubory k předmětům (seznam předmětů z IS, seznam virtuálních podadresářů, dále dr) dr strukturovaný adresář s právy a metadaty ftp FTP klient product, proj, pub soubory k VaV (báze z IS, dále z dr) rp diplomky Použití Použití částí skladu je zabudováno do různých částí IS FIT, s omezením na podstrom Prohlížeč celého skladu: $docs_params = array( ); $repos = new doc_repos($pathinfo, $self, $path_type, $docs_params); $ok = $repos->doc_oper($vars, &$file); is_header(); if ($ok) $repos->docs_show(&$file, $vars); else $repos->docs_print_error(); is_footer(); 5
6 Fulltext Prohlížeč skladu generuje regulární HTML dokument s odkazy na soubory/podadresáře. Sklad lze indexovat libovolným nástrojem indexace Web prostoru. Problémy: omezení na část prostoru, aplikace přístupových práv, prohledávání podle typu. Mnogosearch open source engine, index v MySQL jako blob, zvládá vícejazyčné mutace, tvary slov, tagování prostoru podle kritérií. By-product - FTP klient Vznikl jako ověření koncepce v.3 za jedno odpoledne. Kompletně včetně implementace protokolu FTP v PHP. Skutečně se uplatnila nová hierarchie tříd. Jediná komplikace bylo doplnění operace rename, bylo třeba reimplementovat protokol FTP tak, aby byl lokální na úrovni instance, ne na úrovni doc_repos (je třeba otevřít dvě nezávislé spojení pro zpracování zdroje a cíle). Kupodivu se stal nejpoužívanějším typem skladu. Sklad v AJAX Operace copy/rename vyžadují jako parametr cílový adresář nebo jméno. Web je na aplikaci rozhraní typu NC příliš těžkopádný odeslání odpovědi na formulář, vygenerování a přenos celého HTML dokumentu trvá příliš dlouho. Je nutno doplnit jednoduchý průchod adresářovou strukturou pro výběr cílového adresáře. Ideální na aplikaci AJAXu (Asynchronous JavaScript and XML) Složitost modifikace Doplnit XML výstup pro doc_getdir() triviální, bude se hodit i pro jiné aplikace. Dynamicky naplněný HTML <SELECT> podle obsahu poslední komponenty cesty zadané v textovém poli: Dovoluje zadat rychle část nebo celou cestu v textovém poli a pak teprve vygenerovat obsah. Zároveň dovoluje průchod stromem bez zadávání, jen myší. 6
7 Princip Událost onchange seznamu volá JavaScript funkci xml_getdir(): xmlreq = new XMLHttpRequest(); xmlreq.open('get', URL, true); xmlreq.onreadystatechange = xml_finish; Stránka zůstává v prohlížeči zobrazena, požadavek GET se uloží jako samostatný strom a pak xml_finish(): dir = xmlreq.responsexml.getelementsbytagname("dir"); for (var i = 0; i < dir.length; i++) { el = document.createelement("option"); el.value = dir[i].getattribute("name"); el.appendchild(document.createtextnode( dir[i].getattribute('name'))); idselect.appendchild(el); PHP jako objektový jazyk PHP4 lze použít, ale: PHP nemá ukazatel, vše je implicitně předáváno hodnotou, čili vzniká kopie instance objektu (výjimka je $this). Což nevadí, dokud není třeba něco vracet z metody nebo sdílet jednu instanci pro společná data. Pak je třeba použít referenci - & Katastrofa je třeba bedlivě hlídat, kde referenci napsat a kde ne. Nestačí jen v deklaraci funkce, ale je třeba také při přiřazení a volání. Raději PHP5 Implicitně se předávají a přiřazují objekty referencí (pro kopii clone) Není kompatibilní s PHP4 přebytečné reference hlásí jako chybu Omezení viditelnosti (public, private) Konstruktor, destruktor Statické metody a atributy Abstraktní třídy a interface Deklarace tříd parametrů (typová kontrola) Final note Jak správně zacházet s URL (STD 66): vygenerovat správně <a href="něco"> htmlspecialchars(něco) nestačí! prefixuje pouze <, >, &,, ale URL jen A-Z,0-9,-,_,.,~ rawurlencode() nebo urlencode()? ani jedno určeno pro zakódování pouze částí! <scheme>://[<user>[:<pass>]@]<host><location>?[<name> =<value>]{&<name>=<value>[#<fragment>] urlencode() je na <name>, <value>, nahrazuje za + rawurlencode() je určeno na <location>, nahrazuje za %20, ale taky / za %2F, ~ za %7E (je třeba obnovit) 7
8 Final note Generované URL je třeba obecně rozparsovat na jednotlivé části, parametry CGI na jednotlivé dvojice (jméno, hodnota) a na každou část aplikovat jiný způsob zakódování. Problém URL oddělovače &: v URL je naprosto legální není legální v HTML! (uvozuje entity) nahrazovat v URL vždy & 8
Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);
Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace
VíceGenerické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
VíceMBI - technologická realizace modelu
MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,
VíceBridge. 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íce1 Webový server, instalace PHP a MySQL 13
Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
VíceVyuž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ícerychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek
rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná
VíceUJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
Více2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
Více1. Webový server, instalace PHP a MySQL 13
Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
VíceFormuláře. Internetové publikování. Formuláře - příklad
Formuláře Internetové publikování Formuláře - příklad 1 Formuláře - použití Odeslání dat od uživatele Možnosti zpracování dat Webová aplikace na serveru (ASP, PHP) Odeslání e-mailem Lokální script Formuláře
VíceVíce o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
VíceObsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework
Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS
VíceAJAX. Dynamické změny obsahu stránek
AJAX Dynamické změny obsahu stránek Co je AJAX Co je AJAX Co je AJAX Co je AJAX Co je AJAX AJAX = Asynchronous JavaScript And XML XHR = XMLHttpRequest Ajax je sada technik a nástrojů, které umožňují dynamické
VíceObjektově orientované programování v PHP 5. Martin Klíma
Objektově orientované programování v PHP 5 Martin Klíma OOP & PHP 5 V PHP 5 konečně značné rozšíření OOP Blíží se to moderním programovacím jazykům jako Java nebo C# Výhody OOP Zapouzdření (nové modifikátory
VíceZá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
VíceTÉ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
VíceTŘÍ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;
VíceTeoretické minimum z PJV
Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov
VíceZáklady jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní
Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti
Více1. Ú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íceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceDynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
VíceObjekty v PHP 5.x. This is an object-oriented system. If we change anything, the users object.
Objekty v PHP 5.x This is an object-oriented system. If we change anything, the users object. Objektové PHP Objekty se poprvé objevili v PHP ve verzi 4. Nepříliš zdařilý pokus. Programátoři získali nedůvěru
VíceStřední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U
Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní
VíceMaturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
VícePlatforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13
Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace
VíceUnity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.
Unity a Objekty Programování 2 (NMIN102) RNDr. Michal Žemlička, Ph.D. Větší programy Časté problémy: Ve více programech by se nám hodilo využít stejné řešení nějakého podproblému dalo by se vyřešit překopírováním
VíceKomponenty v.net. Obsah přednášky
doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Rozdíl mezi COM a.net Distribuce komponent Programování
VíceMATURITNÍ 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
VíceZá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ícePŘETĚŽOVÁNÍ OPERÁTORŮ
PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako
Více1. 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íceUŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0
UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 OBSAH 1 ÚVOD... 3 1.1 HOME STRÁNKA... 3 1.2 INFORMACE O GENEROVANÉ STRÁNCE... 4 2 VYHLEDÁVÁNÍ V ÚZEMÍ...
VíceÚ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íceZabezpečení proti SQL injection
Zabezpečení proti SQL injection ESO9 intranet a.s. Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 19.9.2012 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz
VíceJavaScript 101. "Trocha života do statických stránek"
JavaScript 101 "Trocha života do statických stránek" Nacionále: JavaScript 101 Vznik: Netscape, 1995 Původně Mocha, později LiveScript, nakonec z marketingových důvodů přejmenován na JavaScript JavaScript
VíceTematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných
Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro
VíceWeb 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
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceStručný úvod pro programátory. Michal Kuchta
Stručný úvod pro programátory Michal Kuchta Alespoň základní znalost PHP Základy klasického OOP a jeho implementaci v PHP Schopnost oprostit se od konvenčního tvoření stránek 2 Framework pro snazší vývoj
VíceStřední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320
Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní
VíceVstupní požadavky, doporučení a metodické pokyny
Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem
Vícetypová 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
VíceTÉ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
VíceObjektové programování
Objektové programování - přináší nové možnosti a styl programování - vytváří nový datový typ, který umí vše co standardní datové typy + to co ho naučíme - překladač se k tomuto typu chová stejně jako k
VíceFormuláře. Internetové publikování
Formuláře Internetové publikování Formuláře - příklad Formuláře - použití Odeslání dat od uživatele Možnosti zpracování dat Webová aplikace na serveru (ASP, PHP) Odeslání e-mailem Lokální script Formuláře
VíceTechnologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011
Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP
Více20. Projekt Domácí mediotéka
Projekt Domácí mediotéka strana 211 20. Projekt Domácí mediotéka 20.1. Základní popis, zadání úkolu V projektu Domácí mediotéka (Dome) se jednoduchým způsobem evidují CD a videa. Projekt je velmi jednoduchý
VíceQuo vadis programování? Automatizace vyhodnocování studentských úloh
Vaše jistota na trhu IT Quo vadis programování? Automatizace vyhodnocování studentských úloh Rudolf PECINOVSKÝ rudolf@pecinovsky.cz Vladimír Oraný vladimir.orany@gmail.com Vaše jistota na trhu IT Obsah
VícePlánování a vývoj základního frameworku
Shrnutí KAPITOLA 2 Plánování a vývoj základního frameworku Nyní, když máme jasno v tom, co nás v této knize čeká a proč, můžeme začít s vývojem našeho sociálního webu. Abychom zajistili rychlý postup vývoje,
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VíceSoučasný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita
Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé
VíceOptimiDoc dokáže takové dokumenty zpracovat a distribuovat napříč firmou.
Automatizujte zpracování a distribuci dokumentů do vašich firemních procesů! Nemáte kontrolu nad stovkami papírových dokumentů, které přichází do vaší firmy? OptimiDoc dokáže takové dokumenty zpracovat
VíceDatové typy v Javě. Tomáš Pitner, upravil Marek Šabo
Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.
Vícenávrhový vzor Singleton.
KAPITOLA 2 Návrhový vzor Singleton Jazyk PHP 5 vám pomocí klíčových slov public, protected a private umožňuje kontrolovat, kdo získá přístup k určitým atributům a metodám třídy. Dále vám jazyk PHP 5 umožňuje
VíceSoftwarové komponenty a Internet
Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty
VíceJava a XML. 10/26/09 1/7 Java a XML
Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis
VíceRezervační systém Tvorba WWW stránek
2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma
VíceOMO. 4 - Creational design patterns A. Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC
OMO 4 - Creational design patterns A Singleton Simple Factory Factory Method Abstract Factory Prototype Builder IoC Ing. David Kadleček, PhD. kadlecd@fel.cvut.cz, david.kadlecek@cz.ibm.com 1 Creational
VícePrincipy fungování WWW serverů a browserů. Internetové publikování
Principy fungování WWW serverů a browserů Internetové publikování Historie WWW 50. léta Douglas Engelbert provázané dokumenty 1980 Ted Nelson projekt Xanadu 1989 CERN Ženeva - Tim Berners-Lee Program pro
VícePřipravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 18.4.2016 Webové aplikace JSON, AJAX/AJAJ, zpracování na straně JS, JSONP, proxy, REST strana 2 JSON objekt JavaScript Object Notation { "nazev": hodnota, "cislo":
VíceSky Mail2Fax postup převádění dokumentů do podporovaného formátu
Stránka 1/6 Sky Mail2Fax postup převádění dokumentů do podporovaného formátu Služba Mail2Fax umožňuje zasílání faxové zprávy bez faxového zařízení. Místo odeslání zprávy pomocí faxového zařízení uživatel
VícePrvní kapitola úvod do problematiky
První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru
VíceUkládání a vyhledávání XML dat
XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání
VíceNovinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE
ICZ a.s. Správa a řízení dokumentů Na hřebenech II 1718/10 147 00 Praha 4 Tel.: +420-222 271 111 Fax: +420-222 271 112 Internet: www.i.cz Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE Vypracoval
VíceÚvod do Web Services
Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná
VíceZá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íce14.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íceZabezpečení proti SQL injection
Zabezpečení proti SQL injection ESO9 intranet a.s. Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 19.9.2012 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz
VíceFronta (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
VíceDokumentace k nevizuálnímu rozhraní aplikace DopisOnline
Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline Rozhraní slouží k automatizovanému podání listovních zásilek elektronickou cestou z aplikací třetích stran. Veškerá komunikace s naším serverem
VíceObsah. Začínáme programovat v Ruby on Rails 9. Úvod 11. 1. Vítejte v Ruby 15. O autorovi 9 Poděkování 9
Začínáme programovat v Ruby on Rails 9 O autorovi 9 Poděkování 9 Úvod 11 Komu je kniha určena 11 Jak je kniha uspořádána 11 Co ke knize potřebujete 12 Konvence 12 Zdrojový kód 13 Poznámka redakce českého
VíceÚvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
VíceObsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth
Evropský sociální fond. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace Ing. Ondřej Guth Katedra teoretické informatiky Fakulta informačních technologií České vysoké učení technické v Praze
VíceProgramá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
VíceArchitektura softwarových systémů
Architektura softwarových systémů Ing. Jiří Mlejnek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jiří Mlejnek, 2011 jiri.mlejnek@fit.cvut.cz Softwarové
VíceSkriptovací jazyky. Obsah
Skriptovací jazyky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Co je to skriptovací jazyk? Výhody a nevýhody
VíceSeznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí
Kolekce obecně Seznamy a iterátory doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Kolekce ::= homogenní sada prvků
VíceVirtuá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íceRozhraní pro práci s XML dokumenty. Roman Malo
Rozhraní pro práci s XML dokumenty Roman Malo Práce s XML dokumenty Datově a dokumentově orientované XML dokumenty Problém preference elementů a atributů Strom elementů Strom uzlů Základní zpracování dokumentů
VícePokročilé schopnosti OOP
Kapitola 7 Pokročilé schopnosti OOP V kapitole 6 jste absolvovali základy objektově orientovaného programování v PHP. V této kapitole budeme na těchto základech stavět. Seznámíte se s několika vyspělejšími
VíceIRAE 07/08 Přednáška č. 1
Úvod do předmětu OOP Objekt Proč OOP? Literatura, osnova předmětu viz. cvičení Základní prvek OOP sw inženýrství = model reálných objektů (věcí) člověk, auto, okno (ve windows), slovník, = model abstraktní
VíceTabulka 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í
VíceÚvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11
Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového
VíceKonstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
VíceČipové karty Lekařská informatika
Čipové karty Lekařská informatika Následující kód je jednoduchou aplikací pro čipové karty, která po překladu vytváří prostor na kartě, nad kterým jsou prováděny jednotlivé operace a do kterého jsou ukládány
VíceTisková řešení. EIP přidaná hodnota, kterou přidáte Vy sami. Září 2008. Aleš Povolný, Xerox CZ
Tisková řešení Září 2008 Aleš Povolný, Xerox CZ Xerox MFD s podporou EIP Výkon MFD v office oblasti Až 101 PPM B&W Až 60 PPM v barvě Kopírování Nová funkce: kopírování dokladů Faxování Fax přes Print Driver
VícePřenos souborů pomocí AceFTP (pdf verze pro tisk KB)
Přenos souborů pomocí AceFTP (pdf verze pro tisk - 232 KB) AceFTP je klient pro přenos souborů pomocí FTP protokolu. Program je dodáván ve dvou verzích: freewarová verze je zdarma, verze Pro stojí 30 USD
VíceDefinice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
VíceObsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
VíceNový Node Monitor. 13. prosince 2008. Lukáš Turek Praha12.Net
Nový Node Monitor 13. prosince 2008 Lukáš Turek Praha12.Net Nový Node Monitor http://mapa.praha12.net 2 O čem to bude Proč je potřeba nová mapa Jak je implementována Další plány Integrace s IS sítí 3 Proč?
VíceDATABÁZE MS ACCESS 2010
DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,
VíceNetBeans 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
VíceO datových typech a jejich kontrole
.. O datových typech a jejich kontrole Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Typová kontrola Programovací techniky O datových typech
VíceProtokol HTTP 4IZ228 tvorba webových stránek a aplikací
4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2006/11/23 15:11:51 $ Obsah Úvod... 3 Co je to HTTP... 4 Základní model protokolu... 5 Struktura požadavku v HTTP 1.0 a
VíceAplikace pro srovna ní cen povinne ho ruc ení
Aplikace pro srovna ní cen povinne ho ruc ení Ukázkový přiklad mikroaplikace systému Formcrates 2010 Naucrates s.r.o. Veškerá práva vyhrazena. Vyskočilova 741/3, 140 00 Praha 4 Czech Republic tel.: +420
VíceWebové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009
Webové rozhraní pro datové úložiště Obhajoba bakalářské práce Radek Šipka, jaro 2009 Úvod Cílem práce bylo reimplementovat stávající webové rozhraní datového úložiště MU. Obsah prezentace Úložiště nasazené
VíceWWW technologie. HTTP protokol
WWW technologie HTTP protokol HTTP protokol Princip - klient server - klient zašle požadavek (request), obdrží odpověď (response). klient request server response Verze - HTTP protokol HTTP 0.9 HTTP 1.0
VíceProgramování v jazyce C a C++
Programování v jazyce C a C++ Příklad na tvorbu třídy Richter 1 4. prosince 2017 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno Dvourozměrné pole pomocí tříd Zadání Navrhněte a napište třídu pro realizace
Více