Sem vložte zadání Vaší práce.

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

Download "Sem vložte zadání Vaší práce."

Transkript

1 Sem vložte zadání Vaší práce.

2

3 České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Nástroj pro optimalizaci výkonu Rails aplikací Ondřej Ezr Vedoucí práce: Tomáš Bartoň 1. května 2015

4

5 Poděkování Děkuji zejména svému vedoucímu, Tomáši Bartoňovi, za nezměrnou trpělivost a cenné rady. Rodičům, za úžasnou podporu psychickou i materiální jak při psaní této práce, tak v průběhu celého studia. Dále bych chtěl poděkovat Marku Plaštiakovi, za pomoc s udržením zdravého rozumu, když se věci všedního života snažili dostat v prioritním žebříčku před psaní této práce. Dominiku Dragounovi bych rád poděkoval za diskuze při pauzách, které mi pomohli udržet směr mých myšlenek.

6

7 Prohlášení Prohlašuji, že jsem předloženou práci vypracoval(a) samostatně a že jsem uvedl(a) veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů. V souladu s ust. 46 odst. 6 tohoto zákona tímto uděluji nevýhradní oprávnění (licenci) k užití této mojí práce, a to včetně všech počítačových programů, jež jsou její součástí či přílohou, a veškeré jejich dokumentace (dále souhrnně jen Dílo ), a to všem osobám, které si přejí Dílo užít. Tyto osoby jsou oprávněny Dílo užít jakýmkoli způsobem, který nesnižuje hodnotu Díla, a za jakýmkoli účelem (včetně užití k výdělečným účelům). Toto oprávnění je časově, teritoriálně i množstevně neomezené. Každá osoba, která využije výše uvedenou licenci, se však zavazuje udělit ke každému dílu, které vznikne (byť jen zčásti) na základě Díla, úpravou Díla, spojením Díla s jiným dílem, zařazením Díla do díla souborného či zpracováním Díla (včetně překladu), licenci alespoň ve výše uvedeném rozsahu a zároveň zpřístupnit zdrojový kód takového díla alespoň srovnatelným způsobem a ve srovnatelném rozsahu, jako je zpřístupněn zdrojový kód Díla. V Praze dne 1. května

8 České vysoké učení technické v Praze Fakulta informačních technologií 2015 Ondřej Ezr. Všechna práva vyhrazena. Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora. Odkaz na tuto práci Ezr, Ondřej. Nástroj pro optimalizaci výkonu Rails aplikací. Bakalářská práce. Praha: České vysoké učení technické v Praze, Fakulta informačních technologií, 2015.

9 Abstrakt V několika větách shrňte obsah a přínos této práce v češtině. Po přečtení abstraktu by se čtenář měl mít čtenář dost informací pro rozhodnutí, zda chce Vaši práci číst. Klíčová slova rails, výkon, monitoring Abstract Sem doplňte ekvivalent abstraktu Vaší práce v angličtině. Keywords rails, performance, monitoring ix

10

11 Obsah Úvod 1 Motivace Cíl práce Současný stav Problémy Výkon aplikace Existující řešení Srovnání Požadavky 7 3 Realizace Použité technologie Navržené řešení Použití Konfigurace Závěr 17 Literatura 19 A Seznam použitých zkratek 21 B Obsah přiloženého CD 23 xi

12

13 Seznam obrázků 1.1 Peek bar Peek bar Peek bar Toolbar xiii

14

15 Seznam tabulek 1.1 Srovnání řešení xv

16

17 Úvod Web je dnes masivně se rozvíjející médium, přenášející stále více informací a poskytující stále více služeb. Poptávka po těchto službách rapidně roste a webové aplikace se rozšiřují do nejrůznějších odvětví, ve kterých jsme si využití webu neuměli před 20ti lety ani představit. Webové aplikace začínají být čím dál rozšířenější, začínají převládat nad aplikacemi lokálními a to ve všech odvětvích. Všechny aplikace se přesouvají na internet zejména kvůli snadné přenositelnosti, sdílení dat, propojení dat uživatelů vzájemně a dalším nesporným výhodám internetu. Web je dnes zkátka opravdu všude kolem nás. Vzniká velké množství webových aplikací. A jelikož není dostatek profesionálních vývojářů, velké množství z nich pochází z rukou neprofesionálních vývojářů. Avšak tyto aplikace mají jeden zásadní nešvar a to předpokládat, že pokud jsou na serveru, nemusí se příliš ohlížet na výkon. Proto větší a rozšířenější aplikace, které na tento aspekt nemyslí od začátku mají velké problémy, když se objeví příliš uživatelů, začnou mít mnoho dat a mnoho vzájemně se ovlivňujících se funkcí. Nezvládnou takový tlak a my v těchto aplikacích můžeme i přijít o excelentní nápad, či dobrého pomocníka v každodenním životě. Proto je téma optimalizací důležité a je potřeba se nad ním zamýšlet. Začínají dobrým nápadem a rozvinou se do fáze, kdy přes dnešní výkon počítačů, přestává stačit mít aplikaci napsanou aby to fungovalo. V této chvíli se vývojáři teprve uchylují k lazení výkonu aplikace, což zpomalý jejich vývoj a může i dokonce stát službu její život, jelikož se přestává vyvíjet a nebo částečně i fungovat, jelikož jsou nutné větší zásahy do jádra aplikace. I u aplikací, které toto ustojí, je tato fáze velmi obtížná a stojí mnoho zdrojů. Proto je velmi důležité, aby vývojáři měli k dispozici nástroje, které je na případné problémy upozorní dříve než se do této fáze dostanou, případně jim pomohou tuto fázi co nejrychleji překlenout. Tento problém, se snaží částečně řešit tato bakalářská práce. Nyní pouze pro Ruby on Rails framework, později i další Ruby frameworky. 1

