<?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-7639507592339117318</id><updated>2012-02-16T07:23:17.203-08:00</updated><category term='segurança'/><category term='Java Magazine'/><category term='rascunho'/><category term='css'/><category term='java'/><category term='Lógica'/><category term='administracao'/><category term='html'/><category term='bd'/><category term='lua'/><category term='curiosidades'/><category term='Funny'/><category term='linguagem c'/><title type='text'>luis.tavares@msn.com</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-845414308120599882</id><published>2011-12-13T03:55:00.000-08:00</published><updated>2011-12-13T04:03:38.012-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lógica'/><title type='text'>Teste sua lógica!</title><content type='html'>O teste que é apresentado a seguir é baseado no famoso teste de Einstein que circula pela internet. Através dos dados informados, devemos completar a tabela seguinte:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-EtssKrwjPeA/Tuc8znl00DI/AAAAAAAABSc/NPrFCgT-Y0Y/s1600/quadro.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="65" src="http://3.bp.blogspot.com/-EtssKrwjPeA/Tuc8znl00DI/AAAAAAAABSc/NPrFCgT-Y0Y/s400/quadro.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Informações para realizar o teste: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;a) O brasileiro não mora na segunda casa.&lt;br /&gt;&lt;br /&gt;b) Quem cria cachorros gosta de futebol.&lt;br /&gt;&lt;br /&gt;c) Há uma casa entre o jogador de tênis e a casa preta, que fica a direita.&lt;br /&gt;&lt;br /&gt;d) O homem que cria cavalos mora exatamente ao lado esquerdo do homem que cria borboletas.&lt;br /&gt;&lt;br /&gt;e) O homem que cria cachorros mora exatamente ao lado direito da casa branca.&lt;br /&gt;&lt;br /&gt;f) O espanhol mora na terceira casa.&lt;br /&gt;&lt;br /&gt;g) A cor que ainda não foi mencionada é o azul, o esporte ainda não mencionado é a sinuca e nacionalidade que não foi mencionada é a alemã.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-845414308120599882?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/845414308120599882/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=845414308120599882' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/845414308120599882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/845414308120599882'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2011/12/teste-sua-logica.html' title='Teste sua lógica!'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-EtssKrwjPeA/Tuc8znl00DI/AAAAAAAABSc/NPrFCgT-Y0Y/s72-c/quadro.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-8516355093064714171</id><published>2011-12-08T06:58:00.001-08:00</published><updated>2011-12-08T07:15:20.338-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Magazine'/><title type='text'>Artigo Dojo Toolkit na prática - Java Magazine</title><content type='html'>A revista Java Magazine deste mês (edição 98) traz um artigo que escrevi abordando o Dojo Toolkit. Este artigo demonstra como utilizar componentesdo Dojo Toolkit em uma aplicação web. No decorrer do mesmo é desenvolvido umexemplo ressaltando o uso de componentes como gráficos, grid e temas, assimcomo a validação de formulários. Tudo isso sendo analisado no contexto de umaplicativo Java que utiliza, em alguns momentos, a notação JSON para troca deinformações entre um Servlet e páginas JSP.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kziLt2OTfG8/TuDSS6PhTeI/AAAAAAAABSU/VaR2oq4qHhM/s1600/capaOnline_JAVA98.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-kziLt2OTfG8/TuDSS6PhTeI/AAAAAAAABSU/VaR2oq4qHhM/s400/capaOnline_JAVA98.JPG" width="341" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Java Magazine 98&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;Lista de artigos desta edição:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Novidades do Java 7 no NetBeans 7&lt;br /&gt;Serialização e deserialização em Java – Parte 1 &lt;br /&gt;VRaptor 3 – Parte 4 &lt;br /&gt;Seam 3: Forge, Solder e Catch &lt;br /&gt;&lt;b&gt;Dojo Toolkit na prática &lt;/b&gt;&lt;br /&gt;Padrões de projeto, aprecie com moderação &lt;br /&gt;BDD em aplicações Web &lt;br /&gt;Comunicação AJAX Cross-Domain – Parte 2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-8516355093064714171?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/8516355093064714171/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=8516355093064714171' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8516355093064714171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8516355093064714171'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2011/12/artigo-dojo-toolkit-na-pratica-java.html' title='Artigo Dojo Toolkit na prática - Java Magazine'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-kziLt2OTfG8/TuDSS6PhTeI/AAAAAAAABSU/VaR2oq4qHhM/s72-c/capaOnline_JAVA98.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-5329488585089927969</id><published>2011-11-11T02:57:00.001-08:00</published><updated>2011-11-11T02:58:37.768-08:00</updated><title type='text'>Stairway to heaven or Highway to hell</title><content type='html'>&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-BOPj8SkCSvo/Trz_g0k3njI/AAAAAAAABRs/1eTdv3LeKzU/s1600/acdc_led.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-BOPj8SkCSvo/Trz_g0k3njI/AAAAAAAABRs/1eTdv3LeKzU/s1600/acdc_led.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;\../.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-5329488585089927969?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/5329488585089927969/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=5329488585089927969' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5329488585089927969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5329488585089927969'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2011/11/stairway-to-heaven-or-highway-to-hell.html' title='Stairway to heaven or Highway to hell'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-BOPj8SkCSvo/Trz_g0k3njI/AAAAAAAABRs/1eTdv3LeKzU/s72-c/acdc_led.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-8241233361417407819</id><published>2011-10-23T06:32:00.000-07:00</published><updated>2011-10-23T06:33:04.498-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Funny'/><title type='text'>Juventude digital</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DGFAtLrKWSA/TqQXMsgWPqI/AAAAAAAABPc/SLwcBCsbm4E/s1600/juventude+digital.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-DGFAtLrKWSA/TqQXMsgWPqI/AAAAAAAABPc/SLwcBCsbm4E/s1600/juventude+digital.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-8241233361417407819?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/8241233361417407819/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=8241233361417407819' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8241233361417407819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8241233361417407819'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2011/10/juventude-digital.html' title='Juventude digital'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-DGFAtLrKWSA/TqQXMsgWPqI/AAAAAAAABPc/SLwcBCsbm4E/s72-c/juventude+digital.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-4784003431384818889</id><published>2011-10-11T09:28:00.000-07:00</published><updated>2011-10-13T04:07:35.190-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Magazine'/><title type='text'>Artigo jQuery UI - Java Magazine</title><content type='html'>A edição da Java Magazine deste mês traz um artigo que escrevi abordando o desenvolvimento de aplicações web usando os componentes da biblioteca jQuery UI. No decorrer do mesmo são desenvolvidos dois exemplos: um utilizando o componente autocomplete e outro empregando o componente dialog. O artigo é a capa da edição 96 da revista.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-xTmGQ0BFEVw/TpYj7gEIUYI/AAAAAAAABPU/Ttcx0tTrhNo/s1600/javamagazine96.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-xTmGQ0BFEVw/TpYj7gEIUYI/AAAAAAAABPU/Ttcx0tTrhNo/s400/javamagazine96.png" width="341" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Java Magazine 96&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;b&gt;Lista de artigos desta edição:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;jQuery UI na prática&lt;/b&gt;&lt;br /&gt;Além da IDE – Parte 4&lt;br /&gt;VRaptor 3 – Parte 3&lt;br /&gt;Inversão de Controle – Parte 2&lt;br /&gt;Dissecando a Java Collections&lt;br /&gt;Nem parece Web: é Vaadin!&lt;br /&gt;Acessibilidade em Java&lt;br /&gt;A importância dos Padrões de Projeto&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-4784003431384818889?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/4784003431384818889/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=4784003431384818889' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/4784003431384818889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/4784003431384818889'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2011/10/artigo-jquery-ui-java-magazine.html' title='Artigo jQuery UI - Java Magazine'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-xTmGQ0BFEVw/TpYj7gEIUYI/AAAAAAAABPU/Ttcx0tTrhNo/s72-c/javamagazine96.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-1794485344035153879</id><published>2011-09-26T11:26:00.000-07:00</published><updated>2011-09-27T04:11:48.494-07:00</updated><title type='text'>Não dá pra deixar escapar uma piada de corinthiano.. hehe</title><content type='html'>&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-OFrrtqjHshM/ToDDOTW_fYI/AAAAAAAABPI/9KmOclgJ_As/s1600/corinthiano.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-OFrrtqjHshM/ToDDOTW_fYI/AAAAAAAABPI/9KmOclgJ_As/s1600/corinthiano.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-1794485344035153879?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/1794485344035153879/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=1794485344035153879' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/1794485344035153879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/1794485344035153879'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2011/09/nao-dar-pra-deixar-escapar-uma-piada-de.html' title='Não dá pra deixar escapar uma piada de corinthiano.. hehe'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-OFrrtqjHshM/ToDDOTW_fYI/AAAAAAAABPI/9KmOclgJ_As/s72-c/corinthiano.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-7345391494085959818</id><published>2011-09-23T05:48:00.000-07:00</published><updated>2011-09-23T05:48:57.007-07:00</updated><title type='text'>Rock in Rio 2011</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VFpWkHZDn9c/TnyAA7rJIWI/AAAAAAAABPE/8KOEwJwp4ac/s1600/Rock-in-rio.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://4.bp.blogspot.com/-VFpWkHZDn9c/TnyAA7rJIWI/AAAAAAAABPE/8KOEwJwp4ac/s320/Rock-in-rio.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Para aqueles que estão na minha situação... hehe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-7345391494085959818?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/7345391494085959818/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=7345391494085959818' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/7345391494085959818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/7345391494085959818'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2011/09/rock-in-rio-2011.html' title='Rock in Rio 2011'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-VFpWkHZDn9c/TnyAA7rJIWI/AAAAAAAABPE/8KOEwJwp4ac/s72-c/Rock-in-rio.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-7006208526158116491</id><published>2011-09-16T04:13:00.000-07:00</published><updated>2011-10-11T09:34:51.270-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Magazine'/><title type='text'>Artigo Jython - Java Magazine</title><content type='html'>A edição da Java Magazine deste mês (edição 95) traz um artigo que escrevi abordando o desenvolvimento de aplicações com a tecnologia Jython, que permite a construção de aplicativos Java usando a sintaxe do Python.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-c8hIL7GF_X0/TnMvQ7axvCI/AAAAAAAABPA/y-9jlzdBcdw/s1600/JavaMagazine95.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-c8hIL7GF_X0/TnMvQ7axvCI/AAAAAAAABPA/y-9jlzdBcdw/s400/JavaMagazine95.jpg" width="342" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Lista de artigos desta edição:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Distribuição de Dados com Java&lt;br /&gt;Java 7 – Aperfeiçoando o Java&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Jython&lt;/b&gt;&lt;br /&gt;JSF com Prevayler&lt;br /&gt;Spring Security 3, JSF 2 e JPA 2&lt;br /&gt;Seam 3: complementando a lógica com Weld&lt;br /&gt;Inversão de Controle – Parte 1&lt;br /&gt;Nem parece Web: é Vaadin! – Parte 1 (Exclusivo) &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-7006208526158116491?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/7006208526158116491/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=7006208526158116491' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/7006208526158116491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/7006208526158116491'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2011/09/edicao-da-java-magazine-deste-mes.html' title='Artigo Jython - Java Magazine'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-c8hIL7GF_X0/TnMvQ7axvCI/AAAAAAAABPA/y-9jlzdBcdw/s72-c/JavaMagazine95.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-8091354857656971530</id><published>2009-04-13T09:05:00.000-07:00</published><updated>2009-04-13T09:07:28.846-07:00</updated><title type='text'>O Boato</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nSviW3x782Q/SeNjH0lB1tI/AAAAAAAAAF0/auXkCLHTYFU/s1600-h/OPoderDoBoato.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 327px;" src="http://2.bp.blogspot.com/_nSviW3x782Q/SeNjH0lB1tI/AAAAAAAAAF0/auXkCLHTYFU/s400/OPoderDoBoato.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5324208170506245842" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-8091354857656971530?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/8091354857656971530/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=8091354857656971530' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8091354857656971530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8091354857656971530'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/04/o-boato.html' title='O Boato'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nSviW3x782Q/SeNjH0lB1tI/AAAAAAAAAF0/auXkCLHTYFU/s72-c/OPoderDoBoato.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-2184927115032278870</id><published>2009-02-16T15:02:00.000-08:00</published><updated>2009-02-16T15:15:31.331-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bd'/><category scheme='http://www.blogger.com/atom/ns#' term='rascunho'/><title type='text'>Aula BD 16/02/2009 - Tutorial JDBC (rascunho)</title><content type='html'>&lt;strong&gt;Tutorial JDBC&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;import java.sql.Connection;&lt;br /&gt;import java.sql.DriverManager;&lt;br /&gt;import java.sql.ResultSet;&lt;br /&gt;import java.sql.SQLException;&lt;br /&gt;import java.sql.Statement;&lt;br /&gt;&lt;br /&gt;public class TutorialJDBC {&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;Connection conn = null;&lt;br /&gt;try {&lt;br /&gt;Class.forName("org.postgresql.Driver");&lt;br /&gt;conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/jdbc", "postgres", "database");&lt;br /&gt;Statement st = conn.createStatement();&lt;br /&gt;// String sql = "INSERT INTO aluno (id, nome) values (2, 'luis')";&lt;br /&gt;// st.executeUpdate(sql);&lt;br /&gt;String sql = "SELECT * FROM aluno";&lt;br /&gt;ResultSet resultSet = st.executeQuery(sql);&lt;br /&gt;while (resultSet.next()){&lt;br /&gt;System.out.println("Id: " + resultSet.getInt("id"));&lt;br /&gt;System.out.println("Nome: " + resultSet.getString("nome"));&lt;br /&gt;}&lt;br /&gt;st.close();&lt;br /&gt;System.out.println("Tudo certo!");&lt;br /&gt;} catch (ClassNotFoundException e) {&lt;br /&gt;// TODO Auto-generated catch block&lt;br /&gt;e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;catch (SQLException e) {&lt;br /&gt;// TODO Auto-generated catch block&lt;br /&gt;e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;finally {&lt;br /&gt;if (conn != null) {&lt;br /&gt;try {&lt;br /&gt;conn.close();&lt;br /&gt;}&lt;br /&gt;catch (SQLException e) {&lt;br /&gt;// TODO Auto-generated catch block&lt;br /&gt;e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-2184927115032278870?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/2184927115032278870/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=2184927115032278870' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2184927115032278870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2184927115032278870'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/02/aula-bd-16022009-tutorial-jdbc-rascunho.html' title='Aula BD 16/02/2009 - Tutorial JDBC (rascunho)'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-7596198391802079766</id><published>2009-02-10T13:29:00.000-08:00</published><updated>2009-02-10T13:45:17.398-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rascunho'/><title type='text'>Aula BD 10/02/2009 (rascunho)</title><content type='html'>&lt;span style="font-weight: bold;"&gt;NORMALIZAÇÃO DE BANCO DE DADOS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--&gt; 1a Forma Normal **** Tabelas sem grupo de repetição:&lt;br /&gt; ________________________&lt;br /&gt; | Cliente&lt;br /&gt; ________________________&lt;br /&gt; | id | nome |         cidade  |&lt;br /&gt; | 1           A           Pouso Alegre&lt;br /&gt; | 2           B        Santa Rita&lt;br /&gt; | 3           C            Pouso Alegre&lt;br /&gt; | 4           D            Sta Rita&lt;br /&gt;&lt;br /&gt;PK_CLIENTE&lt;br /&gt;FK_CLIENTE_CIDADE&lt;br /&gt;&lt;br /&gt;Maneira correta:&lt;br /&gt; ________________________&lt;br /&gt; | Cliente&lt;br /&gt; ________________________&lt;br /&gt; | id | nome | id_cidade                   |&lt;br /&gt; | 1        A               1&lt;br /&gt; | 2         B                2&lt;br /&gt; | 3         C                  1&lt;br /&gt; | 4         D                2&lt;br /&gt; ________________________|&lt;br /&gt; __________________________________&lt;br /&gt; | Cidade&lt;br /&gt; __________________________________&lt;br /&gt; | id | nome                                 | id_estado               |&lt;br /&gt; | 1         Pouso Alegre                        2&lt;br /&gt; | 2        Santa Rita do Sapucaí         2  &lt;br /&gt; __________________________________|  &lt;br /&gt;&lt;br /&gt; ________________________&lt;br /&gt; | Estado&lt;br /&gt; ________________________&lt;br /&gt; | id | nome                                         |&lt;br /&gt; | 1         SP&lt;br /&gt; | 2         MG&lt;br /&gt; | 3         RJ&lt;br /&gt; ________________________|&lt;br /&gt;&lt;br /&gt;CONSTRAINT UK_CIDADE_NOME_ESTADO&lt;br /&gt;UNIQUE KEY (NOME, ID_ESTADO)&lt;br /&gt;&lt;br /&gt;--&gt; 2a Forma Normal **** Caso tenha PK composta, cada campo não PK deve depender de todas as chaves.&lt;br /&gt;&lt;br /&gt;Obs: Tabela abaixo relacionada com cliente e produto&lt;br /&gt; ________________________________&lt;br /&gt; | PEDIDO&lt;br /&gt; ________________________________&lt;br /&gt; | id_Cliente    |   id_produto   | cor | &lt;br /&gt;&lt;br /&gt;Colocar o campo cor na tabela produto, pois este campo nao depende das chaves compostas.&lt;br /&gt;&lt;br /&gt;***&lt;br /&gt;Obs: Aula Arthur, isto é apenas um rascunho de aula!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-7596198391802079766?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/7596198391802079766/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=7596198391802079766' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/7596198391802079766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/7596198391802079766'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/02/aula-bd-10022009-rascunho.html' title='Aula BD 10/02/2009 (rascunho)'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-9082528714341367881</id><published>2009-02-02T15:43:00.000-08:00</published><updated>2009-02-02T16:06:35.898-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linguagem c'/><title type='text'>Lista Encadeada Circular Em Linguagem C</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Abaixo segue link para código implementado em C de&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;uma lista encadeada circular e suas funções:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/f43c570aa"&gt;lista encadeada circular em liguagem c&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-9082528714341367881?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/9082528714341367881/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=9082528714341367881' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/9082528714341367881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/9082528714341367881'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/02/lista-encadeada-circular-em-linguagem-c.html' title='Lista Encadeada Circular Em Linguagem C'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-3922710786912852309</id><published>2009-01-31T08:18:00.000-08:00</published><updated>2009-01-31T08:24:35.283-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Controle de checkbox através de javascript</title><content type='html'>O controle do estado de um checkbox em um fomulário html pode ser feito através de javascript.&lt;br /&gt;&lt;br /&gt;A seguir deixo link para um exemplo que ilustra como se implementar este tipo de controle.&lt;br /&gt;&lt;br /&gt;o exemplo contém as seguintes funções:&lt;br /&gt;&lt;br /&gt;/* Informa se o checkbox está ou não está assinalado */&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;function&lt;/span&gt; alertaChecked(){&lt;br /&gt;    alert(document.meuFormulario.meuCheck.checked)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Mostra o valor atribuído ao checkbox */&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;function&lt;/span&gt; alertaValue(){&lt;br /&gt;    alert(document.meuFormulario.meuCheck.value)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* Permite simular um click no checkbox */&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;function&lt;/span&gt; metodoClick(){&lt;br /&gt;    document.meuFormulario.meuCheck.click()&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/f11b020b4"&gt;link para exemplo completo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-3922710786912852309?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/3922710786912852309/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=3922710786912852309' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/3922710786912852309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/3922710786912852309'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/01/controle-de-checkbox-atraves-de.html' title='Controle de checkbox através de javascript'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-8414905262244199440</id><published>2009-01-21T15:47:00.000-08:00</published><updated>2009-01-21T15:52:57.443-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Usando Frames em HTML</title><content type='html'>Exemplo com página dividida em 3 frames (top, center, bottom):&lt;br /&gt;&lt;a href="http://pastebin.com/f3a03ed89"&gt;link para conteúdo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Exemplo com página dividida em 4 frames (top, center, left, bottom):&lt;br /&gt;&lt;a href="http://pastebin.com/f297984db"&gt;link para conteúdo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-8414905262244199440?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/8414905262244199440/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=8414905262244199440' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8414905262244199440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8414905262244199440'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/01/usando-frames-em-html.html' title='Usando Frames em HTML'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-2837790021055946956</id><published>2009-01-21T15:42:00.000-08:00</published><updated>2009-01-21T15:54:36.429-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Exemplo de Formulário usando CSS</title><content type='html'>Exemplo de formulário usando css:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/f314fb4c5"&gt;link para conteúdo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-2837790021055946956?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/2837790021055946956/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=2837790021055946956' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2837790021055946956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2837790021055946956'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/01/exemplo-de-formulrio-usando-css.html' title='Exemplo de Formulário usando CSS'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-6006285246442606909</id><published>2009-01-14T04:03:00.000-08:00</published><updated>2009-01-14T04:05:28.178-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><title type='text'>Enigma Matemático</title><content type='html'>--&gt; Pede-se a uma pessoa que pense num número natural menor ou igual a 60.&lt;br /&gt;&lt;br /&gt;--&gt; Em seguida pede-se que a pessoa indique a cor das cartas onde esse número aparece.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nSviW3x782Q/SWy2kEZ-m0I/AAAAAAAAAEI/fcEes34YOjc/s1600-h/qd.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 393px;" src="http://1.bp.blogspot.com/_nSviW3x782Q/SWy2kEZ-m0I/AAAAAAAAAEI/fcEes34YOjc/s400/qd.png" alt="" id="BLOGGER_PHOTO_ID_5290804393027738434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Para descobrir o número que a pessoa pensou siga os passos abaixo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--&gt;Identifique o menor número de cada uma das cartas indicadas pela pessoa (ou seja, o número indicado no canto superior esquerdo) .&lt;br /&gt;&lt;br /&gt;--&gt;A soma resultante destes números é o número que a pessoa pensou (por exemplo, se pensou no 38, ele aparece nas seguintes cartas: vermelha (2), azul escuro (4) e roxo (32): então soma-se 2+4+32 = 38).&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="http://problemasteoremas.wordpress.com/2008/12/31/enigma-adivinha-com-numeros-cartas-cores-e-base-2"&gt;problemas | teoremas&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-6006285246442606909?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/6006285246442606909/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=6006285246442606909' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/6006285246442606909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/6006285246442606909'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/01/enigma-matemtico.html' title='Enigma Matemático'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nSviW3x782Q/SWy2kEZ-m0I/AAAAAAAAAEI/fcEes34YOjc/s72-c/qd.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-2258415166920741084</id><published>2009-01-12T07:50:00.000-08:00</published><updated>2009-01-12T08:05:58.666-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='administracao'/><title type='text'>Pesquisa: O Comportamento Organizacional Em Diferentes Estados Do País</title><content type='html'>Esta pesquisa tem por finalidade estudar o comportamento organizacional em diferentes estados do país. Um questionário foi elaborado e, através das repostas colhidas de pessoas de diferentes estados, procuramos observar alguns pontos dentro da estrutura organizacional da empresa em que essas pessoas trabalham.&lt;br /&gt;&lt;br /&gt;Entre os aspectos que procuramos abordar na pesquisa estão: liderança, cobrança, flexibilidade, relacionamento com os demais indivíduos do grupo, reuniões, etc.&lt;br /&gt;&lt;br /&gt;A seguir apresentaremos o questionário que foi utilizado na pesquisa, as respostas dadas pelos entrevistados na íntegra e depois a análise da pesquisa.&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Questionário de Pesquisa Utilizado&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esta é uma pesquisa para fins acadêmicos que procura revelar características próprias do comportamento organizacional em um estado ou região. Exponha com as suas palavras e fique livre para responder as perguntas que quiser.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cidade onde mora:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cargo que ocupa:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ramo de atividade da empresa:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1 - Como você considera seu líder: autoritário, aberto, carismático, motivador ou qualquer outra característica que possa descrevê-lo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2 - Na sua empresa, como é a cobrança pelos resultados? Como é feita a divisão das tarefas?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3 - Como são as reuniões, há uma ata? Como o assunto é exposto? São reuniões formais ou informais? Há pontualidade?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4 - Seus horários na empresa são flexíveis?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5 - Como é o relacionamento entre as pessoas que trabalham com você? È homogêneo ou há uma divisão em grupos (panelas)?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6 - Você diria que há comprometimento do funcionário para com a empresa, da empresa para com o funcionário ou ambos?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7 - O que você considera que há de melhor no lugar onde trabalha? E de pior?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Alunos do curso de Sistemas de Informação da Universidade do Vale do Sapucaí&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Abaixo seguem as respostas (na íntegra) dadas por cada um dos que responderam à pesquisa:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Bruno - João Pessoa - Paraíba&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Cargo que ocupa: &lt;span style="font-weight: bold;"&gt;Estagiário&lt;/span&gt;&lt;br /&gt;Ramo de atividade da empresa: &lt;span style="font-weight: bold;"&gt;Desenvolvimento de software&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como você considera seu líder: autoritário, aberto, carismático, motivador ou qualquer outra característica que possa descrevê-lo.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Aberto, motivador, carismático.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Na sua empresa, como é a cobrança pelos resultados? Como é feita a divisão das tarefas?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;É estipulado prazos para entregas de releases do projeto, acompanhamento constante do superior, quanto ao andamento das atividades, as tarefas são divididas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como são as reuniões, há uma ata? Como o assunto é exposto? São reuniões formais ou informais? Há pontualidade?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sim, assuntos expostos por macro temas, existem reuniões formais e informais, há pontualidade.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Seus horários na empresa são flexíveis?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sim.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Como é o relacionamento entre as pessoas que trabalham com você? È homogêneo ou há uma divisão em grupos (panelas)?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Homogêneo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Você diria que há comprometimento do funcionário para com a empresa, da empresa para com o funcionário ou ambos?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ambos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O que você considera que há de melhor no lugar onde trabalha? E de pior?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;De melhor a convivência, cobrança por partes de clientes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Johny – Belém – Pará&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Cargo que ocupa:&lt;span style="font-weight: bold;"&gt;  Projetista – Computacional&lt;br /&gt;&lt;/span&gt;Ramo de atividade da empresa:&lt;span style="font-weight: bold;"&gt;  Desenvolvimento Java, PHP, Delphi, C++ e etc...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como você considera seu líder: autoritário, aberto, carismático, motivador ou qualquer outra característica que possa descrevê-lo.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Carismático, mais muito exigente com qualidade do trabalho&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Na sua empresa, como é a cobrança pelos resultados? Como é feita a divisão das tarefas?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Divisão de tarefas, todo projeto entre-si tem cobrança ou terá alguem que faça melho que você!! Projetos são dividos em tarefas quando se existe Analista!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como são as reuniões, há uma ata? Como o assunto é exposto? São reuniões formais ou informais? Há pontualidade?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Reuniões com Atas........Cada desenvolvedor tem uma palta.&lt;br /&gt;Pontualidade sim.........toda reunião existem..&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Seus horários na empresa são flexíveis?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Relativo.....&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como é o relacionamento entre as pessoas que trabalham com você? È homogêneo ou há uma divisão em grupos (panelas)?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;homogêneo .&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Você diria que há comprometimento do funcionário para com a empresa, da empresa para com o funcionário ou ambos?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Logico..........não existem empresa sem funcionarios..........&lt;br /&gt;se não haver comprometimente entra ambas as partes.........digira que o barco    vai afundar...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;O que você considera que há de melhor no lugar onde trabalha? E de pior?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Tem muita mulher programadora...........isso e bom&lt;br /&gt;Podemos descutir ...........algo tipo "Toques femininos".&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Juliano - Foz do Iguaçu – Paraná&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Cargo que ocupa:&lt;span style="font-weight: bold;"&gt; Programador&lt;br /&gt;&lt;/span&gt;Ramo de atividade da empresa: &lt;span style="font-weight: bold;"&gt;Desenvolvimento de Energia – Itaipu Binacional&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como você considera seu líder: autoritário, aberto, carismático, motivador ou qualquer outra característica que possa descrevê-lo.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;R: Carismático&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Na sua empresa, como é a cobrança pelos resultados? Como é feita a divisão das tarefas?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;R: A divisão das tarefas é feita por equipe de desenvolvimento, composta por analistas e desenvolvedores. Os desenvolvedores recebem os casos de uso e desenvolvem de acordo com o cronograma que normalmente é bem folgado.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como são as reuniões, há uma ata? Como o assunto é exposto? São reuniões formais ou informais? Há pontualidade?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;R: Reuniões formais com horários marcados, atas e ministrante. Normalmente com membros participantes através de videoconferência a partir de Curitiba-PR e Assunção-PY.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Seus horários na empresa são flexíveis?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Não. Mas existem funcionário que trabalham dessa forma.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como é o relacionamento entre as pessoas que trabalham com você? È homogêneo ou há uma divisão em grupos (panelas)?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;R: Sempre existem as divisões, mas normalmente é uma divisão sutil, não interferindo no relacionamento geral.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Você diria que há comprometimento do funcionário para com a empresa, da empresa para com o funcionário ou ambos?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;R: Muito mais da empresa para com os funcionários. Salvo algumas exceções de funcionários mais dedicados.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;O que você considera que há de melhor no lugar onde trabalha? E de pior?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;R: De melhor: Incentivos por parte da empresa, fornecendo bom computadores, restaurantes, horários movem, dentre outros benefícios.&lt;br /&gt;De pior: Comodismo dos funcionários mais antigos.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Júnior – Gaspar – Santa Catarina&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Cargo que ocupa: &lt;span style="font-weight: bold;"&gt;Programador&lt;br /&gt;&lt;/span&gt;Ramo de atividade da empresa:&lt;span style="font-weight: bold;"&gt; Desenvolvimento de Sistemas&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como você considera seu líder: autoritário, aberto, carismático, motivador ou qualquer outra característica que possa descrevê-lo.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Aberto, carismático, motivador.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Na sua empresa, como é a cobrança pelos resultados? Como é feita a divisão das tarefas?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;São dados prazos para a entrega dos projetos.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como são as reuniões, há uma ata? Como o assunto é exposto? São reuniões formais ou informais? Há pontualidade?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Há uma ata, são reuniões informais.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Seus horários na empresa são flexíveis?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sim.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Como é o relacionamento entre as pessoas que trabalham com você? È homogêneo ou há uma divisão em grupos (panelas)?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Bem Homogêneo.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Você diria que há comprometimento do funcionário para com a empresa, da empresa para com o funcionário ou ambos?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sim.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;O que você considera que há de melhor no lugar onde trabalha? E de pior?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;O clima de amizade, aqui todos fazem por vontade própria e não pq é mandado, acho que o mais importante aqui é a liberdade de se fazer o que quer e quando quer.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lincoln – Manaus - Amazonas&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Cargo que ocupa: &lt;span style="font-weight: bold;"&gt;Técnico de Informática&lt;br /&gt;&lt;/span&gt;Ramo de atividade da empresa: &lt;span style="font-weight: bold;"&gt;Tecnologia, pesquisa e desenvolvimento&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como você considera seu líder: autoritário, aberto, carismático, motivador ou qualquer outra característica que possa descrevê-lo.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Autoritário e subordinado,  Sem opnião própria apenas ouvi o que seu chefe diz e executa de forma autoritária.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Na sua empresa, como é a cobrança pelos resultados? Como é feita a divisão das tarefas?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;De forma obrigatória, se você fez é porque é sua obrigação, e tipo a divisão é de acordo como suas conclusões se terminou um trabalho começa outro em seguida.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como são as reuniões, há uma ata? Como o assunto é exposto? São reuniões formais ou informais? Há pontualidade?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sim existe ata, mas é mera formalidade e não há pontualidade.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Seus horários na empresa são flexíveis?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Não, você entra as 08:00 e tem de sair as 18:00 sem flexibilidade&lt;br /&gt;Se chegar atrasado e descontado e se passar do horário é chamado à atenção e nada de ganhos extras.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como é o relacionamento entre as pessoas que trabalham com você? È homogêneo ou há uma divisão em grupos (panelas)?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sempre a divisões de grupos pois faz parte de toda empresa, sempre tem aqueles famosos puxa sacos que querem crescer dentro da empresa&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Você diria que há comprometimento do funcionário para com a empresa, da empresa para com o funcionário ou ambos?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sim existe, mas de forma muito grosseira onde eu faço por que ma pagam e pago por que você faz.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;O que você considera que há de melhor no lugar onde trabalha? E de pior?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sempre há pessoas com um sentimento maior onde podemos ver o mundo de uma ângulo melhor, são poucas pessoas mais existem aqueles que ti incentivam e te mostram o caminho além do que vemos no trabalho. E o pior são as pessoas que se fecham naquele mundo e acham que podem humilhar e passar por cima de tudo e de todos sem perceber que o mundo não é somente aquilo no caso os lideres mau preparados.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Simone – Jundiaí – São Paulo&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Cargo que ocupa:&lt;span style="font-weight: bold;"&gt; Analista de Sistemas e Desenvolvedor&lt;br /&gt;&lt;/span&gt;Ramo de atividade da empresa: &lt;span style="font-weight: bold;"&gt;Serviços&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como você considera seu líder: autoritário, aberto, carismático, motivador ou qualquer outra característica que possa descrevê-lo.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Numa grande empresa os líderes são muito ocupados, quase inatingíveis, é difícil para os subordinados manterem contato direto com os gerentes e líderes, por isso existem vários cargos de supervisor para diminuir a distancia e tratar de alguns assuntos com os funcionários.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Na sua empresa, como é a cobrança pelos resultados? Como é feita a divisão das tarefas?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Através dos gerentes de projetos ou coordenadores de projetos via reuniões semanais por telefone.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como são as reuniões, há uma ata? Como o assunto é exposto? São reuniões formais ou informais? Há pontualidade?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sempre há uma ata digital gravada numa base lótus notes para que todos do time tenham acesso às informações. As reuniões são sempre por telefone e em inglês, devido a participação de pessoas de outros países nas reuniões. São reuniões formais e sempre existe pontualidade&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Seus horários na empresa são flexíveis?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sim, existe inclusive a possibilidade de trabalho remoto em casa (home office)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Como é o relacionamento entre as pessoas que trabalham com você? È homogêneo ou há uma divisão em grupos (panelas)?&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Existe divisão em grupos&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;--------------------------------------------------------------&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Análise da Pesquisa&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Com as entrevistas podemos notar que o comportamento de cada organização difere de acordo com a cultura e a maneira de liderar de seus líderes. Se os líderes são mais carismáticos e motivadores os seus subordinados tem um comprometimento mais verdadeiro com a empresa, esse comprometimento com certeza colabora para um produto ou serviço de maior qualidade e conseqüentemente todas as partes lucram com isso.&lt;br /&gt;&lt;br /&gt;Cada empresa tem sua maneira de dividir suas tarefas, cobrar resultados e ministrar suas reuniões. Algumas são mais flexíveis, já outras um pouco mais rigorosas. É essa diferença que faz com que sejam competitivas.&lt;br /&gt;&lt;br /&gt;Analisando as pesquisas podemos observar que na área de desenvolvimento de software as empresas têm características muito semelhantes mesmo analisando estados bem distantes.&lt;br /&gt;É claro que cada região tem sua cultura e isso influi diretamente no clima organizacional. Mas dos aspectos abordados nesta pesquisa podemos observar muitos pontos em comum.&lt;br /&gt;&lt;br /&gt;Dentre alguns pontos que observamos estão: flexibilidade de horários, trabalho em cima de metas, líder motivador, reuniões formais e informais, atas (algumas digitais), divisões em grupos.&lt;br /&gt;Mas além do fator região há inúmeros outros fatores que influenciam no comportamento organizacional, fatores como: marca da organização, ramo de atividade, números de funcionários. Por isso não se pode analisar um único fator para medir as diferenças de comportamento.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Alunos do Curso de Sistemas de Informação da Universidade do Vale do Sapucaí&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-2258415166920741084?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/2258415166920741084/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=2258415166920741084' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2258415166920741084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2258415166920741084'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2009/01/pesquisa-o-comportamento-organizacional.html' title='Pesquisa: O Comportamento Organizacional Em Diferentes Estados Do País'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-5367078868489034533</id><published>2008-12-11T03:10:00.000-08:00</published><updated>2008-12-11T03:27:10.067-08:00</updated><title type='text'>Maratona de programação online SPOJ</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nSviW3x782Q/SUD3v1AosFI/AAAAAAAAAEA/X3mOcwf2NC4/s1600-h/spoj.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 299px;" src="http://2.bp.blogspot.com/_nSviW3x782Q/SUD3v1AosFI/AAAAAAAAAEA/X3mOcwf2NC4/s400/spoj.jpg" alt="" id="BLOGGER_PHOTO_ID_5278491164333879378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Para quem gosta de programação visite este divertido site, várias linguagens estão disponíveis.&lt;br /&gt;Há problemas em vários níveis e uma classificação geral entre os participantes do site.&lt;br /&gt;&lt;br /&gt;Link:&lt;br /&gt;&lt;a href="https://br.spoj.pl/"&gt;br.spoj.pl&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-5367078868489034533?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/5367078868489034533/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=5367078868489034533' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5367078868489034533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5367078868489034533'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/12/maratona-de-programao-online-spoj.html' title='Maratona de programação online SPOJ'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nSviW3x782Q/SUD3v1AosFI/AAAAAAAAAEA/X3mOcwf2NC4/s72-c/spoj.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-665445138035527183</id><published>2008-11-29T12:40:00.000-08:00</published><updated>2008-11-29T16:21:38.493-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Programa para Controle de Vendas e Estoque</title><content type='html'>&lt;strong&gt;Vendas&amp;amp;EstoqueDL (Freeware)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Este é um programa para controle de vendas e estoque em um estabelecimento comercial. É feito em Java e todo o código está dísponível. O programa está em desenvolvimento e novas funcionalidades estão sendo criadas. O código é facilmente adaptável à outras aplicações, para importar o código use Ecliple IDE 3.2 ou posterior.&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5274183225109609410" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 300px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_nSviW3x782Q/STGpswz7e8I/AAAAAAAAADg/OSQ8a4u4W6c/s400/VendasEstoque.PNG" border="0" /&gt;Download:&lt;br /&gt;&lt;a href="https://sourceforge.net/projects/vendasestoquedl"&gt;https://sourceforge.net/projects/vendasestoquedl&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-665445138035527183?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/665445138035527183/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=665445138035527183' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/665445138035527183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/665445138035527183'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/11/programa-controle-de-vendas-e-estoque.html' title='Programa para Controle de Vendas e Estoque'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nSviW3x782Q/STGpswz7e8I/AAAAAAAAADg/OSQ8a4u4W6c/s72-c/VendasEstoque.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-3372528655665817177</id><published>2008-11-16T15:53:00.000-08:00</published><updated>2008-11-16T16:17:55.265-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='lua'/><title type='text'>Lua Socket e Java Servlet</title><content type='html'>Aqui segue um pequeno resumo de como fazer uma comunicação entre uma rotina lua e um servlet java.&lt;br /&gt;&lt;br /&gt;Primeiramente é necessário instalar o módulo LuaSocket (isto pode ser feito por &lt;a href="http://weekpedia.blogspot.com/2008/11/instalando-luasocket-e-luasql.html"&gt;apt-get ou yum no linux&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Depois de instalado o LuaSocket faça um servlet simples, que receba alguns parâmetros do HttpRequest e devolva o retorno no HttpResponse.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Abaixo segue um código lua para os primeiros testes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;http = require("socket.http")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;local src = "?parametro1=valor1&amp;amp;parametro2=valor2"&lt;br /&gt;local url = "http://192.168.XX.XXX:8080/LuaServer/LuaServer" .. src&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;httpResponse = http.request(url)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;print()&lt;br /&gt;print("-------------------------------------")&lt;br /&gt;print("Resposta do Servlet: " .. httpResponse)&lt;br /&gt;print("-------------------------------------")&lt;br /&gt;print()&lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Aí o servlet recebe o request, recebe os paramentros, faz o&lt;br /&gt;processamento que tem de fazer e retorna o HttpResponse.&lt;br /&gt;Então o lua exibe o resultado na tela.&lt;br /&gt;&lt;br /&gt;Pronto, seu lua está conversando com seu servlet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-3372528655665817177?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/3372528655665817177/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=3372528655665817177' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/3372528655665817177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/3372528655665817177'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/11/lua-socket-e-java-servlet.html' title='Lua Socket e Java Servlet'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-138033511408113690</id><published>2008-10-29T09:42:00.001-07:00</published><updated>2011-10-14T11:39:01.254-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lua'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Base64 em Lua</title><content type='html'>--implementacao de Base64 em linguagem Lua.&lt;br /&gt;&lt;br /&gt;local bin = { }&lt;br /&gt;&lt;br /&gt;function bin.imod(a, b)&lt;br /&gt;return a - math.floor(a / b) * b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.rshift(a, b)&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;return math.floor(a / (2 ^ b))&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.lshift(a, b)&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;return math.floor(a * (2 ^ b))&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.band(a, b)&lt;br /&gt;local i, v, r, b1, b2&lt;br /&gt;&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;r = 0&lt;br /&gt;for i = 31, 0, -1 do&lt;br /&gt;v = 2 ^ i&lt;br /&gt;b1 = a &amp;gt;= v&lt;br /&gt;b2 = b &amp;gt;= v&lt;br /&gt;&lt;br /&gt;if (b1) and (b2) then&lt;br /&gt;r = r + v&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if (b1) then&lt;br /&gt;a = a - v&lt;br /&gt;end&lt;br /&gt;if (b2) then&lt;br /&gt;b = b - v&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.bor(a, b)&lt;br /&gt;local i, v, r, b1, b2&lt;br /&gt;&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;r = 0&lt;br /&gt;for i = 31, 0, -1 do&lt;br /&gt;v = 2 ^ i&lt;br /&gt;b1 = a &amp;gt;= v&lt;br /&gt;b2 = b &amp;gt;= v&lt;br /&gt;&lt;br /&gt;if (b1) or (b2) then&lt;br /&gt;r = r + v&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if (b1) then&lt;br /&gt;a = a - v&lt;br /&gt;end&lt;br /&gt;if (b2) then&lt;br /&gt;b = b - v&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.bxor(a, b)&lt;br /&gt;local i, v, r, b1, b2&lt;br /&gt;&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;r = 0&lt;br /&gt;for i = 31, 0, -1 do&lt;br /&gt;v = 2 ^ i&lt;br /&gt;b1 = a &amp;gt;= v&lt;br /&gt;b2 = b &amp;gt;= v&lt;br /&gt;&lt;br /&gt;if (b1 ~= b2) then&lt;br /&gt;r = r + v&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if (b1) then&lt;br /&gt;a = a - v&lt;br /&gt;end&lt;br /&gt;if (b2) then&lt;br /&gt;b = b - v&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.bnot(a)&lt;br /&gt;local i, v, r, b&lt;br /&gt;&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;&lt;br /&gt;r = 0   &lt;br /&gt;for i = 31, 0, -1 do&lt;br /&gt;v = 2 ^ i&lt;br /&gt;b = a &amp;gt;= v&lt;br /&gt;&lt;br /&gt;if (b) then&lt;br /&gt;a = a - v&lt;br /&gt;else&lt;br /&gt;r = r + v&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;local cb64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"&lt;br /&gt;&lt;br /&gt;b64 = {}&lt;br /&gt;&lt;br /&gt;local function istr(p)&lt;br /&gt;return string.sub(cb64, p + 1, p + 1)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function b64.encodeblock(in_tab, len)&lt;br /&gt;local s1, s2, s3, s4&lt;br /&gt;&lt;br /&gt;in_tab[0] = in_tab[1] or 0&lt;br /&gt;in_tab[1] = in_tab[2] or 0&lt;br /&gt;in_tab[2] = in_tab[3] or 0&lt;br /&gt;&lt;br /&gt;s1 = istr(bin.rshift(in_tab[0], 2))&lt;br /&gt;s2 = istr(bin.bor(bin.lshift(bin.band(in_tab[0], 3), 4), bin.rshift(bin.band(in_tab[1], 240), 4)))&lt;br /&gt;s3 = (len &amp;gt; 1 and istr(bin.bor(bin.lshift(bin.band(in_tab[1], 15), 2), bin.rshift(bin.band(in_tab[2], 192), 6))) or "=")&lt;br /&gt;s4 = (len &amp;gt; 2 and istr( bin.band(in_tab[2], 63)) or "=")&lt;br /&gt;&lt;br /&gt;return s1..s2..s3..s4&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function b64.encode(stream, stream_size)&lt;br /&gt;local encoded = ""&lt;br /&gt;local e_block&lt;br /&gt;local in_tab, len, i, s_pos&lt;br /&gt;&lt;br /&gt;s_pos = 0&lt;br /&gt;&lt;br /&gt;while stream_size &amp;gt; 0 do&lt;br /&gt;in_tab = {}&lt;br /&gt;&lt;br /&gt;len = stream_size &amp;gt;= 3 and 3 or stream_size&lt;br /&gt;&lt;br /&gt;for i = 1, len do&lt;br /&gt;in_tab[i] = stream[s_pos + i]&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;e_block = b64.encodeblock(in_tab, len)&lt;br /&gt;&lt;br /&gt;encoded = encoded .. e_block&lt;br /&gt;&lt;br /&gt;s_pos = s_pos + 3&lt;br /&gt;stream_size = stream_size - 3&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return encoded&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;local function stri(s)&lt;br /&gt;return s == "=" and -1 or (string.find(cb64, s) - 1)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function b64.decodeblock(s1, s2, s3, s4)&lt;br /&gt;local b1, b2, b3, len&lt;br /&gt;&lt;br /&gt;len = s3 == "=" and 1 or s4 == "=" and 2 or 3&lt;br /&gt;&lt;br /&gt;s3 = s3 == "=" and "A" or s3&lt;br /&gt;s4 = s4 == "=" and "A" or s4&lt;br /&gt;&lt;br /&gt;s1 = stri(s1)&lt;br /&gt;s2 = stri(s2)&lt;br /&gt;s3 = stri(s3)&lt;br /&gt;s4 = stri(s4)&lt;br /&gt;&lt;br /&gt;b1 = bin.bor(bin.lshift(s1, 2), bin.rshift(s2, 4))&lt;br /&gt;b2 = bin.bor(bin.band(bin.lshift(s2, 4), 255), bin.rshift(s3, 2))&lt;br /&gt;b3 = bin.bor(bin.band(bin.lshift(s3, 6), 240), s4)&lt;br /&gt;&lt;br /&gt;return {b1, b2, b3}, len&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function b64.decode(str_in)&lt;br /&gt;local s_len = string.len(str_in) / 4&lt;br /&gt;local out, len, i, j, t_out, s1, s2, s3, s4, t_len = {}, 0&lt;br /&gt;&lt;br /&gt;for i = 1, s_len do&lt;br /&gt;s1 = string.sub(str_in, i * 4 - 3, i * 4 - 3)&lt;br /&gt;s2 = string.sub(str_in, i * 4 - 2, i * 4 - 2)&lt;br /&gt;s3 = string.sub(str_in, i * 4 - 1, i * 4 - 1)&lt;br /&gt;s4 = string.sub(str_in, i * 4 - 0, i * 4 - 0)&lt;br /&gt;t_out, t_len = b64.decodeblock(s1, s2, s3, s4)&lt;br /&gt;&lt;br /&gt;for j = 1, t_len do&lt;br /&gt;out[i * 3 - 3 + j] = t_out[j]&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;len = len + t_len&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return out, len&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;b64_test_in = {&lt;br /&gt;48, 49, 50, 51, 52, 53, 54, 55, 56, 57&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;b64_test_enc = "MDEyMzQ1Njc4OQ=="&lt;br /&gt;&lt;br /&gt;function test_b64()&lt;br /&gt;local enc, dec, i, len&lt;br /&gt;&lt;br /&gt;enc = b64.encode(b64_test_in, 10)&lt;br /&gt;assert(enc == b64_test_enc)&lt;br /&gt;dec, len = b64.decode(enc)&lt;br /&gt;assert(len == 10)&lt;br /&gt;for i = 1, len do&lt;br /&gt;assert(b64_test_in[i] == dec[i])&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;test_b64()&lt;br /&gt;print(b64.encode(b64_test_in, 10))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-138033511408113690?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/138033511408113690/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=138033511408113690' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/138033511408113690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/138033511408113690'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/10/criptografia-base64-em-lua.html' title='Base64 em Lua'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-9020618416655986182</id><published>2008-10-29T09:13:00.000-07:00</published><updated>2011-10-14T11:38:39.233-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lua'/><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Hash MD5 em Lua</title><content type='html'>--implementacao da geração de hash md5 em linguagem Lua&lt;br /&gt;&lt;br /&gt;local bin = { }&lt;br /&gt;&lt;br /&gt;function bin.imod(a, b)&lt;br /&gt;return a - math.floor(a / b) * b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.rshift(a, b)&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;return math.floor(a / (2 ^ b))&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.lshift(a, b)&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;return math.floor(a * (2 ^ b))&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.band(a, b)&lt;br /&gt;local i, v, r, b1, b2&lt;br /&gt;&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;r = 0&lt;br /&gt;for i = 31, 0, -1 do&lt;br /&gt;v = 2 ^ i&lt;br /&gt;b1 = a &amp;gt;= v&lt;br /&gt;b2 = b &amp;gt;= v&lt;br /&gt;&lt;br /&gt;if (b1) and (b2) then&lt;br /&gt;r = r + v&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if (b1) then&lt;br /&gt;a = a - v&lt;br /&gt;end&lt;br /&gt;if (b2) then&lt;br /&gt;b = b - v&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.bor(a, b)&lt;br /&gt;local i, v, r, b1, b2&lt;br /&gt;&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;r = 0&lt;br /&gt;for i = 31, 0, -1 do&lt;br /&gt;v = 2 ^ i&lt;br /&gt;b1 = a &amp;gt;= v&lt;br /&gt;b2 = b &amp;gt;= v&lt;br /&gt;&lt;br /&gt;if (b1) or (b2) then&lt;br /&gt;r = r + v&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if (b1) then&lt;br /&gt;a = a - v&lt;br /&gt;end&lt;br /&gt;if (b2) then&lt;br /&gt;b = b - v&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.bxor(a, b)&lt;br /&gt;local i, v, r, b1, b2&lt;br /&gt;&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;if (b &amp;lt; 0) then&lt;br /&gt;b = 4294967296 + b&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;b = bin.imod(b, 4294967296)&lt;br /&gt;&lt;br /&gt;r = 0&lt;br /&gt;for i = 31, 0, -1 do&lt;br /&gt;v = 2 ^ i&lt;br /&gt;b1 = a &amp;gt;= v&lt;br /&gt;b2 = b &amp;gt;= v&lt;br /&gt;&lt;br /&gt;if (b1 ~= b2) then&lt;br /&gt;r = r + v&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;if (b1) then&lt;br /&gt;a = a - v&lt;br /&gt;end&lt;br /&gt;if (b2) then&lt;br /&gt;b = b - v&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function bin.bnot(a)&lt;br /&gt;local i, v, r, b&lt;br /&gt;&lt;br /&gt;if (a &amp;lt; 0) then&lt;br /&gt;a = 4294967296 + a&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;a = bin.imod(a, 4294967296)&lt;br /&gt;&lt;br /&gt;r = 0   &lt;br /&gt;for i = 31, 0, -1 do&lt;br /&gt;v = 2 ^ i&lt;br /&gt;b = a &amp;gt;= v&lt;br /&gt;&lt;br /&gt;if (b) then&lt;br /&gt;a = a - v&lt;br /&gt;else&lt;br /&gt;r = r + v&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;local X&lt;br /&gt;local md5={ff=tonumber('ffffffff',16),consts={}}&lt;br /&gt;&lt;br /&gt;string.gsub([[&lt;br /&gt;d76aa478 e8c7b756 242070db c1bdceee&lt;br /&gt;f57c0faf 4787c62a a8304613 fd469501&lt;br /&gt;698098d8 8b44f7af ffff5bb1 895cd7be&lt;br /&gt;6b901122 fd987193 a679438e 49b40821&lt;br /&gt;f61e2562 c040b340 265e5a51 e9b6c7aa&lt;br /&gt;d62f105d 02441453 d8a1e681 e7d3fbc8&lt;br /&gt;21e1cde6 c33707d6 f4d50d87 455a14ed&lt;br /&gt;a9e3e905 fcefa3f8 676f02d9 8d2a4c8a&lt;br /&gt;fffa3942 8771f681 6d9d6122 fde5380c&lt;br /&gt;a4beea44 4bdecfa9 f6bb4b60 bebfbc70&lt;br /&gt;289b7ec6 eaa127fa d4ef3085 04881d05&lt;br /&gt;d9d4d039 e6db99e5 1fa27cf8 c4ac5665&lt;br /&gt;f4292244 432aff97 ab9423a7 fc93a039&lt;br /&gt;655b59c3 8f0ccc92 ffeff47d 85845dd1&lt;br /&gt;6fa87e4f fe2ce6e0 a3014314 4e0811a1&lt;br /&gt;f7537e82 bd3af235 2ad7d2bb eb86d391&lt;br /&gt;67452301 efcdab89 98badcfe 10325476 ]],&lt;br /&gt;'(%w+)', function (s) table.insert(md5.consts,tonumber(s,16)) end)&lt;br /&gt;&lt;br /&gt;function md5.transform(A,B,C,D)&lt;br /&gt;local f=function (x,y,z) return bin.bor(bin.band(x,y),bin.band(-x-1,z)) end&lt;br /&gt;local g=function (x,y,z) return bin.bor(bin.band(x,z),bin.band(y,-z-1)) end&lt;br /&gt;local h=function (x,y,z) return bin.bxor(x,bin.bxor(y,z)) end&lt;br /&gt;local i=function (x,y,z) return bin.bxor(y,bin.bor(x,-z-1)) end&lt;br /&gt;local z=function (f,a,b,c,d,x,s,ac)&lt;br /&gt;a=bin.band(a+f(b,c,d)+x+ac,md5.ff)&lt;br /&gt;-- be *very* careful that left shift does not cause rounding!&lt;br /&gt;return bin.bor(bin.lshift(bin.band(a,bin.rshift(md5.ff,s)),s),bin.rshift(a,32-s))+b&lt;br /&gt;end&lt;br /&gt;local a,b,c,d=A,B,C,D&lt;br /&gt;local t=md5.consts&lt;br /&gt;&lt;br /&gt;a=z(f,a,b,c,d,X[ 0], 7,t[ 1])&lt;br /&gt;d=z(f,d,a,b,c,X[ 1],12,t[ 2])&lt;br /&gt;c=z(f,c,d,a,b,X[ 2],17,t[ 3])&lt;br /&gt;b=z(f,b,c,d,a,X[ 3],22,t[ 4])&lt;br /&gt;a=z(f,a,b,c,d,X[ 4], 7,t[ 5])&lt;br /&gt;d=z(f,d,a,b,c,X[ 5],12,t[ 6])&lt;br /&gt;c=z(f,c,d,a,b,X[ 6],17,t[ 7])&lt;br /&gt;b=z(f,b,c,d,a,X[ 7],22,t[ 8])&lt;br /&gt;a=z(f,a,b,c,d,X[ 8], 7,t[ 9])&lt;br /&gt;d=z(f,d,a,b,c,X[ 9],12,t[10])&lt;br /&gt;c=z(f,c,d,a,b,X[10],17,t[11])&lt;br /&gt;b=z(f,b,c,d,a,X[11],22,t[12])&lt;br /&gt;a=z(f,a,b,c,d,X[12], 7,t[13])&lt;br /&gt;d=z(f,d,a,b,c,X[13],12,t[14])&lt;br /&gt;c=z(f,c,d,a,b,X[14],17,t[15])&lt;br /&gt;b=z(f,b,c,d,a,X[15],22,t[16])&lt;br /&gt;&lt;br /&gt;a=z(g,a,b,c,d,X[ 1], 5,t[17])&lt;br /&gt;d=z(g,d,a,b,c,X[ 6], 9,t[18])&lt;br /&gt;c=z(g,c,d,a,b,X[11],14,t[19])&lt;br /&gt;b=z(g,b,c,d,a,X[ 0],20,t[20])&lt;br /&gt;a=z(g,a,b,c,d,X[ 5], 5,t[21])&lt;br /&gt;d=z(g,d,a,b,c,X[10], 9,t[22])&lt;br /&gt;c=z(g,c,d,a,b,X[15],14,t[23])&lt;br /&gt;b=z(g,b,c,d,a,X[ 4],20,t[24])&lt;br /&gt;a=z(g,a,b,c,d,X[ 9], 5,t[25])&lt;br /&gt;d=z(g,d,a,b,c,X[14], 9,t[26])&lt;br /&gt;c=z(g,c,d,a,b,X[ 3],14,t[27])&lt;br /&gt;b=z(g,b,c,d,a,X[ 8],20,t[28])&lt;br /&gt;a=z(g,a,b,c,d,X[13], 5,t[29])&lt;br /&gt;d=z(g,d,a,b,c,X[ 2], 9,t[30])&lt;br /&gt;c=z(g,c,d,a,b,X[ 7],14,t[31])&lt;br /&gt;b=z(g,b,c,d,a,X[12],20,t[32])&lt;br /&gt;&lt;br /&gt;a=z(h,a,b,c,d,X[ 5], 4,t[33])&lt;br /&gt;d=z(h,d,a,b,c,X[ 8],11,t[34])&lt;br /&gt;c=z(h,c,d,a,b,X[11],16,t[35])&lt;br /&gt;b=z(h,b,c,d,a,X[14],23,t[36])&lt;br /&gt;a=z(h,a,b,c,d,X[ 1], 4,t[37])&lt;br /&gt;d=z(h,d,a,b,c,X[ 4],11,t[38])&lt;br /&gt;c=z(h,c,d,a,b,X[ 7],16,t[39])&lt;br /&gt;b=z(h,b,c,d,a,X[10],23,t[40])&lt;br /&gt;a=z(h,a,b,c,d,X[13], 4,t[41])&lt;br /&gt;d=z(h,d,a,b,c,X[ 0],11,t[42])&lt;br /&gt;c=z(h,c,d,a,b,X[ 3],16,t[43])&lt;br /&gt;b=z(h,b,c,d,a,X[ 6],23,t[44])&lt;br /&gt;a=z(h,a,b,c,d,X[ 9], 4,t[45])&lt;br /&gt;d=z(h,d,a,b,c,X[12],11,t[46])&lt;br /&gt;c=z(h,c,d,a,b,X[15],16,t[47])&lt;br /&gt;b=z(h,b,c,d,a,X[ 2],23,t[48])&lt;br /&gt;&lt;br /&gt;a=z(i,a,b,c,d,X[ 0], 6,t[49])&lt;br /&gt;d=z(i,d,a,b,c,X[ 7],10,t[50])&lt;br /&gt;c=z(i,c,d,a,b,X[14],15,t[51])&lt;br /&gt;b=z(i,b,c,d,a,X[ 5],21,t[52])&lt;br /&gt;a=z(i,a,b,c,d,X[12], 6,t[53])&lt;br /&gt;d=z(i,d,a,b,c,X[ 3],10,t[54])&lt;br /&gt;c=z(i,c,d,a,b,X[10],15,t[55])&lt;br /&gt;b=z(i,b,c,d,a,X[ 1],21,t[56])&lt;br /&gt;a=z(i,a,b,c,d,X[ 8], 6,t[57])&lt;br /&gt;d=z(i,d,a,b,c,X[15],10,t[58])&lt;br /&gt;c=z(i,c,d,a,b,X[ 6],15,t[59])&lt;br /&gt;b=z(i,b,c,d,a,X[13],21,t[60])&lt;br /&gt;a=z(i,a,b,c,d,X[ 4], 6,t[61])&lt;br /&gt;d=z(i,d,a,b,c,X[11],10,t[62])&lt;br /&gt;c=z(i,c,d,a,b,X[ 2],15,t[63])&lt;br /&gt;b=z(i,b,c,d,a,X[ 9],21,t[64])&lt;br /&gt;&lt;br /&gt;return A+a,B+b,C+c,D+d&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function md5.Calc(s)&lt;br /&gt;local msgLen=string.len(s)&lt;br /&gt;local padLen=56-bin.imod(msgLen,64)&lt;br /&gt;if bin.imod(msgLen,64)&amp;gt;56 then padLen=padLen+64 end&lt;br /&gt;if padLen==0 then padLen=64 end&lt;br /&gt;s=s..string.char(128)..string.rep(string.char(0),padLen-1)&lt;br /&gt;s=s..leIstr(8*msgLen)..leIstr(0)&lt;br /&gt;assert(bin.imod(string.len(s),64)==0)&lt;br /&gt;local t=md5.consts&lt;br /&gt;local a,b,c,d=t[65],t[66],t[67],t[68]&lt;br /&gt;for i=1,string.len(s),64 do&lt;br /&gt;X=leStrCuts(string.sub(s,i,i+63),4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4)&lt;br /&gt;assert(table.getn(X)==16)&lt;br /&gt;X[0]=table.remove(X,1) -- zero based!&lt;br /&gt;a,b,c,d=md5.transform(a,b,c,d)&lt;br /&gt;end&lt;br /&gt;local swap=function (w) return beInt(leIstr(w)) end&lt;br /&gt;return string.format("%08x%08x%08x%08x",swap(a),swap(b),swap(c),swap(d))&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;-- convert little-endian 32-bit int to a 4-char string&lt;br /&gt;function leIstr(i)&lt;br /&gt;local f=function (s) return string.char(bin.band(bin.rshift(i,s),255)) end&lt;br /&gt;return f(0)..f(8)..f(16)..f(24)&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;-- convert raw string to big-endian int&lt;br /&gt;function beInt(s)&lt;br /&gt;local v=0&lt;br /&gt;for i=1,string.len(s) do v=v*256+string.byte(s,i) end&lt;br /&gt;return v&lt;br /&gt;end&lt;br /&gt;-- convert raw string to little-endian int&lt;br /&gt;function leInt(s)&lt;br /&gt;local v=0&lt;br /&gt;for i=string.len(s),1,-1 do v=v*256+string.byte(s,i) end&lt;br /&gt;return v&lt;br /&gt;end&lt;br /&gt;-- cut up a string in little-endian ints of given size&lt;br /&gt;function leStrCuts(s,...)&lt;br /&gt;local o,r=1,{}&lt;br /&gt;for i=1,table.getn(arg) do&lt;br /&gt;table.insert(r,leInt(string.sub(s,o,o+arg[i]-1)))&lt;br /&gt;o=o+arg[i]&lt;br /&gt;end&lt;br /&gt;return r&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;function md5.dochecks()&lt;br /&gt;s0='message digest'&lt;br /&gt;s1='abcdefghijklmnopqrstuvwxyz'&lt;br /&gt;s2='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'&lt;br /&gt;s3='1234567890123456789012345678901234567890'&lt;br /&gt;..'1234567890123456789012345678901234567890'&lt;br /&gt;&lt;br /&gt;assert(md5.Calc('')=='d41d8cd98f00b204e9800998ecf8427e')&lt;br /&gt;assert(md5.Calc('a')=='0cc175b9c0f1b6a831c399e269772661')&lt;br /&gt;assert(md5.Calc('abc')=='900150983cd24fb0d6963f7d28e17f72')&lt;br /&gt;assert(md5.Calc(s0)=='f96b697d7cb7938d525a2f31aaf161d0')&lt;br /&gt;assert(md5.Calc(s1)=='c3fcd3d76192e4007dfb496cca67e13b')&lt;br /&gt;assert(md5.Calc(s2)=='d174ab98d277d9f5a5611c2c9f419d9f')&lt;br /&gt;assert(md5.Calc(s3)=='57edf4a22be3c955ac49da2e2107b67a')&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;md5.dochecks()&lt;br /&gt;print(md5.Calc('abc')) --900150983cd24fb0d6963f7d28e17f72&lt;br /&gt;print(md5.Calc('luis')) --502ff82f7f1f8218dd41201fe4353687&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-9020618416655986182?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/9020618416655986182/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=9020618416655986182' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/9020618416655986182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/9020618416655986182'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/10/criptografia-md5-em-lua.html' title='Hash MD5 em Lua'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-4193315136689201761</id><published>2008-10-24T10:36:00.001-07:00</published><updated>2008-10-24T10:37:30.623-07:00</updated><title type='text'>Formatos de imagens</title><content type='html'>&lt;p&gt;Abaixo segue uma relação de&lt;span&gt;&lt;span style="font-weight: normal;font-size:100%;" &gt; informações sobre alguns &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: normal;font-size:100%;" &gt;formatos de imagens. Dos formatos apresentados abaixo o jpeg e o png talvez sejam os que apresentam as maiores vantagens, mas cada situação exige um formato que atende melhor as necessidades (tamanho, qualidade, etc).&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;JPEG&lt;/h2&gt;  &lt;p&gt;Seu nome vem do grupo que definiu o formato, &lt;i&gt;Join Photographic Experts Group&lt;/i&gt;. Normalmente este tipo de arquivo tem a extensão &lt;b&gt;jpg&lt;/b&gt;. O arquivo é comprimido e codificado com todas as cores, assim este formato é eficiente para fotografias e outras imagens que possuem muitas cores.&lt;/p&gt; &lt;p&gt;A desvantagem é que ele usa um tipo de compressão que provoca uma perda de qualidade a cada modificação do arquivo e regravação no disco. Isto é conhecido como &lt;i&gt;lossy&lt;/i&gt;. Então, não use JPEG se você pretende editar o arquivo várias vezes. Esta perda de qualidade não acontece quando você apenas copia o arquivo de um lugar para o outro, só quando há alguma modificação a nível de edição do arquivo.&lt;/p&gt; &lt;h2&gt;GIF&lt;/h2&gt; &lt;p&gt;O GIF, &lt;i&gt;Graphics Interchange Format&lt;/i&gt;, é um formato indexado. Isto significa que ele usa uma lista de cores em vez de codificar cada cor separadamente. Este formato é muito eficiente para imagens com poucas cores, como o logotipo de uma empresa com apenas cinco cores.&lt;/p&gt; &lt;p&gt;GIF pode representar no máximo 256 cores. Como 256 é igual a 2 elevado a 8, este tipo de imagem também é conhecido como &lt;i&gt;8-bit color&lt;/i&gt;. Normalemente as fotografias tem muito mais que 256 cores, assim salvar uma fotografica como GIF produzirá um arquivo com baixa qualidade. Apesar disso o arquivo GIF ficará muito maior que a versão JPEG da mesma imagem. Conclusão: não use GIF para fotos, apenas para ícones e logotipos.&lt;/p&gt; &lt;p&gt;O formato GIF oferece dois recursos úteis: transparência e animação. Com a transparência você pode criar um ícone cujo fundo é completamente transparente e isto é útil em páginas web ou em botões de interfaces gráficas. GIF não trabalha com transparência parcial; o pixel é completamente transparente ou completamente opaco.&lt;/p&gt; &lt;p&gt;O recurso da animação permite a criação de GIFs animados, que são muito usados em páginas web.&lt;/p&gt; &lt;h2&gt;PNG&lt;/h2&gt; &lt;p&gt;Pronunciado "ping", seu nome vem de &lt;i&gt;PNG's Not Gif&lt;/i&gt; (PNG não é GIF), embora hoje em dia também usem &lt;i&gt;Portable Network Graphics&lt;/i&gt; como significado da sigla. É um formato relativamente novo cuja intenção inicial era ser um substituto do GIF devido a problemas legais, normalmente de copyright do formato GIF.&lt;/p&gt; &lt;p&gt;PNG pode ser usado para imagens com muitas cores, como JPEG, ou com imagens indexadas, como GIF. Quando trabalhando com imagens com muitas cores ele não é tão eficiente quanto o JPEG; a versão PNG de uma imagem será bem maior que sua versão JPEG. Porém PNG não trabalha com &lt;i&gt;lossy&lt;/i&gt;: se você editar um arquivo PNG e salvá-lo, a qualidade será a mesma. Isto torna o formato PNG ideal para guardar imagens com muitas cores que serão editadas posteriormente.&lt;/p&gt; &lt;p&gt;Imagens PNG indexadas com poucas cores, como ícones e logotipos, são tão boas ou até melhores que as versões GIF e podem suportar mais que 256 cores. A maioria dos navegadores suportam PNG, assim é seguro usar imagens PNG em suas páginas de internet. PNG suporta transparência, inclusive transparência parcial. Assim, você pode criar áreas translúcidas. Porém, alguns navegadores não suportam a transparência PNG, neste caso suas imagens podem não ser exibidas corretamente.&lt;/p&gt; &lt;p&gt;PNG não suporta animação. Existe um formato chamado MNG que adiciona animação a uma imagem PNG mas, ainda não é suportado por nenhum navegador. Para imagens animadas, GIF ainda é a melhor opção.&lt;/p&gt; &lt;h2&gt;XCF&lt;/h2&gt; &lt;p&gt;Este é o formato do GIMP (um eficiente progama para manipulação de imagens). Quando você estiver editando uma imagem com muitas camadas (layers) e configurações, este é o formato ideal a ser usado. Arquivos XCF são muito grandes e só podem ser lidos pelo GIMP. Você pode comprimir os arquivo usando o GZIP ou o BZIP2 (&lt;i&gt;arquivo.xcf.gz&lt;/i&gt; ou &lt;i&gt;arquivo.xcf.bz2&lt;/i&gt;) e o GIMP manipulará a compressão quando ler ou gravar o arquivo.&lt;/p&gt; &lt;h2&gt;TIFF&lt;/h2&gt; &lt;p&gt;A sigla vem de &lt;i&gt;Tagged Image File Format&lt;/i&gt; e sua extensão pode ser &lt;b&gt;.tif&lt;/b&gt; ou &lt;b&gt;.tiff&lt;/b&gt;. Este é outro formato a ser usado com imagens de muitas cores. Ele também não trabalha com &lt;i&gt;lossy&lt;/i&gt;. Como o PNG, este formato não produz arquivos tão pequenos mas, pode ser usado para guardar imagens que serão editadas futuramente. Não use este tipo de arquivo em páginas web, pois muitos navegadores podem não exibir corretamente. Apesar da semelhança com o formato PNG, o formato TIFF não possui um padrão único, mas sim diferentes padrões com diferentes interpretações. Isto significa que um arquivo TIFF escrito por um programa pode não ser lido em outro. Por isso é altemente recomendado o uso de PNG em vez de TIFF.&lt;/p&gt; &lt;p&gt;Uma vantagem do TIFF é que ele manipula um maior número de cores (16 bits para cada canal de cor). Isto é importante para alguns profissionais como designers e artistas gráficos.&lt;br /&gt;&lt;/p&gt; &lt;h2&gt;RAW&lt;/h2&gt; &lt;p&gt;Não necessariamente um formato, &lt;i&gt;RAW&lt;/i&gt; é um termo que abrange todos os formatos usados por fabricantes de câmeras. O suporte a alguns destes formatos acontece através do uso de plug-ins; outros são mantidos "em segredo" pelos fabricantes. Neste último caso, sua única opção é usar algum programa para converter a imagem antes de editá-la.&lt;/p&gt; &lt;h2&gt;BMP&lt;/h2&gt; &lt;p&gt;Este é o formato de bitmap da Microsoft. Arquivos BMP são muito grandes e não apresentam nenhuma vantagem em comparação com os formatos PNG ou TIFF. Salve em BMP se realmente for necessário, como por exemplo ao criar um ícone para o Windows. Caso contrário é melhor escolher outro formato.&lt;/p&gt; &lt;h2&gt;PCD&lt;/h2&gt; &lt;p&gt;Este é o formato proprietário Photo CD da Kodac. Ele inclui muitas resoluções dentro de um arquivo e por isso os arquivos tendem a ser muito grandes. Existe plug-in para ler arquivos PCD, mas uma melhor opção é converter o arquivo PCD para outro formato.&lt;/p&gt; &lt;h2&gt;PSD&lt;/h2&gt; &lt;p&gt;Este é o formato proprietário Photoshop da Adobe. Ele salva camadas e outras informações da mesma maneira que o XCF faz no GIMP. Na verdade existem dois formatos PSD, a versão mais nova é um padrão fechado que não pode ser lido por qualquer outro programa além do próprio Photoshop.&lt;/p&gt; &lt;h2&gt;ICO&lt;/h2&gt; &lt;p&gt;Este é o formato para ícones do Windows. Ele pode conter várias resoluções num arquivo. Este formato é útil não só para ícones do Windows, mas também para criar &lt;i&gt;favicons&lt;/i&gt; para seu site web. Este tipo de ícone é aquele mostrado à esquerda do endereço do seu site na barra de endereços do navegador ou à esquerda do nome do site quando este é adicionado aos favoritos. A exibição do favicon depende do navegador. Nem todos os exibem o favicon nas duas posições.&lt;/p&gt; &lt;h2&gt;PDF e PostScript&lt;/h2&gt; &lt;p&gt;Estes são formatos gráficos vetoriais e não rasterizados (que utilizam pixels) como os outros formatos abordados até agora. Em vez de representar a imagem como uma coleção de pixels, utilizam uma imagem vetorial, que é uma coleção de instruções de desenho envolvendo pontos, linhas e curvas. Se você planeja salvar sua imagem como PostScrip ou PDF é melhor usar um programa que edite imagens vetoriais.&lt;/p&gt; &lt;h2&gt;SVG&lt;/h2&gt; &lt;p&gt;A sigla vem de &lt;i&gt;Scalable Vector Graphics&lt;/i&gt;. Este formato vem crescendo em popularidade na web.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Para manipulação de imagens recomento o GIMP (&lt;a href="http://www.google.com.br/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=2&amp;amp;url=http%3A%2F%2Fwww.gimp.org%2F&amp;amp;ei=fP8BSfGQEI-CugXKwaTtDQ&amp;amp;usg=AFQjCNHSDGuHdZTSGB1PiMFTSSn1zSDRCw&amp;amp;sig2=5NjoQelJED8Xbgy5tSFpSQ" class="l" onmousedown="return rwt(this,'','','res','2','AFQjCNHSDGuHdZTSGB1PiMFTSSn1zSDRCw','&amp;amp;sig2=5NjoQelJED8Xbgy5tSFpSQ')"&gt;&lt;em&gt;GNU Image Manipulation Program&lt;/em&gt;&lt;/a&gt;) que é um software livre, possui versões para windows e linux,  e é compátivel com vários formatos de imagens.&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.gimp.org/" class="l" onmousedown="return rwt(this,'','','res','2','AFQjCNHSDGuHdZTSGB1PiMFTSSn1zSDRCw','&amp;amp;sig2=5NjoQelJED8Xbgy5tSFpSQ')"&gt;&lt;em&gt;&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&lt;span class="m"&gt; &lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-4193315136689201761?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/4193315136689201761/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=4193315136689201761' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/4193315136689201761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/4193315136689201761'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/10/formatos-de-imagens.html' title='Formatos de imagens'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-6644168900588036982</id><published>2008-10-22T11:06:00.001-07:00</published><updated>2008-10-22T11:06:31.271-07:00</updated><title type='text'>Desafio lógico matemático</title><content type='html'>Para quem gosta de desafio lógico-matemático:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qual é o sexto número?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1, 2, 6, 42,1806, ___ ??? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Resposta: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tente resolver antes de continuar a ler esta resposta. Só para você não ver a resposta de cara, antes de resolver, o número é o quarto do conjunto de números abaixo.&lt;br /&gt;7886145, 194873, 1809, 3263442, 201349, 887145&lt;br /&gt;É a multiplicação do número anterior(1806) por ele mesmo mais 1 (1806+1).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-6644168900588036982?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/6644168900588036982/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=6644168900588036982' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/6644168900588036982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/6644168900588036982'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/10/desafio-lgico-matemtico.html' title='Desafio lógico matemático'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-5033703258409810737</id><published>2008-10-14T09:25:00.001-07:00</published><updated>2008-10-14T09:31:07.851-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Convertendo String para Date em java</title><content type='html'>Exemplo que mostra como converter uma String para Date em java:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; java.util.Date;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; java.text.DateFormat;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; java.text.ParseException;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;import&lt;/span&gt; java.text.SimpleDateFormat;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;class&lt;/span&gt; Data {&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;public static void&lt;/span&gt; main(String[] args) {&lt;br /&gt;     DateFormat fmt = &lt;span style="font-weight: bold;"&gt;new&lt;/span&gt; SimpleDateFormat("dd/MM/yyyy");&lt;br /&gt;     Date data = null;&lt;br /&gt;     &lt;span style="font-weight: bold;"&gt;try&lt;/span&gt; {&lt;br /&gt;         data = new Date(fmt.parse("05/08/1987").getTime());&lt;br /&gt;     } &lt;span style="font-weight: bold;"&gt;catch&lt;/span&gt; (ParseException e) {&lt;br /&gt;         // TODO Auto-generated catch block&lt;br /&gt;         e.printStackTrace();&lt;br /&gt;     }&lt;br /&gt;     System.out.println(data);    &lt;br /&gt; }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-5033703258409810737?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/5033703258409810737/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=5033703258409810737' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5033703258409810737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5033703258409810737'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/10/convertendo-string-para-date-em-java.html' title='Convertendo String para Date em java'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-5832223075021272946</id><published>2008-10-14T09:16:00.000-07:00</published><updated>2008-10-29T09:50:19.879-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lua'/><title type='text'>Exemplo de programa em linguagem Lua</title><content type='html'>-- Classe(tabela) Pessoa com variaveis inicializadas.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;local&lt;/span&gt; Pessoa = {nome = 'João', idade = 30, nacionalidade = 'brasileira'}&lt;br /&gt;&lt;br /&gt;-- Construtor de Pessoa.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;function&lt;/span&gt; Pessoa:new(pessoa)&lt;br /&gt;pessoa = pessoa &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt; {}&lt;br /&gt;pessoa.nome = pessoa.nome &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt; self.nome&lt;br /&gt;pessoa.idade = pessoa.idade &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt; self.idade&lt;br /&gt;pessoa.nacionalidade = pessoa.nacionalidade &lt;span style="font-weight: bold;"&gt;or&lt;/span&gt; self.nacionalidade&lt;br /&gt;setmetatable(pessoa, self)  ;  self.__index = self&lt;br /&gt;return pessoa&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-- Criando dois objetos de Pessoa usando o construtor,&lt;br /&gt;-- o primeiro sem passagem de parametro para o construtor&lt;br /&gt;-- e o segundo com passagem de parâmetros.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;local&lt;/span&gt; cliente = Pessoa:new()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;local&lt;/span&gt; fornecedor = Pessoa:new{nome = 'Luis', idade = 21}&lt;br /&gt;&lt;br /&gt;-- Criando um objeto similar mas sem usar a classe.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;local&lt;/span&gt; funcionario = {nome = 'Robert', nacionalidade = 'americana',&lt;br /&gt;idade = 42, cargo = 'gerente',&lt;br /&gt;filho = {&lt;br /&gt; {nome = 'Fernando', idade = 18, nacionalidade = 'mexicana'},&lt;br /&gt; {nome = 'Mônica', idade = 13, nacionalidade = 'japonesa'}&lt;br /&gt;}   &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-- Criando um cachorro, nao e uma pessoa mas possui&lt;br /&gt;-- alguns atributos iguais.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;local&lt;/span&gt; cachorro = {dono = 'Fernando', nome = 'Rex', idade = '5',&lt;br /&gt;nacionalidade = 'brasileira'}&lt;br /&gt;&lt;br /&gt;-- Tabela sociedade vai armazenar todas as pessoas e o cachorro. &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;local&lt;/span&gt; sociedade = {fornecedor,  funcionario, cliente, funcionario.filho[1],&lt;br /&gt; funcionario.filho[2], cachorro}&lt;br /&gt;&lt;br /&gt;-- Imprime dados dos objetos(tabelas) criados. Observe que&lt;br /&gt;-- este metodo tambem e usado para apresentar as informacoes&lt;br /&gt;-- do cachorro, que apesar de nao ser uma pessoa, possui&lt;br /&gt;-- todos os atributos tratados neste metodo.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;function&lt;/span&gt; showPessoa(pessoa)&lt;br /&gt;print('--------------------------------------')&lt;br /&gt;print('Nome: '..pessoa.nome)&lt;br /&gt;print('Idade: '..pessoa.idade)&lt;br /&gt;print('Nacionalidade: '..pessoa.nacionalidade)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;function&lt;/span&gt; initialize() -- Varre a tabela sociedade.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;for &lt;/span&gt;i=1, table.getn(sociedade), 1 &lt;span style="font-weight: bold;"&gt;do&lt;/span&gt;&lt;br /&gt;showPessoa(sociedade[i])&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;initialize() -- Inicia a aplicação.&lt;br /&gt;&lt;br /&gt;-- Lua e uma linguagem orientada a tabelas. Tabela e o termo&lt;br /&gt;-- mais correto para os “objetos” criados nesta aplicação.&lt;br /&gt;-- Todas as informacoes em uma tabela sao indexadas e&lt;br /&gt;-- facilmente manipuladas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-5832223075021272946?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/5832223075021272946/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=5832223075021272946' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5832223075021272946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5832223075021272946'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/10/exemplo-de-programa-em-linguagem-lua.html' title='Exemplo de programa em linguagem Lua'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-1051363607796963117</id><published>2008-09-12T07:18:00.000-07:00</published><updated>2008-10-14T09:20:11.297-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Validando cartão de crédito em java</title><content type='html'>import java.io.BufferedReader;&lt;br /&gt;import java.io.InputStreamReader;&lt;br /&gt;&lt;br /&gt;public class CCUtils {&lt;br /&gt; public static final int INVALID          = -1;&lt;br /&gt; public static final int VISA             = 0;&lt;br /&gt; public static final int MASTERCARD       = 1;&lt;br /&gt; public static final int AMERICAN_EXPRESS = 2;&lt;br /&gt; public static final int EN_ROUTE         = 3;&lt;br /&gt; public static final int DINERS_CLUB      = 4;&lt;br /&gt;&lt;br /&gt; private static final String [] cardNames =&lt;br /&gt;     {   "Visa" ,&lt;br /&gt;         "Mastercard",&lt;br /&gt;         "American Express",&lt;br /&gt;         "En Route",&lt;br /&gt;         "Diner's CLub/Carte Blanche",&lt;br /&gt;     };&lt;br /&gt;     &lt;br /&gt; /**&lt;br /&gt;  * Valid a Credit Card number&lt;br /&gt;  */&lt;br /&gt; public static boolean validCC(String number)&lt;br /&gt;   throws Exception { &lt;br /&gt;   int CardID;&lt;br /&gt;   if ( (CardID = getCardID(number)) != -1)&lt;br /&gt;       return validCCNumber(number);&lt;br /&gt;   return false;&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt; /**&lt;br /&gt;  * Get the Card type&lt;br /&gt;  * returns the credit card type&lt;br /&gt;  *      INVALID          = -1;&lt;br /&gt;  *      VISA             = 0;&lt;br /&gt;  *      MASTERCARD       = 1;&lt;br /&gt;  *      AMERICAN_EXPRESS = 2;&lt;br /&gt;  *      EN_ROUTE         = 3;&lt;br /&gt;  *      DINERS_CLUB      = 4;&lt;br /&gt;  */&lt;br /&gt; public static int getCardID(String number) {&lt;br /&gt;   int valid = INVALID;&lt;br /&gt;     &lt;br /&gt;   String digit1 = number.substring(0,1);&lt;br /&gt;   String digit2 = number.substring(0,2);&lt;br /&gt;   String digit3 = number.substring(0,3);&lt;br /&gt;   String digit4 = number.substring(0,4);&lt;br /&gt; &lt;br /&gt;   if (isNumber(number)) {&lt;br /&gt;     /* ----&lt;br /&gt;     ** VISA  prefix=4&lt;br /&gt;     ** ----  length=13 or 16  (can be 15 too!?! maybe)&lt;br /&gt;     */&lt;br /&gt;     if (digit1.equals("4"))  {&lt;br /&gt;       if (number.length() == 13 || number.length() == 16)&lt;br /&gt;          valid = VISA;&lt;br /&gt;       }&lt;br /&gt;     /* ----------&lt;br /&gt;     ** MASTERCARD  prefix= 51 ... 55&lt;br /&gt;     ** ----------  length= 16&lt;br /&gt;     */&lt;br /&gt;     else if (digit2.compareTo("51")&gt;=0 &amp;amp;&amp;amp; digit2.compareTo("55")&lt;=0) {&lt;br /&gt;       if (number.length() == 16)&lt;br /&gt;          valid = MASTERCARD;&lt;br /&gt;       }&lt;br /&gt;     /* ----&lt;br /&gt;     ** AMEX  prefix=34 or 37&lt;br /&gt;     ** ----  length=15&lt;br /&gt;     */&lt;br /&gt;     else if (digit2.equals("34") || digit2.equals("37")) {&lt;br /&gt;       if (number.length() == 15)&lt;br /&gt;          valid = AMERICAN_EXPRESS;&lt;br /&gt;       }&lt;br /&gt;     /* -----&lt;br /&gt;     ** ENROU prefix=2014 or 2149&lt;br /&gt;     ** ----- length=15&lt;br /&gt;     */&lt;br /&gt;     else if (digit4.equals("2014") || digit4.equals("2149")) {&lt;br /&gt;        if (number.length() == 15)&lt;br /&gt;           valid = EN_ROUTE;&lt;br /&gt;        }&lt;br /&gt;     /* -----&lt;br /&gt;     ** DCLUB prefix=300 ... 305 or 36 or 38&lt;br /&gt;     ** ----- length=14&lt;br /&gt;     */&lt;br /&gt;     else if (digit2.equals("36") || digit2.equals("38") ||&lt;br /&gt;       (digit3.compareTo("300")&gt;=0 &amp;amp;&amp;amp; digit3.compareTo("305")&lt;=0)) {&lt;br /&gt;       if (number.length() == 14)&lt;br /&gt;          valid = DINERS_CLUB;&lt;br /&gt;          }&lt;br /&gt;     }         &lt;br /&gt;     return valid;&lt;br /&gt;   &lt;br /&gt;     /* ----&lt;br /&gt;     ** DISCOVER card prefix = 60&lt;br /&gt;     ** --------      lenght = 16&lt;br /&gt;     **      left as an exercise ...&lt;br /&gt;     */&lt;br /&gt;   &lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt; public static boolean isNumber(String n) {&lt;br /&gt;   try  {&lt;br /&gt;     double d = Double.valueOf(n).doubleValue();&lt;br /&gt;     return true;&lt;br /&gt;     }&lt;br /&gt;   catch (NumberFormatException e) {&lt;br /&gt;     e.printStackTrace();&lt;br /&gt;     return false;&lt;br /&gt;     }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt; public static String getCardName(int id) {&lt;br /&gt;   return (id &gt; -1 &amp;amp;&amp;amp; id &lt; cardNames.length ? cardNames[id] : "");&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt; public static boolean validCCNumber(String n) {&lt;br /&gt;   try {&lt;br /&gt;     /*&lt;br /&gt;     ** known as the LUHN Formula (mod10)&lt;br /&gt;     */&lt;br /&gt;     int j = n.length();&lt;br /&gt;&lt;br /&gt;     String [] s1 = new String[j];&lt;br /&gt;     for (int i=0; i &lt; n.length(); i++) s1[i] = "" + n.charAt(i);&lt;br /&gt;&lt;br /&gt;     int checksum = 0;       &lt;br /&gt; &lt;br /&gt;     for (int i=s1.length-1; i &gt;= 0; i-= 2) {&lt;br /&gt;       int k = 0;&lt;br /&gt;     &lt;br /&gt;       if (i &gt; 0) {&lt;br /&gt;          k = Integer.valueOf(s1[i-1]).intValue() * 2;&lt;br /&gt;          if (k &gt; 9) {&lt;br /&gt;             String s = "" + k;&lt;br /&gt;             k = Integer.valueOf(s.substring(0,1)).intValue() +&lt;br /&gt;                 Integer.valueOf(s.substring(1)).intValue();&lt;br /&gt;             }&lt;br /&gt;             checksum += Integer.valueOf(s1[i]).intValue() + k;          &lt;br /&gt;          }&lt;br /&gt;          else&lt;br /&gt;             checksum += Integer.valueOf(s1[0]).intValue();          &lt;br /&gt;       }&lt;br /&gt;     return ((checksum % 10) == 0);&lt;br /&gt;     }&lt;br /&gt;   catch (Exception e) {&lt;br /&gt;     e.printStackTrace();&lt;br /&gt;     return false;&lt;br /&gt;     }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt; /*&lt;br /&gt; ** For testing purpose&lt;br /&gt; **&lt;br /&gt; **   java CCUtils [credit card number] or java CCUtils&lt;br /&gt; **&lt;br /&gt; */&lt;br /&gt; public static void main(String args[]) throws Exception {&lt;br /&gt;   String aCard = "";&lt;br /&gt; &lt;br /&gt;   if (args.length &gt; 0)&lt;br /&gt;     aCard = args[0];&lt;br /&gt;   else {&lt;br /&gt;     BufferedReader input =&lt;br /&gt;       new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;     System.out.print("Card number : ");&lt;br /&gt;     aCard = input.readLine();&lt;br /&gt;     }&lt;br /&gt;   if (getCardID(aCard) &gt; -1) {&lt;br /&gt;      System.out.println("This card is supported.");&lt;br /&gt;      System.out.println("This a " + getCardName(getCardID(aCard)));&lt;br /&gt;      System.out.println&lt;br /&gt;        ("The card number " + aCard + " is "&lt;br /&gt;          + (validCC(aCard)?" good.":" bad."));&lt;br /&gt;      }&lt;br /&gt;   else&lt;br /&gt;      System.out.println("This card is invalid or unsupported!");&lt;br /&gt;   }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-1051363607796963117?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/1051363607796963117/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=1051363607796963117' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/1051363607796963117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/1051363607796963117'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/09/validando-carto-de-crdito-em-java.html' title='Validando cartão de crédito em java'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-7098284878718999244</id><published>2008-09-01T11:38:00.001-07:00</published><updated>2008-10-14T09:20:11.298-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Gerando um número aleatório (random) em java</title><content type='html'>Para gerar um número aleatório em java, usamos o random da biblioteca Math. A seguir segue um exemplo de chamada para este método que neste caso retornará um número aleatório entre 1 e n. Se você deseja um número aleatório entre 1 e 100, basta trocar o n por 100 na linha de código a seguir:&lt;br /&gt;&lt;br /&gt;int i = 1 + (int)(Math.random() * n);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-7098284878718999244?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/7098284878718999244/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=7098284878718999244' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/7098284878718999244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/7098284878718999244'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/09/gerando-um-nmero-aleatrio-random-em.html' title='Gerando um número aleatório (random) em java'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-5920768786136445602</id><published>2008-09-01T11:21:00.001-07:00</published><updated>2008-10-14T09:20:11.298-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Usando XML para criar a GUI das aplicações java</title><content type='html'>&lt;span style="font-size:85%;"&gt;Thinlet é uma ferramenta usada para criar o visual de suas  aplicações java através de arquivos xml com uma estrutura simples, parecida com html. O thinlet tem um visual próprio, utiliza awt, e para você utilizar essa ferramenta, tudo o que precisará é de um &lt;b&gt; jar &lt;/b&gt; de 38 Kb. Para maiores informações e download visite o &lt;a href="http://thinlet.sourceforge.net/" target="_blanck"&gt;site do thinlet&lt;/a&gt;, junto com thinlet virá exemplos onde você poderá entender o uso dessa ferramenta.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-5920768786136445602?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/5920768786136445602/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=5920768786136445602' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5920768786136445602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/5920768786136445602'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/09/usando-xml-para-criar-gui-das-aplicaes.html' title='Usando XML para criar a GUI das aplicações java'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-2756578174706966872</id><published>2008-09-01T11:20:00.000-07:00</published><updated>2008-09-01T11:21:12.645-07:00</updated><title type='text'>Esta é da Universidade de Cambridge</title><content type='html'>&lt;span style="font-size:85%;"&gt;Só pssaoes epsertas cnsoeugem ler itso.  Eu não cnogseui acreidatr que relmanet pidoa etndeer o que etvsaa  lndeno. O pdoer fnemoeanl da mntee huamna, de aorcdo com uma psqueisa  da Unvireisadde de Cmabrigde, não ipmrota a odrem em que as lteras  em uma plavara etsão, a úcina cisoa ipmotratne é que a piremira e  a útimla ltreas etseajm no lguar ctreo. O rseto pdoe etasr uma   ttaol bnauguça e vcoê adnia pdoreá ler sem perolbmea.   Itso pruqoe a mtene haunma não lê cdaa lreta idnvidailuemtne, mas  a pvrlaaa cmoo um tdoo. Ipessrinaonte hien? É e eu smrepe pnenesi  que slortaerr era ipmorantte! Se vcoê pdoe ler itso pssae aidntae!    &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-2756578174706966872?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/2756578174706966872/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=2756578174706966872' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2756578174706966872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2756578174706966872'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/09/esta-da-universidade-de-cambridge.html' title='Esta é da Universidade de Cambridge'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-2935575932039356875</id><published>2008-08-29T05:51:00.000-07:00</published><updated>2008-11-29T16:21:13.256-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='segurança'/><title type='text'>Gerando um certificado SSL</title><content type='html'>Este tutorial demonstra como criar um certificado SSL (certificado de conexão segura) usando a ferramenta OpenSSL e como configurará-lo no Tomcat.&lt;br /&gt;&lt;br /&gt;Requerido:&lt;br /&gt;- Tomcat instalado&lt;br /&gt;- OpenSSL instalado&lt;br /&gt;(ao fim da página deixo os links)&lt;br /&gt;&lt;br /&gt;Para gerar o certificado e configurar o Tomcat para rodar suas páginas através do protocolo https, siga as etapas abaixo (clique nas imagens para ver detalhes):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1 &lt;/span&gt;- Abra o prompt de comando e vá até a pasta &lt;span style="font-weight: bold;"&gt;bin&lt;/span&gt; que fica dentro do diretório de instalação do OpenSSL.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt; - Digite:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;font-family:&amp;quot;;font-size:100%;"   lang="EN-US"&gt;openssl req –config openssl.cnf –new –out &lt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:&amp;quot;;font-size:100%;"   lang="EN-US"&gt;&gt;&lt;span style="color:blue;"&gt;\nomeCertificado.csr&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nSviW3x782Q/SLb4KsRyDTI/AAAAAAAAABo/QtMVczjqY18/s1600-h/tela1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_nSviW3x782Q/SLb4KsRyDTI/AAAAAAAAABo/QtMVczjqY18/s400/tela1.jpg" alt="" id="BLOGGER_PHOTO_ID_5239648079060274482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3&lt;/span&gt; - Digite uma senha de sua preferência e logo depois a confirme.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4 &lt;/span&gt;-&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Logo depois será requerida uma série de informações que serão inseridas no seu certificado. Veja a seguir um exemplo para essas entradas (estarão em inglês):&lt;br /&gt;&lt;br /&gt;-País: BR&lt;br /&gt;-Estado: Minas Gerais&lt;br /&gt;-Cidade: Pouso Alegre&lt;br /&gt;-Nome da Organização: Luis LTDA&lt;br /&gt;-Nome da Unidade Organizacional: Software&lt;br /&gt;-Common Name: l-u-i-s.blogspot.com  (ele pede outra informação, mas aqui costuma-se colocar o domínio)&lt;br /&gt;-Email: luis@reborn.com&lt;br /&gt;-Challenge password: pass&lt;br /&gt;-Nome opcional da empresa: Luis&amp;amp;Luis&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nSviW3x782Q/SLb8oqLdkAI/AAAAAAAAAB4/FrLyF7P-rcg/s1600-h/tela2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nSviW3x782Q/SLb8oqLdkAI/AAAAAAAAAB4/FrLyF7P-rcg/s400/tela2.jpg" alt="" id="BLOGGER_PHOTO_ID_5239652991939481602" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;5&lt;/span&gt; - Digite:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;openssl rsa -in privkey.pem -out &lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&gt;&lt;span style="color:blue;"&gt;\nomeCertificado.key&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ao pedir a senha, informe a senha que você criou no passo 3.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nSviW3x782Q/SLb-N7Zt10I/AAAAAAAAACA/CpEJMMWo5Wc/s1600-h/tela3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_nSviW3x782Q/SLb-N7Zt10I/AAAAAAAAACA/CpEJMMWo5Wc/s400/tela3.jpg" alt="" id="BLOGGER_PHOTO_ID_5239654731729459010" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;6&lt;/span&gt; - Digite:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;openssl x509 -in &lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&gt;&lt;span style="color:blue;"&gt;\&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;nomeCertificado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;.csr&lt;/span&gt; -out &lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&gt;&lt;span style="color:blue;"&gt;\&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;nomeCertificado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;.crt&lt;/span&gt; -req -signkey &lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&gt;&lt;span style="color:blue;"&gt;\&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;nomeCertificado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;&lt;/span&gt;.key -days 730&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Observe as informações apresentadas na tela.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nSviW3x782Q/SLb_zdt98yI/AAAAAAAAACI/PXjtGPap1ko/s1600-h/tela4.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_nSviW3x782Q/SLb_zdt98yI/AAAAAAAAACI/PXjtGPap1ko/s400/tela4.jpg" alt="" id="BLOGGER_PHOTO_ID_5239656476107993890" border="0" /&gt;&lt;/a&gt;Obs: 730 é a validade do certificado (730 dias).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7 &lt;/span&gt;- Digite:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;openssl pkcs12 -export -in &lt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&gt;&lt;span style="color:blue;"&gt;\&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;nomeCertificado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;.crt&lt;/span&gt; -inkey &lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&gt;&lt;span style="color:blue;"&gt;\&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;nomeCertificado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;.key&lt;/span&gt; -out &lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado_invertendo_barra&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;nomeCertificado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;.p12&lt;/span&gt; -name seu.dominio.com –CAfile &lt;span style=""&gt; &lt;/span&gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;pasta_onde_sera_colocado_o_certificado_invertendo_barra&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;color:blue;"   lang="EN-US"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;&lt;span style="color:blue;"&gt;nomeCertificado&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;color:blue;"   lang="EN-US"&gt;.crt &lt;/span&gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;-caname &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt;seu.dominio.com&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;span style=";font-family:&amp;quot;;"  lang="EN-US"&gt; –chain&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Depois entre com a senha e a confirme.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nSviW3x782Q/SLcC26gKDxI/AAAAAAAAACQ/6oZvGEhsAlc/s1600-h/tela5.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_nSviW3x782Q/SLcC26gKDxI/AAAAAAAAACQ/6oZvGEhsAlc/s400/tela5.jpg" alt="" id="BLOGGER_PHOTO_ID_5239659833909186322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Obs: Observe bem o espaçamento e as barras (em alguns pontos usa-se contra-barra em outros usa-se barra normal).&lt;br /&gt;&lt;br /&gt;Pronto! O certificado foi gerado e está dentro da pasta que você definiu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;8&lt;/span&gt; - Agora vamos configurar o Tomcat. Vá até &lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;&lt;span style="font-size:100%;"&gt;TOMCAT_HOME\conf\server.xml&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt; e remova a tag do conector da porta 8080&lt;connector port="8080"&gt;, remova todo o conteúdo do bloco (a tag segue abaixo, no arquivo ela está entre &lt;&gt;):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Connector port="8080" maxThreads="150" minSpareThreads="25"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;maxSpareThreads="75" enableLookups="true" redirectPort="8443" &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;e adicione no mesmo local a seguinte a seguinte tag (&lt;/connector&gt;&lt;span&gt;&lt;span&gt;o trecho abaixo deve ser colocado entre &lt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;connector port="8080"&gt;):&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Connector port="443" maxhttpheader maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" disableuploadtimeout="true" acceptcount="100" keystorefile="&lt;span style="color: rgb(51, 51, 255);font-size:100%;" &gt;C:\pasta\nomeCertificado&lt;/span&gt;&lt;span style="font-size:100%;"&gt;.&lt;/span&gt;p12" keystoretype="PKCS12" keystorepass="&lt;span style="color: rgb(51, 51, 255);"&gt;suaSenha&lt;/span&gt;" debug="0" scheme="https" secure="true" sslenabled="true" clientauth="false" sslprotocol="TLS"/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;Não se esqueça de adicionar as informações de seu certificado dentro desta tag.&lt;br /&gt;&lt;br /&gt;Pronto, o Tomcat está configurado para rodar pelo https.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; - Digite o novo endereço de sua aplicação, lembrando que agora ele foi modificado. Por exemplo, se antes você acessava em http://localhost:8080/SuaApp , agora você acessa em https://localhost:443/SuaApp.&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Agora ao acessar sua aplicação irá aparecer uma mensagem informando que você está iniciando uma conexão segura.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span&gt; - Para instalar o certificado, ao aparecer a mensagem clique em View Certificate, depois em install certificate.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nSviW3x782Q/SLcIbwnzTzI/AAAAAAAAACg/bUqZsmh8Wt4/s1600-h/tela6.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nSviW3x782Q/SLcIbwnzTzI/AAAAAAAAACg/bUqZsmh8Wt4/s400/tela6.jpg" alt="" id="BLOGGER_PHOTO_ID_5239665964470193970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nSviW3x782Q/SLcH-yzr9II/AAAAAAAAACY/lCZ-DYPdzgg/s1600-h/tela7.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nSviW3x782Q/SLcH-yzr9II/AAAAAAAAACY/lCZ-DYPdzgg/s400/tela7.jpg" alt="" id="BLOGGER_PHOTO_ID_5239665466840708226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Pronto, o certificado foi criado, configurado no Tomcat e instalado.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Links:&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="http://tomcat.apache.org/"&gt;site Tomcat&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.openssl.org/"&gt;site OpenSSL&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/connector&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-2935575932039356875?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/2935575932039356875/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=2935575932039356875' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2935575932039356875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2935575932039356875'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/08/gerando-um-certificado-ssl.html' title='Gerando um certificado SSL'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nSviW3x782Q/SLb4KsRyDTI/AAAAAAAAABo/QtMVczjqY18/s72-c/tela1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-8026768056529326977</id><published>2008-08-19T07:03:00.001-07:00</published><updated>2008-10-14T09:20:11.298-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Configurando o autocompletar do eclipse</title><content type='html'>Estava utilizando o eclipse e de repente percebi que o &lt;span style="font-weight: bold;"&gt;autocompletar&lt;/span&gt; tinha perdido a funcionalidade. Procurei na internet e nada de achar uma solução. Então um amigo conseguiu solucionar o problema e resolvi postar a solução aqui.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1&lt;/span&gt; - Para configurar o &lt;span style="font-weight: bold;"&gt;autocompletar&lt;/span&gt; vá em:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Window - Preferences&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt; - Nessa janela selecione a opção:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java - Editor - Advanced&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3&lt;/span&gt; - Marque os quatro primeiros checkboxes das duas áreas que aparecerão na tela (parte superior e inferior)  e clique em OK.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nSviW3x782Q/SKrMxp-15CI/AAAAAAAAABY/sg5QnZzLhfg/s1600-h/autocompletar.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nSviW3x782Q/SKrMxp-15CI/AAAAAAAAABY/sg5QnZzLhfg/s320/autocompletar.jpg" alt="" id="BLOGGER_PHOTO_ID_5236222670226711586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A imagem acima mostra a área de configuração. Clique nela para ver detalhes.&lt;br /&gt;&lt;br /&gt;Pronto, o autocompletar está funcionando!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-8026768056529326977?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/8026768056529326977/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=8026768056529326977' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8026768056529326977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8026768056529326977'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/08/configurando-o-autocompletar-do-eclipse.html' title='Configurando o autocompletar do eclipse'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nSviW3x782Q/SKrMxp-15CI/AAAAAAAAABY/sg5QnZzLhfg/s72-c/autocompletar.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-1879941075034852857</id><published>2008-08-11T10:07:00.000-07:00</published><updated>2008-10-14T09:20:11.299-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Mudando o idioma do netbeans para inglês</title><content type='html'>Para mudar o idioma do seu netbeans para inglês siga os seguintes passos:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; Acessar o local onde está instalado o Netbeans. (Padrão--&gt; C:\Arquivos de programas\NetBeans 6.1)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; Abrir a pasta etc, localizada dentro do diretório acima.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt; Adicionar ao fim do documento &lt;span style="font-weight: bold;"&gt;netbeans.conf &lt;/span&gt;a seguinte linha&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;netbeans_default_options="-J-Duser.language=en -J-Duser.country=US"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pronto, seu netbeans está configurado com o idioma inglês.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-1879941075034852857?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/1879941075034852857/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=1879941075034852857' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/1879941075034852857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/1879941075034852857'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/08/mudando-o-idioma-do-netbeans-para-ingls.html' title='Mudando o idioma do netbeans para inglês'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-4957990535901945122</id><published>2008-08-11T06:01:00.000-07:00</published><updated>2008-08-19T07:08:26.765-07:00</updated><title type='text'>Programa para controle de maratonas de programação</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nSviW3x782Q/SKA2rD8tYoI/AAAAAAAAABI/QdGyI2S6kpQ/s1600-h/pc2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_nSviW3x782Q/SKA2rD8tYoI/AAAAAAAAABI/QdGyI2S6kpQ/s320/pc2.jpg" alt="" id="BLOGGER_PHOTO_ID_5233242880426730114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:+1;"&gt;O PC&lt;sup&gt;2&lt;/sup&gt; (&lt;b&gt;&lt;em&gt;P&lt;/em&gt;&lt;/b&gt;rogramming  &lt;b&gt;&lt;em&gt;C&lt;/em&gt;&lt;/b&gt;ontest &lt;b&gt;&lt;em&gt;C&lt;/em&gt;&lt;/b&gt;ontrol System) é um sistema desenvolvido pela California State University, Sacramento  (&lt;b&gt;&lt;em&gt;CSUS&lt;/em&gt;&lt;/b&gt;&lt;em&gt;&lt;/em&gt;) para suporte às maratonas e testes de programação nas escolas.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:+1;"&gt;O sistema suporta Java, Pascal e Linguagem C. &lt;/span&gt;&lt;span style="font-size:+1;"&gt;O administrador do sistema pode ver quais alunos realizaram a tarefa e qual o tempo gasto por cada um, além de outros recursos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ecs.csus.edu/pc2/"&gt;página do programa&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-4957990535901945122?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/4957990535901945122/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=4957990535901945122' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/4957990535901945122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/4957990535901945122'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/08/programa-para-controle-de-testes-de.html' title='Programa para controle de maratonas de programação'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nSviW3x782Q/SKA2rD8tYoI/AAAAAAAAABI/QdGyI2S6kpQ/s72-c/pc2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-8713831127101209268</id><published>2008-08-05T04:13:00.000-07:00</published><updated>2008-08-05T05:02:40.474-07:00</updated><title type='text'>Repositório de códigos online</title><content type='html'>O pastebin - collaborative debugging tool - é um site muito útil, onde você pode postar seu código de programação e compartilhá-lo pela internet, o código ficará disposto de acordo com a sintaxe da linguagem usada, com cores identificando as palavras reservadas da linguagem. Despois de postar, você vai obter uma url onde ele ficará acessível.&lt;br /&gt;&lt;br /&gt;Maiores informações no próprio site:&lt;br /&gt;&lt;br /&gt;http://pastebin.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-8713831127101209268?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/8713831127101209268/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=8713831127101209268' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8713831127101209268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/8713831127101209268'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/08/pastebin-poste-seus-cdigos-na-internet.html' title='Repositório de códigos online'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-3832168771952437093</id><published>2008-08-04T07:04:00.001-07:00</published><updated>2008-10-14T09:20:11.299-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Tutorial - Web Services Com Java</title><content type='html'>Bem pessoal, quando fui tentar estudar web services por conta própria, de cara, encontrei um forum que me desanimou, dizendo que aprender web service sozinho era uma tarefa meio impossível. Estudei um tutorial com axis (framework da apache), e realmente vi que com aquela ferramenta ir ser difícil, pois para fazer um web service simples de cálculos matemáticos, levei horas.&lt;br /&gt;Mas eu continuei procurando conteúdos e tutoriais, não podia ser tão difícil assim, afinal eu só precisava de um web service para uma consulta simples a um banco de dados. Então pude ver que a coisa era extremamente simples, encontrei o que eu queria.&lt;br /&gt;O jdk 6 já vem com uma api para web services, chamada JAX-WS. Usei essa api no eclipse, e não foi necessário nem servidor de aplicação para testar o web service. Utilizá-la no netbeans é ainda mais simples, você cria seu web service no "clica e arrasta".&lt;br /&gt;Ainda no netbeans, você pode criar web services, sem ficar perdendo muito tempo em arquivos de configuração e comandos via prompt, utilizando o RESTful, que é uma tecnologia que não usa o SOAP.&lt;br /&gt;&lt;br /&gt;A seguir coloquei as etapas resumidas para criação de web services usando JAX-WS:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Requerido:&lt;/span&gt;&lt;br /&gt;- JDK 6 instalado.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Etapas:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1&lt;/span&gt; – Com o java 6, para criar um web service deve-se usar as anotações @WebService e @WebMethod na sua classe, pois o jdk 6 já vem com a tecnologia jax-ws implementada. Crie a seguinte classe exemplo:&lt;br /&gt;&lt;br /&gt;@WebService&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public class&lt;/span&gt; HelloWeb {&lt;br /&gt;&lt;br /&gt; @WebMethod&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;     public&lt;/span&gt; String hello(String nome) {&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;             return&lt;/span&gt; "Hello " + nome;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt; – Você deve utilizar a ferramente apt (annotation processing tool) que encontra-se na pasta bin do jdk para gerar as classes do web service. Para isso, dentro do diretório src do seu projeto, use a seguinte linha de comando:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;apt pacote\HelloWeb.java&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gera um pacote pacote.javaws com duas classes, uma classe Hello.java para os parâmetros do WebService (no nosso caso String nome do método hello) e outra HelloResponse.java que representa o retorno.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3&lt;/span&gt; - Para publicar o serviço/endpoint e iniciá-lo, use a classe seguinte:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public class&lt;/span&gt; PublicaService {&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; public static void&lt;/span&gt; main(String[] args){&lt;br /&gt;       HelloWeb service = new HelloWeb();&lt;br /&gt;       Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", service);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Pronto, o WebService está rodando sem servidor de aplicação nem web container. Tudo isso com javaSE 6 jdk. Para acessar a wsdl dele, usa-se o URL:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;http://localhost:8080/hello?wsdl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4&lt;/span&gt; - Para criar o cliente do serviço, o javaSE 6 já vem com as ferramentas necessárias. Precisamos usar o wsimport (na pasta bin do jdk) para gerar as classes do cliente. Com o serviço rodando, fazemos na linha de comando (dentro da pasta src do projeto):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;wsimport -keep -p pacote.cliente http://localhost:8080/hello?wsdl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A opção &lt;span style="font-weight: bold;"&gt;keep&lt;/span&gt; não apaga os arquivos fontes e &lt;span style="font-weight: bold;"&gt;p&lt;/span&gt; gera as classes dentro do pacote especificado.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5&lt;/span&gt; - Para chamar o serviço pelas classes geradas, escreva a seguinte classe:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public class&lt;/span&gt; TesteServico {&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;public static void&lt;/span&gt; main(String[] args) {&lt;br /&gt;      pacote.cliente.HelloWeb port = new HelloWebService().getHelloWebPort();&lt;br /&gt;      System.out.println(port.hello("Luis"));&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Repare que a classe HelloWeb que foi gerada pelo wsimport é uma interface, não confundir com o serviço HelloWeb que é uma implementação.&lt;br /&gt;&lt;br /&gt;Pronto! Seu web service está funcionando.&lt;br /&gt;&lt;br /&gt;Abaixo deixo links de outros tutoriais:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/61/websvc/rest_pt_BR.html"&gt;Web Services RESTful no netbeans&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.guj.com.br/java.tutorial.artigo.180.1.guj"&gt;Tutorial Axis 1.3 (GUJ)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7639507592339117318-3832168771952437093?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/3832168771952437093/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=3832168771952437093' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/3832168771952437093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/3832168771952437093'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/08/tutorial-web-services-com-java.html' title='Tutorial - Web Services Com Java'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7639507592339117318.post-2048695734331589127</id><published>2008-08-03T07:12:00.000-07:00</published><updated>2008-08-03T07:15:10.005-07:00</updated><title type='text'>Piano Eletrônico Free</title><content type='html'>&lt;p&gt;Pessoal, este vale a pena conferir. Excelente para quem está começando na música. É o piano eletrônico freeware mais completo que já encontrei até hoje. Permite que o usuário toque notas musicais, acordes e sons de bateria pelo teclado do computador.&lt;/p&gt;&lt;p&gt;Mesmo não sendo um programa para fins profissionais, o Piano Eletrônico 2.5 se destaca por não exigir nenhum conhecimento da tecnologia MIDI, ocupar pouco espaço em disco, e ser muito simples de instalar e usar.&lt;/p&gt;&lt;p&gt;Deixo abaixo os links para download:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pianoeletronico.com.br/"&gt;site do programa&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://superdownloads.uol.com.br/download/124/piano-eletronico/"&gt;site para download&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/7639507592339117318-2048695734331589127?l=l-u-i-s.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://l-u-i-s.blogspot.com/feeds/2048695734331589127/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7639507592339117318&amp;postID=2048695734331589127' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2048695734331589127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7639507592339117318/posts/default/2048695734331589127'/><link rel='alternate' type='text/html' href='http://l-u-i-s.blogspot.com/2008/08/piano-eletrnico-free.html' title='Piano Eletrônico Free'/><author><name>Luis</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_nSviW3x782Q/TVKoPNxyIAI/AAAAAAAABA0/5RAdDFo7yqY/s220/luisCamisaPreta.JPG'/></author><thr:total>0</thr:total></entry></feed>
