quarta-feira, 30 de janeiro de 2008

Tomcat: Serviço do Windows: Dependência

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 com o valor igual ao nome do serviço que o Tomcat será dependente. Observação: para ter efeito, é necessário reiniciar o Windows.

segunda-feira, 21 de janeiro de 2008

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.

sexta-feira, 18 de janeiro de 2008

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.

quinta-feira, 17 de janeiro de 2008

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.

sábado, 12 de janeiro de 2008

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.

quarta-feira, 9 de janeiro de 2008

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