Pull to refresh
  • by relevance
  • by date
  • by rating

Определение страны по IP: тестируем скорость алгоритмов

PHP *
Для определения страны по IP необходимы специальные базы данных, состоящие из диапазонов IP адресов и соответствующих им стран. Обычно такие базы данных распространяются в виде CSV или SQL файлов для использования в СУБД, либо бинарных файлов специального формата.

Для проведения тестирования была выбрана февральская база GeoLite Country, бесплатная версия GeoIP Country от MaxMind.

В тестировании приняли участие несколько популярных решений и мой «велосипед» на эту тему.
Читать дальше →
Total votes 66: ↑57 and ↓9 +48
Views 33K
Comments 93

Sypex Geo — быстрое определение города по IP

Website development *PHP *
В начале года я публиковал статью Определение страны по IP: тестируем скорость алгоритмов, в которой упоминался мой «велосипед» отличающийся высокой скоростью работы. Одним из популярных вопросов стала возможность определения города по IP.

И вот несколько месяцев спустя, проект начинавшийся, как «for fun» перерос в самостоятельный проект.
Открыт отдельный сайт посвященный проекту Sypex Geo, на котором можно скачать свежие версии API и баз данных, а также ознакомиться с документацией.

Для желающих скорее протестировать правильность определения города по IP — вот ссылка на демо-страницу. А под хабракатом, я опишу некоторые технические подробности и приведу результаты небольшого тестирования.
Читать дальше →
Total votes 68: ↑67 and ↓1 +66
Views 112K
Comments 84

Перенос Sypex Geo API из PHP на go

Go *Geoinformation services *
Recovery mode

Sypex Geo — сервис из периодически обновляемой базы данных для определения местоположения по IP-адресу и клиентской части автора @zapimir. К базе доступны несколько реализаций API на разных ЯП. На PHP написаны родной клиент, бандл для Symphony 2, расширение для Laravel и Yii.

Изучая golang, я написал к Sypex Geo 2.2 свой API. Пишу немного о его устройстве, а также даю пример готового http-сервера для пользования этим API, чтоб отдавал по GET http://localhost?ip={некий IPv4} что-то осмысленное.

Как оно устроено и как поднять http-сервер
Total votes 5: ↑3 and ↓2 +1
Views 2.1K
Comments 1