Posts

Showing posts from 2008

Plugin do Groovy parou de funcionar no Ganymede

Image
Instalei o eclipse 3.4.1 aka Ganymede SR1, de cara ele já se mostrou problemático em relação aos plugins, tive que matar a pasta '.metadata' do workspace e criar de novo. Ai eu consegui fazer os updates básicos da plataforma. O pessoal anda reclamando que todos esses problemas com plugins do eclipse são referentes ao novo sistema de provisionamento 'P2' do eclipse, na verdade é possível que esses plugins tenham que ser reescritos ou o eclipse pode ter algum bug relacionado a essa questão. Reparem que na tela de update do eclipse as coisas já estão estranham mesmo assim, teimoso, eu continuei e ai veio a confirmação. Não funcionou! Agora é voltar a versão antiga do eclipse que tinha suporte a esse plugin do Groovy até que os caras corrijam as coisas. Se alguém achou uma solução nessa mesma versão do eclipse, me fale!

Não Clique Aqui!

Image
Pelo jeito você não resistiu, não conseguiu se conter e entrou neste post. Mas será que você fez isso por curiosidade ou por que não conseguiu evitar? Caso você não esteja 100% certo de sua motivação ao entrar nesse post pode conferir esse site dotclick.it . No Dontclick.it você não pode clicar mesmo! Esse site traz a tona uma serie de questões interessantes para discutirmos sobre Design de Interação é componentes da aérea de Usabilidade . É muito difícil fazer algo fácil, não sei por que mas temos a tendência de fazer as coisas o mais complicado possível. Quem já não cansou de ver telas em sistemas como se fossem painéis de controle de aeronaves? Sim muitos sistemas são assim, a grande questão é Precisa tudo isso na interface? Na grande maioria das vezes não precisa de tudo isso. Mas isso ocorre por que não gastamos o tempo necessário em Usabilidade quando construímos um software o resultado disso? Softwares difíceis de se usar e que necessitam de muito treinamento. Quanto mais bem f...

Plugins essenciais para o Firefox 3

Image
O Firefox é o browser que possui o maior número de plugins desenvolvidos pela comunidade. Existem muitos plugins inúteis mas existem alguns que considero essencial se você for desenvolver uma aplicação web e o publico alvo forem usuários de firefox. O correto é desenvolver aplicações que rodam e todos os browsers, mas sabemos que isso não é uma tarefa fácil. Principalmente por que existem funções JavaScript proprietárias dos navegadores, você usa uma dessas funções e pronto sua aplicação não roda em outros browsers. A Microsoft foi uma das empresas que mais contribuiu para isso na guerra dos Browsers na década de 90. Outras empresas fornecedoras de navegadores também tiveram a sua parcela de culpa, o ideal é desenvolver sites que seguem o padrão W3C . Seguindo os padrões W3C podemos ter aplicações e sites escritos em Java ou qualquer outra linguagem que será capaz de rodar em qualquer browser. Este post não tem muitas pretensões estou apenas compartilhando os plugins que eu uso :) Lá ...

DTO fácil com o Doozer

Image
Um dos patterns mais consolidado e utilizando em outras linguagens além do Java é o Pattern , Layer. Muitos devem ter ouvido falar de aplicações em 3 camadas ou em N camadas . Nesse tipo comum de arquitetura existe a camada de apresentação também chamada de UI e existe a camada de negocio, onde ficam as regras e o processamento em si. Neste modelo arquitetural se faz necessário trafegar objeto s entre essas camadas. Existem diversas formas de realizar essa tarefa. Se você desenvolve utilizando POJOS pode utilizar a técnica mais simples que é passar o próprio POJO entre as camadas. Ao passar o POJO entre as camadas podemos estar expondo detalhes que implementação que não desejamos além de se fazer necessário todo o grafo de dependências do objeto. Em aplicações com remotabilidade, leia-se, EJB , WS-*, WS-REST ou qualquer outra forma de comunicação entre camadas e sistemas, você pode utilizar uma técnica um pouco maios apurada que diminui o acoplamento entre as camadas que é o Pat...

Procura-se Tradutor Java!

Image
Uma pessoa normalmente compra produtos de um determinado fornecedor por que este conseguiu lhe proporcionar uma série de experiências positivas. Não significa que não possa ter ocorrido experiências negativas, mas existiram mais experiências positivas do que negativas, quando você como provedor de algum produto proporciona muitas experiências positivas a um cliente o mesmo pode ser tornar um Evangelista. Esse termo é muito comum em Java, ou seja, não é algo exclusivo de Marketing. Quando estamos desenvolvendo um projeto as coisas não são muito diferentes, se encararmos que não apenas os usuários do software são clientes mas como o time de desenvolvimento de facto é também. Em um projeto de software sempre existem interesses em jogo. Esses interesses podem ser dos mais variados como por exemplo: Os desenvolvedores querem utilizar o framework Spring com LDAP por exemplo , o projetista deseja projetar classes para não só resolver os problemas do negócio mas como melhorar a solução atra...

