Flask kniha. aneb jak dostat Python na web. Ondrej Sika

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

Download "Flask kniha. aneb jak dostat Python na web. Ondrej Sika 3. 3. 2015"

Transkript

1 Flask kniha aneb jak dostat Python na web Ondrej Sika

2 Flask kniha aneb jak dostat Python na web Ondrej Sika Domovska stranka knihy je 2

3 Venovano Karoline, Barbore a Renate Sikove 3

4 Contents 1 Uvod Predmluva Co je to Flask? Instalace 8 3 Zakladni struktura Hello world Zakladni struktura Debug Pohledy Request objekt Request methods HTML Syntaxe Zakladni formatovaci prvky Odkazy Formulare Sablony Promenne Predane z pohledu Definice v sablone Vkladani (include) Rozsirovani (extends) Podminky Cykly Data od uzivatele Parametry v URL

5 7.2 GET POST Databaze (Dataset) Pripojeni k databazy Sqlite PostgreSQL MySQL Ukladani dat Nacitani dat Informace o databazi Session Deployment Deploy Cloud Heroku Openshift Rucne Gunicorn Supervisor Nginx Shrnurti 35 5

6 1 Uvod 1.1 Predmluva Tato kniha je moji druhou knihou pro zacinajici programatory. V te prvni (Python kniha, jsem popisoval uplne zacatky programovani v Pythonu. Tato kniha navazuje na predchozi, tim ze vse co umime chceme dat na web a umoznit uzivateli jednoduchou interakci. Kniha si neklade za cil naucit vas tvorit webove stranky (na to jich je spousta), ale ukazat ze programovani webu v Pythonu neni tak slozite a za PHP neni jedinou cestou jak delat weby. V knize je hodne ukazek kodu, repozitar s temito ukazkami je: Odkaz najdete i na homepage knihy. Preji aby cteni bylo prijemne a posunulo vase znalosti v programovani webovych aplikaci. 1.2 Co je to Flask? Flask je micro framwork pro tvorbu webu pro Python. Framework zamena ze je to soubor funkci, ktere nam zjednodusuji psani vlastnio kodu. Mohli bychom psat webovy server sami, ale zabralo by nam to hodne casu, museli bychom se hodne veci naucit a vysledek 6

7 by nebyl lepsi nez ted. Existuji i jine frameworky pro tvorbu webu v Pythonu, nejznamejsi je z nich Django, ktere je ovsem o hodne slozitejsi, ale umi toho vic. Flask ma vyhody ze je velmi jednoduchy a vsechno se na nem da hezky posat a vysvetlit. Django ma podobnou strukturu, ale je mnohem komplikovanejsi pro zacatecnika zbytecne. Domovska stranka Flasku je kde najdete veskerou dokumentaci a podrobne priklady pouziti. Vyhodou Flasku o proti Djangu je i start nove aplikace rychlejsi a jednodusi. Zatimco django ma nekolik adresaru a musi se nastavit pomerne hodne hodnot nez se da vubec spustit, Flask aplikace je v jednom souboru a nic zvlastniho se nastavovat nemusi. 7

8 2 Instalace Predpokladejme ze Python a virtualenv mame nainstalovany. 8

9 3 Zakladni struktura 3.1 Hello world Ukazeme si tradicne prvni ukazkovou aplikaci ktera zobrazi v prohlizeci text Hello world. Priklad 01: Soubor: app.py from flask import Flask app = Flask( name / ) def view(): return Hello world if name == main : app.run() Je takova konvence, ze hlavni soubor flask aplikace se jmenuje app.py, ja se ji budu drzet. Tento kod spustime jako standartni Python program: python3 app.py Program se spusti a vypise do terminalu: * Running on To znamena, ze je vse OK a mame si v prohlizeci otevrit url Kdyz se na ni podivame, uvidime na strance text Hello world. 9

10 3.2 Zakladni struktura Na tomto prikladu si muzeme ukazat jednotlive casti kodu a trosku si je popsat. Prvni radek je pouze import flasku. Na druhem se inicializuje Flask WSGI objekt, coz je neco jako kostra cele aplikace. Na tu se poto pripinaji ruzne pohledy (views). Prave takovy pohled je v treti casti kodu. Dekorator app.route aby se dana funkce vykonala pri dotazu na konkretni url, v nasem pripada na /. Posledni cast je jenom prikaz spuseni serveru, pokud soubor chceme spustit. Pokud jej budeme importovat napriklad do Gunicornu (WSGI server), kod se neprovede a server se nespusti. O to se pak stara Gunicorn. 3.3 Debug Pokud mam aplikaci v produkcnim prostredi, nechci aby pri chybe vypisovala chybove hlasky a uz vubec ne aby pri chybe byla dostupna debug konzole. Proto je tato funkcionalita by default vypnuta. Ale pri vyvoji se hodi presny popis chyb i konzole. Pro zapnuti debug rezimu staci pridat k app attribut debug = True. if name == main : app.debug = True app.run() Ukazka 02 - aplikace v debug modu s chybou Je lepsi to dat az za podminku lokalniho spousteni, aby tuto informaci nedostaval externi WSGI serve, napriklad Guni- 10

11 corn. Dale se take debug mod hodi, protoze pri editaci zdrojoveho souboru automaticky restartuje server, coz je velmi prijemne. 11

12 4 Pohledy Pohledy (neboli views) jsou funkce ktere se volaji pri pristupu na danou url ktera je definovana v dekoratoru app.route. Pohledu muze byt v aplikaci neomezene, kazde musi mit ovsem unikatni pojmenovani funkce. Priklad 03: from flask import Flask app = Flask( name / ) def first_view(): return /second/ ) def second_view(): return Second if name == main : app.debug = True app.run() 4.1 Request objekt Request objekt obsahuje ruzna data z requestu, muzete k nim pristupovat prez objekt request s ruznymi atributy. Request objekt musime nejdrive naimportovat: from flask import request Potom se z pohledu muzete ptat na jeho atributy: 12

13 @app.route( / ) def some_view(): return "url: %s, path: %s" % (request.url, request.path Ted si popiseme nejake zakladni atributy requestu, podrobnejsi popis a popis vsech atributu naleznete v dokumentaci. form - obsahuje POST data (z formulare) args - obahuje GET data (z url) headers - obsahuje http hlavicky data - obsahuje telo requestu (vhodne pro RPC) files - obsahuje uploadovane soubory method - obsahuje metodu requestu (POST, GET etc.) path - obsahuje cestu za domenou (/about-me/) url - obsahuje celou url ( 4.2 Request methods Pokud chceme vyuzivat jine requesty nez GET, musime to povolit v app.route. Musime je definovat v atributu /, methods=[ GET, POST ]) def first_view(): return /second/, methods=[ POST ]) def second_view(): return Second 13

14 Na prvni view se dostaneme objema typy requestu, na druhy pouze metodou POST. 14

15 5 HTML V teto kapitole chci popsat jen par prvku, ktere se pouzivaji pro interakci s aplikaci, odkazy, formulare,... Nechci vysvetlovat HTML detailne, navodu a knizek je plny internet. Jsou i v cestine. 5.1 Syntaxe Syntaxe vychazi z XML, to znamena ze jednotlive tagy jsou uzavreny v <a >. Existuji 2 druhy tagu, parove a neparove. Prikladem paroveho tagu je nadpis: <h1>nadpis</h1> Prikladem neparoveho tagu je zalomeni radky: <br> 5.2 Zakladni formatovaci prvky Aby nase aplikace mela alespon nejakou strukturu, popiseme si par zakladnich formatovacich prvku. Nadpisy Mame nadpisy h1 az h6, h1 je nejvissi uroven a h6 nejnizsi. 15

16 <h1>nadpis</h1> <h2>nadpis</h2> <h3>nadpis</h3> <h4>nadpis</h4> <h5>nadpis</h5> <h6>nadpis</h6> Text Odstavec textu je uzavren v tagu p, zalomeni radky se dela momoci tagu br. <p>nejaky text<br>dalsi radka</p> 5.3 Odkazy Odkazy se pouzivaji pro pohyb mezi strankami (pohledy). Obcas mohou udelat nejakou akci nebo neco nastavit. Odkazy pouzivaji parovy tag a s jednim povinym parametrem href, ktery ukazuje kam se ma uzivatel presunout po kliknuti na odkaz. Nejaky text <a href="/o-nas/">odkaz</a> Tato ukazka odkazuje na stranku /o-nas/. Aby straka spravne fungovala, musi mit pohled se spravnou /o-nas/ ) def o_nas_view():... 16

17 5.4 Formulare Formulare primarne slouzi k zadavani vstupnich dat od uzivatele. Maji 2 rezimy, jak posilaji data serveru GET a POST. GET parametry jsou predany v url a post parametry v tele requestu. GET parametry se pouzivaji pro formulare ktere nastavuji nejake hodnoty treba ve filtrovani a POST se pouziva pro vetsinu ostatnich formularu, vcetne prihlasovani. Formular se sklada z tagu form a tagu vstupnich poli. Jsou to tagy input, textarea, select. Select ma v sobe jeste opton tagy. Jednoduchy formular co podesle nejakou hodnotu pocet v GET parametru. Tag form ma par atributu, ktere je dobre znat. action - stranku na kterou posila pozadavek, pokud neni vyplnen pouzije soucasnou. method - vyber poslani parametru metodou GET nebo POST. Pokud neni nastaven, pouzije defaultne GET. <form action="/soucet/"> <input type="text" name="prvni"> <input type="text" name="druhy"> <input type="submit" value="odeslat"> </form> Kdyz se trochu podivame na tento kratky formular, vidime ze se posle na url /soucet/ a parametry budou prvni a druhy. Input type submit je tlacitko pro odeslani. 17

18 Kdyz vime ze se parametry predaji momoci GET, pokud vyplnime cisla 1 a 2, url bude vypadat takto: /soucet/?prvni=1&druhy=2. I inputy mohou mit atribut value, ten nastavuje defaultni hodnotu. Pokud jej nevyplnime, pole zustanou prazdne. Toto jsou zaklady prace s formularema, vice informaci urcite najdete na internetu. 18

19 6 Sablony Sablony jsou HTML soubory ktere jsou renderovane sablonovacim jazykem Jinja2 (od stejnych autoru jako flask). Sablony piseme do zvlastniho adresare templates, tam je hleda funkce render template, ktera zajistuje renderovani Jinja2. Priklad 04: Soubor: app.py from flask import Flask app = Flask( name / ) def view(): return flask.render_template( index.html ) if name == main : app.debug = True app.run() Soubor: templates/index.html Hello from template Se sablonami Jinja2 umi delat kouzla, my si ukazeme jenom nektere zakladni z nich. 6.1 Promenne Zakladni funkcionalita, ktera je nezbytna pro praci s sablonami, jsou promenne. Promenne se zapisuji do dvojtych slozenych zavorek. Takto se do template vlozi promenna: 19

