• Какую современную систему стейт-менеджмента лучше выбрать для React-проекта с "нуля"?

    Все сильно зависит от специфики вашего проекта, но по своему опыту могу сказать, что ФП хранилища в проекте с бизнес-логикой - зачастую хуже, чем ООП варианты.
    В своих проектах обычно использую стек из Mobx + tsyringe(DI). С недавних пор добавил в эту схему React-Query. Иногда бывает полезно использовать MST, если ваша бизнес логика требует каких-то сложных моделей данных с собственной логикой, а так же сложной связи между ними. В частности, MST дает немного больше возможностей для проектирования моделей данных, нежели обычные классы с Mobx.
    Поясню за ответственности:
    1. Mobx - отвечает именно за бизнес-логику frontend приложения. Не надо туда пихать геттеры данных с бэкенда, которые нужно просто визуализировать, для это есть React-Query. Поскольку Mobx базируется в первую очередь на классах, для работы с ним мы можем применять ООП и соответствующие паттерны, выстраивая интересно логику из хранилищ и сервисов прямо на frontend. Для лучшего понимания как это правильно варить, рекомендую глянуть на backend.
    2. React-Query - у них на сайте прекрасно описано, зачем они нужны, и этот инструмент в любом случае призван дополнять типичные хранилища состояний, будь то хоть Mobx, хоть Redux, хоть еще что-либо, рекомендую почитать. Отличный инструмент для работы с состоянием приложение в случае тех данных, которые просто нужно взять с бэка и отобразить.
    3. Tsyringe - для меня проверенный и неплохой инструмент для работы с DI на фронте. Это гораздо лучше, чем пробрасывать хранилища внутрь других хранилищ через конструкторы или через глобальные переменные. Аналогично с подключением в эту схему сервисов. Сразу скажу, что есть риск запутаться в конфигурациях сборщика, если используете CRA, ибо и Mobx, и Tsyringe используют в своей основе декораторы, а babel их переваривает с переменным успехом, но если разобраться, настроить можно)

    Опять таки, адепты Redux и ФП могут сказать, что я просто не умею готовить Redux. Действительно, не умею. Несколько раз пытался трогать Redux, но он не нравился ни до того, как узнал про Mobx, ни после. Верю, что разрабатывать на нем можно. Но и ухо можно чесать левой рукой через затылок. Чтобы Redux был производительным и эффективным, нужно понимать как устроены данные и как работает его реактивность. Он может неплохо подойти для менеджмента состояния каких-то простых моделей данных, например, форм. Но зачем нам центральное хранилище для форм?
    Mobx в этом плане сильно проще и при хорошей архитектуре проекта и самого приложения, джуниоры редко могут там что-то вытворить своеобразное, да и производительность там поломать куда сложнее. В общем, Mobx банально удобнее и проще, но при этом не только не ограничивает разработчиков в возможности создавать сложные и элегантные решения, а только помогает в этом.

    Вот такие мысли, надеюсь поможет)
    Ответ написан
    Комментировать
  • Правильная семанитческая разметка для лендинга?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    body
      header
         nav
      main
          section
          section
          section
          aside
      footer


    ---- вот она, базовая семантическая разметка для лендинга. Даже если вы не назовёте что-то aside, не будет ничего критичного. Нужно придерживаться семантики, но не надо делать из нее каргокульт, между тем что бы думать час над названием тэга и выбрать div- выбирайте div
    Ответ написан
    Комментировать
  • Как сделать график?

    RAX7
    @RAX7
    chartjs
    Ответ написан
    Комментировать
  • Стек MEAN ( Можно ли заменить MongoDB на MySQL )?

    Xuxicheta
    @Xuxicheta Куратор тега Angular
    инженер
    нет никакого стека MEAN. Это просто свободно заменяемый набор инструментов, причем монгу вообще нет смысла брать. И родилась эта аббревиатура еще во времена первого ангуляра и вырвиглазной ноды, еще до nest.js и тайпскрипта.
    Все мануалы того периода сейчас уже нельзя воспринимать всерьез.
    Ответ написан
    3 комментария
  • Стек MEAN ( Можно ли заменить MongoDB на MySQL )?

    Robur
    @Robur
    Знаю больше чем это необходимо
    в слове MEAN можно любую букву заменить другой буквой.

    Если хотите быстро и нормально, возьмите nestjs + graphql, на клиента apollo + любой фреймворк.
    потратите какое-то время чтобы прочитать что это все такое, доков навалом, зато потом будете думать о том как приложение свое писать, а не о том как и какие технологии/либы прикрутить чтобы что-то заработало.
    Ответ написан
    Комментировать
  • Всем привет. Что я делаю не так?

    Что делать?

    Учиться дебажить.
    Ответ написан
    Комментировать
  • Для каких задач Node.js является более приоритетным выбором среди других платформ?

    @MikUrrey
    Реактивные веб-сайты.
    Есть такой термин: Server Side Rendering, упоминается чаще всего в связи с технологиями Vue и React.
    Реактивные фреймворки "собирают" контент на клиенте, а node js позволяет тот же код использовать на сервере, чтобы он мог отдавать странички, готовые для СЕО.

    Кроссплатформенные мобильные приложения.
    Создаются по технологии React Native и подобным.

    Кроссплатформенные приложения для РС.
    Это, обычно, фреймворк Electron. Например, популярный нынче VS Code создан по такой технологии.
    Ответ написан
    Комментировать
  • Для каких задач Node.js является более приоритетным выбором среди других платформ?

    @vshvydky
    По существу вопроса,
    на беке должен быть порядок, использование js в сочетании с непониманием как правильно строить бек, приводит к популяризации мнения, что node.js на бекенде неправильное решение.
    Сразу оговорюсь, неправильное решение не использование node.js на беке, а использование программиста, не знающего как строится бек, как работать с базами данных и получать от них максимум.
    Отдельно про js. Имхо использование чистого js на бекенде допустимо только там, где кодовая база не превышает 200-300 кб кода, иначе могут быть сложности.
    Решение, использовать ts плюс сочетание доступных фреймворков
    Из того, на что можно и нужно посмотреть:
    nest.js - очень сильный фреймворк, позволяющий писть как большие монолиты. так и микросервисы, очень дружелюбен к фронтэнд на angular
    inversify.js - сильная DI
    express (в сочетании с inversify-express-utils), fastify - низккоуровневые фреймворки для http
    socket.io - сокеты с поддержкой каналов
    Есть еще много чего, что закрывает те или иные бизнес-задачи, по покрытию меньше , чем у явы, но по нагрузке на машины нода будет экономичнее.
    с пхп вообще сравнивать не буду, перформанса там нет.
    Ответ написан
  • Для каких задач Node.js является более приоритетным выбором среди других платформ?

    @SEOVirus
    JS хорош тем, что он и фронд, и бэк. Можно шарить общий код. Как минимум, идеален для стартапов - т.к. прост, быстрая разработка - а больше ничего и не надо на началах. Если уж с фейсбуком сравнитесь по количеству пользователей - то там и про Go можно будет подумать, но это же наверное будет не в первый год? Там ещё тысяча технологий появятся. Короче, nodejs хорош для всего, что связано с вебом :)
    Ответ написан
    9 комментариев
  • Почему ноутбук не включался, а затем через две недели простоя вкючился?

    6yntar05
    @6yntar05
    Я клоун и это не обсуждается
    Фиксики починили, боюсь, другого вывода сделать невозможно
    Ответ написан
    2 комментария
  • Версальщик. Нужен совет. Что делать, если уже знаешь основы HTML, CSS, Javascript?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Прошел обучение Way Up "Веб-верстальщик, начало".
    Название попахивает инфоцыганством чистой воды. Когда пишут что в верстке есть где-то начало, то видимо они не хотят видеть конец вашего кошелька.
    Только вот не знаю что дальше- стоит ли выбрать их платные курсы и какой именно ?

    Не стоит, если вы вкидываете деньги на такую базу как верстка, что же вы будете делать когда Вас коснуться более тяжелые вещи, на которые не пилят курсы и нужно изучать в одно лицо. Вся информация в свободном доступе, в прекрасном виде и изложении.

    Хочу стать профессиональным верстальщиком

    Боюсь Вас растроить, но сейчас Вы вряд ли найдете работу профессиональным верстальщиком, легче менеджером или в такси. Что бы Вас взяли на хотя бы позицию джуна в студию или фронтендером в офис Вам нужно:

    HTML5, CSS3, адаптивная, кроссбразерная, валидная верстка, gulp, pug, postcss. база php, база js, webpack, jquery, знания хотя бы wordpress, лучше wordpress+modx, лучше wordrpess+modx+opencart. В идеале если вы хотите получать не 30 тысяч рублей (так так тот стек тянет на 25). То еще и отличное знание js + к нему react+vue. И начинать с 40 тысяч в первый год.

    Доброе пожаловать в веб.
    Ответ написан
    5 комментариев
  • HTML + CSS - законченный сайт?

    ArsenyMatytsyn
    @ArsenyMatytsyn Куратор тега CSS
    Руководитель frontend направления, предприниматель
    Если тебе не нужен интерактив и сайт несет исключительно информационную нагрузку, работает потому что он просто работает → да. Абсолютно нет смысла напихивать в проект то, чего там быть не должно.

    Более того, возьми на заметку генераторы статических сайтов типа Jekyll. На них такое удобно собирать.

    А умников, которые кричат, что в современном сайте должно быть всего и поболе не слушай. Должно присутствовать только то, что должно работать.
    Ответ написан
    Комментировать
  • Разработчик недисциплинированно трекает время. Что делать?

    php666
    @php666
    PHP-макака
    Упаси бог работать в столь токсичной среде.
    Сидеть и отчитываться за каждую минуту/час.
    Идеальный информационный концлагерь.
    Ответ написан
    7 комментариев
  • Разработчик недисциплинированно трекает время. Что делать?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Вы рассмотрели возможные причины "со своей колокольни" и сами дали на них ответ. Что показывает Ваш авторитарный (директивный) стиль управления.
    Постарайтесь быть ближе к подчинённым, разговаривайте с ними, вникайте в их проблемы. Тогда они сами расскажут - почему они не трекают, а Вы поймёте как это решить.
    Сейчас у Вас нет обратной связи.
    Ответ написан
    Комментировать
  • Когда применяем паттерн Стратегия, а когда Декоратор?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Стратегия = полиморфизм, то есть мы завязаны на некий интерфейс, а какая реализация — нам не важно. Это история про зависимости. Ну например почтальон отдает пенсию бабушкам (любым, какой бабушке именно — зависит от стратегии, КОТОРАЯ НЕ СВЯЗАНА с модификацией конкретной бабушки:)

    Декоратор, это про добавить функционал в рамках одного интерфейса, тут вообще не рассматривается вопрос каких-либо отношений (к примеру бабушки и почтальона), тут рассматривается — бабушка в шубе или бабушка с загаром или бабушка на коляске, все та же бабушка, но "обернутая" неким поведением :) Главное что бабушка всегда остается быть той самой для всех бабушкой. То есть это не противопоставление — ни в начале ни в середине мы не завязываемся на дополнительное поведение бабушки у почтальона. Бабушка и все, а какая именно — зависит от стратегии разноса (например по названию улицы). Если выйдет к нему "декорированная" бабушка-качок — пенсию он даст ей также, как и не качку, тк она для него всего лишь некий субъект/абстракция, главное чтобы возраст и ФИО сошлись.

    Соответственно это никак не похожие паттерны, один поведенческий, другой структурный... Они применяются всегда в любой этап разработки. Я в самом начале могу сделать декоратор обычной бабушки в виде поющей бабушки, а почтальона или внука в виде стратегии написать потом. А могу наоборот — сначала научить возить бабушек на трамвае (через стратегию), а бабушек с костылями (декоратор) добавить позже...

    Кое-где не корректные аналогии, и в аналогии стратегия есть бабушка, но в целом для понимания норм и не критично :)
    Ответ написан
    Комментировать
  • В чем разница между cmd и dos?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    cmd это программа которая лежит в папке Windows (файл cmd.exe) - консольный интерпретатор.
    Вы даете этому интерпретатору скрипт - он его выполняет. Только и всего.
    Вместо него можно использовать пайтон, перл, повершелл.

    dos - Дисковая Операционная Система. Это обычная операционная система, для управления компьютером и запуска программ. Не имеет графического интерфейса. Разработана компанией майкрософт.
    Сейчас используется крайне редко, обычно вместо нее используют Windows, Linux и другие современные ОС.

    DOS в Винде на сегодняшний день присутствует встроенный в виде эмулятора или как?
    Нет, в настоящий момент он в винде отсутствует.

    Почему старые дос приложения запускаются?
    Потому что им нужна операционная система DOS. Поставьте ее вместо windows и запускайте.

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

    @Araya
    Правдива
    Ответ написан
    Комментировать