TGViewer
ITKatya: культурные паттерны в IT ITKatya: культурные паттерны в IT @valuegoalsddd · 1.77K subscribers
Post #754 661
1, 2, 4, 8 — когда не про степень двойки

Когда показываешь последовательность: 1, 2, 4, 8
почти все говорят: «Ну понятно, степень двойки».

И да. Но это только половина ответа!

Потому что на практике это не столько про количество сложенных двоек, сколько способ думать про вес решений.

Когда мы ищем документы или дубликаты, мир почти никогда не бинарный.
Это не «совпало / не совпало».
Потому что по одному запросу может вернуться сразу несколько похожих документов — и с ними нужно что-то делать.

Например, мы ищем документ по номеру.
И получаем:
– документ, удостоверяющий личность
– совпадает номер
– совпадает страна

Но дальше начинаются нюансы.

Это может быть:
– паспорт гражданина Российской Федерации
– а может быть паспорт моряка

Формально оба — документы, удостоверяющие личность. Но это разные типы документов. И обрабатывать их как один и тот же кейс — ошибка.

А теперь другая ситуация.

Номер совпал, но:
– в одном случае его ввели как паспорт РФ
– в другом — как загранпаспорт
– в третьем — как еще какой-то тип документа (например страховой номер)

Это может быть:
– ошибка ввода
– копипаст
– пересечение номеров
– или реально один и тот же документ, заведенный несколько раз в «неправильные дырки»!

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

Каждое число — отдельный признак. Каждый признак можно сложить с другим. И результат никогда не будет двусмысленным.

Например (для поиска дубликатов по номеру документа):
1 — мы нашли совпадение внутри одной страны и одного документа
2 — совпадение внутри страны, но между разными документами одного вида
4 — совпадение между странами по документу
8 — совпали ключевые персональные данные с несколькими баллами по Левенштейну.

В итоге мы получаем не «да / нет», а:
— совпадение на 6 баллов
— или на 9
— или на 15
И сразу понятно — почему именно столько!

Еще одно удобство, можно в запросе откинуть вариант или варианты от определенного уровня, например: дубликаты пользователей с весом не более 6!

А вы "такое" использовали на практике?

PS Если не догадались - я тут чуток с поиском развлекаюсь. Вам еще про алгоритмы рассказывать или это "базовый минимум", который всем ясен/понятен?
  • 🔥 9
  • 👍 7
  • ❤ 1
More from @valuegoalsddd
  1. Aug 4, 2026Последние несколько дней читаю книгу про коллективную и личную вину, геройство и молчание…
  2. Jul 30, 2026Ладно, раз уж последние дни мы снова говорим про языки и нейминг, то хочу зайти немного с…
  3. Jul 29, 2026У кого какие романтические вечера или сцены из супружеской жизни 👩‍❤️‍👨 Легли вчера с му…
  4. Jul 29, 2026Нейминг — это не про красоту. Иногда это про очень дорогие баги. Один из моих любимых прим…
  5. Jul 26, 2026Ну а вот сами дизайны! И если вам лень лезть и голосовать или у вас нет возможности прогол…
  6. Jul 26, 2026Нуууууу... Возвращаться после затяжного отсутвия сложно, но попробую! Начнем с простой нов…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →