Postagens

Mostrando postagens de 2008

Mini-Curso "Java e Banco de Dados: JDBC, Hibernate, JPA e EJB 3"

Estive presente no mini-curso "Java e Banco de Dados: JDBC, Hibernate, JPA e EJB 3", promovido pela V.Office com o apoio do Grupo de Usuários Java de Santa Catarina (GUJavaSC) , que ocorreu em 14/10/2008, no auditório da ACATE. O ministrante Henrique Oliveira apresentou de forma simples e direta a evolução do Java no acesso a banco de dados: JDBC -> Hibernate -> JPA. Por fim, demonstrou um projeto EJB 3 fazendo uso da JPA com injeção de dependência e como gerar automaticamente com o NetBeans entidades a partir de tabelas de um banco de dados e páginas JSF a partir de entidades. A apresentação e os códigos utilizados no curso estão disponíveis no endereço: http://code.google.com/p/vofficejava/

VirtualBox

Imagem
Em substituição ao VMware Workstation, versão 4.5.2, que vinha utilizando desde 2004, resolvi experimentar a solução de virtualização da Sun, o VirtualBox . Por enquanto, fiz apenas um teste instalando o Windows XP Professional SP 1 sem nenhuma atualização. O desafio será migrar as máquinas virtuais do VMware para o VirtualBox.

MyFaces Core 1.1.6

Imagem
Em 16/08/2008 foi lançada a versão 1.1.6 do MyFaces Core, que implementa a especificação 1.1 do JSF. Entre as melhorias, a que mais me agradou foi a implementação do recarregamento automático dos arquivos faces-config quando modificações são detectadas. Com isso, a produtividade dos desenvolvedores que trabalham com JSF poderá aumentar significativamente. Não tinha nada mais desagradável -- na verdade, ainda tem muitas outras coisas desagradáveis no JSF -- do que ter que fazer o redeploy de uma aplicação porque esqueceu de passar algum parâmetro para um bean ou precisou mudar alguma regra de navegação.

Firefox 3: Downgrade

Após usar o Firefox 3 por algum tempo em uma máquina com Windows XP SP 2, cansei! Ele apresenta um problema de uso excessivo de CPU. Esse problema também é relatado em http://www.ghacks.net/2008/06/09/fix-excessive-firefox-3-cpu-and-hard-disk-usage , onde parece estar relacionado aos favoritos. A solução proposta nesse blog é a de excluir todos os itens dos favoritos! Depois de procurar e não encontrar uma solução satisfatória, resolvi fazer um downgrade para a versão 2.0.0.15 do Firefox.

Mini-Curso EJB 3.0

O mini-curso sobre Enterprise Java Beans (EJB) 3 promovido pela V.Office com o apoio do Grupo de Usuários Java de Santa Catarina (GUJavaSC) , que ocorreu em 23/07/2008, no auditório da ACATE , foi ótimo! Em uma hora e quarenta minutos o ministrante Rodrigo Cândido da Silva fez uma completa introdução ao EJB 3.0, JPA e aos serviços oferecidos por um container Java EE 5, sendo muito útil tanto para quem conhece e trabalha com EJB (em especial para quem ainda usa a versão 2.x) quanto para quem está começando. Ele conseguiu demonstrar como o EJB 3 pode ser mais produtivo em relação ao EJB 2.x, desmistificando que o EJB é complicado, burocrático e pouco produtivo. A apresentação utilizada no curso está disponível no endereço: http://code.google.com/p/vofficejava/

NetBeans 6.1 Beta: Performance

Imagem
Instalei a versão 6.1 beta do NetBeans. De fato houve uma melhora considerável na performance. A inicialização está tão rápida quanto a versão 5.5.1.

NetBeans IDE 6.1 Beta

Foi lançada a versão 6.1 beta do NetBeans IDE. Três melhorias me chamaram a atenção: Suporte a JavaScript incluindo até refatoração (estou curioso para testar esse recurso); Até 40% mais rápida a inicialização (é uma melhora considerável); Suporte ao Framework Spring (embora seja bem pobre). Mas ainda continuo usando a versão 5.5.1 para produção. Mas informações: http://www.netbeans.org/servlets/NewsItemView?newsItemID=1200

Tomcat: Serviço do Windows: Dependência

Imagem
Recentemente precisei configurar o serviço do Apache Tomcat no Windows como dependente de outro serviço. Para realizar essa terefa, teoricamente, bastaria alterar o serviço através da opção --DependsOn de um programa de linha de comando que acompanha o Tomcat. Porém, na prática, não funcionou. De acordo com o Windows service HOW-TO , o comando para adicionar um serviço como dependente do Tomcat é o seguinte: tomca6.exe //US// Tomcat6 --DependsOn= Serviço onde: tomcat6.exe é o nome do programa para instalar, atualizar e remover o serviço do Tomcat no Windows; Tomcat6 é o nome do serviço do Tomcat no Windows; Serviço é o nome do serviço que o Tomcat dependerá. A execução desse comando acontece normalmente, mas a dependência não é adicionada. A solução que encontrei para esse problema foi realizar essa configuração diretamente no registro do Windows, em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl\Services\ Tomcat6 , criando um novo valor de seqüência múltipla chamado DependOnService

TIM: Recarga com Cartão de Crédito

A TIM oferece o serviço de recarga com cartão de crédito. Com esse serviço é possível recarregar o celular diretamente do aparelho discando *244 . Antes de realizar a primeira recarga é necessário fazer o cadastro do cartão ao custo de R$ 5,00, que são convertidos em 5 minutos de ligações locais para telefones fixo ou TIM. O cadastro é feito de forma eletrônica, sem a necessidade de falar com algum atendente, bastando apenas informar pelo teclado do celular o número do cartão de crédito, CPF, data de nascimento e uma senha para as futuras recargas. Fiz o cadastro e uma recarga. Achei o serviço muito prático. Agora, quando ficar sem crédito, posso fazer uma recarga de qualquer lugar, a partir do próprio aparelho. A "desvantagem" desse serviço é que o gasto pode aumentar devido a essa praticidade.

IMAP: Gmail & Outlook Express

Embora o Outlook Express seja um cliente de e-mail muito criticado por alguns, tanto pelo seu histórico de vulnerabilidades e/ou quanto pela falta de recursos, é o meu companheiro preferido há anos, desde a época onde era chamado de Microsoft Internet Mail. Simplesmente porque sempre atendeu perfeitamente as minhas necessidades: enviar, receber, guardar, organizar e pesquisar e-mails. O e-mail do meu domínio santini.eti.br é servido pelo Gmail através do Google Apps . Hoje resolvi experimentar a ativação do IMAP . Com o IMAP , em vez do POP , é possível manter as mensagens sincronizadas em vários clientes de e-mail. Agora tenho acesso às minhas mensagens tanto no Gmail quanto no Outlook Express. Para ativar o IMAP para a sua conta, acesse Configurações -> Encaminhamento e POP/IMAP no Gmail.

TIM: Nova Forma de Consultar o Saldo

A TIM implementou uma nova forma de consulta de saldo para clientes pré-pago. Agora basta ligar para *222# para receber no visor do aparelho o saldo e a validade da recarga, bem como o valor e a validade dos bônus. Achei essa nova forma muito mais prática e rápida.

Domínio Personalizado no Blogger

O Blogger permite a configuração de um domínio ou subdomínio para o seu blog. Com essa possibilidade, criei um subdomínio chamado blog no meu domínio santini.eti.br e configurei o endereço do meu blog para http://blog.santini.eti.br (o antigo endereço continua funcionando também). Veja aqui as instruções de como usar um domínio personalizado para o seu blog.

SQL Server: como adicionar a propriedade identity a uma coluna já existente

O SQL Server não oferece um meio de adicionar a propriedade identity a uma coluna já existente. Para resolver esse problema, é necessário recriar a tabela. A seguir mostro um exemplo de como realizar essa tarefa sem perder os dados já existentes. Metadados da tabela: create table cliente ( id integer not null, nome varchar(100) not null, endereco varchar(100), constraint cliente_pk primary key (id) ) 1. Realize uma cópia da tabela: select * into cliente_tmp from cliente 2. Apague a tabela: drop table cliente 3. Recrie a tabela com a propriedade identity definida: create table cliente ( id integer not null identity, nome varchar(100) not null, endereco varchar(100), constraint cliente_pk primary key (id) ) 4. Copie de volta os dados da tabela: set identity_insert cliente on go insert into cliente (id, nome, endereco) select * from cliente_tmp go set identity_insert cliente off go 5. Por fim, apague a cópia da tabela: drop table cliente_tmp