TGViewer
ITKatya: культурные паттерны в IT ITKatya: культурные паттерны в IT @valuegoalsddd · 1.77K subscribers
Post #758 439
Когда болит ЧиЧиЧиПи!

Пока в отпуске, попробую вернуться к более регулярным постам.

Помню монолог Михаила Задорного про ЧиЧиЧиПи. Если вы не столь стары, чтобы помнить его, вот видео.

В прошлом посте мы говорили о том, что 1, 2, 4, 8 — это не про степень двойки, а про степень доверия к совпадению.

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

Поэтому если вы полезли в поиск,
заниматься им без нормализации — грешно.

Нормализация — это приведение данных к виду, в котором их можно честно сравнивать.

Чтобы:
AB-123 45
ab12345
АВ 123-45
вдруг оказались одним и тем же значением.

В поиске обычно нормализуют:
– цифры
– буквы
– регистр
– алфавиты
– форматы и разделители

И вот тут ЧиЧиЧиПи начинает болеть.

Например, популярный прием —
«удалим все, что не подходит под маску». Если пользователь ввел данные в другом layout’е или на национальной клавиатуре, алгоритм может выкинуть вообще все символы.

Получается пустая строка.

А дальше — сюрприз:
две пустые строки могут совпадать всегда или никогда — зависит от реализации.

Дальше — буквы.

Upper case или lower case?
Кажется, что все просто, но Unicode умеет удивлять.
То, что безопасно для кодов, плохо подходит для текста — и наоборот.

И, конечно, транслитерация.

Она не одна.

ФИО транслитерируются по правилам языка.
А вот номера еще и по внешнему виду символов.

Поэтому:
Р → P
С → C
Х → X
и получается PCX, а не «RSH».
Это уже правила визуального соответствия.


Отсюда вывод простой:
• разные данные → разная нормализация
• один универсальный алгоритм не работает
• нормализация — это часть бизнес-логики, а не предобработка

А в следующем посту расскажу, как моя любовь к словарям меня же и покарала!
YouTube Задорнов-Мы все из ЧиЧиЧиПи монолог Задорнова "ЧиЧиЧиПи"
  • 🔥 7
  • 👍 3
  • ❤ 2
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 →