20 {{ promenna }} Predane z pohledu Do sablony muzeme dosazovat promenne nejcasteji z pohledu a pracovat s nimi. a nastavuji se funkci render template jako kwargs. Priklad 05: Soubor: / ) def view(): now = datetime.datetime.now() return flask.render_template( index.html, now=now) Soubor: templates/index.html Now is {{ now }} Promennych muze byt dosazeno samozrejmne / ) def view(): now = datetime.datetime.now() timestamp = time.time() return flask.render_template( index.html, now=now, timestamp=timestamp) Soubor: templates/index.html Now is {{ now }}, timestamp is {{ timestamp }}. 20

21 6.1.2 Definice v sablone Promennou muzete take zadefinovat primo v sablone. Dela se to velmi jednoduse, pomoci tagu set. Soubor: templates/index.html {% set name = Ondrej %} Hello {{ name }}! a do browseru vypise Hello Ondrej! 6.2 Vkladani (include) Pokud do sablony chceme vlozit jiny soubor, muzeme pouzit tag include. Soubor: templates/index.html Hello from template {% include footer.html %} Soubor: templates/footer.html <p>my awesome site</p> V prohlizeci pak uvidite: Hello from template My awesome site Do includovane sablony se predavaji vsechny promenne, takze je muzete pouzivat. Pokud promennou nemate definovanou, muzete ji zadefinovat primo v include tagu. Soubor: templates/index.html Hello from template 21

22 {% include footer.html with author= Ondrej Sika %} Soubor: templates/footer.html <p>my awesome site ({{ author }})</p> V prohlizeci pak uvidite: Hello from template My awesome site (Ondrej Sika) 6.3 Rozsirovani (extends) Extends se v praxi pouziva mnohem vice nez include. Rozsirovani funguje obracene nez include. Nami definovane bloky z aktualni sablony vlozi na bloky sablony definovane v tagu extends. Priklad s patickou muzeme prepsat s pouzitim extends. Tag extends musi byt jako prvni v sablone. Definice bloku je mezi {% block %} a {% endblock %}. Soubor: templates/index.html {% extends base.html %} {% block content %} Hello from template {% endblock content %} Soubor: templates/base.html {% block content %}{% endblock %} <p>my awesome site</p> V prohlizeci pak uvidite to same jako s pouzitim include: Hello from template My awesome site 22

23 Na tomto kratkem prikladu se to zda zbytecne. Vyhodou je ze pokud chete definvat vice mist kam neco vkladat dynamicky a nekde mit zakladni prvky, staci mit pouze jeden base.html a vice blocku, s pouzitim include by to bylo velmi obtizne a museli by jste pouzit vice nez 1 vlozeny soubor. 6.4 Podminky V sablonach muzeme vyuzivat podminky IF. Jeji syntaxe je velmi intuitivni. {% if variable %} Value is {{ variable }} {% endif %} Nebo muzeme pouzit jeste pouzit block else. Potom to vypada takthe. {% if variable %} Value is {{ variable }} {% else %} No value {% endif %} 6.5 Cykly V sablone pouzivame pouze for cyklus. {% for element in iterable %} <p>prvek je "{{ element }}"</p> {% endif %} 23

24 Pokud chceme v cyklu zjistit, kolikata je to iterace slouzi nam k tomu promenna loop.index. {% for element in iterable %} <p>prvek je {{ loop.index }} "{{ element }}"</p> {% endif %} Pokud mame v promenne iterable seznam [ a, b, c ], potom prvni cyklus vypise: Prvek je "a" Prvek je "b" Prvek je "c" A druhy vypise: Prvek 1 je "a" Prvek 2 je "b" Prvek 3 je "c" 24

25 7 Data od uzivatele Uz umime delat mozne i nemozne veci se sablonami, udelat vice stranek, ale zatim neumime komunikovat s uzivatelem, respektive neumime ziskad od neho nejaka dynamicka data. A k tomu je tato kapitola. 7.1 Parametry v URL Pokud chceme mit elegani url bez nejakych otazniku a rovnase, muzeme definovat promenne jako soucast url. Toto je podle me (i podle Google) lepsi url /article/new-article/ nez /article/?slug=new-article. Jak to udelat? Do definice cesty v app route musime pridat parametr promenne a do funkce ktera definuje pohled jeden argument. Vypada to /article/<slug>/ ) def article_view(slug): # GET Pokud mame hodne ruznych atributu, kde nezalezi na poradi a ani na tom jak bude vypadat url, je vhodnejsi pouzit GET parametry. URL pak muze vypadat takto /api/?version=1&key=time K temto atributum pristupujeme ve Flasku prez promennou flask.request.args. Musime ji nejdriv importovat. 25

26 from flask import /api/ ) def api_view(): version = request.args.get( version ) key = request.args.get( key ) # POST U POST atributu je to podobne. POST atributy jsou vetsinou z nejakeho formulare, proto se k nim ve Flasku pristupujeme prez promenou request.post. Nezapomente na to ze v zakladu je v seznamu povolenych meod pouze GET, pokud chete pohled pouzivat s metodou POST, musite ji v hlavicce povolit. from flask import /form/, methods=[ POST ]) def form_view(): name = request.form.get( name ) = request.form.get( ) #... 26

27 8 Databaze (Dataset) Pristup do databaze prez sql je nad ramec teto knihy, proto popisu pristup k datazi prez velmi jednoduche ORM datasets. Jak auto popisuje Database for lazy people. Pristup je velmi jednoduchy a datasets umi komunikovat s SQLite, PostgreSQL i MySQL. 8.1 Pripojeni k databazy Pripojeni se vytvori funkci dataset.connect a jeji parametr je connection string. Obecny connection string ma tuto podobu: dialect://user:password@host/dbname Jednotlive casti znamenaji toto: dialect - druh databaze (sqlite, postgres,...) user, password - prihlasovaci udaje k databazi host - stroj na kterem databaze bezi dbname - nazev databaze Ukazka pripojeni k SQLite: import dataset db = dataset.connect( sqlite:///:memory: ) Tato ukazka je pripojeni k SQLite, databazi v souboru, ktera nevytvori databazovi soubor, ale zustane v pameti po dobu 27

28 behu prrogramu. Toto pripojeni k databazi budu pouzivat u vetsiny ukazek Sqlite SQLite je v Pythonu nativne podporovana, proto neni treba instalovat zadne knihovny. Pripojeni ke klasickemu SQLite databazovemu souboru vypada takto. db = dataset.connect( sqlite://test.sqlite3 ) Pripojeni do databaze v pameti je predchozi priklad PostgreSQL Pro pouziti postgresu je nutne mit naistalovanou knihovnu psycopg2. Nainstaluje ji prikazem: pip3 install psycopg2 Connectionstring potom vypada takto: db = dataset.connect( postgresql://postgres:pg@localhost: MySQL Pouziti MySQL je stejne jako Postgresu. Take je potreba doinstalovat knihovnu na praci s MySQL mysqldb. pip3 install mysql-db Ukazka mysql connection stringu: db = dataset.connect( mysql://root:asdf@localhost/test ) 28

29 8.2 Ukladani dat Data se uladaji do db ve formatu slovniku. Struktura se vytvari dynamicky, neni treba predem definovat. To je velmi prijemne. Pokud chceme pridat uzivatele do tabulky users (pokud tabulka neexistuje tak si ji dataset vytvori), staci zavolat na tabulku metodu insert se slovnikem s daty. table = db[ user ] table.insert({ name : sika, country : CZ }) table.insert({ name : karel, country : CZ }) Pokud budeme chtit pridat vice dat, dataset sam prida dalsi sloupecky. table.inser({ name : novak, country : SK, pass : hes Pokud v tabulce jsou nejaka data, nove sloupecky budou null. 8.3 Nacitani dat Do promenne users nacte vsechny radky z DB. users = db[ user ].all() Nebo se da pouzit bez te metody all. for user in db[ user ]: print(user[ name ]) Nacte seznam vsech ceskych uzivatelu. czech_users = table.find(country= CZ ) Vybere jeden radek. 29

30 sika = table.find_one(name= sika ) Vybere unikatni zaznamy podle zeme. Pro kazdy stat bude vracen jeden uzivatel. db[ user ].distinct( country ) 8.4 Informace o databazi Tabulky v databazi >>> print(db.tables) [u user ] Sloupecky tabulky >>> print(db[ user ].columns) [u id, u country, u age, u name, u gender ] Pocet radku v tabulce >>> print(len(db[ user ])) 2 30

31 9 Session Pro pouzivani sessions je dulezite pro jejich bezpecnost mit nastaveny secret key. Je dobre ho nastavit hned za inicializaci Flasku. app = Flask( name ) app.secret_key = ultra safe key 31

32 10 Deployment 10.1 Deploy Cloud Heroku Openshift 10.3 Rucne Gunicorn Gunicorn je asynchroni WSGI server, ktery je navrzen na produkcni provoz. Muzeme samozrejme pouzit app.run(), ale vetsi zatez by tento server nezvladnul. Gunicorn nainstalujeme prikazem: apt-get install gunicorn Gunicorn ma hodne moznosti behu, ale nam bude stacit zakladni nastaveni. Ma jako argument nazev souboru:wsgi app. Pro nas to je app:app. Potom je pro nas dulezity -b, to je parametr ktery nastavuje kde posloucha muzeme pouzit unix socket nebo host a port. Ukazka spusteni host a port: gunicorn app:app -b :8000 gunicorn app:app -b unix:///tmp/testapp.sock 32

33 K unix socketu se pote pripoji nginx, ktery bude nase data dale servirovat svetu Supervisor Supervizor spravuje ruzne bezici procesy v systemu, zarizuje spusteni procesu po startu systemu atd. Supervisor ma konfiguracni soubory v /etc/supervisor a vlastni konfiguracni soubory piseme do /etc/supervisor/conf.d/ s priponou.conf. V konfiguracnim souboru je jmeno aplikace, prikaz kterym se spousti a adresar ze ktereho se spouzti. To nam pro zacatek staci. Ukazka supervisor konfigurace pro gunicorn s unix socketem: Soubor /etc/supervisor/conf.d/testapp.cz.conf : [application:testapp]... Po pridani konfigurace musime prenacist supervisor, dela se to prikazem: supervisor reload Za par vtenin aplikace nabootuje. Pokud chcete aplikaci vypnout, zapnout nebo restartovat, pouzijte tyto prikazy: supervisor stop testapp supervisor start testapp supervisor restart testapp Pokud aplikaci zmenite, nebo nasadite novou verzi, je nutne potom provest jeji restart. 33

34 Nginx Nginx je webovy server, ktery funguje jako proxy server k nasemu aplikacnimu serveru (gunicorn). Take se stara o staticke soubory. Je napsany v C a proto je hodne rychly. Nginx nainstalujeme prikazem: apt-get install nginx Konfiguracni soubory jsou v /etc/nginx. Definice jednotlivich serveru (mysleno aplikace) se nachazi v /etc/nginx/sitesavailable. Vytvorte tam soubor treba podle domeny: Soubor /etc/nginx/sites-available/testapp.cz: server { listen 80; #... } Pokud chcete tuto aplikaci spustit, musite pridat symlink do adresare /etc/nginx/sites-enabled. Link vytvorime takto: ln -s /etc/nginx/sites-available/testapp.cz \ /etc/nginx/sites-enabled/ Potom staci jen restartovat nginx prikazem: service nginx restart 34

35 11 Shrnurti Doufam, ze vam tato kniha dala potrebne rady k tomu, jak si zprovoznit svuj prvni web na Pythonu. Doufam, ze se vam libila. Prosim, napiste mi vas nazor a pripominky na ondrej@ondrejsika.com a neco tweetnete :) Za zpetnou vazbu budu velmi rad. 35

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu Django Django Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu Instalace Django ve Windows Nutné mít nainstalovaný Python Ověříte příkazem py --version Stáhnout

Více

DUM 14 téma: Interakce s uživatelem

DUM 14 téma: Interakce s uživatelem DUM 14 téma: Interakce s uživatelem ze sady: 2 tematický okruh sady: Tvorba statických www stránek s použitím CSS ze šablony: 08 Internet určeno pro: 3. ročník vzdělávací obor: 18-20-M/01 Informační technologie

Více

Django Urls, views, templates

Django Urls, views, templates Django Urls, views, templates Django URL Adresa URL je webová adresa, která je vidět v adresním řádku prohlížeče Například 127.0.0.1:8000 nebo https://djangoproject.com V Djangu používáme tzv. URLconf

Více

PHP a Large Objecty v PostgreSQL

PHP a Large Objecty v PostgreSQL PHP a Large Objecty v PostgreSQL Pavel Janík ml. http://www.janik.cz PHP a Large Objecty v PostgreSQL 1 Jazyk PHP je velmi mocným jazykem pro vývoj webových aplikací. Má podporu snad všech velkých i menších

Více

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);

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5); Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace

Více

Django, 2. cvičení url, views, templates. Úvod

Django, 2. cvičení url, views, templates. Úvod Django, 2. cvičení url, views, templates. Úvod Views v djangu jsou funkce (definovány ve views.py souboru aplikace, na které jsou mapovány URL adresy. Jejich úkolem je vrátit odpověď na HTTP požadavek.

Více

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč Bottle -- příklad V tomto příkladu se pokusíme vytvořit malou aplikaci umožňující psát jednoduché poznámky. Databáze Nejprve je třeba vytvořit v databázovém serveru uživatele (pokud už není vytvořen) a

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

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0 Implementace LMS MOODLE na Windows 2003 Server a IIS 6.0 Obsah 1 ÚVOD... 3 1.1 Instalace PHP... 3 1.1.1 Nastavení práv k adresáři PHP... 3 1.1.2 Úprava souboru php.ini... 4 1.1.3 Proměnné prostředí...

Více

Základy HTML. Autor: Palito

Základy HTML. Autor: Palito Základy HTML Autor: Palito Zobrazení zdrojového kódu Zobrazení zdrojového kódu Každá stránka je na disku nebo na serveru uložena ve formě zdrojového kódu. Ten kód je psaný v jazyce HTML. Když si chcete

Více

MS SQL Server 2008 Management Studio Tutoriál

MS SQL Server 2008 Management Studio Tutoriál MS SQL Server 2008 Management Studio Tutoriál Vytvoření databáze Při otevření management studia a připojením se ke konkrétnímu sql serveru mám v levé části panel s názvem Object Explorer. V tomto panelu

Více

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 18.4.2017 Webové technologie RIA, SPA, AngularJS - šablony a controllery, služby $scope a $http strana 2 RIA - Rich Internet Application Chová se podobně jako desktopová

Více

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 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

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

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Od CGI k FastCGI Ondřej Caletka 5. října 2013 Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) Od CGI k FastCGI 5. října 2013 1 / 18 Obsah 1 Common

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

8 Třídy, objekty, metody, předávání argumentů metod

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

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

Prototyping konfigurace linuxových serverů. horizontální škálování Deltacloud API

Prototyping konfigurace linuxových serverů. horizontální škálování Deltacloud API Prototyping konfigurace linuxových serverů horizontální škálování Deltacloud API 2 Prototyping IT infrastructury v cloudu 3 Prototyping IT infrastructury v cloudu Prototyping IT infrastructury v cloudu

Více

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

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

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

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

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

Více

24.5.2008 Jaku b Su ch ý 1

24.5.2008 Jaku b Su ch ý 1 Drupal API 24.5.2008 Jaku b Su ch ý 1 Témata Práce s databází Bezpečnost práce s Drupalem Forms API Jak udělat vlastní modul Hooks Lokalizace 24.5.2008 Jaku b Su ch ý 2 Práce s databází Drupal poskytuje

Více

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

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

Více

Popis logování v aplikačním serveru

Popis logování v aplikačním serveru Popis logování v aplikačním serveru Zpracoval: Tomáš Urych U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 3.10.2011 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz Dne: 26.3.2018

Více

17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/

17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ 17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ Úvod 1 Úvod Nedávno jsem zveřejnil návod na vytvoření návštěvní knihy bez nutnosti použít databázi. To je výhodné tehdy, kdy na serveru

Více

Návrh a tvorba WWW stránek 1/8. Formuláře

Návrh a tvorba WWW stránek 1/8. Formuláře Návrh a tvorba WWW stránek 1/8 Formuláře význam předávání hodnot od uživatele skriptům mezi značkami a základní atributy action definuje obslužný skript, nelze v XHTML method metoda, kterou

Více

Programování v jazyce JavaScript

Programování v jazyce JavaScript Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Dědičnost objektů BI-JSC Evropský sociální fond

Více

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS Obsah Napojení...3 programu COSMED Omnia Nastavení...3 MEDICUS Přidání...3 externího programu COSMED Omnia Přidání...4 ikony do panelu nástrojů Nastavení...5 COSMED Omnia Postup...5 při vyšetření pacienta

Více

Správa linuxového serveru: Zprovoznění Ruby aplikací s RVM, Thin a Nginx

Správa linuxového serveru: Zprovoznění Ruby aplikací s RVM, Thin a Nginx Home» Články» Praxe» Správa linuxového serveru» Správa linuxového serveru: Zprovoznění Ruby... Předchozí kapitola Zpět na obsah Následující kapitola Správa linuxového serveru: Zprovoznění Ruby aplikací

Více

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

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

Více

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

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal Aplikační vrstva Úvod do Php Ing. Martin Dostal Co to je PHP? php soubory se nekompilují, interpret je spouští přímo bez překladu php běží na serveru php soubor je.txt soubor obsahující php kód: Zkrácený

Více

Základy HTML, URL, HTTP, druhy skriptování, formuláře

Základy HTML, URL, HTTP, druhy skriptování, formuláře Základy HTML, URL, HTTP, druhy skriptování, formuláře Skriptování na straně klienta a serveru Skriptování na straně klienta se provádí pomocí programovacího jazyka JavaScript, který je vkládán do HTML

Více

CMSSS manuál k použití http://www.mezulanik.cz

CMSSS manuál k použití http://www.mezulanik.cz CMSSS manuál k použití http://www.mezulanik.cz CMSSS je redakční systém napsaný v jazycích PHP a MySQL. Vše je navrženo tak, aby weby postavené na tomto systému mohli spravovat i nezkušení uživatelé. Největší

Více

WNC::WebNucleatCreator

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

Více

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

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

Více

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

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

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

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Anotace sady: Dynamické internetové stránky, VY_32_INOVACE_PRG_PHP_01 Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Stupeň a typ vzdělávání: gymnaziální vzdělávání, 4. ročník

Více

Instalační manuál aplikace

Instalační manuál aplikace Instalační manuál aplikace Informační systém WAK BCM je softwarovým produktem, jehož nástroje umožňují podporu procesního řízení. Systém je spolufinancován v rámci Programu bezpečnostního výzkumu České

Více

Formuláře. Internetové publikování. Formuláře - příklad

Formuláře. Internetové publikování. Formuláře - příklad Formuláře Internetové publikování Formuláře - příklad 1 Formuláře - použití Odeslání dat od uživatele Možnosti zpracování dat Webová aplikace na serveru (ASP, PHP) Odeslání e-mailem Lokální script Formuláře

Více

Instalace Microsoft SQL serveru 2012 Express

Instalace Microsoft SQL serveru 2012 Express Instalace Microsoft SQL serveru 2012 Express Podporované OS Windows: Windows 7, Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Server 2012,

Více

Site - Zapich. Varianta 1

Site - Zapich. Varianta 1 Site - Zapich Varianta 1 1. Koncovy uzel PC1 overuje pres PING konektivitu uzlu PC3. Jaky bude obsah ethernetoveho ramce nesouciho ICMP zpravu od PC1 na portu Fa0/3 SW1? SRC address: MAC_PC1 DST address:

Více

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE X33EJA Security, Realms Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE 'web.xml' 'glassfish-web.xml' dále nutno nastavit realm v admin. konzoli GF 1

Více

Formuláře. Aby nám mohli uživatelé něco hezného napsat...... třeba co si o nás myslí!

Formuláře. Aby nám mohli uživatelé něco hezného napsat...... třeba co si o nás myslí! Formuláře Aby nám mohli uživatelé něco hezného napsat...... třeba co si o nás myslí! HTML formuláře: Formuláře Možnost, jak uživatel může vložit obsah na web - odeslat data na server - zpracovat data ve

Více

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

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

Více

FIO API PLUS. Verze 1.1.1

FIO API PLUS. Verze 1.1.1 FIO API PLUS Verze 1.1.1 www.fio.cz Verze 29. 5. 2015 OBSAH: 1 FUNKČNÍ POPIS... 2 2 INSTALACE APLIKACE... 2 3 ZÍSKÁNÍ TOKENU... 2 4 PŘIDÁNÍ ÚČTU / TOKENU DO APLIKACE... 3 5 STAŽENÍ DAT... 3 Periodické

Více

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) 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

