<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.3" -->
<rss version="2.0"
	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/"
	>

<channel>
	<title>Programa Brasil</title>
	<link>http://www.programabrasil.org</link>
	<description>Blog sobre tecnologia, finanças, projetos e administração</description>
	<pubDate>Sun, 17 Jan 2010 17:30:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>
	<language>en</language>
			<item>
		<title>Ajudem o MySQL</title>
		<link>http://www.programabrasil.org/ajudem-o-mysql/</link>
		<comments>http://www.programabrasil.org/ajudem-o-mysql/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 17:30:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/ajudem-o-mysql/</guid>
		<description><![CDATA[
 	 	
Michael &#8220;Monty&#8221; Widenius é conhecido por ser o criador do SGDB MySQL, um dos mais populares, se é que não é o mais popular, SGDB de uso gratuito da Internet, já a algum tempo ele vem postando em seu blog (Monty Says - http://monty-says.blogspot.com/) sobre o intuito da aquisição da Sun pela Oracle. [...]]]></description>
			<content:encoded><![CDATA[<p><meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /><title></title><meta name="GENERATOR" content="BrOffice.org 3.1  (Win32)" /><br />
<style type="text/css"> 	<!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } 	--> 	</style>
<p class="western" style="margin-bottom: 0cm">Michael &#8220;Monty&#8221; Widenius é conhecido por ser o criador do SGDB MySQL, um dos mais populares, se é que não é o mais popular, SGDB de uso gratuito da Internet, já a algum tempo ele vem postando em seu blog (Monty Says - <a href="http://monty-says.blogspot.com/">http://monty-says.blogspot.com/</a>) sobre o intuito da aquisição da Sun pela Oracle. Quando a Sun adquiriu a MySQL AB (e junto com ela os direitos do SGDB MySQL) eu já ví que isto não daria em boa coisa. A Sun é sim uma das maiores corporações no mundo de TI, mas quando se trata de negócios a Sun não é tão grande coisa assim, mas Monty e os acionistas da MySQL AB tiveram várias garantias dos empresários da Sun e acreditaram que não haveria problemas com a venda, agora vemos posts como “Oracle gives only empty promises for MySQL” (Oracle só apresenta promessas vazias ao MySQL) e “Help saving MySQL” (Ajudem a salvar o MySQL).</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">Bem passado é passado e o que eu penso, ou pensava no passado, não tem nada haver com o que é importante para o momento, ajudar a manter o MySQL um mecanismo gratuito e lucrativo, como já é. Em seu último post Monty anuncia no primeiro parágrafo:</p>
<p class="western" style="margin-bottom: 0cm">“Uma grande parte da Internet é construída sobre LAMP (Linux, Apache, MySQL and PHP/Perl/Python). Agora Oracle está tentando comprar a Sun.”</p>
<p class="western" style="margin-bottom: 0cm">Traduzido de <a href="http://monty-says.blogspot.com/2009/12/help-keep-internet-free.html">http://monty-says.blogspot.com/2009/12/help-keep-internet-free.html</a></p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">É obvio que o MySQL não é o único banco decente gratuito que exite, existem vários, mas realmente existem várias empresas que dependem do MySQL para sobreviver, não que o fato do MySQL deixar de ser gratuito irá fazer com que estas empresas venham a falência, talvez algumas poucas, mas a maior parte vai migrar seus sistemas e continuar sua vida, talvez até consigam um faturamento a mais migrando sistemas antigos para o novo banco de dados, ou vendendo licenças do próprio MySQL. Uma versão livre do MySQL irá surgir, como aconteceu a algum tempo com o RedHet e o Fedora, mas o fato importante é que o MySQL, por pouco que seja (e na verdade é muito), apresenta para a sociedade uma versão aberta de seus sistemas que faz com que estudos sobre metodologias de armazenamento, pesquisa e apresentação de dados tenham grandes avanços e até uma nova versão do MySQL ganhar a credibilidade necessária muito tempo irá passar.</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">Por isto, lembre de assinar a petição (<a href="http://askmonty.org/wiki/index.php/The_hacking_business_model">http://askmonty.org/wiki/index.php/The_hacking_business_model</a>)  e encaminhar um email, como sugerido abaixo. Se você não sabe inglês peça a um amigo para lhe ajudar, mas não deixe de encaminhar o email:</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">Send this to: comp-merger-registry@ec.europa.eu</p>
<p class="western" style="margin-bottom: 0cm">If you want to keep us updated, send a copy to ec@askmonty.org</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">If you have extra time to help, fill in the following, if not, just skip to the main text.</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">Name:</p>
<p class="western" style="margin-bottom: 0cm">Title:</p>
<p class="western" style="margin-bottom: 0cm">Company:</p>
<p class="western" style="margin-bottom: 0cm">Size of company:</p>
<p class="western" style="margin-bottom: 0cm">How many MySQL installations:</p>
<p class="western" style="margin-bottom: 0cm">Total data stored in MySQL (megabyte):</p>
<p class="western" style="margin-bottom: 0cm">For what type of applications is MySQL used:</p>
<p class="western" style="margin-bottom: 0cm">Should this email be kept confidential by EC: Yes/No</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">Copy or use one of the below texts as a base for your answer:</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">a)</p>
<p class="western" style="margin-bottom: 0cm">I don&#8217;t trust that Oracle will take good care of MySQL and MySQL should be divested to another company or foundation that have everything to gain by developing and promoting MySQL. One should also in the future be able to combine MySQL with closed source application (either by exceptions, a more permissive license or be able to dual license MySQL under favourable terms)</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">b)</p>
<p class="western" style="margin-bottom: 0cm">I think that Oracle could be a good steward of MySQL, but I would need EC to have legally binding guarantees from Oracle that:</p>
<p class="western" style="margin-bottom: 0cm">- All of MySQL will continue to be fully Open Source/free software in the future (no closed source modules).</p>
<p class="western" style="margin-bottom: 0cm">- Open Source version and dual-licensed version of MySQL should have same source (like today).</p>
<p class="western" style="margin-bottom: 0cm">- That development will be done in community friendly way.</p>
<p class="western" style="margin-bottom: 0cm">- The manual should be released under a permissive license (so that one can fork it, the same way one can fork the server)</p>
<p class="western" style="margin-bottom: 0cm">- That MySQL should be released under a more permissive license to ensure that forks can truly compete with Oracle if Oracle is not a good steward after all.</p>
<p class="western" style="margin-bottom: 0cm">Alternatively:</p>
<p class="western" style="margin-bottom: 0cm">- One should be able to always buy low priced commercial licenses for MySQL.</p>
<p class="western" style="margin-bottom: 0cm">- All of the above should be perpetual and irrevocable.</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">There should also be mechanism so that if Oracle is not doing what is expected of it, forks should be able to compete with Oracle</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">c)</p>
<p class="western" style="margin-bottom: 0cm">I trust Oracle and I suggest that EC will approve the deal unconditionally.</p>
<p class="western" style="margin-bottom: 0cm">
<p class="western" style="margin-bottom: 0cm">O texto acima foi retirado do post: http://monty-says.blogspot.com/2009/12/help-saving-mysql.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/ajudem-o-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Swirl, se mexa nas imagens!</title>
		<link>http://www.programabrasil.org/google-swirl-se-mexa-nas-imagens/</link>
		<comments>http://www.programabrasil.org/google-swirl-se-mexa-nas-imagens/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 23:10:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/google-swirl-se-mexa-nas-imagens/</guid>
		<description><![CDATA[Não existe tradução direta para o Português, Swirl seria algo do tipo “rodar”, como crianças fazem até ficarem tontas, ou cansadas. A nova interface de imagens disponibilizadas pelo Google possibilita com que você navegue (fique dando voltinhas) pelas imagens de uma forma mais intuitiva e dinâmica, ainda é um beta do Google Labs, mas quem [...]]]></description>
			<content:encoded><![CDATA[<p>Não existe tradução direta para o Português, Swirl seria algo do tipo “rodar”, como crianças fazem até ficarem tontas, ou cansadas. A nova interface de imagens disponibilizadas pelo Google possibilita com que você navegue (fique dando voltinhas) pelas imagens de uma forma mais intuitiva e dinâmica, ainda é um beta do Google Labs, mas quem sabe um dia não se torna a interface principal para o Google Image.</p>
<p><img src="http://2.bp.blogspot.com/_ZaGO7GjCqAI/SwMODAOAnpI/AAAAAAAARkw/xWISxCIGvIc/s640/google-image-swirl.jpg" title="Google Swirl" alt="Google Swirl" align="middle" /></p>
<p>O Swirl utiliza-se de algoritmos desenvolvidos pela turma do Google Image e do Picasa (Picasa Face Recognition, o mesmo utilizado em softs como o Orkut) para identificar e classificar as imagens levando em considerações questões semânticas e similaridades visuais para agruar estas no que foi chamado de cluster, quando clicado o cluster se expande apresentando ao usuário outros exemplos de fotos similares.</p>
<p>Segundo o Google já existem 200mil imagens disponíveis para teste, mas as palavras indicadas por eles para a primeira experiência são: <a href="http://image-swirl.googlelabs.com/html?query=jaguar">jaguar</a>, <a href="http://image-swirl.googlelabs.com/html?query=flowers">flowers</a>, <a href="http://image-swirl.googlelabs.com/html?query=van%20gogh">van Gogh</a></p>
<p>Na matéria que o Google apresentou sobre o assunto ele também comentou sobre o <a href="http://www.google.com/search?q=van%20gogh&amp;tbo=1&amp;output=search&amp;tbs=ww:1">Wonder Will</a> e o <a href="http://www.youtube.com/warp_speed">Youtube Warp</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/google-swirl-se-mexa-nas-imagens/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Alguns swiss knife, must have thunderbird plugins</title>
		<link>http://www.programabrasil.org/alguns-swiss-knife-must-have-thunderbird-plugins/</link>
		<comments>http://www.programabrasil.org/alguns-swiss-knife-must-have-thunderbird-plugins/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 13:32:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/alguns-swiss-knife-must-have-thunderbird-plugins/</guid>
		<description><![CDATA[Recentemente fiz um artigo parecido com este, porem para o Fire Fox, então resolvi fazer o mesmo para o ThunderBird. Ai vai a lista.
Contacts Sidebar
Pressione o F4 e lá está sua lista de contatos, integrada a interface do aplicativo, pode aparecer tanto na janela principal quanto na janela de novas mensagens.
 http://jpeters.no-ip.com/extensions/?page=tb_cs
Display Mail User Agent
Todo [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente fiz um artigo parecido com este, porem para o Fire Fox, então resolvi fazer o mesmo para o ThunderBird. Ai vai a lista.</p>
<p>Contacts Sidebar<br />
Pressione o F4 e lá está sua lista de contatos, integrada a interface do aplicativo, pode aparecer tanto na janela principal quanto na janela de novas mensagens.<br />
<a href="http://jpeters.no-ip.com/extensions/?page=tb_cs" target="_blank"> http://jpeters.no-ip.com/extensions/?page=tb_cs</a></p>
<p>Display Mail User Agent<br />
Todo o email encaminhado é construído inicialmente por um cliente, este plugin apresenta um ícone diferente com algumas informações extras (passando o mause sobre o ícone). É interessante para quem trabalha muito com sistemas de email.<br />
<a href="http://www.juergen-ernst.de/addons/dispmua.html" target="_blank">http://www.juergen-ernst.de/addons/dispmua.html</a></p>
<p>Forward<br />
Permite você controlar como quer que o botão forward funcione, se o envio deve ser inline ou em anexo.<br />
<a href="http://forward.mozdev.org/" target="_blank">http://forward.mozdev.org/</a></p>
<p>Quicktext 0.9.10.0<br />
É parecido com as &#8220;partes rápidas&#8221; do office, mas em minha opinião muito mais eficiente e simples.<br />
<a href="http://extensions.hesslow.se/extension/4/Quicktext/" target="_blank">http://extensions.hesslow.se/extension/4/Quicktext/</a></p>
<p>Tag The Bird<br />
Permite que você adicione cabeçalhos X em seus emails, tudo o que você escreve pode depois ser procurado pela busca em frases nos headers da mensagem. Ótimo para organizar a procura e separar os itens por assuntos.<br />
<a href="http://tagthebird.alexandrow.org/" target="_blank">http://tagthebird.alexandrow.org/</a></p>
<p>XNote<br />
Permite que você adicione anotações a suas mensagens.<br />
<a href="https://addons.mozilla.org/pt-BR/thunderbird/addon/3093" target="_blank">https://addons.mozilla.org/pt-BR/thunderbird/addon/3093</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/alguns-swiss-knife-must-have-thunderbird-plugins/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter de celebridades brasileiras</title>
		<link>http://www.programabrasil.org/twitter-de-celebridades-brasileiras/</link>
		<comments>http://www.programabrasil.org/twitter-de-celebridades-brasileiras/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 02:05:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/twitter-de-celebridades-brasileiras/</guid>
		<description><![CDATA[Para ajudar a divulgar o Twitter eu resolvi criar uma lista de tutoriais para o pessoal entender o que é o twitter, junto começo construindo uma lista de twitteiros do Brasil.
Página do Twitter na Wikipedia em Português
Vídeo explicativo do Twitter (com legendas em Português)
Explicação de como utilizar ermotiícons no Twitter
Tutorial do G1 (portal de notícias [...]]]></description>
			<content:encoded><![CDATA[<p>Para ajudar a divulgar o Twitter eu resolvi criar uma lista de tutoriais para o pessoal entender o que é o twitter, junto começo construindo uma lista de twitteiros do Brasil.</p>
<p><a href="http://pt.wikipedia.org/wiki/Twitter" target="_blank">Página do Twitter na Wikipedia em Português</a></p>
<p><a href="http://www.youtube.com/watch?v=RYBMlGNrNh0" target="_blank">Vídeo explicativo do Twitter (com legendas em Português)</a></p>
<p><a href="http://info.abril.com.br/dicas/internet/blogs/emoticons-nas-mensagens-do-twitter.shtml" target="_blank">Explicação de como utilizar ermotiícons no Twitter</a></p>
<p><a href="http://g1.globo.com/Noticias/Tecnologia/0,,MUL402571-6174,00-SAIBA+COMO+APROVEITAR+AO+MAXIMO+OS+RECURSOS+DO+TWITTER.html" target="_blank">Tutorial do G1 (portal de notícias da Rede Globo) de como aproveitar ao máximo os recursos do Twitter</a></p>
<p><a href="http://wordpress.org/extend/plugins/twitter-goodies/" target="_blank">Plugin do wordpress para o Twitter</a></p>
<p><strong>Vamos a lista &#8230;.</strong></p>
<p><strong>Jornalistas, repórteres e escritores:</strong><br />
Alessandro Martins <a href="http://twitter.com/Alessandro_M">http://twitter.com/Alessandro_M</a><br />
Vera Martins <a href="http://twitter.com/veramartins">http://twitter.com/veramartins</a><br />
Cora Rónai <a href="http://twitter.com/cronai">http://twitter.com/cronai</a><br />
Marina Lang <a href="http://twitter.com/languidamente">http://twitter.com/languidamente</a><br />
Jorge Pontual <a href="http://twitter.com/JorgePontual">http://twitter.com/JorgePontual</a><br />
Luiz Biajoni <a href="http://twitter.com/biajoni">http://twitter.com/biajoni</a> Escritor<br />
Alex Castro <a href="http://twitter.com/AlexCastroLLL">http://twitter.com/AlexCastroLLL</a> escritor e professor universitário<br />
Elesbão <a href="http://twitter.com/elesbao">http://twitter.com/elesbao</a>  designer e escritor<br />
Yuri Vieira <a href="http://twitter.com/yurivs">http://twitter.com/yurivs</a>  roteirista e escritor.<br />
Miriam Leitão <a href="http://twitter.com/MiriamLeitaoCom">http://twitter.com/MiriamLeitaoCom</a> Repórter de O Globo e da Rádio CBN<br />
Marcelo Tas <a href="http://twitter.com/marcelotas">http://twitter.com/marcelotas </a>do CQC<br />
Paulo Coelho <a href="http://twitter.com/pauloCoelho">http://twitter.com/pauloCoelho</a></p>
<p>Políticos<br />
Barack Obama <a href="http://twitter.com/BarackObama">http://twitter.com/BarackObama</a><br />
José Serra <a href="http://twitter.com/joseserra_">http://twitter.com/joseserra_</a></p>
<p>Revistas e programas, tanto de rádio quando te televisão:<br />
Revista Veja <a href="http://twitter.com/veja">http://twitter.com/veja</a><br />
Revista Exame <a href="http://twitter.com/portal_exame">http://twitter.com/portal_exame</a><br />
Revista Info h<a href="ttp://twitter.com/info_plantao">ttp://twitter.com/info_plantao</a><br />
Revista Época <a href="http://twitter.com/revistaepoca ">http://twitter.com/revistaepoca </a></p>
<p>Bandas, cantores, músicos, compositores, diretores, apresentadores, atores e trizes:<br />
Jota Quest <a href="http://twitter.com/jotaquest">http://twitter.com/jotaquest</a> banda<br />
Luciano Huck <a href="http://twitter.com/huckluciano">http://twitter.com/huckluciano</a><br />
Penélope Nova <a href="http://twitter.com/penelope_nova">http://twitter.com/penelope_nova</a> VJ da MTV<br />
Paul McCartney <a href="http://twitter.com/PaulMcCartney">http://twitter.com/PaulMcCartney</a><br />
Tom Cruise <a href="http://twitter.com/TomCruise">http://twitter.com/TomCruise</a><br />
Xuxa <a href="http://twitter.com/xuxameneghel">http://twitter.com/xuxameneghel</a></p>
<p>Diversos:<br />
NASA <a href="http://twitter.com/NASA">http://twitter.com/NASA</a><br />
The White House <a href="http://twitter.com/whitehouse">http://twitter.com/whitehouse</a> Casa Branca (EUA)<br />
Britney Spears <a href="http://twitter.com/britneyspears">http://twitter.com/britneyspears</a><br />
Mariah Carey <a href="http://twitter.com/mariahcarey">http://twitter.com/mariahcarey</a><br />
Demi Moore <a href="http://twitter.com/mrskutcher">http://twitter.com/mrskutcher</a><br />
Neil Diamond h<a href="ttp://twitter.com/NeilDiamond">ttp://twitter.com/NeilDiamond</a><br />
Jane Fonda <a href="http://twitter.com/janefonda">http://twitter.com/janefonda</a><br />
Ozzy Osbourne <a href="http://twitter.com/OfficialOzzy">http://twitter.com/OfficialOzzy</a><br />
Pear Jam <a href="http://twitter.com/pearljam">http://twitter.com/pearljam</a><br />
Stan Lee <a href="http://twitter.com/smilinstanlee">http://twitter.com/smilinstanlee</a><br />
Jack Dorsey <a href="http://twitter.com/jack">http://twitter.com/jack</a> criador e dono do Twitter<br />
Evan Williams <a href="http://twitter.com/ev">http://twitter.com/ev</a> fundador e diretor do Twitter<br />
Larry King <a href="http://twitter.com/kingsthings">http://twitter.com/kingsthings</a> do Larry King Live na CNN<br />
Yoko Ono <a href="http://twitter.com/yokoono">http://twitter.com/yokoono</a><br />
Tony Hawk <a href="http://twitter.com/tonyhawk">http://twitter.com/tonyhawk</a><br />
Amy Winehouse <a href="http://twitter.com/amywinehouse">http://twitter.com/amywinehouse</a></p>
<p>E se você tem um bom link para mostrar adicione ele abaixo como comentário para ajudar os outros.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/twitter-de-celebridades-brasileiras/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google lança software de loja virtual, o Google Commerce Search.</title>
		<link>http://www.programabrasil.org/google-lanca-software-de-loja-virtual-o-google-commerce-search/</link>
		<comments>http://www.programabrasil.org/google-lanca-software-de-loja-virtual-o-google-commerce-search/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:10:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/google-lanca-software-de-loja-virtual-o-google-commerce-search/</guid>
		<description><![CDATA[Um amigo meu me passou o link abaixo &#8230;.
http://feedproxy.google.com/~r/blogspot/MKuf/~3/MzrAxC3tqdI/introducing-google-commerce-search.html
É um produto novo do Google, um concorrente de um sistema que fabricamos, o FirstClass! Calma galera, ele é muuuuito mais simples que o FirstClass, não tem tantos recursos, porem ainda é um produto do Google! O legal é que vai trazer uma boa visibilidade para &#8220;Comércio [...]]]></description>
			<content:encoded><![CDATA[<p>Um amigo meu me passou o link abaixo &#8230;.<br />
<a href="http://feedproxy.google.com/~r/blogspot/MKuf/~3/MzrAxC3tqdI/introducing-google-commerce-search.html" target="_blank">http://feedproxy.google.com/~r/blogspot/MKuf/~3/MzrAxC3tqdI/introducing-google-commerce-search.html</a></p>
<p>É um produto novo do Google, um concorrente de um sistema que fabricamos, o FirstClass! Calma galera, ele é muuuuito mais simples que o FirstClass, não tem tantos recursos, porem ainda é um produto do Google! O legal é que vai trazer uma boa visibilidade para &#8220;Comércio Online&#8221;, só tem um problema, ele ainda não está no Brasil  (US e UK apenas no momento) e possivelmente nem vai estar, o foco d produto não é ser um comércio eletrônico, é ser uma ferramenta de busca para os clientes dos lojistas, por isto por enquanto ele possui apenas formas de pagamento simples, não possui, p. ex., nosso Boleto Bancário.</p>
<p>O sistema foi lançado dia 04/11/2009, já atende em todo o mundo, você pode ver ele funcionando na loja do próprio Google (<a href="http://www.googlestore.com" target="_blank">www.googlestore.com</a>). O moto da venda é &#8220;Providenciar aos usuários uma experiência de busca mais amigavel&#8221;, então uma coisa que realmente ele tem melhor que o FirstClass é justamente a Busca de produtos. Eles tem um filtro estilo o Buscapé e se você escrever o texto de forma incorreta ele sugere para você um produto com nome similar através de algoritmos de busca por checagem de escrita e similaridade de sinônimos. Outro item que é interessante é que o programa foi desenvolvido para ser hospedado na nuvem do Google, ou seja, uma das grandes dificuldades de um lojista, velocidade por carga, um lojista usando o Google Commerce Search não tem (ao menos a princípio)!</p>
<p>Não é um sistema para Brasileiros, mas vale a pena conferir a novidade galera.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/google-lanca-software-de-loja-virtual-o-google-commerce-search/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Projeto Natal da Microsoft, uma experiência de vida.</title>
		<link>http://www.programabrasil.org/projeto-natal-da-microsoft-uma-experiencia-de-vida/</link>
		<comments>http://www.programabrasil.org/projeto-natal-da-microsoft-uma-experiencia-de-vida/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 00:14:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/projeto-natal-da-microsoft-uma-experiencia-de-vida/</guid>
		<description><![CDATA[Tenho andado totalmente sem tempo, mas não pude deixar de registrar isso. Eu já falei aqui do futuro do Gamming, do iPhone, do Surface e agora falo do Projeto Natal! Quando a Apple lançou o iPhone eu falei que não era lá grande coisa (continuo com a mesma idéia), quando a Microsoft lançou o Surface [...]]]></description>
			<content:encoded><![CDATA[<p>Tenho andado totalmente sem tempo, mas não pude deixar de registrar isso. Eu já falei aqui do futuro do Gamming, do iPhone, do Surface e agora falo do Projeto Natal! Quando a Apple lançou o iPhone eu falei que não era lá grande coisa (continuo com a mesma idéia), quando a Microsoft lançou o Surface eu falei que ali poderia ter algo de interessante pois o Surface reconhece objetos para trazer opções diferentes ao usuário, se você coloca um copo a mesa reconhece que é um copo e se você estiver, por ex., em um restaurante o Surface pode identificar se o copo está vazio, e lhe oferecer um cardápio completo de itens para sua escolha, mas faltava algo, a mesa era um trambolho, grande e pesado! Esta semana a Microsoft se superou e apresentou o Projeto Natal.</p>
<p>O projeto Natal é quase inacreditável para os tempos de hoje, tenho estudado um pouco sobre física para relaxar e observei que nos últimos anos temos avançado muito no conhecimento subatômico e cósmico, mas essa tecnologia não usa nada de novo, é um pequeno aparelho que faz a função de uma câmera tridimensional, que é acoplado ao XBOX 360, esta câmera faz o reconhecimento do ambiente e identifica personagens interagindo com o ambiente, é uma tenologia similar a do Surface mas muito mais compacta, porem diferente do Surface este aparelho possibilita com que o XBOX possa processar o reconhecimento de voz, sim &#8230;, é claro que as propagandas estão em inglês, mas o português tem tido muito avanço com os algoritmos atuais e não se preocupe, você em breve também poderá ter o seu Natal e interagir com o XBOX, conversando com os personagens como os Norte Americanos o fazem nos vídeos.</p>
<p>Tudo é tão legal que ninguém mais ninguém menos que o próprio Spilberg deu uma entrevista para falar de sua experiencia com o aparelho e não economizou palavras sobre o assunto, ele comentou que a Microsoft não re-inventou a roda, ela simplesmente inventou um novo conceito do tipo “esqueça a roda!”. Abaixo selecionei alguns vídeos sobre o assunto muito interessantes para ver, neles você verá uma família inteira interagindo com o jogo, uma tele-conferencia entre duas amigas na qual uma amiga sugere uma roupa para a outra mostrando uma nova experiência de compra aos usuários na qual a amiga pode visualizar como ficará o vestido indicado antes mesmo de ter ele em mãos. Não poderia deixar de fora Milo, o personagem virtual que realmente conversa com você, reconhece seus sentimentos e interpreta o que você quer. Vale a pena assistir cada um deles.</p>
<p>E é claro, quase ia me esquecendo, o projeto foi criado por um curitibano (isso mesmo, um brasileiro da cidade de Curitiba/PR) que adorava a cidade de Natal (no Rio Grande do Norte) e por isto resolveu homenagear a cidade, além do fato de que a palavra Natal tem origem na palavra latina nativitas que significa nascimento, e realmente, o projeto significa o nascimento de um novo tempo de interatividade e comunicação entre os seres humanos.</p>
<p>Para terem uma idéia o lema do projeto é “The only experience you need is life experience!” (A única experiencia que você precisa é a experiência de vida). Vou escrever um pouco mais sobre a tecnologia nos próximos posts. Divirtam-se com os vídeos por enquanto.</p>
<p>Propaganda introdutória do projeto:<br />
<object width="560" height="340">
<param name="movie" value="http://www.youtube.com/v/p2qlHoxPioM&#038;hl=pt-br&#038;fs=1&#038;"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/p2qlHoxPioM&#038;hl=pt-br&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Um exemplo de uso do sistema no evento E3 onde ele foi apresentado pela primeira vez ao publico.<br />
<object width="560" height="340">
<param name="movie" value="http://www.youtube.com/v/vTtlM0v7iLs&#038;hl=pt-br&#038;fs=1&#038;"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/vTtlM0v7iLs&#038;hl=pt-br&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Um exemplo de interatividade, um usuário pinta uma tela no “Paint Brush” mais moderno da atualidade.<br />
<object width="560" height="340">
<param name="movie" value="http://www.youtube.com/v/ie02k3eAvxY&#038;hl=pt-br&#038;fs=1&#038;"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ie02k3eAvxY&#038;hl=pt-br&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>O Garoto Milo conversando com Clare<br />
(Muito bom, explica algumas capacidades de reconhecimento)<br />
<object width="560" height="340">
<param name="movie" value="http://www.youtube.com/v/-RmANRRDxH0&#038;hl=pt-br&#038;fs=1&#038;"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-RmANRRDxH0&#038;hl=pt-br&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Site oficial do projeto:<br />
http://www.xbox.com/en-US/live/projectnatal/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/projeto-natal-da-microsoft-uma-experiencia-de-vida/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Curso de Aplicaçoes WEB em PHP: 01. Introdução</title>
		<link>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-01-introducao/</link>
		<comments>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-01-introducao/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 00:28:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tutoriais]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-01-introducao/</guid>
		<description><![CDATA[Client-Side Scripts
São responsáveis pelas ações executadas no browser, sem contato com o servidor. Os exemplos mais comuns de aplicações client-side são imagens e textos que mudam com o passar do mouse.
Os scripts client-side são muito úteis para fazer validações de formulários sem utilizar processamento do servidor e sem provocar tráfego na rede. Outra utilização comum [...]]]></description>
			<content:encoded><![CDATA[<h2>Client-Side Scripts</h2>
<p>São responsáveis pelas ações executadas no browser, sem contato com o servidor. Os exemplos mais comuns de aplicações client-side são imagens e textos que mudam com o passar do mouse.</p>
<p>Os scripts client-side são muito úteis para fazer validações de formulários sem utilizar processamento do servidor e sem provocar tráfego na rede. Outra utilização comum é na construção de interfaces dinâmicas e “leves”.</p>
<p>Figura 1. Funcionamento de scripts client-side</p>
<h2>Server-Side Scripts</h2>
<p>Os scripts server-side são responsáveis pela criação de páginas em tempo real. Num mecanismo de busca, por exemplo, seria inviável manter um arquivo para cada consulta a ser realizada. O que existe é um modelo da página de resposta, que é mesclado com os dados no momento em que a página é requisitada.</p>
<p>Figura 2. Requisição Normal</p>
<p>Figura 3. Requisição de página dinâmica</p>
<h2>O que é PHP?</h2>
<p>PHP é uma linguagem que permite criar sites WEB dinâmicos, possibilitando uma interação com o usuário através de formulários, parâmetros da URL e links. A diferença de PHP com relação a linguagens semelhantes a Javascript é que o código PHP é executado no servidor, sendo enviado para o cliente apenas html puro. Desta maneira é possível interagir com bancos de dados e aplicações existentes no servidor, com  a vantagem de não expor o código fonte para o cliente. Isso pode ser útil quando o programa está lidando com senhas ou qualquer tipo de informação confidencial. </p>
<p>O que diferencia PHP de um script CGI escrito em C ou Perl é que o código PHP fica embutido no próprio HTML, enquanto no outro caso é necessário que o script CGI gere todo o código HTML, ou leia de um outro arquivo.</p>
<h2>O que pode ser feito com PHP?</h2>
<p>Basicamente, qualquer coisa que pode ser feita por algum programa CGI pode ser feita também com PHP, como coletar dados de um formulário, gerar páginas dinamicamente ou enviar e receber <i>cookies</i>.</p>
<p>PHP também tem como uma das características mais importantes o suporte a um grande número de bancos de dados, como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vários outros. Construir uma página baseada em um banco de dados torna-se uma tarefa extremamente simples com PHP.</p>
<p>Além disso, PHP tem suporte a outros serviços através de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP. Ainda é possível abrir <i>sockets</i> e interagir com outros protocolos.</p>
<h2>Como surgiu a linguagem PHP?</h2>
<p>A linguagem PHP foi concebida durante o outono de 1994 por Rasmus Lerdorf. As primeiras versões não foram disponibilizadas, tendo sido utilizadas em sua <i>home-page</i> apenas para que ele pudesse ter informações sobre as visitas que estavam sendo feitas. A primeira versão utilizada por outras pessoas foi disponibilizada em 1995, e ficou conhecida como “Personal Home Page Tools” (ferramentas para página pessoal). Era composta por um sistema bastante simples que interpretava algumas <i>macros</i> e alguns utilitários que rodavam “por trás” das <i>home-pages</i>: um livro de visitas, um contador e algumas outras coisas.</p>
<p>Em meados de 1995 o interpretador foi reescrito, e ganhou o nome de PHP/FI, o “FI” veio de um outro pacote escrito por Rasmus que interpretava dados de formulários HTML (Form Interpreter). Ele combinou os scripts do pacote <i>Personal Home Page Tools</i> com o FI e adicionou suporte a mSQL, nascendo assim o PHP/FI, que cresceu bastante, e as pessoas passaram a contribuir com o projeto.</p>
<p>Estima-se que em 1996 PHP/FI estava sendo usado por cerca de 15.000 <i>sites</i> pelo mundo, e em meados de 1997 esse número subiu para mais de 50.000. Nessa época houve uma mudança no desenvolvimento do PHP. Ele deixou de ser um projeto de Rasmus com contribuições de outras pessoas para ter uma equipe de desenvolvimento mais organizada. O interpretador foi reescrito por Zeev Suraski e  Andi Gutmans, e esse novo interpretador foi a base para a versão 3.</p>
<p>O lançamento do PHP4, ocorrido em 22/05/2000, trouxe muitas novidades aos programadores de PHP. Uma das principais foi o suporte a sessões, bastante útil pra identificar o cliente que solicitou determinada informação. Além das mudanças referentes a sintaxe e novos recursos de programação, o PHP4 trouxe como novidade um otimizador chamado Zend, que permite a execução muito mais rápida de scripts PHP. A empresa que produz o Zend promete para este ano o lançamento de um compilador de PHP. Códigos compilados serão executados mais rapidamente, além de proteger o fonte da aplicação.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-01-introducao/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Curso de Aplicaçoes WEB em PHP: 02. Enviando Dados para o Servidor HTTP</title>
		<link>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-02-enviando-dados-para-o-servidor-http/</link>
		<comments>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-02-enviando-dados-para-o-servidor-http/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 00:24:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tutoriais]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-02-enviando-dados-para-o-servidor-http/</guid>
		<description><![CDATA[Programar para a web pode ser considerado como um jogo que consiste em receber os dados do usuário, processá-los e enviar a resposta dinâmica. Uma vez enviada a resposta, é encerrado o contato entre o servidor e o cliente. Portanto a primeira coisa a aprender é como fazer para receber os dados enviados pelo browser [...]]]></description>
			<content:encoded><![CDATA[<p>Programar para a web pode ser considerado como um jogo que consiste em receber os dados do usuário, processá-los e enviar a resposta dinâmica. Uma vez enviada a resposta, é encerrado o contato entre o servidor e o cliente. Portanto a primeira coisa a aprender é como fazer para receber os dados enviados pelo browser para o servidor. </p>
<p>O protocolo HTTP provê dois principais métodos para enviar informações para o servidor web, além da URL referente ao arquivo solicitado. Esses métodos são o POST e o GET.</p>
<p>O protocolo HTTP/1.0 também especifica o método HEAD, utilizado apenas para transmitir informações do header, além dos métodos PUT e DELETE, que não serão abordados neste curso.</p>
<h2>O método GET</h2>
<p>A especificação do protocolo HTTP/0.9 (a primeira implementação do HTTP) possuía a definição do método GET, utilizado pelo browser para solicitar um documento específico.</p>
<p>Por exemplo: a seguinte requisição HTTP retornaria o documento &quot;index.html&quot;, localizado no diretório do servidro chamado “teste”:</p>
<p>GET /teste/index.html CRLF</p>
<p>Devemos notar que a requisição GET inicia com a palavra GET, inclui o documento solicitado e encerra com a combinação dos caracteres <i>carriage return</i> e <i>line feed</i>. </p>
<p>Para um melhor entendimento, você pode fazer uma requisição GET conectando diretamente em algum servidor WEB, conectando através de um programa de telnet (geralmente o servidor http utiliza a porta 80). A resposta será o código da página solicitada.</p>
<p>telnet www.guia-aju.com.br 80<br />
Trying 200.241.59.16&#8230;<br />
Connected to www.guia-aju.com.br.<br />
Escape character is &#8216;^]&#8217;.</p>
<p>GET /index.php3</p>
<p>(&#8230; página solicitada &#8230;)</p>
<p>Connection closed by foreign host.</p>
<p>Obviamente a diferença do browser é que ele trata as informações recebidas e exibe a página já formatada.</p>
<p>Através do método GET também é possível passar parâmetros da requisição ao servidor, que pode tratar esses valores e até alterar a resposta a depender deles, como no exemplo abaixo:</p>
<p>telnet www.guia-aju.com.br 80<br />
Trying 200.241.59.16&#8230;<br />
Connected to www.guia-aju.com.br.<br />
Escape character is &#8216;^]&#8217;.<br />
GET /index.php3?id=0024horas&amp;tipo=Taxi</p>
<p>(&#8230; página solicitada &#8230;)</p>
<p>Connection closed by foreign host.</p>
<p>No exemplo são passados dois parâmetros: id e tipo. Esses parâmetros estão no formato conhecido por URLencode, que é detalhado no capítulo 09.</p>
<p>Apesar de ser possível passar parâmetros utilizando o método GET, e com isso gerar páginas dinamicamente, este método tem pelo menos dois problemas que em determinadas circunstâncias podem ser considerados sérios:</p>
<p>O primeiro é que o GET permite uma quantidade de dados passados limitada a 1024 caracteres, o que pode gerar perda de informações em certos casos.</p>
<p>O segundo é que pelo fato de que as informações fazem parte da URL, todos os dados podem ser vistos pelo usuário. Isso pode ser extremamente perigoso quando informações sigilosas estão envolvidas (senha, por exemplo).</p>
<h2>Headers</h2>
<p>A versão 1.0 do protocolo HTTP trouxe boas inovações ao mesmo. Uma delas foi a criação de headers nas mensagens de requisição e de resposta. Os headers são informações trocadas entre o navegador e o servidor de maneira transparente ao usuário, e podem conter dados sobre o tipo e a versão do navegador, a página de onde partiu a requisição (link), os tipos de arquivos aceitos como resposta, e uma série de outras informações.</p>
<p>Assim foi possível definir um outro método de requisição de arquivos, que resolveu os principais problemas do método GET.</p>
<h2>O método POST</h2>
<p>Através da utilização de headers é possível enviar os parâmetros da URL solicitada sem expor esses dados ao usuário, e também sem haver um limite de tamanho.</p>
<p>Uma conexão ao servidor HTTP utilizando o método POST seria algo semelhante ao que segue:</p>
<p>telnet www.guia-aju.com.br 80<br />
Trying 200.241.59.16&#8230;<br />
Connected to www.guia-aju.com.br.<br />
Escape character is &#8216;^]&#8217;.</p>
<p>POST /index.php3<br />
Accept */*<br />
Content-type: application/x-www-form-urlencoded<br />
Content-length:22<br />
id=0024horas&amp;tipo=Taxi</p>
<p>(&#8230; página solicitada &#8230;)</p>
<p>Connection closed by foreign host.</p>
<p>Devemos observar os headers enviados ao servidor: a linha “Accept”  informa os tipos de dados que podem ser enviados como resposta (no caso, todos). A linha “Content-type” informa o tipo de dado que está sendo enviado (urlencoded). O terceiro header é o mais importante pois informa o tamanho do corpo da mensagem, que contém os parâmetros. Após todos os headers há um salto de linha e então é iniciado o corpo da mensagem, no formato urlencoded.</p>
<p>Obviamente o usuário não deve se preocupar com os headers, em codificar os dados ou em calcular o tamanho do corpo da mensagem. O browser faz isso de maneira transparente.</p>
<h2>Utilizando GET e POST</h2>
<p>O método GET pode ser utilizado através da digitação de um endereço no local apropriado do navegador ou através de um hiperlink, ou seja, uma referência de uma página a outra. Nesses casos é preciso converter os dados para o formato urlencode. A terceira maneira de utilizar o GET é através de formulários HTML, e neste caso o usuário não precisa se preocupar com a codificação dos dados. A utilização de formulários HTML é a única maneira possível de submeter dados<br />
pelo método POST.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-02-enviando-dados-para-o-servidor-http/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Curso de Aplicaçoes WEB em PHP: 03. Formulários HTML</title>
		<link>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-03-formularios-html/</link>
		<comments>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-03-formularios-html/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 00:19:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tutoriais]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-03-formularios-html/</guid>
		<description><![CDATA[Definindo um formulário
Por ser uma linguagem de marcação, a sintaxe do HTML na maioria dos casos exige uma “tag” de início e uma de final daquele bloco. É Exatamente isso que ocorre com a definição de um formulário: uma tag no início e outra no final, sendo que todos os elementos do formulário devem estar [...]]]></description>
			<content:encoded><![CDATA[<h2>Definindo um formulário</h2>
<p>Por ser uma linguagem de marcação, a sintaxe do HTML na maioria dos casos exige uma “tag” de início e uma de final daquele bloco. É Exatamente isso que ocorre com a definição de um formulário: uma tag no início e outra no final, sendo que todos os elementos do formulário devem estar entre as duas tags. Isto torna possível a inclusão de mais de um formulário num mesmo html. As tags citadas são:</p>
<p>&lt;form name=”” action=”” method=”” enctype=””&gt;</p>
<p>Onde temos:<br />
name: o identificador do formulário. Utilizado principalmente em Scripts client-side (JavaScript);</p>
<p>action: nome do script que receberá os dados do formulário ao ser submetido. Mais à frente estão abordadas as maneiras de tratar esses dados recebidos;</p>
<p>method: método de envio dos dados: get ou post;</p>
<p>enctyp: formato em que os dados serão enviados. O default é urlencoded. Se for utilizado um elemento do tipo upload de arquivo (file) é preciso utilizar o tipo multipart/form-data.</p>
<p>Exemplo:<br />
&lt;form action=&quot;exemplo.php&quot; method=&quot;post&quot;&gt;</p>
<p>(textos e elementos do form)<br />
&lt;/form&gt;</p>
<p>Cada elemento do formulário deve possuir um nome que irá identificá-lo no momento em que o script indicado no ACTION for tratar os dados.</p>
<h2>A tag &lt;input&gt;</h2>
<p>Muitos elementos de um formulário html são definidos pela tag &lt;input&gt;. Cada tipo de elemento possui parâmetros próprios, mas todos possuem pelo menos dois parâmetros em comum: type, que define o tipo de elemento, e name, que como já foi dito define o nome daquele elemento.</p>
<h2>Campo de Texto</h2>
<p>&lt;input type=&quot;text&quot; name=&quot;&quot; value=&quot;&quot; size=&quot;&quot; maxlength=&quot;&quot;&gt;</p>
<p>O campo mais comum em formulários. Exibe na tela um campo para entrada de texto com apenas uma linha.</p>
<h3> Parâmetros:</h3>
<p>Value o valor pré-definido do elemento, que aparecerá quando a página for carregada;</p>
<p>Size: O tamanho do elemento na tela, em caracteres;<br />
Maxlength: O tamanho máximo do texto contido no elemento, em caracteres;</p>
<h2>Campo de Texto com Máscara</h2>
<p>&lt;input type=&quot;password&quot; name=&quot;&quot; value=&quot;&quot; size=&quot;&quot; maxlength=&quot;&quot;&gt;</p>
<p>Tipo de campo semelhante ao anterior, com a diferença que neste caso os dados digitados são substituídos por asteriscos, e por isso são os mais recomendados para campos que devam conter senhas. É importante salientar que nenhuma criptografia é utilizada. Apenas não aparece na tela o que está sendo digitado.</p>
<h3> Parâmetros:</h3>
<p>Value o valor pré-definido do elemento, que aparecerá quando a página for carregada;</p>
<p>Size: O tamanho do elemento na tela, em caracteres;<br />
Maxlength: O tamanho máximo do texto contido no elemento, em caracteres;</p>
<h2>Checkbox</h2>
<p>&lt;input type=&quot;checkbox&quot; name=&quot;&quot; value=&quot;&quot; checked&gt;</p>
<p>Utilizado para campos de múltipla escolha, onde o usuário pode marcar mais de uma opção.</p>
<h3> Parâmetros:</h3>
<p>Value o valor que será enviado ao servidor quando o formulário for submetido, no caso do campo estar marcado</p>
<p>Checked: O estado inicial do elemento. Quando presente,  o elemento já aparece marcado;</p>
<h2>Radio Button</h2>
<p>&lt;input type=&quot;radio&quot; name=&quot;&quot; value=&quot;&quot; checked&gt;</p>
<p>Utilizado para campos de múltipla escolha, onde o usuário pode marcar apenas uma opção. Para agrupar vários elementos deste tipo, fazendo com que eles sejam exclusivos, basta atribuir o mesmo nome a todos do grupo.</p>
<h3> Parâmetros:</h3>
<p>Value o valor que será enviado ao servidor quando o formulário for submetido, no caso do campo estar marcado</p>
<p>Checked: O estado inicial do elemento. Quando presente,  o elemento já aparece marcado;</p>
<h2>Submit Button</h2>
<p>&lt;input type=&quot;submit&quot; name=&quot;&quot; value=&quot;&quot;&gt;<br />
Utilizado para enviar os dados do formulário para o script descrito na seção “action” da definição do formulário</p>
<h3> Parâmetros:</h3>
<p>Value o texto que aparecerá no corpo do botão.</p>
<h2>Reset Button</h2>
<p>&lt;input type=&quot;reset&quot; name=&quot;&quot; value=&quot;&quot;&gt;</p>
<p>Utilizado para fazer todos os campos do formulário retornem ao valor original, quando a página foi carregada. Bastante utilizado como botão “limpar”, mas na realidade só limpa os campos se todos eles têm como valor uma string vazia.</p>
<h3> Parâmetros:</h3>
<p>Value – o texto que aparecerá no corpo do botão.</p>
<h2>Button</h2>
<p>&lt;input type=&quot;button&quot; name=&quot;&quot; value=&quot;&quot;&gt;</p>
<p>Utilizado normalmente para ativar funções de scripts client-side (JavaScript, por exemplo). Sem essa utilização, não produz efeito algum</p>
<h3> Parâmetros:</h3>
<p>Value – o texto que aparecerá no corpo do botão.</p>
<h2>TextArea</h2>
<p>&lt;textarea cols=&quot;&quot; rows=&quot;&quot; name=&quot;&quot; wrap=&quot;&quot;&gt;texto&lt;/textarea&gt;</p>
<p>Exibe na tela uma caixa de texto, com o tamanho definido pelos parâmetros “cols” e “rows”.</p>
<h3> Parâmetros:</h3>
<p>Cols: número de colunas do campo, em caracteres;</p>
<p>Rowsnúmero: de linhas do campo, em caracteres;</p>
<p>Wrap: Maneira como são tratadas as quebras de linha automáticas. O valor soft faz com que o texto quebre” somente na tela, sendo enviado para o servidor o texto da maneira como foi digitado; O valor “hard” faz com que seja enviado para o  servidor da maneira como o texto aparece na tela, com todas as quebras de linhas inseridas automaticamente; o valor “off” faz com que o texto não quebre na tela e nem quando enviado ao servidor.</p>
<p>Value: O elemento do tipo textarea não possui o parâmetro “value”. O valor pré-definido do campo é o texto que fica entre as tags &lt;textarea&gt;  e &lt;/textarea&gt;.</p>
<h2>Select</h2>
<p>&lt;select name=&quot;&quot; size=&quot;&quot; multiple&gt;<br />
 &lt;option value=&quot;&quot;&gt;texto&lt;/option&gt;<br />
&lt;/select&gt;</p>
<p>Se o parâmetro “size” tiver o valor 1 e não houver o parâmetro “multiple”, exibe na tela uma “combo box”. Caso contrário, exibe na tela uma “select list”</p>
<h3> Parâmetros:</h3>
<p>Size número de linhas exibidas. Default: 1;</p>
<p>Multiple parâmetro que, se presente, permite que sejam selecionadas duas ou mais linhas, através das teclas Control ou Shift;</p>
<p>option: Cada item do tipo “option” acrescenta uma linha ao select;</p>
<p>value:  Valor a ser enviado ao servidor se aquele elemento for selecionado. Default: o texto do item;</p>
<p>text: valor a ser exibido para aquele item. Não é definido por um parâmetro, mas pelo texto que fica entre as tags &lt;option&gt; e &lt;/option&gt;</p>
<h2>Upload de arquivos</h2>
<p>&lt;input type=&quot;file&quot; name=&quot;&quot; size=&quot;&quot;&gt;<br />
Exibe na tela do browser um campo de texto e um botão, que ao clicado abre uma janela para localizar um arquivo no disco. Para utilizar este tipo de componente, o formulário deverá utilizar o método “POST” e ter o parâmetro “enctype” com o valor &quot;multipart/form-data&quot;.</p>
<h3> Parâmetros:</h3>
<p>Size – O tamanho do campo de texto exibido.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-03-formularios-html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Curso de Aplicaçoes WEB em PHP: 04. Instalação e configuração em ambiente windows</title>
		<link>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-04-instalacao-e-configuracao-em-ambiente-windows/</link>
		<comments>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-04-instalacao-e-configuracao-em-ambiente-windows/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 00:01:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tutoriais]]></category>

		<category><![CDATA[Tecnologia]]></category>

		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-04-instalacao-e-configuracao-em-ambiente-windows/</guid>
		<description><![CDATA[Curso de Aplicaçoes WEB em PHP: 04. Instalação e configuração em ambiente windows
Servidor Apache
O servidor http que será utilizado neste curso é o Apache, que está disponível para download em “http://www.apache.org/httpd.html”. A instalação do Apache é bastante simples, similar a qualquer aplicação windows. A única restrição é que o winsock2 deve estar instalado no sistema. [...]]]></description>
			<content:encoded><![CDATA[<p>Curso de Aplicaçoes WEB em PHP: 04. Instalação e configuração em ambiente windows</p>
<h2>Servidor Apache</h2>
<p>O servidor http que será utilizado neste curso é o Apache, que está disponível para download em “http://www.apache.org/httpd.html”. A instalação do Apache é bastante simples, similar a qualquer aplicação windows. A única restrição é que o winsock2 deve estar instalado no sistema. Se não estiver, o download pode ser feito em:</p>
<p><a href="http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/">http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/</a></p>
<p>Depois de instalado, é necessário fazer a configuração do servidor, através do arquivo httpd.conf. Todas as configurações estão comentadas. O mínimo que deve ser configurado é o diretório onde os documentos estarão, através da opção DocumentRoot. Basta procurar a opção e escrever o nome do diretório em seguida, como no exemplo:</p>
<p>DocumentRoot &quot;C:\vivas\&quot;</p>
<p>Uma outra configuração básica é a DirectoryIndex, que informa ao servidor quais os arquivos serão exibidos automaticamente como índice do diretório. É isso que faz com que ao digitar, por exemplo,“www.guia-aju.com.br, o servidor saiba qual dos arquivos do diretório deve ser exibido. Abaixo temos um exemplo da utilização do DirectoryIndex:</p>
<p>DirectoryIndex index.html index.htm index.php3</p>
<p>Feito isso, crie um arquivo com um dos nomes definidos como índice e coloque no diretório definido como root. Execute o servidor Apache e tente acessar o endereço “http://localhost” pelo browser. Se a página for exibida, é porque o servidor foi instalado corretamente.</p>
<h2>PHP</h2>
<p>O PHP pode ser conseguido em “www.php.net”, e sua instalação também é simples. Basta descompactar os arquivos para o diretório “c:\php3” e editar o arquivo de configuração. O arquivo “php3.ini-dist” deve ser copiado para o diretório do windows (geralmente c:\windows ou c:\winnt) com o nome php3.ini. Depois de copiado, o arquivo pode ser editado, bastando modificar a linha extension_dir, que deve conter o diretório onde estão os módulos (c:\php3). Veja o exemplo:</p>
<p>extension_dir = c:\php3</p>
<p>Além disso é necessário descomentar a linha referente o módulo mysql, já que iremos utilizá-lo basta tirar o “&#59;” (ponto-e-vírgula) do início da linha:<br />
;extension=php3_mysql.dll</p>
<p>Feito isso, podemos partir para a configuração do servidor Apache, necessária para que este reconheça o PHP. Editando novamente o arquivo httpd.conf, as linhas a seguir devem ser adicionadas no final do arquivo:</p>
<p>ScriptAlias /php3/ &quot;c:/php3/&quot;<br />
AddType application/x-httpd-php3 .php3 .php<br />
Action application/x-httpd-php3 &quot;/php3/php.exe&quot;</p>
<p>A primeira linha define o diretório onde está o PHP. A segunda cria um “tipo” para o PHP, definido que todos os arquivos com as extensões “.php3” e “.php” devem passar pelo interpretador PHP. A terceira linha define o executável do interpretador PHP.</p>
<p>Depois de salvar o arquivo, podemos testar se a instalação do PHP foi bem sucedida. A melhor maneira é criar um arquivo chamado teste.php3 e salvar no diretório raiz do servidor Apache. O arquivo deve conter a seguinte informação:</p>
<p>&lt;? &#112;hpinfo(); ?&gt;</p>
<p>Acessando a página através do servidor (http://localhost/teste.php3), devemos ter como resultado uma listagem de todas as configurações do PHP, incluindo o módulo mysql, que foi definido como ativo no arquivo php3.ini.</p>
<h2>mySQL</h2>
<p>O banco de dados mySQL pode ser conseguido em “http://www.mysql.com/download.html”. Sua instalação também é bastante simples, também no modelos de instalação de qualquer aplicativo para Windows.</p>
<p>As configurações necessárias são relativas a segurança, e exigem um conhecimento mais avançado de administração de servidores. Como essa instalação destina-se apenas a praticar o PHP, não é necessário fazer muitas alterações na segurança, bastando apenas saber como adicionar usuários.</p>
<p>Para isto, basta utilizar o comando GRANT, que tem a seguinte sintaxe:</p>
<pre>GRANT privilegio [(lista_colunas)]
      [, privilegio [(colunas)] ...]
 ON &#123; tabela | * | *.* | db.* &#125;
 TO usuario [IDENTIFIED BY ’senha'][, usuario [IDENTIFIED BY ’senha'] ...]
 [WITH GRANT OPTION]</pre>
<p>Onde privilégio é uma das palavras reservadas listadas a seguir: ALL PRIVILEGES, FILE, RELOAD, ALTER, INDEX, SELECT, CREATE, INSERT, SHUTDOWN, DELETE, PROCESS, UPDATE, DROP, REFERENCES, USAGE</p>
<p>Cada palavra representa um tipo de acesso à(s) coluna(s), tabela(s) ou base(s) de dados listadas logo depois da cláusula ON.</p>
<p>Usuário deve conter o nome do usuário (login) e o host permitido (ex.: teste@localhost).</p>
<p>Abaixo temos um exemplo da utilização do comando grant:</p>
<p>GRANT SELECT, INSERT, UPDATE ON * TO vivas@localhost IDENTIFIED BY “senhateste”;</p>
<p>O exemplo cria o usuário “vivas”, com a senha “senhateste”, que só pode acessar da mesma máquina onde está o servidor (localhost), e só pode utilizar os comandos select, insert e update.</p>
<p>Também é possível adicionar usuários utilizando o comando INSERT, pra alterar diretamente na tabela de privilégios, que é a tabela “user” da base de dados “mysql”, que possui os campos para definir nome de usuário, host, senha, e permissões específicas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programabrasil.org/curso-de-aplicacoes-web-em-php-04-instalacao-e-configuracao-em-ambiente-windows/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
