Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 25.04.2018
Сообщений: 36

Нестандартные id. оптимизация. пороговое количество

08.05.2018, 11:35. Показов 1086. Ответов 5

Студворк — интернет-сервис помощи студентам
для генерации id страницы(не пароля!) используются [a-zA-Z0-9]. предполагаемая длина 8-10.

если изначально можно использовать
PHP
1
2
3
4
цикл(){
#генерация id
#проверка по бд на уникальность, не уник продолжение цикла
}
но при скольки значений уже используемых уникальных id стоит перейти на использование предварительно сгенерированными
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.05.2018, 11:35
Ответы с готовыми решениями:

Разместить на карте n количество точек, установив нестандартные иконки из изображений.
Прошу помощи так как документация яндекс карт мне не очень понятна. Задача такая, необходимо разместить на карте n количество точек,...

Нестандартные способы добыть дрова - или нестандартные дрова)
Еще расскажу, как я дрова добываю там, где люди все легкодоступное повытаскали. Или зимой это бывает полезно, если сухостоя найти не...

Определить пороговое значение
Была построена модель передачи амплитудно-модулированного сигнала. Необходимо построить график зависимости вероятностей ошибки первого и...

5
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
08.05.2018, 13:02
Лучший ответ Сообщение было отмечено kikuri как решение

Решение

Алгоритм в принципе порочный. Сразу генерируйте уникальный последовательно растущий id. Если уже накоплено какое-то количество случайно сгенерированных id, возьмите за точку отсчета максимальный из них.

Если нужна "случайность", формируйте id из случайной и последовательно растущей составляющих.
1
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
08.05.2018, 19:11
Я бы просто удлинил ключи, например до уровня uuid. Проще, гибче, быстрее.
Когда переходить решать вам. Вероятность появление дубликата посчитать несложно.
1
1 / 1 / 0
Регистрация: 25.04.2018
Сообщений: 36
08.05.2018, 19:40  [ТС]
Phantom-84, отказ от "последовательно растущий id" для усложнения возможности перебора.
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
09.05.2018, 00:35
kikuri, на этот случай я написал второй абзац

Добавлено через 10 минут
И удлините ключи, как tarasalk написал.

Я такой формат даже для авторизационных ключей использую. Там, как вы понимаете, возможности перебора уделяется особое внимание. Вся защита строится на криптостойкости случайной составляющей. Последовательно растущая составляющая нужна только для придания уникальности. Может, еще для увеличения скорости доступа в высоконагруженных системах, где она хранится в отдельно индексируемом поле.
1
1 / 1 / 0
Регистрация: 25.04.2018
Сообщений: 36
10.05.2018, 02:58  [ТС]
Phantom-84, если использовать комбинацию, то достаточна уникальная последовательно растущей составляющая.
А случайная только для устойчивости, т.е. в ней отпадает нужда у уникальности.
(т.е. речь уже не о подборе 1 уникального id, а подбор к уникальному id 2 пары из случайного набора [a-zA-Z0-9]. длина в зависимости от паранои )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2018, 02:58
Помогаю со студенческими работами здесь

Пороговое значение для матрицы
Есть матрица вида: S = Нужно, чтобы значения матрицы, которые меньше 3, были равны нулю. И получилась новая матрица S1 =

Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация
Много много лет назад, на заре становления профессии "оптимизатора" в какой то умной книжке был создан миф. Это миф о цветовой индефикации...

Оптимизация по запросам (количество)
Поясните, пожалуйста, до какого количества запросов можно полнятся в топ только контентом, до каких немножечко добавив каталогов, затем...

[Оптимизация] Количество разбиений числа
Задача: необходимо найти количество всех разбиений числа. Функция работает, но нужно быстрее. Что можете предложить по оптимизации? ...

Оптимизация скрипта, определяющего количество портов коммутатора
Добрый день. На Shell скриптописанием начал заниматься совсем недавно. Прошу помощи в оптимизации кода и помощи в методе решения. Сделал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru