Tuesday, January 17, 2012
Monday, January 9, 2012
Monday, May 9, 2011
Wednesday, February 2, 2011
Friday, October 9, 2009
Saturday, July 12, 2008
Tutorial DB_OO3/Mogul – 2. Setup inicial
Ainda na parte seca do trabalho, é preciso instalar um sistema base. A explicação aqui é ligeiramente inclinada para Gentoo, mas deve aplicar-se facilmente a outras distribuições linux ou mesmo BSD.
É preciso ter instalados apache 2, php 5, extensão memcached para o php e memcache (emerge apache php memcached pecl-memcache). As minhas use flags são estas.
Primeiro, apontar o htmldocs.org para a máquina local: Editar o /etc/hosts e acrescentar:
127.0.0.1 htmldocs.org
Depois, criar o directório onde vamos colocar os ficheiros:
mkdir -p/var/www/vhosts/htmldocs.org
Colocar o ficheiro de definição do virtual host na configuração do apache:
wget -O /etc/apache2/vhosts.d/10_htmldocs.org.conf http://files.sergiocarvalho.com/2008/10_htmldocs.org.conf
Verificar o ficheiro /etc/conf.d/apache2 e ver que a variável APACHE2_OPTS tem algures “-D DEFAULT_VHOST”. Então, fazer restart ao apache (/etc/init.d/apache2 restart). Esta página: http://htmldocs.org/ deve dar uma listagem de ficheiros (sem qq ficheiro, claro).
Agora, instalar a estrutura de directórios base:
wget -O -http://files.sergiocarvalho.com/2008/helloWorld.tbz2 | tar xjvf – -C /var/www/vhosts/htmldocs.org
E instalar as packages PEAR:
pear channel-discover pear.sergiocarvalho.com
pear install sergiosgc/DB_OO3pear install sergiosgc/HTML_Template_PXTpear install sergiosgc/Cache_Page
pear install sergiosgc/Mogul
No final, esta página: http://htmldocs.org/ deve dar o belo do hello world.
Segunda-feira escrevo o passo seguinte.
Ah, bom
Não dava para o Scott Adams se ter saído com isto há um mês atrás?
Thursday, July 10, 2008
Tutorial DB_OO3/Mogul – 1. Base de dados
Ok, então para a primeira parte, vamos definir o modelo de dados. É aqui que tudo começa. O objectivo é fazer um motor de pesquisa que seja capaz de dar acesso directo aos dados presentes nestas duas páginas:
Observando as páginas, temos duas entidades na base de dados: Elementos e Atributos. Os elementos têm um nome, uma versão de HTML e um link para a especificação. Os atributos têm a mesma coisa, mais uma ligação muitos para muitos para os elementos em que são autorizados. Dá qualquer coisa com este aspecto:

O script de criação de base de dados, para postgresql, está aqui.
A seguir, é preciso alimentar a base de dados. Fiz isso com um par de XSLTs que, qual cozinheiro na TV, tiro assim do forno:
As duas são relativamente básicas, e o objectivo deste tutorial não é explicar XSLTs (ui, dava para meio ano). Com as XSLTs e com um processador de XSLTs (eu uso o xsltproc que vem com o gnome), e com o htmltidy, alimenta-se a base de dados assim:
wget -O - http://www.w3.org/TR/REC-html40/index/elements.html 2> /dev/null | tidy -asxml 2> /dev/null | xsltproc extract_elements.xsl - | sed -e '1,2d' -e '$d' | psql org_htmldocs
wget -O - http://www.w3.org/TR/REC-html40/index/attributes.html 2> /dev/null | tidy -asxml 2> /dev/null | xsltproc extract_attributes.xsl - | sed -e '1,2d' -e '$d' | psql org_htmldocs
E pronto, já temos dados com que brincar. Sábado sai o post sobre o setup do ambiente de desenvolvimento.