Задать вопрос
  • Вызов "obj.func()" или" (obj.func)()", есть ли различия?

    Lynn
    @Lynn
    nginx, js, css
    Именно в таком виде разницы нет. Но, скорее всего такой код встречается в виде (0, obj.func)() или (obj.func || _.noop)()

    И в этих случаях есть разница:

    let obj = {
        func: function() {
            console.log(this === obj);
        }
    };
    
    obj.func(); // -> true
    (obj.func)(); // -> true
    (0, obj.func)(); // -> false
    (obj.func || _.noop)(); // -> false


    https://learn.javascript.ru/object-methods
    Ответ написан
    3 комментария
  • Вызов "obj.func()" или" (obj.func)()", есть ли различия?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    В данном случае разницы нет и смысла в такой записи нет. Но надо понимать, что делает оператор () (помимо вызова функции, и, очевидно, группировки в арифметических операциях). А делает он вот что: вычисляет выражение и возвращает его. Это позволяет не создавать временные переменные на каждый чих и писать такие вещи:
    (obj1 || obj2).func() // вызывает obj2.func, если obj1 null, undefined, false и т.д.
    
    options || (options = {}) // сделает options пустым объектом, 
    // если он null, undefined, false, часто использовалось для задания значения по умолчанию до ES2015


    Без скобочек получилось бы чуть длиннее:
    var obj = obj1 || obj2;
    obj.func();
    
    if (!options) {
        options = {}
    }
    Ответ написан
    Комментировать
  • Вызов "obj.func()" или" (obj.func)()", есть ли различия?

    miraage
    @miraage
    Старый прогер
    Никакой разницы.
    Второй способ хорош для функционального стиля, когда можно написать что-то вроде
    (obj.func || _.noop)();

    DEMO.
    Ответ написан
    Комментировать
  • Если я скрываю административную панель WordPress. Реально ли будет ее найти?

    Punkie
    @Punkie
    Поставьте плагин All in one wordpress security. В нём есть настройка "Защита от брутфорса", ставите галочку на "Сменить адерс адмни-панели". Всё.
    Ответ написан
    1 комментарий
  • Как правильно сделать идеальную структуру less или scss файлов в случае больших адаптивных проектов?

    Про структуру файлов не подскажу, но вот парочка удобных миксинов для вас - есть у меня.

    Миксины:
    .media-mobile(@rules)  {
        @media (max-width: @mobile-width) {
            @rules();
        };
    }
    
    .media-lower(@width, @rules)  {
        @media (max-width: @width) {
            @rules();
        };
    }


    Использование:
    .selector {
       // ...
    
       .media-mobile({
          // ...
       });
    
        .media-lower(600px, {
          // ...
       });
    }


    Подход на основе "@media @mobile" и пр. проще и в ряде случаев удобнее.
    Мой вариант более функционален. Можно привязаться не только к ширине экрана, а к чему только душа пожелает.
    Ответ написан
    Комментировать
  • Как правильно сделать идеальную структуру less или scss файлов в случае больших адаптивных проектов?

    litlleidiot
    @litlleidiot
    Фронт-Энд разработчик
    1) При таком подходе будет всегда путаница, куча разные классов, правил, нужно коммент делать под каждым запросом.
    2) А зачем собственно выносить медию в отдельный файл когда можно делать запрос прямо в правиле и с помощью gulp-combile-media-queries успешно при компиляции выносить всю медию в конец цсс?
    41aa3144844e4cc2bd2826b6867a0c77.png
    Ответ написан
    Комментировать
  • Как правильно сделать идеальную структуру less или scss файлов в случае больших адаптивных проектов?

    eruditecat
    @eruditecat
    Красноглазик
    Методология БЭМ придётся Вам по вкусу. Но, я так понимаю, в Вашем текущем проекте — уже поздно. Тем не менее, на текущем этапе разработки Вам будет полезно использовать эти принципы. Изучите вопрос. А Ваша проблема решается так:

    @mobile: (max-width: 460px);
    @tablet:  (min-width: 461px) and (max-width: 970px);
    @desktop: (min-width: 971px);
    
    // Значения придуманы от балды
    
    .selector {
      @media @mobile {
        // ...
      }
      @media @tablet {
        // ...
      }
      @media @desktop {
        // ...
      }
    }


    Чтобы не было лапши, избегайте каскадов. CSS и LESS дают нам очень много гибких фич, но это не значит, что мы должны использовать все и сразу. У Вас должны быть очень веские основания, чтобы использовать что-либо из этого.

    Тем временем, где-то в идеальном мире:

    /* Файл /bem/block/block.less */
    .block {
      @media @mobile {
        // ...
      }
      @media @tablet {
        // ...
      }
      @media @desktop {
        // ...
      }
    }
    
    /* Файл /bem/block/__element/block__element.less */
    .block {
      &__element {
        @media @mobile {
          // ...
        }
        @media @tablet {
          // ...
        }
        @media @desktop {
          // ...
        }
      }
    }
    Ответ написан
    Комментировать
  • Как правильно работать с большими таблицами?

    @kifirch
    Лучше выбирать по 1000/5000 записей получать максимальное значение id (PK) и идти дальше, смещаясь по primary key. where id > ? limit 1000 order by id asc
    Limit/offset не гуд на больших объемах - так как, к примеру, offset 10000 limit 1000 переберет 10к строчек чтобы отдать 1000
    Ответ написан
    Комментировать
  • Что работает быстрее - полный селектор или вариант с find?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Не могу привести ссылку, но в одном из обсуждений здесь возникал такой вопрос и jsperf показал, что вариант с .find() медленнее. Это можно объяснить тем, что накладные расходы на querySelectorAll меньше, чем на вызов функции.
    А сейчас jsperf опять заморожен...
    Ответ написан
    Комментировать
  • Достаточно будет такой характеристики ПК для веб-разработки?

    Более чем
    Ответ написан
    Комментировать
  • Как реализовать?

    bigton
    @bigton
    Web-программист
    Вот тут всё подробно расписано php.net
    Ответ написан
    1 комментарий
  • % от знакомства с клиентом, или спасибо хватит?

    @Elizavetta
    Matroid: gamedev/js-разработка
    Зависит от ситуации. Если Вы сами не имеете стабильного потока клиентов, этот клиент оказался прибыльным, вы не делаете встречного промо бесплатно ...
    Посредники должны нести ответственность, если хотят получать %. Ведь в случаях, когда они приводят проблемных, убыточных или неадекватных клиентов, их это не касается. Если собираетесь перевести %, делайте это только после полной оплаты работ заказчиком.
    Ответ написан
    1 комментарий
  • Почему по всем показателям устаревшие модули памяти (DDR2) стоят огромные суммы?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Топовые планки (для DDR2 8 GB это предел) у любой версии стоят гораздо дороже чем средние ходовые.
    DDR2 уже отходит в класс устаревшего железа и ее выпуск сокращяется, от этого и растет цена, также издержки (перестраховки) продавцов из за снизившегося спроса.
    DDR 4 наоборот, для нее этот объем считается самым ходовым, ну и она современная распространяемая, а значит часто покупают и спрос сбивает цены.
    Обычный маркетинг.
    Ответ написан
    Комментировать
  • Gulp-jade и 50 шаблонов - как ускорить сборку?

    lavezzi1
    @lavezzi1
    Я юзаю tars сборку. У меня сейчас около 200 шаблонов (блоков) компилит 25секунд. Попробуйте https://github.com/tars/tars
    Ответ написан
    1 комментарий
  • Почему по всем показателям устаревшие модули памяти (DDR2) стоят огромные суммы?

    Jump
    @Jump
    Системный администратор со стажем.
    Почему по всем показателям устаревшие модули памяти (DDR2) стоят огромные суммы?
    Потому что их за столько продают.

    Разве морально мертвое железо не должно стоить как минимум в 2 раза дешевле современного?
    Любая вещь стоит ровно столько, за сколько продашь.

    Или техпроцесс производства модулей DDR2 такой емкости крайне сложен?
    Как техпроцесс может менять на цену? На цену влияет только сумма запрошенная продавцом, и сумма которую готов уплатить покупатель.
    Ответ написан
    Комментировать
  • Почему по всем показателям устаревшие модули памяти (DDR2) стоят огромные суммы?

    GaneevRR
    @GaneevRR
    Вместо спасибо отмечайте Нравится
    Для ddr2 16Gb это предельный объем оперативной памяти, серверные редко до 32. Взять туже ddr у нее для обычных пк 32Gb, серверная 64Gb. Вот из за этих максимально допустимых возможностей одной планки цена и скачет хотя я сам считаю не совсем оправдано такое завышение. Если посмотришь 2-4Gb то ценник не сильно отличается.
    Ответ написан
    Комментировать
  • Как выбрать CMS для сайта-одностраничника + блог?

    Punkie
    @Punkie
    SEO-френдли из коробки
    Возможность быстро и легко редактировать контент как в блоге, так и на остальных страницах
    (важно) Простая возможность натянуть собственную верстку на CMS


    Это всё есть.

    Мои мысли следующие: WordPress изначально заточен под блоги, а сейчас к условиям добавляется еще и необходимость посадочной страницы в кач-ве главной + кабинет, и мне почему-то кажется, что не слишком он подойдет (поправьте, если я ошибаюсь) для текущих целей.


    А вот это - распространённое заблуждение.

    Вордпресс под вашу задачу - идеален.
    Ответ написан
    Комментировать
  • Как работать с заказчиками, если ты дотошный, а они мыслят "в общем"?

    Denormalization
    @Denormalization
    Есть выражение "инициатива ебет инициатора". Прекратите быть инициатором.
    Делайте так, как хотел заказчик. Если его это не устроит, то пусть доплачивает за переделку.
    Не знаю какой у вас там договор, и как вы оформляете на бумаге вашу разработку, но вы должны защищаться от подобных вещей.

    Если вы не прорабатываете проект изначально, и даете сроки "примерно", то это целиком и полностью ваш косяк, и вы должны за него отвечать. Не умеете ставить сроки? Давайте срочки x2, x3, x5. До тех пор, пока не научитесь более-менее правильно определять.
    Ответ написан
    6 комментариев
  • Проект стал слишком большим для одного разработчика, что делать?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Поднимаете часовой рейт, аргументируя это возросшей нагрузкой. Вы не обязаны батрачить 24 часа в сутки. Если ему это необходимо, пусть доплачивает за ваши неудобства.
    Из образовавшейся маржи найдите человека, который будет брать на себя часть ваших обязательств перед заказчиком. Контролируйте его.

    Да и в конце концов, ничто не мешает вам сменить проект. Когда вы уйдете, то я думаю он запоет про "отсутвие денег и багтрекинга" по другому.
    Ответ написан
    3 комментария
  • Есть ли система, которая помогает выявить источник взлома (помимо стандартных логов)?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    сверено с исходниками - все чисто

    И в БД тоже? Я очень давно последний раз трогал MODx и на сколько помню там было в моде часть исходников хранить в БД.
    Надеюсь вы проверяли исходники не вручную? (в смысле через diff в вашей VCS + в БД)

    Есть мысли вынести сайты на уровень выше корня, оставив только точку входа

    Это первое, что нужно делать))

    Как вообще проводится поиск эксплойтов на сайте, если идей никаких нет?

    0 - Если у вас в публичном каталоге не одна точка входа, а весь проект - вы уже себе в ногу выстрелили
    1 - Ищутся CVE в багтрекере CMS
    2 - Проверяются плагины, установленные в системе, они тоже могут содержать уязвимости
    3 - Проверяется возможность загрузить и выполнить файл. Например на uploads (или как там каталог называется) права на запуск должны со всей силы отсутствовать
    4 - Проверяются открытые порты сервера (если наружу торчит mysql, redis, memcached, ... - тогда сами себе злобный буратино)
    5 - Ищутся все возможные точки с eval/include/require/include_once/require_once/exec/shell_exec/... для стороннего кода это потенциальная точка выполнения
    6 - Ищутся возможные sql инъекции по коду cms/плагинов
    7 - Ищутся всевозможные phpmyadmin и тому подобные сервисы, торчащие наружу
    8 - Если в коде активно юзаются глобальные переменные - это потенциальная дыра в безопасности
    9 - Если аргументы методов не проверяются - это тоже потенциальная дыра в безопасности
    10 - Вам стоит убедиться и в том, что отсутствует утечка изнутри. На одном проекте случайно нашел залитый бывшими сотрудниками phpspy
    Ответ написан
    3 комментария