Как стать автором
Обновить
3
Карма
0
Рейтинг
Пётр Яковлев @unel

JS-разработчик

  • Подписчики
  • Подписки 1

Android окукливается и сообщество потворствует этому

о, как это делать, не подскажете?

Как Unix-way убивает десктопный Linux

На самом деле этот выбор — погружаться вам в какую-то конкретную область или нет — сильно зависит от того, насколько вы хотите контролировать ситуацию в той или иной сфере применительно к себе)


Чисто на бытовом уровне мне уже необходимо отделять действительные рекомендации врачей от очередных фуфломицинов, что он выписывает в нагрузку (и вот ты уже немного фармацевт), в некоторых случаях проходить обследования в разных клиниках, потому что врач в одной сделал неверное предположение и продолжает гнуть стратегию лечения, которая не помогает, контролировать строителей, чтобы не скручивали медь с алюминием и делали распаечные короба (и вот ты немного электрик), очень внимательно читать контракты на всякие кредиты (и вот ты немного юрист и экономист). Да и технику (не компьютерную) тоже выбираю, изучив предварительно область и предлагаемые характеристики, потому что на консультанов никакой надежды уже нет (точнее, к ним нет доверия, как к экспертам)


Можно ли всего этого не делать? Да разумеется! А потом ещё и ругать экспертов за глаза, за то, что плохого насоветовали, но кому от этого легче-то будет? =)


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

Эйджизм в IT-среде: есть ли «потолок» в профессии разработчика?

не, ну с такой-то точностью ((30, 40)) я свой возраст ещё помню конечно :-)

Эйджизм в IT-среде: есть ли «потолок» в профессии разработчика?

… и тут я понял, что не помню, сколько мне лет..

Буддизм с точки зрения программиста

Тогда уж и "Чапаева и Пустоту" Пелевина тоже надо рекомендовать =)

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее

а, и правда) век живи — век учись! =)

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее

вообще от action и runInAction можно легко отказаться и включить автоматический батчинг

И когда он будет запускаться? Каждый раз при изменении observable / computed?

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее

Перерендер произойдет. (https://codesandbox.io/s/determined-browser-zfjyq?file=/src/App.tsx)

хм, Ваша правда… интересно, почему..


Вы не поняли походу для чего нужны action/runInAction.

Возможно… я опирался на вот эти строки в документации:


By default, it is not allowed to change the state outside of actions. This helps to clearly identify in your code base where the state updates happen.

Вынужден поверить в это:


Не советую пристально читать то, что пишут в документации к MobX, к сожалению там имеется ересь.

А что ещё там есть из ереси?

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее

Хм, да и posts по идее не должен установиться (ну т.е. он конечно запишется, но PostsPage об этом не узнает)… скажите, а Вы вообще запускали этот код? он правда работает?

Почему мы выбрали MobX, а не Redux, и как его использовать эффективнее

class PostsStore {
  @observable isLoading = false
  @observable posts = []

  @action getPosts = async () => {
    this.isLoading = true
    this.posts = await api.getPosts()
    this.isLoading = false
  }
}

вообще-то этот код не очень корректный, последняя установка isLoading будет вызвана вне контекста выполнения экшена getPosts (mobx все обновления выполняет синхронно), соответсвенно, и перерендер после него не произойдёт.
Подобное поведение отдельно разбирается в разделе документации asynchronous actions


И, пожалуй, такое "неочевидное" поведение тоже можно записать в настоящие минусы mobx-а =)

Ответ философам от GPT-3

Признание во лжи не было бы так трагично, если бы незадолго до этого не было статей про «Истребление человечества — довольно бесполезное дело» от него же

Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна

В оригинале кстати не так написано (возможно уже поправили?):


(although the order within each relation does matter).

6 рекомендаций по разработке масштабируемых React-проектов

Конечно. Но форма моделей не первична — первична доменная область, которую мы моделируем. И модели должны вытекать из задачи, а не наоборот, «ну вот у нас иерархическая структура, а теперь подумаем, как на неё натянуть домен».

Не спорю. Поэтому я посмотрел, прикинул, и понял, что mst неплохо так ложится вот это конретную мою задачу.


и вообще-то есть либы именно для сериализации, а не MST ради этого брать.

Ну, да, есть, но есть и mst, я же там не только сериализацию использую, но и computed-values, actions и прочие mobx-совские штуки + в плане неоходимость добавлять undo/redo для операций, так почему бы мне не заюзать mst — удобно же


Можно ли было это сделать иначе — да разумеется, куча способов. но поскольку mobx я уже использовал, то решил в одном попробовать mst и оно зашло.

6 рекомендаций по разработке масштабируемых React-проектов

living tree вовсе не заставляет всё переделывать в верхнеуровневую древовидную организацию. Тут скорее ударение на living надо ставить, а не на tree


А большинство моделей — они и так сами по себе представляют собой иерархическую структуру.


RTTI там по большей части нужен для сериализации / десериализации и разворачивании всяких штук типа reference, а валидация там — скорее ну, дополнительная штука.


В зависимости от решаемой задачи) может вообще нафиг не впиваться?

с этим тезисом я вполне соглаашусь, но то, что mst не подошёл для вашей задачи, не делает же его "просто откровенныс недоразумением"


Мне вот mst весьма зашёл в тех местах, где понадобилось иметь сериализуемые / десериализуемые модели (для отправки / загрузки на сервер). Хотя и базовый mobx я тоже использую (но уже в других местах)

6 рекомендаций по разработке масштабируемых React-проектов

в смысле, конкретного вида организации данных?
там же такая же организация данных, как и в mobx, просто обёрнутая типизацией…


в чём вы наблюдаете отличие?

6 рекомендаций по разработке масштабируемых React-проектов

На мой личный взгляд — это попытка запилить один из худших аспектов редакса

Это вы про один стор чтоли? Но в mst же можно делать несколько сторов?

6 рекомендаций по разработке масштабируемых React-проектов

mobx-state-tree уничтожает всю суть и мощь MobX'a

Ого, какой интересная точка зрения!
Не могли бы вы развернуть, почему mst уничтожает всю суть и мощь mobx?

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

«Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует.»

Вышел Android 11 с единым разделом для мессенджеров, записью экрана и управлением smart-устройствами

А разрешение на запись звонков для приложений так и не вернули?

Что не так с Хабром

Так, сейчас я запутался окончательно)


Я оспариваю позицию, что "зачем нужен ещё один X" — это корректный аргумент (мне он кажется некорректным), и в данном случае является ли при этом X грузовиком, человеком или какой-то площадкой для высказывания неаргументированных имх — не принципиальная разница, потому что мы реально не можем за других людей/создателей/пользователей сказать, зачем они это сделали (может и создатели не всегда могут это сказать?) и будет ли от этого какая-то польза (потому что мы не можем знать, что вообще для конкретного создателя польза, а что — нет)


т.е. всё сводится опять к субъективной оценке (даже без проведения каких либо исследований / без предоставления ссылок на эти исследования) — "никому не интересно читать неаргументированые имхи" и что "аргументированные имхи будет читать интересней"


кому-то — да, кому-то — нет) на мой взгляд, нужны какие-то исследования на эту тему, чтобы эти "аргументы" стали аргументами, а не просто другими имхами (какая-то тут рекурсия получается =))

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность