WEBCODELOG

free codes, enjoy

GeoLite City informações completas do seu IP – Parte II

without comments

Você já viu que utilizando as bibliotecas do GeoLite é possivel localizar o pais de um IP, mas é uma informação limitada, já com o GeoLite City exibe informações mais detalhadas além do Pais como Estado, Cidade, Latitude e Longitude, Código Postal (CEP) e muito mais.
Como esta é uma ferramenta gratuita, algumas informações não estão totalmente completas como por exemplo o CEP e  Código de Área (telefônia). Em meus testes consegui identificar que para os EUA, Canadá e Itália estes dados estão disponíveis, mas para o Brasil (pelo menos para o estado de São Paulo) ainda não.

Este código complementa o mesmo utilizado em GeoLite Country, porém, utiliza um objeto com as caracteristicas de localização.

Faça o download do arquivo dat, copie o geoipcity.inc também, crie o arquivo – geoipregionvars.php – com as variáveis e constantes necessárias como este, certifique-se que o arquivo geoip.inc esteja na sua estrutura de arquivos, que deverá ficar assim:

arquivos-geolitecity

Vamos ao código! O seu arquivo index.php deverá centralizar a obtenção do IP e chamar as funções para decodificar e exibir os dados sobre ele, veja:


<?php

// Includes da API
require("geoipregionvars.php");
require("geoipcity.inc");

// Obtem o IP
$vIP     = $_SERVER['REMOTE_ADDR'];

// Abre o arquivo dat com o banco de dados
$giCity  = geoip_open("GeoLiteCity.dat",GEOIP_STANDARD);

// obtem o registro do
$record  = geoip_record_by_addr($giCity, $vIP);
?>

Até aqui conseguimos identificar o IP e obter as informações sobre de localização que está na variável $record, a seguir esta a camada de visualização dos dados.


<?
// obtem o registro do
$record  = geoip_record_by_addr($giCity, $vIP);
if( !empty($record) ){?>
<table border="0" cellpadding="2" cellspacing="1">
<tr>
<th colspan="2">Informações sobre o IP
<em>"<?= $vIP ?>"</em></th>
</tr>
<tr>
<td width="35%">País</td>
<td width="65%"><?= $record->country_name ?></td>
</tr>
<tr>
<td>Estado</td>
<td>
<?=$GEOIP_REGION_NAME[$record->country_code][$record->region] ?>

</td>
</tr>
<tr>
<td>Cidade</td>
<td><?= $record->city ?></td>
</tr>
<?    if(!empty($record->postal_code)){ ?>
<tr>
<td>CEP</td>
<td><?= $record->postal_code ?></td>
</tr>
<? } ?>
<tr>
<td>Latitude</td>
<td><?= $record->latitude ?></td>
</tr>
<tr>
<td>Longitude</td>
<td><?= $record->longitude ?></td>
</tr>
</table>
<?
}
?>

Have a fun.

Bookmark and Share

Written by Luciano

janeiro 18th, 2009 at 6:38 pm

Posted in Programação

Tagged with , ,

GeoLite Country Obtendo a localização por IP – Parte I

with one comment

Certa vez fiz um curso de um determinado produto cujo sua função basicamente era medir a audiência dos sites da empresa em que trabalhava, na mesma época onde pagava-se absurdos por este tipo de informação, irônia ou não, hoje o Google Analytics faz gratuitamente. O que me mais me fascinou foi quando a instrutora explicou a importância do IP, como é distribuído, o que é possível fazer através de seu rastreamento, assuntos de deixar qualquer geek boquiaberto.

Portanto, resolvi fazer este post para demonstrar uma facilidade muito interessante e pouco utilizado em sites nacionais, como os de operadora de telefônia, que preferem perguntar qual a sua cidade ao invés de identificar seu IP e redirecioná-lo aos serviços prestados em sua região e, fornecer uma opção para mudar de região quando quiser.

Talvez você encontre diversos outros bancos de dados de IPs na internet, porém, o mais popular é da Maxmind, que disponibiliza um bom serviço e gratuíto e também um serviço mais amplo por alguns dólares. A versão free é chamada de GeoLite e fornece além dos dados em CSV e DAT, incluí uma série de APIs para as linguagens de programação mais populares e alguns tutoriais de como utilizá-las, aqui utilizaremos PHP.

Vamos lá, faça o download do arquivo dat do GeoLite Country, e depois baixe as funções para manipulação do arquivo dat. Não será necessária nenhuma configuração no servidor tão menos no PHP, veja como é simples a identificação de pais utilizando os recursos do GeoLite Country.


<?php

// Inclui as funções do GeoIP Country
require("geoip.inc");

// Abre o arquivo .dat (banco de dados)
// especificando o caminho fisico do mesmo.
$gi = geoip_open("GeoIP.dat", GEOIP_STANDARD);
// recebendo o IP
$vIP = $_SERVER['REMOTE_ADDR'];
echo "Endereço de IP identificado: " . $vIP . "<br/>";
// Exibe a sigla e o nome do País
echo geoip_country_code_by_addr($gi, $vIP);
echo geoip_country_name_by_addr($gi, $vIP);

// fecha a conexão com o banco de dados
geoip_close($gi);
?>

Uma informação básica como esta, permite aos sites de serviços fornecerem funcionalidades, customizações, atrações no geral para que seu visitante sinta-se mais confortável se isto é possível.

Vou dar sequência a esta sessão de post, aprofundando as funcionalidades do GeoLite.

Namastê.

Bookmark and Share

Written by Luciano

janeiro 18th, 2009 at 3:36 pm

Posted in Programação

Tagged with , ,

A minha Search Engine

without comments

Complementando o post anterior, aqui está o extension para adicionar ao seu Firefox 2+ ou IE 7+.

Você poderá fazer um OpenSearch para seu navegador como já foi explicado, e para divulga-lo facilmente, basta que em seu site exista o metadado seguindo o exemplo abaixo:


<link rel="search"
type="application/opensearchdescription+xml"
title="Luciano Silva"
href="http://www.lucianosilva.com/lucianosilva-opensearch.xml">

Assim o navegador faz um autodiscovery, e habilitará a opção “Adicionar Mecanismo de Busca” na barra de pesquisa, desta maneira qualquer pessoa sem conhecimento técnico poderá mais facilmente fazer pesquisas em seu site.

search bar

Nasmatê.

Veja mais:

https://developer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox
https://developer.mozilla.org/en/Adding_search_engines_from_web_pages

Bookmark and Share

Written by Luciano

janeiro 16th, 2009 at 10:02 am

Posted in Plugins

Tagged with , , , ,

Criando Search Engines para seu navegador

without comments

Depois que o inovador Firefox 2, seguido pelo IE 7, acrescentarem um box para site pesquisa ao lado da barra de endereços do próprio navegador, você já se perguntou quantas vezes foi direto a página do Google, Ask ou Yahoo? Bem (tom sarcastico) se você ainda faz isto está perdendo tempo meu amigo.
O Search Engine Box disponibiliza milhares opções diferentes de sites para pesquisa de conteúdo, portanto se você costuma utilizar muito algum site economize tempo e adicione-o em seu navegador, mas se por um acaso não existir? Crie, ué! =)

Utilize o OpenSearch Description, como o próprio site deles diz é uma coleção de simples formatos para compartilhamento de resultados das pesquisas! =)
Criando um simples XML, você poderá descrever o seu engenho de pesquisa de um determinado site, na descrição abaixo utilizarei este blog como exemplo, e você poderá adicioná-lo ao seu navegador.


<?xml version="1.0" encoding="UTF-8"?>
<openSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<shortName>Luciano Silva</shortName>
<description>Luciano Silva, o mesmo bla bla bla de sempre</description>
<url type="text/html" method="get" template="://lucianosilva.com/?s={searchTerms}"/>
<image width="16" height="16">http://www.lucianosilva.com/favicon.ico</image>
<developer>Luciano Silva</developer>
<moz:UpdateInterval>7</moz:UpdateInterval>
</openSearchDescription>

Salve o arquivo como lucianosila.xml, pronto simples assim, agora você poderá adicionar ao seu navegador. Se você quiser entender melhor cada tag do XML acima veja a especificação aqui.

Agora você poderá adicionar o seu novo Search Engine em seu navegador, e não apenas isto, poderá também compartilhar com todos que queiram utilizá-lo. Vá até o site do Mycroft Project e envie o seu plugin, após 24 horas eles irão avaliar se o que foi feito é compativel com os navegadores e se esta funcionando corretamente e, somente depois disponibilizá-lo na página do projeto.

Você também pode construir o seu Search Engine mais fácilmente (ignorando o código acima), basta seguir o passo-a-passo do próprio site dos caras, veja.

Bem, eu falei bastante do suporte ao firefox, por que é o meu navegador favorito, porém, se você utiliza o Internet Explorer 7+ seguindo o tutorial acima terá suporte também. Uma outra curiosidade é que na página de Search Engines da Microsoft, está disponível um serviço para adicionar instântaneamente um novo provedor ao browser, de maneira simples.

Have a fun.

Referências:
http://www.opensearch.org/
https://developer.mozilla.org/en/Adding_search_engines_from_web_pages
https://developer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox
http://www.wikihow.com/Add-a-Custom-Search-Engine-to-Firefox%27s-Search-Bar-(Windows-Version)
http://www.microsoft.com/windows/ie/searchguide/pt-br/default.mspx

Bookmark and Share

Written by Luciano

janeiro 13th, 2009 at 3:15 pm

Posted in Plugins

Tagged with , , , ,

Sun Certified Java Programmer – Requisitos

with one comment

O exame CX-310-055 da Sun é para a Certificação Java versão 1.5 da linguagem, uma das metas mais cobiçadas entre os programadores da plataforma e também uma das mais temidas.
Básicamente são testados conhecimentos primordiais da linguagem como declarações, controle de escopo, condições,  APIs específicas até conceitos de orientação a objetos.

Atualmente a versão da SCJP é a 6, porém ainda é possível fazer a 5, existem cursos específico preparatórios para a certificação, mas eu ainda prefiro seguir o bom e velho livro da Kathy Sierra, e os mocks que são diversas opções pela internet.

Abaixo vou listar alguns links úteis para auxiliar nos estudos.

Mocks
http://www.javabeat.net/javabeat/scjp5/index.php
http://www.wickedlysmart.com/SCJPStudyGuide/Java_5_SCJPquestions.html
http://www.javabeat.net/javabeat/scjp5/mocks/index.php

Perguntas Frequêntes no JavaRanch
http://faq.javaranch.com/java/ScjpFaq

Guia de Estudos e Dicas
http://java.boot.by/scjp-tiger/
http://camilolopes.wordpress.com/2008/03/31/falando-um-pouco-sobre-o-exame-310-055-scjp/

Livro da Kathy Sierra
Submarino
Amazon

Twitter da Kathy
http://twitter.com/KathySierra

Detalhes da Certificação
http://www.sun.com/training/catalog/courses/CX-310-055.xml

Boa Sorte!

Bookmark and Share

Written by Luciano

dezembro 8th, 2008 at 1:35 pm

Posted in Programação

Tagged with ,