MyEgo.cz - Radek Hulán webzine

MyEgo.cz

home foto blogy mywindows.cz kontakt

PHP na Windows - CGI, FastCGI nebo modul?

PHP 19.10.2004

Webdesignérská komunita se asi shodne na tom, že nejrychlejší implementace PHP pro Apache, z možností CGI, FastCGI a modulu, by měl být právě modul, protože PHP modul pro Apache je psán pro nativní API Apache 2.0 serveru. Odtud tedy ona rychlost…

CGI naopak v teorii znamená, že CGI skript musí při každém použití PHP vyhledat a parserovat php.ini, spustit php-cgi.exe a natahovat spousty dll knihoven (extensions). To je pomalé, nicméně, vzhledem k tomu, že jsou stejně všechny dll knihovny v RAM paměti, a vzhledem k výkonu testovacího stroje (3.2GHz Pentium-4/HT procesor, 1GB RAM), nebude to zpoždění až tak zásadní.

FastCGI ovšem CGI zlepšuje v tom, že při startu Apache serveru spustí definovaný počet php-cgi.exe procesů v paměti a nechá je běžet po celou dobu, a při požadavku na PHP interpret jim tento dotaz předá ke zpracování.

Tolik tedy teorie. Rozhodl jsem se v praxi otestovat, jak je Apache/PHP kombo rychlé v reálném provozu v režimech CGI, FastCGI a modul.

Testoval jsem funkci, která 1000x za sebou provede vytvoření dlouhého řetezce znaků. Práce s textem je základem PHP.

PHPeclipse - splněný sen programátora / webdesignéra

PHP 18.10.2004
PHPEclipse

O eclipse.org, open-source projektu v čele s IBM (podílí se na něm ale i Borland, SUSE, Red Hat, a mnozí další), každý již asi někdy slyšel. Eclipse.org je naprosto dokonalé vývojové prostředí, framework, multiplatformní, a to nejen pro Javu. Za pomocí pluginů je Eclipse možno rozšířit i o podporu například PHP, na což se zaměřuje projekt PHPeclipse.de.

Nutno říci, že Eclipse je skutečně dokonalé IDE. S editací PHP / CSS / SQL / XHTML zdrojového textu v editoru se to nedá srovnávat. Můžete používat PHP debugger, code browser Vám po stisku Ctrl+Space nabídne nejen vestavěné funkce PHP, ale i veškeré funkce, které si Vy deklarujete v include / require souborech, a jejich popis z PHPDoc kompatibilních komentářů (!), nabízí "Resource" a "Debug" perspektivu, real-time prohlížení PHP výstupu ve vestavěném browseru, real-time PHP parser, skvělou správu projektu, integrovanou spolupráci s CVS, včetně podpory pro ssh, přímý import projektu z CVS, podporu a code browser pro nejen PHP, ale i CSS (včetně CSS 2.0), XHTML, a SQL, a mraky dalších funkcí.

PHPEclipse je prostě splněný sen programátora / webdesignéra.

Instalace PHPeclipse a konfigurace debuggeru u celého tohoto komplexu je poněkud náročnější, ale vyplatí se.

Nejlepší na tom je, že tento skvělý projekt je k dispozici jako open-source. Projekt, se kterým se například Dreamweaver MX 2004, či FrontPage 2002 nemůže vůbec měřit. Nikdy. Tolik funkcí, skvěle podaných, prostě jiné IDE / Framework nenabídne.

Okamžité spouštění JEditu

Technologie 18.10.2004

JEdit je aplikace psaná v Javě, extrémně rychlá při práci, ale poměrně pomalá na spouštění. Spouštění JEditu i na P-IV/HT/3.2GHz s 1GB RAM zabere cca 6-7 sekund. A to je přece jenom dost, pokud potřebujete zrovna editovat jen pár řádek textu.

Nicméně, existuje jednoduchý způsob, jak JEdit ponechat i při zavření jeho okna v operační paměti, v pozadí. Při dalším spuštění tak JEdit naběhne již během setin sekundy, dokonce rychleji než neuvěřitelně primitivní Notepad ve Windows.

Pokud tedy máte dost RAM paměti, spouštějte JEdit takto:

"C:\Program Files\j2sdk\bin\javaw.exe" 
  -Xms32m
  -mx64m 
  -jar "C:\Program Files\jEdit\jedit.jar" 
  -background

Pokud si na tento shortcut vytvoříte klávesovou zkratku, třeba Win+J, bude Vám JEdit nabíhat ještě dříve, než si to stačíte uvědomit. ;-)

Integrace a nastavení editoru JEdit a PHP

Technologie 18.10.2004
JEdit

JEdit je nejlepší programátorský editor, navíc multiplatformní. Je řádově lepší než oblíbený PSPad, protože je psaný Java programátory pro (nejen-Java) programátory, obsahuje podporu pluginů, skriptovacího jazyka, podporu více než 40 různých kódování, včetně utf-8, a mnohé další.

Pokud programujete v PHP, můžete si enhanced chm manuál k PHP integrovat do JEditu. Funguje to potom tak, že si v textu označíte klíčové slovo, stisknete předvolanou kombinaci kláves, třeba Ctrl+Alt+P, a ihned se Vám otevře stránka PHP manuálu k dané funkci. Velice užitečné, zvláště ve spojení s pluginy CodeBrowser, JTidyPlugin, a PHPParser.

Jak na to? V adresáři JEdit/Macros si vytvořte pod-adresář PHP a v něm soubor nazvaný Otevřít_v_PHP_manuálu.bsh s tímto obsahem:

CHM_location = "C:\\Dev\\Manual\\PHP\\php_manual_en.chm";
selections = textArea.getSelection();
if(selections.length > 0) 
  CHM_location += 
    "::/_function.html#" +
	textArea.getSelectedText();
exec("HH " + CHM_location);

Následně si stáhněte nejnovější dokumentaci k PHP, a umístěte ji do adresáře C:\Dev\Manual\PHP\.

Potom si v menu Utilities / Global Options / sekce Shortcuts / podsekce Macros přiřaďte pro makro Otevřít_v_PHP_manuálu klávesovou zkratku třeba Ctrl+Alt+P.

Úprava PHP skriptů pro MySQL 4.1 (mysqli)

PHP 18.10.2004

Včera jsem psal o tom, že skripty psané pro MySQL 4.0 (mysql PHP rozšíření) nejsou kompatibilní s MySQL 4.1 a vyšší (mysqli PHP rozšíření). Nicméně, úprava aktuálních PHP skriptů tak, aby byly funkční s libovolnou verzí MySQL a PHP, je vcelku triviální.

Upravil jsem pro použití MySQL 4.1.6-gamma i manuály pro kompilaci a instalaci Apache, MySQL a PHP:

  • Instalace Apache 2.0.52, MySQL 4.6.1-gamma a PHP 5.0.2 na Windows,
  • Kompilace Apache 2.0.52, MySQL 4.6.1-gamma a PHP 5.0.2 na Linuxu,
  • Compile from source Apache 2.0.52, MySQL 4.6.1-gamma and PHP 5.0.2 on Linux.

Nemám rád PHP (MySQL 4.0 versus 4.1)!

PHP 17.10.2004

Představte si, že v roce 2004 zhruba 95% hostingů na celém světě používá MySQL 4.0.x, nebo nižší (z těch, co MySQL podporují). V PHP se k MySQL 4.0 přistupuje například takto (pro získání veškerých položek článku číslo 1):

// MySQL 4.0.x a nizsi
$resource = mysql_connect('localhost','root','heslo');
mysql_select_db('blogcms',$resource);
$query = mysql_query(
  'select * from items where id=1',
  $resource);
if ($row = mysql_fetch_object($query)) {
  // zpracovani vysledku
}

Jednoduché a funkční. Nicméně, pak si nainstalujete PHP 5 a MySQL 4.1.6-gamma, která je oficiálně doporučená pro veškerý nový vývoj, a veškeré Vaše současné skripty přestanou fungovat, přestože používáte jak mysql (pro vezi 4.0 a nižší) PHP extension, tak mysqli (pro vezi 4.1.2 a vyšší) PHP extensions. Prostě Vaše skripty musíte přepsat na mysqli, zpětná kompatibilita s mysql neexistuje, přestože by měla (dle dokumentace) fungovat.

MySQL ve verzi 4.1.2 a vyšší změnila svůj interní komunikační protokol. Podporuje také pár funkcí navíc, zejména nativně znakové sady jako je utf-8 a unicode, a umožňuje nativní české řazení podle utf-8. To je sám o sobě dost dobrý důvod proč na MySQL 4.1 přejít.

Nejlepší logické hry pro Symbian - díl 2/2

Symbian 16.10.2004

V tomto článku bych chtěl představit dalších 10 her pro Symbian telefony, ve kterých je nutno mírně (či poněkud více než jen mírně) namáhat mozek, a to jako doplnění k 25 logickým hrám již představeným.

1000 words

1000 Words je hra kde hledáte a hádáte anglická slova. Pokud umíte anglicky, je to docela zábavné, trochu mi to připomíná českou hru “Logik”, jenže místo barev jsou tu písmenka.

Amazing World

Amazing World je vskutnu úžasná hra, za pomoci fotbalových míčů, tenisových míčků, přepravních pásů, a dalších věcí, máte za úkol odpálit bombu. Toto prostě musíte mít!

Copernic Desktop Search je lepší než Google

Google 16.10.2004

Jedním ze základních nových prvků Windows Longhorn, které uvidíme někdy za 3 až 4 roky, má být integrované prohledávání počítače.

Nicméně, firmy specializující se na hledání, a flexibilnější než Microsoft, jako je Copernic, Hotbot, Google, či X1 nabízejí tyto nástroje, a to ve většině případů zdarma, již dnes.

Copernic Desktop SearchCopernic Desktop Search

V posledních pár dnech psal téměř každý o Google Desktop Search, a přitom všichni zapomínali, že v této oblasti již dlouho existuje konkurence. Viz například recenze pěti Desktop Search produktů na zdnet.co.uk.

Vyzkoušel jsem jak Google Desktop Search, tak Copernic Desktop Search, tedy dva nejlepší freeeware produkty, a Copernic Desktop Search je minimálně o třídu lepší než Google.

Google má hodně co dohánět… Nejenže má Google Destop Search problémy s češtinou, ale ovládá se, bohužel,  přes webové rozhraní. Copernic Desktop Search UI je klasická exe aplikace, která má řádově více funkčnosti, vypadá lépe, prohledává více souborů, má také náhledy souborů Word, Excel, HTML, PDF, a pěkné vychytávky, jako je například inkrementální hledání při napsání jediného písmene a jeho obnova při pokračování psaní (prostě nemusíte mačkat klávesu Enter, jak píšete, tak se hned prohledává), je tu i automatické zobrazení náhledu prvního výsledku, okamžitá dostupnost Copernic Desktop Hledání po stisku klávesy Win+S, a řadu dalších věcí.

Nejlepší logické hry pro Symbian - díl 1/2

Symbian 14.10.2004

V tomto článku bych chtěl představit celkem 25 her pro Symbian telefony, ve kterých je nutno mírně (či poněkud více než jen mírně) namáhat mozek.

Hry logické se právě na telefony hodí daleko lépe, než hry akční (pokud tedy nevlastníte zrovna N-Gage).


Aaron

Aaron je hra, ve které ovládáte mloka (nebo je to žába?). Vaším cílem je nechat mizet dvojice stejných prvků, nicméně, to se Vám podaří, jen pokud jsou tyto prvky v jedné horizontální či vertikální řadě. Prvních pár levelů je dost primitivních, pak to začíná být ale vcelku zajímavé.

Absolute Puzzle Blockers

Cílem Absolute Puzzle Blockers je posouvat objekty tak, aby se cílový objekt, barevně odlišen, dostal do cíle. Docela zábavné šoupání v horních levelech…

Photoshop - kompletní tvorba webu - díl 1/2

Adobe a grafika 14.10.2004

Předmluva Radka Hulána k článku: Ivana Bednářová je velice schopná mladá grafička, která na tomto webu publikuje svůj seriál o použití Adobe Photoshopu pro praxi webdesignu. Ivana má rovněž svůj vlastní web na adrese art-pgn.info.

A protože WELL.DONE se webdesignem zaobírá, a grafika je jeho nedílnou součástí, tvořící první dojem z webu, mám radost, že se Ivana rozhodla své články publikovat právě zde.


V tomto seriálu si ukážeme, jak za pomoci standardních nástrojů Photoshopu vytvořit celý design jednoduché www prezentace, v tomto případě jednoho hotelového zařízení – Hotel Horník a procvičíme si první jednoduché efekty Photoshopu. Nejdříve se podívejme na to, jak bude prezentace vypadat ve finále (obr. 1).

Obrázek 1 Zvětšit obr. 1