пятница, 24 января 2020 г.

cl-maxminddb

В общем, нужно было делать запрос к базам MaxMind. Не нашёл ничего вменяемого под CL. Хотел было быстренько сделать биндинги к си библиотеке, но там были передачи значений на стеке, что-то я запутался и подумал, что можно и нативно налабать. В общем, накидал. Читает, правда без всякой обработки ошибок в том плане, что версия БД и т.д. прочие вещи, которые можно было бы сделать. Но он работает. :) Вот код. Собственно, небольшой пример:

> (with-mmdb (mmdb "/var/lib/GeoIP/GeoLite2-City.mmdb")
    (mmdb-query mmdb "8.8.8.8"))

(("continent" ("code" . "NA") ("geoname_id" . 6255149)
  ("names" ("de" . "Nordamerika") ("en" . "North America")
   ("es" . "Norteamérica") ("fr" . "Amérique du Nord") ("ja" . "北アメリカ")
   ("pt-BR" . "América do Norte") ("ru" . "Северная Америка")
   ("zh-CN" . "北美洲")))
 ("country" ("geoname_id" . 6252001) ("iso_code" . "US")
  ("names" ("de" . "USA") ("en" . "United States") ("es" . "Estados Unidos")
   ("fr" . "États-Unis") ("ja" . "アメリカ合衆国") ("pt-BR" . "Estados Unidos")
   ("ru" . "США") ("zh-CN" . "美国")))
 ("location" ("accuracy_radius" . 1000) ("latitude" . 37.751d0)
  ("longitude" . -97.822d0) ("time_zone" . "America/Chicago"))
 ("registered_country" ("geoname_id" . 6252001) ("iso_code" . "US")
  ("names" ("de" . "USA") ("en" . "United States") ("es" . "Estados Unidos")
   ("fr" . "États-Unis") ("ja" . "アメリカ合衆国") ("pt-BR" . "Estados Unidos")
   ("ru" . "США") ("zh-CN" . "美国"))))

пятница, 10 января 2020 г.

Покупка товара по ценнику и закон

Зашёл я тут в Магнит, решил прикупить конфеты. Покупаю, пробивают мне и снимают с меня слегка больше, чем на ценнике я видел до этого. Не скажу, что я сильно прям удивился. Но позвал заведующую и попросил сделать всё по закону. Вроде, конечно, всё получилось, но они говорят, мол, всё это с кармана продавца, магазин не компенсирует и т.д. Я, конечно, понимаю, что, например, у них цены централизованно обновляются в базе и что ценники можно не успеть перепечатать, но за такой процесс разве не магазин должен отвечать?