18 Úvod Motivace Ruby on Rails je velmi silný framework, který dovoluje začátečníkům velmi rychle proniknout do tvorby webu. Zejména díky principům samotného jazyka, jako jednoduchost a čitelnost, které framework dále rozšiřuje. Toto má však za následek, že se pomalu množí začínající vývojáři, kteří si na Rails osvojují webové technologie. Ač framework velmi přispívá k elegantnosti kódu, vždy je tu člověk. A ten má samozřejmě často tendence nalézat složitá řešení tam kde existují jednoduchá a tím se potenciál frameworku pro aplikaci vytrácí. Téma jsem si vybral, protože mne optimalizace velmi zajímá a mám rád algoritmy a nacházení jiných, elegantních cest ke stejnému řešení. Zároveň jsem zaměstnán ve firmě, která vyvíjí RoR aplikaci a je přesně ve fázi, kdy řeší výkonostní problémy, jelikož od začátku nebyl kladen důraz na eleganci kódu. Cíl práce Cílem bakalářské práce je navrhnout otevřený modulární analyzační nástroj, který by pomohl vývojářům webových aplikací postavených na frameworku Ruby on Rails s kontrolou a analýzou výkonu jejich aplikací. A to jak při vývoji tak i u ostrých aplikací. 2

19 Kapitola 1 Současný stav 1.1 Problémy S roustoucím hladem po webových aplikacích a zjednodušováním návrhu aplikací, které dnešní webové frameworky nabízí, se stále více střetáváme s nezodpovědnými vývojáři, kteří mají nápad a realizují jej nejjednodušší cestou. Tato cesta většinou však nebere ohledy na správnost a efektivitu kódu. Toto vede vývojáře a firmy k doměnkám, že jejich aplikace je velmi náročná a proto si pronajímají výkonnější a výkonnější hardware. Opomínaje alternativu zefektivnění kódu. Toto je velký problém zejména pro rozpočty vývojářských firem. Ačkoli výrobci hardwaru by se mnou možná nesouhlasili. Velké množství začínajících vývojářů začíná programovat webové aplikace bez předešlé zkušenosti, či vzdělání v oboru. Proto je pro ně velmi těžké už jen to, aby aplikace dělala co má a na efektivitu nemají myšlenky. 1.2 Výkon aplikace V této části bych rád shrnul měřítka výkonu aplikace a typické problémy, které v RoR aplikacích mají negativní dopad na rychlost Čas zpracování Základním měřítkem výkonu aplikace je čas zpracování requestu aplikace. Za jak dlouho, od chvíle kdy webový server zadal aplikaci dotaz, aplikace odpoví. Toto měřítko je to, které nás na straně aplikačního serveru zajímá nejvíce. Nese však jen velmi malou informační hodnotu. V podstatě pouze pomalé/rychlé Počet dotazů na databázi Základem drtivé většiny webových aplikací je databáze. Databáze je však uložena na disku a tudíž při čtení z databáze probíhá čekání na disk. Disk je však velmi pomalý 3

20 1. Současný stav a tím se i databáze stává relativně pomalou. Což v důsledku znamená, že chceme data, potřebná pro daný dotaz načíst v co nejméně dotazech na databázi. U dotazů na databázi měřím čas a počet. Oba údaje by měl mít vývojář stále na očích, jelikož zde zde je možné jednoduše nalézt největší problémy aplikace. Vývojář tuší, co se na dané stránce vykonává a je schopen odhadnout počet potřebných dotazů. Proto je i schopen použít k číslo k nalezení zřejmých chyb Rychlost SQL dotazů U složitějších aplikací se již aplikace nevyhne složitějším dotazům na databázi, zejména pokud vykonává složitější operace s velkým množstvím dat. Proto je velmi zajímavé vidět, jak dlouho trvají jednotlivé dotazy, abychom mohli nalézt případné dotazy, které by bylo dobré podrobit bližšímu zkoumání. S rychlostí dotazů velmi úzce souvisí indexy nad tabulkami databáze Načítání dat N+1 query Problémy s načítáním dat jsou v ActiveRecord řešené pomocí takzvaných preload dotazů. Toto zjednodušuje řešení N+1 query, kdy ve většině případů stačí přidat preload na potřebné místo. Vývojáři však často zapomínají, či přidaná funkcionalita začne používat data, která dříve použita nebyla. Díky lehce čitelnému rails kódu, lze snadno zapomenout, že za ním často stojí dotaz do databáze. Proto je tento problém detekován Načítání více dat, než je nutno Další problém s N+1 query je, že je řešen tam, kde by nenastal a jsou načtena data, která nejsou použita. Tento problém je taky detekován Counter Cache Jedná se o problém s dotazem na počet subentit. Pokud potřebujeme zobrazit pouze jejich počet, provádíme jeden dotaz na databázi pro každý počet. Tento problém se dá řešit jednoduchým přidáním počtu buď do dotazu načítajícího rodičovskou entitu, nebo do tabulky rodičovské entity přidat sloupec s počtem subentit. Toto rozhodnutí je již na vývojáři a oba přístupy jsou v rails velmi snadné. Úkolem analyzeru je tedy problém nalézt a upozornit na něj. 1.3 Existující řešení New relic New relic je velmi silný analytický a monitoringový nástroj, který nabízí velmi mnoho funkcionalit, na které se chci zaměřit ve své bakalářské práci. Z tohoto dů- 4