Více

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

Více

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

Více

Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06

Audit DB. Referát. Vypracoval: Zdeněk Doležal MFF UK Praha 11/5/06 Audit DB Referát Vypracoval: Zdeněk Doležal zdenek.dolezal@gmail.com MFF UK Praha 11/5/06 Obsah 1.Audit databáze...3 Co to je audit db?...3 Kdy a jaký audit bychom měli použít?...3 Udržování informací

Více

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

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_DYN.1.19 Název materiálu: 19 PHP- Základy práce s databází PHP 2. část MySQL (Aplikace knihovna) Anotace Autor Jazyk Očekávaný výstup DUM je žákům průvodcem vytvoření databáze knih

Více

Semestrální projekt do předmětu SPS

Semestrální projekt do předmětu SPS Semestrální projekt do předmětu SPS Název projektu: Instalace a provoz protokolu IPv6 v nových verzích MS Windows (XP). Ověření proti routerům Cisco a Linux. Cíl projektu: Autoři: Cílem tohoto projektu

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

Instalace SQL 2008 R2 na Windows 7 (64bit)

Instalace SQL 2008 R2 na Windows 7 (64bit) Instalace SQL 2008 R2 na Windows 7 (64bit) Pokud máte ještě nainstalovaný MS SQL server Express 2005, odinstalujte jej, předtím nezapomeňte zálohovat databázi. Kromě Windows 7 je instalace určena také

