Дима
У меня есть пара вопросов по поводу mtproto api, но, боюсь, они не вполне цензурные
V◌┗⢎ℍıK
@react_js @reactnative_ru
Egor
Egor
Vsevolod
набросить, что ли... Как считаете, нужно ли минифицировать релизы npm-модулей?
Vsevolod
хотя бы на уровне "вырезать пробелы"
Sergey
Vsevolod
Не, не на уровне злой минификации с манглингом и структурными оптимизациями
Vsevolod
тупо взять, выкинуть пробелы, возможно, что-то внутреннее оптимизировать по мелочи
Vsevolod
чтобы npm install был быстрее, а node_modules была не больше, чем мамка %подставьте что-нибудь смешное%
Vsevolod
у меня, например, и так идет сборка одного модуля бабелем, от этого никуда не деться (декораторы используются), поэтому - возможно, имеет смысл как-нибудь покрутить
Sergey
Vsevolod
а какая разница?) в глобальный скоп-то как раз один раз ставишь)
Дима
Дима
Жаль что нельзя абсолютно точно указать версию, которая для использования as is в браузере
Дима
Есть разные директивы в package.json для указания версий
Дима
Но увы, они все слегка про другое
Дима
Например, поле browser — это версия, которая будет подтянута вебпаком
Дима
jsnext: main — расплывчатое описание для минимально транскомпилированной версии
Дима
Ну и т.д.
Дима
Vsevolod
это-то понятно, что продакшн-сборка должна быть такой, если она есть
Vsevolod
вопрос именно про дев-сборку
Vsevolod
тебе не придется смотреть стектрейс, если будешь делать библиотеки без ошибок ;)
Vsevolod
хотя да, пока что это единственный полноценный аргумент против базовой минификации
Sergey
Sergey
Если я хочу отладить, куда мне точку останова воткнуть
Дима
Ну тут source maps, как бы
Дима
А для того, чтобы было понятно, что происходит, нужно делать качественные сообщения об ошибках
Дима
И это кстати такая боль, что ппц 😒
Sergey
Дима
Реально от состояния "production ready" до "ага, понятно в чём дело" просто бездна труда
Vsevolod
Так надо просто делать minimal API surface. Меньше сущностей - меньше вероятность проблем, причем зависимость экспоненциальная
Дима
Я только сейчас понимаю, какое гигантское количество времени вкладывают в это создатели либ типа реакта
Vsevolod
И дробить на микромодули внутри
Дима
Sergey
Vsevolod
Знаю, сам четвертый месяц внутреннее апи делаю
Дима
Vsevolod
Раскрой мысль, пожалуйста
Дима
Если у комбинации "состояние приложения x реакция сервера" дерево конечных исходов больше сибирской тайги, то тут как не минимизируй
Vsevolod
Ну так нужно тренироваться впихивать функционал в меньшее количество сущностей)
Дима
У тебя например многоступенчатый процесс, каждый шаг которого может упасть самым разнообразным уникальным способом чисто by design
Дима
Тупо например потому что ты в этих шагах делаешь кардинально разные операции
Vsevolod
Я сейчас делаю аналог одной очень популярной c++/Python либы (уровень бабеля по популярности), апи начал брать под кальку. Либа очень сложная. Уменьшил количество сущностей на треть и прям дышать стало легче)
Vsevolod
А почему в таком случае не акторную модель использовать?
Дима
Детали реализации тут не помогут особо
Vsevolod
Если честно - пока не убедил, что твой монолит не дробится. Но холивар я сейчас морально не готов устраивать)
Дима
В случае одной ошибки можно повторить процесс, в случае другой попробовать иным способом, третья — бесповоротный терминальный конец, о четвертой нужно просто уведомить пользователя, потому что это не критично но полезно
Дима
Список можно продолжать
Дима
Можно работать с ним эффективно и изящно, но сам груз дерева возможных исходов это не снижает
Vsevolod
Пока что не вижу ничего за рамками продвинутого логгера и стейтмашины или акторов)
Дима
Мне кажется, что ты с чего то посчитал, что здесь есть какая-то принципиальная проблема
Дима
Единственная проблема — это конечность человеческой жизни
Дима
А когда тебе надо задокументировать и отработать кучу вариантов, то это нудно и долго даже просто когда ты записываешь текст конечных сообщений столбиком в блокнот
Дима
Без акторов и вжух-машин
Anonymous
Используйте популярные решения
Дима
React?
Дима
У меня кажется переизбыток сарказма сегодня
Anonymous
Я не знаю, вы тут Джависты)
Jąńek
шта?
Oleg
/warn Вакансия не соответствует группе и правилам группы.
Group Butler [beta]
Alina has been warned (1/5)
Oleg
Эйчары делятся на 2 категории - на тех кто различает JavaScript и Java, и тех, кто не понимает почему их не любят.
Aleksandr
А в Java свойства объектов обозначаются подобно как в Javascript? Например так:
Aleksandr
clojure.lang.PersistentVector
Anton
Аксесят. В данном случае так же.
Anonymous
При таком условии пост можно возобновить?)
Anonymous
Oleg
Oleg
И да, в нашей группе нужна вилка ЗП.
Anonymous
Хорошо.
Anonymous
Можете, пожалуйста, переслать текст опубликованной вакансии мне? :)