Pull to refresh
132
0
Зубашев Степан @faiwer

frontend-программист

Send message

О. Как раз сегодня пришли результаты ежегодного опроса IT-экспатов. Хорошо видно и как зарплаты "не растут" и как "НАМНОГО ниже 70к".

максимум что может предложить не международная компания - это 80к

Ерунда. Если уж говорить о максимуме в международных компаниях по Европе, то там числа порядка 150+.

зарплаты за 5 лет НЕ ВЫРОСЛИ

В Германии выросли. Но темпы роста инфляции опережают.

П.С. Зарплаты во всяких Германиях, ... НАМНОГО ниже

Ниже чем 70к? Really? Почему тогда большинство моих бывших коллег ушло на 100к+ в ещё 22г?

Какие-то новые API, которые есть только в Canary. Бегло пробежался - особого смысла их использовать для себя не нашёл. Неприятно удивиться там несложно, т.к. я вижу что они довольно много костылей вокруг них уже нагородили. Все эти `<form action/>`, `<button formAction/>` и прочий неканон. Как зарелизят (если зарелизят) - "будем посмотреть". А пока это ковырять никакого желания нет.

В то время как useOptimistic может быть полезным здесь и сейчас. К тому же, как я показал выше, он довольно тривиально реализуется.

И компонент обновляется только тогда,

Компонент обновляется тогда когда я вызываю setInnerState либо обновляется реальный state. Так что всё зависит от сопровождающего кода. Я запускал у себя так:

Всё работает как и ожидается (мною, мог что-то упустить). Мгновенно вижу результат. Спустя 800мс приходит реальное значение, но если оно равно тому что я влепил - то на рендере это не отражается. Если запрос упал - должно откатиться на оригинальное значение (но это я пока не проверял, некогда).

Вот здесь видно, как оптимистичные обновления перестают работать, если метод не возвращает промис

Promises тут не причём. И useOptimistic вообще ничего не знает про ваш formAction. На видео всё работает логично. Вы убрали await, у вас код перестал дожидаться окончания выполнения addToCard.

Пока не понятно куда копать

В сторону JavaScript. Без обид, но у меня складывается ощущение, что вы очень рано взялись за React. Для начала нужно подучить язык. Судя по всему, он у вас работает магически. Рекомендуемые темы для прочтения (а можно и всякие паззлы порешать): Event Loop, Event Emitter, Closures, Promises, Async Await, Callback Hell. Когда асинхронщина перестанет выглядеть непонятной всё встанет на свои места.

Это была моя первая мысль, непонятно зачем он вообще нужен и я пошёл и написал свой хук для сравнения

Я тоже написал вчера примитивную версию "наотмашь". Всё работает.

code
export function useOptimistic<TState, TAction = TState>(
  state: TState,
  reducer: (prevState: TState, action: TAction) => TState
) {
  const [innerState, setInnerState] = useState<TState>(state);

  const dispatch = useStableCallback((action: TAction) => {
    setInnerState((prevState) => reducer(prevState, action));
  });

  const prevState = usePreviousValue(state);

  useEffect(() => {
    if (prevState !== state) {
      setInnerState(state); // Override possible optimistic state.
    }
  }, [state, prevState]);

  return [prevState !== state ? state : innerState, dispatch] as const;
}

До ума доводить не стал. Завалили другими задачами.

useOptimistic работает только внутри асинхронного обработчика, что логично. Если убрать async/await, обновление произойдёт только после завершения запроса

Использование async / await обязательно.

WAT? Да причём тут async / await. Убрав await перед promise вы просто не дожидаетесь его выполнения и обновляете setState мгновенно. Это ж просто базовый JavaScript. Никаких хуки и React-ы тут никакой роли не играют. Как именно вы организуете асинхронщину дело 10-е. Можно на промисах, можно на колбеках \ таймерах, чём угодно. Просто если между оптимистичным setState и обычным будет render - то вы увидите "оптимистический" результат. Не будет паузы - не увидите.

useOptimistic работает с формами. Работать с обычной кнопкой в SPA мне не удалось, обновление происходило только после завершения запроса

Дык стоит разобраться, что там пошло не так. Полагаю, никакой связи именно с <form/> там нет.

useOptimistic выглядит каким-то низкоуровневым API

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

Думал об AI. Отбросил все эти идеи, т.к. я очень придирчив к фразам. Из тех что предлагает ChatGTP4 я беру одну из 10. И то после корректировок :)

СКРУПулезно

o_O. Никогда не слышал такого произношения. Но похоже и правда так.

Чел, орус или орыс это оскорбление

Орыс - "русский" (в Казахстане). Негативного или позитивного контекста слово не имеет. Просто слово. Может использоваться как в грубых выражениях, так и в любых других.

