Обновить
4K+
31,88
Рейтинг
33 676
Подписчики

Если вдруг вам понадобилось базу IP2Location перевести из DECIMAL-представления IP-адресов в "родной" для PostgreSQL тип inet, то для IPv4-адресов все будет тривиально:

'0.0.0.0'::inet + ipnum::bigint

А вот для преобразования числа к формату IPv6-адреса придется проявить немного изобретательности:

  • "математически" разбиваем число на 8 двухбайтовых сегментов по (2 ^ 16) ^ i

  • каждое значение преобразуем в шестнадцатиричную систему счисления и добиваем лидирующими нулями

  • склеиваем сегменты через двоеточие и кастуем к inet

array_to_string(ARRAY(
  SELECT
    lpad(to_hex(trunc(
      ipnum % (2::numeric(39,0) ^ ((i + 1) * 16)) / (2::numeric(39,0) ^ (i * 16))
    )::integer), 4, '0')
  FROM
    generate_series(7, 0, -1) i
), ':')::inet

В принципе, после этого мы можем "свернуть" ip_from и ip_to в подсеть, не обращая внимания на исходный формат:

inet_merge(ip_from, ip_to) subnet

А если проиндексируем эти подсети с помощью gist...

CREATE INDEX ON country_inet USING gist(subnet inet_ops);

... то сможем по индексу быстро определять принадлежность произвольного IPv4/IPv6-адреса подсетям с помощью соответствующих операторов примерно таким запросом:

SELECT
  *
FROM
  country_inet
WHERE
  subnet >> '8.8.8.8' AND
  country <> '-'
ORDER BY
  masklen(subnet) DESC
LIMIT 1;

Теги:
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

А все-таки Qwen3.8-27B — думает меньше и быстрее чем 3.6

В пятницу вышла Qwen3.8-27B. Скажу честно, с середины мая я отказался от подписок и сидел исключительно на локальной Qwen3.6 (для всех своих домашних проектов), у меня даже статья была на эту тему. Поэтому мне было очень интересно увидеть на что способна новая Qwen3.8-27B.

Тут на Хабре было несколько статей о том, что 3.8 слишком долго думает и что у 3.8 слишком много галлюцинаций (что, как мне кажется, не совсем корректно), поэтому я решил поделиться настройками, которые работают (у меня), надеюсь они будут кому-нибудь полезны. Qwen3.8-27B превзошла мои самые смелые ожидания, и уж что-что, а задумчивой ее никак не назовешь.

А все-таки Qwen3.8-27B — думает меньше и быстрее чем 3.6

Публикации

Информация

Сайт
saby.ru
Дата регистрации
Дата основания
Численность
5 001–10 000 человек
Местоположение
Россия