<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2866061207659137258</id><updated>2011-11-27T21:51:51.632-02:00</updated><category term='ruby'/><category term='CMS PHP'/><category term='análise de sistemas'/><category term='escritório'/><category term='manga'/><category term='SQL'/><category term='javascript'/><category term='palestras'/><category term='albuns'/><category term='avatar'/><category term='desenvolvimento ágil'/><category term='open cart'/><category term='irb'/><category term='libs'/><category term='open source'/><category term='contole de tarefas'/><category term='programação'/><category term='war'/><category term='e-book'/><category term='Internacional'/><category term='firefox'/><category term='recursividade'/><category term='TDD'/><category term='frameworks'/><category term='rails'/><category term='guerra'/><category term='Apache'/><category term='funções'/><category term='PHPonTrax'/><category term='integração js PHP'/><category term='desenvolvimento web'/><category term='validações javascript'/><category term='desenvolvimento orientado a testes'/><category term='Futebol. estatisticas do futebol'/><category term='Grenciamento de projetos'/><category term='jQuery'/><category term='office'/><category term='MySQL'/><category term='dicas'/><category term='manipulação de retornos'/><category term='Debian'/><category term='imagens'/><category term='ajax'/><category term='arrays'/><category term='código aberto'/><category term='games'/><category term='Stored Procedures'/><category term='software livre'/><category term='links'/><category term='Futebol brasileiro'/><category term='diversão'/><category term='Select'/><category term='TDD e PHP'/><category term='PHP'/><category term='controle de tempo'/><category term='nyroModal'/><category term='street fighter'/><category term='scrum'/><category term='metodologias'/><category term='collabtive'/><category term='concrete 5'/><category term='editor html'/><category term='livros'/><category term='banco de dados'/><category term='plugins'/><category term='Recess'/><category term='modal'/><category term='Orientação a objetos'/><title type='text'>Desenvolvimento Web com limão!</title><subtitle type='html'>Aqui descrevo entre outras coisas que gosto, 
Desenvolvimento Web com PHP, Javascript, AJAX, PHPonTrax (o framework PHP mais fiel ao rails),SQL.
    Também descrevo minhas outras Paixões, Linux (Debian), RPG e Música.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-4103309567037903156</id><published>2010-06-15T11:50:00.007-03:00</published><updated>2010-06-23T03:40:10.601-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='dicas'/><category scheme='http://www.blogger.com/atom/ns#' term='irb'/><title type='text'>Deixando o IRB colorido no Janelas facilmente</title><content type='html'>Depois de muito, mas muito(!), tempo sem postar resolvi fazer um nota mental que pode ser util pra muita gente, que como eu precisa trabalhar também com o Janelas. Seguem os passos para deixar o irb colorido, como no Linux:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Instalar o Ruby ( via RubyInstaller no meu caso);&lt;/li&gt;&lt;li&gt;Baixar o pacote rubygems e descompacta-lo;&lt;/li&gt;&lt;li&gt;Instalar as gems &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Wirble&lt;/span&gt; e &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;win32console &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;com:&lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;gem install wirble win32console&lt;/span&gt;&lt;/li&gt;&lt;li&gt;criar um arquivo chamado &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;_irbrc &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;em uma pasta com permissão de escrita, &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;C:\Documents and Settings\maiquel &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;no meu caso por exemplo;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;Ir em &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Configurações &amp;gt; Painel de Controle &amp;gt; Sistema&amp;nbsp;&lt;/span&gt;, clicar em &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Avançado&lt;/span&gt; e depois em &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Variáveis de ambiente&lt;/span&gt;&lt;/li&gt;&lt;li&gt;clicar em nova e definir&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;RUBYOPT = rubygems &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;e&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;IRBRC = C:\Documents and Settings\maiquel\\_irbrc&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Editar o arquivo _irbrc e colocar o seguinte código:&amp;nbsp;&lt;span class="Apple-style-span" style="color: white; font-family: Verdana, sans-serif; font-size: 14px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-attachment: initial; background-clip: initial; background-color: #585858; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(128, 128, 128); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: white; border-left-style: solid; border-left-width: 2px; border-right-color: initial; border-right-style: none; border-right-width: initial; border-top-color: rgb(128, 128, 128); border-top-style: solid; border-top-width: 1px; color: white; display: block; overflow-x: auto; overflow-y: auto; padding-left: 20px; width: 50%;"&gt;require 'rubygems' rescue nil&lt;br /&gt;require 'win32/console/ansi'&lt;br /&gt;require 'wirble'&lt;br /&gt;Wirble.init&lt;br /&gt;Wirble.colorize&lt;/pre&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Pronto! Basta abrir um console com &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;ctrl+R &amp;gt; cmd &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;entrar no irb e testar algo como&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;gt;&amp;gt; 3.class&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Espero que seja útil...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Valeu!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-4103309567037903156?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/4103309567037903156/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2010/06/irb-colorido-no-windows-facilmente.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/4103309567037903156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/4103309567037903156'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2010/06/irb-colorido-no-windows-facilmente.html' title='Deixando o IRB colorido no Janelas facilmente'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-8964843599005103330</id><published>2009-12-16T12:15:00.002-02:00</published><updated>2010-11-15T20:46:06.231-02:00</updated><title type='text'>Fwd: FW: GAMBIARRAS</title><content type='html'>&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrhBnHFXI/AAAAAAAAAVw/HH919T1hqRo/s1600-h/0B86802822-732288.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrhBnHFXI/AAAAAAAAAVw/HH919T1hqRo/s320/0B86802822-732288.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837504513709426" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrhYqXCFI/AAAAAAAAAV4/i7kWK3i0v8s/s1600-h/0B02034733-733591.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrhYqXCFI/AAAAAAAAAV4/i7kWK3i0v8s/s320/0B02034733-733591.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837510701353042" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://4.bp.blogspot.com/_wD8vQSSsbWM/SyjrhrvfHfI/AAAAAAAAAWA/zbc6CE3VLks/s1600-h/0B86902944-734861.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_wD8vQSSsbWM/SyjrhrvfHfI/AAAAAAAAAWA/zbc6CE3VLks/s320/0B86902944-734861.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837515823128050" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjriNHEc9I/AAAAAAAAAWI/sQQL2beoS3Q/s1600-h/0B06480855-735958.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjriNHEc9I/AAAAAAAAAWI/sQQL2beoS3Q/s320/0B06480855-735958.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837524780413906" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjriZ43NtI/AAAAAAAAAWQ/WPstPp_HT0s/s1600-h/0B65766566-737248.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjriZ43NtI/AAAAAAAAAWQ/WPstPp_HT0s/s320/0B65766566-737248.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837528210486994" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://4.bp.blogspot.com/_wD8vQSSsbWM/SyjritGvIUI/AAAAAAAAAWY/DaRbhpXCZyE/s1600-h/0B13311377-738060.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_wD8vQSSsbWM/SyjritGvIUI/AAAAAAAAAWY/DaRbhpXCZyE/s320/0B13311377-738060.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837533368951106" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_wD8vQSSsbWM/Syjri52YTbI/AAAAAAAAAWg/OK5C_crWCI0/s1600-h/0B50256188-739144.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_wD8vQSSsbWM/Syjri52YTbI/AAAAAAAAAWg/OK5C_crWCI0/s320/0B50256188-739144.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837536790007218" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/_wD8vQSSsbWM/SyjrjAe-oQI/AAAAAAAAAWo/AkBt4WFxQJg/s1600-h/0B42495299-740163.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_wD8vQSSsbWM/SyjrjAe-oQI/AAAAAAAAAWo/AkBt4WFxQJg/s320/0B42495299-740163.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837538570903810" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrjS0XwJI/AAAAAAAAAWw/UtzUco8Dst0/s1600-h/0B0934261010-741105.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrjS0XwJI/AAAAAAAAAWw/UtzUco8Dst0/s320/0B0934261010-741105.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837543492468882" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/_wD8vQSSsbWM/Syjrjn90zSI/AAAAAAAAAW4/ArySbDwL9vk/s1600-h/0B7712551111-742455.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_wD8vQSSsbWM/Syjrjn90zSI/AAAAAAAAAW4/ArySbDwL9vk/s320/0B7712551111-742455.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837549169265954" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/Syjrj2uF1tI/AAAAAAAAAXA/AK98mgN0sLo/s1600-h/0B9350171212-743316.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/Syjrj2uF1tI/AAAAAAAAAXA/AK98mgN0sLo/s320/0B9350171212-743316.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837553129805522" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrkAHPB8I/AAAAAAAAAXI/RRUSeeFtB80/s1600-h/0B0659971313-744435.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrkAHPB8I/AAAAAAAAAXI/RRUSeeFtB80/s320/0B0659971313-744435.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837555651184578" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrkaAf4YI/AAAAAAAAAXQ/Z41xiEfPycs/s1600-h/0B1164841414-745437.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrkaAf4YI/AAAAAAAAAXQ/Z41xiEfPycs/s320/0B1164841414-745437.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837562602250626" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/_wD8vQSSsbWM/SyjrkofwTEI/AAAAAAAAAXY/N2yqMMy4GOk/s1600-h/0B4921221515-746378.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_wD8vQSSsbWM/SyjrkofwTEI/AAAAAAAAAXY/N2yqMMy4GOk/s320/0B4921221515-746378.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837566491446338" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/Syjrk8yloJI/AAAAAAAAAXg/nGB84sit1-g/s1600-h/0B5635991616-747432.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/Syjrk8yloJI/AAAAAAAAAXg/nGB84sit1-g/s320/0B5635991616-747432.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837571939147922" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://4.bp.blogspot.com/_wD8vQSSsbWM/SyjrlQ_YtNI/AAAAAAAAAXo/jFTgyD3xpEo/s1600-h/0B3625321717-748987.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_wD8vQSSsbWM/SyjrlQ_YtNI/AAAAAAAAAXo/jFTgyD3xpEo/s320/0B3625321717-748987.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837577361536210" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrlnMRBSI/AAAAAAAAAXw/8Na-RhhV9zc/s1600-h/0B0152271818-750089.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrlnMRBSI/AAAAAAAAAXw/8Na-RhhV9zc/s320/0B0152271818-750089.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837583321138466" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://4.bp.blogspot.com/_wD8vQSSsbWM/Syjrl9zG1eI/AAAAAAAAAX4/NpwKlzZenIY/s1600-h/0B8838151919-751294.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_wD8vQSSsbWM/Syjrl9zG1eI/AAAAAAAAAX4/NpwKlzZenIY/s320/0B8838151919-751294.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837589389628898" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrmGQAKEI/AAAAAAAAAYA/U9_g__etFao/s1600-h/0B5013002020-752389.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrmGQAKEI/AAAAAAAAAYA/U9_g__etFao/s320/0B5013002020-752389.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837591658309698" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrmUFuVKI/AAAAAAAAAYI/7LQD1j7Bf-I/s1600-h/0B2281402121-753493.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrmUFuVKI/AAAAAAAAAYI/7LQD1j7Bf-I/s320/0B2281402121-753493.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837595373294754" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrmsJmgsI/AAAAAAAAAYQ/1pfirf-7q0k/s1600-h/0B4997082222-754427.jpg"&gt;&lt;img src="http://3.bp.blogspot.com/_wD8vQSSsbWM/SyjrmsJmgsI/AAAAAAAAAYQ/1pfirf-7q0k/s320/0B4997082222-754427.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837601832010434" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://4.bp.blogspot.com/_wD8vQSSsbWM/SyjrmxJ2pbI/AAAAAAAAAYY/ilNW0lOOELk/s1600-h/0B0455172323-755407.jpg"&gt;&lt;img src="http://4.bp.blogspot.com/_wD8vQSSsbWM/SyjrmxJ2pbI/AAAAAAAAAYY/ilNW0lOOELk/s320/0B0455172323-755407.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837603175245234" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/_wD8vQSSsbWM/SyjrnKgm7_I/AAAAAAAAAYg/quYjQLpfa6A/s1600-h/0B2399912424-756748.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_wD8vQSSsbWM/SyjrnKgm7_I/AAAAAAAAAYg/quYjQLpfa6A/s320/0B2399912424-756748.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837609981571058" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="mobile-photo"&gt;&lt;a href="http://1.bp.blogspot.com/_wD8vQSSsbWM/SyjrnWZxdsI/AAAAAAAAAYo/pcOlB1llxEo/s1600-h/0B8202902525-757980.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_wD8vQSSsbWM/SyjrnWZxdsI/AAAAAAAAAYo/pcOlB1llxEo/s320/0B8202902525-757980.jpg"  border="0" alt="" id="BLOGGER_PHOTO_ID_5415837613174126274" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-8964843599005103330?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/8964843599005103330/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/12/fwd-fw-gambiarras.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/8964843599005103330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/8964843599005103330'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/12/fwd-fw-gambiarras.html' title='Fwd: FW: GAMBIARRAS'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wD8vQSSsbWM/SyjrhBnHFXI/AAAAAAAAAVw/HH919T1hqRo/s72-c/0B86802822-732288.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-4123065122545230296</id><published>2009-07-23T03:11:00.008-03:00</published><updated>2010-06-23T04:58:05.059-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nyroModal'/><category scheme='http://www.blogger.com/atom/ns#' term='validações javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>NyroModal revised + validate</title><content type='html'>Depois de ficar algum tempo sem postar, correria na troca de emprego , deadlines de projetos... Bom.. segindo...&lt;br /&gt;&lt;br /&gt;Algum tempo atrás, me deparei com uma necessidade de abrir um formulário em uma modal, até ai beleza. Chamo a div pelo nyroModal #link e já era. E a validação?&lt;br /&gt;Desde que me deparei com a biblioteca jQuery.validation #link foi amor a primeira vista. Ela é bem simples de ser implementada e mais simples ainda de usar.  Na verdade é configurar, ou estender, as regras e pronto, nesse exemplo eu estendo um pouco mais as funcionalidades mudando o jeito que os highlights vão aparecer. Nada muito complexo. Bom mas e a tal modal.&lt;br /&gt;Quebrei um pouco a cabeça, li o manual do nyroModal várias vezes até que cheguei ao seguinte código:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="brush:js"&gt;$(function(){&lt;br /&gt;&amp;nbsp;&amp;nbsp; $("#legal").nyroModal({&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; endFillContent: function(){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $('#email').focus(function(){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;$(this).val('');&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });              &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; classeErro = 'Erro';&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $("form").validate({&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rules:{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; email_jogarNovamente:{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;required:true,&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;email:true&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; messages:{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; email_jogarNovamente:{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;required:'Email inválido!',&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;email:'Email inválido!'&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; highlight: function(element, errorClass){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(element).addClass(classeErro);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unhighlight: function(element, errorClass){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(element).removeClass(classeErro);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; errorPlacement: function(error, element){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; error.appendTo(element.prev());&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; errorElement: 'strong',&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; submitHandler: function(form){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $(form).submit();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; });               &lt;br /&gt;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;&lt;/pre&gt;#ficaadica&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-4123065122545230296?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/4123065122545230296/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2010/06/nyromodal-revised-validate.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/4123065122545230296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/4123065122545230296'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2010/06/nyromodal-revised-validate.html' title='NyroModal revised + validate'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-6345398328623747233</id><published>2009-07-01T02:09:00.005-03:00</published><updated>2009-07-01T02:35:45.123-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento ágil'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento web'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD e PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento orientado a testes'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><category scheme='http://www.blogger.com/atom/ns#' term='programação'/><title type='text'>TDD e PHP na Prática</title><content type='html'>Excelente artigo, indispensável eu diria, sobre &lt;a href="http://tinyurl.com/buv8u"&gt;TDD&lt;/a&gt; e PHP. Ele usa uma abordagem focada no &lt;a href="http://cakephp.org/"&gt;CakePHP&lt;/a&gt;, mas nada que seja impossível de adptar.Entenda de uma vez por todas esse conceito nem tão novo assim, mas que "tá na moda". Inclui como "instalar" o &lt;a href="http://simpletest.org/"&gt;SimpleTestPHP&lt;/a&gt;, escrever bons testes e ser um desenvolvedor feliz :P.&lt;br /&gt;Confira &lt;a href="http://tinyurl.com/n3txz5"&gt;aqui&lt;/a&gt;  vale a pena!&lt;br /&gt;flw!&lt;br /&gt;Obs.: Também gosto muito do &lt;a href="http://www.phpunit.de/"&gt;PHPUnit&lt;/a&gt;, também #super-fácil e segue a mesma linha, que você pode conferir rapidamente &lt;a href="http://phpbr.wordpress.com/2007/11/16/php-tdd-generics/"&gt;aqui&lt;/a&gt;. Bom divertimento, e testes claro!&lt;br /&gt;E não esqueça: "Seja maníaco por testes você também, você só tem a ganhar"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-6345398328623747233?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/6345398328623747233/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/07/tdd-e-php-na-pratica.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6345398328623747233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6345398328623747233'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/07/tdd-e-php-na-pratica.html' title='TDD e PHP na Prática'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-1697774014164368852</id><published>2009-06-30T12:32:00.004-03:00</published><updated>2009-06-30T13:50:26.843-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='código aberto'/><category scheme='http://www.blogger.com/atom/ns#' term='análise de sistemas'/><category scheme='http://www.blogger.com/atom/ns#' term='banco de dados'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='programação'/><title type='text'>Banco de dados para todos os gostos</title><content type='html'>Seguindo a série, "Não blogo e resolvi colar links" :D, fica uma dica pra quem tem um sistema mas não pode/não tem tempo para estudar como funcionaria um sistema padrão para o dito negócio. Claro que a regra de negócio do sistema é, na maioria das vezes, algo único. Porém nada nos impede de usar alguma análise pré pronta, nos basearmos nelas e adpatarmos/construirmos a do sistema que estamos programando.&lt;br /&gt;&lt;br /&gt;fica o link &lt;a href="http://www.databaseanswers.org/data_models/index.htm"&gt;http://www.databaseanswers.org/data_models/index.htm&lt;/a&gt;&lt;br /&gt;são dezenas de databases pré analizados, desde mega complexos, como um CRM inteiro até um representante da Avon(!), sim tem de tudo.&lt;br /&gt;&lt;br /&gt;Aproveitem!&lt;br /&gt;[ ]'s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-1697774014164368852?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/1697774014164368852/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/06/banco-de-dados-para-todos-os-gostos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/1697774014164368852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/1697774014164368852'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/06/banco-de-dados-para-todos-os-gostos.html' title='Banco de dados para todos os gostos'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-6563483395166496360</id><published>2009-06-29T14:34:00.006-03:00</published><updated>2009-06-30T11:18:59.908-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Grenciamento de projetos'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='contole de tarefas'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><category scheme='http://www.blogger.com/atom/ns#' term='controle de tempo'/><title type='text'>Gerenciamento de projetos</title><content type='html'>&lt;div class="gmail_quote"&gt;&lt;br /&gt; Bom faz um tempo que não "blogo" nada... Mas essa lista eu não poderia deixar passar, tá certo que não é lá essas coisas o post... mas a lista é boa e vale a pena. Segue um lista com os principais gerenciadors de projetos, alguns on-line outros para instalar, alguns FREE outros nem tanto :D, mas o fato  que todos tem seu valor. Cada um com sua aplicabilidade, funcionalidade e dinâmica distinta. Espero que seja util. Foi escrita em colaboração com a lista PHP-brasil mas especialmente com grande contribuição do usuario vitorneves. Valeu!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.learniceberg.com/" target="_blank"&gt;http://www.learniceberg.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://springloops.com/" target="_blank"&gt;http://springloops.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developer.yahoo.com/" target="_blank"&gt;http://developer.yahoo.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.knowledgetree.com/" target="_blank"&gt;http://www.knowledgetree.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://crowdfavorite.com/tasks-jr/" target="_blank"&gt;http://crowdfavorite.com/tasks-jr/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.getontracks.org/" target="_blank"&gt;http://www.getontracks.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://opengoo.org/" target="_blank"&gt;http://opengoo.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cynapse.com/products/cynin" target="_blank"&gt;http://www.cynapse.com/products/cynin&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.activecollab.com/" target="_blank"&gt;http://www.activecollab.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.streber-pm.org/" target="_blank"&gt;http://www.streber-pm.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pbworks.com/" target="_blank"&gt;http://pbworks.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://trac.edgewall.org/" target="_blank"&gt;http://trac.edgewall.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.basecamphq.com/" target="_blank"&gt;http://www.basecamphq.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://nokahuna.com/" target="_blank"&gt;http://nokahuna.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.jumpchart.com/" target="_blank"&gt;http://www.jumpchart.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.creativeprooffice.com/" target="_blank"&gt;http://www.creativeprooffice.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lighthouseapp.com/" target="_blank"&gt;http://www.lighthouseapp.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www/"&gt;http://www&lt;/a&gt;.&lt;a href="http://egroupware.org/"&gt;egroupware.org&lt;/a&gt;&lt;br /&gt;&lt;a href="http://verbapp.com/"&gt;http://verbapp.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://coopapp.com/"&gt;http://coopapp.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://collabtive.o-dyn.de/index.php"&gt;http://collabtive.o-dyn.de/index.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.taskfreak.com/"&gt;http://www.taskfreak.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;é isso aih... T+!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-6563483395166496360?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/6563483395166496360/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/06/gerenciamento-de-projetos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6563483395166496360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6563483395166496360'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/06/gerenciamento-de-projetos.html' title='Gerenciamento de projetos'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-1134549573268362091</id><published>2009-05-17T20:11:00.007-03:00</published><updated>2009-05-17T22:49:14.233-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento ágil'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento web'/><category scheme='http://www.blogger.com/atom/ns#' term='Orientação a objetos'/><category scheme='http://www.blogger.com/atom/ns#' term='Recess'/><category scheme='http://www.blogger.com/atom/ns#' term='programação'/><title type='text'>Conheça os Recess! Framework</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.recessframework.org"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 199px; height: 41px;" src="http://www.recessframework.org/css/images/recess-navigation.gif" alt="Recess! Framework" border="0" /&gt;&lt;/a&gt; Uma das coisas mais fantásticas que eu me deparei na incessante pesquisa sobre Frameworks PHP. O Recess! é incrivel. Fácil, rápido, com uma porrada de excelentes recursos desde o &lt;a href="http://br2.php.net/manual/pt_BR/book.apc.php"&gt;php-apc&lt;/a&gt;,&lt;a href="http://jquery.com/"&gt; jQuery&lt;/a&gt;,  tratamento de erros, &lt;a href="http://pt.wikipedia.org/wiki/REST"&gt;RESTful&lt;/a&gt; e &lt;a href="http://pt.wikipedia.org/wiki/Ruby_on_Rails#DRY"&gt;DRY&lt;/a&gt; desde sempre uma mão na roda, um execelente trabalho. Tanto que já me ofereci para ajudar na documentação e na tradução dela.&lt;br /&gt;&lt;br /&gt;Uma amostra dos tramentos de erros....&lt;br /&gt;&lt;br /&gt;&lt;object width="600" height="420"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3562522&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=3562522&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="420"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/3562522"&gt;Recess Diagnostics&lt;/a&gt; from &lt;a href="http://vimeo.com/user1039498"&gt;Kris Jordan&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Você encontra mais informações e screencasts:&lt;br /&gt;Site do projeto: &lt;a href="http://www.recessframework.org/"&gt;www.recessframework.org&lt;/a&gt;&lt;br /&gt;Ajude da documentação: &lt;a href="http://www.recessframework.org/page/how-to-help-document-the-recess-framework"&gt;http://www.recessframework.org/page/how-to-help-document-the-recess-framework&lt;/a&gt;&lt;br /&gt;Leia o material disponível: &lt;a href="http://www.recessframework.org/book/html/index.html"&gt;http://www.recessframework.org/book/html/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Leia, entenda, participe vale a pena!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-1134549573268362091?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/1134549573268362091/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/05/uma-das-coisas-mais-fantaticas-que-eu.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/1134549573268362091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/1134549573268362091'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/05/uma-das-coisas-mais-fantaticas-que-eu.html' title='Conheça os Recess! Framework'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-5137982210282563093</id><published>2009-05-17T19:42:00.003-03:00</published><updated>2009-05-17T21:00:33.757-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento ágil'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento web'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title type='text'>Scrum na prática</title><content type='html'>&lt;span style="font-family: georgia;"&gt;Essa palestra é meio longa mas vale a pena cada minuto. Especialmente dedicada a quem quer entender um pouco mais da aplicabilidade desse tal &lt;a href="http://pt.wikipedia.org/wiki/SCRUM"&gt;scrum&lt;/a&gt; e conhecer um pouco sobre o  &lt;a href="http://www.manifestoagil.com.br"&gt;Manifesto Ágil&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;  Confira como foi sua adoção na Globo . com.&lt;/span&gt; &lt;a href="http://vimeo.com/3662972"&gt;&lt;/a&gt;&lt;br /&gt; (Segue o link pq o autour não permitiu embeds :'( ) &lt;a href="http://vimeo.com/3662972"&gt;Scrum na Globo.com - Falando em Agile&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-5137982210282563093?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/5137982210282563093/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/05/scrum-na-pratica.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/5137982210282563093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/5137982210282563093'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/05/scrum-na-pratica.html' title='Scrum na prática'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-1905351642577131163</id><published>2009-05-12T01:09:00.009-03:00</published><updated>2009-05-17T20:45:20.394-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='funções'/><category scheme='http://www.blogger.com/atom/ns#' term='recursividade'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Orientação a objetos'/><category scheme='http://www.blogger.com/atom/ns#' term='arrays'/><category scheme='http://www.blogger.com/atom/ns#' term='manipulação de retornos'/><title type='text'>Tratando retornos no PHP</title><content type='html'>&lt;span style="font-family:georgia;"&gt;Depois de quase dois meses de correria, e adptações no novo emprego, finalmente volto a postar.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:georgia"&gt;    Esses dias precisei manipular retornos de um &lt;a href="http://pt.wikipedia.org/wiki/JSON"&gt;JSON&lt;/a&gt; em um Controlador. Até aí beleza, fui direto pegar o retorno dele com &lt;a href="http://br2.php.net/manual/pt_BR/function.json-decode.php"&gt;json_decode&lt;/a&gt;, sim porque pensei que era exatamente o inverso da &lt;a href="http://br2.php.net/manual/pt_BR/function.json-encode.php"&gt;json_encode&lt;/a&gt;, que recebe um array como parâmetro e codifica em JSON.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Pois bem, pra minha noobística surpresa, a função json_decode retorna um objeto(!). Pensei comigo, ta ok retorna um objeto, mas Controlador  que estou trabalhando devolve os dados como array para a view. E agora?&lt;/span&gt; &lt;span style="font-family:georgia;"&gt;Simples passo o segundo parâmetro da função json_decode como true. Tá mas qual é a graça, seria interessante se eu pudesse usar essa idéia e manipular os retornos de minhas funções ao meu "bel-prazer". Até para poder ter retornos dinâmicos para o mesmo dado. Ora necessito dele como array para a view, Ora com objeto dentro de outro objeto.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;  Pensei um pouco , googleie e cheguei no seguinte código:&lt;/span&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;&lt;br /&gt;function object2array($object){&lt;br /&gt; $arr = array();&lt;br /&gt; foreach ($object as $i =&gt; $val):&lt;br /&gt;    $arr[$i] = (is_object($val))? object2array($val) : $val;&lt;br /&gt; endforeach;&lt;br /&gt; return $arr;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;O que ela faz na real, é uma função recursiva, que percorre o objeto, caso o valor também seja um objeto ela chama ela mesma e trata o próximo nível, e assim sucessivamente. Antes o meu array de teste retornava os dados assim:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;&lt;br /&gt;stdClass Object&lt;br /&gt;(&lt;br /&gt;  [0] =&gt; a&lt;br /&gt;  [1] =&gt; b&lt;br /&gt;  [c] =&gt; stdClass Object&lt;br /&gt;      (&lt;br /&gt;          [0] =&gt; d&lt;br /&gt;          [1] =&gt; e&lt;br /&gt;      )&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Logo depois consegui o resultado esperado:&lt;/span&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;&lt;br /&gt;Array&lt;br /&gt;(&lt;br /&gt;  [0] =&gt; a&lt;br /&gt;  [1] =&gt; b&lt;br /&gt;  [c] =&gt; Array&lt;br /&gt;      (&lt;br /&gt;          [0] =&gt; d&lt;br /&gt;          [1] =&gt; e&lt;br /&gt;      )&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;1&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Mas fui além, queria agora que todos os retornos de meus métodos SEMPRE retornem um Objeto. Até para padronizar a saída. Sei que retornando array está padronizada, mas num array com muitos níveis fica chato de acessar ou trocar valores, por exemplo:&lt;/span&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;&lt;br /&gt;$foo['abr']['lero']['some']['index'] = 2;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Achei muito melhor de acessar assim:&lt;/span&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;&lt;br /&gt;$foo-&gt;abr-&gt;lero-&gt;some-&gt;index = 2;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Qual o segredo? Usar um recurso do PHP chamado stdClass. Usada pra &lt;a href="http://br2.php.net/manual/pt_BR/language.oop5.typehinting.php"&gt;induzir tipos&lt;/a&gt;, e também para criar classes "OnTheFly", podemos usá-la para fazer uma "engenharia" reversa na função object2array() . Segue o código:&lt;/span&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;&lt;br /&gt;function array2object($array){&lt;br /&gt; $obj = new stdClass();&lt;br /&gt; foreach ($array as $i =&gt; $val):&lt;br /&gt;     $obj-&gt;{$i} = (is_array($val))? array2object($val) : $val;&lt;br /&gt; endforeach;&lt;br /&gt; return $obj;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;A&lt;span style="font-family:georgia;"&gt;gora podemos aplicar essa função em quaisquer retornos que quisermos e trabalhar sempre com a "notação" de objetos ( &lt;span style="font-family:courier new;"&gt;$obj-&gt;propriedade&lt;/span&gt; ).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;E é isso, agora não tem mais desculpa pra tratar os retornos, basta convertê-los e usar a sintaxe mais apropriada.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;T+!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;PS.: Fica mais uma "dica da dica", caso o array seja indexado numéricamente,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:lucida grande;"&gt;acessar uma propriedade assim:&lt;/span&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;   $foo-&gt;0&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;causaria um parse_error, porém nesses casos, para acessarmos a propriedade basta coloca-lá entre chaves:&lt;/span&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;   $foo-&gt;{0}&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;Flw!&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-1905351642577131163?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/1905351642577131163/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/05/tratando-retornos-no-php.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/1905351642577131163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/1905351642577131163'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/05/tratando-retornos-no-php.html' title='Tratando retornos no PHP'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-2076210112839934693</id><published>2009-03-24T14:01:00.001-03:00</published><updated>2009-03-24T14:01:43.695-03:00</updated><title type='text'>PHP Jedi - Boas Práticas e Alta Performance</title><content type='html'>Mais uma dica super útil qe achei na net e merece ser postada!&lt;div style="width:425px;text-align:left" id="__ss_1114399"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/felipernb/php-jedi-boas-prticas-e-alta-performance?type=powerpoint" title="PHP Jedi - Boas Práticas e Alta Performance"&gt;PHP Jedi - Boas Práticas e Alta Performance&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=phpjedi-090307090434-phpapp01&amp;stripped_title=php-jedi-boas-prticas-e-alta-performance" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=phpjedi-090307090434-phpapp01&amp;stripped_title=php-jedi-boas-prticas-e-alta-performance" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/felipernb"&gt;Felipe Ribeiro&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-2076210112839934693?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/2076210112839934693/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/03/php-jedi-boas-praticas-e-alta.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/2076210112839934693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/2076210112839934693'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/03/php-jedi-boas-praticas-e-alta.html' title='PHP Jedi - Boas Práticas e Alta Performance'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-3994616857663074425</id><published>2009-03-12T02:24:00.001-03:00</published><updated>2009-03-12T02:24:41.916-03:00</updated><title type='text'>PHP RESTful </title><content type='html'>Essa é uma apresentação que catei na net sobre alguns conceitos de REST no PHP. Divirtam-se!&lt;div style="width:425px;text-align:left" id="__ss_681936"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/felipernb/php-restful-web-services-presentation?type=presentation" title="PHP RESTful Web Services"&gt;PHP RESTful Web Services&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=php-restful-ws-1224677129708039-8&amp;stripped_title=php-restful-web-services-presentation" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=php-restful-ws-1224677129708039-8&amp;stripped_title=php-restful-web-services-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/felipernb"&gt;Felipe Ribeiro&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-3994616857663074425?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/3994616857663074425/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/03/php-restful.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3994616857663074425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3994616857663074425'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/03/php-restful.html' title='PHP RESTful '/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-6992472936095955613</id><published>2009-03-01T03:48:00.009-03:00</published><updated>2009-03-01T04:19:35.958-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='avatar'/><category scheme='http://www.blogger.com/atom/ns#' term='games'/><category scheme='http://www.blogger.com/atom/ns#' term='street fighter'/><category scheme='http://www.blogger.com/atom/ns#' term='diversão'/><category scheme='http://www.blogger.com/atom/ns#' term='imagens'/><title type='text'>Meu punho na sua cara!</title><content type='html'>&lt;div style="text-align: left;"&gt;Calma!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;Essa é uma dica pra quem curte um street figther e sempre quis fazer parte do jogo! Agora voce pode!&lt;br /&gt;Entre no site do &lt;a href="http://www.streetfighter.com/myfistyourface/"&gt;street fighter IV&lt;/a&gt; &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; ,siga as instruções e pronto.&lt;br /&gt;Bah realmente estou ficando velho! sou do tempo do Street Fighter II !&lt;br /&gt;&lt;br /&gt;Esse sou eu:&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wD8vQSSsbWM/SaowUAqXVtI/AAAAAAAAAOs/rfr_35PLy-E/s1600-h/eu_sf.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 218px;" src="http://4.bp.blogspot.com/_wD8vQSSsbWM/SaowUAqXVtI/AAAAAAAAAOs/rfr_35PLy-E/s400/eu_sf.jpg" alt="" id="BLOGGER_PHOTO_ID_5308108231142758098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Tem até um vídeo meu, mas como outro personagem...&lt;br /&gt;&lt;/div&gt;&lt;object height="288" width="360"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="movie" value="http://www.apphosts.co.uk/campaigns/as3base.swf?inst_id=498218"&gt;&lt;embed src="http://www.apphosts.co.uk/campaigns/as3base.swf?inst_id=498218" type="application/x-shockwave-flash" wmode="transparent" allowfullscreen="true" height="288" width="360"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Divirtam-se, e postem ai seus resultados!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-6992472936095955613?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/6992472936095955613/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/03/meu-punho-na-sua-cara.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6992472936095955613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6992472936095955613'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/03/meu-punho-na-sua-cara.html' title='Meu punho na sua cara!'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wD8vQSSsbWM/SaowUAqXVtI/AAAAAAAAAOs/rfr_35PLy-E/s72-c/eu_sf.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-3315418742705074809</id><published>2009-02-28T04:03:00.003-03:00</published><updated>2009-02-28T04:10:20.686-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento ágil'/><category scheme='http://www.blogger.com/atom/ns#' term='plugins'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='software livre'/><category scheme='http://www.blogger.com/atom/ns#' term='código aberto'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento web'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='programação'/><title type='text'>Procurando softwares em PHP?</title><content type='html'>Se você está procurando softwares em PHP, que sejam software livre / código aberto , de rápida implementação?&lt;br /&gt;talvez &lt;a href="http://open.srcphp.com/"&gt;aqui&lt;/a&gt; você encontre. A lista é grande. São 17 páginas de softwares livres /código aberto feitos em PHP, AJAX, JS, MySQL, Postgres, etc...&lt;br /&gt;Muito bom o site...&lt;br /&gt;&lt;div style="text-align: center;"&gt;.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wD8vQSSsbWM/Sajinr-WZeI/AAAAAAAAAOk/N7_w42ooaGo/s1600-h/opensourcephp.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_wD8vQSSsbWM/Sajinr-WZeI/AAAAAAAAAOk/N7_w42ooaGo/s400/opensourcephp.png" alt="" id="BLOGGER_PHOTO_ID_5307741332303144418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-3315418742705074809?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/3315418742705074809/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/02/procurando-softwares-em-php.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3315418742705074809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3315418742705074809'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/02/procurando-softwares-em-php.html' title='Procurando softwares em PHP?'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wD8vQSSsbWM/Sajinr-WZeI/AAAAAAAAAOk/N7_w42ooaGo/s72-c/opensourcephp.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-4670290358625704408</id><published>2009-02-28T02:25:00.011-03:00</published><updated>2009-02-28T18:40:47.654-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento ágil'/><category scheme='http://www.blogger.com/atom/ns#' term='CMS PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='open cart'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento web'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='concrete 5'/><category scheme='http://www.blogger.com/atom/ns#' term='collabtive'/><category scheme='http://www.blogger.com/atom/ns#' term='programação'/><title type='text'>Demonstrador de softwares em PHP</title><content type='html'>Essa é pra quem gosta de "testar" aplicações em PHP antes de instalar  ou então para quem procura algum software open source para alguma necessidade nova ou que esteja construindo.&lt;br /&gt;&lt;br /&gt;o link: &lt;a href="http://php.opensourcecms.com/scripts/show.php?catid=all&amp;amp;cat=All%20Scripts"&gt;http://php.opensourcecms.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;apesar do nome ele não contem apenas CMS. Eis alguns destaques:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://php.opensourcecms.com/scripts/details.php?scriptid=100&amp;amp;name=Collabtive"&gt;Collabtive&lt;/a&gt;: Muito bonito o design, simples e funcional.Gerenciador de Projetos,tarefas, controle de tempo,e muito mais.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;                                                &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wD8vQSSsbWM/SajNFmv1-7I/AAAAAAAAAOM/0UerR25bMcs/s1600-h/Collabtive.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; width: 485px; height: 359px;" src="http://2.bp.blogspot.com/_wD8vQSSsbWM/SajNFmv1-7I/AAAAAAAAAOM/0UerR25bMcs/s400/Collabtive.png" alt="" id="BLOGGER_PHOTO_ID_5307717657040386994" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://php.opensourcecms.com/scripts/details.php?scriptid=93&amp;amp;name=Opencart"&gt;Open Cart&lt;/a&gt;: Um e-commerce simplificado, bonito simples.o único porem é que não foi totalmente traduzido,mas nada que a "comunidade" não possa dar uma mão! ;-)&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wD8vQSSsbWM/SajPrLrJK7I/AAAAAAAAAOU/wZh1nYUNJRY/s1600-h/opencart.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; width: 482px; height: 357px;" src="http://4.bp.blogspot.com/_wD8vQSSsbWM/SajPrLrJK7I/AAAAAAAAAOU/wZh1nYUNJRY/s400/opencart.png" alt="" id="BLOGGER_PHOTO_ID_5307720501631200178" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.getconcrete5.com/tour/"&gt;Concrete 5&lt;/a&gt;: Esse vai na onda dos aplicativos sem código fonte. É chieo de AJAX, clicks-to-edit, drag-and-drop, bonito, moderno, estável. Muito a fu! Bom para quem tem qu entregar aquele site "estático" para ontem. Vale a pena.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wD8vQSSsbWM/Saja5S2FbLI/AAAAAAAAAOc/q16fEDWEEso/s1600-h/concrete5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 489px; height: 359px;" src="http://1.bp.blogspot.com/_wD8vQSSsbWM/Saja5S2FbLI/AAAAAAAAAOc/q16fEDWEEso/s400/concrete5.png" alt="" id="BLOGGER_PHOTO_ID_5307732838702214322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Existem vários outros projetos, mostrei apenas os mais "amigáveis", vai do gosto de cada um. Mas o serviço do site é muito massa!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-4670290358625704408?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/4670290358625704408/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/02/testador-de-softwares-em-php.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/4670290358625704408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/4670290358625704408'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/02/testador-de-softwares-em-php.html' title='Demonstrador de softwares em PHP'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wD8vQSSsbWM/SajNFmv1-7I/AAAAAAAAAOM/0UerR25bMcs/s72-c/Collabtive.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-6670482524263000352</id><published>2009-02-18T08:15:00.003-03:00</published><updated>2009-02-28T02:06:50.411-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='guerra'/><category scheme='http://www.blogger.com/atom/ns#' term='diversão'/><category scheme='http://www.blogger.com/atom/ns#' term='office'/><category scheme='http://www.blogger.com/atom/ns#' term='escritório'/><category scheme='http://www.blogger.com/atom/ns#' term='war'/><title type='text'>Office War...</title><content type='html'>Muito massa esse vídeo, diversão do inicio ao fim. Muito fera mesmo. Só não sei se o vídeo não foi feito pela fábrica das armas que eles estão usando. Queria uma daquelas!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="225" width="400"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1193942&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=1193942&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="225" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/1193942"&gt;The Great Office War&lt;/a&gt; from &lt;a href="http://vimeo.com/user545209"&gt;Runawaybox&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-6670482524263000352?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/6670482524263000352/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/02/office-war.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6670482524263000352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6670482524263000352'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/02/office-war.html' title='Office War...'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-4213965869791278402</id><published>2009-02-17T13:15:00.007-03:00</published><updated>2009-02-28T02:07:31.555-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='avatar'/><category scheme='http://www.blogger.com/atom/ns#' term='imagens'/><category scheme='http://www.blogger.com/atom/ns#' term='manga'/><title type='text'>Você em Mangá...</title><content type='html'>Como é uma onda do momento, não podia ficar de fora. Todo mundo está fazendo um avatar em mangá, eu também fiz o meu.&lt;br /&gt;De uma olhada:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wD8vQSSsbWM/SZrjZhWzH3I/AAAAAAAAAN8/WXfx4Fbd4cY/s1600-h/manga.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 178px; height: 178px;" src="http://2.bp.blogspot.com/_wD8vQSSsbWM/SZrjZhWzH3I/AAAAAAAAAN8/WXfx4Fbd4cY/s320/manga.jpg" alt="" id="BLOGGER_PHOTO_ID_5303801538772410226" border="0" /&gt;&lt;/a&gt;quem me conhece diz que está igual.&lt;br /&gt;&lt;br /&gt;Faca o seu em &lt;a href="http://www.faceyourmanga.com/"&gt;www.faceyourmanga.com&lt;/a&gt; e posta aqui o resultado. T+!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-4213965869791278402?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/4213965869791278402/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2009/02/voce-em-manga.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/4213965869791278402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/4213965869791278402'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2009/02/voce-em-manga.html' title='Você em Mangá...'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wD8vQSSsbWM/SZrjZhWzH3I/AAAAAAAAAN8/WXfx4Fbd4cY/s72-c/manga.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-3734576385674948243</id><published>2009-01-14T13:05:00.001-02:00</published><updated>2009-02-14T19:12:16.917-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento ágil'/><category scheme='http://www.blogger.com/atom/ns#' term='plugins'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento web'/><category scheme='http://www.blogger.com/atom/ns#' term='programação'/><title type='text'>Plugins essenciais para um desenvolvimento ágil</title><content type='html'>Alguns dos plugins para o Firefox para desenvolvimento web que uso. Gostaria de deixar a dica desses plugins pois eles têm otimizado meu trabalho ao máximo e com certeza otimizarão o seu também. Alguns nem são tão importantes, mas outros são quase que obrigatórios. Experimente usá-los você não irá se arrepender.&lt;br /&gt; Segue minha lista:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Cooliris Previews&lt;/span&gt;&lt;div style="text-align: justify;"&gt;   Com ele você pode visualizar o site, ou uma imagem no tamanho "real" sem ter que clicar em link       algum. Ideal para quem gosta de navegar sem ter que abrir varias janelas.&lt;br /&gt;&lt;/div&gt;    link:  &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/2207"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/2207&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dummy Lipsum&lt;/span&gt;&lt;br /&gt;Um texto muito conhecido para "encher-linguiça". Muito bom, basta criar os parágrafos e copiar para área de transferência.&lt;br /&gt;link:  &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/2064"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/2064&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;FireBug&lt;/span&gt;&lt;br /&gt; Esse é quase obrigatório para todo o desenvolvedor web que se preze. Nele você encontra debug para: javascript, CSS, HTML, tráfego http, e muito mais.&lt;br /&gt; link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/1843"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/1843&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Gerador de CPF e CNPJ&lt;/span&gt;&lt;br /&gt; Gera CPF e CNPJ validos com um clique. Muito útil para testar sistemas que se baseiam nesses dados.&lt;br /&gt; link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/2047"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/2047&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HyperWords&lt;/span&gt;&lt;br /&gt; Quem nunca se sentiu perdido com uma palavra no meio do texto? O HyperWords é um multi-tradutor  em que você seleciona o texto a traduzir e com o botão direito do mouse, escolhe em qual lingua você quer traduzir. Ele também possui vários outros recursos, como o de buscar a palavra selecionada em vários sites.&lt;br /&gt; link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/1941"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/1941&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IETab&lt;/span&gt;&lt;br /&gt;Muito útil para testar seu layout no IEca, sem ter de abrí-lo claro. Apenas o motor do javascript não apresenta as mesmas falhas, mas mesmo assim é muito útil. Apenas usuarios do sistema operacional de redmond.&lt;br /&gt;link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/1419"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/1419&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MeasureIt&lt;/span&gt;&lt;br /&gt;Quem nunca perdeu um tempão acertando medidas entre elementos no seu layout? O MeasureIt cria uma régua pra você medir o que quiser em pixels. Muito útil pra não se perder tempo adicionando ou removndo pixels.&lt;br /&gt; link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/539"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/539&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pencil&lt;/span&gt;&lt;br /&gt;Uma extenção muito robusta para desenhar diagramas e telas. ideal para quem ultiliza algum sistema de tickets e precisa fazer alguma referencia com uma imagem.&lt;br /&gt;link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/8487"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/8487&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt; &lt;span style="font-weight: bold;"&gt;ReminderFox&lt;/span&gt;&lt;br /&gt; Que tal anotar um lembrete e receber um alerta direto no firefox? Util pra quem tem muitas tarefas e não dispõe de um gerenciador. Você cadastra o que quiser e quando quer que o firefox te avise.&lt;br /&gt; link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/1191"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/1191&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web Developer&lt;/span&gt;&lt;br /&gt;Outro plugin obrigatório para quem trabalha com desenvolvimento web. Cria uma barra de ferramentas extras especial para desenvolvedores, com varios recursos que com certeza agilizarão seu trabalho.Entre eles eu destaco o Resize e o Populate Form Fields, duas mãos na roda!&lt;br /&gt;link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/60"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/60&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;YSlow&lt;/span&gt;&lt;br /&gt; Que tal um avaliador de desenpenho do teu site/sistema? o Yslow é uma ferramenta que faz isso, além de monitorar o tempo e o tamanho do trafego que seu site causa quando é aberto, ele ainda te dicas para corrigir essas falhas. Junto com o Firebug e o Web Developer formam um trio obrigatorio para quem trabalha ou pretende trabalhar com desenvolvimento web.&lt;br /&gt; link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/5369"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/5369&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Colorzilla&lt;/span&gt;&lt;br /&gt; Chega de tentar adivinhar os hexasdecimais usados em determinado layout. Com o Colorzilla você simplesmente clica no botão do plugin e depois em cima da cor ou então escolhe uma cor com o editor de cores do sistema operacional.&lt;br /&gt;link: &lt;a href="https://addons.mozilla.org/pt-BR/firefox/addon/271"&gt;https://addons.mozilla.org/pt-BR/firefox/addon/271&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-3734576385674948243?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/3734576385674948243/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/plugins-essenciais-para-um.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3734576385674948243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3734576385674948243'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/plugins-essenciais-para-um.html' title='Plugins essenciais para um desenvolvimento ágil'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-7351582580139155747</id><published>2008-12-06T03:02:00.006-02:00</published><updated>2009-02-14T21:25:13.638-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento ágil'/><category scheme='http://www.blogger.com/atom/ns#' term='desenvolvimento web'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><title type='text'>Mais um livro pra aprender Ruby</title><content type='html'>No meu aniversário passado (21/11) ganhei um dos livros mais completos sobre Ruby on Rails, tem participação do próprio David Heinemeier Hansson Criador do Rails. Muito bom livro para quem quer aprender Rails e Ruby mais a fundo.&lt;br /&gt;&lt;br /&gt;Eis a belezinha:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.artmed.com.br/img/tb_md_produto_produto/fotoAmpliada_2492.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 310px; height: 440px;" src="http://www.artmed.com.br/img/tb_md_produto_produto/fotoAmpliada_2492.jpg" alt="" border="0" /&gt;&lt;/a&gt;É muito mais extenso (e mais caro) que minha outra &lt;a href="http://webcomlimao.blogspot.com/2008/11/dica-aprenda-programar.html"&gt;dica&lt;/a&gt; ,mas vale o investimento&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-7351582580139155747?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/7351582580139155747/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/12/mais-um-livro-pra-aprender-ruby.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/7351582580139155747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/7351582580139155747'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/12/mais-um-livro-pra-aprender-ruby.html' title='Mais um livro pra aprender Ruby'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-163326217620218629</id><published>2008-12-06T02:48:00.002-02:00</published><updated>2008-12-06T02:51:54.281-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Futebol. estatisticas do futebol'/><category scheme='http://www.blogger.com/atom/ns#' term='Internacional'/><category scheme='http://www.blogger.com/atom/ns#' term='Futebol brasileiro'/><title type='text'>Estatisticas do Futebol (dá-lhe INTER!!)</title><content type='html'>Logo, segue um lista com TODOS os mata-mata entre a Elite do futebol Brasileiro ( leia-se Elite, aqueles times que já ganharam pelo menos mais de um brasileirão). A lista foi elaborada por vários torcedores de todos os times e com bases na historia de cada competição. Bem interessante a lista para quem gosta de acompanhar a história do nosso querido (amado pq não!)  Futebol. Segue a lista:&lt;br /&gt;&lt;br /&gt;MATA-MATAS - Todos entre a Elite&lt;br /&gt;Tópico para curiosidade e consulta. Aqui estão todos os mata-matas entre times da Elite em competições oficiais não-estaduais (portanto os confrontos no Paulista, Carioca e Gaúcho não estão sendo considerados). Caso você encontre algum erro, por favor me informe.&lt;br /&gt;&lt;br /&gt;Santos 2 x 3 São Paulo:&lt;br /&gt;1981 - São Paulo elimina Santos do Campeonato Brasileiro&lt;br /&gt;1990 - São paulo elimina o Santos do Campeonato Brasileiro&lt;br /&gt;1992 - São Paulo elimina Santos da Supercopa&lt;br /&gt;2002 - Santos elimina o São Paulo do Campeonato Brasileiro&lt;br /&gt;2004 - Santos elimina o São Paulo da Copa Sulamericana&lt;br /&gt;&lt;br /&gt;Santos 3 x 2 Flamengo:&lt;br /&gt;1964 - Santos elimina o Flamengo da Taça Brasil&lt;br /&gt;1982 - Flamengo elimina o Santos do Campeonato Brasileiro&lt;br /&gt;1983 - Flamengo elimina o Santos do Campeonato Brasileiro&lt;br /&gt;2000 - Santos elimina o Flamengo da Copa do Brasil&lt;br /&gt;2004 - Santos elimina o Flamengo da Copa Sulamericana&lt;br /&gt;1997 - Santos elimina o Flamengo do Rio-São Paulo&lt;br /&gt;&lt;br /&gt;Santos 2 x 1 Vasco:&lt;br /&gt;1965 - Santos elimina o Vasco da Taça Brasil&lt;br /&gt;1997 - Santos elimina o Vasco do Rio-São Paulo&lt;br /&gt;1999 - Vasco elimina o Santos do Rio-São Paulo&lt;br /&gt;&lt;br /&gt;Santos 1 x 2 Cruzeiro:&lt;br /&gt;1966 - Cruzeiro elimina o Santos da Taça Brasil&lt;br /&gt;2000 - Cruzeiro elimina o Santos da Copa do Brasil&lt;br /&gt;2006 - Santos elimina o Cruzeiro da Sul-Americana&lt;br /&gt;&lt;br /&gt;Santos 3 x 1 Palmeiras:&lt;br /&gt;1964 - Santos elimina o Palmeiras da Taça Brasil&lt;br /&gt;1965 - Santos elimina o Palmeiras da Taça Brasil&lt;br /&gt;1997 - Santos elimina o Palmeiras do Rio-São Paulo&lt;br /&gt;1998 - Palmeiras elimina o Santos da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Santos 1 x 1 Corinthians:&lt;br /&gt;1998 - Corinthians elimina o Santos do Campeonato Brasileiro&lt;br /&gt;2002 - Santos elimina o Corinthians do Campeonato Brasileiro&lt;br /&gt;Santos 0 x 2 Internacional:&lt;br /&gt;1997 - Internacional elimina o Santos da Copa do Brasil&lt;br /&gt;2002 - Internacional elimina o Santos da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Santos 3 x 1 Grêmio:&lt;br /&gt;1959 - Santos elimina o Grêmio da Taça Brasil&lt;br /&gt;1963 - Santos elimina o Grêmio da Taça Brasil&lt;br /&gt;2002 - Santos elimina o Grêmio do Campeonato Brasileiro&lt;br /&gt;2007 - Grêmio elimina o Santos da Libertadores&lt;br /&gt;&lt;br /&gt;Palmeiras 6 x 2 Cruzeiro:&lt;br /&gt;1996 - Cruzeiro elimina o Palmeiras da Copa do Brasil&lt;br /&gt;1998 - Palmeiras elimina o Cruzeiro da Mercosul&lt;br /&gt;1998 - Palmeiras elimina o Cruzeiro da Copa do Brasil&lt;br /&gt;1998 - Cruzeiro elimina o Palmeiras do Campeonato Brasileiro&lt;br /&gt;1999 - Palmeiras elimina o Cruzeiro da Mercosul&lt;br /&gt;2000 - Palmeiras elimina Cruzeiro da Copa dos Campeões&lt;br /&gt;2000 - Palmeiras elimina o Cruzeiro da Mercosul&lt;br /&gt;2001 - Palmeiras elimina o Cruzeiro da Libertadores&lt;br /&gt;&lt;br /&gt;Palmeiras 5 x 0 Corinthians:&lt;br /&gt;1951 - Palmeiras elimina o Corinthians do Rio-São Paulo&lt;br /&gt;1993 - Palmeiras elimina o Corinthians do Rio-São Paulo&lt;br /&gt;1994 - Palmeiras elimina o Corinthians do Brasileiro&lt;br /&gt;1999 - Palmeiras elimina o Corinthians da Libertadores&lt;br /&gt;2000 - Palmeiras elimina o Corinthians da Libertadores&lt;br /&gt;&lt;br /&gt;Palmeiras 1 x 5 São Paulo:&lt;br /&gt;1994 - São Paulo elimina o Palmeiras da Libertadores&lt;br /&gt;2000 - São Paulo elimina o Palmeiras da Copa do Brasil&lt;br /&gt;2000 - Palmeiras elimina o São Paulo do Campeonato Brasileiro&lt;br /&gt;2002 - São Paulo elimina o Palmeiras do Rio-São Paulo&lt;br /&gt;2005 - São Paulo elimina o Palmeiras da Libertadores&lt;br /&gt;2006 - São Paulo elimina o Palmeiras da Libertadores&lt;br /&gt;&lt;br /&gt;Palmeiras 3 x 2 Vasco:&lt;br /&gt;1997 - Vasco elimina o Palmeiras do Campeonato Brasileiro&lt;br /&gt;1999 - Palmeiras elimina o Vasco da Libertadores&lt;br /&gt;2000 - Palmeiras elimina o Vasco do Rio-São Paulo&lt;br /&gt;2000 - Vasco elimina o Palmeiras da Mercosul&lt;br /&gt;2008 - Palmeiras elimina o Vasco da Sul-Americana&lt;br /&gt;&lt;br /&gt;Palmeiras 2 x 2 Flamengo:&lt;br /&gt;1997 - Flamengo elimina o Palmeiras da Copa do Brasil&lt;br /&gt;1999 - Palmeiras elimina o Flamengo da Copa do Brasil&lt;br /&gt;1999 - Flamengo elimina o Palmeiras da Mercosul&lt;br /&gt;2000 - Palmeiras elimina Flamengo da Copa dos Campeões&lt;br /&gt;&lt;br /&gt;Palmeiras 4 x 5 Grêmio:&lt;br /&gt;1961 - Palmeiras elimina o Grêmio da Taça Brasil&lt;br /&gt;1965 - Palmeiras elimina o Grêmio da Taça Brasil&lt;br /&gt;1967 - Palmeiras elimina o Grêmio da Taça Brasil&lt;br /&gt;1990 - Grêmio elimina o Palmeiras do Campeonato Brasileiro&lt;br /&gt;1993 - Grêmio elimina o Palmeiras da Copa do Brasil&lt;br /&gt;1995 - Grêmio elimina o Palmeiras da Copa do Brasil&lt;br /&gt;1995 - Grêmio elimina o Palmeiras da Libertadores&lt;br /&gt;1996 - Palmeiras elimina o Grêmio da Copa do Brasil&lt;br /&gt;1996 - Grêmio elimina o Palmeiras do Campeonato Brasileiro&lt;br /&gt;&lt;br /&gt;Palmeiras 1 x 2 Internacional:&lt;br /&gt;1978 - Palmeiras elimina o Internacional do Campeonato Brasileiro&lt;br /&gt;1979 - Internacional elimina o Palmeiras do Campeonato Brasileiro&lt;br /&gt;1992 - Internacional elimina o Palmeiras da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Internacional 3 x 1 São Paulo:&lt;br /&gt;1981 - São Paulo elimina o Internacional do Campeonato Brasileiro&lt;br /&gt;1996 - Internacional elimina o São Paulo da Copa do Brasil&lt;br /&gt;2005 - Internacional elimina o São Paulo da Sul-Americana&lt;br /&gt;2006 - Internacional elimina o São Paulo da Liberatdores&lt;br /&gt;&lt;br /&gt;Internacional 2 x 0 Corinthians:&lt;br /&gt;1976 - Internacional elimina o Corinthians do Campeonato Brasileiro&lt;br /&gt;1992 - Internacional elimina o Corinthians da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Internacional 5 x 0 Grêmio:&lt;br /&gt;1988 - Internacional elimina o Grêmio do Campeonato Brasileiro&lt;br /&gt;1992 - Internacional elimina o Grêmio da Copa do Brasil&lt;br /&gt;1999 - Internacional elimina o Grêmio da Seletiva da Libertadores&lt;br /&gt;2004 - Internacional elimina o Grêmio da Sul-Americana&lt;br /&gt;2008 - Internacional elimina o Grêmio da Sul-Americana&lt;br /&gt;&lt;br /&gt;Internacional 1 x 0 Vasco:&lt;br /&gt;1979 - Internacional elimina o Vasco do Campeonato Brasileiro&lt;br /&gt;&lt;br /&gt;Internacional 0 x 3 Flamengo:&lt;br /&gt;1987 - Flamengo elimina o Internacional do Campeonato Brasileiro&lt;br /&gt;1996 - Flamengo elimina o Internacional da Copa do Brasil&lt;br /&gt;1997 - Flamengo elimina o Internacional da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Internacional 5 x 1 Cruzeiro:&lt;br /&gt;1962 - Internacional elimina o Cruzeiro da Taça Brasil&lt;br /&gt;1975 - Internacional elimina o Cruzeiro do Campeonato Brasileiro&lt;br /&gt;1987 - Internacional elimina o Cruzeiro do Campeonato Brasileiro&lt;br /&gt;1988 - Internacional elimina o Cruzeiro do Campeonato Brasileiro&lt;br /&gt;2000 - Cruzeiro elimina o Internacional do campeonato Brasileiro&lt;br /&gt;2004 - Internacional elimina o Cruzeiro da Sul-Americana&lt;br /&gt;&lt;br /&gt;Grêmio 0 x 3 Cruzeiro:&lt;br /&gt;1966 - Cruzeiro elimina o Grêmio da Taça Brasil&lt;br /&gt;1993 - Cruzeiro elimina o Grêmio da Copa do Brasil&lt;br /&gt;1997 - Cruzeiro elimina o Grêmio da Libertadores&lt;br /&gt;&lt;br /&gt;Grêmio 6 x 3 Corinthians:&lt;br /&gt;1982 - Grêmio elimina o Corinthians do Campeonato Brasileiro&lt;br /&gt;1986 - Corinthians elimina o Grêmio do Campeonato Brasileiro&lt;br /&gt;1991 - Grêmio elimina o Corinthians da Copa do Brasil&lt;br /&gt;1994 - Grêmio elimina o Corinthians da Copa do Brasil&lt;br /&gt;1995 - Corinthians elimina o Grêmio da Copa do Brasil&lt;br /&gt;1996 - Grêmio elimina o Corinthians da Libertadores&lt;br /&gt;1997 - Grêmio elimina o Corinthians da Copa do Brasil&lt;br /&gt;1998 - Corinthians elimina o Grêmio do Campeonato Brasileiro&lt;br /&gt;2001 - Grêmio elimina o Corinthians da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Grêmio 3 x 2 Vasco:&lt;br /&gt;1982 - Grêmio elimina o Vasco do Campeonato Brasileiro&lt;br /&gt;1984 - Vasco elimina o Grêmio do Campeonato Brasileiro&lt;br /&gt;1990 - Grêmio elimina o Vasco da Supercopa do Brasil&lt;br /&gt;1994 - Grêmio elimina o Vasco da Copa do Brasil&lt;br /&gt;1998 - Vasco elimina o Grêmio da Libertadores&lt;br /&gt;&lt;br /&gt;Grêmio 4 x 6 São Paulo:&lt;br /&gt;1981 - Grêmio elimina o São Paulo do Campeonato Brasileiro&lt;br /&gt;1990 - São Paulo elimina o Grêmio da Copa do Brasil&lt;br /&gt;1990 - São Paulo elimina o Grêmio do Campeonato Brasileiro&lt;br /&gt;1993 - São Paulo elimina o Grêmio da Supercopa&lt;br /&gt;1994 - São Paulo elimina o Grêmio da Conmebol&lt;br /&gt;1995 - Grêmio elimina o São Paulo da Copa do Brasil&lt;br /&gt;1996 - São Paulo elimina o Grêmio da Copa Ouro&lt;br /&gt;1998 - São Paulo elimina o Grêmio da Copa do Brasil&lt;br /&gt;2001 - Grêmio elimina o São Paulo da Copa do Brasil&lt;br /&gt;2007 - Grêmio elimina o São Paulo da Libertadores&lt;br /&gt;&lt;br /&gt;Grêmio 6 x 4 Flamengo:&lt;br /&gt;1984 - Grêmio elimina o Flamengo da Libertadores&lt;br /&gt;1988 - Grêmio elimina o Flamengo do Campeonato Brasileiro&lt;br /&gt;1989 - Grêmio elimina o Flamengo da Copa do Brasil&lt;br /&gt;1992 - Flamengo elimina o Grêmio da Supercopa&lt;br /&gt;1993 - Grêmio elimina o Flamengo da Copa do Brasil&lt;br /&gt;1995 - Grêmio elimina o Flamengo da Copa do Brasil&lt;br /&gt;1997 - Grêmio elimina o Flamengo da Copa do Brasil&lt;br /&gt;1999 - Flamengo elimina o Grêmio da Copa do Brasil&lt;br /&gt;2001 - Flamengo elimina o Grêmio da Mercosul&lt;br /&gt;2004 - Flamengo elimina o Grêmio da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Corinthians 2 x 2 Flamengo:&lt;br /&gt;1984 - Corinthians elimina o Flamengo do Campeonato Brasileiro&lt;br /&gt;1989 - Flamengo elimina o Corinthians da Copa do Brasil&lt;br /&gt;1991 - Corinthians elimina o Flamengo da Supercopa do Brasil&lt;br /&gt;1997 - Flamengo elimina o Corinthians do Rio-São Paulo&lt;br /&gt;&lt;br /&gt;Corinthians 4 x 1 São Paulo:&lt;br /&gt;1990 - Corinthians elimina o São Paulo do Campeonato Brasileiro&lt;br /&gt;1994 - São Paulo elimina o Corinthians da Copa Conmebol&lt;br /&gt;1999 - Corinthians elimina o São Paulo do Campeonato Brasileiro&lt;br /&gt;2002 - Corinthians elimina o São paulo da Copa do Brasil&lt;br /&gt;2002 - Corinthians elimina o São Paulo da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Corinthians 3 x 0 Vasco:&lt;br /&gt;1995 - Corinthians elimina o Vasco da Copa do Brasil&lt;br /&gt;2000 - Corinthians elimina o Vasco do "Mundial"&lt;br /&gt;2006 - Corinthians elimina o Vasco da Sul-Americana&lt;br /&gt;&lt;br /&gt;Corinthians 3 x 2 Cruzeiro:&lt;br /&gt;1991 - Corinthians elimina o Cruzeiro da Copa do Brasil&lt;br /&gt;1996 - Cruzeiro elimina o Corinthians da Copa do Brasil&lt;br /&gt;1998 - Cruzeiro elimina o Corinthians da Copa do Brasil&lt;br /&gt;1998 - Corinthians elimina o Cruzeiro do Campeonato Brasileiro&lt;br /&gt;2002 - Corinthians elimina o Cruzeiro da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Vasco 0 x 2 Flamengo:&lt;br /&gt;1983 - Flamengo elimina o Vasco do Campeonato Brasileiro&lt;br /&gt;2006 - Flamengo elimina o Vasco da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Vasco 4 x 1 São Paulo:&lt;br /&gt;1989 - Vasco elimina o São Paulo do Campeonato Brasileiro&lt;br /&gt;1998 - Vasco elimina o São Paulo da Copa do Brasil&lt;br /&gt;1999 - Vasco elimina o São Paulo do Rio-São Paulo&lt;br /&gt;2000 - Vasco elimina o São Paulo do Rio-São Paulo&lt;br /&gt;2002 - São Paulo elimina o Vasco da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Vasco 3 x 4 Cruzeiro:&lt;br /&gt;1974 - Vasco elimina o Cruzeiro do Campeonato Brasileiro&lt;br /&gt;1993 - Cruzeiro elimina o Vasco da Copa do Brasil&lt;br /&gt;1996 - Cruzeiro elimina o Vasco da Copa do Brasil&lt;br /&gt;1998 - Cruzerio elimina o Vasco da Copa do Brasil&lt;br /&gt;1998 - Vasco elimina o Cruzeiro da Libertadores&lt;br /&gt;2000 - Vasco elimina o Cruzeiro do Campeonato Brasileiro&lt;br /&gt;2003 - Cruzeiro elimina o Vasco da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Cruzeiro 3 x 3 Flamengo:&lt;br /&gt;1995 - Flamengo elimina o Cruzeiro da Copa do Brasil&lt;br /&gt;1995 - Flamengo elimina o Cruzeiro da Supercopa&lt;br /&gt;1996 - Cruzeiro elimina o flamengo da Copa do brasil&lt;br /&gt;2001 - Flamengo elimina o Cruzeiro da Copa dos Campeões&lt;br /&gt;2002 - Cruzeiro elimina o Flamengo da Copa dos Campeões&lt;br /&gt;2003 - Cruzeiro elimina o Flamengo da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Cruzeiro 3 x 1 São Paulo:&lt;br /&gt;1992 - São Paulo elimina o Cruzeiro da Recopa Sul-Americana&lt;br /&gt;1993 - Cruzeiro elimina o São Paulo da Copa do Brasil&lt;br /&gt;1995 - Cruzeiro elimina o São Paulo da Supercopa&lt;br /&gt;2000 - Cruzeiro elimina o São Paulo da Copa do Brasil&lt;br /&gt;&lt;br /&gt;Flamengo 2 x 2 São Paulo:&lt;br /&gt;1993 - São paulo elimina o Flamengo da Liberatdores&lt;br /&gt;1993 - São paulo elimina o Flamengo da Supercopa&lt;br /&gt;1996 - Flamengo elimina o São Paulo da Copa Ouro&lt;br /&gt;2001 - Flamengo elimina o São Paulo da Copa dos Campeões&lt;br /&gt;&lt;br /&gt;SFC: 4V, 1E e 3D&lt;br /&gt;SEP: 3V, 1E e 4D&lt;br /&gt;SCI: 8V, 0E e 1D&lt;br /&gt;GFBPA: 4V e 4D&lt;br /&gt;SCCP: 3V, 2E e 3D&lt;br /&gt;CRVG 1V e 7D&lt;br /&gt;CEC: 4V, 1E e 3D&lt;br /&gt;CRF: 2V, 4E e 2D&lt;br /&gt;SPFC 3V, 1E e 4D&lt;br /&gt;&lt;br /&gt;"Rankings":&lt;br /&gt;Pontos por Confronto (caso time A tenha eliminado mais vezes o time B do que o time B eliminou o time A, 3 pontos pro time A, e em empate é 1 pros dois):&lt;br /&gt;&lt;br /&gt;1- Internacional : 24 pontos&lt;br /&gt;2- Santos : 13 pontos&lt;br /&gt;2- Cruzeiro : 13 pontos&lt;br /&gt;4- Grêmio : 12 pontos&lt;br /&gt;5- Corinthians : 11 pontos&lt;br /&gt;6- São Paulo : 10 pontos&lt;br /&gt;6- Palmeiras : 10 pontos&lt;br /&gt;6- Flamengo : 10 pontos&lt;br /&gt;9- Vasco : 3 pontos&lt;br /&gt;&lt;br /&gt;Número de Confrontos Ganhos :&lt;br /&gt;1- Internacional : 8 confrontos&lt;br /&gt;2- Santos : 4 confrontos&lt;br /&gt;2- Cruzeiro : 4 confrontos&lt;br /&gt;2- Grêmio : 4 confrontos&lt;br /&gt;5- Corinthians : 3 confrontos&lt;br /&gt;5- São Paulo : 3 confrontos&lt;br /&gt;5- Palmeiras : 3 confrontos&lt;br /&gt;6- Flamengo : 2 confrontos&lt;br /&gt;9- Vasco : 1 confronto&lt;br /&gt;&lt;br /&gt;Número de Confrontos Perdidos :&lt;br /&gt;1- Internacional : 1 confronto&lt;br /&gt;2- Flamengo : 2 confrontos&lt;br /&gt;3- Cruzeiro : 3 confrontos&lt;br /&gt;3- Santos : 3 confrontos&lt;br /&gt;3- Corinthians : 3 confrontos&lt;br /&gt;6- São Paulo : 4 confrontos&lt;br /&gt;6- Palmeiras : 4 confrontos&lt;br /&gt;6- Grêmio : 5 confrontos&lt;br /&gt;9- Vasco : 7 confrontos&lt;br /&gt;&lt;br /&gt;Número de vezes em que eliminou o adversário :&lt;br /&gt;1- Grêmio : 25 vezes&lt;br /&gt;2- Palmeiras : 23 vezes&lt;br /&gt;3- Flamengo : 20 vezes&lt;br /&gt;3- Cruzeiro : 20 vezes&lt;br /&gt;3- São Paulo : 20 vezes&lt;br /&gt;6- Internacional : 20 vezes&lt;br /&gt;7- Santos : 15 vezes&lt;br /&gt;7- Corinthians : 15 vezes&lt;br /&gt;9- Vasco : 12 vezes&lt;br /&gt;&lt;br /&gt;Número de vezes em que foi eliminado pelo adversário :&lt;br /&gt;1- Internacional : 6 vezes&lt;br /&gt;2- Santos : 13 vezes&lt;br /&gt;3- Flamengo : 18 vezes&lt;br /&gt;4- Corinthians : 19 vezes&lt;br /&gt;4- Vasco : 19 vezes&lt;br /&gt;6- Palmeiras : 21 vezes&lt;br /&gt;7- Cruzeiro : 22 vezes&lt;br /&gt;8- São Paulo : 23 vezes&lt;br /&gt;9- Grêmio : 29 vezes&lt;br /&gt;&lt;br /&gt;Saldo de Eliminações :&lt;br /&gt;&lt;br /&gt;1- Internacional : +14&lt;br /&gt;2- Palmeiras : +2&lt;br /&gt;2- Santos : +2&lt;br /&gt;2- Flamengo : +2&lt;br /&gt;5- Cruzeiro : -2&lt;br /&gt;6- São Paulo : -3&lt;br /&gt;6- Grêmio : -4&lt;br /&gt;8- Corinthians : -4&lt;br /&gt;9- Vasco : -7&lt;br /&gt;&lt;br /&gt;Aproveitamento nos Mata-Matas (porcentagem de vezes em que eliminou o adversário) :&lt;br /&gt;1- Internacional : 76,0%&lt;br /&gt;2- Santos : 55,1%&lt;br /&gt;3- Flamengo : 52,5%&lt;br /&gt;4- Palmeiras : 52,2%&lt;br /&gt;5- Cruzeiro : 47,6%&lt;br /&gt;6- São Paulo : 46,5%&lt;br /&gt;7- Corinthians : 45,7%&lt;br /&gt;8- Grêmio : 45,4%&lt;br /&gt;9- Vasco : 38,7%&lt;br /&gt;&lt;br /&gt;Ranking "Tradicional" (pontos em confrontos, vitórias em confrontos e saldo de eliminações) :&lt;br /&gt;1- Internacional&lt;br /&gt;2- Santos&lt;br /&gt;3- Cruzeiro&lt;br /&gt;4- Grêmio&lt;br /&gt;5- Corinthians&lt;br /&gt;6- Palmeiras&lt;br /&gt;7- São Paulo&lt;br /&gt;8- Flamengo&lt;br /&gt;9- Vasco&lt;br /&gt;&lt;br /&gt;Confronto com a maior "Goleada" : Palmeiras 5 x 0 Corinthians&lt;br /&gt;Confronto com o menor número de mata-matas : Internacional 1 x 0 Vasco&lt;br /&gt;Confronto com o maior número de mata-matas : Grêmio 6 x 4 Flamengo e São Paulo 6 x 4 Grêmio&lt;br /&gt;Time há mais tempo sem eliminar alguém : Vasco (última vez foi em 2000)&lt;br /&gt;Primeiro time a eliminar alguém : Santos (em 1959)&lt;br /&gt;Último time a eliminar alguém : Palmeiras (em 2008)&lt;br /&gt;&lt;br /&gt;Dados rais, que podem ser pesquisados em qualquer site sobre a historia do futebol.&lt;br /&gt;&lt;br /&gt;Agora a flauta (sadia é claro, sem ofensas):&lt;br /&gt;Será que o Inter só nasceu mesmo em 2006 como dizem alguns Gremistas sem noção?&lt;br /&gt;Cadê o time "copero y peleador"? Pelos números só pode ser o Inter!&lt;br /&gt;O Inter destrói todo o resto da elite, menos o Flamengo para quem ele perde por 3x0 ( mas ainda dá tempo, hehehe).&lt;br /&gt;O Grêmio foi o time que mais jogou mata-mata, ou seja poderia liderar a lista, mas também foi o que mais perdeu(!), ou seja com pior aproveitamento.&lt;br /&gt;Sobre o Vasco, ele toma uma surra de todos, menos do SPFC. É o Inter ao contrário.&lt;br /&gt;&lt;br /&gt;Gaúcho é foda! Mesmo com o Grêmio sendo o time com pior aproveitamento, ainda assim sem o espaço na mídia, com todas a robalheiras, e etc., os Gaúchos lideram! Dá-lhe gauderiada!&lt;br /&gt;&lt;br /&gt;Emfim só queria compartilhar com vcs. Pq sei que vcs também gostam desse assunto.&lt;br /&gt;PS.: Lista escrita por um historiador santista, com colaboração de vários torcedores na comunidade ELite BR - Futebol Brasileiro.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-163326217620218629?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/163326217620218629/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/12/estatisticas-do-futebol-d-lhe-inter.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/163326217620218629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/163326217620218629'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/12/estatisticas-do-futebol-d-lhe-inter.html' title='Estatisticas do Futebol (dá-lhe INTER!!)'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-3353185715897953343</id><published>2008-11-14T03:24:00.002-02:00</published><updated>2008-11-14T03:26:24.314-02:00</updated><title type='text'>A assustadora historia das coisas</title><content type='html'>Não preciso dizer nada, esse vídeo diz tudo. Infelizmente.&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lgmTfPzLl4E&amp;amp;hl=pt-br&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/lgmTfPzLl4E&amp;amp;hl=pt-br&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-3353185715897953343?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/3353185715897953343/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/assustadora-historia-das-coisas.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3353185715897953343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3353185715897953343'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/assustadora-historia-das-coisas.html' title='A assustadora historia das coisas'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-2490895438108908721</id><published>2008-11-11T10:35:00.007-02:00</published><updated>2008-11-17T17:21:56.835-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPonTrax'/><category scheme='http://www.blogger.com/atom/ns#' term='Debian'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Instalando o PHPonTrax facilmente no Debian e derivados</title><content type='html'>&lt;div style="text-align: justify;"&gt;    Fazendo uma pesquisa pra empresa esses tempos, sobre frameworks, achei varios interessantes. Mas um em especial me chamou a atenção, o PHPonTrax. Tá muita gente pode falar que é apenas um clone de Ruby on Rails e tal, mas ele é muito útil.&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Primeiro : porque ele realmente é fiel ao Rails, desde os nomes de classes e métodos, até toda a estrutura e documentação!&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Segundo: Me deparando com isso, e com o relativo crescimento de Ruby on Rails, uni o útil ao agradável. Utilizando um framework poderoso, Orientado a Objeto, MVC, Ajax, Scriptaculous, etc. E também aprender rails enquanto ultilizo o framework na linguagem que domino (PHP).&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;     Quando me deparei com essa possibilidade, já comecei a estudar e a trabalhar "em cima" do framework e com ele. Sim existe outros frameworks como o Cake por exemplo, que tambem é MVC,OO etc. Mas NENHUM é tão fiel ao Rails quanto o Trax. Por isso possibilita a familiarização com o rails e logo ganhando conhecimento em mais uma tecnologia.&lt;br /&gt; Claro que o Ruby é uma linguagem totalmente distinta, mas como a proposta do framework é ser fiel ao rails, tu acaba te acostumando e pensando com o framework.&lt;br /&gt; Bom já digitei muito não passei nenhum comando, pois bem vamos lá:&lt;br /&gt;Assumirei que você tem o o Apache , PHP e o Mysql Instalados. Eu uso Debian, então farei com base nele, logo os caminhos podem mudar, mas o básico pode ser entendido.&lt;br /&gt; Primeiro é necessário instalar o PEAR que pode ser facilmente instalado no Debian com o comando:&lt;br /&gt;&lt;pre class="linux"&gt;# apt-get install php-pear&lt;/pre&gt;&lt;br /&gt; Feito isso precisamos instalar as dependências do pear para o PHPonTrax:&lt;br /&gt;&lt;pre class="linux"&gt;# pear install MDB2#mysql&lt;br /&gt;# pear install Mail&lt;br /&gt;# pear install Mail_mime&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt; Feito isto, configuramos o Pear para instalar o PHPonTrax com o comando:&lt;br /&gt;&lt;pre class="linux"&gt;# pear channel-discover pear.phpontrax.com&lt;/pre&gt;&lt;br /&gt; Agora instalamos o PHPonTrax:&lt;br /&gt;&lt;pre class="linux"&gt;# pear install trax/PHPonTrax&lt;/pre&gt;     Caso você tenha a instalação padrão do php deve ter ocorrido um erro, você precisa aumentar a memória usada pelo php. Isso pode ser feito acessando o seu arquivo php.ini . Numa instalação padrão ele deve estar em '/etc/php5/apache2/'.&lt;br /&gt;Procure a linha memory_limit e aumente o valor de 16M para 256M. Repita o comando:&lt;br /&gt;&lt;pre class="linux"&gt;# pear install trax/PHPonTrax&lt;/pre&gt; e pronto.&lt;br /&gt;&lt;br /&gt; Mas ainda não estará funcional. Para isto você deve habilitar alguns mods no apache. Basicamente são os mesmos para o rails.&lt;br /&gt;&lt;pre class="linux"&gt;# a2enmod ssl&lt;br /&gt;# a2enmod rewrite&lt;br /&gt;# a2enmod suexec&lt;br /&gt;# a2enmod include&lt;/pre&gt;        Agora sim  podemos começar a diversão.&lt;br /&gt;&lt;/div&gt;    Criemos um diretorio em /var/www chamado traxapp, isso para não precisar mexer em nenhuma configuração extra no apache.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;pre class="linux"&gt; # mkdir /var/www/traxapp&lt;/pre&gt;        Trocamos a permissão:&lt;br /&gt;&lt;pre class="linux"&gt; # chmod 755 /var/www/traxapp&lt;/pre&gt;&lt;br /&gt; Em seguida entramos no diretório com e damos o comando:&lt;br /&gt;&lt;pre class="linux"&gt; /var/www/traxapp# trax .&lt;/pre&gt;&lt;/div&gt;     O trax gerou a estrutura padrão para a aplicação, mas ao acessar localhost/traxapp você esta vendo apenas a estrutura de diretórios. Para arrumar isso basta criar um link simbólico com o nome da sua aplicação para a pasta "public" que o Trax gerou. No meu caso criarei um blog então eu crio um link simbólico para a past a public em traxapp com o comando:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;pre class="linux"&gt;/var/www# ln -s traxapp/public blog&lt;/pre&gt;e pronto agora ao acessar pelo navegador com o endereço: localhost/blog deve ter uma tela como esta:&lt;br /&gt;&lt;pre class="linux"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wD8vQSSsbWM/SRkoQtr7n_I/AAAAAAAAANA/3iBoJQAB9VE/s1600-h/saudacao_trax.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 231px;" src="http://1.bp.blogspot.com/_wD8vQSSsbWM/SRkoQtr7n_I/AAAAAAAAANA/3iBoJQAB9VE/s400/saudacao_trax.png" alt="" id="BLOGGER_PHOTO_ID_5267285506793381874" border="0" /&gt;&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt; É isso, simples não é? No próximo artigo sobre o Trax farei um passo a passo da configurações de Banco de Dados para o Trax, bem como configura-lo num servidor externo.&lt;br /&gt;&lt;br /&gt;T+!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-2490895438108908721?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/2490895438108908721/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/instalando-o-phpontrax-facilmente-no.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/2490895438108908721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/2490895438108908721'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/instalando-o-phpontrax-facilmente-no.html' title='Instalando o PHPonTrax facilmente no Debian e derivados'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_wD8vQSSsbWM/SRkoQtr7n_I/AAAAAAAAANA/3iBoJQAB9VE/s72-c/saudacao_trax.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-5959553844285450498</id><published>2008-11-11T10:00:00.002-02:00</published><updated>2008-11-11T10:00:01.222-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='metodologias'/><category scheme='http://www.blogger.com/atom/ns#' term='palestras'/><title type='text'>Machuque o código! E só o codigo</title><content type='html'>Esses dias estava procurando na net algo sobre processos de desenvolvimento e eis que surge o link para um vídeo de Ryan Davis que o Fábio Akita brilhantemente traduziu. Esse vídeo deveria ser "obrigatório"(!) para todos os desenvolvedores, não somente os "Rubistas" mas sim os desenvolvedores em geral, muito bom.&lt;br /&gt;Te dá uma perspectiva de como é chegar "hoje" em uma empresa, te ajuda a repensar alguns conceitos e etc...&lt;br /&gt;&lt;br /&gt;Mas vou parar de escrever e repassar o vídeo:&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="302"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1171415&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=1171415&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/1171415"&gt;Machucando Código por Diversão e Lucro - Ryan Davis&lt;/a&gt; from &lt;a href="http://vimeo.com/akitaonrails"&gt;Fabio Akita&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;espero que seja útil a todos!&lt;br /&gt;Fui!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-5959553844285450498?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/5959553844285450498/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/machuque-o-cdigo-e-s-o-codigo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/5959553844285450498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/5959553844285450498'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/machuque-o-cdigo-e-s-o-codigo.html' title='Machuque o código! E só o codigo'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-9009482532418605993</id><published>2008-11-11T00:19:00.004-02:00</published><updated>2008-11-12T16:02:53.346-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='e-book'/><category scheme='http://www.blogger.com/atom/ns#' term='livros'/><category scheme='http://www.blogger.com/atom/ns#' term='programação'/><title type='text'>Dica: aprenda a programar</title><content type='html'>Essse é o melhor "livro" que se pode ter. Pra quem quer algo novo, um "mega" tutorial de ruby e rails, muito bom e explicativo. Ótimo trabalho do rubyonrails.pro.br.&lt;br /&gt;&lt;br /&gt;fica a dica e link &lt;a href="http://aprendaaprogramar.rubyonrails.pro.br/"&gt;http://aprendaaprogramar.rubyonrails.pro.br/&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align: left;"&gt;Recomendo também o Livro :&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.americanas.com.br/produtos/item/592/2/592217g.gif"&gt;&lt;img style="cursor: pointer; width: 153px; height: 193px;" src="http://images.americanas.com.br/produtos/item/592/2/592217g.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Pra quem vem do PHP, como eu, é um excelente começo ler este livro. Aconselho também a estudar o framework PHPonTrax.&lt;br /&gt;Até mais e bom estudo.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-9009482532418605993?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/9009482532418605993/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/dica-aprenda-programar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/9009482532418605993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/9009482532418605993'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/dica-aprenda-programar.html' title='Dica: aprenda a programar'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-2177195039867652036</id><published>2008-11-10T12:00:00.001-02:00</published><updated>2008-11-11T00:31:03.374-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='editor html'/><category scheme='http://www.blogger.com/atom/ns#' term='integração js PHP'/><title type='text'>FCK Editor</title><content type='html'>UTILIDADE:&lt;br /&gt;&lt;br /&gt;FCKeditor é um editor de texto HTML rico em ferramentas de formatação. Suas ferramentas são equivalentes às do MS Office. Uma demonstração pode ser vista neste &lt;a href="http://www.fckeditor.net/demo"&gt;link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;INSTALAÇÃO:&lt;br /&gt;Baixe o pacote &lt;a href="http://sourceforge.net/project/downloading.php?group_id=75348&amp;amp;filename=FCKeditor_2.6.3.tar.gz"&gt;.tar.gz&lt;/a&gt; ou o &lt;a href="http://sourceforge.net/project/downloading.php?group_id=75348&amp;amp;filename=FCKeditor_2.6.3.zip"&gt;.zip&lt;/a&gt; e coloque na raiz do seu projeto.&lt;br /&gt;&lt;pre class="codigo"&gt;&amp;lt;?php&lt;br /&gt;//Inclue as funções necessárias&lt;br /&gt;include "fckeditor/fckeditor.php";&lt;br /&gt;//Defina normalmente o formulário. Neste exemplo é enviado por AJAX&lt;br /&gt;?&amp;gt;&lt;br /&gt;&amp;lt;form onsubmit="cadastroexterno('','form','recebe.php','resposta');&lt;br /&gt;return false;" method="post" id="form" name="form"&amp;gt;&lt;br /&gt;   &amp;lt;?php&lt;br /&gt;   //Cria um nova instância do FCKeditor&lt;br /&gt;   $oFCKeditor = new FCKeditor('idDoTextarea') ;&lt;br /&gt;   //Informar o endereço da pasta do FCKeditor&lt;br /&gt;   $oFCKeditor-&amp;gt;BasePath    = "../fckeditor/";&lt;br /&gt;   //Caso seja necessário, criar um arquivo de configurações&lt;br /&gt;   //personalizadas e infomar sua localização aqui&lt;br /&gt;   $oFCKeditor-&amp;gt;Config['CustomConfigurationsPath'] = '../myconfig.js';&lt;br /&gt;   //Informa o nome das configurações da barra de ferramentas&lt;br /&gt;   $oFCKeditor-&amp;gt;ToolbarSet = "Basic2";&lt;br /&gt;   //Define o tamanho vertical do editor&lt;br /&gt;   $oFCKeditor-&amp;gt;Height = 300;&lt;br /&gt;   //Define o tamanho horizontal do editor&lt;br /&gt;   $oFCKeditor-&amp;gt;Height = 400;&lt;br /&gt;   //Define o texto inicial do editor&lt;br /&gt;   $oFCKeditor-&amp;gt;Value = 'Texto inicial.';&lt;br /&gt;   //Cria o editor&lt;br /&gt;   $oFCKeditor-&amp;gt;Create() ;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;O arquivo de configurações personalizadas possue as configurações da&lt;br /&gt;barra de botões. Exemplo:&lt;br /&gt;&lt;br /&gt;&lt;pre class="codigo"&gt;&lt;br /&gt;FCKConfig.AutoDetectLanguage = false;&lt;br /&gt;FCKConfig.DefaultLanguage = "pt-br";&lt;br /&gt;FCKConfig.ToolbarSets["Basic2"] = [&lt;br /&gt;   ['Bold','Italic','Underline','-',&lt;br /&gt;'StrikeThrough','Subscript','Superscript',&lt;br /&gt;'JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],&lt;br /&gt;   ['Link','Unlink','Anchor'],&lt;br /&gt;   ['Image','Table'],&lt;br /&gt;   ['Undo','Redo','PasteWord'],&lt;br /&gt;   '/',&lt;br /&gt;   ['FontFormat','FontName','FontSize','TextColor'],&lt;br /&gt;] ;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Nesse arquivo é definido a linguagem da descrição dos botões e&lt;br /&gt;a definição dos botões que aparecerão na barra.&lt;br /&gt;Os botões podem ser:&lt;br /&gt;&lt;br /&gt;['item1',...,'itemN'] define um grupo de botões&lt;br /&gt;'-' mostra um pipe ('|')&lt;br /&gt;'/' define uma quebra de linha&lt;br /&gt;Todos os botões possíveis podem ser definidos assim :&lt;br /&gt;&lt;pre class="codigo"&gt;&lt;br /&gt;FCKConfig.ToolbarSets["Default"] = [&lt;br /&gt;['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],&lt;br /&gt;['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],&lt;br /&gt;['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],&lt;br /&gt;['Form','Checkbox','Radio','TextField','Textarea','Select',&lt;br /&gt;'Button','ImageButton','HiddenField'],&lt;br /&gt;'/',&lt;br /&gt;['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],&lt;br /&gt;['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],&lt;br /&gt;['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],&lt;br /&gt;['Link','Unlink','Anchor'],&lt;br /&gt;['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],&lt;br /&gt;'/',&lt;br /&gt;['Style','FontFormat','FontName','FontSize'],&lt;br /&gt;['TextColor','BGColor'],&lt;br /&gt;['FitWindow','ShowBlocks','-','About'] // No comma for the last row.&lt;br /&gt;] ;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Antes de enviar o formulário por AJAX, é necessário atualizar os dados&lt;br /&gt;&lt;pre class="codigo"&gt;?&amp;gt;&amp;lt;input type="submit" value="Submit"&lt;br /&gt;onclick="FCKeditorAPI.Instances.idDoTextarea.UpdateLinkedField();" /&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-2177195039867652036?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/2177195039867652036/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/fck-editor.html#comment-form' title='5 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/2177195039867652036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/2177195039867652036'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/fck-editor.html' title='FCK Editor'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-6628132479854624933</id><published>2008-11-05T14:43:00.003-02:00</published><updated>2008-11-05T14:59:23.096-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='libs'/><category scheme='http://www.blogger.com/atom/ns#' term='integração js PHP'/><title type='text'>Funções PHP disponíveis para o js?</title><content type='html'>Quem nunca pensou algo do tipo:&lt;br /&gt;"bah se fosse em php era só aplicar a função 'X' que resolveria!" ou&lt;br /&gt;"Como faço isso em javascript???". Me peguei nesses pensamentos durante um projeto que estou fazendo e depois de algum tempo fuçando na net descobri uma lib MUITO mão na roda, a '&lt;a href="http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_nl2br/"&gt;PHP.js&lt;/a&gt;'.&lt;br /&gt;  Nessa lib tem praticamente todas as funções que o PHP traz por padrão(!) , sem as libs externas&lt;br /&gt;como a gd, mail e drivers de BD, claro, mas tem muita função como html_entites, md5, utf8_decode e muitas outras. Vale a pena.&lt;br /&gt;  E tem mais, caso precise de uma função específica, não precisa fazer o download da lib inteira (como algumas libs por aí...), mas sim acessar o site e procurar na lista de funções implementadas. Caso a função dependa de outra, estará escrito a função e tem o link para o código da mesma.&lt;br /&gt;Muito bom. Por isso fica a dica.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-6628132479854624933?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/6628132479854624933/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/quem-nunca-pensou-algo-do-tipo-bah-se.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6628132479854624933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/6628132479854624933'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/quem-nunca-pensou-algo-do-tipo-bah-se.html' title='Funções PHP disponíveis para o js?'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-3665353849560338323</id><published>2008-11-05T02:30:00.006-02:00</published><updated>2008-11-06T09:59:52.826-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='modal'/><category scheme='http://www.blogger.com/atom/ns#' term='libs'/><category scheme='http://www.blogger.com/atom/ns#' term='albuns'/><title type='text'>lightbox</title><content type='html'>Este tutorial tem base no próprio &lt;a href="http://www.huddletogether.com/projects/lightbox2/"&gt;site&lt;/a&gt; do criador do Lightbox JS é praticamente uma tradução do seu conteúdo para ajudar quem não se dá muito bem com inglês.&lt;br /&gt;&lt;h2&gt;Benefícios:&lt;/h2&gt;&lt;br /&gt;   Sobrepõe imagens à página corrente e não dentro da página. Isto faz com que as imagens não sejam limitadas por um layout. Exemplo é uma imagem que sai fora do layout por ter uma largura maior.&lt;br /&gt;&lt;br /&gt;Mantém os utilizadores na mesma página em vez de os levar para outra para terem de ver a imagem em ponto maior. Clicam para visualizar a imagem e clicam de novo para a fechar em vez de terem de voltar á página ou carregar no botão return.&lt;br /&gt;Como utilizar:&lt;br /&gt;&lt;br /&gt;   1. Baixe o &lt;a href="http://www.huddletogether.com/projects/lightbox2/releases/lightbox2.04.zip"&gt;pacote&lt;/a&gt; e inclua os scripts no head da página.&lt;br /&gt;&lt;pre class="codigo"&gt;&amp;lt;!-- Código que cria o efeito Lightbox --&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="lightbox/prototype.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="lightbox/scriptaculous.js?load=effects,builder"&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="lightbox/lightbox.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" href="lightbox/lightbox.css" type="text/css" media="screen" /&amp;gt;&lt;br /&gt;&amp;lt;!-- Fim do código Lightbox --&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;   &lt;br /&gt;   2. Adicionar o atributo rel=”lightbox” a qualquer link para activar a lightbox nesse link. Por exemplo:&lt;br /&gt;&lt;pre class="codigo"&gt;&amp;lt;a href="imagem.jpg" rel="lightbox" title="minha legenda"&amp;gt;image #1&amp;lt;/a&amp;gt;&lt;/pre&gt;&lt;br /&gt;    &lt;br /&gt;   3.Para criar albuns basta colocar o rel como um "array":&lt;br /&gt;&lt;pre class="codigo"&gt;&amp;lt;a href="images/image-1.jpg" rel="lightbox[1]"&amp;gt;image #1&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;a href="images/image-2.jpg" rel="lightbox[2]"&amp;gt;image #2&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;a href="images/image-3.jpg" rel="lightbox[3]"&amp;gt;image #3&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Agora vem a parte divertida&lt;br /&gt;Como personalizar&lt;br /&gt;&lt;br /&gt;Utilizando-se o CSS é possivel personalizar o layout do Lightbox.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-3665353849560338323?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/3665353849560338323/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/lightbox.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3665353849560338323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3665353849560338323'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/lightbox.html' title='lightbox'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-3550938212183153815</id><published>2008-11-04T23:46:00.012-02:00</published><updated>2008-11-05T14:42:54.248-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='frameworks'/><category scheme='http://www.blogger.com/atom/ns#' term='libs'/><title type='text'>nyroModal</title><content type='html'>Com nyroModal é possível abrir janelas (divs) modais. Essas janelas podem trazer imagens, páginas locais ou remotas, resposta de formulários, galerias de imagens.&lt;br /&gt;&lt;br /&gt;INSTALAÇÃO:&lt;br /&gt;Depois de fazer o download dos fontes do projeto &lt;a href="http://nyromodal.googlecode.com/files/nyroModal-1.3.0.zip"&gt;link para o pacote .zip&lt;/a&gt; podemos começar instalação.&lt;br /&gt;Inicialmente, devemos incluir os arquivos de scripts do jQuery e do nyroModal:&lt;br /&gt;&lt;pre class="codigo"&gt;&amp;lt;script type="text/javascript" src="nyroModal-1.2.5/js/jquery-1.2.6.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="nyroModal-1.2.5/js/jquery.nyroModal-1.2.5.js"&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Para abrir uma página/imagem em nyroMoldal como resultado de um link ou do envio de um formulário, simplesmente adicione a classe 'nyroModal' à tag. Exemplo:&lt;br /&gt;&lt;pre class="codigo"&gt;&amp;lt;a href="#" class="nyroModal"&amp;gt;&lt;br /&gt;&amp;lt;form class="nyroModal" action="arquivo.php" method="post"&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Para galerias de imagens, devemos adicionar um atributo 'rel' com um mesmo nome como valor à todos os links com 'class="nyroModal"'. O atributo title Exemplo:&lt;br /&gt;&lt;pre class="codigo"&gt;&amp;lt;a href="img1.jpg" class="nyroModal" rel="gal" title="Title 1"&amp;gt;Img 1&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;a href="img2.jpg" class="nyroModal" rel="gal" title="Title 2"&amp;gt;Img 2&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;a href="img3.jpg" class="nyroModal" rel="gal" title="Title 3"&amp;gt;Img 3&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Para que a janela não seja fechada quando for clicado fora da janela (clicar na parte escura da tela), devemos incluir 'rel="modal"' dentro da tag com a classe 'nyroModal'.&lt;br /&gt;&lt;br /&gt;Também é possível abrir um nyroModal através de outro já aberto, utilizando a mesma regra citada acima. Fazendo isso o nyroModal é sobreescrito.&lt;br /&gt;&lt;br /&gt;Dentro de um nyroModal é possível ter um botão para fecha-lo adicionando a classe 'nyroModalClose' à um botão ou à um link. Exemplos:&lt;br /&gt;&lt;pre class="codigo"&gt;&amp;lt;a href="#" class="nyroModalClose"&amp;gt;&lt;br /&gt;&amp;lt;input type="button" class="nyroModalClose" value="Cancelar" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Para atribuir o nyroModal em um trecho da página atualizado dinamicamente, é necessário chamar a seguinte função do framework:&lt;br /&gt;&lt;pre class="codigo"&gt;$('#tudo a').nyroModal();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Nesse exemplo ele ativa o nyroModal em todas as tags 'a' dentro do container com 'id="tudo"' e que possuam 'class="nyroModal"'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-3550938212183153815?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/3550938212183153815/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/nyromodal.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3550938212183153815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3550938212183153815'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/nyromodal.html' title='nyroModal'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-3810694045187552716</id><published>2008-11-04T04:36:00.008-02:00</published><updated>2008-11-05T15:06:42.674-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Stored Procedures'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>STORED PROCEDURES</title><content type='html'>O conceito de STORED PROCEDURES é:  " são programas armazenados no servidor, pré-compilados, chamados de forma explícita para executar alguma lógica de manipulação de dados, podendo retornar ou não algum valor".&lt;br /&gt;&lt;br /&gt;Inicialmente é preciso saber onde ficam armazenadas as procedures no mysql.  Quando tu crias uma procedure / function elas ficam armazenadas na tabela Routines. Para listar o conteudo desta tabela e admnistrar suas procedures / functions basta executar o SQL :&lt;br /&gt;&lt;pre class="sql"&gt;mysql&gt; SELECT * FROM INFORMATTION_SCHEMA.ROUTINES;&lt;/pre&gt;Perceba que listamos todos os procedimentos armazenados (Stored Procedure e Functions), de todos os bancos de dados. Saliento que estamos listando somente Stored Procedure e Functions, pois, somente estas rotinas são gravadas na tabela ROUTINES do bancos de dados INFORMATION_SCHEMA. Triggers também são um tipo de procedimento armazenado, mas estão separadas em outra tabela do dicionário, chamada TRIGGERS.&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql"&gt;mysql&gt; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS;&lt;/pre&gt;Sabendo disso, agora podemos explorar a sistaxe mais básica do comando:&lt;br /&gt;&lt;br /&gt;CREATE PROCEDURE proc_name([parameters, ...])&lt;br /&gt;[characteristics]&lt;br /&gt;[BEGIN]&lt;br /&gt; corpo_da_rotina;&lt;br /&gt;[END]&lt;br /&gt;&lt;br /&gt;Explicando:&lt;br /&gt;&lt;br /&gt;proc_name: seu procedimento armazenado deve ter um nome, para quando for chamado, podermos então usá-lo;&lt;br /&gt;tipo_param: existem 3 tipos de parâmetros em uma Stored Procedure no MySQL:&lt;br /&gt;* IN =&gt; este é um parâmetro de entrada, ou seja, um parâmetro cujo seu valor será utilizado no interior do procedimento para produzir algum resultado;&lt;br /&gt;* OUT =&gt; esté parâmetro retorna algo de dentro do procedimento para o lado externo, colocando os valores manipulados disponíveis na memória ou no conjunto de resultados;&lt;br /&gt;* INOUT =&gt; faz os dois trabalhos ao mesmo tempo!&lt;br /&gt;parameters: nessa parte do procedimento, informaremos os parâmetros da seguinte forma: [IN | OUT | INOUT] nome_parametro tipo_dado.&lt;br /&gt;characteristics: as características do procedimento pode apresentar. Como não utilizaremos inicialmente tais características, vamos nos ater a sintaxe principal. Questões de segurança, se é determinística ou não, qual a linguagem que estamos utilizando e se nosso procedimento modificará dados na banco de dados, são algumas das características que poderemos definir neste item que abordaremos com mais detalhe na parte dois do artigo.&lt;br /&gt;corpo_da_rotina: onde são definidos os comandos SQL que farão alguma manipulação e/ou defenderão alguma lógica, podendo retornar ou não algum resultado.&lt;br /&gt;&lt;br /&gt;Um primeiro exemplo:&lt;br /&gt;&lt;br /&gt;Bem basicão mesmo:&lt;br /&gt;&lt;pre class="sql"&gt;Delimiter //&lt;br /&gt;Drop Procedure if exists ola //&lt;br /&gt;Create Procedure ola()&lt;br /&gt;Begin&lt;br /&gt;  Select 'Olá! Isto é uma procedure'  as result;&lt;br /&gt;End //&lt;br /&gt;Delimiter ;&lt;br /&gt;&lt;/pre&gt;Explicando a sintaxe:&lt;br /&gt;&lt;br /&gt;O uso do Delimiter é necessario para mudar o delimitador de comandos, que por padrão é o ";". Mudamos o DELIMITADOR para podermos usar o ";" no meio do procedimento. Caso não efetuemos essa troca, o procedimento será enviado pela metade e um erro será enviado ao terminal, por erro na sintaxe.&lt;br /&gt;&lt;br /&gt;DELIMITADOR no MySQL, em outras situações, por padrão também é chamado de terminador. Para verificar qual é o delimitador da sessão corrente emita o comando \s, que é a forma curta do comando STATUS.&lt;br /&gt;&lt;br /&gt;Depois eu "dropo" a procedure caso ela já exista, isso é útil pois mantém o conteudo da procedure sempre atualizado.&lt;br /&gt;&lt;br /&gt;Crio a procedure , neste momento caso miha procedure tenha parâmentros, eu os declaro como se fosse uma função;&lt;br /&gt;&lt;br /&gt;Declaro o "corpo" da procedure que fica entre o Begin e o End, no caso do exemplo ele emitirá a frase: 'Olá! Isto é uma procedure'.&lt;br /&gt;&lt;br /&gt;E é isto, para usar a procedure basta rodar o comando acima e na hora em que for ultizar chamar ela assim:&lt;br /&gt;&lt;br /&gt;call ola();&lt;br /&gt;&lt;br /&gt;Deve aparece o resultado na tela.&lt;br /&gt;Um exemplo um pouco mais complexo seria:&lt;br /&gt;&lt;pre class="sql"&gt;Delimiter $$&lt;br /&gt;Drop Procedure if exists validaEdita(idconta) $$&lt;br /&gt;Begin&lt;br /&gt;If((Select idContaReceber From EditalItem Where idContaReceber = idConta) &lt;&gt; 0)Then&lt;br /&gt;  If ((Select pago From EditalItem Where idContaReceber = idConta) = 'S') Then&lt;br /&gt;       Select 'Esta Conta já está paga no Edital!' as MSG;&lt;br /&gt;  Else&lt;br /&gt;     Update EditalItem Set pago = 'S' Where idContaReceber = idConta;  &lt;br /&gt;     Select 'Havia esta conta a receber em um edtial e seu status "pago" foi&lt;br /&gt;             alterado para "Sim".' as MSG;&lt;br /&gt;  End If;&lt;br /&gt;Else&lt;br /&gt;Select 'Esta conta não faz parte de nenhum edital!' as MSG;&lt;br /&gt;End If;&lt;br /&gt;End $$&lt;br /&gt;&lt;br /&gt;Delimiter;&lt;/pre&gt;Note que nos exemplos eu usei apenas select e Update, mas poderia usar qualquer (Insert, Delete) mas o melhor é adimnistrar esse recursos através de triggers. Em breve postarei sobre Triggers&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-3810694045187552716?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/3810694045187552716/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/stored-procedures.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3810694045187552716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/3810694045187552716'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/stored-procedures.html' title='STORED PROCEDURES'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866061207659137258.post-5072977293184988133</id><published>2008-11-04T04:14:00.001-02:00</published><updated>2008-11-05T02:24:04.494-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Select'/><title type='text'>Select condicional</title><content type='html'>Para um mehor desempenho de qualquer sistema, sempre é bom deixar o banco tomar algumas decisões e trazer os resultados formatados para o uso do php.&lt;br /&gt;&lt;br /&gt;A mais "clássica" maneira de fazer isso é usando Selects condicionais...&lt;br /&gt;&lt;br /&gt;no mysql existem duas maneiras:&lt;br /&gt;&lt;br /&gt;- Usando-o:&lt;br /&gt;&lt;br /&gt;  O mysql oferece a função if($condição , $então , $senao); mas não acho essa abordagem muito prática, (até pq só funciona com ele).&lt;br /&gt;&lt;br /&gt;- Usando o SQL:&lt;br /&gt;&lt;br /&gt; Pode-se fazer a mesma coisa usando o Padrão do SQL com a expressao Case assim:&lt;br /&gt;&lt;pre class="sql"&gt;SELECT&lt;br /&gt;   (CASE&lt;br /&gt;       WHEN  $condição   THEN  $então  ELSE $senão&lt;br /&gt;   END)&lt;br /&gt;FROM Tabela&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;mas existe um porém, caso tenha varias condições para o mesmo campo o ELSE deve ser o Utimo pois ele "encerra" o condicionamento: por exemplo&lt;br /&gt;&lt;pre class="sql"&gt;SELECT&lt;br /&gt; (CASE&lt;br /&gt;    Situacao&lt;br /&gt;    WHEN 'A' THEN 'ativo'&lt;br /&gt;    WHEN 'I' THEN 'inativo'&lt;br /&gt;    ELSE 'pendente'&lt;br /&gt; END)&lt;br /&gt;FROM Tabela&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Para cálculos o melhor é usar a outra sintaxe permitida:&lt;br /&gt;&lt;pre class="sql"&gt;SELECT&lt;br /&gt;(CASE&lt;br /&gt;   WHEN (nota &lt; 7.0) THEN 'REPROVADO' ELSE 'Aprovado'&lt;br /&gt;END) &lt;br /&gt;FROM Tabela&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;acho que é isso....&lt;br /&gt;até a proxima!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866061207659137258-5072977293184988133?l=webcomlimao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webcomlimao.blogspot.com/feeds/5072977293184988133/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/select-condicional.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/5072977293184988133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866061207659137258/posts/default/5072977293184988133'/><link rel='alternate' type='text/html' href='http://webcomlimao.blogspot.com/2008/11/select-condicional.html' title='Select condicional'/><author><name>Maiquel Leonel</name><uri>http://www.blogger.com/profile/11570872889410421202</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_wD8vQSSsbWM/SRDQpT5SQnI/AAAAAAAAAJ4/32QXVQiqM30/S220/eu_tocando.jpg'/></author><thr:total>0</thr:total></entry></feed>
