Logování. Log4J. Základní pojmy používané v log4j
|
|
- Jiří Rohla
- před 6 lety
- Počet zobrazení:
Transkript
1 Logování Vytváření logů z aplikací slouží k zaznamenávání informací o průběhu programu, informací sloužících k ladění aplikace a také informací o výskytu chyb v aplikaci. Proč používat zvláštní knihovny pro logování, když můžeme stejných výsledků dosáhnout přímým zápisem zaznamů o činnosti aplikace do souboru nebo do standardního výstupu pomocí volání metody System.out.println(). Hlavním důvodem pro používání knihoven pro logování je jednoduchá parametrizovatelnost a jako další výhodu lze uvést snadnou dostupnost instance Loggeru (viz dále) ze všech tříd aplikace. Další ne nepodstatnou výhodou je i vysoká rychlost logování. Co je myšleno tou parametrizovatelností? Pokud ladíte pomocí výpisů metody System.out.println(), musíte před dokončením aplikace odstranit všechny nepotřebné výpisy. Při použití specializovaných prostředků pro logování stačí logování pomocí parametrického souboru vypnout. Stejně tak vám logování ušetří práci s nastavováním logovacích souborů atd. Pro logování z aplikací napsaných v Javě máme několik možností. My si popíšeme dvě z nich. První je knihovna log4j, která je volně k dispozici na jakarta.apache.org. Druhou možností je použít prostředků pro logování implementovaných přímo ve standardu Javy a to od verze 1.4. Aplikace log4j je popsána podrobněji. Autoři s ní mají více zkušeností a i podle dostupných zdrojů je výkonnější něž logování z API Javy. Log4J Tuto aplikaci si můžete stáhnout ze serveru jakarta.apache.org, v současné době ve verzi Na těchto stránkách je také k dispozici dokumentace k jednotlivým třídám, jednoduchý manuál a je zde uvedeno i několik odkazů na další zdroje informací. Jedinou nevýhodou log4j je, že podrobný manuál není volně k dispozici. Základní pojmy používané v log4j Koncepce log4j je založena na 6 základních pojmech: priorita význam (důležitost) zprávy, každý Logger i Appender může mít nastaven práh (Threshold), od kterého dále zpracovává zprávy, pro označení priority se též používá pojem Level - úroveň (třída Level je potomkem třídy Priority, preferuje se použití třídy Level), kategorie logická skupina, do které patří příslušná zpráva, Logger objekt, pomocí kterého programátor vypisuje zprávy (volá příslušné metody tohoto objektu), Appender objekt, který se stará o vlastní výpis, může existovat více objektů, každý může vypisovat jinam, mohou vypisovat zprávy různé důležitosti (např. všechny do souboru, na standardní výstup pouze některé), Layout formát vypisované zprávy, Filter umožňuje jemnější výběr zpráv, které se mají vypisovat (např. na základě porovnávání řetězců), vzhledem k velmi vzácnému použití nejsou filtry dále popisovány, 39
2 Obrázek č. 7 ukazuje jak jsou mezi sebou základní prostředky log4j provázány. aplikace Logger Appender vnější svět Filter Filter Layout Obrázek č. 7 Provázání jednotlivých součástí log4j Priorita Log4j rozlišuje následující priority (konstanty jsou definovány ve třídě org.apache.log4j.level) seřazené od nejnižší k nejvyšší: úroveň (konstanta) DEBUG INFO WARN ERROR FATAL metody objektu logger pro výpis void debug(object message) void debug(object message, Throwable t) void info(object message) void info(object message, Throwable t) void warn(object message) void warn(object message, Throwable t) void error(object message) void error(object message, Throwable t) void fatal(object message) void fatal(object message, Throwable t) tabulka 4 Úrovně priority definované v knihovně log4j význam zprávy, které jsou určené pro ladění aplikace zprávy o průběhu aplikace, zprávy upozorňující na možné problémy, vážné chyby, které však umožňují další běh aplikace chyby, které znamenají ukončení činnosti aplikace Objekt Logger může pro výpisy zpráv použít také následující obecné metody, ve kterých se specifikuje úroveň zprávy: public void log(level l, Object message); public void log(level l, Object message, Throwable t); Druhý tvar s výjimkou (s objektem typu Throwable) umožňuje vypisovat standardní chybové hlášení. Objektu Logger lze nastavit, od jaké úrovně priority má vypisovat zprávy. Např. lze nastavit, že má vypisovat od úrovně WARN, poté se zprávy s úrovní INFO a DEBUG nevypisují. Budou se vypisovat všechny zprávy úrovně WARN a úrovní vyšších (tj. úrovně ERROR a FATAL). U každého objektu Appender lze také nastavit, od jaké priority má vypisovat jeden Appender může vypisovat např. od úrovně INFO 4, druhý od úrovně ERROR. 4 Objekt Logger předává zprávu instancím třídy Appender. Tj. pokud bude mít objekt Logger nastaveno vypisování od úrovně WARN, zprávy úrovně INFO se nebudou vypisovat. 40
3 Kategorie Rozlišování zpráv podle priority je ve větších programech obvykle nedostatečné, proto je zaveden pojem kategorie, který umožňuje rozlišování zpráv dle dalšího kritéria. Kategorie mohou být definovány funkčně (např. kategorie security, database, database.select,...) nebo v Javě častěji podle tříd. Kategorie vytvářejí hierarchickou strukturu obdobně jako třídy a balíčky pro oddělování úrovní kategorii se používá znak tečka. Např. kategorie org.bar je následníkem kategorie org, kategorie org.bar.x je následníkem kategorie org.bar. Základem všech kategorii je nepojmenovaná kategorie root. Při vytváření instance třídy Logger musíte zadat kategorii (nebo použít Logger kategorie root). Instance třídy Appender jsou vždy vázána na instanci třídy Logger určité kategorie. Hierarchická struktura kategorii umožňuje dědění vlastností z vyšších kategorii - pokud není přiřazena priorita k instanci třídy Logger dané kategorie, převezme se priorita od vyšší kategorie. V případě instancí tříd Appender se vypisuje pomocí všech instancí třídy Appender na této i na všech vyšších úrovních (pokud není stanoveno jinak). Logger, Appender Logger je nástroj pro programátora pro výpis zpráv. Přehled metod pro výpis je uveden v části o prioritách. Pro každou kategorii je vytvořena samostatná statická instance třídy Logger, kterou může programátor získat pomocí jedné z následujících továrních (factory) metod. static Logger logger1 = Logger.getLogger("projekt.security"); instance logger1 odkazuje na Logger pro kategorii "projekt.security". static Logger logger2 = Logger.getLogger(Pokus.class); instance logger2 odkazuje na Logger pro kategorii vytvořenou na základě zařazení třídy Pokus do balíčků (pokud by byla v defaultním balíčku, poté by se kategorie jmenovala Pokus), static Logger root = Logger.getRootLogger(); instance root odkazuje na Logger pro hlavní (root) kategorii, Appender zajišťuje vlastní vypisování zpráv do souboru, na konzoli, do systémové logu atd. Inicializace se obvykle provádí přes konfigurační soubor včetně nastavení parametrů příslušné instance. V následující tabulce jsou uvedeny třídy, které implementují rozhraní Appender a slouží pro zápis logu na různá media apod. 41
4 třída popis ConsoleAppender výpis na konzoli FileAppender výpis do souboru DailyRollingFileAppender výpis do souboru s rotací po určité době RollingFileAppender výpis do souboru s rotací WriterAppender výstup do Writer nebo do OutputStream LF5Appender výstup do grafického uživatelského rozhraní (SWING) se sofistikovaným rozhraním na zpracování zpráv, NTEventLogAppender výstup do Event Logu (systému logování ve Windows NT a následnících) SyslogAppender výstup do Syslogu (systém logování v Unixu), JMSAppender výstup do pošty ve formě JMS zpráv směrovaných do zadaného kanálu SMTPAppender výstup přes el. poštu, SocketAppender výstup na vzdálený počítač (používá se např. při RMI) AsyncAppender asynchronní výstup (tj. přes samostatné vlákno), na tento Appender jsou napojeny další, které zajišťují vlastní výstup, JDBCAppender výstup do databáze, SNMPTrapAppender generování událostí (SNMP Trap) pro SNMP konzoli, tabulka 5 Přehled appenderů knihovny log4j Layout Layout určuje formát výstupu. Log4J obsahuje několik tříd pro formátování výstupu, nejčastěji se používají třídy: PatternLayout formátuje zprávu obvykle na jeden řádek dle vzoru zadaného v konfiguraci, XMLLayout výstup do souboru ve formátu XML, HTMLLayout výstup do tabulky v HTML souboru, používá se např. při odesílání logu pomocí el. pošty, PatternLayout Výstup se řídí dle zadaného vzoru. Syntaxe pro zápis vzoru je odvozena od vzorů pro formátování výstupu v příkazu printf v jazyce C. Do vzoru je možné vložit jakýkoliv text a literály, které začínají znakem %. Místo každého literálu se před vypsáním dosadí příslušná hodnota. Vzor může vypadat následovně: "%p [%t] %c - %m%n" "%r [%t] %p %c %x - %m%n" "%5p [%t] (%F:%L) - %m%n" "%d{date %5p %c - %m%n" 42
5 literál význam %c kategorie %C jméno třídy (náročné na zjišťování) %d vypisuje datum a čas, log4j nabízí předpřipravené formáty %d{date, %d{iso8601 a %d{absolute, lze zadat vlastní formátování datumu a času %F jméno zdrojového souboru třídy (náročné na zjišťování) %l údaje o místu vyvolání (metoda, soubor, řádek), (časově náročné na zjišťování, ale užitečné) %L řádek zdrojového souboru, (náročné na zjišťování) %m vlastní zpráva %M jméno metody ze které voláno, (náročné na zjišťování) %n znak pro konec řádky (oddělovač řádek), doplní se správný dle operačního systému %p název priority %r počet milisekund od startu aplikace %t jméno vlákna %x NDC (nested diagnostic context) používá se pro další rozlišování zpráv u vícevláknových či distribuovaných aplikací, může to být např. jméno uživatele, cookiies atd. %X MDC (mapped diagnosic context) rozšíření NDC na více položek %% vypsání znaku procenta tabulka 6 Význam formátovacích znaků pro třídu PatternLayuot Literály lze doplnit o číslo určující délku např. %5p znamená minimální délku 5 zarovnáno vpravo, % znamená minimální délku 20 znaků se zarovnáním vlevo a maximální délku 30. Konfigurace log4j - příklady Log4j je možné konfigurovat v programu nebo pomocí konfiguračního souboru. Výrazně je preferována konfigurace pomocí konfiguračního souboru, neboť je mnohem více flexibilní. Log4j rozeznává dva formáty konfiguračního souboru formát properties a xml formát. Při inicializaci log4j v programu se hledá soubor s konfigurací podle nastavení system property log4j.configuration, ve které by měl být uveden soubor či URL, na kterém lze nalézt konfigurační soubor. Pokud jméno souboru (URL) končí znaky xml, předpokládá se, že je ve formátu xml, v opačném případě se předpokládá formát properties. Pokud není nastavena systémová proměnná log4j.configuration, zkouší se najít v aktuální adresáři soubor log4j.properties, popř. log4j.xml. Jednoduchý příklad Následující konfigurační soubor obsahuje přesměrování zpráv pro kategorii root na konzoli (ConsoleAppender) s použitím formátu PatternLayout s předpisem "%p [%t] %c - %m%n ": # Pro root kategorii se nastaví priorita DEBUG a appender se jménem A1 log4j.rootcategory=debug, A1 # ke jménu A1 se přiřadí ConsoleAppender (výpis na konzoli). log4j.appender.a1=org.apache.log4j.consoleappender 43
6 # A1 používá pro formátování PatternLayout s dále uvedeným vzorem log4j.appender.a1.layout=org.apache.log4j.patternlayout log4j.appender.a1.layout.conversionpattern=%p [%t] %c - %m%n Následující program tento konfigurační soubor (jmenuje se log4j.demo1.properties) využije: import org.apache.log4j.*; public class Demo1 { static Logger logger = Logger.getLogger(Demo1.class); public static void main (String [] args) { logger.debug("message 1"); logger.warn("message 2"); Po spuštění příkazem java -cp log4j.jar;. -Dlog4j.configuration=log4j.demo1.properties Demo1 bude výpis následující: DEBUG [main] Demo1 Message 1 WARN [main] Demo1 Message 2 Složitější příklad konfiguračního souboru Následuje příklad složitějšího konfiguračního souboru pro aplikaci, která má dvě kategorie: imap a quota. Na konzoli se mají zobrazovat zprávy od priority INFO, do souboru quota.log (který má rotovat) se mají zapisovat zprávy od priority WARN. # Root kategorie: výpis od priority INFO appendery se jménem stdout a R log4j.rootlogger=info, stdout, R # Nastavení appenderu stdout ConsoleAppender, PatternLayout a vzor log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.layout=org.apache.log4j.patternlayout log4j.appender.stdout.layout.conversionpattern=%5p %c - %m%n # Nastavní appenderu R RollingFileAppender do souboru s rotováním log4j.appender.r=org.apache.log4j.rollingfileappender # jméno souboru log4j.appender.r.file=quota.log # maximální velikost souboru log4j.appender.r.maxfilesize=100kb # počet záloh nastaven na 5 log4j.appender.r.maxbackupindex=5 # od jaké priority (úrovně) se bude vypisovat log4j.appender.r.threshold=warn # pro výpis se použije PatternLayout s příslušným vzorem log4j.appender.r.layout=org.apache.log4j.patternlayout log4j.appender.r.layout.conversionpattern=%d{date %5p %c - %m%n Programátor má podezření na chybu a proto chce pro kategorii imap vypisovat všechny zprávy (tj včetně priority debug) do souboru debug-imap.log. Nemusí zasahovat do zdrojového kódu, postačí doplnit na konec předchozího konfiguračního souboru následující řádky: 44
7 # Pro kategorii imap je prioriat DEBUG a appender se jménem D log4j.logger.imap=debug,d # appender D je typu FileAppender, vypisuje do souboru debug.log log4j.appender.d=org.apache.log4j.fileappender log4j.appender.d.file=debug.log # nesmí se zapomenout na přiřazení formátování zpráv log4j.appender.d.layout=org.apache.log4j.patternlayout log4j.appender.d.layout.conversionpattern=%d{date %5p %c - %m%n Zprávy priority DEBUG z kategorie IMAP se též vypisují na obrazovku, neboť appendery se skládají dohromady v rámci hierarchické struktury kategorii. Do souboru quota.log se DEBUG zprávy nevypisují, neboť appender R má nastavenu minimální prioritu na úrovni WARN. Výpisu DEBUG zpráv na obrazovku lze nejsnáze zabránit nastavením minimální priority u appenderu stdout. Použití třídy BasicConfigurator Základní konfiguraci je možné nastavit v programu pomocí statické metody BasicConfigurator.configure(), která nastaví ConsoleAppender pro kategorii root. Tento Appender použije pro formátování výstupu PatternLayout s tímto formátem: "%r [%t] %p %c %x - %m%n". Následující příklad ukazuje použití tohoto způsobu konfigurace. V příkladu lze vidět nastavení minimální priority pro Logger i způsob, jak vypsat údaje o výjimce. import org.apache.log4j.*; public class Demo { static Logger log = Logger.getLogger(Demo.class.getName()); public static void main(string[] args) { BasicConfigurator.configure(); log.setlevel(level.warn); log.info("zaciname..."); log.debug("tato zprava nebude vypsana!"); try { //Deleni nulou int x = 5; int y = 20 / (5 - x); catch (Exception e) { log.error("chyba!", e); Výstup z toho programu bude následující: 0 [main] INFO Demo - Zaciname [main] ERROR Demo - Chyba! java.lang.arithmeticexception: / by zero at Demo.main(Demo.java:14) Konfigurační soubor jako parametr příkazové řádky V tomto příkladě si ukážeme, jak by mohla v programu vypadat obsluha inicializace log4j pomocí zadání jména konfiguračního souboru jako parametru na příkazovém řádku. V příkladu je také ukázka konfigurace log4j přímo v programu (pro případ, že není zadán 45
8 konfigurační soubor). Výpis ukazuje jaké importy jsou pro aplikaci třeba a část metody main, která slouží pro inicializaci logování. import org.apache.log4j.*; import org.apache.log4j.xml.domconfigurator;.... if(args.length == 0) { Logger root = Logger.getRootLogger(); Layout layout = new PatternLayout ("%p [%t] %c (%F:%L) - %m%n"); root.addappender(new ConsoleAppender (layout,consoleappender.system_out)); else { if(args.length == 1) { if(args[0].endswith("xml")) { DOMConfigurator.configure(args[0]); else { PropertyConfigurator.configure(args[0]); ; Test existence instance Appender Následující část kódu ukazuje, jak zjistit, zda je pro konkrétní Logger přiřazen Appender (pokud není přiřazen žádný Appender (ani se nedědí), tak se vypisuje na System.err chybové hlášení při volání metody pro výpis). import org.apache.log4j.logger; import org.apache.log4j.basicconfigurator; static Logger logger = Logger.getLogger(Pokus1.class); public static void main (String args []) { if (logger.getallappenders() == org.apache.log4j.helpers.nullenumeration.getinstance()) { BasicConfigurator.configure(); ; XML konfigurační soubor V XML konfiguračních souborech lze definovat stejné parametry jako v konfiguračních souborech ve formátu properties. Navíc lze konfigurovat některé rozšiřující funkce jako jsou filtry, obsluha chyb log4j či provázané instance třídy Appender (používá se u třídy AsyncAppender). Následující konfigurační soubor odpovídá první ukázce jednoduchého konfiguračního souboru souboru log4j.demo1.properties. 46
9 <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j=' <appender name="a1" class="org.apache.log4j.consoleappender"> <layout class="org.apache.log4j.patternlayout"> <param name="conversionpattern" value="%p [%t] %c - %m%n"/> </layout> </appender> <root> <priority value ="debug" /> <appender-ref ref="a1" /> </root> </log4j:configuration> Logování v JDK 1.4 Firma Sun do verze 1.4 J2SDK vložila knihovnu pro podporu logování. Potřebné třídy jsou dostupné v balíčku java.util.logging. Koncepce je velmi podobná koncepci log4j, používají se trochu jiné pojmy: pojem v log4j pojem rozdíly v J2SDK 1.4 Logger Logger není významný rozdíl, Appender Handler v JDK 1.4 je k dispozici méně možností: ConsoleHandler, StreamHandler, FileHandler, SocketHandler a MemoryHandler, Layout Formatter v JDK 1.4 je k dispozici pouze SimpleFormatter a XMLFormatter priority log level v JDK 1.4 se rozeznává 7 úrovní (seřazeny od nejméně významné): FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE těmto názvům odpovídají příslušné metody třídy Logger pro výpis zpráv (pro variantu s výjimkou se musí použít obecná metoda log), category namespace hierarchické stejně jako v log4j, konfigurační soubor konfigurační soubor v JDK 1.4 soubor ve formátu properties, implicitně se načítá soubor lib/logging.properties z JRE adresáře, soubor lze zadat přes systémovou proměnnou java.util.logging.config.file (např. z příkazové řádky: -Djava.util.logging.config.file=my.log.config), tabulka 7 Porovnání používaných pojmů v log4j a J2SDK
10 Následuje příklad programu, který používá logování z JDK 1.4 import java.util.logging.*; public class DemoJDK{ // získání instance třídy Logger. private static Logger logger = Logger.getLogger("DemoJDK"); public static void main(string argv[]){ // výpis zprávy na úrovni FINE logger.fine("doing stuff"); try{ // nějaký kód... catch (Error ex){ // výpis chyby na úrovni WARNING logger.log(level.warning,"problem pri zpracovani",ex); logger.fine("done"); Konfigurační soubor pro logování v JDK 1.4 (jre/lib/logging.properties) vypisuje zprávy na konzolu od úrovně INFO. Vypadá následovně (vynechána část komentářů): ############################################################ # Global properties ############################################################ # "handlers" specifies a comma separated list of log Handler # classes. These handlers will be installed during VM startup. # By default we only configure a ConsoleHandler, which will only # show messages at the INFO and above levels. handlers= java.util.logging.consolehandler # Default global logging level. # This specifies which kinds of events are logged across # all loggers. For any given facility this global level # can be overriden by a facility specific level # Note that the ConsoleHandler also has a separate level # setting to limit messages printed to the console.level= INFO # Limit the message that are printed on the console to INFO and above. java.util.logging.consolehandler.level = INFO java.util.logging.consolehandler.formatter = java.util.logging.simpleformatter ############################################################ # Facility specific properties. # Provides extra control for each logger. ############################################################ # For example, set the com.xyz.foo logger to only log SEVERE # messages: com.xyz.foo.level = SEVERE 48
11 Některé aplikace používají knihovnu commons-logging ze serveru jakarta.apache.org, která skrývá jednotlivé implementace logování v Javě a vytváří pro ně obecné rozhraní (uživatelé těchto aplikací si poté mohou vybrat, jakou implementaci logování zvolí). Příkladem takové aplikace je webový kontejner Tomcat. 49
Logování zaznamenávání informací o průběhu programu, ladících a chybových informací
Logování zaznamenávání informací o průběhu programu, ladících a chybových informací Logování zaznamenávání informací o průběhu programu, ladících a chybových informací... 1 Priorita... 1 Kategorie... 2
GUI. Systémová integrace pro desktopové aplikace
GUI Systémová integrace pro desktopové aplikace 1 java.awt.desktop systémová integrace desktopových aplikací static boolean isdesktopsupported() test zda je integrace k dispozici static Desktop getdesktop()
Regulární výrazy. Vzory
Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO
Algoritmizace a programování
Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém
Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová
Programové konvence, dokumentace a ladění 2. přednáška Alena Buchalcevová Proč dodržovat programové konvence? velkou část životního cyklu softwaru tvoří údržba údržbu provádí většinou někdo jiný než autor
1. Téma 12 - Textové soubory a výjimky
1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se
Z. Kotala, P. Toman: Java ( Obsah )
Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
Algoritmizace a programování. Terminálový vstup a výstup
Algoritmizace a programování Terminálový vstup a výstup Verze pro akademický rok 2012/2013 1 Výpis hodnot Terminálový vstup a výstup budeme používat jako základní způsob interakce programu s uživatelem
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
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
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
17. Projekt Trojúhelníky
Projekt Trojúhelníky strana 165 17. Projekt Trojúhelníky 17.1. Základní popis, zadání úkolu Pracujeme na projektu Trojúhelníky, který je ke stažení na java.vse.cz. Aplikace je napsána s textovým uživatelským
Výčtový typ strana 67
Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce
RMI Remote Method Invocation
2. cvičení RMI Remote Method Invocation 2007/09 ver.2.0 1 RMI co to je? vyvolání metody z jiné JVM lokalizace vzdáleného objektu komunikace se vzdálenými objekty přenos objektu v bytecode typicky klient
Podmínky na zápočet. Java, zimní semestr
Podmínky na zápočet zápočtový test u počítače zápočtový program "rozumná" velikost téma do 12. 1. 2018 emailem cvičícímu domácí úkoly 225 bodů (max 450) docházka víc než 3 absence 315 bodů 1 Domácí úkoly
Ú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
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
Java 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
3 KTE / ZPE Informační technologie
3 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Komentáře
Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20
Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................
Generické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics
Java Cvičení 01 http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Příklady - Porovnání Co kód vypíše? package cz.cuni.mff.java.example01.tests; public class Test01
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem
Zápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
KTE / ZPE Informační technologie
4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší
DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v
DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve
1. Programování proti rozhraní
1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní
Programovací jazyk Java
1 z 8 Programovací jazyk Java Enumerace (výčty) Složitější definice výčtového typu Konstanty anonymních typů Výčtový typ a datové struktury Java packaging JAR archivy CLASSPATH Apache Ant 10. přednáška
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Programování v Javě I. Únor 2009
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory
Paměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
Max Homebanking PS uživatelský manuál rozhraní pro automatické stahování dat
Max Homebanking PS uživatelský manuál rozhraní pro automatické stahování dat Obsah 1 Úvod... 2 2 Nastavení přístupů k rozhraní... 2 2.1 Popis obrazovky... 2 2.1.1 Nastavení datových extraktů z banky...
Ú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
Úvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
Obsah. 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é
Class loader. každá třída (java.lang.class) obsahuje referenci na svůj class loader. Implementace class loaderu
Seminář Java Zavádění tříd Radek Kočí Fakulta informačních technologií VUT Duben 2008 Radek Kočí Seminář Java Zavádění tříd 1/ 16 JVM zavádí třídy dynamicky Class loader objekt schopný zavádět třídy abstraktní
Výjimky. v C# a Javě
Výjimky v C# a Javě Výjimky v C# Výjimky poskytují v C# způsob, jak reagovat na nečekané události. Uživatel např. zadá místo čísla text nebo soubor, který chceme otevřít, je využíván jiným procesem. To
1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE
2011 Technická univerzita v Liberci Ing. Přemysl Svoboda ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE V Liberci dne 16. 12. 2011 Obsah Obsah... 1 Úvod... 2 Funkce zařízení... 3 Režim sběru dat s jejich
Programování v Javě I. Leden 2008
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory
7. Datové typy v Javě
7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů
Testovací metoda. Testovací metoda. public class SimpleTest {
Testování TestNG public class SimpleTest { @BeforeClass public void setup() { // code that will be invoked // when this test is instantiated @Test public void afasttest() { System.out.println("Fast test");
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
Semin aˇr Java V yjimky Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Unor 2008 Radek Koˇc ı Semin aˇr Java V yjimky 1/ 25
Seminář Java Výjimky Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Výjimky 1/ 25 Výjimky Co a k čemu jsou výjimky výjimka je mechanizmus umožňující psát robustní, spolehlivé
Dědičnost (inheritance)
Dědičnost (inheritance) Úvod Umožňuje objektům převzít (zdědit) členy jiných objektů a pouze je rozšířit o Auto: lze odvodit Vztah je osobní auto, cisterna jsou auta Základní pojmy Bázová třída (rodič)
Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01
Anotace sady: Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01 Autor: Blanka Sadovská Klíčová slova: Algoritmus, proměnná, diagram Stupeň a typ vzdělávání: gymnaziální vzdělávání, 3. ročník
Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky
JAVA Třídy Definice třídy úplná definice [public] [abstract] [final] class Jmeno [extends Predek] [impelements SeznamInterfacu] {... // telo tridy public veřejná třída abstract nesmí být vytvářeny instance
Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace
Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Učební praxe Téma: Program Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 19-21 Číslo: V/5 Programování v jazyce
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
JAVA. Odbočka: Návrhové vzory (Design patterns)
JAVA Odbočka: Návrhové vzory (Design patterns) 1 Návrhové vzory obecné řešení problému, které se využívá při návrhu počítačových programů (Wikipedia) Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1995).
IRAE 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í
Java Výjimky Java, zimní semestr
Java Výjimky 1 Výjimky (exceptions) hlášení a ošetření chyb výjimka signalizuje nějaký chybový stav výjimka = instance třídy java.lang.throwable dvě podtřídy java.lang.error a java.lang.exception konkrétní
Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice
Řídicí příkazy V této kapitole se seznámíte s příkazy, které řídí postup provádění programu Příkazy řízení programu se řadí do třech kategorií: příkazy výběru, kam patří příkazy if a switch, příkazy iterace,
2) 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
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)
Příklad aplikace Klient/Server s Boss/Worker modelem (informativní) Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze A0B36PR2 Programování 2 Jan Faigl, 2015 A0B36PR2
Informace o zaměstnancích v insolvenčním řízení v aplikaci KS mzdy
KS mzdy PROFi se jako jediný personální informační systém stala finalistou soutěže IT produkt 2007 a IT produkt 2010 pořádané prestižním časopisem Computerworld. Informace o zaměstnancích v insolvenčním
PREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním
IW5 - Programování v.net a C# 4 Pokročilé konstrukce C#
4 - Pokročilé konstrukce C# IW5 - Programování v.net a C# Strana 1 Obsah přednášky Výjimky Delegáti Události Lambda výrazy Strana 2 Výjimky a jejich zpracování Slouží k ošetření výjimečných (chybových)
Textové soubory. alg9 1
Textové soubory Textový soubor je posloupnost znaků členěná na řádky každý znak je reprezentován jedním bytem, jehož obsah je dán nějakým kódováním znaků členění na řádky je závislé na platformě a obvykle
Tematický 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
Tvorba informačních systémů
Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních
Doxygen. Jakub Břečka
Doxygen Jakub Břečka Úvod Proč a typy dokumentace na přednášce Programátorská dokumentace (popis implementace, tříd, funkcí, API) Doxygen, JavaDoc, Sandcastle, AppleDoc, Doxygen = klasika mezi dokumentačními
IRAE 07/08 Přednáška č. 7. Začátek (head)
Fronta (Queue) FIFO First In First Out (první dovnitř první ven) Vložení položky (Enqueue) Vyjmutí položky (Dequeue) Přidávání prvků Konec (Tail) Začátek (head) na jedné straně (konec) Odebírání prvků
Remote Method Invocation RMI
Remote Method Invocation RMI Java TM Remote Method Invocation (RMI) umožňuje objektu na jedné Java Virtual Mashine(JVM) jednoduše spustit metodu jiného objektu na vzdálené JVM. Při volání vzdálené metody
8.3 Popis dialogových oken
8.3 Popis dialogových oken Pro přehled jsou na následující ilustraci 8.1 vyobrazena všechna dialogová okna. Jedná se o nemodální dialogy, proto je lze mít otevřené současně. Pouze dále popisovaný dialog
Bridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky
Google Web Toolkit Martin Šurkovský, SUR096 Vysoká škola Báňská - Technická univerzita Ostrava Katedra informatiky 29. března 2010 Martin Šurkovský, SUR096 (VŠB - TUO) Google Web Toolkit 29. března 2010
20. 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ý
Java Cvičení 05. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics
Java Cvičení 05 http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Test 1 Co program vypíše? Hello world Nic Něco jiného package cz.cuni.mff.java.example05.tests; public
SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ
SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ Vstupy a výstupy pokračování Kódování textů Texty (řetězce nebo znaky) v jazyce C# jsou v paměti uloženy v kódování označovaném běžně Unicode (kódová stránka 1200).
Jazyk C# (seminář 6)
Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí
Distribuované systémy a výpočty
Distribuované systémy a výpočty X36DSV Jan Janeček Peter Macejko CORBA Common Object Request Broker Architecture - konsorcium OMG (Object Management Group) - standard pro podporu komunikace v DS - pouze
TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);
TŘÍDY POKRAČOVÁNÍ Události pokračování public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e); class Bod private int x; private int y; public event ZmenaSouradnicEventHandler ZmenaSouradnic;
v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa
v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) 2017 by: Ing. Jan Steringa Webový server Apache je předurčen k provozu na operačním systému Linux. Je to dáno
Teoretické 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
Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++
Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++ Prostory jmen U programů mohou někdy nastat kolize mezi jmény (tříd, funkcí, globálních proměnných atd.) pokud v různých
Ú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
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
ná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
RouterOS: Vizualizace datových toků
RouterOS: Vizualizace datových toků Obsah Verze dokumentu Autor Úvod Nastavení SNMP agenta na straně RouterOS MRTG (pro Unix i Windows) RRD tool PRTG (pro Windows) Verze dokumentu Verze 1.1 ze dne 29.3.2004
Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.
Základy programování 4 - C# - 8. cvičení Radek Janoštík Univerzita Palackého v Olomouci 3.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.2017 1 / 10 Reakce na úkoly
PŘ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
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
UJO Framework. revoluční architektura beans. verze 0.80 http://ujoframework.org/
UJO Framework revoluční architektura beans verze 0.80 http://ujoframework.org/ Pavel Pone(c), září 2008 Historie rok 2004 upravené objekty z frameworku Cayenne nevýhodou byla špatná typová kontrola rok
Funkce logování v NetLogu umožňuje záznam činnosti žáků pro další analýzu.
Logování Funkce logování v NetLogu umožňuje záznam činnosti žáků pro další analýzu. Jakmile se logování spustí, je pro uživatele neviditelné. Můžete si vybrat, jaké činnosti chcete v konfiguračním souboru
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená
ISZR Referenční agent.net
Informační systém základních registrů ISZR Referenční agent.net Název dokumentu: ISZR Referenční agent.net Verze: 1.04 Projekt: ISZR Stádium: Pracovní Autor/Autoři: Pavel Odstrčil Jméno souboru: ISZR Referenční
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
Chain of responsibility
Chain of responsibility Chain of responsibility n Známý jako n Účel q český překlad řetěz(ec) odpovědnosti q umožnit zasílání požadavků (zpráv) neznámým příjemcům q příjemci tvoří frontu è předávají si
Obrázek 6.14: Prohlížec nápovedy
JavaHelp Základní popis systému JavaHelp Soucástí vetšiny interaktivních aplikací je nápoveda (help) aplikace v Jave nejsou výjimkou. Systém JavaHelp je napsaný v Jave a je urcený pro aplikace vytvárené
Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011
Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP
Java - výjimky. private void vstup() throws IOException {... }
Java - výjimky Tato kapitola ukazuje na několika příkladech práci s výjimkami v Javě. Klíčové pojmy: Výjimka, hierarchie výjimek, zachytávání výjimek, blok try-catch, tvorba vlastních výjimek, propagace
Komponenty v.net. Obsah přednášky
doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Rozdíl mezi COM a.net Distribuce komponent Programování