tag:blogger.com,1999:blog-30282521786579051682024-02-07T00:54:49.454-03:00FarinhAzedaJá que todo mundo tem um blog...Iuri Farenzenahttp://www.blogger.com/profile/09364059106496449808noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-3028252178657905168.post-64084996039566892222011-01-13T14:45:00.002-02:002011-01-13T14:51:35.653-02:00Singleton Design Pattern<span class="Apple-style-span" style="font-family: Verdana;"><taghw>O singleton é um padrão criacional, ou seja, ele trata da criação de objetos. Através dele, garantimos que apenas uma única instância do objeto seja instanciada em todo o projeto. Qual a funcionalidade disso? Simples, objetos que tratam de pools de conexão, saídas gráficas, impressão, objetos que cuidam de registros ou de logs não devem ser instanciados mais de uma vez! Já imaginou instanciar dois objetos que lidam com a impressora ao mesmo tempo? Isso iria gerar muitos problemas!</taghw></span><span class="Apple-style-span" style="font-family: Verdana; font-size: x-small;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: Verdana; font-size: x-small;"><taghw></taghw></span><br />
<a name='more'></a><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhStfLQiRFkBBQpNX_DYvv0PXbQlNtSJlqHt8qNc1GB9MgpuW36ms3esdfQqIfVBD9qXnE71oOignWlRPERKBooot1HFhEhM8lYIagk_M2sgE-Xe9QXxmVE-R7jev8THL7Czr2NvJoQvUg/s1600/singleton.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhStfLQiRFkBBQpNX_DYvv0PXbQlNtSJlqHt8qNc1GB9MgpuW36ms3esdfQqIfVBD9qXnE71oOignWlRPERKBooot1HFhEhM8lYIagk_M2sgE-Xe9QXxmVE-R7jev8THL7Czr2NvJoQvUg/s200/singleton.jpg" width="200" /></a></div><span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"><span style="font-family: Verdana;">Alguns programadores devem estar pensando agora: Mas isso é fácil! Basta eu ter uma variável global com a instância do objeto e sempre acessar ela! O problema é que essa variável sendo inicializada no começo da execução do projeto, essa classe estará consumindo recursos mesmo sem ser utilizada! Com o Singleton, a classe só é instanciada quando você realmente precisa dela!</span><br style="font-family: Verdana;" /><span style="font-family: Verdana;"><br />
Mas como previnir que um objeto não seja instanciado mais de uma vez? A solução é simples! Muitos desconhecem, mas é possível criar um construtor privado! Com isso, a classe só pode ser instanciada dentro de algum dos seus próprios métodos!</span><br style="font-family: Verdana;" /><br style="font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;">public class Singleton {</span><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;"> private Singleton () { }</span><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;">}</span><br style="font-family: Verdana;" /><br style="font-family: Verdana;" /><span style="font-family: Verdana;"> Agora que só podemos instanciar a classe dentro de um método, vamos fazer com que esse método nos garanta que apenas uma classe seja inicializada. Para isso vamos ter uma variável estática que guardará a instância do único objeto instanciado. Caso ela esteja nula, a função irá instanciar o objeto e então retorná-lo para o usuário. Caso ela já contenha uma instância, o método apenas retorna o objeto. Em código, temos:</span><br style="font-family: Verdana;" /><br style="font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;">public class Singleton {</span><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;"> private static Singleton instancia = null;</span><br style="color: midnightblue; font-family: Verdana;" /><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;"> private Singleton () { }</span><br style="color: midnightblue; font-family: Verdana;" /><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;"> public static Singleton getInstance() {</span><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;"> if(instancia==null) instancia = new Singleton ();</span><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;"> return instancia;</span><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;"> }</span><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;">}</span><br style="font-family: Verdana;" /><br style="font-family: Verdana;" /><span style="font-family: Verdana;"> Pronto! Nossa classe agora é um Singleton! Não é possível ter mais de uma instância desse objeto! Como se faz para instanciar um objeto já que não posso simplesmente dar um “new” nele?</span><br style="font-family: Verdana;" /><br style="font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;">Singleton c1 = Singleton.getInstance();</span><br style="color: midnightblue; font-family: Verdana;" /><span style="color: midnightblue; font-family: Verdana;">Singleton c2 = Singleton.getInstance();</span><br style="font-family: Verdana;" /><br style="font-family: Verdana;" /><span style="font-family: Verdana;"> Em nosso exemplo, c1 e c2 representam o mesmo objeto! </span></span><br />
<span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"><span style="font-family: Verdana;"><br />
</span></span><br />
<div style="text-align: right;"><span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif;"><span style="font-family: Verdana; font-size: x-small;">Créditos: <a href="http://www.plugmasters.com.br/sys/materias/893/1/Padr%F5es-de-Projeto%3A-Singleton">Mauricio Aniche - Plugmaster</a></span></span></div>Iuri Farenzenahttp://www.blogger.com/profile/09364059106496449808noreply@blogger.com0tag:blogger.com,1999:blog-3028252178657905168.post-18793695862172239382010-09-09T10:16:00.000-03:002010-09-09T10:16:36.375-03:00Nada como ter objetivo na vida.<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPonSJTJ6UEFNvn6Mhy0FbSpXpclCRDKdAauj7rLkFPWTq04MzhlnJ9VqEdLQOkXHJMdqviaSsCMCuhMtDkg1uooFT94jCSxNHiHu7nIyUaEtjVt2SD6VZm2zWjURdFErR2LKc8AG_hF0/s1600/Objetivo.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPonSJTJ6UEFNvn6Mhy0FbSpXpclCRDKdAauj7rLkFPWTq04MzhlnJ9VqEdLQOkXHJMdqviaSsCMCuhMtDkg1uooFT94jCSxNHiHu7nIyUaEtjVt2SD6VZm2zWjURdFErR2LKc8AG_hF0/s400/Objetivo.JPG" width="331" /></a></div><br />
<div style="text-align: center;">Bah, que merda.....</div>Iuri Farenzenahttp://www.blogger.com/profile/09364059106496449808noreply@blogger.com0tag:blogger.com,1999:blog-3028252178657905168.post-34240112333624273242010-07-09T13:26:00.014-03:002010-07-10T23:13:30.591-03:00Fotos de Formatura da INFO-28<div class="separator" style="clear: both; text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNvAD9UphAg1bB3sF9SUZjS0Q-cP7qka8Nmp6lQ1ZbfsLIL-Hc3xk92C7ivVdD0IpV35PK482404hntPKe2y46ESmMLNdPoNWTYi9QHkHYhdXqH8V9eBHZnKjPvHWnWVdvgXwrLMJyWpM/s1600/_PCH8337.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNvAD9UphAg1bB3sF9SUZjS0Q-cP7qka8Nmp6lQ1ZbfsLIL-Hc3xk92C7ivVdD0IpV35PK482404hntPKe2y46ESmMLNdPoNWTYi9QHkHYhdXqH8V9eBHZnKjPvHWnWVdvgXwrLMJyWpM/s320/_PCH8337.jpg" /></a></div><div style="text-align: justify;">O pessoal da INFO-28 já deve ter recebido um e-mail com <i><b>login</b></i> e <i><b>senha</b></i> para veificar suas fotos no site da TopFormaturas.</div><div style="text-align: justify;">Porém o album ainda não aparece para os usuários no site, e o login e senha ficam inúteis.</div><div style="text-align: justify;">Mas nosso colega Jean Sauzem descobriu um geito de burlar o sistema e achou as fotos para nós.</div><div style="text-align: justify;">Leia mais para ver o link e tambem uma solução que criei para podermos salvar as fotos....</div><div style="text-align: justify;"><br />
</div><a name='more'></a><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Estou de boca aberta devido a falta de profissionalismo da empresa TopFormaturas. Hoje pela manhã a Lidiane ligou pra lá e eles mandaram entrar em contato com a Maysa.</div><div style="text-align: justify;">Que empresa é essa que não resolve seu problemas a ainda joga a responsabilidade para um cliente?</div><div style="text-align: justify;">Segunda feira que vem pretendo ir pessoalmente ate lá e conversar com aquele turco...</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Mas deixando as reclamações de lado, vamos ao que interessa.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Como falei no início do post, o Jean achou um link que direciona para os álbus da nossa turma. É só escolher o álbum 1 ou 2, que estão ordenados na sequência em que as fotos foram tiradas. Clique <a href="http://www.topformatura.com.br/albuns/ifet_sao_vicente_do_sul/" target="_blank">aqui</a> para ver.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Acredito, mas não tenho certeza, de que para escolher as fotos vecê deve informar o <b style="color: red;">número do álbum e o número da foto</b> em um email para a Top. Irfome também o Seu <b>nome completo</b>, <b>cidade</b> onde nasceu, e que é do curso técnico em informática do IFET São Vicente de Sul. E lembre-se: Especifique bem as <b>duas</b> fotos que vão para o <b>quadro</b>, e as <b>dez</b> que devem ser <b>impressas</b>.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Acessando o link dos albúns voce poderá ver todas as fotos, slideshow, tudo muito bonitinho. Mas certamente não conseguirá salva-las, pra guardar no pc, colocar no <a href="http://orkut.com/">orkut</a>, etc.</div><div style="text-align: justify;">Pensando nisso fiz um scrip para acessar as fotos diretamente no servidor deles, e é possivel baixar as fotos.</div><div style="text-align: justify;">Ao selecionar um dos álbuns, a primeira foto dele será mostrada. Algumas fotos não aparecerão, mas não se preocupe, siga clicando em próxima ou anterior até receber a mensagem de que não há mais fotos.<br />
<br />
<blockquote style="color: #660000;"><div style="background-color: white; font-family: Times,"Times New Roman",serif;"><span style="font-size: small;"><b>UPDATE: Agora você pode ir diretamente na suas fotos!</b></span></div><span style="font-size: small;"><b><span style="background-color: white; font-family: Times,"Times New Roman",serif;">Gostou??? </span></b></span></blockquote><blockquote>UPDATE 2: essa m**** de escolher o nome só funciona no Mozilla Firefox.. Foi mal. </blockquote></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><script type="text/javascript">
foto = 7701;
function next(){
if(foto>=8188)
album=2;
else
album=1;
if(foto>=8450)
alert("Não há mais fotos neste album.....CLIQUE EM 'ANTERIOR'");
else{
foto++;
document.getElementById('fotos').src="http://www.nucciweb.com.br/topformatura/albuns/ifet_sao_vicente_do_sul/"+album+"/bin/images/small/_PCH"+foto+".jpg";
}
}
function prev(){
if(foto>8188)
album=2;
else
album=1;
if(foto<=7702)
alert("Não há fotos anteriores neste album.....CLIQUE EM 'PRÓXIMA'");
else{
foto--;
document.getElementById('fotos').src="http://www.nucciweb.com.br/topformatura/albuns/ifet_sao_vicente_do_sul/"+album+"/bin/images/small/_PCH"+foto+".jpg";
}
}
</script>
Quem é voce ?
<select>
<option onclick="foto=7701;next();">Jean</option>
<option onclick="foto=7726;next();">Renan</option>
<option onclick="foto=7747;next();">Lucas</option>
<option onclick="foto=7771;next();">Liander</option>
<option onclick="foto=7795;next();">Cátia</option>
<option onclick="foto=7827;next();">Iuri</option>
<option onclick="foto=7851;next();">Luana</option>
<option onclick="foto=7880;next();">Verônica</option>
<option onclick="foto=7906;next();">Mateus</option>
<option onclick="foto=7931;next();">Alexandra</option>
<option onclick="foto=7961;next();">Anderson B</option>
<option onclick="foto=7982;next();">Artur</option>
<option onclick="foto=8011;next();">Glauber</option>
<option onclick="foto=8035;next();">Tairini</option>
<option onclick="foto=8067;next();">Anderson F</option>
<option onclick="foto=8096;next();">Gustavo</option>
<option onclick="foto=8122;next();">Lidiane</option>
<option onclick="foto=8156;next();">Maysa</option>
<option onclick="foto=8191;next();">Alessandra</option>
<option onclick="foto=8226;next();">Valquiria</option>
<option onclick="foto=8255;next();">Augusto</option>
<option onclick="foto=8286;next();">Márcio</option>
<option onclick="foto=8318;next();">COLETIVAS</option>
</select>
<div style="text-align: justify;">
</div><div style="text-align: justify;">
</div><span onclick="foto=7701;next();" style="background: none repeat scroll 0% 0% green; cursor: pointer;">ALBUM 1</span>
<button name="prev" onclick="prev();">ANTERIOR</button>
<button name="next" onclick="next();">PRÓXIMA</button>
<span onclick="foto=8188;next();" style="background: none repeat scroll 0% 0% green; cursor: pointer;">ALBUM 2</span>
<iframe frameborder="0" height="560" id="fotos" width="800"></iframe>
</div><div style="text-align: justify;">
</div><div style="text-align: justify;">
E aí, o que acharam das fotos? Gostaram do script?</div><div style="text-align: justify;">
Eu espero que eles apliquem o tal do "PhotoTCHÓPI", porque achei feias as fotos.</div><div style="text-align: justify;">
</div><div style="text-align: justify;">
Era isso povo, espero que gostem. Abraço.</div><div style="text-align: justify;">
Comentem...</div>Iuri Farenzenahttp://www.blogger.com/profile/09364059106496449808noreply@blogger.com4tag:blogger.com,1999:blog-3028252178657905168.post-61902978480524930092010-07-07T18:59:00.002-03:002010-07-07T20:50:33.595-03:00Liberada primeira versão beta oficial do Firefox 4<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW2Nk04dv_Ege1EGfkwwGY-hmNOx3F-wCueTtZB_5Ktf92ScWA8Fp5FD06oUnOjHteCts2qSuut9IHmdy_Uny2-PbMd73d6b2ZnDGmZFWRUw-G-em3gY0CxDPjiLTdAE7i54jklIOJSyk/s1600/firefox_141x106.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Nova interface" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW2Nk04dv_Ege1EGfkwwGY-hmNOx3F-wCueTtZB_5Ktf92ScWA8Fp5FD06oUnOjHteCts2qSuut9IHmdy_Uny2-PbMd73d6b2ZnDGmZFWRUw-G-em3gY0CxDPjiLTdAE7i54jklIOJSyk/s320/firefox_141x106.jpg" title="Nova interface" /></a></div><div style="text-align: justify;">A Fundação Mozilla liberou oficialmente o <a href="http://www.mozilla.com/en-US/firefox/beta/">download do Firefox 4 beta 1</a>. O anúncio foi feito no blog na companhia, em post assinado por Mike Beltzner, revelando que as próximas versões do navegador de código aberto deverão ser liberadas a cada duas ou três semanas. </div>O programa está disponível para os sistemas <a href="http://info.abril.com.br/downloads/firefox-4-beta">Windows</a>,<a href="http://info.abril.com.br/downloads/mac/firefox-4-beta-mac"> Mac</a> e <a href="http://info.abril.com.br/downloads/linux/firefox-4-beta-linux">Linux</a>.<br />
<a name='more'></a><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRTcs5etIWOmWjbdyH3YCm-L81rTlVT_MA9TdZF_ZLED0LHQptTZDmeDdRtFmQtzbfjT0_k_ZGFI8n7RwcoSC06LY94B59CrQCoMGknh8nfvYlSXbv7wi25KAbfV0uNz_4H2lkRKdhLYc/s1600/firefox-4-nova-interface.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRTcs5etIWOmWjbdyH3YCm-L81rTlVT_MA9TdZF_ZLED0LHQptTZDmeDdRtFmQtzbfjT0_k_ZGFI8n7RwcoSC06LY94B59CrQCoMGknh8nfvYlSXbv7wi25KAbfV0uNz_4H2lkRKdhLYc/s320/firefox-4-nova-interface.jpg" /></a></div><div style="text-align: justify;">O Firefox 4, em comparação ao antecessor, chega repleto de mudanças. Uma das mais importantes está na interface, que está com novo visual e agora exibe um botão laranja – chamado de App Button – que simplifica o acesso às configurações do navegador.</div><div style="text-align: justify;">“Se você tiver o Windows 7 ou Windows Vista, a barra de menu foi substituída por um botão único Firefox que você pode acessar as opções mais utilizadas com apenas um clique. Essas mudanças chegarão em breve para Mac e Linux”, escreveu Beltzner.<br />
<br />
<b>Mais rápido</b><br />
<br />
Entre as novidades estão novo gerenciador de extensões, o novo formato WebM para visualização de vídeos em HD dentro da linguagem HTML5, e uma série de melhorias para garantir maior segurança e estabilidade no navegador.</div><div style="text-align: justify;">O Firefox 4 Beta também apresenta um novo motor. Preparado para os novos padrões web (leia-se HTML 5), ele resolve uma das principais reclamações dos usuários Firefox 3.6: a lentidão para inicializar. Em testes preliminares (e básicos), o navegador foi bem mais rápido que o antecessor para carregar. Como a Mozilla soltará, certamente, novas versões de teste, a agilidade do software para inicializar deve melhorar ainda mais<br />
<br />
<b>No LINUX</b> <br />
<br />
Fiz o teste do novo navegador no Debian. O resultado quanto a velocidade me agradou muito. Porém, a interface não mudou praticamente nada se comparada a interface do navegador nativo Iceweasel.<br />
Ficou devendo...</div>Iuri Farenzenahttp://www.blogger.com/profile/09364059106496449808noreply@blogger.com0tag:blogger.com,1999:blog-3028252178657905168.post-91744381005710533652010-07-04T17:27:00.004-03:002010-07-05T01:29:05.290-03:00Estarei no FISL11<a href="http://softwarelivre.org/fisl11" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;"><img border="0" src="http://softwarelivre.org/images/0002/3938/FISL11_big.png?1272375302" /></a><br />
<div style="text-align: justify;">O FISL (Fórum Internacional de Software Livre) acontece anualmente em Porto Alegre. O fórum é considerado um dos maiores eventos do mundo na área por proporcionar uma discussão técnica, política e social sobre software livre de forma integrada. Reúne discussões, palestras, personalidades e novidades nacionais e internacionais do mundo do software livre.</div><div style="text-align: justify;"> Ano passado participei do evento e gostei muito. Tanto, que o FISL 10 nem tinha acabado e eu já estava decidido a participar da 11ª edição do fórum. E lá estarei, porém em uma condição um pouco diferente. Serei palestrante.</div><div><a name='more'></a><div style="text-align: justify;"> O processo de avaliação das palestras este ano ganhou agilidade com a participação dos inscritos como avaliadores e propiciou à comunidade software livre o envolvimento na construção da programação. No início de junho, os inscritos receberam um "token" e as instruções de como proceder para avaliar as palestras.</div></div><div><div style="text-align: justify;"> Por um golpe de sorte, minha palestra foi selecionada. Apresentarei, juntamente com o professor <a href="http://henriqpro.blogspot.com/">Henrique Filho</a> e com o colega <a href="http://alcionemorais.blogspot.com/">Alcione Morais</a>, o projeto de um framework em PHP para agilizar o desenvolvimento de aplicações web.</div></div><div><div style="text-align: justify;"> Esse framework trabalha com acesso a banco de dados, e a partir dos metadados do catálogo do SGBD gera código PHP automaticamente, montando um formulário que permite alteração, inserção, exclusão e consulta avançada gerando relatórios em qualquer tabela do banco. Mais adiante postarei mais informações sobre o projeto.</div></div><div><div style="text-align: justify;"><div style="text-align: auto;"> O FISL 11 acontece de 21 a 24 de julho, no Centro de Eventos da Pontifícia Universidade Católica do Rio Grande do Sul - PUCRS, em Porto Alegre - RS. Se você estiver por lá, está convidado a assistir essa palestra. Será uma honra contar com a sua presença.</div></div></div>Iuri Farenzenahttp://www.blogger.com/profile/09364059106496449808noreply@blogger.com1tag:blogger.com,1999:blog-3028252178657905168.post-6150079382281280042010-07-04T07:02:00.001-03:002010-07-05T01:29:41.543-03:00Bem Vindo!Olá leitor, é um prazer ter você aqui.<br />
Desculpe a falta de conteudo, mas como todo blog, é preciso começar de alguma forma.<br />
E é assim que começo, de forma simples. "De vagar e sempre".<br />
<br />
Um breve esclarecimento.<br />
O nome "FarinhAzeda" vem de um apelido de infância, graças ao meu sobrenome Farenzena.<br />
<br />
Obrigado por acessar o FarinhAzeda.<br />
Volte sempre.Iuri Farenzenahttp://www.blogger.com/profile/09364059106496449808noreply@blogger.com1