21 1.3. Existující řešení vodu byl i hlavní inspirací při implementaci. Tento nástroj nenabízí žádné specifické analyzační funkce specifické pro framework Ruby on Rails. Avšak jeho nevětší nevýhodou je cena, v neplacené variantě nenabízí příliš mnoho funkcionality a pro menší aplikaci je $200 / server / měsíc velmi vysoká cena. Lze monitorovat více aplikací, avšak každá je zpoplatněna zvlášť. Nástroj nabízí nepřeberné množství informací a grafů. Jsou velmi zajímavé, avšak zabere dost času se zorientovat ve významu jednotlivých měřítek. A většina je i pro většinu aplikací ne příliš zajímavá. Na první pohled je rozhraní velmi zmatečné. NewRelic se tedy hodí k monitorování opravdu velkých aplikací, které běží na jednom serveru a podrobný monitoring. Zároveň nejspíše potřebuje minimálně jednoho školeného odborníka na orientaci, aby byla schopna z dostupných dat vytěžit co nejvíce informací Miniprofiler Miniprofiler nabízí asi nejvíce funkcionalit, které jsem u dostupných řešení hledal. Je to velmi známé řešení, které bylo původně napsáno pro.net, ale nyní existuje jeho varianta pro mnoho webových frameworků. Jedním z nich je Ruby on Rails. Avšak chybí mu těžba dat, z minulosti lze dostat velmi omezené informace. Tím se stává nástrojem pouze pro vývoj. Tomuto nástroji však zejména chybí větší informativní schopnost. Nabízí spíše hlubší pohled na chování aplikace v reálném čase, což může pomoci až když se přímo soustředíme na jednotlivé části aplikace Bullet Dalším nástrojem který stojí za povšimnutí je Bullet. Což je velmi užitečná knihovna. Zaměruje se však pouze na SQL dotazy v Rails aplikaci a základní tři problémy v nich: N+1 query Nadbytečné načítání dat Counter cache Jedná se tedy o velmi úzce specializovaný nástroj, bez samostatného grafického výstupu. Podporuje však mnoho cest jak problémy reportovat do externích monitorovacích aplikací Peek Peek je nástroj soustředící se na lehký vhled do aplikace. Nástroj je líbivý a pěkně napsaný. Nepřináší však příliš mnoho informací. Dodává informace spíše systémové. Zhruba načrtává v jakém se aplikace nachází stavu. Je zejména vhodný pro monitorování ostré či režijní aplikace bez nutnosti vzdáleného připojení. 5

22 1. Současný stav Obrázek 1.1: Peek bar Na obrázku 1.1 je vidět, že Peek nabízí monitoring relativně mnoha součástí Rails aplikace. Bohužel však o všech podává jen málo informací. Nenabízí také žádný monitoring Rack insight Rack inside je velmi zajímavý nástroj s dlouhou historií. Nástroj se však snaží podat vývojáři jakýsi přehled a umí nabídnou relativně dost informací. Jeho vývoj byl několikrát přerušen a převzat jiným vývojářem. Bohužel však i podle toho vypadá samotný nástroj. Kód není konzistentní, není příliš intuitivní na instalaci a jeho jednotlivé komponenty občas nefungují jak mají. Obrázek 1.2: Peek bar Obrázek 1.3: Peek bar Sentry Sentry je aplikace pro monitorování a oznamování chyb. Snaží se zajistit, aby provozovatel aplikace věděl o chybovosti jeho aplikace. Jak s tímto vědomím naloží již aplikace neřeší, jak by také mohla. 1.4 Srovnání Tabulka 1.1: Srovnání řešení Řešení Monitoring Přehlednost Informativnost Cena New relic $200 / server Miniprofiler zdarma Bullet externě - - zdarma Peek zdarma Rack insight? - - zdarma 6

23 Kapitola 2 Požadavky Poskytnout vývojáři nástroj, který by byl použitelný bez složitého nastavování, či změn ve aplikaci samotné. Tento nástroj by měl vývojáři poskytnout dostatek informací, aby byl při vývoji schopen odhalit potenciální výkonostní problémy a rizika. Neměl by obtěžovat vývojáře, čili vizuální rozhraní nesmí být příliš!extensivní!, neměl by příliš zpomalit fungování aplikace, protože rychlost fungování aplikace je důležitá i při vývoji, jelikož vývojáři jsou často netrpělivější, než jejich uživatelé. Navíc čas vývojáře je drahý. Musí vývojáři dodat informace přehledně a bez námahy, protože vývojáři jsou velmi líní lidé. Zároveň by měl poskytnout nějaký souhrný ukazatel, jak si jeho aplikace vede v čase. A to i na ostré aplikaci. Kde zpomalení aplikace o více než pár procent není únosné a je tedy základním cílem. Cílové řešení by mělo být komunitní a otevřené. Samozřejmě je zde možnost hostování řešení a podpora. Avšak základní použití by mělo být jednoduché, zdarma a pokud je potřeba, upravitelné na míru. 7

24

