pátek 30. ledna 2004

Články na víkend

Nepravidelná rubrika přinášející tipy na články.

MySQL 5.0 Alfa z pohledu PostgreSQL

Databáze MySQL patří mezi nejpoužívanější databázové platformy pro webové aplikace. Názory na tuto databázi se do značné míry odvíjejí od zkušeností s jinými databázemi.

Pěkné srovnání MySQL 5.0 Alfa z hlediska databáze PostgreSQL 6.0 připravil Pavel Stěhule v článku Letmý pohled na Alfu MySQL 5.0 z pohledu postgresisty. MySQL 5.0 z tohoto porovnání vůbec nevychází špatně - uložené procedury, vnořené a parametrizované dotazy, to všechno jsou kroky k větší použitelnosti a nasazení MySQL.

čtvrtek 29. ledna 2004

Poznáváme DOM IV. - Procházíme dokument

V této části seriálu o specifikaci DOM se podíváme na základní metody a rozhraní určené k procházení modelu, které definuje Core. Nejdříve budeme muset opět vstřebat trochu teorie. Malá poznámka na okraj než začneme, všechny odkazy na rozhraní a metody DOM vedou(pokud není uvedeno jinak) na specifikaci DOM Level 2 Core.

DOM reprezentuje dokument jako hierarchii objektů implementujících základní rozhraní Node a také další mnohem specifičtější rozhraní. Specifická rozhraní jako například Element nebo Document jsou potomky rozhraní Node. Následující obrázek vyjadřuje hiearchii rozhraní modulu Core

Základní hiearchie rozhraní DOM Core

Podívejme se na následující část kódu

 
    <ul>
	<li>foo</li>
        <li>hoo</li>
        <li><a href="http://bar.com">bar</a></li>
   </ul>
 

Tyto elementy si můžeme představit jako strom objektů. Každý objekt je navenek prezentován specifickým rozhraním. Jak již víme všechny rozhraní jsou přímým nebo nepřímým potomkem rozhraní Node a proto si můžeme všechny uzly představit pod tímto rozhraním, jak ukazuje následující obrázek.

Objektová struktura HTML kódu

Základní metody pro získání části dokumentu

Po hříchů to jediné co mnoho lidí považuje za DOM jsou metody getElementById(id Elementu) a getElementsByTagName(jméno tagu) definované rozhraním Document. Tyto metody opravdu patří mezi úplně základní, ale rozhodně nesmíme zapomenout na další metodu tohoto rozhraní getElementsByTagNameNS(jmenný prostor, jméno tagu), která se hodí při práci s XML dokumentem.

Použití metod getElementById(id Elementu) a getElementsByTagName(jméno tagu) je tak všeobecně známe a používané, že uvedu pouze krátké náznaky jejich použití.

 
   HTML: 
	<a href="http://bar.com" id="foo" 
		onmouseover="underLine(true);" 
		onmouseout="underLine(false);" >bar.com</a>       
   
   JavaScript:
   	<script type="text/javascript">
    	  function underLine(status){
	    element = document.getElementById("foo");			
	    element.style.textDecoration = (status)?"underline":"none";	
	  }
	</script>
 

Pokud není element se zadaným id nalezen, vrací metoda hdnotu null. Pokud je v dokumentu více elementů se stejným id, vrací metoda první z těchto elementů. V případě tolik používané náhrady document.getElementById = document.all se metoda v případě více shodných id chová tak, že vrací jejich kolekci. Uvádím proto jednu z možných náhrad metody getElementById za použití kolekce all.

 
   if (!document.getElementById){
     document.getElementById = 
	   new Function("idname",
                        " kolekce_prvku=document.all(idname);
			  if (kolekce_prvku==null) return null;
			  if (kolekce_prvku.length)return document.all(idname)[0];
			  return document.all(idname);
                        ") ;
  }
 

Další jednoduchý příklad ukazuje využití metody getElementsByTagName(jméno tagu) pro nastavení atributu target u všech elementů a.

 
 
   HTML:
	<a href="http://bar.com">bar.com</a>
        <a href="http://acme.bar.com">bar.com</a> 
	
   JavaScript:
   	<script type="text/javascript">
    	  elements = document.getElementsByTagName("a");
	  for(foo = 0; foo < elements.length; foo++){			
	    elements[foo].target = "_blank";
	  }
	</script>
 

Metoda vrací objekt typu NodeList, který představuje kolekci vybraných elementů.

Tímto bychom dnešní povídání ukončili, na příště si povíme o procházení dokumentu pomocí metod, které nabízí Node a naznačíme možnosti, které nabízí modul Traversal. Dnešní příklady lze otestovat na testovací stránce getElementsByTagName a testovací stránce getElementById.

Související články

Tutoriál o XML schématech

XML schémata dnes nahrazují na mnoha frontách nedostačující DTD a tvoří základ pro mnoho dynamicky se rozvíjejících oblastí IT, za všechny bych jmenoval webové služby(WebServices).

Pokud se chystáte s XML schématy začít a nebo se chcete pouze podívat na to co to vlastně XML schéma je, pak by mohl být tím pravým místem nový tutoriál XML schémata od Jiřího Koska.

středa 28. ledna 2004

J2EE plug-in Lomboz volně dostupný

Volně dostupných a kvalitních nástrojů pro vývoj J2EE je jako šafránu, o to více potěšíla zpráve, že Objectlearn uvolnili J2EE plug-in Lomboz jako open-sorce pod LGPL licencí. To je jistě dobrá zpráva pro všechny uživatele vývojového prostředí Eclipse.

Struts v přikladech II

Framework Jakarta Struts je jedním z nejvíce používaných web frameworku co se webových aplikací týče. Petr Pinkas se v článku Struts, komentovaný příklad II - obrnění aplikace pustil do možností Struts v oblasti výjimek, chyb a zpracování resp. kontroly formuláře. Autor se drží proklamovaného začátečník začátečníkům a nezabíhá do detailů, které jsou pro první pokusy zbytečné.

Související

pondělí 26. ledna 2004

Spam zkrocen Microsoftem?

Firma Microsoft, ústy hlavního architekta Billa Gatese, vyhlásila otevřený boj proti spamu na všech frontách. Konečné řešení problému spam očekává Bill Gates v horizontu dvou let. Více informací přináší Živě.cz - Gates: do dvou let bude spam minulostí.

Budoucnost ohledně spamu neni vůbec lákavá a proto je každá aktivita směřující k jeho omezení vítána. Z řešení, která naznačil Bill Gates mám pocit, že je "odnese" tuctový uživatel pošty, pro kterého budou znamenat jenom samá omezení a nepříjemnosti. Dokonce si troufám tvrdit, že spam, spameři, spamerské nástroje a techniky si vždycky cestičku do poštovní schránky najdou.

Hrátky s CVS

Pokud ne každý vývojář tak alespoň valná většina z těch, kteří pracovali na projektu, u kterého byla nutná správa zdrojů v podobě zdrojových souborů, narazili na určitou formu RCS systému. Většina open source projektů(možná i komerčních) využívá pro tento účel systém CVS.

Na serveru Root.cz vycházel seriál Výlet do říše verzí viz. (Dagblog 25.4.2003) Do říše verzí s rootem, který popisuje práci s RCS a CVS. Seriál měl celkem pět dilů, které se v těchto dnech rozrostly o dvě další pokračování. Vzhůru do říše verzí Výlet do říše verzí VI. a Výlet do říše verzí VII..