Více

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í

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í 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í HTML/XHTML kaskádové styly PHP spolupráce PHP s databázemi Technologie

Více

Internet cvičení. ZS 2009/10, Cvičení 4.,15.12.2009 PHP. Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz

Internet cvičení. ZS 2009/10, Cvičení 4.,15.12.2009 PHP. Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz Internet cvičení ZS 2009/10, Cvičení 4.,15.12.2009 PHP Tomáš Pop DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Generování tabulky

Více

Internet cvičení. ZS 2009/10, Cvičení 3.,8.12.2009. Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz

Internet cvičení. ZS 2009/10, Cvičení 3.,8.12.2009. Tomáš Pop. DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz Internet cvičení ZS 2009/10, Cvičení 3.,8.12.2009 Tomáš Pop DISTRIBUTED SYSTEMS RESEARCH GROUP http://dsrg.mff.cuni.cz CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Java Script obecně Moc

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

Informační systém pro e-learning manuál

Informační systém pro e-learning manuál Informační systém pro e-learning manuál Verze 1.00 Úvod Tento dokument popisuje způsob práce s informačním systémem pro elektronické vzdělávání. Systém je určený pro vytvoření elektronického kurzu a jeho

Více

Instalace produktu Ontopia. ver. 5.0.2 (open-source verze)

