Skriptovací jazyky. Obsah



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

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

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

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Instalace a konfigurace web serveru. WA1 Martin Klíma

Programovací jazyky Přehled a vývoj

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Matematika v programovacích

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Úvod do programování - Java. Cvičení č.4

Vytváření a použití knihoven tříd

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

Softwarové komponenty a Internet

JavaScript 101. "Trocha života do statických stránek"

Abstraktní datové typy: zásobník

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

Úvod do programování v jazyce Java

Základy PHP. Úvod do jazyka PHP a principů skriptování na straně serveru

IB111 Programování a algoritmizace. Programovací jazyky

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

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

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

Úvod do programovacích jazyků (Java)

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

HTTP. Webový server. generátor HTML stránek (CGI, Perl, PHP, Python, Ruby, Java, ASP.NET) zpracování požadavku/ odeslání odpovědi.

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

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

Webové Aplikace (6. přednáška)

InterSystems Caché Post-Relational Database

KTE / ZPE Informační technologie

Komponenty v.net. Obsah přednášky

Architektura softwarových systémů

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

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

Řídicí struktury. alg3 1

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Algoritmizace a programování

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

3 KTE / ZPE Informační technologie

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

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

Maturitní témata Školní rok: 2015/2016

2002 Magister (Mgr.), studijní program: matematika, specializace matematikamanagement

První kapitola úvod do problematiky

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

Rozklad na prvočinitele. 3. prosince 2010

Internet 2 css, skriptování, dynamické prvky

Datové struktury. alg12 1

Komponentní technologie

Úvod do programování v jazyce Java

Databázové a informační systémy

ÚVOD DO UNIXU. Metodický list č. 1

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Výčtový typ strana 67

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

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

language="javascript">... </script>.

Ukázka knihy z internetového knihkupectví

Algoritmizace a programování

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

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Úvod do programovacích jazyků (Java)

1 Webový server, instalace PHP a MySQL 13

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

1. Webový server, instalace PHP a MySQL 13

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Skripty - úvod. Linux - skripty 2

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

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

Regulární výrazy. Vzory

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

Programovací jazyk Java

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Operační systémy. Cvičení 4: Programování v C pod Unixem

Programovací jazyky. Obsah. Proč používáme programovací jazyky? Programovací jazyk

ČVUT FIT: BI-SKJ: Perl

PREPROCESOR POKRAČOVÁNÍ

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

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.

INFORMAČNÍ SYSTÉMY NA WEBU

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Obsah. Předmluva Kapitola 1 Úvod 1. Web v kostce 1 Kdo je webmaster? 4 Doporučená literatura 4. Kapitola 2 Přehled jazyka HTML 5

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

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

Objektově orientované programování

Programovací jazyk C++ Hodina 1

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

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

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

Transkript:

Skriptovací jazyky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Co je to skriptovací jazyk? Výhody a nevýhody skriptovacích jazyků Hlavní oblasti použití Příklady jazyků: Perl, Python, JavaScript Jazyk PHP - úvod PTE - Skriptovací jazyky 2 1

Skriptovací jazyky Jazyky určené k rozšíření nebo propojení existujících aplikací a komponent Uživatelem definované funkce (např. editory) Grafické uživatelské rozhraní (Tcl, VB) Webový server (PHP) nebo klient (JavaScript) Nepoužívají se obvykle ke složitým výpočtům nebo k práci se složitými datovými strukturami PTE - Skriptovací jazyky 3 Skriptovací jazyky Obvykle netypované (nebo slabě typované) Automatické konverze typů Proměnné mohou obsahovat cokoliv Obvykle interpretované Nevyžadují samostatný překlad Možnost měnit části programu za běhu Vestavěné složitější typy a operátory Seznamy, vyhledávací tabulky PTE - Skriptovací jazyky 4 2

