<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>KISS - Keep it simple, stupid!</title>
	<atom:link href="http://kiss.souagil.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://kiss.souagil.com.br</link>
	<description>Blog sobre desenvolvimento de aplicações WEB e metodologia ágil. Principal foco é o framework CakePHP</description>
	<lastBuildDate>Fri, 30 Oct 2009 11:24:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Lo dia mas importante del ano!</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/zEo0wbjU3ro/</link>
		<comments>http://kiss.souagil.com.br/2009/10/lo-dia-mas-importante-del-ano/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 11:18:49 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/10/lo-dia-mas-importante-del-ano/">Fabrício Ferracioli</span></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=651</guid>
		<description><![CDATA[Hola pueblo! Ustedes estan bien?
Hoje es un dia muy gratificante para mi persona e mi pueblo, lo dia internacional de hablarse portuñol! Es una data muy querida, muchas fiestas en diversas naciones ocorren neste gracioso dia.
Para los mas desavisados, portuñol es un idioma famoso, tiene artigo en Wikipedia! E non és solamiente esto, és un [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float:left;margin-right:10px;float:left;margin-right:10px;float: right; margin-left: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F10%2Flo-dia-mas-importante-del-ano%2F"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F10%2Flo-dia-mas-importante-del-ano%2F" height="78" width="60" /></a></div><p>Hola pueblo! Ustedes estan bien?<br />
Hoje es un dia muy gratificante para mi persona e mi pueblo, <strong><a href="http://www.portunhol.art.br/wiki/Página_principal">lo dia internacional de hablarse portuñol</a></strong>! Es una data muy querida, muchas fiestas en diversas naciones ocorren neste gracioso dia.</p>
<p>Para los mas desavisados, portuñol es un idioma famoso, <a href="http://pt.wikipedia.org/wiki/Portunhol">tiene artigo en Wikipedia</a>! E non és solamiente esto, és un idioma <a href="http://www.labeurb.unicamp.br/elb/americanas/portunhol.html">estudiado por una grande universidad</a>.</p>
<p>
És una pena que en Brasil las comeraciones se limitem a lo mundo virtual. En grande part de los países latino americanos las comeraciones son regadas a mucha fiesta. Mariachis, tequila, castanholas e tudo mas que relembra nuestra richa cultura! Las muheres e chicas enton, ficam muy belas.
</p>
<p>
Estoy mui empolgado e esqueci-me que este blog es sobre progamacion. Nuestra cultura tiene grandes programadueres, grandes tecnicas de la programacion. Uno grande exiemplo desto és <a href="http://www.php.net/manual/en/control-structures.goto.php">lo comando goto</a>, recientemente adicionado en la linguagen PHP.<br />
Solamente una cosa me deja triste en PHP, el <q><a href="http://br.php.net/manual/en/language.oop5.paamayim-nekudotayim.php">Paamayim Nekudotayim</a></q>. No seria bein mehor lamado de <q>dos puentos</q>? Mas jo acredito que esta discussion lo ira lebar a nada!
</p>
<p>
Enton, dejo una contribuicion de uno grand programador que habla nuestra lingua! Es un <a href="http://www.portunhol.art.br/wiki/Python">programa que convierte lo idioma del Brasil para las bielas palabras de lo idioma Portuñol</a>! E non dejem de acessar las paginas oficialies de las comemoraciones!<br />
<a href="http://www.portunhol.art.br/"><img src="http://www.portunhol.art.br/images/a/a2/Bandeira_portunhol.gif" alt="13 de lo otubro, lo dia Internacional de Hablarse Portunhol" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=zEo0wbjU3ro:6DvLrE839BA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=zEo0wbjU3ro:6DvLrE839BA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=zEo0wbjU3ro:6DvLrE839BA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=zEo0wbjU3ro:6DvLrE839BA:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/10/lo-dia-mas-importante-del-ano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/10/lo-dia-mas-importante-del-ano/</feedburner:origLink></item>
		<item>
		<title>Aumentando a semântica com RDFa</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/xVgxasCcQ5M/</link>
		<comments>http://kiss.souagil.com.br/2009/09/aumentando-a-semantica-com-rdfa/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 18:18:54 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/09/aumentando-a-semantica-com-rdfa/">Fabrício Ferracioli</span></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=621</guid>
		<description><![CDATA[Acredito que Web vem tomando um caminho interessante com decisões tomadas nos últimos meses, como a adoção do HTML 5 e o engavetamento do XHTML 2. Isso com apenas um padrão, a confusão será bem menor e a adoção poderá ser realizada de modo mais harmonioso. Mas, como a maioria das pessoas que trabalham com [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float:left;margin-right:10px;float:left;margin-right:10px;float: right; margin-left: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F09%2Faumentando-a-semantica-com-rdfa%2F"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F09%2Faumentando-a-semantica-com-rdfa%2F" height="78" width="60" /></a></div><p>Acredito que Web vem tomando um caminho interessante com decisões tomadas nos últimos meses, como a <a href="http://www.w3.org/News/2009#item119">adoção do <abbr title="HyperText Markup Language">HTML</abbr> 5 e o engavetamento do <abbr title="Extensible HyperText Markup Language">XHTML</abbr> 2</a>. Isso com apenas um padrão, a confusão será bem menor e a adoção poderá ser realizada de modo mais harmonioso. Mas, como a maioria das pessoas que trabalham com Web sabem, não basta que o padrão exista, ele deve ser suportado pelo mercado, senão acaba ficando somente &#8220;no papel&#8221;.<br />
Até algum tempo atrás, acreditava que isso aconteceria com o <abbr title="Resource Description Framework - in - attributes">RDFa</abbr>, uma recomendação do <abbr title="World Wide Web Consortium">W3C</abbr> que é conjunto de extensões do (X)HTML que permite aumentar a semântica de documentos (X)HTML. Atualmente, o padrão é suportado pelo <a href="http://developer.yahoo.net/blog/archives/2008/09/searchmonkey_support_for_rdfa_enabled.html">Yahoo!</a>, o pioneiro, e pelo <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&#038;answer=146898">Google</a>.
</p>
<p>
E agora você me pergunta:
</p>
<blockquote><p>Em que isso vai me ajudar?</p></blockquote>
<p>
O RDFa basicamente adiciona semântica a seus documentos, fazendo com que eles sejam compreendidos mais facilmente por dispositivos, o que aumenta a capacidade de busca.<br />
Agora é só pensar um pouco, se o Yahoo e Google puderem compreender melhor seus documentos, eles serão mais facilmente encontrados e você ganha uma vantagem sobre quem não dá a mínima para semântica.<br />
Pra você que ainda não ficou convencido, aqui vou usar dois exemplos, que talvez você já tenha visto, mas não sabia o porque das informações adicionais. Primeiro a do Yahoo.<br />
<img src="http://kiss.souagil.com.br/wp-content/uploads/2009/09/busca_yahoo.png" alt="Resultado de busca do Yahoo com RDFa" /><br />
Agora a do Google.<br />
<img src="http://kiss.souagil.com.br/wp-content/uploads/2009/09/busca_google.png" alt="Resultado de busca do Google com RDFa" />
</p>
<p>
Em ambos os casos, as informações adicionais que estão associadas aos resultados fazem grande diferença nos resultados, pois adicionam muito mais ao que o usuário deseja saber, do que simplesmete o resultado da busca tradicional. Essa pequena diferença já é suficiente para deixar seu resultado a frente dos demais e possivelmente preferido pelo usuário.
</p>
<p>
Gostou, não é?<br />
E agora você me pergunta:
</p>
<blockquote><p>Mas como eu faço isso?!</p></blockquote>
<p>
Não faltam recursos na Web sobre RDFa, e como o objetivo desse post é alertar sobre as possibilidades dele, deixo alguns links para vocês aprenderem um pouco.
</p>
<ol>
<li><a href="http://www.w3.org/TR/xhtml-rdfa-primer/">Ótimo para quem não sabe nada, leitura obrigatória.</a></li>
<li><a href="http://www.alistapart.com/articles/introduction-to-rdfa/">Também é ótimo para quem está começando, dividido em duas partes.</a></li>
<li><a href="http://www.alistapart.com/articles/introduction-to-rdfa-ii/">Continuação do artigo anterior.</a></li>
<li><a href="http://www.w3.org/TR/rdfa-syntax/">Esse é um pouco mais avançado, leia depois de ler os anteriores</a></li>
</ol>
<p>
Lembrando que o <a href="http://www.w3.org/2001/sw/">W3C Semantic Web Activity</a> possui vários recursos para quem quer aprender, além de alguns casos de uso.<br />
E não tem desculpa para não utilizar, ele é compatível tanto com HTML quanto XHTML.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=xVgxasCcQ5M:3QiaChdR47Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=xVgxasCcQ5M:3QiaChdR47Q:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=xVgxasCcQ5M:3QiaChdR47Q:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=xVgxasCcQ5M:3QiaChdR47Q:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/09/aumentando-a-semantica-com-rdfa/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/09/aumentando-a-semantica-com-rdfa/</feedburner:origLink></item>
		<item>
		<title>Apache 2.xx + mod_myvhost</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/4bfWmUPVQm4/</link>
		<comments>http://kiss.souagil.com.br/2009/08/apache-2-xx-mod_myvhost/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 17:59:44 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/08/apache-2-xx-mod_myvhost/">Marcus Vinicius</span></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=581</guid>
		<description><![CDATA[Desde muito tempo atraz, ficamos intrigados em ter que rebootar o apache a cada nova configuração de vhost. O Bodão inclusive descobriu um tal de mod_myvhost, mas que para nossa infelicidade funcionava somente no Apache 1.3.x. E assim como nós, os caras do slack-users, também acharam que compilar esse módulo para a versao 2.xx do [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float:left;margin-right:10px;float:left;margin-right:10px;float: right; margin-left: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F08%2Fapache-2-xx-mod_myvhost%2F"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F08%2Fapache-2-xx-mod_myvhost%2F" height="78" width="60" /></a></div><p>Desde muito tempo atraz, ficamos intrigados em ter que rebootar o apache a cada nova configuração de vhost. O <a title="Blog do Bodão" href="http://sirboderafael.wordpress.com" target="_blank">Bodão</a> inclusive descobriu um tal de <a title="mod_myvhost" href="http://code.google.com/p/mod-myvhost/" target="_blank">mod_myvhost</a>, mas que para nossa infelicidade funcionava somente no <a title="Apache" href="http://www.apache.org/" target="_blank">Apache</a> 1.3.x. E assim como nós, os caras do <a title="Slack-Users" href="http://groups.google.com/group/slack-users-br/" target="_blank">slack-users</a>, também acharam que <a title="Thread do slack-users" href="http://groups.google.com/group/slack-users-br/browse_thread/thread/e6e17ae86d2c3324/cc830f705486f742" target="_blank">compilar esse módulo para a versao 2.xx</a> do Apache não era possível.</p>
<p>Bom&#8230; A idéia foi abandonada, e a azia de reboot continuava causando com a galera! ¬¬&#8221;</p>
<p>Recentemente (mais precisamente na sexta passada), resolvi colocar a idéia do <a title="Posts do Mano" href="http://kiss.souagil.com.br/author/fabricio/" target="_blank">Mano</a> em prática: configurar um ambiente de desenvolvimento padronizado para a empresa!</p>
<p>Tá&#8230; legal&#8230; As idéias foram surgindo&#8230; Mas peraí! Pouts&#8230; &#8220;A gente podia dar um jeito de não ter que ficar dando restart no Apache neh?&#8221; É!</p>
<p>Bom&#8230; foi o suficiente pra que eu (teimoso como sempre) fritasse algumas horas e colocasse o mod_myvhost pra rodar!</p>
<p>OK! Chega de historinha e vamos instalar neh&#8230;<br />
<br/></p>
<h4>1 &#8211; Execute esse script aqui</h4>
<p>Ele baixa o source, corrige o Makefile e compila o módulo:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #007800;">mysql_libs</span>=<span style="color: #000000; font-weight: bold;">`</span>mysql_config <span style="color: #660033;">--libs</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s,-rdynamic ,,'</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>Voce precisa da <span style="color: #000099; font-weight: bold;">\&quot;</span>libmysqlclient-devel<span style="color: #000099; font-weight: bold;">\&quot;</span> para continuar a instalacao&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #007800;">APXS</span>=<span style="color: #000000; font-weight: bold;">`</span>apxs<span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$?</span> <span style="color: #660033;">-ne</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>Voce precisa de <span style="color: #000099; font-weight: bold;">\&quot;</span>apache2-devel<span style="color: #000099; font-weight: bold;">\&quot;</span> para continuar a instalacao&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">svn</span> checkout https:<span style="color: #000000; font-weight: bold;">//</span>mod-myvhost.googlecode.com<span style="color: #000000; font-weight: bold;">/</span>svn<span style="color: #000000; font-weight: bold;">/</span>branches<span style="color: #000000; font-weight: bold;">/</span>2.xx mod-myvhost-read-only
<span style="color: #7a0874; font-weight: bold;">cd</span> .<span style="color: #000000; font-weight: bold;">/</span>mod-myvhost-read-only
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-i</span> <span style="color: #ff0000;">&quot;s,\<span style="color: #780078;">`mysql_config --libs\`</span>,<span style="color: #007800;">$mysql_libs</span>,&quot;</span> Makefile
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-w</span> <span style="color: #660033;">-i</span> <span style="color: #660033;">--silent</span> <span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000; font-weight: bold;">&amp;</span>amp; <span style="color: #7a0874; font-weight: bold;">wait</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> .libs<span style="color: #000000; font-weight: bold;">/</span>mod_myvhost.so .<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<h5>Depois do módulo compilado&#8230;</h5>
<p>coloque-o no diretório de módulos do seu Apache</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cp</span> .<span style="color: #000000; font-weight: bold;">/</span>mod_myvhost.conf <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span></pre></div></div>

<p><br/></p>
<h4>2 &#8211; Configure o seu httpd.conf</h4>
<p>basta inserir as linhas que seguem no fim do arquivo. <strong>Lembre-se de comentar o include do arquivo onde estavam os antigos vhosts.</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">...
<span style="color: #666666; font-style: italic;">#Include /etc/httpd/extra/httpd-vhosts.conf</span>
...
&nbsp;
LoadModule myvhost_module lib<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>mod_myvhost.so 
&nbsp;
<span style="color: #666666; font-style: italic;"># My Virtual Hosts Configuration</span>
Include <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>extra<span style="color: #000000; font-weight: bold;">/</span>httpd-myvhosts.conf</pre></div></div>

<p><br/></p>
<h4>3 &#8211; Crie seu httpd-myvhosts.conf</h4>
<p>pra isso é só colocar as linhas seguintes em <strong>/etc/httpd/extra/httpd-myvhosts.conf</strong>, e alterar onde for necessário</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">NameVirtualHost <span style="color: #000000; font-weight: bold;">*</span>:<span style="color: #000000;">80</span>
&nbsp;
    MyVhostOn           on
    MyVhostDefaultHost  <span style="color: #ff0000;">&quot;localhost&quot;</span>
    MyVhostDefaultRoot  <span style="color: #ff0000;">&quot;/srv/www/htdocs/&quot;</span>
    MyVhostDbHost       <span style="color: #ff0000;">&quot;localhost&quot;</span>
    MyVhostDbSocket     <span style="color: #ff0000;">&quot;/var/run/mysql/mysql.sock&quot;</span>
    MyVhostDbUser       <span style="color: #ff0000;">&quot;usuario&quot;</span>
    MyVhostDbPass       <span style="color: #ff0000;">&quot;senha&quot;</span>
    MyVhostDbName       <span style="color: #ff0000;">&quot;hosting&quot;</span>
    MyVhostQuery        <span style="color: #ff0000;">&quot;SELECT <span style="color: #780078;">`rootdir`</span>,<span style="color: #780078;">`admin`</span>,<span style="color: #780078;">`extra_php_config`</span> FROM <span style="color: #780078;">`vhosts`</span>  WHERE (<span style="color: #780078;">`vhost`</span>='%s' OR <span style="color: #780078;">`valias`</span>='%s') AND <span style="color: #780078;">`enabled`</span>='yes'&quot;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;"># Configuracoes Opcionais</span>
        Options Indexes FollowSymLinks
        RewriteEngine On
        AllowOverride All
        Order allow,deny
        Allow from all</pre></div></div>

<p><br/></p>
<h4>4 &#8211; Criando o banco de dados</h4>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> <span style="color: #ff0000;">`hosting`</span>;
<span style="color: #993333; font-weight: bold;">USE</span> <span style="color: #ff0000;">`hosting`</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #ff0000;">`vhosts`</span> <span style="color: #66cc66;">&#40;</span>
    <span style="color: #ff0000;">`vhost`</span> varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span>
    <span style="color: #ff0000;">`valias`</span> varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span>
    <span style="color: #ff0000;">`enabled`</span> enum<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'yes'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'no'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">'no'</span><span style="color: #66cc66;">,</span>
    <span style="color: #ff0000;">`rootdir`</span> varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span>
    <span style="color: #ff0000;">`admin`</span> varchar<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">DEFAULT</span> <span style="color: #ff0000;">''</span><span style="color: #66cc66;">,</span>
    <span style="color: #ff0000;">`extra_php_config`</span> text<span style="color: #66cc66;">,</span>
    <span style="color: #993333; font-weight: bold;">UNIQUE</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #ff0000;">`vhostname`</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`vhost`</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
    <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #ff0000;">`enabled`</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`enabled`</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span> TYPE<span style="color: #66cc66;">=</span>MyISAM COMMENT<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'vhosts'</span>;</pre></div></div>

<p><br/></p>
<h4>5 &#8211; Concluindo</h4>
<p>Agora é só restartar o apache (PELA ULTIMA VEZ! haha), popular o banco e começar a utilizar!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=4bfWmUPVQm4:Wn9olBTeevA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=4bfWmUPVQm4:Wn9olBTeevA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=4bfWmUPVQm4:Wn9olBTeevA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=4bfWmUPVQm4:Wn9olBTeevA:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/08/apache-2-xx-mod_myvhost/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/08/apache-2-xx-mod_myvhost/</feedburner:origLink></item>
		<item>
		<title>Padrões de escrita de código em PHP</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/UbWUAEfhsrE/</link>
		<comments>http://kiss.souagil.com.br/2009/08/padroes-de-escrita-de-codigo-em-php/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 14:11:58 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/08/padroes-de-escrita-de-codigo-em-php/">Fabrício Ferracioli</span></dc:creator>
				<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=574</guid>
		<description><![CDATA[Hoje aconteceu mais uma apresentação sobre temas relacionados a programação aqui para a equipe da souÁgil. Falamos sobre um tema que gera bastante polêmica entre uma equipe de programadores, por se tratar muitas vezes de uma preferência pessoal. Mas que tema é esse?
Padrões de escrita de código em PHP.
Especialmente no caso do PHP, a polêmica [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float:left;margin-right:10px;float:left;margin-right:10px;float: right; margin-left: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F08%2Fpadroes-de-escrita-de-codigo-em-php%2F"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F08%2Fpadroes-de-escrita-de-codigo-em-php%2F" height="78" width="60" /></a></div><p>Hoje aconteceu mais uma apresentação sobre temas relacionados a programação aqui para a equipe da souÁgil. Falamos sobre um tema que gera bastante polêmica entre uma equipe de programadores, por se tratar muitas vezes de uma preferência pessoal. Mas que tema é esse?<br />
<strong>Padrões de escrita de código em PHP</strong>.<br />
Especialmente no caso do PHP, a polêmica é ainda maior, uma vez que a linguagem não possui nenhum padrão estabelecido oficialmente.
</p>
<p>
Aqui vai a apresentação:<br />
<iframe src="http://docs.google.com/present/embed?id=dcc2zs7j_1d77dpvdq&#038;interval=60" frameborder="0" width="410" height="342"></iframe>
</p>
<p>
Acredito que em qualquer projeto essa prática é importante, e o objetivo dessa apresentação é mostrar alternativas existentes em PHP. Quem gostar de algum deles pode adotá-lo ou criar o seu, mas lembre-se que toda a equipe deve ter uma maneira fácil de conhecê-lo.<br />
É isso, espero que ajude a quem precisar.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=UbWUAEfhsrE:sGt48v6MLY8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=UbWUAEfhsrE:sGt48v6MLY8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=UbWUAEfhsrE:sGt48v6MLY8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=UbWUAEfhsrE:sGt48v6MLY8:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/08/padroes-de-escrita-de-codigo-em-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/08/padroes-de-escrita-de-codigo-em-php/</feedburner:origLink></item>
		<item>
		<title>O IE6 é apenas mais um navegador</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/eyyPpO66Onw/</link>
		<comments>http://kiss.souagil.com.br/2009/07/o-ie6-e-apenas-mais-um-navegador/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 19:06:54 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/07/o-ie6-e-apenas-mais-um-navegador/">Gabriel Gilini</span></dc:creator>
				<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=569</guid>
		<description><![CDATA[Em todo blog de desenvolvimento o assunto vem sendo o mesmo nos últimos dias: a morte do IE6. O Digg anunciou que não suporta mais o navegador, depois veio o Youtube, e tenho certeza que muitos outros estão seguindo a mesma estratégia dos gigantes.
Por todos os cantos da Internet se escutam exaltações de alegria: &#8220;hacks [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float:left;margin-right:10px;float:left;margin-right:10px;float: right; margin-left: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F07%2Fo-ie6-e-apenas-mais-um-navegador%2F"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F07%2Fo-ie6-e-apenas-mais-um-navegador%2F" height="78" width="60" /></a></div><p>Em todo blog de desenvolvimento o assunto vem sendo o mesmo nos últimos dias: a morte do IE6. O Digg anunciou que não suporta mais o navegador, depois veio o Youtube, e tenho certeza que muitos outros estão seguindo a mesma estratégia dos gigantes.</p>
<p>Por todos os cantos da Internet se escutam exaltações de alegria: &#8220;hacks para PNG não mais&#8221;, &#8220;seletores CSS3!&#8221;, &#8220;HTML5&#8243;, e etc. E a cada vez que leio algo nesse sentido, sinto uma pontada de pesar por saber que essas pessoas não entendem o que é desenvolver pra web, elas acreditam que dando suporte às funcionalidades conhecidas de um punhado de navegadores que aparecem nas estatísticas é o necessário para dar suporte cross-browser. Então me pergunto: o que adianta bradar aos quatro ventos que desenvolve nos padrões de acessibilidade, sendo que na hora de escrever um script não leva em conta que os navegadores utilizados por deficientes visuais, por exemplo, são praticamente desconhecidos para os desenvolvedores. Eu não sei qual punhado de funcionalidades um navegador desses suporta, mas é meu papel garantir que pelo menos uma experiência minimalista de uso seja viável em <strong>qualquer</strong> navegador.</p>
<p>Não me vejo no direito de excluir algumas pessoas de utilizarem minha interface porque elas não usam um navegador que eu conheça ou goste, mas parece-me que muita gente não se importa com esses &#8220;excluídos&#8221;. Ontem, depois de ler <a href="http://www.tableless.com.br/aonde-nos-leva-a-morte-do-internet-explorer-6">o milésimo post falando como o IE6 é(era) a praga da web</a>, resolvi dissertar brevemente sobre o assunto, e como gostei do que escrevi, vou reproduzir o texto do comentário aqui <em>ipsis litteris</em>.</p>
<blockquote><p>
Eu já cansei de falar isso, mas vamos lá.</p>
<p>Todo esse chororô dos desenvolvedores no que concerne ao IE6 é, no mínimo, “overrated”. Eu me sinto na obrigação de escrever código que funcione (mesmo que de maneira básica) em qualquer navegador. E sabem o que é mais interessante? Pra 99,9% dos projetos, não é nem um pouco difícil dar suporte ao IE6, o problema é que as pessoas desistiram de aprender JavaScript para usar cegamente essa aberração chamada jQuery, que até pouco tempo atrás abusou de user-agent sniffing, e que atualmente trocou pelos piores exemplos de feature testing que já vi na vida, se é que posso chamar aquilo de feature testing, tá mais pra object inference. Aí quando o cara testa no IE6 e vê as coisas dando errado, começa a meter a boca no navegador, mas mal sabe ele que o script que ele confia tão cegamente está fazendo tudo errado.<br />
O meu ponto é que não é tão dificil escrever código cross-browser quando os John Resigs da internet pintam a todo momento.</p>
<p>Quanto ao CSS, sim o IE6 tem um suporte bem fraco a CSS2.1, mas existem os comentários condicionais. É simples fazer uma versão ‘lo-fi’ do design para IE6 utilizando um stylesheet alternativo. E pra quem ainda não sabe, esses fixes de PNG introduzem vários crashes totalmente imprevisíveis. O que você prefere, utilizar PNG 8bit ou CRASHAR o navegador de seus usuários?</p>
<p>Por fim, gostaria de dizer que sim, o IE6 está deixando de ser utilizado pela maioria, mas sempre existem pessoas que não podem atualizar, ou pessoas que utilizam um browser que nem entra nas estatísticas, algum dos muitos ‘flavors’ do IE6 que saíram ao longo dos anos. Acho que dá pra entender como é pointless ficar malhando um navegador, certo? Boas práticas de desenvolvimento contornam todos esses problemas.<br />
O que falta na web são pessoas que realmente saibam o que estão fazendo e não navegadores com melhores capacidades.
</p></blockquote>
<p>E você, o que acha?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=eyyPpO66Onw:qSjuS1Z7JPg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=eyyPpO66Onw:qSjuS1Z7JPg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=eyyPpO66Onw:qSjuS1Z7JPg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=eyyPpO66Onw:qSjuS1Z7JPg:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/07/o-ie6-e-apenas-mais-um-navegador/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/07/o-ie6-e-apenas-mais-um-navegador/</feedburner:origLink></item>
		<item>
		<title>Referências Circulares e Memory Leaks</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/b1B8IQDX4vg/</link>
		<comments>http://kiss.souagil.com.br/2009/07/referencias-circulares-e-memory-leaks/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 18:04:42 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/07/referencias-circulares-e-memory-leaks/">Gabriel Gilini</span></dc:creator>
				<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=562</guid>
		<description><![CDATA[Bom, o Lucas já me cobrou e eu nem tinha percebido que não postei a apresentação aqui hehe, mas aí vai! Uma breve apresentação sobre referências circulares no DOM e como elas podem vazar muita memória no IE 6 e anteriores.
No começo também falo sobre resolução de identificadores e como funciona o contexto de execução [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float:left;margin-right:10px;float:left;margin-right:10px;float: right; margin-left: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F07%2Freferencias-circulares-e-memory-leaks%2F"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F07%2Freferencias-circulares-e-memory-leaks%2F" height="78" width="60" /></a></div><p>Bom, o Lucas já me cobrou e eu nem tinha percebido que não postei a apresentação aqui hehe, mas aí vai! Uma breve apresentação sobre referências circulares no DOM e como elas podem vazar muita memória no IE 6 e anteriores.</p>
<p>No começo também falo sobre resolução de identificadores e como funciona o contexto de execução quando uma função é criada. Isso é necessário pro entendimento a fundo do que causa esses memory leaks, mas o mais importante para todos os desenvolvedores está nos últimos slides, onde mostro o que é uma <em>closure</em>, como as referências circulares más são formadas e como fazer para evitá-las.</p>
<p><iframe src='http://docs.google.com/present/embed?id=dct3gmjj_43fzgbq82s' frameborder='0' width='410' height='342'></iframe></p>
<p>Qualquer dúvida que tiverem, digam nos comentários e ficarei feliz em responder.</p>
<p>Aproveito também para convidar novamente todos que forem de Londrina a participar dessas apresentações, vamos tentar realizá-las a cada uma ou duas semanas.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=b1B8IQDX4vg:p14aKL4btO4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=b1B8IQDX4vg:p14aKL4btO4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=b1B8IQDX4vg:p14aKL4btO4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=b1B8IQDX4vg:p14aKL4btO4:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/07/referencias-circulares-e-memory-leaks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/07/referencias-circulares-e-memory-leaks/</feedburner:origLink></item>
		<item>
		<title>Utilizando Migrations no CakePHP</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/mn6eMQj3eMU/</link>
		<comments>http://kiss.souagil.com.br/2009/07/utilizando-migrations-no-cakephp/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 12:46:36 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/07/utilizando-migrations-no-cakephp/">lucas</span></dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=556</guid>
		<description><![CDATA[Atualmente, o pessoal aqui da souágil está se reunindo para discutir e apresentar alguns temas importantes para o desenvolvimento, o que chamamos de processo de melhoria contínua. São pequenas apresentações de no máximo 30 minutos. O primeiro encontro foi sobre Referências Circulares e Memory Leaks no DOM apresentação feita pelo Gabriel, garanto que vou cobrá-lo [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float:left;margin-right:10px;float:left;margin-right:10px;float: right; margin-left: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F07%2Futilizando-migrations-no-cakephp%2F"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F07%2Futilizando-migrations-no-cakephp%2F" height="78" width="60" /></a></div><p>Atualmente, o pessoal aqui da souágil está se reunindo para discutir e apresentar alguns temas importantes para o desenvolvimento, o que chamamos de processo de melhoria contínua. São pequenas apresentações de no máximo 30 minutos. O primeiro encontro foi sobre Referências Circulares e Memory Leaks no DOM apresentação feita pelo <a href="http://kiss.souagil.com.br/author/gabriel/">Gabriel</a>, garanto que vou cobrá-lo a postar algo sobre isso aqui. O segundo encontro foi ontem, dia 14, e o assunto foi o <a href="http://wiki.github.com/joaojose/migrations">migrations do cakePHP</a> feito por <del datetime="2009-07-15T20:04:54+00:00"><a href="http://kiss.souagil.com.br/author/joaojose/">João José</a> e</del> Juan Basso do <a href="http://blog.cakephp-brasil.org/">CakePHP Brasil</a>.</p>
<p>Vou disponibilizar aqui a apresentação porém alerto que esta não explica o que é o migrations e nem o que faz. O intuito era mesmo ensinar a utilizar:</p>
<p><iframe src='http://docs.google.com/present/embed?id=d922pns_15cpjjwfgc' frameborder='0' width='410' height='342'></iframe></p>
<p>Obs.: Quem for de londrina e quiser participar dos encontros pode comentar este post ou enviar um email para contato [arroba] usosim.com.br</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=mn6eMQj3eMU:bO8pHN7ChEg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=mn6eMQj3eMU:bO8pHN7ChEg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=mn6eMQj3eMU:bO8pHN7ChEg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=mn6eMQj3eMU:bO8pHN7ChEg:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/07/utilizando-migrations-no-cakephp/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/07/utilizando-migrations-no-cakephp/</feedburner:origLink></item>
		<item>
		<title>KISS – O Retorno!</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/DK1y4q_w_Zk/</link>
		<comments>http://kiss.souagil.com.br/2009/07/kiss-o-retorno/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 14:57:14 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/07/kiss-o-retorno/">Marcus Vinicius</span></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=547</guid>
		<description><![CDATA[Eai galera!
Nos ultimos dias enfrentamos turbulências na realização da mudança do nosso servidor, cache do WP, e outras azias aleatórias .
O KISS ficou zuadão, mas agora (de acordo com o Bodão) está rodando normalmente:

Hj eu botei um sistema de cache de macho nele&#8230; agora eh cache de banco de dados, e nao cache de pagina [...]]]></description>
			<content:encoded><![CDATA[<div class="bzbutton" style="float:left;margin-right:10px;float:left;margin-right:10px;float: right; margin-left: 10px;"><a href="http://buzzvolume.com/compartilhar?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F07%2Fkiss-o-retorno%2F"><img src="http://buzzvolume.com/button.png?url=http%3A%2F%2Fkiss.souagil.com.br%2F2009%2F07%2Fkiss-o-retorno%2F" height="78" width="60" /></a></div><p>Eai galera!</p>
<p>Nos ultimos dias enfrentamos turbulências na realização da mudança do nosso servidor, cache do <a href="http://wordpress.org/">WP</a>, e outras azias aleatórias .</p>
<p>O <a href="http://kiss.souagil.com.br/">KISS</a> ficou zuadão, mas agora (de acordo com o <a href="http://sirboderafael.wordpress.com">Bodão</a>) está rodando normalmente:</p>
<blockquote><p>
Hj eu botei um sistema de cache de macho nele&#8230; agora eh cache de banco de dados, e nao cache de pagina completa&#8230; a separacao de contexto conteudo estatico e conteudo gerado por consultas eh bem mais interessante, gasta menos espaco em disco, menos processamento, e tudo acaba realmente ficando mais rapido&#8230;
</p></blockquote>
<p>Bom&#8230; sendo assim, gostariamos de deixar aqui nossas sinceras desculpas pelos transtornos =D</p>
<p>[]&#8217;ss</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=DK1y4q_w_Zk:tPClL409NOM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=DK1y4q_w_Zk:tPClL409NOM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=DK1y4q_w_Zk:tPClL409NOM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=DK1y4q_w_Zk:tPClL409NOM:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/07/kiss-o-retorno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/07/kiss-o-retorno/</feedburner:origLink></item>
		<item>
		<title>Ajudando a melhorar a qualidade do PHP</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/mD9y5FpJsTk/</link>
		<comments>http://kiss.souagil.com.br/2009/06/ajudando-a-melhorar-a-qualidade-do-php/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 12:23:41 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/06/ajudando-a-melhorar-a-qualidade-do-php/">Fabrício Ferracioli</span></dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=531</guid>
		<description><![CDATA[Vocês já devem ter percebido através dos posts do blog que damos grande importância para os testes de software. As razões para isso são diversas, mas certamente a principal está relacionada a confiabilidade.
Nossa linguagem de programação preferida, o PHP, sempre sofreu diversos ataques com relação a esse aspecto, normalmente comparado a outras linguagens de programação [...]


<strong>Posts relacionados:</strong><ol><li><a href='http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/' rel='bookmark' title='Permanent Link: <span property="dc:date" content="2009-02-12 20:24:10" resource="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/" /><span rel="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/" property="dc:title" resource="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/">CakePHP AutoTest &#8211; Testes Contínuos</span>'><span property="dc:date" content="2009-02-12 20:24:10" resource="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/" /><span rel="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/" property="dc:title" resource="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/">CakePHP AutoTest &#8211; Testes Contínuos</span></a> <small>Certo dia, lá no canal do IRC fiquei sabendo de...</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>Vocês já devem ter percebido através dos posts do blog que damos grande importância para os testes de software. As razões para isso são diversas, mas certamente a principal está relacionada a confiabilidade.</p>
<p>Nossa linguagem de programação preferida, o <acronym title="PHP: Hypertext Preprocessor">PHP</acronym>, sempre sofreu diversos <a href="http://forum.darkside.com.br/vb/showthread.php?t=32153">ataques com relação a esse aspecto</a>, normalmente comparado a outras linguagens de programação como Java, Python, Ruby e até C++. Não que ele seja uma linguagem imaculada, mas não é limitado ou ruim como muitos dizem por ai.<br />
Se vocês acompanham o desenvolvimento da linguagem, devem saber que a <a href="http://www.php.net/archive/2009.php#id2009-06-12-1">versão 5.3</a> está quase saindo do forno, e vem com várias promessas bastante promissoras.
</p>
<p>
Uma delas, que acredito que seja uma das melhores iniciativas desse <span lang="en">release</span>, é o <a href="http://qa.php.net/">PHP Quality Assurance</a>. O <acronym title="PHP Quality Assurance">PHP QA</acronym> é uma iniciativa de um grupo de desenvolvedores que deseja ajudar o grupo principal de desenvolvimento do PHP, melhorando a qualidade da linguagem. Entre as <a href="http://qa.php.net/projects.php">estratégias e objetivos</a>, temos diversas iniciativas associadas a testes automatizados, análise e reporting de bugs.
</p>
<p>
Só que uma das partes mais interessantes ainda não foi mencionada. Se você se preocupa com a qualidade da sua linguagem de programação preferida e gostaria de ajudar ela a melhorar, agora você tem mais uma maneira de fazer isso! Você quer saber <strong>como?</strong><br />
<a href="http://qa.php.net/write-test.php">Agora você pode escrever testes para o PHP!</a><br />
E não é só isso! Agora você também pode acompanhar o <a href="http://qa.php.net/tested-methods.php">andamento dos testes existentes</a> e o <a href="http://gcov.php.net/">code coverage</a> para cada versão. Outro modo de ajudar é <a href="http://qa.php.net/running-tests.php">testanto a compilação dos Release Candidates</a> atuais.
</p>
<p>
Não conheço nenhuma iniciativa semelhante por parte de outras linguagens de programação, alguém sabe de alguma?<br />
Essa talvez seja uma das grandes vantagens do PHP com relação a outras linguagens de programação, o tamanho da comunidade e a abertura dada para que ela possa contribuir.<br />
Agora ninguém tem desculpa pra não ajudar o PHP a se tornar uma linguagem de programação cada vez melhor. E quando vocês ouvirem que ele é uma linguagem não confiável, já sabem aonde recorrer para provarem o contrário.<br />
<span lang="en">Good coding</span>!</p>


<p><strong>Posts relacionados:</strong><ol><li><a href='http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/' rel='bookmark' title='Permanent Link: <span property="dc:date" content="2009-02-12 20:24:10" resource="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/" /><span rel="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/" property="dc:title" resource="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/">CakePHP AutoTest &#8211; Testes Contínuos</span>'><span property="dc:date" content="2009-02-12 20:24:10" resource="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/" /><span rel="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/" property="dc:title" resource="http://kiss.souagil.com.br/2009/02/cakephp-autotest-testes-continuos/">CakePHP AutoTest &#8211; Testes Contínuos</span></a> <small>Certo dia, lá no canal do IRC fiquei sabendo de...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=mD9y5FpJsTk:NwlkcDCbGeY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=mD9y5FpJsTk:NwlkcDCbGeY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=mD9y5FpJsTk:NwlkcDCbGeY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=mD9y5FpJsTk:NwlkcDCbGeY:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/06/ajudando-a-melhorar-a-qualidade-do-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/06/ajudando-a-melhorar-a-qualidade-do-php/</feedburner:origLink></item>
		<item>
		<title>3 benefícios da Automação de Testes</title>
		<link>http://feedproxy.google.com/~r/kiss-keepitsimple/~3/ZcbFgt1Zaz8/</link>
		<comments>http://kiss.souagil.com.br/2009/04/3-beneficios-da-automacao-de-testes/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 07:43:48 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://kiss.souagil.com.br/2009/04/3-beneficios-da-automacao-de-testes/">João José Pedrini</span></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kiss.souagil.com.br/?p=529</guid>
		<description><![CDATA[Recentemente encontrei um site muito interessante de desenvolvimento de testes automatizados, o site dispõe de diversos assuntos importantíssimos para quem quer aprender e se aperfeiçoar em desenvolvimento de teste. Lendo alguns textos, fiquei com vontade de comentar aqui o &#8220;Goals of Test Automation&#8221;. O capítulo enumera 6 grandes objetivos para se ter sucesso no desenvolvimento [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente encontrei um site muito interessante de desenvolvimento de <a id="k50o" title="testes automatizados" href="http://xunitpatterns.com/index.html">testes automatizados</a>, o site dispõe de diversos assuntos importantíssimos para quem quer aprender e se aperfeiçoar em desenvolvimento de teste. Lendo alguns textos, fiquei com vontade de comentar aqui o <a id="t_jn" title="Goals of Test Automation" href="http://xunitpatterns.com/Goals%20of%20Test%20Automation.html">&#8220;Goals of Test Automation&#8221;</a>. O capítulo enumera 6 grandes objetivos para se ter sucesso no desenvolvimento de testes unitários e testes de aceitação, não explicando como alcançá-los.</p>
<p>Tive a idéia de escrever aqui uma releitura do texto utilizando os 3 primeiros grandes objetivos como motivações, benefícios que os testes podem trazer para o projeto. A idéia é plantar uma semente naqueles que ainda não acreditam nos testes, tentar mostrar que, quando bem implantado, os testes são valiosos.</p>
<h3>1- Melhoria da qualidade</h3>
<p>Antes de falar sobre como o teste pode ajudar na melhoria da qualidade, temos que entender o que significa qualidade de software. O autor foi muito feliz quando dividiu o definição de qualidade em dois tópicos: o software foi desenvolvido corretamente? desenvolvemos o software certo?</p>
<p>Quando desenvolvemos testes, buscamos sempre pensar em qual o comportamento que nosso código deverá ter em diversas situações.  Se conseguirmos escolher corretamente as situações que correspondem o que o cliente precisa e reproduzirmos estas situações nos testes automatizados, teremos certeza que os comportamentos serão atendidos e que estamos no caminho certo. As ferramentas de testes de aceitação são ótimas para atingirmos este objetivo.</p>
<p>Desenvolvendo que é realmente necessário, devemos garantir que o software realize corretamente os comportamentos. Nosso código deve estar livre de qualquer Bug. Testes unitários são ótimos para encontrar Bugs e prevenir que eles retornem. Quando um teste falha, a suíte nos indica precisamente o local que ocorreu o erro, nos dando informações valiosíssimas para concertamos o problema. Isto em questões de segundos.</p>
<p>As vezes, o Bug é descoberto quando o sistema está em produção, nestes casos o estrago provavelmente já deve ter ocorrido. Mas a automação ainda pode ser útil, temos a possibilidade de criar a reprodução do problema com um teste (Regression Test) e, assim prevenir,que o Bug retorne em futuras modificações.</p>
<p>Vale comentar que desenvolver teste é como desenvolver código, da mesma maneira que podemos cometer alguns enganos na programação de uma função, os testes também sofrem este problema. A diferença é que sem testes, o tempo e custo para encontrar estes enganos seriam muito maior.</p>
<h3>2- Entendimento do Sistema</h3>
<p>Quem estuda metodologia ágil deve conhecer o manifesto que prega, entre outros,  &#8220;código funcionando mais que documentação&#8221;. É com esta filosofia que digo: Uma suíte de testes é &#8216;n&#8217; vezes mais valiosa para o entendimento que qualquer documentação.</p>
<p>O primeiro benefício é que os testes não ficam &#8220;desatualizados&#8221;, eles correspondem fielmente o que o código realiza. A documentação de um sistema é um custo para o projeto que, quando o prazo está curto, o sistema está com bug e o orçamento está no fim, a primeira atitude dos desenvolvedores é cortar esse peso. Uma documentação desatualizada é pior que não ter documentação. Testes e código não mentem, eles são, até certo ponto, exatos.</p>
<p>Temos que lembrar também que testes são códigos, e nós somos autores de códigos. Nós sabemos ler e escrever código, não documentação. Isto leva àquela velha história de comunicação, onde um desenvolvedor, ao escrever a documentação, não consegue expressar o que o código reproduz e escreve algo que não condiz com o sistema, seu colega, como muitos <a id="xkxp" title="analfabetos funcionais" href="http://pt.wikipedia.org/wiki/Analfabetismo_funcional">analfabetos funcionais</a>, não interpreta corretamente o que o primeiro escreveu e entende algo totalmente diferente que realmente o código está fazendo. Resumindo, uma grande piada, que para o cliente é de extremo mal gosto.</p>
<h3>3- Redução de Riscos</h3>
<p>Uma das grandes vantagem dos testes é a criação de uma rede de proteção. Esta rede te dá liberdade para evoluir o sistema sem medo de ser feliz. Já comentei sobre <a id="g-gf" title="desenvolvimento confiante" href="../2008/08/desenvolvimento-confiante/">desenvolvimento confiante</a> aqui no blog. Com uma rede de proteção podemos nos prevenir de bugs já conhecidos, mexer em códigos legados e adicionar novas funcionalidades sem medo, pois sabemos que tudo que fazemos, temos os testes para verificar se estragamos algo. É isto que chamamos de Risco Calculado.</p>
<p>Os outros 3 grandes objetivos citado pela fonte diz mais a respeito dos testes em si, algo que deixarei para comentar em uma outra oportunidade. Meu foco foi trazer para vocês os que os testes podem fazer pelo sistema, os benefícios que recebemos quando desenvolvemos testes automatizados de forma correta. Fica o convite a todos para lerem o texto original, tenho certeza que não se arrependerão.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=ZcbFgt1Zaz8:DRC3odvWBvE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=ZcbFgt1Zaz8:DRC3odvWBvE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kiss-keepitsimple?a=ZcbFgt1Zaz8:DRC3odvWBvE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/kiss-keepitsimple?i=ZcbFgt1Zaz8:DRC3odvWBvE:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://kiss.souagil.com.br/2009/04/3-beneficios-da-automacao-de-testes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kiss.souagil.com.br/2009/04/3-beneficios-da-automacao-de-testes/</feedburner:origLink></item>
	</channel>
</rss>