Пардон, о какой ставке речь?

Среди сторонников действующей политики РФ часто бытует точка зрения что происходящее есть война РФ и запада (да, 1 на 1), и запад ещё никогда не побеждал Россию. Соответственно люди разделились на тех, кто думает что запад победит (сделали ставку на запад), и тех кто верит в отчизну (ставка на РФ). Игра такая.

Общался с таким персонажем вживую. Кажется это не лечится.

Как, в конце концов, снимки ТРУПОВ доказывают то, кто именно их УБИЛ?

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

Чья "экспертиза"?

При каких условиях полученные "показания/признания"?

В первую очередь не экспертиза РФ и чтобы проведена без участия РФ. Это как лису спрашивать, не она ли съела цыплят. Ну а дальше - чем больше различных стран и групп тем лучше, чтобы снизить уровень предвзятости. И чем выше у них репутация, тем лучше. Чем больше открытости, тем лучше. И т.д..

Учитывая что там были преимущественно люди из евросоюза (та ещё сборная солянка мнений и политик), то уровень доверия к их экспертам (а также их экспертизе) кратно выше, чем к любым в зоне СНГ. Учитывая что это было вначале войны (у РФ ещё оставалась какая-никакая репутация на тот момент), тем более.

Но вы, конечно, можете уйти в полный газлайтинг религиозного уровня, никто вам не запретит. Это ж самое простое убежище негодяя. Свои источники информации не подвергать никакой критике и фильтрации (например "это ж слова советского офицера"). Даже черпать их из таблоидов и прочих СМИ. Любые альтернативные источники - врут, предвзяты, куплены, приследуют русофобские цели, и т.д.. Любые факты - подтасованы. Любые видео - фейки. Любые показания - под давлением и дулом пистолета. Но если Лавров сказал, то чистая правда. Он ведь никогда не врёт, да? Уже целых 4 минуты не врёт. Наверное. В общем, используя такую логику, можно выстроить любые конспирологические теории. И поверить в них. Можно даже сразу несколько противоречивых и верить сразу во все. Главное, чтобы душу грело, ведь "правда на моей стороне".

неудобочки отметаем

Дык вы до сих пор не перечислили ни единой. Как же ж я могу отметать того, чего нет. Это математически невозможно. Кстати, математика тоже русофоб?

Поскольку Вы подставляете не только свою дурью голову под ст. 280.3 УК РФ

По законам вашей страны мне лет 25 уже светит. Я вас умоляю, мне глубоко плевать на УК РФ.

как прочим подобным -- это Вам вспомнят

О как. И что сделают? Новичком отравят? Из окна выпаду? Изнасилуют? 21 розочка на теле мужчины? Что там ещё у вас популярно? Пффф. Я ж noname, никто за мной не придёт.

врёте себе и другим

трусость перевешивает

на включение своей собственной головы

контейнеризация сознания

восстановить свою психику из состояния разложившегося трупа

Чем больше таких пассажей, тем убедительнее позиция, да? Ведь она ни на чём (абсолютно) кроме этих грубостей и не зиждется. Добавьте в следующий раз "рациональное мышление", "написал не приходя в сознание", "промытый мозг", "шаблонное мышление". Вот тогда попрёт. А пока (*зеваю*) вы, пожалуй, это даже скучно.

Трактора есть. ANNA NEWS для этого не нужны. Полно фотографий, многие видят их из окна. У нас половина чатов этим забиты. А вот про насильственные подселения не слышал, не видел вообще ничего. Это вообще как?

Это я не спрашиваю, с какого перепугу Вы б/У занесли в "самостоятельные государства"

объяснявший на пальцах украм на майдане

Ух как всё плохо. Слушайте, товарищ фашик, катитесь вы к чертям пожалуйста. Без вас тошно.

Внимание, вопрос: как из количества выкопанных тел вывести то, кто именно их убил?

Судмедэкспертиза. Показания людей на местах. Признания воено-пленных. Данные разведки. Местами видеозаписи. Да блин даже спутниковые снимки тех, кто прямо на улице лежал неделями. Плюс постоянная ложь РФ вида "не было, это актёры", "было, но не мы" намекает. Отсутствие чего бы то ни было сопоставимого на неоккупированных территориях.

А теперь ещё неудобочки.

Ещё? А где хотя бы одна неудобочка, чтобы слово "ещё" было уместным?

высадился западный кинодесант

И НЛО. НЛО забыли.

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

Живые беженцы оттуда вживую говорят обратное. Видео ролики расстрелов из этой области говорят обратное. Толпы журналистов пришедших туда подвтердают произошедшее. Никаких кино-десантов. Трупы. Некогда живых людей.

