chaturanga

Рейтинг
117
Регистрация
22.08.2012
Sly32 :

на выходе должно быть так:

Mountain View, CA, USA;  Atlanta, GA, USA;  Boulder, CO, USA;  Chicago, IL, USA;  New York, NY, USA;  Los Angeles, CA, USA;  San Francisco, CA, USA;  Washington D.C., DC, USA; 

San Francisco, CA, USA;  Boulder, CO, USA;  Los Angeles, CA, USA; California, USA; Colorado, USA

https://regex101.com/r/mbL8FS/1

LEOnidUKG #:

чем вас sqlite с индексом не устроил не понятно, уже бы запустили и всё работало. Если надо просто поместите бд файл в память и всё будет работать еще быстрее.

B-Tree и при этом хранить в памяти?

Тогда уж redis.

Shelton724 #:

Ну (раз уж id известные и просто числовые) тогда сделайте не один файл, а (например) 1000. По принципу в первом с id от 0 до 1000, во втором от 1001 до 2000 и т.п. Ну и обращаться к нужному в зависимости от диапазона.

И вот мы начали создавать собственный unordered_map/hashtable :)

lutskboy #:

php память так забьется

JSON в вашем случае вполне приемлемый вариант. Просто вы не умеете его готовить. Вкусный рецепт здесь.

lutskboy #:

json нет. файл будет 50-100мб. нужно именно искать в бинарном файле. 

    if ( strlen($data) == 2 )
    {
        $int    = unpack( 'cid/ccount', $data );
        $name   = unpack( 'a*', fread( $handle, $int['count'] ) );
        $persons[] = array( $int['id'], $name );
    }

Это и есть ваш поиск,  просто добавьте в него 

if ($int['id'] == SEARCH_ID ) {...}

но делать так (я об алгоритме в целом) разумеется не надо. Здесь у вас реализован обычный линейный поиск O(n), то есть, по сути - это худшее решение из всех возможных.

chewey #:

я вот до сих пор не понимаю почему коннект проходит на порт? 

Потому что соединение можно повесить и на 80/443 порт и замаскировать трафик под http(s).

Поэтому сначала трафик анализируется на наличие неких ключевых признаков, а потом скорость его обмена режется до нулевых значений. Нынешние версии GFW умеют ловить даже SS-rust +  Obfs4.

Да там есть 0.5-1% ложноположительных сработок, но кого они волнуют? Делается, кстати, очень примитивным способом.

We worked with other researchers to discover that the current GFW utilizes a number of different rules to identify fully encrypted protocols like Shadowsocks, VMesss, and Obfs4. One of these rules takes advantage of the fact that the ratio of 0 bit to 1 bit in these encrypted flows is close to 1:1. 

Поэтому теперь разработчики добавили случайное количество 0/1 и пока обходят блокировку. Вопрос всё тот же "надолго ли"?

big boy #:

Теперь главный вопрос - надолго ли? )))

Всё согласно принципа Неуловимого Джо.

Точные сроки определены как "незамедлительно/оперативно"

3.3.2 Upon receiving any updates to the data elements listed in Subsections 3.3.1.2, 3.3.1.3, and 3.3.1.5 through 3.3.1.8 from the Registered Name Holder, Registrar shall promptly update its database used to provide the public access described in Subsection 3.3.1.

Раз уж несколько дней(да и даже часов) прошло, то давайте люлей регистратору.

_design :

Кто-нибудь слышал/сталкивался, что Гугл начал ограничивать в выдаче страницы по ключам со словом "free". Из поиска вылетели эти страницы, очень полезные для пользователя с хорошими поведенческими показателями и без скама.

Слышал слухи о том, что такое происходит, но информации такой не встречал.





Сайт содержит "free" в имени

Всего: 325