sexta-feira, 22 de janeiro de 2010
Frase da Semana 17/01 à 23/01/2010
segunda-feira, 14 de setembro de 2009
Persistência com EhCache
Aproveitem!
Persistência com EhCache: Blog do Pedro Cavaléro.
quinta-feira, 6 de agosto de 2009
Resolvido conflito entre JSR's de Injeção de Dependência
java.io.NotSerializableException e a flag -Dsun.io.serialization.extendedDebugInfo=true
java.io.NotSerializableException
Como ela nem deveria estar sendo serializada precisávamos descobrir o que estava pedindo que ela fosse serializada. No entanto, não foi possível entrar no código com Debug. Mas, a própria classe de serialização fazia um debug mais profundo através da flag:
-Dsun.io.serialization.extendedDebugInfo=true
Habilitando esta flag colocando-a nos argumentos da VM, voltamos a serializar sem problemas.
terça-feira, 4 de agosto de 2009
Gerenciamento de exceções no Eclipse RCP
Muitas vezes o eclipse passa batido nas RuntimeExceptions.
Isto ocorre porque o tratamento delas é feito no WorkbenchAdvisor, no método eventLoopException(Throwable). Para que isso não aconteça é necessário dar um override nesta função, geralmente no ApplicationWorkbenchAdvisor, algo como:
public void eventLoopException(Throwable exception){
System.out.println("Override do eventLoopException");
exception.printStackTrace();
super.eventLoopException(exception);
}
[]'s
sexta-feira, 24 de julho de 2009
Atalhos do Eclipse
Como diria o nosso instrutor quando do curso de Arquitetura Java: "Mouse dá choque!" Então, vão aqui alguns links com os principais atalhos do Eclipse que todos nós deveríamos saber (mas não sabemos!):
10 Eclipse Navigation Shortcuts Every Java Programmer Should Know
Eclipse Shortcutssábado, 18 de julho de 2009
Notas de um Desenvolvedor Eclipse
Caros,
O Blog Lubos Eclipse Weblog iniciou como um repositório de informações sobre como fazer plugins e aplicações RCP com Eclipse. Lá ele juntou várias dicas, sites, tutoriais sobre os mais diversos aspectos desse tipo de programação. Com certeza quem programa para eclipse não vai se arrepender de dar uma olhada!
quarta-feira, 8 de julho de 2009
Frase da Semana de 5 à 11/07
domingo, 21 de junho de 2009
Frase da Semana 14 a 20/06
Gostei muito dessa frase, ainda que não tenha tanta fé quanto o autor do post que programação declaratival se torne paradigma mainstream, mesmo tendo sql o seu lugar ao sol. Essa minha conclusão é muito eu-cêntrica, pois atualmente tenho trabalhado com hql e jpaql e tenho sentido alguma dificuldade em quebrar as amarras imperativas do meu cérebro, porém quando o consigo fazer fico extremamente satisfeito com o produto, pois código declarativo, como disse o autor do post, é focado em "o que" e não "como", o que deixa o código mais sucinto e claro. Cá entre nós, eu acho mais difícil pensar declarativamente, não sei se porque venho de uma escola imperativa ou se é realmente mais fácil persar em if's, for's e com assinalação destrutiva do que com and's, or's, recursividade e imutablidade. Talvez seja, como quase tudo na vida, uma questão de prática.
Só uma última coisa, o código do exemplo do post é em C# e dá uma tristeza em ver quanto Java tá comendo poeira quando comparada com a sua concorrente da Microsoft. No entanto é legal ver que dá para fazer Link em Scala sem adicionar palavras reservadas na linguagem, que foi a estratégia usada em C#.
terça-feira, 26 de maio de 2009
Frase da Semana de 24 à 30/05
sábado, 9 de maio de 2009
Frase da Semana 03 a 09/05
Para quem se interessou na fonte desta frase segue o link do post.
quarta-feira, 6 de maio de 2009
Annotation no Spring 3.0
@Service
@Scope("request")
@Transactional(rollbackFor=Exception.class)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyService {
}
@MyService
public class RewardsService {
…
}
@Repository
@Transactional
MyReposytory
E eis que surge o refactoring de annotations :)
Outra possibilidade é a criação de annotation que além de agrupar, traduzam conceitos mais próximos do negócio em questão.
Todo essa conversa de annotation anotando annotation só me faz lembrar meu chapa Eduardo Guerra, nas nossas conversas de cafezinho, antevendo o surgimento deste padrão. Espero que ao ler este post ele não faça o seu cromossomo X falar alto e exclame um sonoro "Que foi que eu falei". E que venham o Spring 3.0 RC1.
segunda-feira, 27 de abril de 2009
Frase da semana.
Aos curiosos sobre a origem desta frase provacativa segue o link do post.
segunda-feira, 9 de março de 2009
SpringSource joga pesado com a Sun
domingo, 1 de março de 2009
O Javascript vai levando a melhor. E a Google com ele.
No meu blog postei um comentário sobre a briga dos browsers. Vale uma lida!
Abraços!!
segunda-feira, 23 de fevereiro de 2009
One Model to rule them all !
Uma conclusão precipitada que tomei, baseado no meu conhecimento parcial do assunto, foi que um conceito chave desta disciplina era a existência de um modelo de domínio ÚNICO por aplicação, o qual acomodaria as regras de negócio, ou parafraseando o Senhor dos Anéis: "One Model to rule them all" .
Recentemente me deparei com a entrevista de um desenvolvedor/arquiteto de software de nome Greg Young, na Infoq, que me chamou atenção pelo fato deste praticar DDD em comunhão com Imutabilidade, algo que venho confabulando há algum tempo. Porém o que mais me chamou atenção foi o fato dele ter modelos de domínio distintos para escrita e para leitura de dados. Intrigado com essas peculiaridades de design pesquisei mais sobre o assunto e encontrei um blog do referido entrevistado no qual ele desenvolve melhor esses conceitos. A explanação culmina na seguinte afirmação.
O que é uma pá de cal na minha na minha ingênua conclusão sobre DDD: "One Model to rule them all" .
Juntados os cacos, resta recompor-me e aproveitar este incidente como motivação para dar continuidade a leitura da "bíblia" e para pesquisar sobre "domínio múltiplo". Como produto destas pesquisas espero responder as perguntas do tipo: Seria o design com "domínio multiplo" uma prática comum no mundo DDD? O "domínio múltiplo" é uma condição para se praticar DDD e imutabilidade? Quais os impactos na coesão do sistema? Isso não seria uma extrapolação Chiita dos princípios de design SRP e Command-Query Separation para arquitetura? Certezas poucas e dúvidas muitas!
sexta-feira, 23 de janeiro de 2009
Nova unidade Globalcode em São José dos Campos
Enviado pelo Boletim Globalcode
A Season Treinamentos, que desde 2003 oferece a profissionais de informática a oportunidade de expandir seus conhecimentos com treinamentos avançados nas mais diversas tecnologias, agora oferece os cursos Globalcode em São José dos Campos.
A Unidade estréia a parceria oferecendo o mini-curso gratuito "MC55 - Java na prática: A carreira, ferramentas, Web 2.0 e dispositivos móveis", ministrado por Vinicius e Yara Senger no dia 12/02 às 18h30 hs.
Não perca tempo faça já sua inscrição.
Java na prática
12/02/09 - São José dos Campos
Quinta das 18:30 às 21:30 hs
O primeiro curso a ser oferecido pela Season na Unidade São José dos Campos é a Academia Java, o produto carro-chefe da Globalcode com mais de 160 turmas realizadas, mais de 2500 alunos capacitados, e muitos alunos certificados.
quinta-feira, 15 de janeiro de 2009
Curso de Introdução a Desenvolvimento de Jogos em Java em São José dos Campos
Java (ID2J), será realizado na UNIFESP (Universidade Federal de São
Paulo), na cidade de São José dos Campos/SP, no dia 18 de fevereiro de
2009, das 16:00 às 20:00; e contará com apoio da revista MundoJava e
do SJCJUG (Grupo de Java de São José dos Campos). Inscrições podem ser
feitas até o dia 12/02 e o valor da entrada é 1 Kg de alimento não
perecível.
O objetivo do curso é apresentar os fundamentos de programação em Java
para criação de jogos de computadores. São abordados tópicos desde
apresentação da linguagem Java e conceitos de Programação Orientada a
Objetos até técnicas gráficas como sprites, colisão de objetos e
controle de memória e processamento.
Organizado pelo GUILDJ (Grupo UNIFESP de Incentivo a Lógica e
Desenvolvimento de Jogos), o curso visa apresentar os conceitos a
estudantes e interessados em desenvolvimento de jogos e permitir a
interação com outros desenvolvedores. Além dos conceitos apresentados,
serão mostrados exemplos simples mas funcionais e exercícios para
melhoria e expansão dos exemplos. Será emitido certificado de
participação.
Mais informações em http://sites.google.com/site/