TC 18-01 ... US Army Training Circular, TC 18-01, Special Forces Unconventional Warfare, 30 November 2010, military manuals

Что мне делать с этим мануалом?

Мои друзья в ноябре, что ли, ездили -- да, с согласованием, но тем не менее.

Дык ваши друзья скорее всего как вы вы фашня. Вам всегда выдадут доступ. Никто вас в расчёт и не брал, lol. Ну come on.

Давайте сделаем так: я еду в "оккупированный" Мариуполь и отвечаю на Ваши вопросы

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

а Вы едете в "освобождённый" Херсон и отвечаете на мои, годится?

Отпишите кому-нибудь кто там живёт. Чего мне подрываться в Херсон.

При Путине -- нет.

Ну дык времена другие. Для достижения тех же целей террор уровня Джугашвили больше не нужен.

Вы большой фанат лжи и передёргиваний?

Я ли? Это я что-ли выложил ссылку с толпой от "Свободы", в отрыве от контекста и объяснения что это просто толпа фриков? И стыдно за это должно быть мне?

Может, начнёте с матчасти и логики вместо эмоций и позора?

Дык я и не покидал поле логики и матчасти. Судя по вашим комментариям, вы в неё никогда и не попадали.

распадом уже своей личности

Это вы на свой пример намекаете? Приму к сведению.

я открыто заявляю о неких взглядах, сажусь в тюрьму

Ну почему ж. Есть же Эзопов язык.

  • Не "они фашисты", а "категорически не разделяю действующую политику государства и крайне недоволен руководством страны".

  • Не "отжали Крым, Донбас, ...", а "имеют место быть многочисленные нарушения суверенитета соседних государств"

  • Не "пропаганда всё врёт", а "государственные медиа избыточно зарегулированы государством, а публикуемая информация слишком внутренне противоречива"

  • Не "украли выборы", а "имею вопросы к работе избиркома"

  • Не "свободу Навальному", а "реальная оппозиция не представлена во власти"

  • Не "мы уничтожаем городам и бомбим гражданское население, пытаем людей в подвалах, ...", а "осуждаю любое насилие по отношению к гражданскому населению, а также не доверяю информации от министерства обороны"

  • И т.д.

Ну и т.д.. На мой взгляд, если бы больше россиян публично опубликовал что-нибудь подобное, пусть даже такое "травоядное", из-за бугра было бы несколько иное отношение. Сейчас же очень сложно убедить людей, которые на эмоциях, что они "не все там такие", потому что те, которые "не все"... Они ж молчат. И никогда не знаешь, он молчит, потому что ему всё ок, или потому что боится репрессий в свой адрес.

То, что англичане предпочитают по-разному записывать разные значения одинаково произносящихся слов, чем принципиально отличается от логографики?

Насколько я понимаю тут нет никаких предпочтений. Оно просто "исторически так сложилось". В случае английского сложилось особенно плохо.

Любой европейский, где есть буква Q.

Лично я не возражаю. Наличие оной в немецком не несёт большого смысла. die Quelle можно записать и как die Kwelle, никто от этого не пострадает.

Всё ещё хуже: когда создавалась кириллица, эта литера уже века как не имела никакого отдельного звука

Не очень понял эту мысль. Это ж больше тысячи лет назад. Откуда нам знать произношение тех времён в таких мелочах?

Будто бы в других языках не так?

Дык не так. Это создаёт неудобства но не является большим барьером при общении. Никаких иероглифов нам для решения этой проблемы не требуется.

Такая же судьба, к слову, у Q в латинице; предложите её оттуда убрать?

А мы сейчас про какой язык? Английскому бы точно не помешала реформация. Звук "кэ" это C? Q? K? CH? Впрочем там всё плохо даже и без этого.

что в алфавитных языках это встречается реже

Это подтверждается статистикой? Особенно если брать языки вроде немецкого. К примеру die Neugier. Любопытство. Neu - новый, Gier - жадность. Жадность к новому. Итак половина языка :)

Я предпочитаю общение письменное, а не устное. И приоритетный навык в иностранном языке - чтение.

Мне это видится абсурдным. Для вас язык, по всей видимости, игрушка. Для меня инструмент. Поэтому мы ценим разные вещи. Вы "предпочитаете", т.к. у вас есть выбор. А выбор есть потому, что это ... хобби? У вас не будет никакого выбора учить или не учить устный язык, пожелай вы иммигрировать в Японию или общаться с японцами по работе. И вот тогда вы столкнётесь с тем, что каждое слово нужно учить дважды. Письменность, которая в алфавитных языках, помогает (ну кроме английского, хаха), будет вам только мешать.

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity