<?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-7004140700824244951</id><updated>2011-11-27T15:17:20.380-08:00</updated><category term='hibernate'/><category term='bla bla bla&apos;s'/><category term='design patterns'/><category term='scrum'/><category term='jsf'/><category term='guice'/><category term='arquiteturas'/><category term='javascript'/><category term='java'/><category term='jpa'/><category term='cache'/><title type='text'>luBS's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-6610649229315470033</id><published>2010-09-14T20:15:00.000-07:00</published><updated>2010-09-14T21:12:00.646-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arquiteturas'/><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><title type='text'>Cache pra que te quero?</title><summary type='text'>
Essa semana ocorreu a qcon aqui em São Paulo. O evento foi muito bom, embora algumas palestras recomendo menos teatro e piadas e mais objetividade no assunto.


De qualquer forma procurei ir em todas apresentações que falavam de escalabilidade, e um ponto me chamou atenção, um tema presente em praticamente todas apresentações e que curiosamente já estava preparando um post aqui no blog. É a </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/6610649229315470033/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=6610649229315470033' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/6610649229315470033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/6610649229315470033'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2010/09/cache-pra-que-te-quero.html' title='Cache pra que te quero?'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-3267209666563058007</id><published>2009-06-21T10:41:00.000-07:00</published><updated>2009-06-21T12:22:34.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='arquiteturas'/><title type='text'>Business, Service e Generic Exceptions</title><summary type='text'>Depois de um período de mudanças (sai de Uberlândia e vim morar em São Paulo), volto a postar. Vou falar sobre minhas impressões sobre os famosos BusinessException, ServiceException, GerericException, enfim, as exceções genéricas presentes em muitos sistemas por ai.
Imagine a arquitetura de uma aplicação web simples, onde temos os controladores acessando interfaces de serviço, até ai tudo bem. </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/3267209666563058007/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=3267209666563058007' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/3267209666563058007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/3267209666563058007'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2009/06/depois-de-um-periodo-de-mudancas-sai-de.html' title='Business, Service e Generic Exceptions'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-6839071868649354078</id><published>2009-03-02T16:51:00.000-08:00</published><updated>2009-03-02T19:20:32.523-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='arquiteturas'/><title type='text'>Como não criar um framework</title><summary type='text'>Muitas pessoas tem a bendita ideia de pegar seus códigos fontes, a maneira como elas desenvolvem, seus padrões e criar um framework, uma arquitetura de referência para impor na empresa e todos outros desenvolvedores usarem. Geralmente esses frameworks são baseados em outros frameworks que irão evoluir e com certeza o framework criado não vai conseguir evoluir junto, causando um puta atraso para a</summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/6839071868649354078/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=6839071868649354078' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/6839071868649354078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/6839071868649354078'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2009/03/como-nao-criar-um-framework.html' title='Como não criar um framework'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-3438801228959167926</id><published>2008-10-16T20:34:00.000-07:00</published><updated>2008-10-16T21:06:54.057-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='design patterns'/><title type='text'>Entendendo o padrão de projeto Adapter</title><summary type='text'>
Então, faz muito tempo que não posto neste blog, mas agora estou com internet de novo em casa, posso tentar atualizar meu blog com mais freqüência. Vou postar outra coisinha simples, mas que muita gente não conhece, relacionado a padrões de projeto (design patterns), um assunto que eu considero o mais, senão um dos mais importantes para alguém que trabalha com orientação a objetos.


Um padrão </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/3438801228959167926/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=3438801228959167926' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/3438801228959167926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/3438801228959167926'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2008/10/entendendo-o-padro-de-projeto-adapter.html' title='Entendendo o padrão de projeto Adapter'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-5434414810395399354</id><published>2008-05-26T16:47:00.000-07:00</published><updated>2008-05-26T17:00:53.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title type='text'>Scrum, meu novo interesse</title><summary type='text'>Semana passada eu fiz um curso de scrum na caelum, eu não tenho tempo nem conheço tanto para explicar como funciona scrum em geral, mas as impressões que fiquei foram muito, mas muito boas mesmo.
Parece uma metodologia que, ao mesma tempo da muita liberdade para o time (desenvolvedores), mas é cruel com pessoas que não rendem, os espertinhos, “enroladores”, pois a cobrança não vem de cima, vem </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/5434414810395399354/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=5434414810395399354' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/5434414810395399354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/5434414810395399354'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2008/05/scrum-meu-novo-interesse.html' title='Scrum, meu novo interesse'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_hqVNQU1f4s8/SDtPIlbeUbI/AAAAAAAAACE/LCVL4EAH33U/s72-c/IMG_0095.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-123839661965147484</id><published>2008-01-25T07:39:00.001-08:00</published><updated>2008-01-31T05:19:19.350-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='guice'/><title type='text'>Criando um Scope ThreadLocal no Guice</title><summary type='text'>Eu comecei a estudar um pouco o Guice, que é um framework da google de injeção de dependência. Estava fazendo uns testes e queria ter uma forma de que o Guice me retornasse sempre a mesma instância quando solicitar um objeto na mesma thread, algo como se feito com esse Factory:


public class ServiceFactory {

 private static ThreadLocal&lt;Service&gt; tl = new ThreadLocal&lt;Service&gt;();

 public static </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/123839661965147484/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=123839661965147484' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/123839661965147484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/123839661965147484'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2008/01/criando-um-scope-threadlocal-no-guice.html' title='Criando um Scope ThreadLocal no Guice'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-6839659561172797733</id><published>2007-12-05T16:12:00.000-08:00</published><updated>2008-01-31T05:43:37.539-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Herança múltipla no Java</title><summary type='text'>
É um assunto já bem manjado, milhões de explicações pela internet, mas sempre aparece alguém dizendo que Java não tem herança multipla. Bem, é verdade, não existe, mas isso não quer dizer que não da para fazer. Segue um exemplo de como da para fazer herança múltipla com Java utilizando interfaces e agregação.


Considere uma interface que define um animal, não vou complicar enxendo de métodos, </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/6839659561172797733/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=6839659561172797733' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/6839659561172797733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/6839659561172797733'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2007/12/herana-mltipla-no-java.html' title='Herança múltipla no Java'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-2573030956671791942</id><published>2007-11-22T17:18:00.000-08:00</published><updated>2011-09-03T13:02:13.922-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='jpa'/><title type='text'>Fazendo qualquer consulta ao banco de forma paginada.</title><summary type='text'>
Como eu imaginava, não tenho tempo para olhar muito isso e fazer novas postagens, mas juro que vou tentar melhorar hehe.


Já tem um tempo to devendo postar isso, é uma solução que fiz e uso para paginação no acesso a dados. Ela surgiu quando eu tinha que ler muitas tabelas e muitos registros de cada uma, o que gerava um OutOfMemory, então eu quis criar uma forma de que qualquer sql que eu </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/2573030956671791942/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=2573030956671791942' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/2573030956671791942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/2573030956671791942'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2007/11/fazendo-qualquer-consulta-ao-banco-de.html' title='Fazendo qualquer consulta ao banco de forma paginada.'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-6605002491759295985</id><published>2007-09-01T17:28:00.000-07:00</published><updated>2009-03-02T18:44:38.497-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jsf'/><title type='text'>Um template usando ExtJS, Facelets e JSF</title><summary type='text'>&lt;!--   .html-operator {color: #007c00}   .html-tag {color: #0000ff}   .html-value {color: #99006b}   .properties-value {color: #ff00ff}  .properties-line-comment {color: #737373}  .properties-key {color: #0000ff; font-family: Monospaced; font-weight: bold} --&gt;Bem, esse é meu primeiro post relacionado a Java. Comecei a estudar esses dias alguma coisa de uma biblioteca javascript chamada ext-js, </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/6605002491759295985/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=6605002491759295985' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/6605002491759295985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/6605002491759295985'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2007/09/um-template-usando-extjs-facelets-e-jsf.html' title='Um template usando ExtJS, Facelets e JSF'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_hqVNQU1f4s8/Rtsz6iIwXHI/AAAAAAAAAA0/-bglu6wFiI8/s72-c/img7.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7004140700824244951.post-7801770075824220740</id><published>2007-09-01T13:22:00.001-07:00</published><updated>2007-09-02T15:57:47.695-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bla bla bla&apos;s'/><title type='text'>Maria vai com as outras... ;)</title><summary type='text'>Então, resolvi fazer um blog, nunca fiz nenhum, e provavelmente já pensei que nunca teria hehe mas como sou Maria vai com as outras, já que tá na moda! ahah brincadeira, acho interessante, últimamente boa parte dos meus estudos estão saindo de postagem em blog's, portanto é uma boa ferramenta para compartilhar conhecimento e interesses, e até mesmo servir de base de dados. Não pretendo contar </summary><link rel='replies' type='application/atom+xml' href='http://luizroos.blogspot.com/feeds/7801770075824220740/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7004140700824244951&amp;postID=7801770075824220740' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/7801770075824220740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7004140700824244951/posts/default/7801770075824220740'/><link rel='alternate' type='text/html' href='http://luizroos.blogspot.com/2007/09/ento-resolvi-fazer-um-blog-nunca-fiz.html' title='Maria vai com as outras... ;)'/><author><name>Luiz Gustavo Roos</name><uri>http://www.blogger.com/profile/03211607638515290225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
