Programování v Linuxu. Ondřej Vondrouš

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

Download "Programování v Linuxu. Ondřej Vondrouš"

Transkript

1 Programování v Linuxu Ondřej Vondrouš

2 Autor: Ondřej Vondrouš Název díla: Programování v Linuxu Zpracoval(a): České vysoké učení technické v Praze Fakulta elektrotechnická Kontaktní adresa: Technická 2, Praha 6 Inovace předmětů a studijních materiálů pro e-learningovou výuku v prezenční a kombinované formě studia Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

3 VYSVĚTLIVKY Definice Zajímavost Poznámka Příklad Shrnutí Výhody Nevýhody

4 ANOTACE Cílem tohoto modulu je seznámit čtenáře s možnostmi tvorby vlastních programů a skriptů v Operačním systému Linux. CÍLE Po přečtení tohoto modulu by čtenář měl být schopen rozlišit skripty a programy. Čtenář by se měl seznámit se seznamem základních linuxových nástrojů. Dále by si čtenář měl osvojit práci se standardním vstupem a výstupem a možnostmi jeho přesměrování, včetně využití rour ( pipe). V části zaměřené na programování, bude ukázána řada nástrojů, která slouží pro usnadnění práce s vývojem a distribucí vlastních programů. Zvláštní pozornost bude věnována balíku nástrojů GNU toolchain. LITERATURA [1] Michael, Randal. Mastering UNIX Shell Scripting. : WILEY, ISBN [2] Larry, Wall. Tom, Christiansen. Randal L., Schwartz. Programování v jazyce Perl. : Computer Press, 1997, 683. ISBN [3] Keir, Davis. John, W.,Turner. Nathan, Yocom. The Definitive Guide to Linux Network Programming.. : Apress, 2004, 374. ISBN [4] Peter,Norton. Harley, Hahn. Průvodce Unixem. : Unis Publishing, ISBN

5 Obsah 1 Programování v Linuxu Začínáme Motivace Skript vs. Program Skriptovací jazyky Programovací jazyky Vývojová prostředí Shrnutí Ověření znalostí Programování v Linuxu Skripty Úvod Nástroje SH/BASH AWK PERL Python Shrnutí Ověření znalostí Programování v Linuxu Programy Úvod Nástroje GNU toolchain Nástroje GCC Nástroje make Nástroje GNU Binutils Nástroje GDB Nástroje autotools Nástroje configure / make / make install Ověření znalostí Programování v Linuxu Co se jinam nevešlo Další možnosti ladění programů valgrind, a electric fence, Služby démoni Automatické spouštění a plánování Automatické spouštění a plánování - at Automatické spouštění a plánování - cron Shrnutí Ověření znalostí... 49

6 5 Přestávka Programování v Linuxu závěrečné cvičení Test... 51

7 1 Programování v Linuxu Začínáme 1.1 Motivace Tento modul si klade za cíl přiblížit čtenářům možnosti programování a psaní skriptů na platformě Linux. Hlavní motivací studentů pro zvládnutí látky obsažené v tomto modulu by měl být fakt, že řadu programátorských úkolů může být velmi snadné vyřešit, pokud se zvolí vhodný postup pro řešení konkrétní problematiky. Vhodný postup v tomto případě bude znamenat, udělat to správné rozhodnutí, kdy použít některého ze skriptovacích jazyků a kdy zase naopak použít programování ve vyšším programovacím jazyce s použitím vhodných podpůrných nástrojů. Zvolení správného přístupu k řešení problému má pozitivní vliv na zvládnutí jakéhokoliv problému. To co jednou metodou programování může být jen obtížně dosažitelné a kde řešení zabere programátorovi několik hodin, tak použitím odlišné metody může být daný problém vyřešen třeba během několika minut. Předpokládá se, že řada čtenářů se již setkala s programováním v jednom z klasických programovacích jazyků typu C/C++ a nebo JAVA. To, že se čtenář seznámí s možnostmi psaní skriptů a obecně možnostmi skriptovacích jazyků, může mít do budoucna velký vliv na urychlení vývoje při řešení specifických úkolů. A to vzhledem k faktu, že se mu rozšíří paleta použitelných technologií pro řešení programátorských problémů. Proč se zabývat programováním v Linuxu? Dalo by se jednoduše říci, že programování na platformě Linux se v ledasčem moc neliší od programování na jiných platformách a na druhou stranu v některých aspektech se liší zcela zásadně. To zásadní je především to, že platforma Linux je přímo jakoby stvořená pro programování. Pokud si nainstalujete některou z distribucí Linuxu, budete mít již v základu k dispozici potřebné kompilátory, debugery, iterpretery skriptů a vývojová prostředí. O čem tento modul je. Tento modul se snaží čtenáři vysvětlit rozdíly mezi skripty a programy. V modulu bude čtenář seznámen se základním přehledem skriptovacích jazyků používaných na platformě Linux a budou zde vysvětleny jejich přednosti a nedostatky. V sekci věnovanou programování ve vyšších programovacích jazycích bude čtenář seznámen s nástroji z balíku GNU toolchain. Budou také prezentovány některé techniky jako například jakým způsobem vytvořit daemona (službu) a jakým způsobem plánovat spouštění úloh v daný čas.

8 O čem tento modul není. Ačkoli by k tomu mohl svádět název modulu, tak tento modul není o programování jako takovém. Nebudou zde vysvětlovány žádné základy programování a algoritmizace. Naopak se předpokládá, že čtenář již alespoň částečně ovládá programování v některém z vyšších programovacích jazyků. Ukázky příkladů zde slouží především pro demonstraci konkrétních vlastností a ne jako ukázka nejlepšího možného postupu při řešení problému. Modul se také zcela záměrně vyhýbá tématice skriptovacích jazyků pro WWW, ale zaměřuje se na systémové skripty a to i přes to, že použité skriptovací jazyky jsou velmi univerzální a je možné se s nimi setkat velmi často i ve webových aplikacích. 8

9 1.2 Skript vs. Program V této části textu si vysvětlíme rozdíl mezi programem a skriptem. Rozdělení je možné pojmout z řady úhlů pohledu. Pokud se na danou problematiku podíváme z pohledu výkonu, budou většinou vítězit klasické programy překládané do spustitelné binární podoby. Pokud se na věc podíváme z pohledu rychlosti vývoje, zjistíme, že velkou řada problémů lze řešit velice elegantně a rychle na úrovni skriptů, byť za cenu pomalejšího zpracování. To ovšem bývá bohatě nahrazeno velkou rychlostí implementace Dále je nutné si uvědomit, že zatímco program se překládá pouze jednou a následně se provádí zkompilovaný kód programu, tak v případě skriptů je skript interpretován vždy znovu a znovu ve své zdrojové formě. To ovšem není vždy na překážku, u skriptů není nutné je po jejich změně rekompilovat, ale je možné je ihned spouštět. Pokud jde něco programem udělat velmi jednoduše, lze to samé v řadě případů udělat pomocí skriptu ještě jednodušeji a hlavně rychleji. Kdy zvolit ten který postup závisí na tom čeho je potřeba dosáhnout. A to by si měl každý velmi dobře uvědomovat již v době návrhu řešení. Špatný postup sice a priori nevede k selhání, ale bývá mnohem pracnější, složitější na implementaci. Z toho také vyplývá i větší náchylnost na výskyt chyb. Uvažujme vcelku standardní situaci, kterou musí řešit běžný administrátor serverů. Potřebujeme zjistit, kolikrát denně se nám někdo cizí pokouší připojit na náš poštovní server, intuitivně asi tušíte, že psát kvůli tomu program je příliš těžkopádné. Zvláště když si později ukážeme, že se tento problém dá vyřešit velice elegantně na několika řádcích skriptu a to zcela pomíjím fakt, že daný skript by se dal zapsat do jediného řádku! Ukázku takového skriptu si ukážeme v dalším textu a to hned v několika skriptovacích jazycích. Budeme-li uvažovat jiný problém a to realizaci nějaké síťové služby, kde bude zásadní výkon. Bude potřeba napsat efektivní a robustní program, bude asi nejlepší použít nějaký vyšší programovací jazyk. I když i zde jsou možnosti jak vytvářet síťově služby na úrovni skriptovacích jazyků. Pokud se podíváme na skripty a programy z dalšího úhlu, tak další velká rozdílnost spočívá ve formě použitých příkazu. Zatímco při programování převládá volání interních příkazů daného programovacího jazyka a systémová volání se používají minimálně, tak v případě psaní skriptů je situace v některých případech diametrálně odlišná. Jedná se typicky o případ psaní skriptů pro SHELL, kdy se z velké části využívají malé obslužné programy, které jsou součástí Linuxových distribucí. Značnou pozornost si také zaslouží způsob definice proměnných. Zde je rozdíl na první pohled velmi markantní. Na jedné straně stojí vyšší programovací jazyky se 9

10 silnou typovou kontrolou. Při deklaraci proměnných je třeba zvolit požadovaný typ proměnné a následný přístup k dané proměnné je tímto předurčen. Kdežto v případě skriptovacích jazyků je situace naprosto odlišná. Proměnné je sice třeba v některých skriptovacích jazycích deklarovat, ale datových typů bývá výrazně méně. Také vzhledem k absenci překladu dochází ke kontrole datových typů až během běhu programu. Některá jazyky třeba jako například PERL přistupují k proměnné dle toho, jak je na proměnnou odkazováno. Pokud se zaměříme například na práci s datovým typem pole v jazyce PERL, pak dostáváme následující výsledky. značí datový typ pole a symbol $ značí skalární proměnnou. Jak vidno PERL přistupuje k definici typů proměnných velmi benevolentně. A, B, C, D, E ); #přiřazení položek seznamu do pole. #vytvoření pouze části pole. 3 $var=@pole; #ve $var bude uložena velikost daného pole. 4 $var=$pole[2]; #ve $var bude uložena hodnota C. 5 my ($var1,$var2,$var3)=@pole; #do jednotlivých proměnných se uloží jednotlivé položky pole. Jak vidíte na uvedeném příkladu, možností jak pracovat s datovým typem pole je celá řada. Za povšimnutí stojí především třetí řádek, kde je pěkně vidět, že pokud má být výsledkem operace skalární hodnota, tak interpret jazyka změní přístup k datovému typu pole a do proměnné uloží jeho velikost, což je jediná skalární hodnota, kterou může daná operace vrátit. Stranou samozřejmě zůstává přímý přístup na položku pole, viz řádek číslo 4. To je samozřejmě také operace, která vrací skalární hodnotu, v tomto případě se ovšem neodkazujeme na datový typ pole, ale pouze na konkrétní položku daného pole. 10

11 1.3 Skriptovací jazyky Jazyků, které je možné použít k tvorbě skriptů na platformě Linux je celá řada. Při jejich výběru bude záležet především na tom, co bude vašim cílem a jak elegantně budeme chtít daného cíle dosáhnout. Mezi typické zástupce skriptovacích jazyků je možné zařadit: PERL, Python, PHP, Ruby, SHELLy SH/BASH, AWK, a případně celou řádku další interpretovaných jazyků. Je dobré si uvědomit, že skriptovací jazyky lze velmi dobře kombinovat. Při tvorbě skriptu můžete velmi jednoduše volat pro jednotlivé podúlohy jiné skripty psané jinými skriptovacími jazyky. Stejně tak jsou například SHELLové skripty založené na volání rozličných dílčích jednoúčelových programů. Jednotlivé skripty nebo programy je také možné řetězit do složitějších celků a to tak, že standardní výstup jednoho propojíme se standardním vstupem následujícího. Mějme situaci, kdy chceme otestovat internetové spojení, ale nemáme dostatek času čekat na výsledek. Tak spustíme test a necháme si výsledek poslat em. nohup ping c 5000 tail n 4 mail s Test admin@example.org [mailto:admin@example.org] nohup zajistí, aby program běžel i po ukončení terminálu ping program ping pro testování odezvy pomocí protokolu ICMP tail program který vypíše na výstup požadovaný počet řádku ze vstupu mail program který dokáže odeslat Jak si můžete všimnout, vše se dá vyřešit elegantně jedinou příkazovou řádkou. To, že je možné takovéto problémy řešit takto elegantně umožňuje ta skutečnost, že je možné přesměrovat standardní výstup jednoho programu na standardní vstup dalšího. To se v OS Unixového typu dělá pomocí operátoru PIPE (roura) v zápisu příkazu/skriptu se s ním setkáváme nejčastěji ve formě znaku Ve výše uvedeném příkladu můžete vidět kombinaci hned 4 různých programů, které ve formě jediného příkazového řádku splní vaše požadavky. V tomto případě se vlastně nejedná ani o skutečný skript. Nicméně na příkladu je krásně vidět celá filosofie psaní skriptů a to dělat věci co nejjednodušší a nejefektivnější. PIPE (roura) reprezentovaná znakem slouží k přesměrování stdout (standardního výstupu) na stdin (standardní vstup). Na české klávesnici je možné daný znak napsat stisknutím kombinace: pravý ALT + W. 11

