Задать вопрос
  • Как выполнить функцию после загрузки DOM?

    notiv-nt
    @notiv-nt
    Как ваше ничего? Да, моё тоже
    window.addEventListener('DOMContentLoaded', myFunc);

    и https://stackoverflow.com/a/39993724/12497940
    Ответ написан
    Комментировать
  • Задачку по JS такую как решить?

    profesor08
    @profesor08 Куратор тега JavaScript
    "Хацкаем" метод метод, пишем в глобал результат, юзаем результат.
    Math.floorOrig = Math.floor;
    Math.floor = (n) => {
      window.num = Math.floorOrig(n)
      return window.num;
    }
    
    function getNum() {
      const num = Math.floor(Math.random() * 10);
    }
    
    getNum();
    
    console.log(window.num);


    Еще можно просто переопределить саму функцию.
    function getNum() {
      const num = Math.floor(Math.random() * 10);
    }
    
    function getNum() {
      return Math.floor(Math.random() * 10);
    }
    
    console.log(getNum());
    Ответ написан
    3 комментария
  • Один большой бандл для всего или много маленьких модулей лучше грузить на сайт?

    Не стоит в 2к20 ориентироваться на старые системы. Если у клиента нет поддержки http2, то ему в принципе нет большой разницы, быстро или медленно, иначе он бы уже обновился.

    Я исповедую подход к разбиению главных чанков по страницам. Вебпак это хорошо умеет, для React есть loadable components. Идти по пути ютуба и запихивать нужный функционал в чанки я лично не советовал бы, потому что это очень раздражает: страница вроде бы и загрузилась, хочешь нажать на лайк или промотать, а логика еще не готова и ничего не работает.
    Ответ написан
    Комментировать
  • Как создать синоним ссылки в Bitrix?

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    Есть масса вариантов:
    1. сделайте симлинк /personal/refunds/index.php -> /personal/orders/index.php
    2. скопируйте содержимое /personal/orders/index.php и вставьте в /personal/refunds/index.php
    3. в файле /personal/refunds/index.php просто инклудьте файл /personal/orders/index.php
    4. добавьте правило в urlrewrite.php
    5. в .htaccess добавьте правило обработки адресов
    Ответ написан
    2 комментария
  • Приемлемо ли использовать base64+mod_gzip для передачи и отображения картинок из 1С в Битрикс?

    Prilepsky
    @Prilepsky
    Программист 1C
    Если работает и обмен не каждые 5 секунд, то почему бы и нет?
    Информация в товарах, особенно изображения, меняются крайне редко и экономить КБ тут смысла сильно нет.
    Про кэширование точно не скажу, но сам давно использовал такой прием для хранения небольших картинок в CSS, знаю, что так многие делали. Но как он сейчас - уже не подскажу :)
    Ответ написан
    Комментировать
  • Как изменить товар после оформления заказа?

    AlexeyCaTHaR
    @AlexeyCaTHaR
    А не проще ли тогда повесить обработчик на смену статуса заказа в Завершён(нам же нужно только успешные заказы, а не все оформленные)? Потом смотреть корзину заказа и количество товара и потом обновлять свойство на нужное число.

    Ну или как вариант, повесить скрипт по расписанию, который будет собирать информацию по всем проданным товарам и хранить где\то обновлять данные у всех отслеживаемых товаров
    Ответ написан
    2 комментария
  • Как для раздела инфоблока задать отдельные свойства?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    для "раздела" инфоблока задать отдельные свойства

    Вкладка Магазин - Каталог товаров
    В 20 версии таких кнопок нету

    Да, ладно?
    Пришел клиент

    А вы им говорите, что у вас опыт есть или нет?
    Иначе бы знали https://dev.1c-bitrix.ru/community/blogs/product_f...
    Ответ написан
    1 комментарий
  • Linux на виртуалку или второй ОС?

    @Pavstyuk
    Думаю, Linux вам вообще не нужен. Что такого особенного вы собираетесь делать в linux, что не позволяет win? Какой такой специфичный софт?
    Одно мне кажется верным, если вы поставите linux в виртуалку, то не долго и до второй оси ждать. А потом через годик-другой и первая станет не нужна.
    Ответ написан
    2 комментария
  • Linux на виртуалку или второй ОС?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Лучше поставить WSL
    https://habr.com/ru/post/412633/

    Для более тяжелых задач однозначно виртуалки и лучше брать hyper-v благо он встроен в windows-10

    Единственный случай когда нужен линукс на физической машине это вычисления на видеокарте и доступ к физическому железу, причем хитрому железу. Типа сетевой карты или модема
    Ответ написан
    7 комментариев
  • Живы ли вэб-компоненты?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Просто их пожрали всякие фреймворки, которые делают то же самое но с блэкджеком. Некоторые фреймворки используют их под капотом. А вот самих по себе - не использует практически никто. Полагаю это потому, что любая задача, что потребует использования веб-компонентов, сама по себе достаточно сложна, что нет особого смысла её делать без какого-либо фреймворка.
    Ответ написан
    3 комментария
  • Как правильно перебрать массив?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Вопрос и код - конечно лютая каша.

    Решение такое:

    while ($arItem = $res->Fetch()) {
        $price[] = $arItem['PRODUCT_ID'];
    }
    Ответ написан
    Комментировать
  • Как передать свойство товара в script.js?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    <script type="text/javascript">
    var GROUP = '<?php echo $group;?>';
    document.write('Твоя переменная теперь в js ' + GROUP);
    alert("Твоя переменная теперь в js " + GROUP + "!");
    </script>
    Ответ написан
    Комментировать
  • Как написать детектор бреда на Python?

    solotony
    @solotony
    покоряю пик Балмера
    вариант 1 - создать словарь и проверять наличие введенных слов в словаре (с поправкой на морфологию и на ошибки)

    вариант 2 - сделать нейросеть и обучить ее. тут можно наобучать как на морфологию (то есть ловить afasfasfsd), так и на "смыслы" (то есть ловить "Спичка в библиотеке работает") - второй случай сложнее, но реализуемо.

    вариант нейросети не исключает предварительную обработку словарем, морфологией, ошибками
    Ответ написан
    Комментировать
  • Как написать детектор бреда на Python?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Атр я рж с вс и в тки хтите брд пределит?

    Между прочим вы восстановите эту фразу
    Ответ написан
    9 комментариев
  • В чём разница в скорости работы между перебором всех состояний игры и функций Шпрага-Гранди?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Просто так примененная в лоб функция Гранди нисколько не быстрее обычных пометок "выигрышная"/"проигрышная" ситуация. Даже медленнее, потому что надо не просто смотреть, есть ли переход в выигрышную ситуацию, а надо смотреть в какие значения можно сделать переход и найти минимальное ими не покрытое.

    Но она обладает замечательным свойством - если состояние игры можно разложить на несколько независимых игр и игорк в свой ход может сделать ход в любой из игр, то функция Гранди может быть подсчитана как xor значений для всех состояний. По умному это называется, что игра является суммой игр. В некоторых задачах это позволяет колоссально сократить простарнство состояний.

    Один пример - игра Ним. Есть несколько кучек камней. За свой ход игрок может взять сколько угодно камней из любой кучки. Проигрывает тот, кому не останется камней. В простом переборе вам придется в качестве состояния хранить вектор количеств камней в каждой кучке. Но ведь тут стостяние очевидно раскладвается на под-игры: каждая кучка - своя отдельная игра. Причем, функция Гранди тут тривиальна - это просто количество камней. Вот и получается решение игры Ним - взять xor размеров всех кучек. Если не 0, то состояние выгрышное. Надо взять из какой-то кучки столько камней, чтобы получился xor, равный 0.

    Еще пример - есть плитка шоколада. Игроки ее ломают вдоль клеток. За свой ход игрок может взять любой прямоугольный кусок и разломить его как-то вдоль клеток (если там более 1x1 клеток, конечно). Проигрывает тот, кто не сможет сделать ни одного хода. Опять же, при простом переборе пришлось бы хранить в состоянии размеры всех кусоков. Тут ОЧЕНЬ много вариантов. А с функцией Гранди - достаточно рассмотреть состояния вида "одна плитка размера n x m". После одного хода у вас будет 2 плитки, но меньшего размера. Вы уже знаете для них функцию гранди, XOR'ите их и получаете функцию для возможного перехода.
    Ответ написан
    4 комментария
  • Быстрый способ подбора всех возможных вариаций значений массива какие есть способы?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Судя по постановке задачи и примеру, речь идёт не о всех возможных начениях массива, а обо всех возможных подмножествах множества мощностью 179.
    Если каждый элемент надмножества может либо входить, либо не входить, то кажое из множеств можно сопоставить с 179-битным двоичным числом. Очевидно, что таких чисел 2^179. Если убрать из набора пустое множество (в примере его не было), то вариантов станет на один меньше: 2^179-1.
    В десятичной системе это вот столько вариантов: 766247770432944429179173513575154591809369561091801087

    Автор вопроса не говорит как именно он хочет получить все эти варианты, но в любом случае сохранить такое количество элементов невозможно, в нащем Солнце атомов примерно всего лишь в сто раз больше, чем это число. Чувствуете проблемочку, да?

    Но задачу-то решать как-то надо. Давайте воспользуемся кодом Грея, чтобы можно было при переходе от варианта к варианту ограничиться изменением всего лишь одного бита. Но и это не поможет нам перебрать все варианты за разумное время.
    Пусть на один вариант нам потребуется безумно мало времени: один такт процессора. Сохранять мы варанты никуда не будем (потребовалось бы десять Юпитеров, чтобы на их атомах записать все варианты), просто покажем на экране. Да, за один такт этого не получится, но предсьавим себе что у нас такой специальный процессор с частотой 3 гигагерца. И нам потребуется 8099185802817355231125623242284335104 лет его работы.
    И всё это бессмысленно. Протсо автор вопроса не понимает чего хочет.
    Ответ написан
  • Какие есть специфические инструменты оптимизации скорости Bitrix?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Оптимизация скорости работы Битрикса это комплексная работа от оптимизации контента до настроек сервера.
    Пару десятков пунктов на что обратить внимание точно найдется.
    Начните с вкладки Производительность /bitrix/admin/perfmon_db_server.php и по порядку.
    Прогоните через гуглспидтест
    В публичной части в панели сверху включите Отладку и смотрите запросы.
    Пользуйтесь кешированием компонентов, технологией композитной сайт и cdn.
    В общем - много чего...еще можно nginx или apache покрутить, тюнинг mysql....
    Ответ написан
    6 комментариев
  • Как проверить, существует ли объект класса?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    вопрос - какой-то адов винегрет.
    Что значит "мол $functions определяется повторно"?
    $functions это переменная, переменных может быть сколько угодно.
    класс Functions? У тебя же используется include_once, то есть файл с определением класса должен загрузиться только один раз.

    Ну ладно, ты в программировании ни бумбум, в оо делаешь первые шаги. Ну уж хотя бы ошибку написать по-человечески можно? И код привести, который этой ошибке соответствует, а не противоречит ей?
    Ответ написан
    4 комментария
  • Зачем нужны поля дубликаты в Bitrix?

    С тильдой это не обработанное исходное значение.
    Т.е. есть свойство тип строка и в нём хранится html
    echo .....[VALUE] выведет html в виде текста, а
    echo .....[~VALUE] html
    Ответ написан
    4 комментария
  • Как поставить на cron скрипт с Битрикс API через консоль?

    scottparker
    @scottparker
    авторизируйся в скрипте)
    а агента не легче сделать?
    Ответ написан
    Комментировать