Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Category:

RWA Contest

Тут по моему старому проекту возникла задачка: сделать фильтрацию по диапазонам IP-адресов. Буду делать quick and dirty-реализацию на си с классами, если кто возжелает, может реализовать на своём любимом языке а потом сравним.

Задача такова: есть ASCIIZ-строка с IP-адресом, надо вернуть true, если этот адрес попадает в один из диапазонов, перечисленных в файле.

Файл текстовый такого формата,

192.168.1.3,192.168.1.5
192.168.2.4,193.0.0.3

Файл не отсортирован, дипапазоны произвольные и могут пересекаться. Первый адрес меньше второго или равен ему. Пересечение диапазонов можно обрабатывать двумя путями: лиюо отказываться грузить такой файл и выдавать что с чем пересеклось, либо не отказываться и корректно работать в таких условиях.

Файл грузится один раз и потом десятки миллионов раз лукапится. Записей в конфиге - сотни.

UPD: я не спрашивал, как мне это имплементить - задача школьная. Я просил добровольцев из числа читателей заимплементить это на ФЯ и померить.
Tags: fp, programming
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 86 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →