Pull to refresh
-13
0
Юрий@YChebotaev

Фронтенд разработчик

Send message

Проблема, как водится, в том, как это используют реальные люди

Редакс был и остается хорошей идеей, но, реальные живые разработчики просто использовали его как key-value with extra steps. Не создавали переиспользуемых селекторов, не писали логику в редьюсера, а просто экшен-на-загрузку данных → экшен-на-установку-данных-в-стейт. Разумеется, смысла в таком редаксе нет никакого

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

Создается впечатление, что большинству программистов просто сказали «писать теперь надо на реакте» и они пишут на реакте, не вдаваясь в философию, просто заставляя это работать как умеют

У свича есть интересный способ использования:

switch (true) {
  case age <= 3: return "Ребенок";
  case age <= 12: return "Подросток";
  ...
}

Он выполняет проверки сверху-вниз

Я уже более 5 лет пользуюсь техникой пустого инбокса

Все лишние уведомления отключены: отключил маркетинговые уведомления от приложений, отписался от всех ненужных рассылок в почте, заархивировал все чаты и группы в телеге (рабочие чаты раскладываю по папкам по заказчику)

Зато все оставшиеся входящие обрабатываю сразу: сразу архивирую после прочтения в почте, в телеге отвечаю сразу

Если требуется какое-то обдуманное действие, заношу в список дел

ИМХО, самое главное с точки зрения продуктивности — это отказаться от соцсетей, развлекательных сайтов, шортсов и т.п.

Ну и еще заносить все задачи в список

Помню, после переезда примерно год не заходил в интернет за развлечениями — самое продуктивное время

У меня в Todoist-е до сих пор этот период высвечивается как самый долгий непрерывный период выполненных целей на день. В этом же тудуисте в это же время набил ранг Мастера, кто знает тот знает

Наверное, не «тебе не надо в IT», а всего лишь «тебе не надо ручным веб-тестировщиком»?

Есть очень интересное решение проблем с мемоизацией коллбеков:

import { useCallback, useRef } from 'react';

export const useStableCallback =(fn) => {
  const ref = useRef(fn);

  ref.current = fn;

  return useCallback(
    (...args) => ref.current(...args),
    [],
  );
};

Мемоизированный таким образом коллбек стабилен за все время жизни, но не требует перечисления зависимостей

Был такой философ Ричард Уэтли, так вот он в своих работах сравнивал подобные стратегии с гарнизоном, обороняющим осаждённый форт. Форт может быть неприступен, пока гарнизон ведёт оборонительную игру, но если командир решит совершить вылазку в открытое поле, поражение может последовать незамедлительно

Вот это самая интересная идея во всем тексте. Действительно, ты можешь ничего не доказывать, если ничего не утверждаешь, но прав ты или нет в своих убеждениях — большой вопрос

Если ты не знал про сепульки, тебе сказали, а ты проигнорировал — это твоя проблема, а не того, кто тебе об этом сказал

Я делаю сервис, который как раз будет поставляться в виде докер-контейнера. Можно ли сделать кнопку «Запустить в один клик на dockhost»? И регистрацию через мой сервис проводить?

Почти никогда не стоит. Если в реакте меняется стейт, значит, что-то должно быть перерисовано. Оборачивать вообще все дорого как с точки зрения производительности, так и с точки зрения багов

Оборачивать кое-что иногда имеет смысл

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

Но если прям сильно надо, то посмотрите на socket.io

Во-первых, к этому делу еще обычно swagger-документация нужна

А во-вторых, ты же сам описываешь недостатки данного подхода. А преимущества неочевидны

А если серьезно, то зачем городить огород, если http+json всеми поддерживается, быстр, а с включенным сжатием догоняет бинарные форматы по размеру?

Так эта поддержка есть и давно

Мне наоборот застой не нравится. Кроме того, тот же первый ангуляр до сих пор работает, он не сломался внезапно. Вы хотите не просто стабильности, а вечной поддержки устаревших технологий. Так этого даже во "взрослых" языках нет. У той же ноды lts раз в два года, как у всех

Ну, фронтенд может быть большим и серьезным

А во вторых, веб платформа одна из самых стабильных. До сих пор сайты, написанные в 00-х работают. Посмотри zen garden: до сих пор работает. Джаваскрипт же сохраняет обратную совместимость все годы существования. Не было такого, как в питоне, например, что новая версия ломает обратную совместимость

Мне лично наоборот нравится быстрая эволюция тулзов и экосистемы. Они же с каждой итерацией лучше становятся; ты даже и не думал как может быть хорошо, а тут сделали лучше

Вью тот же уже третью реинкарнацию переживает

Столкнулся с этим. Так же указал слушать публичный адрес и на следующий день подцепил майнера

Вопрос вообще не технический, это вопрос дисциплины команды (а то и нескольких). Увы, но поддерживать такую дисциплину сложно (я нигде такого не видел), так что className скорее нужен, чем нет

Я лично бекенд не делаю. Но когда работаю с готовым, он обычно на джаве-спринге

У вас точка отчета — это ПХП. То есть, когда вы думаете про сайт, вы думаете «вот есть ПХП, а все что сверху — это надо подумать надо ли». А у меня точка отчета реакт, я про ПХП вообще не думаю, даже не знаю его, я думаю сразу как на реакте сделать

Поэтому для меня вопроса «стоит ли пихать реакт, или разобраться силами ПХП» не стоит даже

1
23 ...

Information

Rating
4,744-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity