Задать вопрос
  • Как быстро осуществлять нейминг css классов для разносортных секций?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Ну тут скорее не вопрос, а крик души, который можно поддержать.

    По делу: да, проблема есть, именовать на больших проектах сложно. Решений нет.
    Вернее, только те, которые вам кажутся "грязными", но других не завезли (и не завезут).
    И те, которые не относятся к разработке (вроде "дать люлей дизайнеру, который не понимает, как это всё работает, и лепит каждый элемент как попало")

    Тут просто надо несколько абстрагироваться и принять то, что абсолютно в любой объёмной системе, даже если её вдруг пишет один человек (что вряд ли), всегда есть место неочевидным вещам. Перфекционист внутри рыдает, но что делать.

    Откройте любое масштабное решение - чёрт ногу сломит, не так ли? И требуется немало времени, чтобы вникнуть. Потом вникаешь - и становится проще, но всё равно много нагромождено. А если выпасть из контекста на месяц - потом опять заново вникать. Это норма (картинка с Малышевой).

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

    Совмещение ваших пунктов 1 и 3 в одно - вполне здоровый стиль.
    Если секция, где всё очевидно: about, gallery, text-section, etc.
    Если контент неоднородный - именовать по смыслу (как в 3).

    Единственное что мог бы посоветовать - не смущаться добавлять новые компоненты, задавая им какой-то дополнительный неймспейс (contacts-header, contacts-about), а не пытаться всё упихать в один общий с помощью модификаторов - в поддержке будет проще.

    Просто размышления от прочитанного:
    1. Подходы 2 ("section-1", "section-2") и 4 (атомарщина) - в аду для таких "специалистов" стоит отдельный котёл. Ну вы и сами понимаете. Использовать нужно никогда.
    2. Инкапсуляция имён ничего не даёт в этом отношении, так как это придумано для элементов внутри блока (а с этим и концепция БЭМ хорошо справляется), глобально вам как разработчику всё равно нужно иметь понятное "корневое" название блока.

    Ещё можно поработать со своей головой, возможно, что такой крик души идёт от страха быть осуждённым. Браузеру-то всё равно, вы ему хоть .qwerty123 { ... } скормите - нормально отобразится.
    Понятные имена - для разработчиков, и надо понимать, что ни один толковый разработчик в вас камнем не бросит за то, что вы дали блоку имя .contacts-footer-call-to-action, если у вас этот самый .call-to-action в каждой секции настолько разный, что в один компонент не умещается.
    Иногда помогает, если есть прямой выход на клиента или ЛПР донести, что такой дизайн... Ну не самый лучший для поддержки, и обосновать почему.
    А чисто технически - решений нет, ну, вот такая работа, чё делать.
    Ответ написан
    2 комментария
  • Как избавится от ошибок в npm и начать жить счастливо?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Скачивание электрона отвалилось по таймауту, переустановите
    Ответ написан
    Комментировать
  • Как избавится от ошибок в npm и начать жить счастливо?

    Robur
    @Robur
    Знаю больше чем это необходимо
    чтобы жить спокойно - надо читать буквы которые вам пишет npm, а не только смотреть, есть ли что-то "красненькое".

    "вроде все топ" и ошибка которая занимает половину экрана не совсем соответствуют друг другу.
    Ответ написан
    Комментировать
  • Задать в Vue условие в зависимости от разрешения экрана?

    bingo347
    @bingo347
    Crazy on performance...
    data() {
        return {
            showMobileMenu: false
        };
    },
    mounted() {
        const mediaQuery = window.matchMedia("(min-width:768px)");
        this.showMobileMenu = mediaQuery.matches;
        const listener = e => this.showMobileMenu = e.matches;
        mediaQuery.addListener(listener);
        this.$once('hook:beforeDestroy', () => mediaQuery.removeListener(listener));
    }
    Ответ написан
    3 комментария
  • Как правильно работать с backend на PHP используя Vue?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Да, всё так как вы описали.

    Насчёт OAuth конечно я бы не сказал, что прям это супер обязательно, иногда можно прибегнуть просто к jwt токену. OAuth по мимо безопастности даёт ещё много преимуществ, например как единый сервер для авторизации пользователей для множества проектов. Как по сути всякие соц. сети дают возможность. Если у вас простой проект и в нём нет каких либо очень важных данных, то можно и без OAuth обойтись. Это просто моё мнение))
    Ответ написан
    Комментировать
  • Как найти работу начинающему верстальщику?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    На сегодняшний день верстальщик это стек минимум из 3х языков, включая JS. Нет понимания JS, нет нормальной рабочей верстки. Даже если тебе попадаются проекты без JS (покажите мне такие), то отсутствие знания не освобождает от ответственности.

    Поэтому, чтобы называться начинающим верстальщиком, тебе нужен как минимум базовый JS. Без него ты никому не нужен, даже гавностудиям. Его ты можешь получить на курсах и в свободном доступе. Да хотя бы тут. Материал годный, рекомендую.

    Ну и напоследок, фронтендер = верстальщик, просто у нас в русском языке есть такой самостоятельный термин.

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

    А просто набрать вопрос в гугле? На эту тему много древних статей, потому что и галп сейчас уже устаревает, почитайте про webpack или parceljs
    www.creative-seo.ru/blog/grunt-vs-gulp

    А на вопрос зачем? Началось все с CI/CD а закончилось унификацией процесса.
    В вашем случае вы завязываетесь на конфигурацию IDE, а что делать если над проектом работает много людей?
    Ответ написан
    4 комментария
  • Почему я не могу использовать try и catch в разных частях кода?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Если не обращать внимание на дурацкий пример (PDO прекрксно без твоей помощи справится с выбросом исключения, и echo $ex->getMessage();die(); - это полная бессмыслица, поскольку пхп опять же выведет сообщение об ошибке без твоей помощи) то ты просто не туда поставил закрывающую скобку. она должна быть перед catch
    try {
            $db=new PDO($DSN, $db_user, $db_pass, $pdo_opt);
    
    ?>
    бла блa бла
    <?
    
    } catch(Exception $ex) {
        обработка исключения
    }

    В общем, оставь пока исключения в покое, тебе не надо их ни бросать, ни ловить.
    Ответ написан
    2 комментария
  • Как работать с полученным HTML во vue?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Лучше никак. Измените api так, чтобы получать json вместо html, и создавайте разметку из данных средствами vue.

    Ну а так-то можно делегированием воспользоваться:

    <div v-html="свойствоСодержащееHTML" @click="onClick">

    methods: {
      onClick(e) {
        if (e.target.tagName === 'BUTTON') {
          const id = e.target.closest('.product').dataset.id;
          ...
        }
      },
      ...
    },

    https://jsfiddle.net/grfo05vm/
    Ответ написан
    Комментировать
  • В чем отличие QUERY_STRING и REQUEST_URI?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    QUERY_STRING - всё что идёт после ?
    REQUEST_URI - полный путь без домена

    например для example.com/some/path/xxx.php?a=1&b=2 получим
    REQUEST_URI: /some/path/xxx.php?a=1&b=2
    QUERY_STRING: a=1&b=2
    Ответ написан
    Комментировать
  • Как на определенной итерации v-for обнулить индекс?

    @nvdfxx
    Senior Pomidor developer
    <div for="(item, index) in items">
    ID: {{index % x}} // x - определенная итерация
    </div>

    p.s. Скорее всего, если вам нужно решение через индекс, 99%, что вы что-то делаете неправильно
    Ответ написан
    3 комментария
  • Что такое webpack dev server?

    andreydobrin
    @andreydobrin
    Сложно , но это пока
    С этой штукой Ты сможешь разрабатывать приложения с высокой скоростью и комфортом.
    Webpack Dev Server позволяет тебе запускать локальный сервер (на твоем ПК) и следить за изменениями всех, необходимых для разработки файлов, автоматически. То есть, тебе не придется перезапускать проект, чтобы обновить изменения.

    в консоль пишешь:
    npm i webpack-dev-server

    в package.json в поле scripts добавляешь вот такие вот команды:
    "scripts": {
        "commandName": "webpack-dev-server",
      }

    Где commandName название твоей команды.

    Простой конфиг:
    devServer: {
            port: 8888, // определяет порт 
            overlay: { // показывает ошибки или предупреждения при разработке
                warnings: boolean,
                errors: boolean
            },
            open: true, // открывает окно браузера
        }

    и еще куча многих опций, типа http/https/https2/hot/host/filename и т.д.
    Ответ написан
    Комментировать
  • Что такое webpack dev server?

    Robur
    @Robur
    Знаю больше чем это необходимо
    А что именно в официальном описании в документации вам непонятно? Или вы его пока не читали, сначала спросить решили?
    Ответ написан
    Комментировать
  • Какой язык лучше выбрать для проекта?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Язык можно выбирать любой - разницы абсолютно никакой нет.
    Бери тот, что ближе и лучше знаешь
    Ответ написан
    Комментировать
  • Какой язык лучше выбрать для проекта?

    @NinjaNickName
    Web разработчик
    Под вашу задачу и вопрос, единственное верное решение, использовать тот язык, который вы хорошо знаете.

    Вы пишете, что вы фронтендер, значит знаете js - тогда используйте node.js
    Ответ написан
    Комментировать
  • Что вы делаете в своих приложениях, если?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Лично у нас в апи запросе от приложения указывается и версия апи, на сервере поддерживаем последние три версии, поэтому обновление происходит абсолютно гладко.
    Ответ написан
    1 комментарий
  • Бывают ли "умные" проходные/перекрестные выключатели?

    @golovopatolog
    Используйте импульсные реле, которые в свою очередь сконцентрируйте в одном щите. В этом случае можно сделать любые сценарии или менять их без переделки проводки
    Ответ написан
    Комментировать
  • Как найти источник загрузки сторонней рекламы в браузерах?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Жил да был черный кот за углом...
    Баннер отображается только на сайтах с http

    Это однозначно провайдер. В саппорт тут особо без толку, они могут и не в курсе быть. Пров видит http соединение и врезается в него.
    Ответ написан
    3 комментария
  • Node SASS vs Dart SASS. Какой производительнее при каких условиях?

    @Flying
    1. dart-sass - reference implementation языка т.е. является образцом того как должен работать язык. node-sass binding libsass (реализации спецификации языка на C++) к node.js.

      dart-sass содержит в себе все последние фичи языка, к примеру там уже есть поддержка sass modules, libsass отстаёт, а node-sass отстаёт от libsass. За пруфами - сюда и сюда
    2. libsass производительнее, местами - существенно. К примеру в моих тестах интенсивная работа с sass maps в libsass примерно в 10 раз быстрее чем в dart sass. Насчёт микросекунд - у меня есть проекты которые по 15-20 секунд компилируют только стили на node-sass, на dart-sass всё намного медленнее
    3. Приведённые ссылки - сравнение тёплого с мягким. Есть реализации языков, а есть плагины для их подключения к различным сборщикам. sass - сама реализация языка, gulp-sass - binding для Gulp, sass-loader - binding для Webpack
    Ответ написан
    Комментировать