• Что я делаю не так с модульными стилями?

    @ned4ded
    Adik Izat, написал ответ ниже. просто выделите в другой див кастомные стили.
  • Что я делаю не так с модульными стилями?

    @ned4ded
    могу предположить, что .col.s12 перебивает ваши стили, на самих дом-элементах класс висит? у класса отображаются стили в эксплорере?
  • Можно ли сделать таск в галпе для создание начальной структуры?

    @ned4ded
    Влад ~, т.к. галп исполняется с помощью nodejs, то вы можете пользоваться всеми фишками этой среды, например, манипуляциями файловой системы с помощью модуля fs. Такие функции, как mkdir, createFileSync вам в помощь. Там есть много подводных камней, например - вам вручную придется чекать, существует ли путь, является ли он файлом / директорией и проч.

    Тем не менее, директории можно создать с помощью инструментов самого галпа, что является, скорее, сайд-эффектом:
    gulp.task('directories', function () {
        return gulp.src('*.*', {read: false})
            .pipe(gulp.dest('./build'))
            .pipe(gulp.dest('./src'))
            .pipe(gulp.dest('./src/js/'));
    });


    Код выше я взял из этого ответа so. Для проверки у меня в данный момент нет среды с галпом.
  • Можно ли сделать таск в галпе для создание начальной структуры?

    @ned4ded
    Влад ~, что именно? как создать проектную структуру с помощью галпа? или как создать базовый репозиторий?
  • Как складывается отрицание (!) и пустой массив?

    @ned4ded
    Ventus, не за что. Насчет последовательности выполнения операций, у унарного сложения и оператора not одинаковый приоритет и ассоциативность у них правая.

    Если рассуждать логически, то операция не может быть произведена над неизвестной переменной. Например, 2 * x невозможно вычислить, пока не подставлено значение x. Тоже самое с операторами, если у нас два последовательных оператора с одинаковым приоритетом перед числом, то выполняется ближайший к числу оператор (правая ассоциативность). Например (!+[]), оператор not еще не получил значение от воздействия оператора + на массив.
  • Как ускорить выполнение JavaScript в браузере? Как распаралелить JavaScript?

    @ned4ded
    Надим Закиров, можно нарезать текст и регулярку запускать на куски текста - я это подразумевал под чанкованием. Плюс, я не особо разбирался с сервис-воркерами, но они, скорее всего, работают так же в основном потоке. Событие вызывает их экшн, который выполняется в данный момент, если этот процесс будет идти 3 минуты - значит поток забьется на 3 минуты.
  • Как ускорить выполнение JavaScript в браузере? Как распаралелить JavaScript?

    @ned4ded
    Надим Закиров, не за что. Только чанковать нужно на такие блоки, обработка которых не забьет стек. Грубо говоря, если у вас массив из 1000 строк, то вы выбираете 1 строчку, парсите ее за 50ms, отправляете парсинг остальных строк в стек. Иначе интерфейс может не реагировать на интеракции пользователя во время парсинга или начать пролагивать.
  • Как ускорить выполнение JavaScript в браузере? Как распаралелить JavaScript?

    @ned4ded
    Надим Закиров, особенности работы js, есть поток синхронный, выполняемый в данный момент, а есть стек - отложенные вызовы, которые выполняются, когда освобождается основной поток.

    Полезный видосик на тему

    пример привел выше.
  • Почему Eslint не работает?

    @ned4ded
    Шо такое МЫ? Если это vs-code, то там есть рядом с терминалом вкладка OUTPUT, надо смотреть ошибки eslint'a, prettier'а и фиксить их.

    5ea834c6386c3066884072.png
  • Разработчик недисциплинированно трекает время. Что делать?

    @ned4ded
    lahomie93, мне, как разработчику, все равно, на сколько там подзадач можно разбить процесс моей работы, совершенно не интересно сидеть и выявлять, относятся ли часы, потраченные на выработку видения, к проектированию, ресерчу, планированию или чему-то еще, это не моя забота. Вы смотрите на работу разработчика с колокольни пм - и в этом у вас проблема. В конце концов, это не я создал пост на тостере с тезисом "с меня требуют адекватную оценку времени, как мне быть?"

    По итогу мы получим, что в течение двух дней вы потратили 12 часов на решение задачи. Если применить скрамовское "велосити", то вы поработали с коэффициентом 12/16 = 0,75, что считается невыдающимся, но приемлимым результатом.

    Как видите я измерил результат вашей работы в часах. Я смог вас переубедить?


    Допустим, вы дали одинаковую задачу 2 разным разрабам, один сделал ее за 3 дня, сидя по 8 часов в день, второй сделал за 2 дня, сидя по 6 часов. Второй разраб, судя по вашей логике, крайне неэффективно выполнил задачу, если рассматривать "велосити". Дайте им другую задачу и результаты могут быть диаметрально противоположными. Насколько адекватным будет ваш коэффициент?
  • Разработчик недисциплинированно трекает время. Что делать?

    @ned4ded
    Я, пожалуй, проиллюстрирую примером.

    Поставлена задача спроектировать и реализовать определенный нетривиальный модуль в приложении. Я сначала думаю, какой минимальный функционал должен быть реализован в модуле. Потом лезу смотреть в гугл, как подобное реализовано в открытых проектах. Дальше мне надо переварить эти решения и адаптировать под текущее приложение или придумать свою реализацию. Я наливаю себе 1,5 литра чая, сажусь с художественной книжкой часа на 2-3, периодически отвлекаясь на записи мыслей по работе в блокнот. Под конец у меня есть некоторое абстрактное решение, частично намалеванное каракулями в виде кружочков, стрелочек, формул и псевдокода, и "видение" реализации. Я сажусь за пк, пишу решение, нахожу определенные узкие места в реализации и процесс повторяется. Сколько я писал код, часа 3-4 за пару дней? А сколько я потратил на запись решений, которые обдумал за чашечкой чая, не больше часа? Вот и получается, что на работу ушло 2 дня, а в "затреканное время" ушло 4 часа. Более того, есть задачи, которые можно в фоновом режиме делать 12 часов подряд и не устать, а есть и такие, после пары часов работы над которыми едет крыша.

    Вы пытаетесь измерить точное время процесса человеческого мышления, которое не поддается адекватное оценке. Да и какой в этом смысл, если есть набор задач, на основе которого спланирован дедлайн и важна актуальная оценка по % пройденных вех, а не наработанных часов? Попытка измерить kpi? Такое, конечно.
  • Как собрать шаблон под React + Typescript?

    @ned4ded
    dark_king_13, babel не проверяет типы при компиляции, в чем, собственно, вся суть тайпскрипта. ts-checker проверяет, но не вызывает ошибок при компиляции.
  • Как передавать свойства между одностраничными компонентами?

    @ned4ded
    Benchstyle, создаете в Message пропс onChange, в который передается колбек. Этот колбек вешается на внутренний элемент input в компоненте Message. Каждый раз на изменение инпута будет вызываться колбек, передаваемый сверху родителем (компонентом Template). Внутри темплейта обрабатывается это событие, вытаскивается значение и сохраняется в стейт.

    Создаете в MessageBtn пропс onClick, в который передается колбек. Этот колбек вешается на кнопку внутри MessageBtn. Срабатывать будет по нажатию, а обрабатываться будет в родителе.

    В целом, в данном случае логика "что все компоненты должны хранится в отдельных папках" работает иначе. Компонент !== дом элементу, сл-но вы вполне можете изолировать верстку кнопки и инпута в одном компоненте и не создавать такую сложную структуру без особой на то причины.
  • Отличие формата .scss от .module.scss?

    @ned4ded
    Михаил, это надо настраивать в самом вебпаке
  • React-router-dom ошибка?

    @ned4ded
    а если написать npx react-scripts start, то сработает?
  • React-router-dom ошибка?

    @ned4ded
    Остап, проверьте версии ноды и нпм
    $ node -v
    v12.16.1
    $ npm -v
    6.14.2


    Попробуйте сделать ребилд приложения через npm rebuild

    приложение было развернуто через create-react-app?
  • React-router-dom ошибка?

    @ned4ded
    какая версия ноды, нпм? раньше скрипты запускались?
  • React-router-dom ошибка?

    @ned4ded
    добавьте package.json