Queries em arquivos de texto com o MetaModel

O MetaModel é um engine para execução de queries para diferentes tipos de fontes de dados. Normalmente realizamos queries em um banco de dados relacional, isso também pode ser feito com o MetaModel. O MetaModel vai além disso e possibilita que efetuemos queries em outros tipos de fontes de dados como por exemplo: Arquivo Texto (CSV) Arquivo MS Excel Arquivo OpenOffice Arquivo XML Banco de dados Tudo isso funcionando através de uma DSL-like escrita em java, onde a syntax é compatível com SQL 99. O framework permite trabalhar com a estrutura do "Banco" seja ele um arquivo Excel, CSV ou banco mesmo. Através do schema podemos obter as tabelas, colunas e tipos de dados da fonte dos dados, mesmo ela sendo um simples arquivo CSV. Apenas pela facilidade e simplicidade que o MetaModel faz isso já uma coisa fantástica! Como eu disse antes, o framework é feito com o padrão SQL 99, isto significa que você pode fazer queries SQL, isso através da DSL em java que ele possui. E...

Carreira em X e carreira em Y

Image
Não tenho dúvidas que uma das grandes aéreas das empresas brasileiras aonde o bixo pega é no setor de RH. Não sou nenhum administrador de empresas ou algo do gênero, porem trabalhei em diversas empresas no Brasil(a onde ainda trabalho :) ) onde eu vi dois tipos de carreira a em X e a em Y. Fonte: http://blogdourban.wordpress.com/2008/11/29/carreira-em-ti-modelo-y-x-analistas-prazer-sou-analista-8/ Nessa imagem a cima que vi no blog do Urban podemos ver bem em resumo o que é a tão falada carreira em Y. No inicio (falando de TI) todos começam com o desenvolvimento de software normalmente e depois a medida que o tempo vai passando vemos duas possibilidades, ou continuar na aérea mais técnica ou ir para o lado mais humano/administrativo da coisa, que em poucas palavras se resume a Gerência de Projetos. Não creio que o modelo em Y seja de todo o mal, o problema é que aqui no Brasil praticamente todas as empresas trabalham com esse modelo. É aquele ciclo enfadonho de começa como desenvolved...

Catalogo de Patterns do GOF

Image
Faz um bom tempo atrás que fiz um catalogo funcional de patterns do GOF, estou aqui para disponibilizar a vocês um projeto no Eclipse IDE um exemplo dos 24 patterns do GOF. Cada pacote é um pattern, todos tem javadoc e uma classe para rodar o exemplo, os exemplos são o mais simples possível, acredito que pode ajudar quem está iniciando no mundo dos padrões ou até mesmo aqueles que querem aprofundar seu conhecimento. Essa figura a cima categoriza os patterns do GOF sobre três grandes grupos que são eles: Criação Comportamento Estrutura São esses 24 que vocês vão encontrar no meu projeto de exemplos. O código pode ser baixado aqui .

Mapeamento de DN do LDAP com POJOS usando Spring

Em um post anterior eu introduzi o ApacheDS que é uma excelente solução para LDAP. Agora vou mostrar como é possível mapear atributos do LDAP de forma automática usando anotações. Para você realizar isso é necessário todos os requisitos do exemplo anterior . Vou utilizar a mesma arvore LDAP do post anterior . Muito bem vamos aos códigos! Vamos começar por um simples POJO chamado Pessoa. package com.blogspot.diegopacheco.ldap.pojo; import com.blogspot.diegopacheco.ldap.bind.LdapBinding; /** * Pojo Pessoa. * * @author Diego Pacheco * @since 07/12/2008 */ public class Pessoa { @LdapBinding(dn="uid") private String nome; @LdapBinding(dn="cn") private String cargo; public Pessoa() {} public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getCargo() { return cargo; } public void setCargo(String cargo) { this.cargo = cargo; } @Override public String toString() { return "nome: " + nome + ...

A Importância da Colaboração

É muito comum em descrições de vagas de empregos no Brasil aparecer entre os requisitos para a vaga, requisitos do tipo: Saber trabalhar em equipe Bom relacionamento interpessoal Comunicativo Hoje existe um grande número de empresas dispostas a serem mais colaborativas. Todos sabem da importância em se trabalhar em equipe. Mas de nada vale contratar as pessoas certas para seu time de desenvolvimento se toda a organização tem deficiências em colaborar. Os desenvolvedores por natureza são pessoas mais fechadas que falam menos e fazem mais, ao mapearmos esse perfil aos perfis corporativos chegamos no perfil de produtor, que é a pessoa que não gosta muito de reuniões e adora colocar a mão na massa e produzir código. Com a própria evolução da aérea você já começa a ver pessoas com o perfil de Empreendedorismo na TI. Esse perfil é mais escaço mas já começa a aparecer, normalmente ocupado por arquitetos de software, mas não são os únicos. Mesmo com uma equipe repleta de empreendedores de so...

Realizando pesquisas com o SpringLDAP no ApacheDS

Image
O ApacheDS é uma solução que prove soluções de diretório totalmente escrita em Java. Neste post vamos aprender a instalar e configurar o ApacheDS, o utilizaremos como serviço de diretórios LDAP e após vamos realizar querys no diretório com o Spring LDAP tudo isso no Windows. O ApacheDS é certificado pelo Open Group como um serviço de diretório LDAP v3. As grandes vantagens de se utilizar o ApacheDS é que com ele conseguimos utilizar triggers, views, stored procedures e queues no mundo do LDAP. Além da possibilidade de colocar o ApacheDS embarcado em outras aplicações como fazemos com o banco Derby por exemplo. Para fcilitar a nossa vida como administradores LDAP podemos utilizar o Studio, que é outra solução muito interessante para administrarmos o ApacheDS, o Studio é uma aplicação escrita com o Eclipse RCP, muito fácil de administrar e pode ser utilizada com qualquer servidor LDAP. LDAP V3 O LDAP é um protocolo para serviços de diretórios. Com ele podemos realizar pesquis...

Apresentação sobre JBoss Drools

Nesta terça-feira passada eu e meus colegas Maicon, Jader e Eduardo. O Drools é um sistema de BRMS que proporciona a posibilidade de expressarmos requisitos em forma de regras de produção. A apresentação mostra algumas das excelentes funcionalidades da ferramenta e no final existe um hands-on, neste existe um exemplo simples de um DSL escrita em português. Utilizei o plugin do Drools para o eclipse, então se você quiser rodar o exemplo terá que importar o projeto no eclipse e utilizar o plugin do Drools para o eclipse . Recursos Apresentação Fontes do Hands-on Dependências Eclipse 3.3 Plugin JBoss Drools org.eclipse.jdt.core.manipulation_1.2.0.v20080603-2000.jar org.eclipse.jdt.core_3.4.0.v_874.jar As bibliotecas do eclipse, você deve copiar para a pasta lib da aplicação de exemplo. Você encontra esses jars no caminho: $eclipse_home \plugins , onde $eclipse_home é a pasta onde você instalou o eclipse. J Boss Drools View SlideShare presentation or Upload your own. (tags: jboss engi...

syntaxhighlighter: Highlight para códigos no Blogger

Finalmente tomei vergonha na cara e coloquei um highlighter no meu blog. Estou utilizando o syntaxhighlighter que é feito em JavaScript. Muitos sites usam esse cara, apesar de ter muitos bugs abertos e várias coisas na wishlist achei muito fácil de usar. Vocês podem conferir o resultado neste post que eu fiz sobre Spring . Para colocar o recurso no Blogger, você deve baixar a ferramenta e fazer upload do CSS e dos arquivos .js em algum servidor. Agora você deve entrar no painel de administração do Blogger em: Configurações -> Layout -> Editar Html Edite o conteudo, no final do arquivo procure pelo fechamento das tags body e html e antes delas adicione os imports de CSS e JS, você acha isso no site da ferramenta . Aos poucos eu vou migrando o resto do blog para usar o recurso. Até a próxima.

Realizando estimativas de valor com Wideband Delphi

Estimar não é uma tarefa fácil e muito menos precisa. Se fosse fácil e 100% precisa essa técnica iria ser utilizada sempre por apostadores da Mega-Sena. :) Mas nem por isso podemos simplesmente virar as costas para a questão. Nesse caso não estimar não resolve o problema! Nos posts anteriores: http://diego-pacheco.blogspot.com/2008/11/o-cho-de-um-projeto.html http://diego-pacheco.blogspot.com/2008/08/estimativa-no-exatimativa.html Comentei de uma forma geral como poderíamos estimar utilizando outra abordagem, uma abordagem voltada ao comprometimento! Quais seriam os ganhos se adotarmos essa abordagem? Bom seriam vários mas posso destacar: Mais envolvimento com pessoas do negócio Informações mais realistas para tomadas de decisões Alinhamento total ao Planejamento Estratégico Visão de um horizonte maior facilita muito o planejamento ao curto prazo Melhor desempenho de *previsto* vs *Realizado* Se você não der uma data para o Sponsor ou para o Cliente ele vai pensar em uma para você! Est...