Задать вопрос
  • Как исправить функцию?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Например, так:
    function bank(summ, nominals, pos = 0, result = null) {
      if (result === null) {
        result = Array(nominals.length).fill(0);
      }
      if (summ === 0) {
        return result;
      }
      if (pos > nominals.length - 1) {
        return null;
      }
      if (summ % nominals[pos] === 0) {
        result[pos] = summ / nominals[pos];
        return result;
      }
      for (result[pos] = Math.trunc(summ / nominals[pos]); result[pos] >= 0; result[pos] -= 1) {
        if (bank(summ - nominals[pos] * result[pos], nominals, pos + 1, result) !== null) {
          return result;
        }
      }
      return null;
    }
    
    bank(2650, [1100, 650, 230, 70, 20]); // [ 2, 0, 1, 2, 4 ]
    Ответ написан
    Комментировать
  • Почему unserialize не работает?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    <?php
    $s = [
        [
            'title' => 'Услуги',
            'content' => 'На базе стоматологии «ПрезиДент» на Выставочной проводятся экспертные консультации, лечение под наркозом и с седацией, лечение под микроскопом; компьютерная томография и рентгенография, составляется план лечения. Имеется детское отделение.Оказываются услуги по таким направлениям, как терапия, хирургия, ортопедия, профессиональная гигиена, пародонтология. Предоставляются следующие виды услуг лечение кариеса и патологий пародонта, пломбирование зубов композитами, отбеливание эмали по технологии ZOOM 4, вживление имплантов и инсталляция коронок из металлокерамики и диоксид циркония.'
        ], [
            'title' => 'Проезд',
            'content' => 'До стоматологии «ПрезиДент» на Выставочной можно доехать на метро. Ближайшие остановки «Шелепиха» или "Выставочная". От "Выставочной" необходимо подняться к Экспоцентру повернуть налево и следовать прямо до стоматологии. От метро "Шелепиха" - поднявшись на поверхность, нужно сесть на любой автобус № т54, т66, 4, 69, 152 и проследовать до остановки «Детская больница». Покинув транспорт, надо повернуть на улицу Антонова-Овсеенко и пройти к высотному зданию по адресу ул. 3-я Красногвардейская дом 3 (вход с улицы Антонова-Овсеенко).' 
        ], [
            'title' => 'Парковка',
            'content' => 'Для пациентов есть бесплатная парковка. Въезд с улицы Антонова-Овсеенко. Для въезда на территорию нужно позвонить администратору за 2 минуты до прибытия.'
        ]
    ];
    $s = serialize($s);
    print $s;

    Получаем
    a:3:{i:0;a:2:{s:5:"title";s:12:"Услуги";s:7:"content";s:1085:"На базе стоматологии «ПрезиДент» на Выставочной проводятся экспертные консультации, лечение под наркозом и с седацией, лечение под микроскопом; компьютерная томография и рентгенография, составляется план лечения. Имеется детское отделение.Оказываются услуги по таким направлениям, как терапия, хирургия, ортопедия, профессиональная гигиена, пародонтология. Предоставляются следующие виды услуг лечение кариеса и патологий пародонта, пломбирование зубов композитами, отбеливание эмали по технологии ZOOM 4, вживление имплантов и инсталляция коронок из металлокерамики и диоксид циркония.";}i:1;a:2:{s:5:"title";s:12:"Проезд";s:7:"content";s:960:"До стоматологии «ПрезиДент» на Выставочной можно доехать на метро. Ближайшие остановки «Шелепиха» или "Выставочная". От "Выставочной" необходимо подняться к Экспоцентру повернуть налево и следовать прямо до стоматологии. От метро "Шелепиха" - поднявшись на поверхность, нужно сесть на любой автобус № т54, т66, 4, 69, 152 и проследовать до остановки «Детская больница». Покинув транспорт, надо повернуть на улицу Антонова-Овсеенко и пройти к высотному зданию по адресу ул. 3-я Красногвардейская дом 3 (вход с улицы Антонова-Овсеенко).";}i:2;a:2:{s:5:"title";s:16:"Парковка";s:7:"content";s:281:"Для пациентов есть бесплатная парковка. Въезд с улицы Антонова-Овсеенко. Для въезда на территорию нужно позвонить администратору за 2 минуты до прибытия.";}}

    Если сравнить с вашей строкой, то разница только в заявленных длинах строк 1085 байт вместо 1094 и 960 вместо 966. Непонятно, куда и какие делись символы из оригинального текста, сравнивайте побайтно оригинальную строку и строку с ошибкой unserialize.
    А в целом, IMHO, для хранения в базе данных лучше использовать JSON в кодировке utf8mb4, а если с этими данными надо ещё и активно работать, то выносить их в отдельную таблицу свойств.
    Ответ написан
    Комментировать
  • Как работают системы счисления?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Позиционная система счисления
    Вычитание в столбик:
    103
    -12
    ---
     71

    Из трёх вычитаем два, результат 1.
    Из нуля вычесть единицу невозможно, поэтому занимаем из старшего разряда и вычитаем единицу из 108 (или 810, восьмеричная система), результат 7.
    Поскольку занимали из разряда, то из единицы вычитаем единицу, получаем ноль.

    Если не можете считать сразу в восьмеричной, то переводите всё в десятичную, потом обратно
    1038 - 128 = 6710 - 1010 = 5710 = 718
    Ответ написан
    3 комментария
  • Как замерить скорость интернета на всех узлах от точки А до точки Б?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Что такое "скорость интернета на узле"?
    Максимум, что вы можете замерить - пропускную способность канала между двумя узлами, например неким сервером и своим компьютером. При этом на обоих узлах должен быть софт, позволяющий это сделать, тот же iperf. Естественно, что ставить такой софт на роутеры никакой провайдер не будет. Кроме того, скорость может зависеть от текущей загруженности каналов, конкретного маршрута, протокола, ограничений провайдера и т.д.
    Ответ написан
    1 комментарий
  • Как скрыть родителя, если у детей определённое значение?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    [...document.querySelectorAll('.filter__checkgroup-count')].forEach(
      (el) => {
        if (el.innerText.trim() === '0') {
          el.closest('.filter__item').classList.add('hidden');
        }
      },
    );
    Ответ написан
    Комментировать
  • Почему 192.168.1.0/23 и 192.168.0.0/23 одно и то же?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы просто не понимаете смысл короткой записи маски.
    /23 означает, что первые 23 бита маски равны единице, а последние 32-23 = 9 бит равны нулю.
    Таким образом маска будет 11111111.11111111.11111110.00000000 = 255.255.254.0
    Теперь разложим побитно ваши адреса:
    Маска:   11111111.11111111.11111110.00000000 = 255.255.254.0
    Адрес 1: 11000000.10101000.00000000.00000000 = 192.168.0.0
    Адрес 2: 11000000.10101000.00000001.00000000 = 192.168.1.0
    Чтобы преобразовать эти адреса в сети надо выполнить побитовый логический AND адреса с маской. Получим
    192.168.0.0 & 255.255.254.0 = 192.168.0.0
    192.168.1.0 & 255.255.254.0 = 192.168.0.0
    Таким образом, оба адреса входят в одну сеть размера /23.
    Правильное обозначение этой сети 192.168.0.0/23.
    Ответ написан
    1 комментарий
  • Как работать с data-* аттрибутами?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что email у вас не Node, а объект jQuery. Соответственно, работать с ним надо либо средствами jQuery email.data('test'), либо преобразовав в Node email[0].dataset.test
    Ответ написан
    Комментировать
  • Как найти данные по всем таблицам из определенной колонки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Через SHOW TABLES получаете список всех таблиц и по очереди делаете поиск в каждой или формируете запрос с UNION.
    Ответ написан
    Комментировать
  • Как запушить html в середину структуры кода?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Dial Patterns для FreePBX?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    от 4760000 до 4809999
    _893047[6-9]XXXX
    _8930480XXXX

    6500000 до 8999999
    _89306[5-9]XXXXX
    _8930[78]XXXXXX

    Вот скрипт, который у меня периодически генерирует новый список экстеншинов региональных операторов для Asterisk в ael-формате.
    https://github.com/Rsa97/Other/blob/main/asterisk/...
    Ответ написан
  • Как выбрать записи из таблицы, если их не существует (нужно выбрать товары, у которых какое-либо свойство не заполнено)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT *
    FROM  `products`
    WHERE `id` NOT IN (
      SELECT `product_id`
        FROM `product_options`
        WHERE `key` = 'manufacturer'
      )
    Ответ написан
  • Есть ли команда на удаление поля у записи при определённых условиях?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    UPDATE ... SET ... WHERE
    Ответ написан
    2 комментария
  • Можно ли восстановить сайт gamerankings.com для личного оффлайн-использования?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Чем можно заменить i3-3220?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Подойдут процессоры той же линейки Ivy Bridge под сокет 1155.
    Гарантированно можно заменить на i3-3240, серии i5 и i7 имеют большее потребление и тепловыделение, надо смотреть на рекомендации производителя моноблока.
    Ответ написан
    1 комментарий
  • Как сделать перебор элементов добавленных в DOM?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Всё работает. Показывайте свой код.
    Ответ написан
  • Как быть с ошибкой the Clipboard API has been blocked because of a permissions policy applied to the current document?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Clipboard API доступна только на https-страницах. Разрешение clipboard-write на запись в буфер автоматически выдаётся странице на активном табе браузера.
    Ответ написан
  • Что делать если куки в safari сохраняются только после отключения предотвращать перекрестное отслеживание в настройках?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ваши сайты считаются разными из-за того, что herocuapp.com находится в Public Suffix List.

    Баг в Сафари уже давно: https://developer.apple.com/forums/thread/658688

    Самый надёжный способ - отказаться от кук и передавать токен в данных или отдельном заголовке запроса.
    Ответ написан
    5 комментариев
  • Как в переменную записать html блок?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Комментировать
  • Почему при сложении массив превращается в строку, а объект в object Object?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    При сложении если хотя бы один из операндов - строка, то оба операнда приводятся с строке и выполняется конкатенация. ( https://262.ecma-international.org/11.0/#sec-addit... )
    Для объектов (массив тоже объект) срабатывает приведение к примитиву ( https://262.ecma-international.org/11.0/#table-12 ). Оно, в свою очередь, вызывает встроенный метод toString().
    Для массива, имеющего метод join, toString возвращает результат работы join ( https://developer.mozilla.org/ru/docs/Web/JavaScri... ).
    Для объектов возвращается строка '[object тип]' ( https://developer.mozilla.org/ru/docs/Web/JavaScri... ).
    Ответ написан
    Комментировать
  • Каков алгоритм решения данной задачи по криптографии? Шифр какого типа используется?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Решение будет либо перебором, либо аналитически. Частотный анализ пробовать можно, но на таком маленьком тексте он вряд ли даст хороший результат.
    Аналитическое решение
    Смотрим внимательно. Обнаруживаем комбинацию "emc-mc". Можно преположить, что это "что-то" или "кто-то". Есть отдельно стоящая "e", что может соответствовать предлогу "к". Получаем (e => к, m => т, c => о). Заменяем по всему тексту.
    Находим комбинацию "og". Это может быть "об", "он", "от", "ох". Но "т" мы уже определили. Находим "gnsоgxтg2n" и "zтatgg2n". Предполагаем, что "g" соответствует "н", так как комбинации "тб" и "хх" в русском языке встречаются редко. Заменяем (g => н).
    Теперь у нас есть "zтatнн2n" и "нnsонxтн2n". "2n" - это окончание, где "n" может соответствовать "я", "е", "й", "м", "ю", "х". Ещё встречается "anqкn", значит (n => е). Заменяем.
    Видим "неsонxтн2е" Логично предположить, что это "непонятн2е". Заменяем (s => п, x => я).
    Находим "пaонеzzя". Очевидно, (z => с, a => р).
    "стрtнн2е" и "t он" дают нам замену (t => а).
    "какjе" даёт (j => и), так как "о" уже есть.
    "оqки" (q => ч).
    "какие странн2е" (2 => ы).
    "исчеf" (f => з).
    "крbчки" (b => ю).
    "на iетаwwическиh крючкаh" (i => м, w => л, h => х).
    "стоял l речки" (l => у).
    "пустился o лес" (o => в).
    "поpпрыrнул" (p => д, r => г).
    "вдол5" (5 => ь).
    "в галоdах" (d => ш).
    "он yегом пустился" (y => б).
    "я побеuал" (u => ж).
    "доvечки"(v => щ).
    Ответ написан
    Комментировать