Výhody skriptovacích jazyků Rychlý vývoj aplikací Jednoduchá instalace aplikací často stačí pouze zkopírovat zdrojové soubory Integrace s existujícími technologiemi např. komponentní technologie Jednoduchost učení a použití Dynamické vlastnosti např. typování, rozsahy polí, konverze PTE - Skriptovací jazyky 5 Příklady select grep scripting wc (sh) button.b -text Hello! -font {Times 16 -command {puts hello Java: 7 řádků C++ (MFC): 25 řádků (Tcl) PTE - Skriptovací jazyky 6 3

Nevýhody skriptovacích jazyků Neúplnost předpokládá se spolupráce s normálními jazyky Nesoulad s pravidly dobrého návrhu strukturování programu objektově orientované programování Zaměření na konkrétní oblast např. PHP pro dynamické WWW stránky PTE - Skriptovací jazyky 7 Použití skriptovacích jazyků Správa systému Řízení startu a ukončení činnosti systému Základní systémové operace např. archivace Provádění dávkových operací Shell JCL, COMMAND/CMD, bash, Automatizace tvorby programů Často se opakující činnosti (překlad, instalace) Ant uživatelem definované činnosti PTE - Skriptovací jazyky 8 4

Použití skriptovacích jazyků Přizpůsobení aplikací Windows Scripting Host (WSH) integrováno do operačního systému (VBScript, JScript) Makra v textových editorech VBA (MS Office), OfficeBasic (Sun StarOffice), elisp (emacs) Rozšíření souboru funkcí AutoLISP (AutoCAD) Přizpůsobení zařízení Měřicí přístroje s vestavěným Tcl PTE - Skriptovací jazyky 9 Hlavní oblasti použití GUI grafická uživatelská rozhraní Visual Basic, Tcl/Tk Internet Perl, JavaScript, PHP Komponentní technologie VisualBasic PTE - Skriptovací jazyky 10 5

Perl Practical Extraction and Report Language http://www.perl.com/ Populární mezi administrátory Unixu Obtížně čitelná syntaxe, mnoho implicitních vlastností PTE - Skriptovací jazyky 11 Python http://www.python.org/ Původně vyvinut jako komponenta operačního systému Amoeba Jednodušší syntaxe Jython běží pod JVM PTE - Skriptovací jazyky 12 6

Javascript Netscape Corp. pro prohlížeč Java je zavádějící mnoho odlišností Java: jazyk založený na třídách a dědičnosti JS: jazyk založený na prototypech JScript (MS), ECMAscript (European Computer Manufacturer's Association) Sun StarOffice, Macromedia Flash PTE - Skriptovací jazyky 13 Porovnání jazyků Perl for $i (0.. 6000-1) { %x=(); for $j (0.. 1000-1) { x{$j=$i; $x{$j; Python for i in range(6000): x={ for j in range(1000): x[j]=i x[j] Java import java.util.*; public class test { public static void main( String[] args) { for (int i=0; i<6000; i++) { Map x = new HashMap(); for (int j=0; j<1000; j++) { Integer I=new Integer(i); Integer J=new Integer(j); x.put(i,j); x.get(i); PTE - Skriptovací jazyky 14 7

PHP http://www.php.net/ Původně pro návrh WWW stránek (Personal Home Page) K dispozici zdarma pro všechny OS Syntaxe podobná C/C++ Hlavní oblasti: Skripty na straně serveru Skripty spouštěné z příkazového řádku PTE - Skriptovací jazyky 15 PHP Verze PHP5: kompletní objektový model Spolupráce s mnoha databázemi MySQL, PostgreSQL, ODBC, Oracle, DB2, Přístup k dalším službám LDAP, IMAP, SNMP, NNTP, POP3, HTTP, Napojení na jiné technologie Java, COM Silná podpora zpracování textu, regulární výrazy, XML, komprese dat, PTE - Skriptovací jazyky 16 8

PHP a Internet Zdrojový text je HTML obsahující úseky programu v PHP: <p><?php echo ahoj ;?></p> <p><? echo date( Y-m-d )?></p> Skripty jsou umístěny někde v adresáři ~/public_html/ s příponou.php (linux456) Je třeba zajistit, aby měl webový server právo číst soubory.php (příkaz chmod) PTE - Skriptovací jazyky 17 Proměnné Uživatelské proměnné Nedeklarují se Jméno začíná znakem $ $x = 10; if( $x > 0 ) echo "$x je kladné"; Systémové proměnné $GLOBALS $_REQUEST, $_SERVER, $_SESSION, PTE - Skriptovací jazyky 18 9

Pole Indexované pole $a = array(); $a[0] = 10; $a[1] = 5; $a[] = "aaa"; // přidání na konec pole $a = array(0=>10, 1=>5); Asociativní pole $a = array(); $a["po"] = "Pondělí"; $a = array("po"=>"pondělí", "Ut"=>"Úterý", ); PTE - Skriptovací jazyky 19 Pole Průchod polem for( $i = 0; $i < count($a); $i++) echo a[$i] = {$a[$i]\n ; foreach( $a as $i => $v ) echo a[$i] = $v\n ; foreach( $a as $v ) echo $v ; PTE - Skriptovací jazyky 20 10

Příklad generování tabulky <table border= 1 > <? for($i = 0; $i < 10; $i++) { echo <tr>\n ; echo <td>$i</td>\n ; echo <td>, $i*$i, </td>\n ; echo </tr>\n ;?> </table> PTE - Skriptovací jazyky 21 Další řídicí konstrukce if( podmínka ) příkaz if( podmínka ) příkaz else příkaz while( podmínka ) příkaz do příkaz while( podmínka ); break; continue; switch( výraz ) příkaz include soubor ; require soubor ; PTE - Skriptovací jazyky 22 11

Příklad <?if( $pocet > 0 ) {?> <p>počet = <?echo $pocet?></p> <??> <?switch( $den ) { case So : case Ne : $vikend = true; break; default: $vikend = false; break;?> PTE - Skriptovací jazyky 23 Funkce function soucet($x, $y = 1) { return $x + $y; Všechny proměnné jsou lokální, globální proměnné se musí deklarovat: global $g; PTE - Skriptovací jazyky 24 12

Příklad function table_row($row) { echo <tr>\n ; foreach( $row as $v ) { echo <td>$v</td>\n ; echo </tr>\n ; echo <table border= 1 >\n ; table_row(array(1,2,3,4,5)); echo </table>\n ; PTE - Skriptovací jazyky 25 13