Instalace produktu Ontopia. ver. 5.0.2 (open-source verze) Instalace produktu Ontopia ver. 5.0.2 (open-source verze) Martina Husáková 1.2.2010 PÁR SLOV ÚVODEM Produkt společnosti Bouvet Ontopia (dříve Ontopia Knowledge Suite OKS) je jedním z nejpoužívanějších

Více

5. POČÍTAČOVÉ CVIČENÍ

5. POČÍTAČOVÉ CVIČENÍ 5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze

Více

Pokročilé funkce a časté chyby. Petr Ferschmann FlexiBee Systems s.r.o.

Pokročilé funkce a časté chyby. Petr Ferschmann FlexiBee Systems s.r.o. Pokročilé funkce a časté chyby Petr Ferschmann FlexiBee Systems s.r.o. Filtrace /c/firma/adresar/(nazev like 'Firma') vlastnost operátor hodnota and, or, not, ( ) operátory: =, , =, in, between

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

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

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

Více

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

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

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková Ruby on Rails Bc. Tomáš Juřík Bc. Bára Huňková Co nás dnes čeká? Ruby (programovací jazyk) Ruby on Rails (webový framework) Praktická ukázka Ruby (programovací jazyk) Ruby (programovací jazyk) Skriptovací

Více

Vazba ESO9 na MS Outlook a MS Exchange

Vazba ESO9 na MS Outlook a MS Exchange Vazba ESO9 na MS Outlook a MS Exchange Zpracoval: Kočíbová Jana U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 24.6.2011 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Urych Tomáš www.eso9.cz Dne:

Více

Dynamické stránky v praxi. Bedřich Košata

Dynamické stránky v praxi. Bedřich Košata Dynamické stránky v praxi Bedřich Košata Reálné scénáře Statické stránky + dynamický search Všechno dynamické spousta práce a opakujících se úkolů SQL není příliš přenosné mezi databázovými systémy =>

Více

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator APS Web Panel Rozšiřující webový modul pro APS Administrator Webové rozhraní pro vybrané funkce programového balíku APS Administrator Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská

Více

03 - Základy editace dynamických stránek

03 - Základy editace dynamických stránek Dynamické WWW stránky V předchozí kapitole byly popsány tagy jazyka HTML, kterým se říká statické. Jinými slovy, lze jimi vytvořit plnohodnotnou a kvalitní statickou stránku. To znamená, že stránka sice

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

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.

Více

Formátování pomocí stylů

Formátování pomocí stylů Styly a šablony Styly, šablony a témata Formátování dokumentu pomocí standardních nástrojů (přímé formátování) (Podokno úloh Zobrazit formátování): textu jsou přiřazeny parametry (font, velikost, barva,

Více

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

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

Více

HTML - Úvod. Zpracoval: Petr Lasák

HTML - Úvod. Zpracoval: Petr Lasák HTML - Úvod Zpracoval: Petr Lasák Je značkovací jazyk, popisující obsah HTML stránek Je z rodiny SGML jazyků, jako např. XML, DOCX, XLSX Nejedná se o programovací ale značkovací jazyk Dynamičnost dodávají

Více

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

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

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4. Základy programování 4 - C# - 9. cvičení Radek Janoštík Univerzita Palackého v Olomouci 10.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.2017 1 / 13 Reakce na

Více

Průvodce instalací modulu Offline VetShop verze 3.4

Průvodce instalací modulu Offline VetShop verze 3.4 Průvodce instalací modulu Offline VetShop verze 3.4 Úvod k instalaci Tato instalační příručka je určena uživatelům objednávkového modulu Offline VetShop verze 3.4. Obsah 1. Instalace modulu Offline VetShop...

Více

Databáze I. Přednáška 4

Databáze I. Přednáška 4 Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice

Více

M4 PDF rozšíření. Modul pro PrestaShop. http://www.presta-addons.com

M4 PDF rozšíření. Modul pro PrestaShop. http://www.presta-addons.com M4 PDF rozšíření Modul pro PrestaShop http://www.presta-addons.com Obsah Úvod... 2 Vlastnosti... 2 Jak modul funguje... 2 Zdroje dat... 3 Šablony... 4 A. Označení šablon... 4 B. Funkce Smarty... 5 C. Definice

Více

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat

Více

NAS 323 NAS jako VPN Server

NAS 323 NAS jako VPN Server NAS 323 NAS jako VPN Server Naučte se používat NAS jako VPN server A S U S T O R C O L L E G E CÍLE KURZU V tomto kurzu se naučíte: 1. Nastavit ASUSTOR NAS jako VPN server a připojit se k němu z počítačů

Více

Dispatcher PDA Dokumentace

Dispatcher PDA Dokumentace Dispatcher PDA Dokumentace květen 2005 1 Obsah: 1. Základní popis programu 2. Blokové schéma zapojení 3.1. Úvodní obrazovka 3.2. Zahájení jízdy 3.3. Ukončení jízdy 3.4. Záznam o tankování 3.5. Události

Více

Programování v Pythonu

Programování v Pythonu ƒeské vysoké u ení technické v Praze FIT Programování v Pythonu Ji í Znamená ek P íprava studijního programu Informatika je podporována projektem nancovaným z Evropského sociálního fondu a rozpo tu hlavního

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

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

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

Více

FFUK Uživatelský manuál pro administraci webu Obsah

FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu... 1 1 Úvod... 2 2 Po přihlášení... 2 3 Základní nastavení webu... 2 4 Menu... 2 5 Bloky... 5 6 Správa

Více

MODERNÍ WEB SNADNO A RYCHLE

MODERNÍ WEB SNADNO A RYCHLE SNADNO A RYCHLE Marek Lučný Pavoučí síť přes celý svět Co prohlížeče (ne)skrývají Tajemný kód HTML Všechno má svůj styl Interaktivní je IN Na obrazovce i na mobilu Začni podle šablony Informace jsou základ

Více

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Práce s knihovnami Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 04/2016, Lekce 7 https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start

Více

Nastavení propojení s eshopem

Nastavení propojení s eshopem Nastavení propojení s eshopem Vytvoření párovacích polí na databázi eshopu pozn.: V názvu některých polí je text "pohoda", tyto pole však slouží k napojení všech učetních systémů. Pole "guid" jsou specifická

Více

X36 WWW Šablony Martin Klíma xklima@fel.cvut.cz Čtryřvrstvá architektura Server Klient Prezentační logika Aplikační Logika Databáze 2 Výhody Jednotlivé vrstvy jsou nezávislé Lze je samostatně spravovat

Více

1 Tabulky Příklad 3 Access 2010

1 Tabulky Příklad 3 Access 2010 TÉMA: Vytvoření tabulky v návrhovém zobrazení Pro společnost Naše zahrada je třeba vytvořit databázi pro evidenci objednávek o konkrétní struktuře tabulek. Do databáze je potřeba ještě přidat tabulku Platby,

Více

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod:

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod: Internetový prohlížeč CHROME Pro správné fungování veškerých funkcionalit, které nám nástroje společnosti Google nabízí, je dobré používat prohlížeč Chrome. Jeho instalaci je možné provést z webové adresy:

Více

Kontingenční tabulky v MS Excel 2010

Kontingenční tabulky v MS Excel 2010 Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data

Více

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

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

Více

Instalace MS SQL Server Express a MS SQL Server Management Express

Instalace MS SQL Server Express a MS SQL Server Management Express Instalace MS SQL Server Express a MS SQL Server Management Express Následující kroky popisují instalaci SQL serveru 2005 Express. Důležitá nastavení jsou popsána u jednotlivých obrázků. Jednotlivé kroky

Více

APS Administrator.OP

APS Administrator.OP APS Administrator.OP Rozšiřující webový modul pro APS Administrator Přehled přítomnosti osob v oblastech a místnostech Instalační a uživatelská příručka 2004 2013,TECH FASS s.r.o., Věštínská 1611/19, Praha,

Více

Redakční systém Joomla. Prokop Zelený

Redakční systém Joomla. Prokop Zelený Redakční systém Joomla Prokop Zelený 1 Co jsou to red. systémy? Redakční systémy (anglicky Content Management System - CMS) jsou webové aplikace používané pro snadnou správu obsahu stránek. Hlavním cílem

Více

Vytvoření pokročilé Fotogalerie v Drupalu - Views

Vytvoření pokročilé Fotogalerie v Drupalu - Views Vytvoření pokročilé Fotogalerie v Drupalu - Views Views Máme tři pohledy: gallery_photos, all_galeries, admin_gallery Buď je můžete vytvořit podle návodu níže, nebo importovat z přiložených txt souborů

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více