• Делается ли merge при rebase?

    toxa82
    @toxa82
    Итоговый результат слияния кода при merge и rebase одинаковый. Разница будет только в порядке коммитов в истории. Merge сверху применяет новые коммиты, rebase находит общего предка, убирает ваши новые коммиты в ветке, обновляет ветку, применяет ваши новые коммиты сверху.
    Ответ написан
    Комментировать
  • Можно ли оставить then() пустым?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Это плохая установка по умолчанию. я ее всегда выключаю.

    Вы тоже можете выключить, или заглушить комментарием в коде

    // noinspection JSIgnoredPromiseFromCall
    fn();


    Настройка этой инспекции здесь
    63186024a02db109547962.png
    Ответ написан
    Комментировать
  • Какая есть альтернативу шрифту outfit?

    @lekras
    Полный аналог с кириллицей вряд ли найдется.
    По пропорциям близок Circe, но он не бесплатный
    Ответ написан
    Комментировать
  • Что такое slug в разработке?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Чаще всего, как уже написали, встречается в URL, но все же его значение чуть более шире - slug это уникальная строка идентификатор, понятная человеку (в отличие от ID) и содержащая только "безопасные" символы:
    - 0-9
    - a-z (общепринято - в нижнем регистре)
    - символ -
    - иногда еще символ _
    Могут использоваться не только в URL для понятности, но и, например, в запросах к БД (в первую очередь - на уровне АПИ) - ведь
    SELECT * FROM pages WHERE category="some-slug"
    более понятно, чем
    SELECT * FROM pages WHERE category=126.
    На уровне API это выглядит как
    get_pages_in_category( 'some-slug' )
    или
    $object->get_pages_in_category( 'some-slug' ).
    В общем, это человеко-понятный уникальный идентификатор.
    Ответ написан
    1 комментарий
  • Плох ли tailwind?

    Fragster
    @Fragster
    помогло? отметь решением!
    Замедляет ли tailwind работу сайта в продакшене?
    нет или незначительно. количество классов у элемента почти не влияет на скорость отрисовки. но атомарные классы при этом положительно влияют на размер файла стиля. Очень жду, когда появится анализатор по аналогии с https://windicss.org/features/analyzer.html , чтобы повторы/незначительные вариации стилей проанализировать и перенести arbitrary values в конфиг.

    Или он нужен только на этапе разработки?
    не понятно (

    Стоит ли использовать tailwind в крупных проектах, если нет, то почему. И что стоит использовать?
    Стоит. Единственное, нужно фирменные элементы стиля зафиксировать в конфиге tailwind, можно вообще отказаться от дефолтного конфига и сделать свой с нуля.

    И что стоит использовать?
    Ну вот вышеупомянутый windy - почти то же самое, что tailwind, но со своими плюсами (группировка классов - бомба, анализатор тоже полезная вещь) и минусами, например не 100% совместимость с tailwind и некоторые (некритичные) глюки в вычисляемых классах vue). Просто tailwind более распространен.
    Ответ написан
    Комментировать
  • "localstorage" или cookie?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    Плюсы:
    localStorage отключить нельзя.
    localStorage будет жить вечно, если только вы или пользователь не удалите (или комп не сгорит ) ).
    Использовать localStorage проще
    document.cookie = "a=b"; // Добавляем куки
    document.cookie = "a="; // Удаляем куки
    // ??? Скачиваем функцию для получения куки
    
    localStorage.addItem("a", "b");
    localStorage.removeItem("a");
    localStorage.getItem("a");
    // или
    localStorage.a;


    Минусы:
    Работает как cookie, только с сервера ставить нельзя.
    Для получение с сервака нужно в запросе передавать.
    Ответ написан
    2 комментария
  • Как правильно обрабатывать события в node-telegram-bot-api?

    mak_ufo
    @mak_ufo
    Кратко:
    Возьмите telegraf и посмотрите этот раздел

    Более развёрнуто:
    Вам нужно где-то хранить "состояние" пользователя. Например, в БД или Redis. И тогда код будет примерно такой:
    bot.on('message', msg => {
         const session = getSessionFromDb(msg.from.id)
         if (session === 'foo') { //пользователь уже ввёл напоминание
             //обрабатываем одним способом
         } else if (session === 'bar') { //пользователь не ввёл 
            //обрабатываем другим способом
         }
    })


    Развёрнуто:
    Читайте про конечную машину состояний. Её суть в том, что она на одинаковые входные данные возвращает разные значения в зависимости от состояния, в которой она находится. В той же википедии это подробно описано.
    Ответ написан
    1 комментарий