Desenvolvimento

Novo NetBeans 6.8

netbeansHoje ao abrir o Netbeans (já fazia duas semanas que não passava perto do Java) recebi um informativo falando sobre uma nova versão que estava disponível para download. Então vamos ao que interessa:

O mundo Java é dividido entre duas IDE’s (Integrated Development Environment), o NetBeans e o Eclipse. Grande parte dos desenvolvedores que acompanham o Java desde seus primórdios e os oriundos do C++ são cativados amplamente pelo Eclipse. Já a nova geração do Java e os amantes da interface gráfica se encantaram com a facilidade de criar interfaces tal como o Delphi e o Visual Studio.

Vale a pena lembrar que o NetBeans é um projeto de código aberto e mantido pela Sun.

Pelo fato de ser propriamente desenvolvido em Java é possível executa-lo em Linux, Solaris, MacOS e Windows.

Então, com este brevíssimo histórico, é apresentada a nova versão do NetBeans.

Com o NetBeans desenvolvemos aplicações Java para desktop, enterprise, web, FX e mobile. Além disso é possível trabalhar com C/C++, PHP, JavaScript, Groovy, e Ruby.

O vídeo abaixo é parte inicial de uma coleção de vídeos que apresentam as funcionalidades do NetBeans.

Os outros vídeos podem ser acessados através deste link: http://netbeans.org/kb/docs/intro-screencasts.html

Fica então o convite para conhecer um pouco mais da plataforma Java e como utiliza-la através do NetBeans.

Dicas SQL – Resetando um campo auto incremento de um BD

Para resetar um campo auto incremento de um banco  basta utilizar o comando abaixo:

MySQL:

ALTER TABLE tabela AUTO_INCREMENT = 0

SQL Server:

DBCC CHECKIDENT(‘tabela’, RESEED, 0) ;

Paradox 7 (Não testado em outras versões):

function ResetAutoInc(FileName: TFileName; NewValue:Longint): Boolean;
begin
with TFileStream.Create(NomeDoArquivo, fmOpenReadWrite) do
try
Result := (Seek($49, soFromBeginning) = $49) and (Write(NovoValor, 4) = 4);
finally
Free;
end;
end;

Quem souber em mais Bd’s é só comentar aqui que adiciono e dou os devidos créditos.

BIL – Baixador de Imagens dos Lunáticos

Baixador de Imagens dos Lunáticos

No dia 31/08/09 em nosso grupo de e-mails surgiu uma necessidade:

“Pessoal, alguem conhece um soft que faça download em massa das imagens resultantes de uma procura do google image? (a imagem full não os thumbs)”

A partir desta data fiquei com esta idéia na cabeça, até começar alguns estudos em 16/09/09 e no dia 01/11/09 saiu a nossa primeira versão.

O Baixador de Imagens dos Lunáticos é um programa que se utiliza do motor de busca de imagens do google para baixar as imagens diretamente das páginas originais, facilitando assim a busca e aquisição de imagens.

O software foi desenvolvido em java e necessita da JRE 1.6 para funcionar corretamente. Para baixar a JRE visite: http://java.sun.com/javase/downloads/

Nossa primeira idéia para utiliza-lo foi baixando papéis de parede. Desde então o BIL está recebendo melhorias.

A tela princial do BIL:

BIL - Tela Principal

A página do projeto que ainda está em construção: http://code.google.com/p/bilbr/

Para realizar o download, clique aqui!!

Fica aqui o convite para todos participarem do desenvolvimento do BIL!

Firebug

O Firebug é uma extensão para o Firefox que permite debugar (ou se preferir depurar :-) ), editar e monitorar CSS, HTML, DOM e Javascript em páginas Web. No Firebug também está disponível um console para registrar erros e acompanhar valores de variáveis.

Fica aí essa dica, afinal de contas quem nunca precisou colocar um alert em uma função javascript para “debugar” seu código, que jogue a primeira pedra… hehehehe eu cansei de fazer isso :-)

Você pode baixar o Firebug daqui: http://getfirebug.com/

Nesse link abaixo é possível ver um vídeo tutorial do uso do firebug, é bom para dar uma visão mais clara e ver como ele é maneiro.

http://www.digitalmediaminute.com/screencast/firebug-js/

Visitor Maps não mostra mapas.

Ao iniciar este blog me deparei com os vários plug-ins do Wordpress, achei isso facinante, muitas utilidades com pouquissimo trabalho.

Navegando entre as milhões de opções achei um plug-in muito interessante chamado Visitor Maps and Who’s Online. Muitas funcionalidades foram informadas e acabei sendo convencido a instalar este surpreendende extra neste pequeno blog.

Para minha felicidade a instalação foi completamente descomplicada, em alguns cliques estava com varias informações geográficas sendo disponibilizadas no Painel e sem nenhum custo adicional de um serviço pago.

Após todas estas maravilhas tive que começar a descer do céu, pois o plug-in necessida de um banco de dados de aproximadamente 30Mb que deve ser colocado na sua pasta padrão. Tudo bem até que o Felippe fez o upload do arquivo rapidinho. Então novas funcionalidades surgiram: bandeiras dos países, coordenadas, latitude e longitude. Cada vez melhorando mais.

Até que me indago sobre: Visitor Maps, correto? Aonde estão os mapas? Depois de algumas visitas, cliques, tentativas … não consegui nada !!

Então acabei o espírito aventureiro falou mais alto fui me utilizar de recursos avançados com a ajuda do nosso ilustríssimo Homem Bit, Clemar.

Cenário:

  • Wordpress 2.8.4
  • Visitor Maps 1.2.9

O problema:

A página é carregada, as localizações dos visitantes são informadas, mas o mapa de fundo não é exibido.

A pesquisa:

A partir deste problema, Clemar fez o download da imagem através do flashget e tentou abri-la, mas ocorreu o mesmo problema.

O próximo passo para diagnosticar o defeito da imagem utilizando um recurso muito útil na década de 80. Abrimos um prompt de comando e digitamos: “edit /70 imagem.jpg”

Edit DOS

Clemar verificou que o cabeçalho da imagem estava danificado, então a imagem foi alterada diretamente em seu código para tentar solucionar.

Então … Funcionou !! O visualizador do Windows conseguiu abrir a imagem sem problemas.

A nossa nova tarefa foi verificar se o arquivo que está no ftp não estava corrompido. Blz … O arquivo em perfeito estado.

A saída encontrada foi analisar o pacote de retorno do servidor para identificar o momento em que a imagem estava sendo corrompida. Para isso utilizamos um sniffer, um bem velinho, o Iris 4.0.

Com ele analisamos o tráfego:

Iris

Está explicado!! Estão sendo informados 3 CRLF de forma incorreta no cabeçalho da imagem e este foi o erro que conseguimos corrigir através do pré-histórico edit do DOS.

Mas como que descobrimos essa mágica. Nada melhor do que um pouco de teoria: part of Hypertext Transfer Protocol — HTTP/1.1 – RFC 2616 Fielding, et al. – Section 6 Response

Com este passo detectamos que o problema está no lado do servidor. Ufa, 50% a menos.

Examinando o código fonte chegamos ao class-wo-worldmap.php, um script que pega a imagem do servidor, faz algumas alterações e assim a exibe no navegador.

Após algumas horas de debug, chegamos a uma solução.

A solução:

Sabendo que o problema está na montagem do cabeçalho da imagem fomos direto ao ponto e colocando a prova todos os nossos conhecimentos de PHP, nos encontramos novamente com ob_end_clean.

Esta maravilhosa função limpa e desativa o buffer de saída, ou seja, qualquer lixo que exista é mandado embora. Como nós queremos somente o cabeçalho da imagem esta solução foi perfeita.

Um print para elucidar:

class-wo-worldmap

Conclusão:

Não temos certeza se esta é a melhor solução para o problema, ou se o desenvolvedor Mike Challis aprova.

Vamos entrar em contato e verificar a necessidade de correção, mas o nosso blog está exibindo os mapas!!

Dicas SQL – Selecionar linha aleatória

Há algum tempo apareceu uma necessidade de adquirir uma linha de uma tabela de forma aleatória, então temos as seguintes instruções.

MySQL

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PostgreSQL

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Microsoft SQL Serve:

SELECT TOP 1 column FROM table
ORDER BY NEWID()

IBM DB2

SELECT column, RAND() as IDX
FROM table
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

Oracle

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

Fonte:
http://www.petefreitag.com/item/466.cfm

Dicas SQL – Limitando registros de uma consulta no BD

Começando com algumas dicas simples de MySQL:

Para mostrar o último registro de uma tabela podemos utilizar o seguinte comando:

select * from tabela order by id desc limit 1
O “desc” determina que os registros serão exibidos de forma decrescente.

Para exibir os 5 últimos registros de sua tabela:

select * from tabela order by id desc limit 5
Ou seja, o número após o “limit” é o que determina quantos registros serão exibidos.

Agora para mostrar apenas o penúltimo registro:

select * from tabela order by id desc limit 1,1

Sobre o comando acima, o primeiro número determina quantos registros serão “pulados”, e o segundo representa quantos registros serão mostrados.

Portanto, se quisermos mostrar o penúltimo e o antepenúltimo registro podemos utilizar o seguinte comando:

select * from tabela order by id desc limit 1,2

A partir daí dá pra conseguir muitos resultados específicos de uma tabela, lembrando que o campo id é um inteiro com auto incremento.

Até a próxima!!!

6 visitors online now
6 guests, 0 members
Max visitors today: 6 at 05:07 am GMT+3
This month: 62 at 07-19-2010 07:37 pm GMT+3
This year: 74 at 04-11-2010 11:55 am GMT+3
All time: 263 at 11-11-2009 02:50 pm GMT+3