25 Kapitola 3 Realizace 3.1 Použité technologie Jako cílové aplikace byly vybrány aplikace postavené na RoR. Jelikož je nutné analýzu provádět přímo v aplikaci, použité technologie nebylo příliš těžké vybrat. Ruby on Rails nabízí takzvané enginy, což jsou pluginy do aplikace, které jsou sami o sobě malými RoR aplikacemi. Ty budou základem mého řešení Ruby Ruby je moderní dynamický, objektově orientovaný jazyk se zaměřením na jednoduchost a produktivitu. Nabízí elegantní syntaxi, která je přirozená pro psaní a snadno čitelná [1]. Jeho tvůrce Yukihiro Matsumoto se rozhodl vytvořit Ruby, když po mnoha pokusech zjistil, že nenašel jazyk, který by mu vyhovoval a který by splňoval jeho představy silného avšak jednoduše čitelného jazyka. I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python [2] Ruby gem Jako každý jazyk, i Ruby má knihovny, které pomáhají programátorům sdílet kód. V Ruby však systém knihoven byl posunut na ještě vyšší úroveň. Pomocí RubyGems se sdílení kódu a používání knihoven stává naprosto triviální záležitostí. RubyGems pro programátora uživatele zvládá instalaci gemu i se všemi závislostmi. Pro programátora gemů je připraveno intuitivní rozhraní pro definování závislostí, předpřipravené souborové struktury, jednoduché vytvoření a publikování balíčku ( gemu ) z kódu. Zároveň poskytuje velmi intuitivní správu verzí. Z výše popsaných důvodů je jen logické, že naprostá většina knihoven pro Ruby je publikována a používána skrze gemy. 9

26 3. Realizace Rack Rack je webserver interface pro Ruby. Nabízí minimalistické rozhraní mezi webovým serverem a Ruby aplikacemi [3]. V průběhu posledních let, se rack stal vpodstatě standardem při vývoji Ruby webové aplikace. Takto vypadá aplikace, která na jakýkoli požadavek odpoví Hello world. s HTTP status kódem 200(OK) a v hlavičce nastavený typ odpovědi na HTML. app = Proc.new do env [ 200, { Content-Type => text/html }, ["Hello world."] ] end Applikace může být naprosto jakýkoli objekt, pokud odpovídá na metodu call s jedním parametrem, kterým je promněné prostředí. Návratovou hodnotou této metody musí být trojice status, hlavičky, obsah( ten musí implementovat metodu each, kterou Rack používá pro vykreslení odpovědi ) Rack middleware Rack je však více, než pouhým rozhraním. Používá se zároveň k seskupování a řazení modulů zodpovědných za výslednou odpověď aplikačního serveru. Tato technika je známá jako rack middleware, a spočívá v postupném probublávání requestu mezi jednotlivými moduly, který každý přidá svou trošku do výledné odpovědi. Aplikace je poté výsledkem všech middlewarů a kořenové aplikace. Middleware musí implementovat mimo rackové metody call také konstruktor, který přijímá jako parametr aplikaci, která následuje v řetězu po něm. Tato aplikace může být jak Rack aplikace tak další Rack middleware. V metodě call potom volá následující aplikaci. Middleware samozřejmě může řetěz přerušit a vytvořit svojí vlastní odpověď. Toto se ve vyjímečných případech hodí. Toto provádí například Rails Exception handler v případě vyjímky. Avšak pokud bychom v Middlewaru přerušovali řetězení častěji, začíná Middleware ztrácet smysl, jelikož se z něj stává Rack aplikace Ruby on Rails Ruby on Rails je framework napsaný v jazyce Ruby a je hlavním důvodem rozmachu tohoto jazyka i do anglicky mluvících zemí. RoR je vystavěn na architektuře Model2, která je odvozena z architektury MVC, kterou Model2 upravuje pro použití ve webovém prostředí, kde vizuální komponenty nemohou být přímo řízeny a svázány s modely, neboť jsou to webové stránky a jako takové jsou řízeny více html jazykem samotným. 10

27 3.2. Navržené řešení Ruby on Rails je publikováno pomocí gemu, a proto je i velmi jednoduché vyvíjet na jednom systému pro více verzí frameworku, bez nutnosti přímého publikování kódů frameworku zároveň s kódy aplikace Rails engine Engine může být považován za miniaturní aplikaci, která poskytuje funkcionalitu svojí hostující aplikaci. Rails aplikace je vlastně superset enginu, s její hlavní třídou Rails :: Application dědící mnoho funkcionality od třídy Rails :: Engine, která je základem enginu [4]. 3.2 Navržené řešení Mnou navržené řešení je zaměřeno přímo na framework Ruby on Rails, avšak je snadno rozšiřitelné i na další Ruby frameworky. Mnou navržené řešení se skládá z dvou hlavních částí a jedné sdílené knihovny. První část je Rails engine, který zajišťuje samotné měření aplikace a ve vývojovém prostředí přidává!!toolbar. Druhá část je Rails engine, který zajišťuje vizualizaci a ukládání výsledků za delší časový úsek. Tento engine je možné použít jak přímo v aplikaci samotné, nebo odděleně, v jiné aplikaci pro sbírání statistik z více serverů. Toto řešení je vhodné jak pro malé aplikaci, které jsou v aktivním vývoji, ty většinou použijí ukládání přímo v aplikaci, ale také pro velké robustní aplikace, které využijí ukládání na do oddělené aplikace. Poslední částí je knihovna, sdílená oběmi hlavními částmi a tou je knihovna takzvaných adaptérů, které slouží pro ukládání výsledků na různá úložiště. Volba úložiť je velmi široká. Výsledky lze ukládat do paměti, což je vhodné zejména pokud se ukládají pouze dočasně pro zobrazení v ladícím panelu. Dále lze ukládat výsledky do paměťových!!persistent úložišť jako Redis, či Memchached. Tato volba je vhodná zejména pro větší aplikace již v produkčním prostředí, jelikož je nejrychlejší metodou, která výsledky zároveň ukládá při restartu aplikace Spojení dostupných řešení Protože mé řešení má být otevřené a komunitní, není problém v něm využít již existující technologie. Rozhodl jsem se tedy využít již dříve zmíněné nástroje Bullet a rack-mini-profiler Adapter Adapter slouží k výběru úložiště pro naměřené hodnoty. Prozatím jsou dostupné tyto adaptéry: 11

28 3. Realizace Memory Základní adaptér, který výsledky uchovává pouze po dobu běhu aplikace a je užitečný zejména pro nulovou konfikuraci a postačí pro zobrazení aktuálních informací. Neumožňuje však dlouhodobý monitoring aplikace Redis Umožňuje uložit výsledky do memory based storage. Jednoduchá konfigurace, omezený objem dat. Memcached Další memory based storage, umožňuje monitorování více aplikací najednou, pravděpodobně nejlepší volba v ostré aplikaci. InfluxDB Ukládá výsledky do databáze specializované na ukládání časových posloupností. Tuto možnost budou chtít využít zejména lidé, kteří se rozhodnou využít jiné zobrazování, než nabízenou komponentu. Zejména pro nástroj Grafana. Server Výsledky jsou posílány na vzdálený server pomocí http Grafana Grafana je velmi intuitivní a silný nástroj pro zobrazování časových grafů z nejrůznějších zdrojů, jedním z nich je také InfluxDB. Je tedy jednou z možností jak sledovat výkon aplikace v průběhu času, při použití InfluxDB databáze. V přílohách je k dispozici příklad nástěnky pro grafanu. Stačí nahrát a nastavit svůj zdroj data - influxdb databáze, do které aplikace posílá svá data Analyzer Analyzer je modulární a jeho hlavní částí jsou takzvané collectory, které sbírají data z různých částí aplikace. Analyzer je navržen jako rack middleware, který při příchozím requestu nastaví proměnné a prostředí pro měření a předá řízení aplikaci. Po dokončení requestu ( aplikace vrátí http response ) Analyzer vyhodnotí výsledky z collectorů a 1. uloží je pomocí vybraného adaptéru, 2. pokud je povolen, vyrenderuje development panel. Panel není generován přímo, ale místo něj je vložen pouze placeholder. Data do panelu jsou poté načtena dalším requestem pomocí AJAX, aby nezpomalovala request samotný Vizualizer Vizualizer je hlavním viditelným výstupem zejména užitečným v produkčním režimu na ostré aplikaci, kde se nehodí zobrazovat toolbar ( i když i to je možné ). Umožňuje přehled za delší časové období ( chybovost, průměrná rychlost jednoho requestu ). Období lze nastavit. Vizualizer zároveň přidává možnost ukládat výsledky do databáze. Do budoucna je potřeba zpracovat zobrazování dat i z jiných úložišť, aby nebylo nutné výsledky 12

29 3.2. Navržené řešení posílat přímo aplikaci, která se stará o zobrazování ( jelikož se nejedná o nejrychlejší metodu, pokud aplikace nejsou ve stejné síti). Pro vizualizer jsou nyní adaptery pouze pro ukládání dat zároveň do více úložišť, pokud bychom chtěli využít i jejich možností. Vizualizer může monitorovat více aplikací, avšak pokud výsledky posíláme z jiné aplikace musíme ji nejdříve zaregistrovat. Ověření aplikace probíhá přes vygenerovaný api klíč, který zkopírujeme do konfiguračního souboru monitorované aplikace 13

30

31 Kapitola 4 Použití OBR - communication diagram 4.1 Konfigurace Aplikace dodržuje návrhový vzor Convencion over configuration a ve vývojovém prostředí není třeba nic nastavovat. Je přednastaveno ukládání do paměti, cesty Enginu využité při načítání dat toolbaru se automaticky namapují. Ve vývojovém prostředí se zobrazí toolbar. Po přidání Vizualizeru přímo do aplikace se adaptér automaticky nastaví na databázi. Vizualizer ve vývojovém prostředí tedy také funguje bez nutnosti konfigurace. V produkčním prostředí již je nutná alespoň minimální konfigurace, jelikož nám již nestačí ukládat výsledky do paměti. Nechceme také nejspíše ukládat výsledky ve stejné aplikaci, ale chceme Vizualizer přidat do aplikace, se kterou budeme komunikovat přes HTTP protokol. Konfigurace gemu je možná přes konfiguraci aplikace, v podsekci speedup. Do souboru config/environments/production.rb bychom tedy přidali například: config.speedup.adapter = :server, { url: api_key: ENV[ SPEEDUP_API_KEY ] } Adaptér U většiny adaptérů je možné, většinou nutné další nastavení. Většinou umístění a přístupové údaje k úložišti. Další dostupná nastavení: show_bar boolean - zobrazit toolbar, či nikoliv 15

32 4. Použití automount boolean - automaticky připojit cesty do cest aplikace. collectors array - pole použitých Collectorů UI Rozhraní pro Analyzer je velmi jednoduché a je inspirováno designem Tracy panelu z Nette - českého php frameworku. Obrázek 4.1: Toolbar Na obrázku 4.1 je vidět základní panel Analyzeru. Po najetí na některé části se otevře okno s detaily ( queries, problems, partials ). 16

33 17 Závěr

34

35 Literatura [1] community, R.: Ruby. 2010, [Online; accessed ]. Dostupné z: https: // [2] Stewart, B.: An interview with the Creator of Ruby. 2001, [Online; accessed ]. Dostupné z: a/linux/2001/11/29/ruby.html [3] Rack: Rack documentation. Dostupné z: [4] Ruby on Rails: Rails Guides [online]. [cit ]. Dostupné z: guides.rubyonrails.org/engines.html 19

