MyEgo.cz - Radek Hulán webzine

MyEgo.cz

home foto blogy mywindows.cz kontakt

SEO URL znovu a lépe

PHP 12.10.2004

Trochu jsem zkoumal SEO URL, tedy URL pěkná pro člověka i pro vyhledávače.

V současnosti je moderní používat URL typu http://domena.com/clanek/nazev-clanku. Tato SEO URL mají smysl jak pro vyhledávače, tak pro člověka, a mnohem lépe se pamatují než index.php?id=a12d45eef789b.

Jsou zde ale jisté nevýhody:

  • Některé browsery, jmenovitě MSIE, načítají při shlédnutí článku CSS znovu, nedrží je v cache, přestože již mají v cache CSS z domény, pokud je URL /clanek/nazev-clanku zpracováváno pomocí FilesMatch, tedy:
    <FilesMatch "^clanek$">
    ForceType application/x-httpd-php
    </FilesMatch>
  • FilesMatch se nedá použít na Microsoftím IIS, umí jej jenom Apache, čímž se omezuje portabilita zdrojového kódu projektu, u open-source projektů je to poměrně závažná věc,
  • Protože http://domena.com/clanek/nazev-clanku a http://domena.com/ jsou pro search-engines různé, nesčítá se jejich page-rank, pokud někdo odkazuje na článek, neposiluje tím přímo page-rank domény, a naopak.

Řešením je začít používat SEO URL typu:

http://domena.com/?clanek=nazev-clanku

Výhody?

  • Není nutná podpora pro .htaccess a mod_rewrite.
  • Není nutná podpora FilesMatch, SEO URL budou tedy fungovat i na IIS.
  • CSS nebude žádným browserem znovu načítáno.
  • Pro vyhledávače by toto řešení mělo být ekvivalentní s FilesMatch řešením.

Implementuji tyto URL jako alternativní do BLOG:CMS

Chvála Microsoft Frontpage 2002

Technologie 11.10.2004
MS FrontPage 2002

Potřeboval jsem dnes v práci, kromě ladění Oracle databáze na Solarisu, a zprovoznění Cisco 6500 switche, editovat některé korejské texty v UTF-8. Jsou to podklady dodané klasicky v MS Wordu, a bylo je nutno extrémně rychle převést do XHTML. Znělo to jako trivialita, jednoduchý copy-and-paste job na deset minut.

Nicméně, nebylo to až tak snadné. Nakonec jsem s tím strávil skoro 2 hodiny…

Nejdříve jsem otevřel PSPad. Ten podporuje sice UTF-8, ale rozhodně ne nativně. Při copy-and-paste korejských znaků z MS Wordu je PSPad zobrazil jako slušivé čtverečky (instaloval jsem si samozřejmě nejprve korejskou znakovou sadu do Windows). Tak jsem otevřel JEdit, a rovněž čtverečky. Dreamweaver MX 2004 nabídnul … čtverečky. TextPad nabídnul, co jiného než, čtverečky. Tak jsem spustil ze zoufalství stažený UltraEdit32, přepnul jej na Unicode, a opět čtverečky.

Zachránila mě FrontPage 2002. Vzpomněl jsem si, že na CD Microsoft Office XP Professional tento produkt byl, akorát jsem jej neinstaloval. Tak jsem to nainstaloval, pak copy-and-paste, a korejština!

FrontPage 2002 je celkově překvapivě dobrý produkt. Stačí překonat odpor k Microsoftu. Je zdarma v sadě Office XP Pro, při editaci nijak nemrší zdrojový text (což jsem dle internetových diskusí neočekával!), při stisku klávesy Enter udělá korektně uzavřený p tag, při stisknutí tlačítka seznamu dělá XHTML validní tagy ul a li.

FrontPage má navíc i český, anglický, a třeba i ten korejský spell-checker. A od věci není ani reálné preview stránky v jádru MSIE 6.0. Dremweaver MX 2004 na hodně složitějších layoutech selhává, jeho layout engine je ještě horší než ten MSIE 6.0. V příští verzi má mít ale DMX jako engine Presto, jádro Opery, to by bylo mnohem zajímavější.

Celkově, FrontPage 2002 stojí za Vaši pozornost, pokud máte Windows. Za tu cenu nic lepšího není, a nativní podpora UTF-8 je skvělá věc.


PS: Teď to zkouším doma pod SuSE 9.1 Linuxem, který jede pochopitelně v Unicode, korejský wordovský dokument jsem bez problémů otevřel pod open-source OpenOffice 1.1, copy-and-paste jsem udělal do open-source Quanta Plus 3.2 editoru, a vše bez problémů. Testoval jsem i open-source Kate 3.3, a taky ok.

Nejenže toho umí Linux 100x více než Windows, funguje rychleji, ale taky správně. A hlavně má bash. Vlastně jsem chtěl říci: Vivat Linux!

MySQL “select”: Windows nebo Linux?

Linux 10.10.2004

V předchozím testu jsem se zaměřil na rychlost MySQL databáze pro vkládání záznamů, INSERT INTO, v tomto testu se podívám na věc, která je v praxi častější, a to vyhledávání SELECT LIKE '%string%'.

Testovaná konfigurace počítače a systému:

CPU: Pentium-4/HT 3.4 GHz
RAM: 2x512MB DDR443
HDD: SATA 7.200rpms, 8MB cache
Lin: SUSE 9.1, kernel 2.6.8.1, ReiserFS
Win: WinXP Pro SP2, NTFS

Testovací kód prováděl 10x za sebou celkem 100 SELECTů:

function test($s){
  $query=mysql_query(
    'select id from `test` 
     where `body` like 
     ("%'.$s.'%")');
  if ($row=mysql_fetch_object($query)) echo $s;
}
$iterationsCount = 10;
$subIterationsCount = 100;
for($i = 0; $i < $iterationsCount; $i++) {
  $timer->start();
  for($j = 0; $j < $subIterationsCount; $j++) 
    test(strval($j).' ');
  $test->add($timer->stop());
}

Výsledek SELECT testu je v podstatě totožný jak INSERT testu, MySQL na Linuxu má sice vyšší rozptyl výkonu, nicméně, je o desítky procent výkonnější než na Windows. Pokud chcete tedy hostovat svoje PHP/MySQL řešení na Windows 2003 serveru, je dobré si to rozmyslet, a místo koupě tohoto serveru, použít raději Linux. Je zdarma a je rychlejší.

Výsledky pro Windows:

Windows
Average: 7.251727175712586 s
Standard deviation: 0.009027196825484

Výsledky pro Linux:

SUSE Linux
Average: 5.506822347640991 s
Standard deviation: 0.018683764226855

I love my Papa, I love my Mama

Here you go, get that mp3 right now!


I’ve never been more popular in my life
Since I carry a big mat knife

I’m a little Taliban
I come from the country of Afganistan

If I’m gonna die in a big crash
It is the will of (allmighty) Allah

I didn’t have the money for the vacation
So I joined the terrorist organization

I learned to fly a plane from a friend
But he forgot to teach me to land

I love my Papa, I love my Mama,
But most of all I love Osama.
I love my Papa, I love my Mama,
But most of all I love Osama.

I am feeling the most happy
When I hear the scream (aaaaaa) of yuppie

I don’t care much where I’m going
Because I drive 707 Boeing

I make sure that USA will remember
The date of 11th of September

We choose this date because of this
Is the international day of peace

I love my Papa, I love my Mama,
But most of all I love Osama.
I love my Papa, I love my Mama,
But most of all I love Osama.

And I would be a real nice lot
If I wan’t into Jihad

For just becauce of this one attack
Americans want to bomb us back

I know that repercussions would come
And it’s a great commercial for Islam

It’s not much but now I can
See my house on CNN

I love my Papa, I love my Mama,
But most of all I love Osama.
I love my Papa, I love my Mama,
But most of all I love Osama.

Test GameBoy her na Symbianu 2/2

Symbian 09.10.2004

Včera jsem představil 20 GameBoy Color her pro Symbian telefony, a zde je dalších 18, co stojí za Vaši pozornost.

wwf_betrayal

Mimochodem, GoBoy emulátor GameBoye umožňuje pro každou hru uložit neomezený počet jejich stavů, je to velice příjemná věc, pomocí “Save” hru uložíte, a pomocí “Load” ji začnete hrát přesně v tom stavu, kde jste skončili, aniž se musíte probojovávat přes různá menu a nastavení.

X-Men … WWF Betrayal

wwf_betrayal
x-men

Test GameBoy her na Symbianu 1/2

Symbian 08.10.2004

Na základě včerejšího článku o GameBoy Color hrách na telefonech se Symbianem (Siemens SX1, Nokia 6600, a další), se mě asi deset lidí ptalo, na ICQ či emailu, co si mají stáhnout.

Tak jsem si v noci chvíli hrál, a přináším to, co mě zaujalo…

GameBoy Color hry jsou typicky zcela jiné, než jejich Java či Symbian ekvivalenty, jedná se často o strategie, RPG hry, či velice rozsáhlé plošinovky, které mají společné jedno - rozsáhlý příběh, a možnost strávit s hrou i desítky hodin času.

Bomberman … Beauty and the Beast

beauty_and_the_beast
bomberman

Nastavte si lépe phpMyAdmin

PHP 07.10.2004

phpMyAdmin 2.6.0 je jedna z nejužitečnějších PHP aplikací, pod GNU GPL licencí. Umožňuje spravovat vaše MySQL servery, a provádět na nich prakticky veškeré myslitelné operace.

Nová verze 2.6.0 má přepracované rozhraní, podporuje nativně češtinu v UTF-8 (cs-utf-8), odstraňuje řadu bugů, a má nové funkce. Jednou z tradičních funkcí phpMyAdmina je i vytváření relací mezi tabulkami, jejich popis, historie SQL příkazů, bookmarky a export do PDF. Tyto funkce jsou, nicméně, v základu zakázány. Jak je aktivovat?

V phpMyAdminu spusťte skript /scripts/create_tables.sql, vytvoří se Vám 7 tabulek, v nové databázi nazvané phpmyadmin, kam se budou dané informace ukládat. Následně je nutné modifikovat soubor config.inc.php:

// nastaveni URL na phpMyAdmina
$cfg['PmaAbsoluteUri'] = 'http://localhost/myadmin/';

// nastaveni hesla
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root'; 
$cfg['Servers'][$i]['password'] = 'xxxxxx';

// nastavení relací pro PMA
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; 
$cfg['Servers'][$i]['column_info'] = 'pma_column_info'; 
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['verbose_check'] = FALSE;

A můžeme doplnit i pár vizuálních úprav (odstranění loga), nastavení default jazyka a kódování, a zobrazování informací o běhu MySQL a PHP:

// persistent connections
$cfg['PersistentConnections'] = TRUE;

// nezobrazovat logo
$cfg['LeftDisplayLogo'] = FALSE;

// zobrazuj info o MySQL a PHP
$cfg['ShowMysqlInfo'] = TRUE;
$cfg['ShowMysqlVars'] = TRUE;
$cfg['ShowPhpInfo'] = TRUE;

// zobrazuj BLOBy
$cfg['ShowBlob'] = TRUE;

// default jazyk a charset
$cfg['DefaultLang'] = 'cs-utf-8';
$cfg['DefaultCharset'] = 'utf-8';

MySQL “insert”: Windows nebo Linux?

Linux 06.10.2004

V několika dalších článcích bych se chtěl zaměřit na srovnání rychlosti MySQL, PHP, Apache, PostgreSQL a Javy pod Windows XP SP2 a SuSE Linux 9.1.

V tomto prvním článku budu testovat rychlost MySQL, a to konkrétně insertů do tabulky, s fulltext klíčem.

Veškeré testy jsou prováděny na této konfiguraci počítače:

CPU: Pentium-4/HT 3.4 GHz
RAM: 2x512MB DDR443
HDD: SATA 7.200rpms, 8MB cache
Lin: SUSE 9.1, kernel 2.6.8.1, ReiserFS
Win: WinXP Pro SP2, NTFS

Vlastní test provádí desetkrát po tisíci insertech do MySQL databáze, a potom zobrazí výsledky, pro měření je jako základ použit skript Jána Suchala.

Dokonalý operační systém za tři stovky

Linux 05.10.2004
kernel 2.6.8.1 a KDE 3.3.0

Před pár dny jsem si objednal SuSE Linux 9.1 FTP Edition. Není to nic jiného, než SuSE 9.1 Profesional, který se prodává za 2.800 Kč, akorát, že tato distribuce není přímo od SuSE, ale Tomáš Kupka těch 5GB stáhnul z FTP, poskládal to dohromady, nastavil české předvolené balíčky pro instalaci, a vypálil to na DVD. To celé prodává za 299 Kč, včetně DPH, což si myslím, že je hodně slušná cena, téměř výrobní náklady…

Můžete si samozřejmě SuSE 9.1 Personal (ISO obraz CD) kdykoliv stáhnout zdarma z internetu, a potom z FTP SuSE další balíčky, stovky a stovky MB, nicméně, proč s tím ztrácet čas? 5GB je hodně dat i na to nejrychlejší připojení, navíc takto získáte bootovací DVD, které můžete instalovat i tam, kde připojení k internetu je pomalé či žádné.

Tomáš Kupka to SuSE 9.1 DVD navíc poskládal dohromady dost rozumně, je tu:

  • kancelářský balík OpenOffice 1.1.1, CZ,
  • grafické prostředí KDE 3.2.1,
  • počeštění KDE, Koffice, YaST,
  • kernel 2.6.5-smp,
  • Eclipse, Quanta, KDevelop, Gambas pro vývoj aplikací,
  • gcc 3.3.3, a další nástroje pro kompilaci,
  • desítka audio a video přehrávačů, včetně xmms, amaroK, Noatun, Xine,
  • Apache 2, MySQL 4, PHP 4, PostgreSQL servery a databáze,
  • velice kvalitní KMail, email klient, a KGpg pro šifrovanou komunikaci,
  • Mozilla Suite a Firefox,
  • licq, Kopette, Gaim a další,
  • IRC a news klienti,
  • Gimp 2.0 pro grafiku,
  • Wine pro emulaci Windows.

Pokud chcete začít s Linuxem, nebo potřebujete komplexně vybavený operační systém, nebo chcete začít programovat v PHP, Perlu, Pythonu, Javě či C++, nebo pokud děláte webdesign, neexistuje zřejmě lepší volba.

Jediná zásadnější připomínka by byla jen na nepřítomnost KDE 3.3.0, nebyl by přece problém to DVD aktualizovat… Můžete to po instalaci ale samozřejmě udělat přes YaST.

Schizofrenní Siemens

Symbian 05.10.2004
GPRS na Siemens SX1

Pokud si koupíte Siemens SX1, telefon se Symbianem, dostanete k němu na CD software nazvaný Siemens Data Suite. Z internetu si můžete stáhnout jeho poslední verzi, tedy SDS 1.1.56.1P. Trochu více jsem pátral na internetu, a zjistil jsem, že pro SX1 existuje, přímo od Siemense, i jiný balík aplikací, nazvaný Mobile Phone Manager.

Mobile Phone Manager je software určený pro nové telefony Siemens, jako je S65, CX65, a další, a s add-on funguje i pro telefon SX1.

Stáhnul jsem si tedy oba balíky, a začal porovnávat. Rychlý závěr? Mobile Phone Manager je lepší než SDS. Má pár funkcí navíc, a především je schopen spouštět automaticky mRouter, při startu libovolné Siemensovské aplikace, a automaticky se připojit k telefonu přes Bluetooth (IrDA, USB), a po ukončení aplikace ukončit i mRouter.

Což jsou poměrně zásadní výhody MPM, mRouter Vám nezabírá v paměti 40-50 MB, nespouští se při startu Windows, a nemusíte se starat ani o připojování telefonu (volba Připojit se k zařízení Bluetooth). Vše tedy funguje, jak by mělo. Plně automaticky.

Moc nechápu tuto schizofrenii Siemensu, mít dvě (téměř stejné, ale přesto v podstatných detailech rozdílné) aplikace pro SX1. Domnívám se, že Mobile Phone Manager je novější věc, a do budoucna prioritní. Používá se totiž nejen pro SX1, ale pro celou řadu nových Siemens telefonů.

Abych si tuto hypotézu potvrdil, poslal jsem Siemensu email. Uvidíme, co mi odpoví…


Mimochodem, vyzkoušel jsem s Microsoftími Bluetooth drivery rychlost Siemense SX1 na GPRS u T-Mobile, jako carrier již zmíněný Bluetooth, podle dsl.cz byla rychlost připojení 6.3 KB/s. Slušné.

Vtip je taky v tom, že tyto drivery používají pouze generický Windows XP SP2 profil Bluetooth modemu, a nepotřebují tedy žádnou instalaci SDS či MPM. To je docela dost dobré vědět, pokud potřebujete Bluetooth modem jinde. Postačí jen Windows XP SP2 a Váš Bluetooth dongle.