pezd, huev и другие неблагозвучия
Mar. 3rd, 2016 04:30 pmКоллеги, у меня возникла необычная такая просьба.
Мы сейчас доделываем систему, в которой номера заказов – 4-символьные строки из цифр/букв. Коды эти отправляются клиенту, и нехорошо, если его заказ будет называться как-то ругательно.
В этой связи просьба накидать в комменты максимальное количество похожих на ругательства или сниженную лексику 4-символьных сочетаний, чтобы написать фильтр для генератора кодов.
Допустимые знаки – цифры и латиница (только строчные, без букв i l n q).
no subject
Date: 2016-03-03 03:35 pm (UTC)no subject
Date: 2016-03-03 07:01 pm (UTC)no subject
Date: 2016-03-03 07:34 pm (UTC)- взять словарь слэнга - как русского, так и английского,
- сгенерить все возможные 4-буквенные подстроки,
- взять несколько алгоритмов транслитерации, транслитериоровать русское всеми способами,
- сгенерировать варианты, фонетически похожие, по таблице похожести звучания.
По-моему, куда легче сделать что-то вроде такого:
- Взять цифры 2,3,4,5,9 (без 0,1,6,7,8 - чтобы не путалось с буквами).
- Сгенерить номер заказа, чередуя буквы и цифры, по таким паттернам: ББЦЦ, БЦБЦ, БЦЦБ, ЦББЦ, ЦБЦБ, ЦЦББ, БЦЦЦ, ЦБЦЦ, ЦЦБЦ, ЦЦЦБ, ЦЦЦЦ (т.е. букв не больше 2, все варианты). Если букв не больше двух, звучать будет заведомо хорошо.
no subject
Date: 2016-03-03 07:35 pm (UTC)Должно подойти, если заказов не более 10 тыс в год.
no subject
Date: 2016-03-03 07:52 pm (UTC)Тут на несколько часов внимательного выписывания, не знаю, наскок это или нет. Двухбуквенных комбинаций получается меньше 500, глаз в состоянии такой длины список кусочками обработать и без словаря слэнга. Похожесть с цифрами я в этом случае пропущу кста.
> Должно подойти, если заказов не более 10 тыс в год.
Больше, не подойдёт.
no subject
Date: 2016-03-04 03:41 am (UTC)no subject
Date: 2016-03-03 09:33 pm (UTC)no subject
Date: 2016-03-03 09:48 pm (UTC)no subject
Date: 2016-03-03 10:01 pm (UTC)no subject
Date: 2016-03-03 10:03 pm (UTC)Но это позволит вручную потестировать варианты другим людям кроме тебя.
no subject
Date: 2016-03-03 09:44 pm (UTC)Надо было таг Путин ставить.
Я у себя сделал чтобы в середине обязательно была цифра. Это, конечно, не дает 100% гарантии, но сильно снижает шансы.
Мат фильтровать недостаточно, вполне безобидные слова могут выглядеть вызывающе. Для меня тригерром подумать, стала бронь с номером 2AKYNA. Учитывая, что проект для Казахстана...
no subject
Date: 2016-03-03 10:00 pm (UTC)no subject
Date: 2016-03-03 10:38 pm (UTC)Если дело в запоминании - то мне как пользователю куда легче запомнить более длинное число (пусть 6 цифр), чем случайные 4 буквы алфавита. Та же фигня, если диктовать по телефону.
Плотные буквенные ID-шники хороши для short-link'ов, не задуманных как human-readable. Номер заказа же должен быть human-readable, должно быть трудно ошибиться, диктуя его по телефону, и т.п.
Я бы, наоборот, добавил бы избыточности для автокоррекции небольших ошибок. Скажем, если каждый валидный order id отличается от любого другого минимум в 3 позициях, то любая ошибка в одной позиции будет исправляма.
Ещё неплохая идея для ID-шников это нечто вроде correct horse battery staple (https://xkcd.com/936/). Конечно, нельзя, ибо слишком непривычно, но по сути может лучше подойти, чем плотный набор из 4 букв.
no subject
Date: 2016-03-03 11:05 pm (UTC)Так сложилось )
no subject
Date: 2016-03-04 02:30 am (UTC)Можно ещё посочинять :)
@ = ровно одна буква, любая гласная.
* любое количество букв, включая 0.
no subject
Date: 2016-03-04 02:32 am (UTC)no subject
Date: 2016-03-04 09:22 am (UTC)no subject
Date: 2016-03-04 09:36 am (UTC)no subject
Date: 2016-03-04 02:34 am (UTC)no subject
Date: 2016-03-04 03:29 am (UTC)no subject
Date: 2016-03-04 03:30 am (UTC)no subject
Date: 2016-03-04 09:24 am (UTC)no subject
Date: 2016-03-04 09:23 am (UTC)no subject
Date: 2016-03-05 12:35 am (UTC)http://www.noswearing.com/fourletterwords.php
no subject
Date: 2016-03-05 02:05 am (UTC)