Не понимаю, что значит +$(this).val(), и каким образом генерируется +number.
1. Ставите брейкпоинт внутри функции. Создаете ситуацию, когда срабатывает обработчик функции.
В режиме остановки на брейкпоинте изучаете к какому контексту принадлежит указатель this наведением курсора мышки или в обозревателе переменных, в секции локальных переменных прописан this - на какой объект он указывает.
Знак + это просто конкатенация строки.
2. md5 вы подберете только перебором.
Вам нужно узнать минимум и максимум неизвестного компонента входного параметра и перебрать все варианты с преобразованием в md5 и сравнением с эталонным хэшем.
var is_found = false;
var etalon_hash = хэш, который нужно подобрать;
for(var i = минимум; i <= максимум; i++)
{
if(etalon_hash == md5("123.45." + i))
{
is_found = true;
console.log('i=' + i);
break;
}
}
if(!is_found)
{
console.log('i not found!');
}
Вы имеете ввиду метод addNewList с применением activeList?
В структуру данных вы заложили принцип, что активный элемент будет помечаться флагом. От этого и появляются издержки, что нужно перебирать коллекцию и что-то делать с флагом каждого элемента.
Если список у вас будет короткий всегда, не более тысячи элементов, то в этом нет ничего плохого.
Но если у вас очень длинный список, то перебирать элементы при каждом действии будет накладно, тогда следует перейти к концепции, что в свойствах списка будет свойство либо activeIndex, либо activeIndexes если возможно несколько активных элементов, либо вместо индексов использовать ссылки на эти элементы.
В общем, пока нет практической задачи применения интерактивного списка, оптимизировать можно как угодно.
Задача не тривиальная.
Если вы пытаетесь скопировать стили из одного сайта, созданного конструктором, в свой сайт по тому же конструктору с той же структурой страниц - то это может быть просто Ctrl+C, Ctrl+V ресурсов страниц.
А если сайт-исходник имеет не ту структуру верстки, тогда вам придется поработать с анализом каждого элемента и написать стили своего сайта с нуля.
Не знаток темы поисковых машин. Могу с уверенностью сказать, что любой крупный поисковик работает не на отдельных алгоритмах, а это сложный симбиоз всех аналитических технологий. Вот какая придет на ум технология, например, нейросети или Data Mining, они будут в какой-то степени встроены в этого гиганта, причем, в тех областях, где оно показало определенные положительные результаты. Какие-то детали реализации скорее всего знают технические руководители компаний, но они вряд ли когда-нибудь расскажут как, что, с чем связано, это хлеб компании.
Компьютер складывает вещественные числа не в том виде, которые видно или вводите в десятичном представлении, а оперирует мантиссами, нормированными до определенного порядка и обрезанные до точности хранения числа с плавающей точкой. Причем 0.1 может переводится в двоичное представление с какой-то точностью (надо проверять, если быть дотошным).
Погуглите, как хранится в памяти компа число с плавающей точкой. Слова для поиска "мантисса" + "порядок числа" или "степень числа".
Потому что имеете дело с числом с плавающей точкой.
При выводе и математических операциях накапливается ошибка.
Для корректного вывода и корректировки ошибки используйте округление до нужного разряда.
Все-таки воспользуйтесь рекомендацией Ильи, и допишите параметр к декодеру.
$recaptcha = json_decode($recaptcha, true);
Вам тогда не придется возиться со свойствами класса.
Производители что-то не горят желанием хранить файлы ПО вечно для своей продукции. Начинают подрезать хранилище до уровня актуальных ОС. Сейчас уже на Windows 7 проблема найти драйвер на офф. сайтах, даже если он существовал ранее, находился поиском сайта и скачивался в два клика.
Только имейте ввиду, что сами таймеры продолжают тикать и занимать вычислительные ресурсы. Если приложение в ходе работы кардинально меняет своем состояние, предполагающее полное уничтожение таймеров, то пренебрегать на этот случай использование clearTimeout не стоит.
Недостатки структуры базы и подходов обработки данных, которые бросаются в глаза.
1) Посторонние символы в идентификаторе, которые не несут функциональной нагрузки. Это знак номера. Элементы форматирования номера заказа нужно дорисовывать при выводе, а не хранить в базе.
Тем более, что из-за номера придется хранить это поле как строку. Когда есть возможность хранить что-то как число - это более предпочтительный вариант, чем строка. Индексы, если вы, конечно, их создали, будут более эффективно работать с числовым полем, нежели со строкой. Да, число по занимаемому месту на диске будет компактнее во всех смыслах.
В архитектуре таблицы предусмотрели, что id - это первичный ключ? Индекс на id создан?
2) Создание уникального идентификатора.
Перечисляю по порядку подходы от простого к более геморойному.
а) Генерация нового id занимается ваше окружение, он не приходит из вне. Пятизнак не обязателен. Решение: просто ставим на поле автоинкремент с 1 или 0 и пусть он нумерует свеже вставленные строки, при insert-а даже не заморачиваетесь с генерацией, просто извлекаете id вставленной записи и его используете.
б) Генерация нового id занимается ваше окружение, он не приходит из вне. Пятизнак обязателен. Решение: ставите автоинкремент с 10000 и тоже самое, что пункт а.
в) Генерация нового id занимается ваше окружение, он не приходит из вне. До этого система уже поработала и уже загажена рандомными id. Решение: прекращаете выдачу рандомного id. Если есть внушительная емкость выше max(id) + 1, то создаете авторинкремент от max(id) + 1 и работаете по пункту а.
г) Генерацией нового id может занимается НЕ ваше окружение. Или вы уже наследили во всем диапазоне пятизнака. Тогда вариант, который вы предложили. В этом случае придется писать триггер, чтобы он генерировал случайным пятизнак примерял его к существующим записям и добавлял в процессе insert-а. Обязательное условие - решение должно выполнятся одной транзакцией.
Какого рода типичные запросы к ним будут?
От этого больше будет зависеть как вы индекс сформируете, а не форму хранения данных. Возможно, вам любая классическая СУБД подойдет.
1. Ставите брейкпоинт внутри функции. Создаете ситуацию, когда срабатывает обработчик функции.
В режиме остановки на брейкпоинте изучаете к какому контексту принадлежит указатель this наведением курсора мышки или в обозревателе переменных, в секции локальных переменных прописан this - на какой объект он указывает.
Знак + это просто конкатенация строки.
2. md5 вы подберете только перебором.
Вам нужно узнать минимум и максимум неизвестного компонента входного параметра и перебрать все варианты с преобразованием в md5 и сравнением с эталонным хэшем.