12 Kromě rour existují i další možnosti přesměrování standardních vstupů a výstupu. K tomu slouží speciální znaky < a >. > umožňuje přesměrovat standardní výstup do souboru. >> umožňuje přesměrovat standardní výstup a připojit ho na konec souboru. < umožnuje přesměrování obsahu souboru na standardní vstup 2> umožňuje přesměrovat standardní chybový výstup do souboru. Je také možné přesměrovávat standardní výstupy stdout a stderr" vzájemně mezi sebou. A nyní si ukážeme několik příkladů na přesměrování Mějme situaci, kdy chceme jednoduše provést záznam o testu pomocí programu ping. Není nic jednoduššího než pomocí parametru navolit parametry testu ping a přesměrovat jeho výstup do námi zvoleného souboru. ping s 160 c 500 > ~/muj_test.txt Přesměrování standardního chybového výstupu na standardní výstup a následně do souboru /dev/null. To znamená, že veškerý výstup bude potlačen, respektive zahozen. $ muj_program 2>&1>/dev/null Toto řešení se používá u periodicky plánovaných akcí, kde nechceme být za žádnou cenu informování o průběhu nebo selhání daného programu. Nejprve přesměrujeme standardní chybový výstup na standardní výstup a ten následně přesměrujeme do speciálního zařízení /dev/null. Toto speciální zařízení nedělá nic jiného, než že zahodí veškerý standardní vstup. Občas se hodí i přesměrování vstupu ze souboru, viz následující skript. #!/bin/sh while read line; do echo $line; done <./muj_soubor_s_daty.txt V jedné z pozdějších částí textu si představíme několik typických zástupců skriptovacích jazyku s malou ukázkou jejich použití ve formě jednoduchých skriptů. 12

13 Skripty nejsou vázány na použitou platformu, ale pouze na interpret daného skriptu, a proto jsou skripty většinou dobře přenositelné mezi platformami, pro které je k dispozici interpret daného skriptovacího jazyka 13

14 1.4 Programovací jazyky Tak jako na ostatních OS je možné i v OS Linux tvořit programy v celé řadě programovacích jazyků. Mezi nejtypičtější představitele je možné zařadit jazyky C, C++, JAVA a podobně. Podpora programovacích jazyků znamená, že pro danou platformu existuje patřičný kompilátor a linker. Velkou výhodou programování právě na platformě Linux je to, že většina nejrozšířenějších distribucí obsahuje velkou řadu potřebných překladačů přímo ve svých repositářích. A jak je v Linuxu typické řada z nich je dostupná pod licencí GNU, nebo podobnou, která umožňuje téměř neomezené využití daných nástrojů a to zdarma. Asi nejpoužívanějším překladačem na platformě Linux je bezesporu překladač GNU GCC. Je třeba vyzdvihnout, že tento kompilátor je velmi kvalitní a podpora architektur je velmi rozsáhlá. GNU GCC podporuje cca 20 standardních architektur a celkově více než 60 architektur procesorů pokud zahrneme i méně běžné typy. V rodině překladačů GNU je dále možné nalézt překladač pro JAVU GNU Java a překladače pro, v dnešní době, méně obvyklé programovací jazyky, jakož jsou GNU Ada a GNU Fortran. Výhodou programovacích jazyků je skutečnost, že kompilátory provádějí značné optimalizace pro konkrétní platformy a tím dále zefektivňují vykonávání daných programů. Nevýhodou může být především užší provázání s konkrétní platformou a proto horší přenositelnost daného programu na jinou platformu. 14

15 1.5 Vývojová prostředí Další nespornou výhodou platformy Linux je dostupnost velké řady vývojových prostředí pro vývoj aplikací, skriptů a programů. Prostředím zde rozumíme, jak komplexní IDE (Integrated Development Enviroment), tak i editory, které dokážou ulehčit práci při vývoji, například barevným rozlišením syntaxe. Mezi IDE běžně dostupná v rámci repositářů jednotlivých distribucí Linuxu patří prostředí KDevelop, či Eclipse. Doporučit se dá také určitě Netbeans IDE, které je sice potřeba stáhnout ze stránek projektu, ale instalace je velmi jednoduchá a toto prostředí určitě patří k tomu nejlepšímu, co je možné získat zdarma. Jak můžete vidět na následujícím obrázku, možnosti IDE jsou značné a neomezují se pouze na zvýraznění syntaxe. Dobré IDE vám poskytne přehled o třídách objektů, umožní vám využívat versovací systémy a poskytne bohatou podporu při vývoji. NetBeans IDE Pokud zmiňujeme Linux, určitě se řadě čtenářů vybaví to, že OS Linux lze velmi dobře provozovat i bez grafické nadstavby. Ani v tomto případě nemusí být vývoj 15

16 na této platformě nikterak složitý nebo dokonce nekomfortní. Existuje velké množství editorů, které dokážou vývoj programů a skriptů velmi zpříjemnit, ať už uživatelsky přívětivým a intuitivním ovládáním v případě například editoru mcedit, nebo propracovaností ovládání, které je na první pohled složité, ale zato velmi efektivní při vývoji v případě editorů emacs, vim apod. V případě konzolových textových nástrojů nemůžeme ani opomenout kvalitní barevné rozlišení syntaxe. Viz následující obrázky, které zachycují barevné rozlišení syntaxe skriptu v PERLu v editoru mcedit. Barevné zvýraznění syntaxe samozřejmě dokážou poskytovat i další editory. Zvýraznění syntaxe v editoru mcedit 16

17 1.6 Shrnutí Skript vs. Program Script vs Program program nutná kompilace po každé úpravě kompilace pro každou platformu zvlášť, případně úprava platformě závislého kódu spouští se vlastní binární program složitější a delší kód většinou řádově výkonnější kód script nekompiluje se / rovnou se spouští stačí nainstalovaný interpret jazyka na dané platformě skript běží v interpretru jazyka velmi úsporný a jednoduchý kód většinou řádově menší výkon Vývojová prostředí Na platformě Linux je k dispozici velké množství vývojových prostředí a editorů s podporou syntaxe běžných jazyku. Tato prostředí jsou z velké části součástí většiny distribucí. K dispozici jsou jak prostředí pro textový režim ( vim, emacs, mcedit, nano, ), tak prostředí pro grafické nadstavby OS Linux ( KDevelop, Eclipse, ). Je možné doinstalovat i další vývojová prostředí, jako například velmi povedené a populární prostředí NetBeans IDE. 17

