Por Sérgio Lopes em 30/04/10
A Caelum sempre reconheceu o poder da comunidade e do open source, e ativamente participa de ambas. Disponibilizamos várias apostilas para download, organizamos o GUJ e o InfoQ Brasil e estamos diretamente envolvidos em diversos projetos de código aberto. Há desde novos projetos como VRaptor, Restfulie e Stella, até a participação em projetos existentes como Hibernate, XStream e PicoContainer.
Aliás, hoje, o VRaptor é um dos principais projetos que desenvolvemos, e acaba de ter sua versão 3.1.2 lançada. A nova série 3.x já possui mais de 8000 downloads.
O Restfulie é outro importante projeto que tem revolucionado a forma como se aplica REST hoje mundo a fora. O projeto é liderado por Guilherme Silveira que foi apresentado juntamente com Ian Robinson e Jim Webber da ThoughtWorks no WWW 2010, um evento com palestrantes de peso como o “criador” da web, Tim Berns Lee. Há uma entrevista com o Guilherme (em inglês) para você conhecer mais do assunto.
E, agora, para incentivar ainda mais a comunidade, a Caelum lança sua Iniciativa Open Source, que traz descontos em todos os cursos para alunos que participam de projetos de código aberto. Saiba mais na página da iniciativa e participe também com o seu projeto.
Tags: caelum, código aberto, comunidade, guj, iniciativa, open source, opensource, restfulie, vraptor, xstream
Postado em caelum, comunidade, desenvolvimento, guj, open source, vraptor | 9 Comentários »
Por Jonas Abreu em 17/11/08
No último domingo foi feito o primeiro release público do projeto Mirror (versão 1.2).
O Mirror é um projeto que tem por objetivo facilitar o uso da Java Reflection API, removendo boa parte da burocracia (como as diversas checked exceptions que são lançadas) e utilizando uma DSL para melhorar a legibilidade do código.
Com essa remoção de burocracia e a DSL, é possível transformar o seguinte código:
Field toSet = null;
for (Field f : target.getClass().getDeclaredFields()) {
if (f.getName().equals("field")) {
toSet = f;
}
}
if (toSet != null && ((toSet.getModifiers() & Modifier.STATIC) == 0)
&& ((toSet.getModifiers() & Modifier.FINAL) == 0)) {
toSet.setAccessible(true);
toSet.set(target, value);
}
em algo mais legível e expressivo:
Mirror.on(target).set().field("fieldName").withValue(value);
Atualmente o Mirror possui suporte para lidar com as operações reflectivas mais comuns (como instanciar objetos, invocar métodos, ler ou escrever atributos, etc). Ele foi desenvolvido por Adriano Almeida, Diego Feitosa e eu, todos consultores/instrutores aqui da Caelum, enquanto enfretavamos problemas comuns no dia a dia.
Esperamos que possa ser útil para vocês também!
Tags: dsl, java, open source, reflection, vidageek
Postado em collections, design patterns, eventos, geral, integração, jstl, oo, rails | 12 Comentários »