• Чем отличаются компоненты высшего порядка и декораторы?

    miraage
    @miraage
    Старый прогер
    Если простыми словами..

    Декоратор - функция, которая принимает другую функцию (назовём её "базовая") на вход и возвращает третью функцию, которая у себя под капотом вызывает/использует базовую.

    HOC - частный случай декоратора, когда базовой функцией является React компонент.
    Ответ написан
    Комментировать
  • Почему Gulp.js заменяет цикл while на for?

    rockon404
    @rockon404
    Frontend Developer
    Оба варианта эквивалентны. В чем проблема?
    Почитать: Параметры компрессии gulp-uglify
    Ответ написан
    3 комментария
  • Node js однопоточен, а php многопоточен?

    @PloAl
    Ваше первое утверждение не совсем корректно.
    Если "тяжелом" коллбеке полностью синхронный код тогда верно. Если используется асинхронный код остальные запросы, ждать не будут.

    В php для обработки каждого запроса запускается новый процесс.

    Также для нескольких процессов можно использовать PM2.
    Ответ написан
    2 комментария
  • Где можно взять таблицы с двумя тремя тысячами строк?

    @bkosun
    Сгенерируйте нужный набор данных самостоятельно.

    Например, можно использовать MySQL Data Generator (dbForge Studio for MySQL).
    Ответ написан
    Комментировать
  • Как удалить обработчик события?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Если в объекте используется всего 1 событие (или все события допустимо обрабатывать одним обработчиком), то можно обойтись без bind и прочих хитростей по сохранению контекста:
    class ProgressBar {
        constructor(wrapper, line) {
        	this.wrapper = wrapper;
            this.line    = line;
    
            // передаем объект а не функцию оО
        	wrapper.addEventListener('mousemove', this);
            wrapper.removeEventListener('mousemove', this);
        }
    
        // что бы использовать объект в качестве слушателя,
        // у него должен быть метод handleEvent - именно он будет получать события
        handleEvent(event) {
        	this.line.style.width = event.clientX + 'px'
        }
    }

    https://developer.mozilla.org/ru/docs/Web/API/Even...
    Ответ написан
    1 комментарий
  • Есть ли метод «this» у «while»?

    rockon404
    @rockon404
    Frontend Developer
    Есть ли метод «this» у «while»?

    this - это не метод.

    Можно ли к внутри цикла «while», как-нибудь обратиться к найденному [в условии] результату?

    Нет.

    Решение вашей задачи:
    [].forEach.call(document.querySelectorAll('article p'), function(node) {
      node.remove();
    });
    Ответ написан
    1 комментарий
  • Есть ли метод «this» у «while»?

    miraage
    @miraage
    Старый прогер
    Вы хотите написать что-то такое..

    var node;
    
    while((node = document.querySelector('article p')) !== null) {
      node.remove();
    }
    Ответ написан
    2 комментария
  • Многократное срабатывание функции hover() при наведении на объект, как решить?

    Вам обязательно jquery использовать?
    Можно через css сделать .

    Только ограничьте кнопку по высоте, чтобы высота была всегда одинаковая, и в нормальном состоянии, и при наведении.
    Ответ написан
    Комментировать
  • Почему метод forEach пропускает (не обрабатывает их) вложенные элементы?

    @balamyt92
    ; select * from users; --
    На самом деле все просто. outerHTML перезаписывает элемент, то есть когда вы записываете у родителя outerHTML, то ребенка на которого ссылается ранее сделанная ссылка уже не существует, там уже новый элемент.
    Ответ написан
    6 комментариев
  • Как в Laravel оптимизировать запросы или простой запрос в 1.5 сек это нормально?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    d:\wamp\bin\php\php7.1.9\zend_ext\cachegrind.out.60236

    Ну таки откройте отчет-то да посмотрите что именно кушает время. Явно не запрос.
    Хотя на винде может быть коннект в базе тупит в зависимости от того как прописан хост 127.0.0.1 или localhost
    Но там тупит по страшному обычно, не 1.5 секунды.

    ну или так
    https://github.com/barryvdh/laravel-debugbar
    Ответ написан
    5 комментариев
  • Как реализованы порталы в игре Portal?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Честные порталы делать очень сложно, нужно хорошо понимать физику и весь пайплайн рендера. Есть очень много граничных случаев, каждый из которых нужно отдельно поддерживать: портал внутри портала, пересечение границ внутреннего и внешнего портала, несколько внутренних порталов, повороты плоскости портала, перемещение предметов, тени и освещение, прозрачные материалы и т. п. Есть две основные техники реализации отрисовки порталов: через рендер текстуры и стенсильный буфер.

    Порталы на рендер текстурах делаются проще, но они дороже по производительности, даже на простой геометрии несколько порталов могут оказаться непосильной задачей для компьютера. Основной принцип следующий: когда вы смотрите на портал, на другой стороне портала камера рисует картинку в текстуру, эта текстура натягивается на плоскую геометрию, и со стороны кажется, будто бы через дырку видно другую часть сцены. Примитивную реализацию такой схемы можно собрать руками в редакторе, но дальше начинаются сложности. Если у конечного портала "за спиной" будет геометрия, она попадёт во вьюпорт камеры и будет странно смотреться. Чтобы это предотвратить нужно ближнюю плоскость отсечения у камеры сдвигать в плоскость портала с помощью CalculateObliqueMatrix. Для вычисления положения камеры и пересчёта матрицы есть удобный колбэк OnRenderObject. После корректировки матрицы порталы будут смотреться более-менее корректно, но будут всплывать всевозможные косяки при перемещении через плоскость портала из-за буфера глубины и nearClipPlane основной камеры.

    Стенсильные порталы будут работать сильно быстрее, но для их реализации нужно хорошо шарить в шейдерах. Расписывать их работу подробно не буду, в целом они делаются точно так же, только трюки с рендер текстурами заменяются на трюки с буферами, предлагаю лучше почитать пару полезных статей на тему: раз и два. В контексте юнити всё немного сложнее, чем на чистом OpenGL, потому что нет прямого доступа ко всем буферам и для получения похожего результата придётся немного поизвращаться. Потенциально облегчить задачу может низкоуровневое API, но у меня не получилось добиться хороших результатов без потери качества картинки. Я возлагаю большие надежды на ScriptableRenderLoop, если судить по документации, это как раз то, что нужно.

    Прошу заметить, что всё вышесказанное касается чисто графической части, для простейшего случая, когда мы имеем FPS камеру без анимаций, без дополнительных механик, которая просто ездит по уровню и может заглядывать в порталы. Что уж говорить про миллион потенциальных багов, если вы захотите включить рядом с порталом систему частиц или взять в руки кубик. Посему советую либо купить плагин и довольствоваться тем, что он умеет, либо приготовиться потратить несколько месяцев на разработку своей портальной системы. И в том и другом случае ограничения движка не позволят вам в разумные сроки получить Portal, в лучшем случае это будет Narbacular Drop.
    Ответ написан
    Комментировать
  • Как лучше сверстать блоки с отступом сверху в 50% от своей высоты?

    Можно сделать их в виде колон, сделать контейнер флексовым и элементы через align-self (flex-start, center, flex-end) выровнять.

    Пример
    Ответ написан
    4 комментария
  • Странный вид ссылки с авито?

    @AlexRudkowskij
    Студент
    Ссылки такого вида это URI-схемы. Система переадресовывает такие ссылки приложениям, которые "отслеживают" их по определённому формату (в вашем случае ru.avito). Ещё можете такое встретить с почтой (mailto://) или ftp (ftp://). Что бы перейти по такой ссылки нужно иметь нужное приложение
    Ответ написан
    Комментировать
  • Как заменить цифры на звездочки в номере телефона?

    0xD34F
    @0xD34F Куратор тега JavaScript
    function replaceNumbers(str, matches) {
      let count = 0;
      return str.replace(/\d/g, d => matches.includes(++count) ? '*' : d);
    }
    
    
    replaceNumbers('+7 (000) 000-00-00', [ 2, 3, 4 ]); // "+7 (***) 000-00-00"
    replaceNumbers('+7 (000) 000-00-00', [ 2, 3, 4, 5, 6, 7 ]); // "+7 (***) ***-00-00"
    replaceNumbers('+7 (000) 000-00-00', [ 10, 11 ]); // "+7 (000) 000-00-**"
    Ответ написан
    3 комментария
  • Как настроить nginx под 800 запросов в секунду?

    Так, во первых у тебя сколько ядер на машине? Почему кластеров 10, а nginx воркер процессов 2(оба значения должны быть раны количеству ядер)? Во вторых вместо ПМ 2 можно использовать upstream в нигсе. В него же можно подсунуть другие серваки если этот не справляется. 800 подключений это не много, но уже требует кэширования, так что надо в нигсе в upstream, proxy и выдачу прописать кэширование. Ну и смотреть код курить логи с манами. Удачи.
    Ответ написан
    Комментировать
  • Есть ли примеры HOC'ов?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    connect
    withRouter
    frondloadConnect

    Какие могут быть примеры с Redux? Единственный HOC связанный с Redux это connect, возвращающий компонент подписанный на изменения store. Да и тот находится в пакете react-redux.

    Если вы не знаете где применить HOC, значит в нем нет необходимости в вашем коде.
    Ответ написан
    Комментировать
  • По какому принципу работает такая Captcha?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Если вкратце - используется анализ движения мышки и машинное обучение.
    Определяются некие паттерны поведения пользователя-человека, и если есть сомнения (это определяет алгоритм машинного обучения) - то капча усложняется (далее предлагается выбор дорожных знаков, витрин магазинов и прочее)
    Какие именно паттерны поведения анализируются - гугл не раскрывает.
    Ответ написан
    2 комментария
  • Как сделать правильное перенаправление в папку public?

    v_decadence
    @v_decadence
    Правильно будет направить DOCUMENT_ROOT в папку public. Таким образом не нужны будут эти костыли и все непубличные файлы будут закрыты от посторонних.
    Ответ написан
    Комментировать
  • SASS - LESS - Stylus что выбрать?

    @Camaro67
    Помог? - жми "Отметить решением"
    Владеть нужно всеми тремя препроцессорами. Как наберетесь опыта - сможете ответить на свой вопрос самостоятельно, никто другой за вас решить не сможет какой препроцессор вам больше подходит т.к. это дело вкуса.
    Ответ написан
    Комментировать
  • Почему метод объекта нужно вызывать через call или apply?

    mbelskiy
    @mbelskiy
    Software Developer
    Для того чтобы находить ответы на такие вопросы самостоятельно, учитесь изучать документацию.
    Math.max на вход ожидает перечисление аргументов типа Number, поэтому первые два не работают.
    В свою очередь, apply вызывает функцию с указанными параметрами, где второй параметр ожидается как массив, а к вызываемой функции передается как перечисление или arguments.
    Ответ написан
    Комментировать