18 1.7 Ověření znalostí Zde vás čeká několik otázek, které vám pomohou ověřit vaše nově nabyté znalosti. ŘEŠENÍ 1. Jak se obecně liší programy a skripty z hlediska výkonu? 2. Co je třeba provést bezprostředně po úpravě programu před jeho spuštěním? 3. Co musí daný systém obsahovat, aby bylo možné spouštět skripty konkrétního programovacího jazyka? 4. Jaké editory znáte pro terminálové rozhraní OS Linux? 5. Jaká vývojová prostředí znáte pro grafické rozhraní OS Linux? 1. Programy bývají mnohem výkonnější, ale je většinou pracnější je napsat. 2. Program je třeba znovu zkompilovat a nainstalovat pomocí ( configure, make, make instar ). 3. OS musí obsahovat interper daného skriptovacího jazyka. 4. vi, vim, emacs, mcedit, nano,. 5. Eclipse, KDevelop, NetBeans,. 18

19 2 Programování v Linuxu Skripty 2.1 Úvod V této kapitole si nejprve představíme základní nástroje pro práci v OS Linux, ty se nám budou hodit pro pochopení a psaní skriptů v SHELLu. Kromě psaní skriptů v SHELLu, si dále představíme několik typických interpretrových jazyků, které jsou hojně využívány na platformě Linux. Skriptovací jazyky neslouží jen pro tvorbu běžných uživatelských skriptů, ale na těchto jazycích je založena velká řada systémových nástrojů. Tato kapitola by měla čtenáři, který se ještě nesetkal se skriptovacími jazyky, dát přehled o tom jaké základní skriptovací jazyky je možné použít a co je možné pomocí nich realizovat. 19

20 2.2 Nástroje Psaní skriptů především pro SHELLy se velmi často opírá a celou řádku programů, které jsou dostupné ve většině distribucí Linuxu. V následujícím textu se podíváme na nejdůležitější z nich, abyste snadněji porozuměli následujícím příkladům. Pokud byste zde čekali kompletní výpis parametrů daných příkladů a popis jejich použití, musím vás bohužel zklamat a odkázat vás na manuálové stránky daných programů. V řadě případů se jedná o velmi komplexní programy s mnoha desítkami parametrů. Nicméně následující přehled by měl sloužit, jako vodítko pro ty kdo se ještě s OS Linux ve větší míře nesetkali. příkaz / operátor cat tail head more less echo seq wc cp mv mkdir rm ls grep find použití / význam vypíše konec souboru nebo standardního vstupu na standardní výstup vypíše začátek souboru nebo standardního vstupu na standardní výstup skript běží v interpretru jazyka umožní postupný výpis souboru nebo standardního vstupu propracovanější verze programu more vypíše zadaný text na obrazovku vygeneruje posloupnost čísel program spočítá počet řádků, slov kopíruje soubor nebo adresář přesouvá soubor nebo adresář vytvoří adresář odstraní soubor nebo adresář výpis obsahu adresáře velmi pokročilý nástroj pro filtrování textu velmi pokročilý nástroj pro vyhledávání v systému souborů pipe (roura), přesměrování standardního výstupu na standardní výstup < přesměrování obsahu souboru na vstup 20

21 > přesměrování výstupu do souboru zabrání ukončení procesu při ukončení nohup rodičovského procesu (zavření terminálu) tar archivační nástroj 21

22 2.3 SH/BASH Jedná se o asi nejrozšířenější SHELLy na platformě linux. V případě SHELLu BASH se jedná o rozšíření původního SHELLu SH (Bourne SHell). Odtud vyplývá i jméno SHELLu BASH (Bourne Again SHell). Na Linuxové platformě můžete narazit i na další SHELLy, jakými jsou například: csh, ksh, zsh, atd. U řady čtenářů může na mysli vytanout otázka, co je to vlastně ten SHELL zač. SHELL je typicky UNIXové prostředí, které se chová jako interpret příkazového řádku. Nejčastěji se se SHELLem setkáváme jako s interpretem příkazového řádku, nenechte se ale zmást, v tomto případě se jedná o plnohodnotný skriptovací jazyk. Příkazy je možné jak zadávat na příkazovou řádku tak i zapsat do souboru a spouštět danou sadu příkazů jako skript. Samozřejmostí jsou řídící struktury, funkce a další programové konstrukce. Mějme jednoduchý úkol a to vytvoření 10 ti podadresářů v aktuálním adresáři. Vše se dá zvládnout elegantně na jediném řádku. Příkaz může vypadat třeba následovně: for i in `seq 1 10`; do mkdir./adresar_$i; done;ls -l; To samé lze samozřejmě zapsat přehledněji ve formě skriptu. Skript má dále tu výhodu, že je možné ho spouštět opakovaně. #!/bin/bash for in `seq 1 10` do mkdir./adresar_$i; done ls l Skriptům je samozřejmě možné předávat parametry a to tak, že ve skriptu se na ně odkážeme pomocí symbolu $ a pořadovým číslem parametru. Tzn. $1 je první parametr, $2 druhý, atd. Nyní můžeme předávat parametry. Náš skript nyní vytvoří libovolný počet podadresářů. Skript zavoláme jednoduše s požadovaným parametrem. $./mujscript.bash 10 Upravený skript (obsah souboru mujscript.sh ): #!/bin/bash for in `seq 1 $1` do mkdir./adresar_$i 22

23 done ls l Proměnné v SHELLu Proměnné je možné rozdělit na systémové a programové proměnné. Budeme se zde zabývat především definicí programových proměnných. To jsou ty, které budeme používat uvnitř skriptů. Je dobré si uvědomit, že je možné modifikovat obsah jakékoliv proměnné! Vytvoření proměnné moje_proměnná=moje_hodnota Přístup k proměnné echo $moje_proměnná Zrušení proměnné unset moje_proměnná Numerické operace s proměnnou $((moje_proměnná + 4)) Přesměrování standardního výstupu do proměnné moje_proměnná=`cat /etc/passwd grep root` 23

24 2.4 AWK AWK je typickým příkladem jazyka, který vznikl s jasným úmyslem. Tento jazyk / nástroj je zaměřen především na zpracování textových dat. Ať již ve formě textových souborů nebo proudů textových dat. Je dobré si uvědomit, že AWK můžeme používat buď jednoúčelově na příkazové řádce v kombinaci s dalšími programy, anebo můžeme napsat skript, který budeme využívat opakovaně. Pro AWK dokonce existuje překladač do jazyka C, což dává skriptům napsaným v AWK vysoký výkonový potenciál. Chceme získat statistiku nezdařených přihlášení k serveru, pod uživatelem root. Za pomocí skriptu v AWK je řešení více než elegantní. Typický záznam v logu /var/log/secure vypadá následovně: Apr 1 09:57:07 My_Linux sshd[15160]: pam_unix(sshd:auth): authentication \ failure; logname= uid=0 euid=0 tty=ssh ruser= rhost= user=root A nyní skript, který dokáže dané záznamy zpracovat a vyhodnotit. 1 #!/usr/bin/awk -f 2 3 /failure/{ 4 if( $14 == "user=root" ){ 5 split($13,pole,"="); 6 stat[pole[2]]++; 7 } 8 } 8 END{ 9 for(i in stat){ 10 print i, stat[i]; 11 } 12 } Spuštění skriptu a výsledek: [root@mylinux skripty]#./root_logins.awk /var/log/secure Skript kontroluje, zda se v daném textu vyskytují řádky, které obsahují slovo failure viz řádek číslo 3. Dále se kontroluje, že na daném řádku je na čtrnácté pozici uvedeno user= root, což identifikuje pokus o přihlášení s uživatelským jménem root. Pokud tomu tak je, pak je extrahována adresa IP vzdálené strany z dat na pozici 13 a je inkrementováno počítadlo výskytů v asociativním poli. V sekci END, která se spouští až na konci skriptu, dojde k vypsání páru IP adresa a počet výskytů na standardní výstup. 24

25 2.5 PERL PERL dnes již určitě patří mezi jazyky, které jsou na ústupu. Ale to nikterak nesnižuje jeho významnost a důležitost. Na PERLu je založené velké množství systémových skriptů a nástrojů. Stejně tak napojení PERLu na repositáře CPAN, je třeba uvažovat jako velmi významnou součást celé filosofie tohoto programovacího jazyka. Hlavní myšlenka spočívá v tom dělat věci, co možná nejjednodušeji to jde a pokud možno velice efektivně. Smysl repositářů CPAN spočívá v tom, že to co už jednou bylo vymyšleno a sepsáno formou skriptů PERLu není třeba vymýšlet a programovat znovu. Za povšimnutí stojí, že například jeden z nejrozšířenějších antispamů, kterým je bezesporu Spamassassin, je z velké části napsán právě v jazyce PERL. Mějme stejný příklad jako v případě skriptovacího jazyka AWK. Výsledný skript může vypadat například následovně. Pro větší přehlednost díky zvýraznění syntaxe je daný skript uveden jako obrázek. Skript root_logins.pl 25

26 Výstup: skripty]#./root_logins.pl /var/log/secure IP: pocet pokusu: 8 IP: pocet pokusu: 1186 IP: pocet pokusu: 52 Ačkoli je PERL typickým zástupcem skriptovacích jazyků tak od verze 5 obsahuje podporu pro objektově orientované programování 26

27 2.6 Python Jedná se o moderní skriptovací jazyk, který je v dnešní době velice oblíbený. Do jisté míry nahrazuje programování v jazyce PERL. Python je dynamický moderní interpretovaný jazyk, který svými vlastnostmi přesahuje hranice pouhého skriptovacího jazyka. Jazyk Python totiž umožňuje vytváření plnohodnotných aplikací včetně grafického rozhraní. Za velkou výhodu jazyka Python bývá označována ta skutečnost, že je velice jednoduchý na naučení a produktivnost při psaní programů je na vysoké úrovni. S tím samozřejmě souvisí dostupnost velké škály knihoven. Mějme stejný příklad jako v případě skriptovacích jazyků AWK a PERL. Výsledný skript může vypadat například následovně. Pro větší přehlednost díky zvýraznění syntaxe je daný skript uveden opět jako obrázek. Skript root_logins.py Výstup: [root@mylinux skripty]#./root_logins.py /var/log/secure IP: pocet pokusu: 8 IP: pocet pokusu: 52 IP: pocet pokusu:

28 2.7 Shrnutí Jak jste zajisté poznali, jsou skriptovací jazyky velmi vhodné pro hromadné zpracování dat. Typicky pro data ve formě různých záznamů o životě systému. Vděčí za to tomu, že původní myšlenkou bylo mimo jiné zpracování rozsáhlých finančních dat. Skripty se neomezují ovšem pouze na zpracování textů, ale obsahují i podporu pro interakci s uživatelem. Nejvýznamnější zaměření na interakci s uživatelem najdeme pravděpodobně u skriptovacího jazyka Python, který má v sobě zahrnutou podporu i pro vytváření GUI. SHELL Pokud se zaměříme na skripty v SHELLu typu SH/BASH, zjistíme, že jsou velice vhodné pro jednoduché úlohy a ideálně tam kde se kombinuje celá řádka různých nástrojů dohromady. Tam, kde budeme zpracovávat velké množství dat, začne SHELL ztrácet především na výkonu při práci se souborovým systémem. AWK AWK se výborně hodí pro zpracování textů a skripty AWK velmi dobře slouží i jako podprogramy pro SHELLové skripty. AWK nepodporuje složitější struktury, objekty a řízení programu. Stejně tak oproti ostatním jazykům má mnohem menší možnosti v oblasti práci s proměnnými a datové typy jsou mnohem více limitovány. PERL Vnikl jako rozšíření jazyka AWK proto aby odstranil jeho nedostatky, jedná se o jeden z nejrozšířenějších skriptovacích jazyků a proto je dobré, alespoň částečně tento jazyk ovládat. Jeho smyslem je dělat věci co nejjednodušeji a ve verzi 5 byl jazyk rozšířen i o podporu objektového programování. Dnes je na ústupu a je nahrazován jazykem Python. Pokud je kód napsaný v PERLu delší, bývá většinou značně složitý a nepřehledný. 28

29 Python Jedná se o moderní a oblíbený jazyk. Mluví se o něm jako o velmi snadno naučitelném jazyce. Je to velice komplexní jazyk pokud jde o otázku jeho upotřebitelnosti. Je v něm kladen velký důraz na přehlednost a snadnost údržby kódu. 29

30 2.8 Ověření znalostí Zde vás čeká dalších několik otázek, které vám pomohou ověřit vaše nově nabyté znalosti. ŘEŠENÍ 1. K čemu je v OS Linux dobrý symbol? Jak se jmenuje a jak se požívá? 2. Je třeba skripty před spuštěním kompilovat? 3. Jak zajistíte, aby váš skript, který standardně zapisuje chybová hlášení na standardní chybový výstup, zapsal tyto chybové zprávy do souboru? 4. Jaký skriptovací jazyk použije pro analýzu přístupů k vašemu poštovnímu serveru na platformě Linux? 5. Jaké vývojové prostředí použijete pro psaní skriptů v AWK a jaké v případě Pythonu? 1. Jedná se o rouru (pipe). Slouží k propojení standardního výstupu jednoho programu na standardní vstup druhého programu. Použití je například následující: cat /etc/passwd grep root 2. Ne není, je potřeba mít pouze nainstalovaný potřebný interpret daného jazyka. 3. Je třeba přesměrovat standardní chybový výstup do souboru. Standardní výstup bude i nadále váš terminál. $./muj_script.pl 2>~/muj_soubor_se_zaznamem.txt 4. Použít můžete samozřejmě jakýkoliv skriptovací jazyk, který vám bude vyhovovat, není na závadu mít kód o něco delší, ale zato rychleji napsaný a se stejnou funkcionalitou. 5. Stejně jako v předchozím případě, tato volba je jen na vás. Je dobré si uvědomit, že existuje celá řada vývojových prostředí, která se hodí pro rozličné jazyky buď více anebo méně, ale skript napíšete v kterémkoliv z nich. Nejdůležitější je, aby se vám v daném prostředí dobře pracovalo. 30

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

Více

C2110 Operační systém UNIX a základy programování

C2110 Operační systém UNIX a základy programování C2110 Operační systém UNIX a základy programování 6. lekce Petr Kulhánek, Jakub Štěpán kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta Masarykova univerzita, Kotlářská

Více

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ ÚVOD DO OPERAČNÍCH SYSTÉMŮ Vývoj programů. Programovací nástroje. Aplikační programové rozhraní API. Standard POSIX. Vytvoření spustitelného souboru, použití kompilátoru a linkeru. Statické a dynamické

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

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

Úvod do Linuxu. SŠSI Tábor 1

Úvod do Linuxu. SŠSI Tábor 1 Úvod do Linuxu SŠSI Tábor 1 Trocha historie konec 60. let - AT&T vyvíjí MULTICS 1969 - AT&T Bell Labs - začátek OS Unix začátek 70.let - AT&T vývoj OS Unix kolem 1975 - University of California at Berkley

Více

S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře

S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře Projekt BROB - 2014 S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře Autor práce: Jakub Žďárský, UAMT VUT FEKT Vedoucí práce: Ing. František Burian 1 Obsah Obsah... 2 Zadání... 3 Úvod... 3

Více

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013 Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

IB111 Programování a algoritmizace. Programovací jazyky

IB111 Programování a algoritmizace. Programovací jazyky IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím

Více

ČÁST 1. Základy 32bitového programování ve Windows

ČÁST 1. Základy 32bitového programování ve Windows Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici Základní příkazy Úvod do Unixu man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp vypíše nápovědu o příkazu cp, manuálová stránka se ukončí stisknutím klávesy

Více

PSK3-9. Základy skriptování. Hlavička

PSK3-9. Základy skriptování. Hlavička PSK3-9 Název školy: Autor: Anotace: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Základy skriptování v unixovém shellu Vzdělávací oblast: Informační a komunikační technologie

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

Operační systémy. Cvičení 1: Seznámení s prostředím

Operační systémy. Cvičení 1: Seznámení s prostředím Operační systémy Cvičení 1: Seznámení s prostředím 1 Obsah cvičení Organizace cvičení Učebna K311 Unixová učebna K327 (Solárium) Přihlášení do Unixu Spouštění vzorových příkladů vzdáleně (Unix) lokálně

Více

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG 2008-9)

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG 2008-9) Programování v C++ Úplnej úvod Co se naučíte? tak samozřejmě C++, s důrazem na: dynamické datové struktury Objektově Orientované Programování STL (standardní knihovna šablon) vytváření vlastních šablon

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

IB111 Úvod do programování skrze Python Přednáška 13

IB111 Úvod do programování skrze Python Přednáška 13 IB111 Úvod do programování skrze Python Přednáška 13 Programovací jazyky Nikola Beneš 14. prosinec 2016 IB111 přednáška 13: programovací jazyky 14. prosinec 2016 1 / 21 Osnova dnešní přednášky Programovací

Více

Úvod do programovacího jazyka Python

Úvod do programovacího jazyka Python Úvod do programovacího jazyka Python Co je to Python? Python je objektově-orientovaný programovací jazyk. Tento programovací jazyk je velice výkonný, čitelný a dá se snadno naučit. Jeho použití je velice

Více

PSK3-7. Plánované spouštění programů a správce sezení. Skupiny procesů

PSK3-7. Plánované spouštění programů a správce sezení. Skupiny procesů Název školy: Autor: Anotace: Vzdělávací oblast: Předmět: PSK3-7 Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Správa sezení a plánované spouštění procesů Informační a komunikační

Více

Unix je víceuživatelský a víceúlohový OS

Unix je víceuživatelský a víceúlohový OS Unix je víceuživatelský a víceúlohový OS Mezi základní úkoly každého OS patří: - Správa hardwareových prostředků - Správa souborového systému - Správa procesů - U víceuživatelských systémů rovněž řízení

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

ÚVOD DO UNIXU. Metodický list č. 1

ÚVOD DO UNIXU. Metodický list č. 1 ÚVOD DO UNIXU Metodický list č. 1 Účelem tohoto předmětu je naučit studenty pracovat s operačním systémem typu UNIX (orientováno hlavně na příkazovou řádku a shell) a porozumět jeho filosofii. Libovolnou

Více

Instalace a první spuštění Programu Job Abacus Pro

Instalace a první spuštění Programu Job Abacus Pro Instalace a první spuštění Programu Job Abacus Pro Pro chod programu je nutné mít nainstalované databázové úložiště, které je připraveno v instalačním balíčku GAMP, který si stáhnete z našich webových

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

První kroky s METEL IEC IDE

První kroky s METEL IEC IDE První kroky s poskytuje programování v IEC 61131-3 jazycích, podporuje jak grafickou tak textovou podobu. Umožňuje vytvářet, upravovat a ladit IEC 61131-3 (ST, LD, IL, FBD) programy pro řídicí jednotky

Více

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2 Přednáška 2 Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. 1 Systém souborů (FS) I 2 Systém souborů II Logický systém souborů pro běžného uživatele se jeví jako jediná homogenní struktura

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

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

Algoritmizace- úvod. Ing. Tomáš Otáhal

Algoritmizace- úvod. Ing. Tomáš Otáhal Algoritmizace- úvod Ing. Tomáš táhal Historie 9. století perský matematik a astronom Mohammed Al-Chorezím v latinském přepise příjmení= algoritmus Nejstarší algoritmus Euklides řecký matematik, 4. století

Více

Úvod do Linuxu SŠSI Tábor 1

Úvod do Linuxu SŠSI Tábor 1 Úvod do Linuxu 9.10.2012 SŠSI Tábor 1 Historie Linux je obdoba operačního systému UNIX, vytvořená Linusem Torvaldsem. Na dalším vývoji systému i aplikací dnes pracuje řada dobrovolníků na celém světě.

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

PB071 Úvod do jazyka C

