• В чем отличие пути от маршрута в теории графов?

    @sgrogov
    Вот что подсказал гугл:

    Маршрут называется открытым, если его концевые вершины различны, и замкнутым или циклическим в противном случае.
    Открытый маршрут называют цепью, если все ребра в нем различны (вершины могут повторяться).
    Цепь, в которой не повторяются вершины, называется путем (простой цепью).

    Отсюда следует, что путь - часть маршрута, не содержащая рёбра между повторно встречающимися вершинами.

    Определения подсмотрел здесь https://studopedia.ru/3_80680_marshruti-puti-i-tsi...
    Ответ написан
    Комментировать
  • Как сформировать условие с логическим оператором?

    @sgrogov
    if (Object.hasOwnProperty.call(obj, 'one') && obj.one !== false) {
      console.log('foo');
    }


    или используйте lodash (или аналоги)

    if (_.has(obj, 'one') && obj.one !== false) {
      console.log('foo');
    }
    Ответ написан
  • Как при изменении input получить его старое значение?

    @sgrogov
    Возможно стоит использовать keydown. Тогда event.target.value будет хранить предыдущее значение, а event.key вводимый символ.
    Ответ написан
    Комментировать
  • Как убрать таймзону с даты и установить конец дня?

    @sgrogov
    Если правильно понял, вы хотите получить:
    Wed Mar 28 2018 23:59:59 +00:00

    Для этого, как писали выше, используйте moment.js примерно следующим образом:
    moment(date).utcOffset(0, true).endOf('day');

    Подробнее про utcOffset читайте в официальной документации. Вас должен интересовать второй параметр. На всякий случай приведу примеры:
    moment('2018.01.01 12:00:00+06:00').utcOffset(0, false).format(); // '2018.01.01 06:00:00+00:00'
    moment('2018.01.01 12:00:00+06:00').utcOffset(0, true).format(); // '2018.01.01 12:00:00+00:00'
    Ответ написан
    Комментировать
  • Как вы используете БЭМ?

    @sgrogov
    Во-первых элементы нужны, если одних только стилей блока недостаточно. Если у вас возникает желание переиспользовать элемент блока в другом месте, значит этот элемент должен быть вынесен в отдельный блок. В идеале стили элемента имеют смысл только в контексте блока.
    Во-вторых, БЭМ даёт преимущества в долгосрочной перспективе. Если вы сдадите лендинг и забудете навсегда - можно и поговнокодить, но обычно проекты (даже лендинги) некоторое время приходится поддерживать. С БЭМ не нужно каждый раз разбираться в забытом проекте и беспокоиться о том, что новые изменения могли где-то что-то сломать.
    Что касается скорости разработки - используйте препроцессоры и шаблонизаторы, скорость только вырастет. Я успешно использую csssr-project-template, где связка BEM + stylus + jade мне кажется идеальной для вёрстки.
    В третьих, как уже писали, используйте переводчик, если не получается придумать название. Что касается повторяющихся секций - да, нумеровать, если больше не за что зацепиться, это особенность вёрстки лендингов. Собственно и без БЭМ нумеровать придётся, если у каждой секции свои особенности.
    Ответ написан
    Комментировать
  • Как настроить сборку front-end?

    @sgrogov
    Посмотрите шаблон для быстрого старта от csssr https://github.com/CSSSR/csssr-project-template. Все задачи написаны на es2015 синтаксисе, используется кеширование для ускорения сборки, таски разбиты на отдельные файлы, статичные данные вынесены в json, готов к использованию svg, есть retina-спрайты, вовсю используется БЭМ. Много плюшек, разве что на windows могут быть проблемы с установкой зависимостей (впрочем это проблема не самого шаблона, а некоторых модулей в npm).
    Ответ написан
    Комментировать
  • Как откатить ветку в состояние сразу после ее создания?

    @sgrogov
    Сам момент создания ветки нигде не зафиксирован, откатываться можно только к конкретному коммиту. Откатиться можно через
    git checkout хеш_коммита
    Узнать хеши предыдущих коммитов через
    git log
    или в интерфейсе Github/Bitbucket/приложения с gui, если используются
    Откатиться не удастся, если есть незакоммиченные изменения, поэтому их нужно либо спрятать (чтобы позже к ним вернуться)
    git stash
    либо сбросить
    git reset --hard HEAD
    либо закоммитить
    Ответ написан
    Комментировать
  • Почему htaccess не обрабатывает css-файлы?

    @sgrogov Автор вопроса
    Nginx кеширует статические файлы, и они не обрабатываются apache'м.
    Стоит перенастроить nginx, исключив нужные папки, но в моём случае отсутствия доступа к настройкам сервера придется решать изменением логики приложения.
    Ответ написан
    Комментировать
  • Хитрая настройка .htaccess

    @sgrogov
    RewriteCond %{REMOTE_ADDR} 192.168.0.1
    RewriteRule ^.*$ /1 [R]

    RewriteCond %{REMOTE_ADDR} 192.168.0.2
    RewriteRule ^.*$ /2 [R]

    что-то вроде этого, не проверял работоспособность.
    Ответ написан
    Комментировать