Задать вопрос
  • Можли ли продолжить всплытие собственных событий в 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
    Работаю с Bitrix24
    Если вы купили лиценизонную версию, то в течении календарного года битрикс будет работать без ограничений по возможностям. По прошествии года все облачные сервисы используемые в вашем сайте перестанут работать, но сам сайт будет.

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

    @PetrPo
    Не вижу особой разницы между тем чтобы написать модуль или написать тоже самое просто в отдельной папке. Создаешь папку со своим namespace в папке php_interface, там файл include.php с autoload-ом классов и подключаешь в init.php свой include.php Сейчас это тебе сэкономит время (не писать и не тестить установку и другие мелочи), а уж если получится реально переиспользуемой крутой код, потратишь немного времени, чтобы завернуть это в модуль.

    P.S. Написание модуля никак не исправит твое желание писать говнокод)
    Ответ написан
    Комментировать
  • Битрикс загибается?

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    Фактическое противоречие архитектуры с современным js фреймворками angular, vue и т.п. и никаких попыток это противоречие преодолеть.

    Вполне себе попытка https://dev.1c-bitrix.ru/learning/course/index.php...
    Ответ написан
    1 комментарий
  • Битрикс загибается?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    И да и нет.
    Битрикс 24 как продукт компании куда как интересней и развивает он его явно активнее чем просто битрикс
    НО б24 сделан на битрикс так что полное вымирание ядра явно не грозит.
    Но кризис на лицо.
    Так же нужно понимать что рынок битрикс сужается
    снизу теперь его поджымают конструкторы, а в топе самопись.
    так же как вы заметили обратная совместимость битрикс дает о себе знать, на их месте я бы уже давно отказался от поддержки обновлений начиная с 7 версии, это же маразм никто в жизне не будет поднимать 7 битрикс до 20.
    Но политика партии, скорее всего все прийдет к тому же что и у php рано или поздно отказавшись от старого кода написав все заново, но время ввода D7 на рынок говорит то том что эта стратегия была провальна, выводить технологиию 10 лет это даже не смешно.
    Так же нужно понимать что у разрабов битрикса уже сложилось свое мнение.
    К примеру разговаривая с Садониным я спросил у него собираются ли они как-то изменять "эрмитаж" на что они сказали что он работает заебись, и никаких изменений не требуется!!!!
    Дада Вот это убожество по их мнению в 2020 совершенно нормально работает.

    В общем
    - Да интерес битрикс к битрикс падает в следствие б24
    - обратная совместимость делает невозможность сделать действительно достойный релиз.
    - застой технологии как таковой. С появлением kubernetas рано или поздно битрикс должен или перебраться полностью в облако или издохнуть или найти 3 путь, как и остальные движки.
    - Судьба php на данный момент находится ровно в той же позиции что и битрикс, оно все еще доминирует на рынке веба но есть куча мощьнейших конкурентов которые не дремлят.
    + Битрикс де факто еще является стандартом екомерц в РФ , и по факту его заменить тупо нечем.
    Делать проект с бюджетом в 1-10 млн на самописи это маразм, так что тут битриксу замены нет.
    В топовом сегменте битрикс никогда и не использовался, за исключением собственно чистого екомерц да и то как исключение.
    Ответ написан
    10 комментариев
  • Как писать данные в лог?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    В стандартном хендлере монолога используется flock и LOCK_EX

    Monolog/Handler/StreamHandler.php
    Ответ написан
    1 комментарий
  • Почему не работает v-if во vue?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Так у вас записано:
    Если нужный калибр, то отобразить данные
    Иначе отобразить данные
    То есть, данные отображаются в любом случае.
    Ответ написан
    8 комментариев
  • Как защитить сайт на Битрикс от угона?

    NooBiToo
    @NooBiToo
    1) Завести гит репозиторий;
    2) Вести тестовую разработку на другом сервере/локально;
    3) Готовый результат деплоить на рабочий сервер
    Ответ написан
    5 комментариев
  • Как максимизировать сумму элементов выбираемых из списка?

    @Aleshonne
    Научные вычисления
    В общем, примерный план решения такой:
    Начинаем смотреть элементы с конца списка. Последние k элементов заносятся в кэш как есть, от них никуда не деться. Далее для каждого элемента с номером i нужно просмотреть, как он сочетается с элементами i + k .. i + 2k. Дальше смотреть смысла нет, так как это только ухудшит ситуацию. И так идём до первого элемента. Потом выбираем лучший из элементов с номерами 1 .. k. Вроде как получается линейный относительно размера списка код (не более k(n + 1) операций).
    Код реализации:
    https://ideone.com/ZU8Mrr
    Ответ написан
    7 комментариев
  • Быть разработчиком веб-сайтов невыгодно?

    AngryYumy
    @AngryYumy
    Заплати фрилансеру чеканой монетой
    Боже сижу на тостере уже 2 год, но ласт полгода не заходил , но список топ вопрос так не изменится.
    Аля хочу стать "вставь свою профу" - я чел идейный , я люблю эту профессию, но вот как-то нету миллионов которые мне тот мужик на курсах обещал. А есть только лендосы за 500, которые с правками делаются месяц(((
    И ты глянь вроде полно разрабов - а работать то некому, а почему - да все просто ибо рынок переполнен людьми с курсов которые готовы работать за 500р но ничего толком не умеют. А с чего такие выводы? Да все просто не раз уже приходят - сколько стоит Х проект ты говоришь Х₽ и Х дней, и ответ - оооо нет мне там вон Вася за сутки и 500р сделает , ну окей идите. Через две недели приходит тот же человек и говорит , ну тут Василий все сделал - но потом немного правок (правок больше чем тз сайта) , а он пропал можете доделать за 500р. Или пример вон знакомый в скилл боксе полгода учился, насколько знаю обучение там не дёшево, а итог попросил его сверстать лендос (у самого времени не было) так он дата атрибут не умеет прописывать (реальная история).
    А к чему эта простыня текста? Да к тому, что если ты реально что-то умеешь - то ты не будешь работать за 10к/2 месяца
    Ответ написан
    1 комментарий
  • Как работает Битрикс с memcached?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Подскажите работает ли Битрикс с memcached.


    Да, работает. Но для последних версий битрикса рекомендуется использовать Redis.
    https://dev.1c-bitrix.ru/learning/course/index.php...

    Второй вопрос сильно ли может помочь memcached для ускорения работы сайта?


    Все относительно. Кеш memcached/redis работает однозначно быстрее чем файловый кеш.
    Но проблема у вас может быть совсем не в кешировании.

    Например если ни один компонент не складывает данные в кеш и постоянно обращается к базе то изменение механизма хранения кеша не поможет. А если под кеш выделить мало оперативной памяти (по умолчанию в bitrix env идет вроде как либо 64MB либо 1GB), а кеш большой то он может еще и замедлить работу.

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

    sabramovskikh
    @sabramovskikh
    1. Просто в страницах, если там не уникальная верстка.
    Если нужно что-бы контент менеджер не сломал верстку, то один инфоблок со свойствами.
    2. Если свойства нужны в нескольких инфоблоках, то создаю хайлоад-блоки на каждое свойство и к ним привязываю
    3. Делаю это в пхп скрипте, который добавляет в корзину, если конечно это не sku.
    4. Там же указывается уровень вложенности. Все работает в стандартном комплексном компоненте.
    Ответ написан
    2 комментария
  • Как определяют номер телефона у посетителей сайта?

    @granty
    Куки исключены, браузер не сохраняет их и не хранит историю.

    1. Про evercookie слышали? А про Web Fingerprint?
    На хакере перечислена масса способов хранить ID на вашем компе без использования Куков и кэша, а технология Web Fingerprint позволяет хранить цифровой отпечаток компа, браузера на сервере банка: Фингерпринтинг конкретного ПК с точностью 99,24%, не спасает даже смена браузера.

    Если вы - клиент банка и заходили в его интернет-банкинг, он легко может вас опознать при использовании того же браузера и того же компа.
    А если у вас на мобиле установлено приложение интернет-банкинга - вы вообще под колпаком :)

    2. Если вы лазите по инету залогиненым в Вконтакте/Яндексе, то через backdoors в их API можно определить ваш профиль и все ваши данные.
    Сайт Соцфишинг работает на этом принципе.
    Сам банк тоже может использовать соцфишинг и ставить невидимый ифрейм на своё меню, и при клике вы автоматически авторизуетесь через аккаунт, например, Вконтакте. Зная ваш ID на Вконтакте, ваш телефон легко узнаётся, их базы регулярно сливаются и продаются

    PS: Узнать как конкретно вас "слил" и каким образом - невозможно без исследования конкретной ситуации.

    факультатив

    Всё вышеперечисленное - детский лепет по сравнению с тем, какие возможности имеет Google (и, частично, Яндекс с Apple).
    У всех дома стоит точка WiFi, к которой коннектится ваш комп и мобильник с Андроид. Через мобильник Гугл знает все номера телефонов, которые подключаются к этой точке доступа (и все аккаунты соцсетей в которые вы логинились с мобильника). Поэтому когда вы лезете Хромом с компа через эту же точку доступа - Гугль уже знает, что это вы (или один из ваших домочадцев). По GPS на мобильнике он знает даже адрес вашего проживания с точностью до подъезда.
    Так что мы все давно уже добровольно "чипованы", чего удивляться что о нас всё известно.
    Ответ написан
    Комментировать
  • Как избавиться от переполнения в модуле math?

    @galaxy
    powmod пишете?


    pow(x, y[, z])

    Return x to the power y; if z is present, return x to the power y, modulo z (computed more efficiently than pow(x, y) % z). The two-argument form pow(x, y) is equivalent to using the power operator: x**y.
    Ответ написан
    1 комментарий
  • Где тут уязвимость в скрипте PHP?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Вы абсолютно не проверяете данные пришедшие от юзера. У вас наверняка не произвольный список возможных страниц, можно сделать scandir и проверять существует ли запрашиваемая страницы.

    Абсолютно не проверяются относительные пути, то есть технически можно запросить файл "pages/../../../../upload/word.php', а в папку upload положить можно файл множеством путей (причем не все из них из админки).
    Ответ написан
    1 комментарий
  • Как cделать алгоритм. который к каждой цифре числа (например 151)?

    zax2002
    @zax2002
    <?php
    
    $number1 = 567;
    $number2 = 5;
    $number3 = 367835;
    
    function f($num) {
        return $num + floor(0.11111111111*(10**(floor(log10($num))+1)));
    }
    
    echo(f($number1)."\n".f($number2)."\n".f($number3));
    
    /*
    678
    6
    478946
    */
    Ответ написан
    Комментировать
  • Как правильно сделать разработку на Битрикс?

    udjin123
    @udjin123
    PHP, Golang, React
    Да в любой момент в демо можно вбить купленный ключ, главное чтобы редакции совпадали.
    Ответ написан
    Комментировать
  • Почему у меня ошибка 404 в админке Битрикса? Как настроить файл .htaccess?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    это че за высер?
    RewriteRule ^(.*)index\.php$ $1 [R=301,L]
    что вы хотели сделать ?
    Вот тут я писал о стандартных правилах для битрикс
    https://klondike-studio.ru/standards/standartnyy-h...
    Ответ написан
    2 комментария
  • Как подгрузить yandex map с помощью lazy load (с отсрочкой)?

    meowto16
    @meowto16
    Делаю штуки
    Инициализировать карту не после загрузки страницы, а по требованию (по скроллу, по таймауту, по клику и т.д).
    Пример отслеживания координат блока: https://ru.stackoverflow.com/questions/641531/%D0%...
    ymaps.ready(init); // инициализацию можно отложить и поместить например по скроллу до блока.
        var myMap;
        function init(){     
            myMap = new ymaps.Map ("map", {
                center: [55.76, 37.64],
                zoom: 7
            });
        }
    Ответ написан
    1 комментарий