Задать вопрос
  • Почему у nav есть внешний отступ?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Потому что у него есть сброс типа такого
    *{
      margin: 0;
      padding: 0;
    }

    а у вас нету
    Ответ написан
    Комментировать
  • Почему CSSTransition не вешает стили?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    key={uniqid()}

    так нельзя делать. Ключи при каждом рендере должны быть одни и те же. В этом их смысл.
    Ответ написан
    Комментировать
  • Что посоветуете по GUI для питона?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    хочу сделать поиск как в браузере

    И вот тут я подумал про Electron в JavaScript! Визуалка, контроль, анимация - обычный HTML, CSS и JS. Проект можно скомпилировать под винду, мак и линукс.
    Ответ написан
    Комментировать
  • Почему var отрабатывает после того, как отработал цикл for?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Миллион объяснений по всему инету. Добавлю еще одно.
    1 Сначала пролетает весь цикл. Внутрь setTimeout исполнение не заходит - откладывается на "потом"
    2 Наступает "потом" - исполнение входит в первый setTimeout и вот тут проявляется разница:
    если была использована var-переменная - то она не ограничена скобками цикла for, поэтому в каждой итерации цикла она менялась в глобальной области видимости и в итоге равна 6. Т.е. все setTimeout будут искать свою переменную сначала в своей области видимости (между скобок), не найдут её там, а затем увидят ее в глобальной области, а там она одна и равна 6
    а если была использована let-переменная - то она объявляется локально и остается в каждой итерации цикла своя - т.е. внутри скобок. И когда setTimeout ищет переменную - то каждый находит своё значение локально
    Ответ написан
    1 комментарий
  • Как заставить gulp.watch реагировать только на сохранение, а не любое изменение файлов?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Никак он не может отслеживать изменения в файле, пока его не сохранят. В каком редакторе вы пишите? Отключите опцию автосохранение редактора. В самом ватчере, можно использовать параметр задержки
    function watcher() {
      gulp.watch('./src/style.css', { delay: 500 }, styles);
    }
    // в данном случае будет задержка в полсекунды после сохранения файла.
    Ответ написан
    1 комментарий
  • Как вводить в интерфейсе mysql русские символы?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    чтобы можно было вводить русские буквы в консоли mysql, нужно чтобы команда locale в системе выдавала:
    LANG=ru_RU.UTF-8
    LANGUAGE=
    LC_CTYPE="ru_RU.UTF-8"
    LC_NUMERIC="ru_RU.UTF-8"
    LC_TIME="ru_RU.UTF-8"
    LC_COLLATE="ru_RU.UTF-8"
    LC_MONETARY="ru_RU.UTF-8"
    LC_MESSAGES="ru_RU.UTF-8"
    LC_PAPER="ru_RU.UTF-8"
    LC_NAME="ru_RU.UTF-8"
    LC_ADDRESS="ru_RU.UTF-8"
    LC_TELEPHONE="ru_RU.UTF-8"
    LC_MEASUREMENT="ru_RU.UTF-8"
    LC_IDENTIFICATION="ru_RU.UTF-8"
    LC_ALL=

    а в докере выдает локали POSIX
    Поэтому либо ищите образ собранный на основе нужной локали, либо доустанавливайте сами нужные инструменты для генерации локали (locale-gen отсутствует)
    Ответ написан
    Комментировать
  • Не могу решать задачи по программированию?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    но когда доходит до задач, у меня появляются проблемы

    Просто, наверное никто не сказал вам, что правильная постановка задачи - это уже половина решения. Помню физичка, на меня дико орала в школе, когда я на доске сразу начинал писать решение - она требовала, чтобы сначала я писал секцию: 'Дано:'. Потом, я понял насколько это было важным. Перед решением любой задачи, сначала необходимо осмыслить все исходные данные и четко прописать их. Почему, это нужно делать? - потому что некоторые важные условия могут быть заданы неявно и ускользать от внимания. К примеру, в условиях пишут: 'машина начала двигаться и достигла скорости 70км/ч' - если вы просто прочитаете это, то в голове у вас будет вертеться только одна цифра (скорость 70). Но если обратить внимание на фразу начала двигаться - можно записать что начальная скорость была 0. И уже имеем: v0 = 0км/ч, v1 = 70км/ч После того как все исходные данные выписаны и установлены - остается протоптать из них дорожку к результату - это и будет решение, которое обычно само напрашивается при таком подходе.
    Ответ написан
    3 комментария
  • Как правильно использовать get и set в классах?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    где свойства firstName, lastName можно читать и менять.

    вы добавили методы только чтобы менять эти свойства. Добавьте геттеры тоже
    get firstName() {
       return this._firstName;
      }

    если не хотите, чтобы свойства вида _firstName светились наружу объекта - сделайте их приватными - замените все _firstName на #firstName
    Ответ написан
    Комментировать
  • При установке gulp-sass происходит ошибка, что делать?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    а что мешает забить ошибку в переводчик и узнать, что gulp-sass не содержит компилятор sass и его нужно установить отдельно?
    Решение npm i sass и в gulp-файле
    const sass = require('gulp-sass')(require('sass'));
    Ответ написан
    Комментировать
  • Как задать размер шрифта относительно ширины родительского блока?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Вы можете найти ответ на ваш вопрос здесь, с подробным описанием и расчетами
    Ответ написан
    Комментировать
  • Почему псевдо элемент(.todo-item__span::after) появляется не по середине?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    может вот так попробовать:
    .todo-item__span::after {
        position: absolute;
        content: '+';    
        display: inline-block;
        transition: 0.4s ease-in;
        transform: scale(0) translate(-50%, -50%);
        background-color: transparent;
        font-size: 2rem;
    }
    Ответ написан
  • Почему появляется ошибка при первом запуске React?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    npx i create-react-app

    нужно было не npm, а npx, почитайте внимательно документацию
    ну и конечно, аргументом сразу имя каталога в котором хотите реакт установить
    npx create-react-app my-app
    Ответ написан
    Комментировать
  • Как обойти ограничение в setTimeout JS?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Берете текущее время - Date.now() к нему прибавляете время на которое выдаете бан (хоть минуту, хоть годы) и сохраняете это значение. Периодически (раз в сутки например) проверяете вышло время бана или нет, т.е. стало текущее время больше сохраненного - значит пора разбанивать. Еще можно сделать проверку разбана конкретного пользователя при его попытке зайти.
    То что вы описываете с setTimeout дичь конечно, но при желании можно и её реализовать - сделать вложенные setTimeout.
    Ответ написан
    Комментировать
  • Как получить динамически появившееся содержимое тега?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    примерно вот так
    // выберите элемент, который вы хотите отслеживать
    const targetNode = document.querySelector('.wpcf7-response-output');
    let successText;
    // создайте экземпляр MutationObserver
    const observer = new MutationObserver(function(mutationsList) {
        for(let mutation of mutationsList) {
            if (mutation.type === 'childList') {
                // если тип мутации является childList (изменение дочерних элементов), то выполните действия
                successText = mutation.target.textContent;
                console.log(successText, 'in Observer');
            }
        }
    });
    
    // настройте параметры наблюдения
    const config = { attributes: true, childList: true, subtree: true };
    
    // начните отслеживать элемент
    observer.observe(targetNode, config);
    
    const submitBtns = document.querySelector('button');
    
    submitBtns.addEventListener('click', function() {
          // изменяем контент через 3 сек после клика
          setTimeout(function() {
              document.querySelector('.wpcf7-response-output').textContent = 'New content';
          }, 3000);
          
      });

    здесь observer это ф-я, которая будет всегда вызываться при изменении контента. Можете в нее добавить дополнительную логику (проверка клика, семафор и др..).
    Ответ написан
    Комментировать
  • Какой учебник порекомендуете?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    сильно углубиться + изучать машинное обучение + профильный ЕГЭ по математике

    на мой взгляд это движение в 3 разные стороны. Профильный ЕГЭ, вообще способен отбить всякое желание изучать математику. Но если есть желание понимать математику, то советую обратить внимание на Я.Б.Зельдович "Высшая математика для начинающих" 1970г. - в книге идет обучение основам ВМ в тесной связи с её применением к окружающему миру (механика, электродинамика, ядерная физика). Поначалу, может отпугнуть большим количеством формул, но если читать внимательно и последовательно - то никаких проблем не возникнет даже у школьника. Я читал её в 8-м классе.
    Ответ написан
    Комментировать
  • При установке grunt-contrib-concat ошибки. Что делать?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    у вас grunt-contrib-concat@2.1.0 требует версию grunt@">=1.4.1, а у вас в проекте "grunt": "~0.4.1". Значит либо повышаете версию grunt до требуемой, либо понижаете версию grunt-contrib-concat до той которой хватит grunt в вашем проекте.
    Есть и более варварский способ установить невзирая на требования используя флаг --legacy-peer-deps:
    npm install --legacy-peer-deps
    Ответ написан
    1 комментарий
  • Что сделать, что бы js работал на gulpe?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Gulp не предназначен для работы в браузере и не может в нем работать, поскольку ему нужен доступ к файловой системе. Чтобы его запустить вам нужно установить Node.js, создать папку с проектом и в ней произвести установку нужных пакетов с помощью команды npm install (файл package.json должен быть в этой же папке), либо устанавливая каждый нужный пакет по отдельности. На ютубе полно роликов
    Ответ написан
    Комментировать
  • Как создать много индексируемых страниц на React сайте?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Вам нужно использовать SSR - рендеринг на стороне сервера. Переходите на фреймворк Next.js - это тот же реакт, но использующий SSR. Причем там можно рендерить как динамические страницы, так и сделать кеш для статичного контента.
    Ответ написан
  • Что происходит при вызове асихнронной функции из другой асинхронной функции?

    rqdkmndh
    @rqdkmndh
    Web-разработчик
    Когда в основном потоке встречается вызов функции А - он не блокируется. Но когда начнется исполнение самой функции А и в ней встретится readFileSync - произойдет блокировка. Поэтому имеет смысл использовать внутри асинхронный readFile. Почитайте подробнее об этом по запросу EventLoop.
    Ответ написан
    Комментировать