Ну, вот ответ, он собирает все один раз, а затем продолжает «смотреть»
function realtime() {
gulp.watch(paths.styles.files, gulp.parallel('refreshCss'));
gulp.watch(paths.html.files, gulp.parallel('htmlToBuild'));
gulp.watch(paths.indexHtml.files, gulp.parallel('indexHtmlToBuild'));
gulp.watch(paths.systemJs.files, gulp.parallel('systemJsToBuild'));
gulp.watch(paths.img.files, gulp.parallel('imgToBuild'));
gulp.watch(paths.i18n.files, gulp.parallel('i18nToBuild'));
};
// NEW - FULL COMPILE AND "LISTENING" TO CHANGES
gulp.task('default', gulp.series('refreshCss','htmlToBuild','indexHtmlToBuild','systemJsToBuild','imgToBuild','i18nToBuild'), realtime());
Если Вы волнуетесь по поводу угроз безопасности, то Вы хотите криптографически безопасный генератор случайных чисел. Необходимо смочь сказать это, сколько байтов Вы хотите (т.е. какой длины число может быть).
Я беру удар в темноте здесь, но... Вы хотите случайное значение, которое будет уникально, но меньше затем 16 байтов. Вашим лучшим выбором является все еще GUID, который составляет только 16 байтов.... Вы хотите использовать буквенно-цифровой индикатор так... некоторые опции.
Используйте GUID, но закодируйте его, base64 похож на 7QDBkvCA1+B9K/U0vrQx1A, который составляет 22 байта, который еще длиннее затем собственный Гуид..., но короче затем типичное строковое представление.
См., что текст Кодирует здесь: http://en.wikipedia.org/wiki/Globally_Unique_Identifier
Другая опция состояла бы в том, чтобы хешировать Гуид, но Вы освободите часть уникальности поэтому, каков Ваш уровень терпимости здесь для групповых объектов?
==========
Принятие Вас имеет единственную вставку процесса в таблицу, Вы могли сотрудник Хило algorithim и быть уверенными, что Вы не должны поражать DB каждый раз. Вы просто сохранили бы в памяти последнее высокое значение..., когда процесс startsup, Вы пойдете, поразит дб для обнаружения, где Вы кончили: каков алгоритм Hi/Lo?
Я все еще говорю, что Гуид является Вашим лучшим выбором.... 16 байтов не являются плохими и будут столь же маленькими как большинство алфавитно-цифровых решений, которые Вы предлагаете.
Если это число будет, когда-либо ссылаются людьми, я поощряю Вас следовать этим инструкциям в своем решении:
Каков лучший формат для клиентского числа, номера заказа?
Если Вы не можете synchorize с базой данных для наблюдения то, чем будет следующее число, и Вы не можете использовать GUID или сравнительно долгую случайную строку, то необходимо включать своего рода локальное значение в идентификатор.
например, если все клиенты будут в известной сети, можно закончить каждое число в IP-адресе каждого клиента D блок.
Или, если клиенты должны войти в систему, и каждый пользователь может войти в систему только однажды за один раз, можно включать их идентификатор пользователя в число где-нибудь.
Один путь может состоять в том, чтобы генерировать числа на основе меньшего подмножества чисел. Например, Вы могли использовать двоичную последовательность для генерации на основе геделевской нумерации. Например, отображаясь 000 к 111 на 5z, 3 года, 2x уступают 0, 2, 3, 6, 5, 10, 15, 30.
Конечно, это чрезмерно упрощенно. Но путем итерации "соленых" чисел для генерации ссылочных номеров Вы не должны были бы отслеживать ссылочные номера вообще. Если, или курс, Вы были довольно уверены, что не должны были включать в коллизии.
Если возможно в Вашем приложении/среде, Вы рассматривали для добавления времени как части к псевдослучайному сгенерированному числу?
т.е. микровремя () + рэнд (10000,99999)
Я делал это в производственной системе с успехом:
Поместите это в память, или как строка или как XOR значения вместе или что-то подобное. Затем:
Просто знайте, что уменьшение UID к байтам N увеличит возможности коллизий UID.
Все входные данные в первом списке должны гарантировать, чтобы Вы получили уникальную основу для хеширования, если у Вас есть кластер многих компьютеров. Можно опустить некоторые из них, но необходимо быть уверены, что это содержит что-то, что делает это отличающимся для каждого компьютера, на котором Вы генерируете UID.
Усеките GUID к размеру, который Вы хотите.
При генерации чисел если они не случайны и огромны, Вы - более обеспеченная проверка, чтобы видеть, использовались ли они так или иначе.