Sova v síti - 1/26 - vydáno 15.10.2001
Dobrý den, končí pondělí a je zde vaše Sova v síti :-)
OBSAH
-- Dokument nebo aplikace?
-- PHP a databáze I
-- Bílá pastelka
-- Novinky u Petra Kocny
-- WebDeSession Brno 3/2001
-- Odpovídáme na dotazy čtenářů
Na úvod dnešního čísla nám dovolte 2 omluvy. První se týká změny
plánovaného obsahu. Pavel Šimek zareagoval na poslední článek
Martina Kopty (Kdy použít javascript, a jak) a přispěl vlastním
pohledem na věc v článku "Dokument nebo aplikace". Neplánovaně
a o to aktuálněji též zařazujeme informaci o projektu
Bílá pastelka.
A protože Sova (a hlavně vaše schránky) nejsou nafukovací,
přesunuli jsme původně ohlášený článek o vyhledávači Atomz
do příštího čísla.
Druhá omluva se týká článku "Pevná mezera v HTML" z minulého
čísla. Technickou chybou při zpracování textu došlo k tomu, že
všechny v článku uvedené pevné mezery byly nahrazeny ... inu,
pevnou mezerou ;-)
Kdo tedy nevěděl, že se pevná mezera zapisuje v HTML kódem
, z článku se to nedozvěděl. Pro jistotu tedy opakujeme
jeden z příkladů v článku, tentokrát snad již správně:
Tohle je příklad s pevnou mezerou.
DOKUMENT NEBO APLIKACE?
Pavel Šimek
Je webová stránka dokumentem nebo aplikací? Domnívám se, že tuto
otázku, kterou si už dnes – ať vědomě či podvědomě – klade čím
dál víc webdesignerů, se budeme muset naučit jednoznačně vyřešit
před začátkem návrhu každého projektu. V současnosti si řešení
této otázky komplikujeme snahou o přístupnost stránky co
nejširšímu záběru uživatelů. Tato snaha – všeobecně považována
za ušlechtilou – podle mě nemusí vždy vést k nejlepšímu řešení
z hlediska celkové internetové strategie.
Jazyk HTML lze už dnes vnímat dvěma naprosto odlišnými způsoby.
Tradičně jako značkovací jazyk, který aplikujeme na text
za účelem jeho strukturování (a následného formátování). Nově
však jako jazyk pro vytváření knihoven objektů, které teprve
ve spojení s JavaScriptem a CSS dostanou podobu aplikace, se
kterou může uživatel pracovat. Bez skriptů a stylů je to jen
nečitelná hromada dat.
Jsem velmi skeptický ke snahám o kompromis mezi těmito dvěma
extrémy. Budeme-li se neustále úzkostlivě snažit, abychom jedinou
verzí své "dokumentoaplikace" postihli jak uživatele PC
s moderním browserem, tak i milovníka textového prohlížeče,
mobilního telefonu a nevidomého uživatele odkázaného na hlasový
výstup, nutně dojdeme k tomu, že plně neuspokojíme ani jednoho
z nich, resp. nevyužijeme potenciálu, který se pro každého z nich
nabízí.
Představme si složitou stránku portálovitého typu, uprostřed
které se krčí anketa – oblíbená součást takových stránek.
Rozhodneme-li se hlasovat kliknutím na některou volbu, celá
stránka se začne znovu načítat, aby se aktualizoval pouze graf
ankety. Nevím jak vás, ale mě obvykle vidina tohoto obnovování
stránky od hlasování nakonec odradí. Přitom pomocí dynamického
HTML by toto bylo možné řešit mnohem efektivněji – po provedeném
hlasování by se kontaktoval server, provedl zápis do databáze,
přijal výsledek v podobě několika bajtů dat a ten by se
zapracoval zpět do grafu na stránce, aniž by se cokoliv jiného
pohnulo.
Jde o příklad využití prostředků dynamického HTML (tedy především
JavaScriptu) ke zcela zásadnímu zefektivnění webové aplikace,
nikoliv pouze k doplnění stránky o atraktivní ovládací prvky.
Značná část práce uživatele s aplikací by se mohla odehrávat na
jediné stránce, což je jistě pro uživatele přirozenější.
Stránka se však tím stane závislou na JavaScriptu. Pokud tedy
dnes toto řešení zavrhujeme, pak je to s ohledem na ony
"netypické" uživatele, kteří používají prohlížeč s problematickou
nebo žádnou podporou JavaScriptu. Škála nejrůznějších zařízení,
na kterých budeme přijímat internetový obsah, se ovšem bude
nadále rozšiřovat, propast mezi nimi zvětšovat. Domnívám se, že
odpovědí na tento trend bude muset být několik naprosto odlišných
verzí jednoho webu, pro odlišné skupiny uživatelů – zřetelná
dělící čára přitom povede právě tam, kde končí dokument a začíná
aplikace.
Uvedený příklad složité stránky s anketou je typickým kandidátem
na zpracování formou plnohodnotné aplikace (nikoliv pouze
"oživlého hypertextu") na bázi dynamického HTML. Tuto verzi jistě
nadšeně uvítají uživatelé plnohodnotných moderních prohlížečů.
Naopak potřeby nevidomého uživatele nebo majitele jednoduchého
mobilního zařízení nevyřešíme pouhým zavrhnutím JavaScriptu. Jak
jsou asi dnes tito uživatelé nadšeni ze zmiňované stránky
s anketou, když po provedeném hlasování se jim začne na malý
displej vypisovat nebo hlasem předčítat opět celá stránka shora
dolů? Pro ně bude jistě vhodnější web řešený jako hypertextový
systém tvořený množstvím jednoduchých a krátkých dokumentů.
Základními pilíři dynamického HTML jsou CSS a JavaScript. Co
se týče CSS, není sporu o tom, že čím důslednější je jejich
využívání, tím lépe – ať už tvoříme jednoduchý dokument nebo
složitou aplikaci. Komplikovanější situace je s JavaScriptem.
Zde naopak velmi záleží na tom, zda směřujeme k tvorbě dokumentu
nebo aplikace. V prvním případě nám jde o to, aby stránka
neztratila nic ze své funkčnosti ani tehdy, jsou-li skripty
ignorovány. JavaScript je zde pouze třešničkou na dortě a tipy
pro takové jeho využití dobře shrnuje Martin Kopta v článku "Kdy
použít JavaScript, a jak" (Sova v Síti 1/25, 8.10.2001).
Rozhodneme-li se však směřovat k aplikaci, bude role JavaScriptu
úplně jiná – stránka bude mít smysl pouze s funkčními skripty.
HTML dokument bez skriptů (navíc většinou i bez stylesheetu,
protože podpora JavaScriptu a CSS jdou obvykle ruku v ruce) bude
mít podobu nečitelné knihovny objektů a bude tedy nežádoucí ji
vůbec zobrazovat. Není třeba se bát tohoto řešení. Je ale nutné
dobře vědět, kterých uživatelů se týká a pro které bude
nepoužitelné – na základě širší strategie se pak musíme
rozhodnout, zda je budeme ignorovat nebo pro ně připravíme
alternativní řešení.
Pro koho tedy bude naše aplikace dynamického HTML určena? To
záleží na tom, jakými prostředky ji vybudujeme. Stejně jako
v případě všech ostatních technologií, i zde platí, že nejvíce
prospějeme jejich rozvoji striktním dodržováním existujících
standardů. Zde je to především Document Object Model
(http://www.w3.org/DOM/), který definuje rozhraní mezi skriptem
a objekty HTML dokumentu. Nové verze prohlížečů, které jsou již
přátelské ke standardům W3C, podporují DOM už do té míry, že lze
najít spolehlivou podmnožinu jazykových konstrukcí, na jejichž
základě lze budovat naše aplikace. Není již nutné komplikovat
skripty odstíněním rozdílů mezi prohlížeči a jejich verzemi
a s každou novou verzí prohlížeče se strachovat, zda naše
aplikace bude stále fungovat.
Nebojme se tedy ve vhodných případech opustit všeobecně
převládající přístup k tvorbě webů spočívající v hledání
kompromisu, který uspokojí každého, avšak nevyužije plně
potenciál dostupných technologií. Ostatně investice do více
verzí webu pro různé skupiny uživatelů se může vrchovatě vrátit
v podobě užitku z mnohem efektivnějšího oslovení každé z těchto
skupin.
(c) 2001 -- Pavel Šimek, pas@nestor.cz
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Doporučte sovu v síti vašim přátelům. Přepošlete jim toto číslo,
nebo použijte formulář na http://www.sovavsiti.cz/recommend.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PHP A DATABÁZE I
Martin Jelínek
V minulých dílech seriálu o PHP jsme probrali příklady skriptů,
které mužeme použít na svých stránkách. Nyní již známe základy
PHP, a proto se začneme věnovat v dnešním i v mnoha dalších
dílech databázím, a to MySQL. Dnes si ukážeme, jak tvořit tabulky
a práci s nimi.
Instalaci MySQL jsem sice zminoval v některém z předchozích dílů,
ale pro jistotu si jí zopakujeme.
Na http://www.mysql.cz/ si stáhněte verzi pro váš OS. Rozbalte
stažený soubor a nainstalujte do adresáře c:\mysql. Poté najděte
v c:\windows\php.ini, najděte řádku ;extension=php_mysql.dll
a změňte jí na extension=php_mysql.dll. Jinak NIC neupravujte!!.
Asi byste měli restartovat počítač. Poté si spusťte příkazový
řádek a najeďte do adresáře c:\mysql\bin a spusťte soubor mysqld-
shareware.exe. Tím spustíte službu MySQL. Po dokoncení napište
mysql test a spustí se okno MySQL. To ukončíte príkazem exit.
Poté napište mysql.
Tabulky se používají k ukládání dat, vzorců, atd. Vlastně celé
programování v databázích je založeno na tabulkách ve kterých je
uloženo vše. Pokud chceme vytvořit novou tabulku, zadáme:
CREATE TABLE jméno tabulky (
Jméno 1. sloupce typ,
Jméno 2. sloupce typ,
...
Jméno n. sloupce typ
)
V MySQL je velmi důležité znát následující typy sloupců, i když
se príliš neliší od jiných programovacích jazyků.
int – celé číslo ... - 2147483648 do + 2147483648
smallint – celé číslo ... - 32768 do + 327678
tinyint – celé číslo ... 0 – 255
float – číslo s pohyblivou rádovou čárkou
char(n) – textový řetězec o délce n n...255 znaků
varchar(n) – textový řetězec o maximální délce n n...255 znaků
decimal(p) – desetinné číslo s p platnými číslicemi
decimal(p,d) - desetinné číslo s p platnými číslicemi a s d
desetinnými místy
money – peněžní částka
datetime – údaj o datumu a času
time – údaj o čase
date – údaj o datu
blob, image – používá se pro uložení dlouhých binárních dat
Nyní si ukážeme příklad založení tabulky:
CREATE TABLE priklad (
cislo int,
nazev char(20)
)
Pokud k nějakému sloupci přiřadíme NOT NULL, nesmí zůstat prázdný
(NULL). Zároveň je vhodné nadefinovat primární klíč tabulky
příkazem PRIMARY KEY.
A následuje další příklad:
CREATE TABLE priklad (
test int NOT NULL PRIMARY KEY,
testik char(20)
)
Pokud je primární klíč složen z více sloupců, musíme použít jiné
zadání.
CREATE TABLE priklad2 (
jmeno char(20) NOT NULL,
prijmeni char(40) NOT NULL,
PRIMARY KEY (jmeno, prijmeni)
)
A nakonec si řekneme, jak přidat data (řádky) do již vytvořené
tabulky.
Použijeme příkaz INSERT.
Příklad:
INSERT INTO jmeno tabulky VALUES (
hodnota 1. sloupce
hodnota 2. sloupce
...
hodnota n. sloupce
)
INSERT INTO priklad VALUES (15, 'Úvod do MySQL')
Text vždy musíme vložit do apostrofů, číselné hodnoty NE!
V dalším díle budeme pokračovat v databázích a ukážeme si, jak
rušit řádky z tabulek, prohlížet data, atd.
(c) 2001 Martin Jelínek -- oozz@atlas.cz
BÍLÁ PASTELKA
Nadační fond Českého rozhlasu pořádá 15. října, u příležitosti
Mezinárodního dne bílé hole, celonárodní veřejnou sbírku pro
nevidomé a těžce zrakově postižené pod názvem "Bílá pastelka".
Ve více než 160 městech České republiky si v tento den můžete
koupit od dobrovolníků sbírky originální bílou pastelku jako
symbol světa neviditelných linií, světa nevidomých.
Pro ty, kteří si nestihnou koupit bílou pastelku v ulicích města,
je připravena internetová část sbírky na
http://www.bilapastelka.centrum.cz/
Sova v síti se k této dobročinné akci připojuje a vyzývá všechny
webmastery: umístěte na své stránky banner, či alespoň malou
ikonku s odkazem na http://www.bilapastelka.centrum.cz/ . Široký
výběr vhodných grafických prvků naleznete na
http://www.sovavsiti.cz/bilapastelka.html
Jménem všech zrakově postižených vám děkujeme za vaši pomoc.
NOVINKY U PETRA KOCNY K 14.10.2001
... v katalgu katalogů http://www.lf1.cuni.cz/~kocna/kam-www.htm
a vyhledávačů http://www.lf1.cuni.cz/~kocna/roboti.htm
Přidány další 2 odkazy - celkem je jich 168.
Uzdroje - vyhledávání je již funkční, prohledává katalog i přes
URL, fulltextové hledání využívá služby Google - hledání ve
světě, Empyreum - hledání v českém internetu. Zveřejněna nová
ikona serveru.
Oko do internetu - označeno symbolem mrtvoly, více než 6 měsíců
URL neexistuje, předpokládám, že server zmizel.
Ekatalog - zařazen další nový odkaz, na vznikající seznam,
předpokládám místo katalogu Ekoruna. URL je
http://ekatalog.ekoruna.com/, emailem potvrzují příjetí požadavku
(robotem), na zařazení mě bylo emailem potvrzeno do 1 hodiny.
Katalog-Ekoruna - relativne nový katalog na serveru Ekoruna
zmizel dříve, než jsem očekával, asi do měsíce. URL nyní odkazuje
na nový seznam, Ekatalog, ten je však téměř prázdný, databáze
odkazů z katalogu Ekoruna bohužel není převedena, na serveru
Ekoruna zůstal seznam Toplistu - zatím, viz další nový link
Toplist Ekoruna.
Toplist - Ekoruna, URL je http://toplist.ekoruna.com/, URL pro
přidání odkazu je http://toplist.ekoruna.com/add.php, k odkazu je
možno přidat vlastní ikonku, odpověď administrátorů slíbena do 72
hodin, emailem je potvrzeno - robotem přijetí požadavku. Odkazy
byly zařazeny během hodiny - opět potvrzeno emailem. Ikona vašeho
serveru se nikde neobjeví a v editačním formuláři již není.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Připravujeme investiční záměr * Provokativní strategie úspěchu
Vyjde v Sově v podnikání 22.10.01 - http://www.sovavpodnikani.cz/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WEBDESESSION BRNO 3/2001
Ve čtvrtek 18. října 2001 se v Brně koná neformální setkání
tvůrců webu. Setkání bude hostit restaurace U Štiky (naproti
Dřevěné růži), účast nepodléhá poplatku.
Bližší informace, mapu, seznam registrovaných účastníku a kontakt
na organizátory najdete na webu WebDeSession.
http://webdesession.uzel.cz/
ODPOVÍDÁME NA DOTAZY ČTENÁŘŮ
Dotaz:
Dobry den, jsem vasim ctenarem a chtel bych se zeptat, zda je
mozno v HTML sazet matematicke vzorce. V jednom prehledu html,
nevim uz k jake verzi, jsem nasel tagy
pro odmocninu,