Pull to refresh
8K+
3
Ayndre@DiRo

User

11
Rating
Send message

Отдали базу штрихкодов статикой: 1,9 МБ, 1387 шардов, медиана в одну строку

Reading time5 min
Reach and readers8.1K

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

Второй путь: скачать базу один раз, порезать на файлы по префиксу и раздавать статикой. Разбираем, что из этого вышло на 32 772 товарах: 1387 шардов, 1,85 МиБ сырых и 429 КиБ в brotli, худший файл 331 КиБ. И главное — сколько приватности при этом всё равно утекает: запрос к серверу есть, а медиана строк в шарде равна единице, то есть для 722 файлов из 1387 запрос за шардом равен запросу за товаром.

Внутри: фильтр на входе, почему не одним файлом, TSV против JSON с замерами, и что в схеме до сих пор не решено.

Читать далее

Три разных номера из одной книги — и все проходят контрольную цифру

Level of difficultyMedium
Reading time5 min
Reach and readers7.5K

У EAN-13 есть контрольная цифра, и из этого обычно делают вывод: раз проверка сошлась, номер прочитан верно. Вывод неверный. Я получил с одной книги три разных номера, и все три контрольную цифру проходят. Разбираю, почему так выходит, почему у QR такой беды нет и что с этим делать — с кодом, замерами и таблицей, откуда взялась каждая цифра.

Читать далее

Information

Rating
741-st
Registered
Activity

Specialization

Разработчик баз данных
Ведущий
SQL
PostgreSQL
Python
Linux
Английский язык
Базы данных
Алгоритмы и структуры данных
Docker
PHP
Git