PB071 Úvod do jazyka C PB071 Úvod do jazyka C Překladové systémy Jiri Slaby Fakulta informatiky Masarykova univerzita 2. 5. 2016 Jiri Slaby (Fakulta informatiky, MU) PB071 Překlad 2. 5. 2016 1 / 23 Obsah přednášky 1 Úvod a motivace

Více

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian 02 konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian Kernighan v r. 1973 přepsán do jazyka C Psát programy,

Více

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství.

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství. }else{ { if($b >$ c){ echo $max=$b; // vypí }else{ echo $max=$c; // vypí?> cas se }e B : se{ echo B ; default: ($b>$c){ echo C ; } $max=$b; }else{ $max=$c; PHP nejen pro začátečníky k;?> $c; echo { Martin

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

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více

more Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu.

more Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu. GREP, AWK, SED a jiné filtry v LINUXu Vybrané filtry more Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu. head [-n] tail [-n]

Více

11. Přehled prog. jazyků

11. Přehled prog. jazyků Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 11 1 Základy algoritmizace 11. Přehled prog. jazyků doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze

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

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_LIN.1.02 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 02- Zásady psaní a řetězení příkazů, jednoduchý skript DUM naučí žáky zásady práce s příkazy shellu BASH, zásady psaní

Více

PHP tutoriál (základy PHP snadno a rychle)

PHP tutoriál (základy PHP snadno a rychle) PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve

Více

Algoritmy a algoritmizace

Algoritmy a algoritmizace Otázka 21 Algoritmy a algoritmizace Počítačové programy (neboli software) umožňují počítačům, aby přestaly být pouhou stavebnicí elektronických a jiných součástek a staly se pomocníkem v mnoha lidských

Více

Překladač a jeho struktura

Překladač a jeho struktura Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice

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_LIN.1.03 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 03 BASH rozbory a psaní skriptů DUM naučí psát elementární BASH skripty, ukáže zásady psaní cyklů a přepínačů Ing.

Více

Vytvoření bootovatelného média

Vytvoření bootovatelného média Vytvoření bootovatelného média Vytvoření bootovatelného média VY_32_INOVACE_05_01_01 Vytvořeno Červen 2013 Učební materiál slouží vyučujícímu k vysvětlení základních pojmů z oblasti OS GNU/Linux a seznamuje

Více

FILTRY V GNU/LINUXU ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

FILTRY V GNU/LINUXU ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště FILTRY V GNU/LINUXU Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Filtry v GNU/Linuxu Autor Martin Šimůnek Datum 6. 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_LIN.1.07 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 07- Síťové služby servery a klienty a úvod do souborového serveru DUM naučí žáky spouštět, diagnostikovat a konfigurovat

Více

Úvod do programovacího jazyka Python

Úvod do programovacího jazyka Python Úvod do programovacího jazyka Python Co je to Python? Python je objektově orientovaný programovací jazyk, který se může využít v mnoha oblastech vývoje softwaru. Nabízí významnou podporu k integraci s

Více

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

Téma 8: Konfigurace počítačů se systémem Windows 7 IV Téma 8: Konfigurace počítačů se systémem Windows 7 IV 1 Teoretické znalosti V tomto cvičení budete pracovat se správou vlastností systému, postupně projdete všechny karty tohoto nastavení a vyzkoušíte

Více

Linux CryptoFS. Petr Novický <P.Novicky@sh.cvut.cz>

Linux CryptoFS. Petr Novický <P.Novicky@sh.cvut.cz> Linux CryptoFS Petr Novický Osnova přednášky Loop-AES Úvod Příprava, kompilace, instalace Použití Diskový oddíl Soubor Závěr Diskový oddíl s použitím semínka Loop-AES (úvod) - šifrovaný

Více

PSK3-5. Přesměrování vstupu a výstupu. Vstup a výstup

PSK3-5. Přesměrování vstupu a výstupu. Vstup a výstup PSK3-5 Název školy: Autor: Anotace: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Standardní vstup, výstup a jejich přesměrování Vzdělávací oblast: Informační a komunikační

Více

IntraVUE 2.0.3 Co je nového

IntraVUE 2.0.3 Co je nového IntraVUE 2.0.3 Co je nového Michal Tauchman Pantek (CS) s.r.o. Červen 2008 Strana 2/8 Úvod IntraVUE je diagnostický a podpůrný softwarový nástroj pro řešení komunikačních problémů, vizualizaci a dokumentaci

Více

ZOS OPAKOVÁNÍ. L. Pešička

ZOS OPAKOVÁNÍ. L. Pešička ZOS OPAKOVÁNÍ L. Pešička ZÁKLADNÍ PRAVIDLO Důležité je znát nejen fakta, ale porozumět jim a zasadit je do kontextu celého OS Př. algoritmus Second Chance využívá bitu Referenced tak, že (fakta) a kdy

Více

Linux-příkazový řádek

Linux-příkazový řádek Linux-příkazový řádek Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,

Více

Paralelní výpočty na clusteru KMD

Paralelní výpočty na clusteru KMD Paralelní výpočty na clusteru KMD Jiří Hozman jiri.hozman@tul.cz Technická univerzita v Liberci Fakulta přírodovědně-humanitní a pedagogická Katedra matematiky a didaktiky matematiky Vytvoření a rozvoj

Více

Procesy a vlákna (Processes and Threads)

Procesy a vlákna (Processes and Threads) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Druhé laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Cvičící: Petr Veigend (iveigend@fit.vutbr.cz) Důležité

Více

1 Strukturované programování

1 Strukturované programování Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ.1.07/2.2.00/28.0118 1 Cíl Seznámení s principy strukturovaného programování, s blokovou strukturou programů,

Více

Základní příkazy OS UNIX

Základní příkazy OS UNIX 1 Základní příkazy OS UNIX Výpis obsahu adresáře ls [přepínače] [soubor]! výpis informací o zadaných souborech! pokud zadáme jméno adresáře, je vypsán obsah adresáře (seznam souborů, které jsou v adresáři

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Úvod do Operačních Systémů

Úvod do Operačních Systémů Úvod do Operačních Systémů 10. cvičení Uživatelský vstup, zpracování přepínačů, psaní a ladění skriptů, plánování úloh. 1 Obsah Skript pro logování informací o systému, uložení konfigurace, transformaci

Více

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25 Programování v C# Úvodní slovo 1 / 25 Obsah přednášky Seznámení s předmětem Co je.net Vlastnosti.NET 2 / 25 Kdo je kdo Petr Vaněček vanecek@pf.jcu.cz J 502 Václav Novák vacnovak@pf.jcu.cz?? Při komunikaci

Více

Systém souborů (file system, FS)

Systém souborů (file system, FS) UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je

Více

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8 Přednáška 8 Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. 1 Proměnné Jména nových proměnných by neměly kolidovat se jmény předdefinovaných proměnných.

Více

LINUX přesměrování a roury

LINUX přesměrování a roury LINUX přesměrování a roury Trocha teorie: Veškerá komunikace uživatelů a jednotlivých procesů v LINUXu probíhá přes vstupně/výstupní (I/O) kanály. STDIN - standardní vstup (klávesnice) STDOUT - standardní

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

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

Více

Modul Konfigurace. 2006... MTJ Service, s.r.o.

Modul Konfigurace. 2006... MTJ Service, s.r.o. Modul Konfigurace Modul Konfigurace Představení Menu konfigurace sdružuje všechny konfigurační příkazy k celému systému Soft-4-Sale. Dále konfigurace kopíruje jednotlivé moduly systému tzn. že existuje

Více

Téma 4: Práce s CentOS. Instalace softwarových balíčků pomocí yum

Téma 4: Práce s CentOS. Instalace softwarových balíčků pomocí yum Téma 4: Práce s CentOS Instalace softwarových balíčků pomocí yum 1 Teoretické znalosti V této kapitole zjistíte, jak probíhá v prostředí CentOS instalace nových programů, co to jsou balíčky, a jak pracovat

Více

Projekt implementace OS Linux do výuky informačních technologií

Projekt implementace OS Linux do výuky informačních technologií Projekt implementace OS Linux do výuky informačních technologií Projekt v rámci SIPVZ Implementace operačního systému Linux do výuky informačních technologií Evidenční číslo: 0722P2006 Poskytoval dotace:

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

Operační systémy Linux, Mac OS X a jejich srovnání

Operační systémy Linux, Mac OS X a jejich srovnání 5 5.1 Operační systémy Linux, Mac OS X a jejich srovnání Popište výhody programů OpenSource, čím se vyznačují OpenSource programy se vyznačují tím, že se dodávají i se zdrojovým kódem. S tímto kódem může

Více

Úvod, jednoduché příkazy

Úvod, jednoduché příkazy A7B38UOS Úvod do operačních systémů cvičení LS 2012/13 1. Cvičení Úvod, jednoduché příkazy Přednášející Cvičící Kdo je kdo v UOS doc. Ing. Jaroslav Roztočil, CSc. Ing. Jan Koller, Ph.D. Ing. Radek Havlíček,

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

PROGRAMOVÁNÍ V SHELLU

PROGRAMOVÁNÍ V SHELLU PROGRAMOVÁNÍ V SHELLU Prostředí, jazyk, zdrojový kód chceme-li posloupnost jistých příkazů používat opakovaně, případně z různých míst adresářové struktury, můžeme tuto posloupnost uložit souboru, který

Více

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 12 0:40 UML unifikovaný modelovací jazyk Zkratka tohoto

Více

INSTALACE SW V GNU/LINUXU

INSTALACE SW V GNU/LINUXU INSTALACE SW V GNU/LINUXU Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Instalace SW v GNU/Linuxu Autor Martin Šimůnek

Více

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 1.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 06 Ver.1.10 J. Zděnek,

Více

Úvod do Operačních Systémů

Úvod do Operačních Systémů Úvod do Operačních Systémů 9. cvičení Proměnné, složené příkazy, funkce, numerické výpočty. 1 Obsah Numerické výpočty v shellu externí příkazy Proměnné práce s proměnnými práce s pozičními parametry Bloky

Více

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

Více

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 Informační technologie 1 - Doporučená doba zpracování: 40 minut 1) Termín DCL v relačně databázové technologii

Více

Základní příkazy UNIXu (Linuxu)

Základní příkazy UNIXu (Linuxu) Základní příkazy UNIXu (Linuxu) Ostatní clear smazání obrazovky man nápověda k příkazům (zkus man man) Ovládání příkazu man PgUp, b stránka vzhůru PgDn, mezerník stránka dolů šipky nahoru a dolů pohyb

Více

Úvod. Programovací paradigmata

Úvod. Programovací paradigmata .. Úvod. Programovací paradigmata Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Cíl: programování efektivně a bezpečně Programovací techniky

Více

Návod k práci s programem MMPI-2

Návod k práci s programem MMPI-2 Návod k práci s programem MMPI-2 Výchozím vstupním heslem je název programu psaný malými písmeny, tedy mmpi-2. Po zadání hesla stiskněte Enter nebo tlačítko Dále. Hlavní obrazovka programu zobrazuje přehled

Více

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop Téma 1: Práce s Desktop 1 Teoretické znalosti V této kapitole zjistíte, co skrývají pojmy jako Desktop, GNOME, KDE, Metacity Window Manager, Nautilus a Konqueror. Desktop neboli pracovní plocha patří mezi

Více

ADMINISTRACE UNIXU A SÍTÍ - AUS Metodický list č. 1

ADMINISTRACE UNIXU A SÍTÍ - AUS Metodický list č. 1 Metodický list č. 1 Cílem předmětu je seznámit posluchače s problematikou správy systémů typu UNIX a základním nastavením počítačových sítí. Zaměření kurzu je především na získání celkového přehledu a

Více

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 Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Visual Studio Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 19,2 Číslo: V/5 Programování

Více

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows Tento návod popisuje možnost provozovat Docházku 3000 pod zdarma dostupným operačním

Více

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V LINUX ADRESÁŘOVÁ STRUKTURA Co to, hrome, je? V této lekci se budeme brouzdat adresáři. KOŘENOVÝ ADRESÁŘ kořen = root tak se mu říká Ve skutečnosti se jmenuje / (lomítko, slash). Vše ostatní je v ubuntu

Více

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy Postup přechodu na podporované prostředí Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy Obsah Zálohování BankKlienta... 3 Přihlášení do BankKlienta... 3 Kontrola verze

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0185. Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Registrační číslo projektu: CZ.1.07/1.5.00/34.0185. Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce: STŘEDNÍ ODBORNÁ ŠKOLA A STŘEDNÍ ODBORNÉ UČILIŠTĚ NERATOVICE Školní 664, 277 11 Neratovice, tel.: 315 682 314, IČO: 683 834 95, IZO: 110 450 639 Ředitelství školy: Spojovací 632, 277 11 Neratovice tel.:

Více

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod 11. 1. Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod 11. 1. Vítejte v Ruby 15. O autorovi 9 Poděkování 9 Začínáme programovat v Ruby on Rails 9 O autorovi 9 Poděkování 9 Úvod 11 Komu je kniha určena 11 Jak je kniha uspořádána 11 Co ke knize potřebujete 12 Konvence 12 Zdrojový kód 13 Poznámka redakce českého

Více

Programování v C++, 2. cvičení

Programování v C++, 2. cvičení Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule

Více