• Как для раздела инфоблока задать отдельные свойства?

    @anton99zel
    29а класс средней школы №7
    для "раздела" инфоблока задать отдельные свойства

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

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

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

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

    firedragon
    @firedragon
    Senior .NET developer
    Лучше поставить WSL
    https://habr.com/ru/post/412633/

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

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

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

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

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

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

    @anton99zel
    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
    Senior .NET developer
    Атр я рж с вс и в тки хтите брд пределит?

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

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

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

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

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

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

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

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

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

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

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

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

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    > Можно ли поставить крон на 1 минуту
    Можно.

    > и проверять есть ли задание, для скрипта, в бд
    Можно.

    > и если есть выполнять его,
    Можно

    > а это не быстро?
    А это не вопрос.

    > В основном интересует нагрузка на сервер.
    От крона нагрузка будет несущественная. От вашего скрипта - зависит от вашего скрипта.

    > И что будет если в одно время, через крон, несколько раз обратиться к одному скрипту
    Скрипт будет выполнен несколько раз.

    > не получится, что запросы будут конфликтовать друг с другом?
    Если вы эту ситуацию обработаете в своём скрипте, то не будут. В кроне никаких встроенных механизмов для этого нет.
    Ответ написан
  • Почему не происходит перендеринг?

    Aetae
    @Aetae
    Тлен
    Включи предупреждения в консоли. Ты пытаешься изменять массив напрямую в store, чего делать нельзя.
    const arr = this.$store.getters.templatesList.slice(0);

    Ну и для сортировки есть встроенный метод sort:
    arr.sort(({created_at:a}, {created_at:b}) => a < b ? -1 : a > b ? 1 : 0);
    Ответ написан
  • Как обращаться к элементам на странице vue?

    delphinpro
    @delphinpro
    frontend developer
    В Vue другой подход. Тут мы всегда отталкиваемся от данных, и на основе их рисуем страницу. А не ковыряем DOM после его создания.

    Добавьте данные раскраски в массив данных. На примере ячеек — в элементы urldata.dates
    И используйте их:

    <td v-for="date in urldata.dates" :style="{backgroundColor: date.backgroundColor}">
      {{ urldata.values[date][rows] }}
    </td>


    UPD
    Ответ написан
  • Можли ли продолжить всплытие собственных событий в vue.js?

    @pal-software
    Начал изучать Vue и буквально сегодня с такой же проблемой столкнулся. Потыкался, почитал, ничего не нашел, в итоге сам запилил такую штуку.. (решение может и не ахти какое, но вроде все работает):
    1. в основной javascript файл в начало вставляем такой код:
    Vue.prototype.$popup_emit = function (event) {
        var vm = this;
        var args = toArray(arguments, 1);
    
        while ( vm && vm != null )
        {
            var cbs    = vm._events[event];
    
            if (cbs) {
                cbs = cbs.length > 1 ? toArray(cbs) : cbs;
    
                for (var i = 0, l = cbs.length; i < l; i++) {
                    try {
                        var result = cbs[i].apply(vm, args);
    
                        // если обработчик вернет false, то сразу останавливаем обработку событий
                        if ( result === false )
                        {
                            return this;
                        }
    
                    } catch (e) {
                        handleError(e, vm, ("event handler for \"" + event + "\""));
                    }
                }
            }
            vm = vm.$parent;
        }
        return this;
    
        function toArray (list, start) {
            start = start || 0;
            var i = list.length - start;
            var ret = new Array(i);
            while (i--) {
              ret[i] = list[i + start];
            }
            return ret
          }
    };

    (по сути это исходник стандартного метода emit с некоторыми моими изменениями)

    2. вместо this.$emit(...) вызываем теперь this.$popup_emit(...) ... это событие будет всплывать от дочерних компонентов к родительским пока не дойдет до самого верха или пока один из обработчиков не вернет false. ...

    ну а дальше можно допиливать на свое усмотрение. ...сильно не тестировал, может какие ошибки, но идея, думаю, понятна..
    Ответ написан
  • Будет ли работать сайт на Bitrix без ключа?

    gromdron
    @gromdron
    Bitrix developer
    Если вы купили лиценизонную версию, то в течении календарного года битрикс будет работать без ограничений по возможностям. По прошествии года все облачные сервисы используемые в вашем сайте перестанут работать, но сам сайт будет.

    Если вы не покупали лицензионную битрикс будет работать лишь 30 дней, потом сайт потребует ввода лицензионного ключа.
    Ответ написан