36

37 Příloha A Seznam použitých zkratek RoR Ruby on Rails UI User interface GUI Graphical user interface HTML HyperText Markup Language HTTP Hypertext Transfer Protocol SQL Structured Query Language AJAX Asynchronous JavaScript and XML 21

38

39 Příloha B Obsah přiloženého CD readme.txt...stručný popis obsahu CD exe...adresář se spustitelnou formou implementace src impl...zdrojové kódy implementace thesis...zdrojová forma práce ve formátu LATEX text...text práce thesis.pdf...text práce ve formátu PDF thesis.ps...text práce ve formátu PS 23

Sem vložte zadání Vaší práce.

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Nástroj pro optimalizaci výkonu Rails aplikací Ondřej

Více

Sem vložte zadání Vaší práce.

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Nástroj pro optimalizaci výkonu Rails aplikací Ondřej

Více

Sem vložte zadání Vaší práce.

Sem vložte zadání Vaší práce. Sem vložte zadání Vaší práce. České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Nástroj pro optimalizaci výkonu Rails aplikací Ondřej

Více

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek Snadný vývoj webových aplikací s Nette Lukáš Jelínek Proč framework? ušetří spoustu práce (implementace, úpravy) vývoj = co udělat, ne jak to udělat bezpečnost štábní kultura prostředky pro ladění podpora

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads Postup Úvodem Můj úkol při tomto projektu byl vytvořit model pro data, dle návrhového vzoru MVC. Jelikož v poslední době pracuji spíše s návrhovým vzorem HMVC (http://en.wikipedia.org/wiki/hmvc) ve frameworku

Více

Webové 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 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íce

1 Webový server, instalace PHP a MySQL 13

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

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE profesionální verze 1 Obsah Požadavky... 3 Instalace... 3 Proměnná CLASSPATH... 3 Zpřístupnění licenčního klíče... 3 Ověřování komponent OKS. 3 Spouštíme aplikaci

Více

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Web Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Technologické trendy v AV tvorbě, Web 2 DNS Domain Name Systém

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

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody Obsah 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody 3) 4) Mantichora Mantichora je moderní aplikace, který

Více

MBI - technologická realizace modelu

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

www.cdc-monitoring.cz

www.cdc-monitoring.cz Monitoring sítí a serverů Dnešní požadavky na výkon ethernetových, wifi nebo jiných sítí, jejich serverů a aktivních prvků jsou velmi striktně nastaveny. Síť musí být koncipována tak, aby byla zaručena

Více

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

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

Více

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

ArcGIS Online Subscription

ArcGIS Online Subscription ArcGIS Online Subscription GIS pro organizace ArcGIS Online je GIS v cloudu. Poskytuje služby GIS v prostředí internetu, ať už se jedná o úložné místo, publikaci mapových a geoprocessingových služeb, nebo

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

Souč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

Souč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íce

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

Technologické postupy práce s aktovkou IS MPP

Technologické postupy práce s aktovkou IS MPP Technologické postupy práce s aktovkou IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Technologické postupy práce

Více

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Real Time programování v LabView. Ing. Martin Bušek, Ph.D. Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití

Více

1. Webový server, instalace PHP a MySQL 13

1. 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íce

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Programátorská příručka

Programátorská příručka KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro

Více

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc www.etnetera.cz 5.4.2012

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc www.etnetera.cz 5.4.2012 Wicket přehled technologie Martin Strejc www.etnetera.cz 5.4.2012 Osnova přednášky 1. Vznik Wicketu 2. Co Wicket umí a co neumí? 3. Účely užití výhody a nevýhody 4. Rozšiřitelnost Wicketu 5. Srovnání s

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče. KAPITOLA 3 Architektura aplikací na frameworku Rails V této kapitole: modely, pohledy, řadiče. 58 Část I: Začínáme Jedna ze zajímavých vlastností frameworku Rails spočívá v tom, že klade docela závažná

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

Více

Vstupní požadavky, doporučení a metodické pokyny

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

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ 10. 5. 2011 Tým: Simplesoft Členové: Zdeněk Malík Jan Rada Ladislav Račák Václav Král Marta Pechová malikz@students.zcu.cz jrada1@students.zcu.cz

Více

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3.1 Tenký a tlustý klient Klientské aplikace nad XML dokumenty v prostředí internetu se dají rozdělit na dvě skupiny: tenký klient a tlustý klient.

Více

Internetové služby isenzor

Internetové služby isenzor Internetové služby isenzor Aktuální snímek z webové kamery nebo aktuální teplota umístěná na vašich stránkách představují překvapivě účinný a neotřelý způsob, jak na vaše stránky přilákat nové a zejména

Více

Uživatelský manuál Radekce-Online.cz

Uživatelský manuál Radekce-Online.cz Uživatelský manuál Radekce-Online.cz (revize 06/2011) V prvním kroku třeba vstoupit do administrace na adrese www.redakce-online.cz kterou naleznete na záložce Administrace / Vstup do Administrace, pro

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

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

Více

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

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

Více

Analýza a Návrh. Analýza

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,

Více

Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr

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

Více

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný karel.slany@nic.cz 13. 11. 2015

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný karel.slany@nic.cz 13. 11. 2015 Knot DNS Resolver Modulární rekurzivní resolver Karel Slaný karel.slany@nic.cz 13. 11. 2015 Obsah Co je KNOT Resolver Části resolveru Funkce a konfigurace Integrační testování Co je Knot DNS Resolver Minimalistický

Více

AUTOMATICKÉ ŘÍZENÍ S INTERNETOVOU KOMUNIKACÍ V PHP Automatic Control with Internet Communication in PHP

AUTOMATICKÉ ŘÍZENÍ S INTERNETOVOU KOMUNIKACÍ V PHP Automatic Control with Internet Communication in PHP AUTOMATICKÉ ŘÍZENÍ S INTERNETOVOU KOMUNIKACÍ V PHP Automatic Control with Internet Communication in PHP Kamil Mrázek Abstrakt: Jazyk PHP a jeho využití v řízení přes internet, získávání dat z webových

Více

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler

Více

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců. Přehledy pro Tabulky V programu CONTACT Professional 5 naleznete u firem, osob a obchodních případů záložku Tabulka. Tuto záložku lze rozmnožit, přejmenovat a sloupce je možné definovat dle vlastních požadavků

Více

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

Patrol Management System 2.0

Patrol Management System 2.0 Patrol Management System 2.0 Uživatelský manuál RF 5000 Obsah 1 Základní popis aplikačního prostředí 1.1 Hardwarové požadavky 1.2 Aplikační prostředí 1.3 Instalace software 2 Jak používat software 2.1

Více

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_DYN.1.18 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 18 PHP- Základy práce s databází PHP - MySQL DUM naučí žáky postupu při vytvoření, připojení databáze a vytvoření

Více

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Soubor kurzů XHTML, CSS, PHP a MySQL Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Jeden blok se skládá

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 KAPITOLA 1 Co budeme potřebovat 11 Co knihovna jquery nabízí 11 Editor zdrojového kódu 12 Webový server 12 Software pro ladění

Více

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

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

Více

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ 1. Dědičnost v OOP umožňuje: a) dědit vlastnosti od jiných tříd a dále je rozšiřovat b) dědit vlastnosti od jiných tříd, rozšiřovat lze jen atributy

Více

Příručka pro studenta

Příručka pro studenta E-learningový portál TUL Příručka pro studenta Verze dokumentu: 5 Obsah Co je MOODLE?... 2 Přihlášení a odhlášení v Moodle, zápis do kurzu... 3 První přihlášení... 3 Úvodní obrazovka po přihlášení a úprava

Více

Sledování výkonu aplikací?

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

Více

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

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í

Více

Reporting a Monitoring

Reporting a Monitoring Reporting a Monitoring IBM Tivoli Storage Manager 6.3 a IBM Tivoli Storage Manager FastBack 6.1.5 Ondřej Bláha CEE+R CoP Team / Tivoli Storage Team Leader 2010 IBM Corporation Administrátorské rozhraní

Více

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný Load Balancer RNDr. Václav Petříček Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný 1.4.2005 Co je Load Balancer Nástroj pro zvýšení výkonnosti serverů Virtuální server skrývající farmu skutečný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

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Mapa Česka: www.mapa-ceska.cz

Mapa Česka: www.mapa-ceska.cz Mapa Česka: www.mapa-ceska.cz Mapový portál Mapa Česka, který je dostupný na internetové adrese www.mapa-ceska.cz, byl vytvořen v roce 2014 v rámci bakalářské práce na Přírodovědecké fakultě Univerzity

Více

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1 Reporting a Monitoring Ondřej Bláha CEE+R CoP Team / Tivoli Storage Team Leader Září 2010 2010 IBM Corporation TSM 6: Reporting

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

Publikování map na webu - WMS

Publikování map na webu - WMS Semestrální práce z předmětu Kartografická polygrafie a reprografie Publikování map na webu - WMS Autor: Ondřej Dohnal, Martina Černohorská Editor: Filip Dvořáček Praha, duben 2010 Katedra mapování a kartografie

Více

Tvorba kurzu v LMS Moodle

Tvorba kurzu v LMS Moodle Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce

Více

SW Aktion verze 5.1. Seznam změn a nových funkcí

SW Aktion verze 5.1. Seznam změn a nových funkcí SW Aktion verze 5.1 Seznam změn a nových funkcí Přidán nový typ adresového bodu pro terminál AXT-3xx/5xx Doplněna nová agenda Monitor událostí - sledování on-line průchodů na vybraných zařízeních přímo

Více

PDF Creator. Instalace tiskárny pro převod dokumentů do PDF

PDF Creator. Instalace tiskárny pro převod dokumentů do PDF PDF Creator Instalace tiskárny pro převod dokumentů do PDF Obsah Co je PDF... 1 Instalace:... 1 Vytváření PDF... 2 Vybrané volitelné možnosti při generování PDF... 3 Uložení v obrazovém formátu... 3 Zašifrování

Více

QNAP TS-409 a QNAP TS-409 Pro. Jak použít funkci Online RAID Capacity Expansion a RAID Level Migration

QNAP TS-409 a QNAP TS-409 Pro. Jak použít funkci Online RAID Capacity Expansion a RAID Level Migration QNAP TS-409 a QNAP TS-409 Pro Jak použít funkci Online RAID Capacity Expansion a RAID Level Migration [1] Úskalí současných firem Jedním největších problémů, kterým dnešní firmy čelí je výběr a správné

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ Michal Brožek, Dominik Svěch, Jaroslav Štefaník MEDIUM SOFT a.s., Cihelní 14, 702 00 Ostrava, ČR Abstrakt Neustále rostoucí význam sběru dat, možnost

Více

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

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

Více

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě projekt GML Brno Docens DUM č. 11 v sadě 36. Inf-12 Počítačové sítě Autor: Lukáš Rýdlo Datum: 06.05.2014 Ročník: 3AV, 3AF Anotace DUMu: WWW, HTML, HTTP, HTTPS, webhosting Materiály jsou určeny pro bezplatné

Více

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již

Více

DOCUMENT MANAGEMENT TOOLKIT

DOCUMENT MANAGEMENT TOOLKIT DOCUMENT MANAGEMENT TOOLKIT SPRÁVA DOKUMENTŮ V MODERNÍM PODNIKOVÉM PROSTŘEDÍ Zpracování dokumentů prochází v dnešním firemním světě významnými změnami. Firmy jsou nuceny řešit řadu problémů, které s sebou

Více

Specifikace projektu Ocerus

Specifikace projektu Ocerus Specifikace projektu Ocerus Tým Vedoucí: Ondřej Sýkora (ondrasej@centrum.cz) Členové: Michal Čevora (macjariel@gmail.com) Lukáš Hermann (lukas.hermann@seznam.cz) Ondřej Mocný (hardwire@volny.cz) Tomáš

Více

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro

Healtcheck. databáze ORCL běžící na serveru db.tomas-solar.com pro Ukázka doporučení z health checku zaměřeného na PERFORMANCE. Neobsahuje veškeré podkladové materiály, proto i obsah píše špatné odkazy. Healtcheck databáze ORCL běžící na serveru db.tomas-solar.com pro

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

Bisnode Mobilní aplikace k prověření firmy

Bisnode Mobilní aplikace k prověření firmy Bisnode Mobilní aplikace k prověření firmy Eldar Iosip, Eliška Roubalová, Tomáš Milata Analýza relevantních UI směrnic platformy Android Obecná struktura aplikace z nejvyšší úrovně se lze přes obrazovky

Více

WNC::WebNucleatCreator

WNC::WebNucleatCreator Tomáš Dlouhý WNC::WebNucleatCreator Verze: 5.1 1 Obsah Obsah...2 Úvod...3 Novinky...3 Požadavky...4 Instalace...4 Přihlášení se do WNC...6 Moduly...7 Modul Blog...7 Modul Categories...8 Modul News...8

Více

DATA ARTICLE. AiP Beroun s.r.o.

DATA ARTICLE. AiP Beroun s.r.o. DATA ARTICLE AiP Beroun s.r.o. OBSAH 1 Úvod... 1 2 Vlastnosti Data Article... 1 2.1 Požadavky koncových uživatelů... 1 2.2 Požadavky na zajištění bezpečnosti a důvěryhodnosti obsahu... 1 3 Implementace

Více

IS pro podporu BOZP na FIT ČVUT

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

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Webová stránka. Matěj Klenka

Webová stránka. Matěj Klenka Webová stránka Matěj Klenka Osobní webová stránka Toto je dokumentace k mé webové stránce This is a documentation to my web page Já, Matěj Klenka, prohlašuji, že má webová stránka byla vytvořena mnou a

Více

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty Pokročilé techniky tvorby sestav v Caché ZENové Reporty Úvodem Jednoduché sestavy Pokročilé sestavy Ladění Historie ZEN reporty sdílejí podobný princip definování obsahu jako ZENové stránky Byly uvedeny

Více

Angličtina program k procvičování slovní zásoby

Angličtina program k procvičování slovní zásoby Středoškolská technika 2011 Setkání a prezentace prací středoškolských studentů na ČVUT Angličtina program k procvičování slovní zásoby Kamil Hanus Střední průmyslová škola elektrotechniky a informačních

Více

Leady & MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK

Leady & MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK Integrace Microsoft Dynamics CRM s aplikacemi Leady a MERK Strana 1 z 12 Obsah 1. Leady... 3 a. Shrnutí... 3 b. Popis modulu... 3 c. Technické podrobnosti o modulu... 5 2. MERK... 6 a. Shrnutí... 6 b.

Více

Měření nativních mobilních aplikací v rámci NetMonitoru

Měření nativních mobilních aplikací v rámci NetMonitoru Měření nativních mobilních aplikací v rámci NetMonitoru www.gemius.com Úvod do měření nativních mobilních aplikací Měření nativních mobilních aplikací je modul měření návštěvnosti v rámci projektu NetMonitor,

Více

Využití aplikace SketchUp pro tvorbu jednoduchého informačního systému

Využití aplikace SketchUp pro tvorbu jednoduchého informačního systému Využití aplikace SketchUp pro tvorbu jednoduchého informačního systému Ing. Pavel Tobiáš Digitální technologie v geoinformatice, kartografii a dálkovém průzkumu Země 30. října 2014 Pavel Tobiáš, katedra

Více

Dobrý CMS Popis produktu a jeho rozšíření

Dobrý CMS Popis produktu a jeho rozšíření Dobrý CMS Popis produktu a jeho rozšíření 503M012.N01 11/09/2012 www.dlaex.cz info@dlaex.cz OBSAH 1 Úvod...3 2 Účel produktu...3 3 Vlastnosti produktu...3 3.1 Koncepce...3 3.2 Základní y...3 3.3 Doplňkové

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

Aplikace pro srovna ní cen povinne ho ruc ení

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

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ ÚVOD Technologie elastické konformní transformace rastrových obrazů je realizována v rámci webové aplikace NKT. Tato webová aplikace provádí

Více

Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit.

Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Úvodní příručka Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Aktualizované šablony Šablony vám pomáhají při

Více