Pull to refresh
198
0
Максим Аршинов @marshinov

В саббатикале

Send message

Хуки это в первую очередь способ сделать независмый, переиспользуемый кусок логики привязанный к жизненному циклу компонента. Это замена для render props и HoC's (и ранне миксинов) в первую очередь. Со старыми методами была куча проблем, связанная с тем, что все общались через общие пропсы, конфликты имен и т.д. Просто хуки используются и как замена локальному стейту компонента, как в классовых компонентах.
Для IoC используется React Context. Вообще многие библиотеки выглядят в таком виде:

const client = new Client();

<ClientProvider.Provider client={client}>

{children}
</ClientProvider.Provider>
//
const client = useClient()


Есть класс отвечающий за логику. Он закидывается в компоненты через контекст. И есть хук который отвечает за привязку к жизненному циклу компонента.
Мне кажется в таком виде похоже на сервисы.

У меня там не стрелка, а "меньше" было:) Я имел в виду, что вам C# нравится больше, чем Java, а Kotlin больше чем C#, верно?

Из них именно переход на чистую жаву был самый травмирующий:))

Не так страшна Java как Spring...

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

Теперь про вашу притчу, и про притчи вообще. Они все учат смирению: вторую щеку подставь, прости, улыбнись и иди дальше и тп. Смирение к чему? К тому что "кто-то есть сильней меня и выше, и у него совсем другая крыша..". Заметьте, какой то "старик", и Такуану Осе.

Взгляните, вот вам хороший ответ:

Глупец пришел к мудрецу и спросил:

- я узнал, что моя невеста не девственница. как же мне поступить?

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

- конечно первую!

- вот и с твоей невестой так же.

- о, я вижу. надо выбирать то, что до меня никто не пробовал. я расторгну помолвку.

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

- конечно же Ламборджини!

- но мясо для шашлыков...

- ну помою, проветрю. это не так важно, ведь это Ламборджини!

- ...вот и с твоей невестой так же - сказал мудрец.

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

- я не утверждал ничего, я лишь привел примеры, а выводы ты сделал сам.

- я не понимаю тебя, мудрец.

- смысл данного урока в том, что восточная мудрость - обман. когда тебе вместо прямого ответа приводят аналогии и метафоры, знай - тебя хотят обмануть, дебила ты кусок! - сказал мудрец, прыгнул в свою Ламборджини Авентадор и умчался в закат, посасывая конфету.

Собрать доступные в открытом доступе материалы по .NET и выбрать из них самые полезные. Разбить все это по категориям и сложности, выстроить порядок изучения.

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

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

напорется он пару раз на стирающиеся дженерики

Что за зверь такой?

Можно просто взять тезисы и статьи, и рассказать, что по каждому из них опыт был иной. Запустить типичную хабра-неделю :)


Типичная хабра-неделя в заголовках:

1) «Колючесть ежей приводит к уколам.»
2) «Правильно написанный еж не колется»
3) «Колется ёж или нет — личное дело каждого»
4) «Моя история про ежа»
5) «Настраиваем дикобраза в OpenVZ через ssh посредством Rest-API с дискового телефона подводной лодки. 900 простых шагов.»
6) «Пишем ежа в 30 строк ассемблера»
7) «Я ёж, и вот моё мнение»

Годные шарпы уже стали шустрее пусть и кривых плюсов?
https://habr.com/ru/post/266163/ — статья не новьё, но сильно сомневаюсь, что там кардинально что-то поменялось.

Мне кажется, что в статье или где-то в ссылках необходимо дать ссылку на учебник Бюро – "Управление проектами, людьми и собой", автор Николай Товеровский. Там достаточно подробно описано про ФФФ и объясняется, как его внедрить.

Старая притча о двух работниках
(Как Вы Т.З не составите а дело иметь лучше с продвинутым)
Один работник зашел к барину и говорит:
— Барин! Почему ты мне платишь всего пять копеек, а Ивану всегда пять рублей?
Барин смотрит в окно и говорит:
— Вижу я, кто-то едет. Вроде бы сено мимо нас везут. Выйди-ка, посмотри.
Вышел работник. Зашел снова и говорит:
— Правда, барин. Вроде сено.
— А не знаешь откуда? Может, с Семеновских лугов?
— Не знаю.
— Сходи и узнай.
Пошел работник. Снова входит.
— Барин! Точно, с Семеновских.
— А не знаешь, сено первого или второго укоса?
— Не знаю.
— Так сходи, узнай!
Вышел работник. Возвращается снова.
— Барин! Первого укоса!
— А не знаешь, по чем?
— Не знаю.
— Так сходи, узнай.
Сходил. Вернулся и говорит:
— Барин! По пять рублей.
— А дешевле не отдают?
— Не знаю.
В этот момент входит Иван и говорит:
— Барин! Мимо везли сено с Семеновских лугов первого укоса. Просили по 5 рублей. Сторговались по 3 рубля за воз. Я их загнал во двор, и они там разгружают.
Барин обращается к первому работнику и говорит:
— Теперь ты понял, почему тебе платят 5 копеек, а Ивану 5 рублей?

MS стал злом до захвата рынка браузеров эксплорером. Это уже была вишенка на торте их злодеяний.

UFO landed and left these words here
Я повесил у себя в подвале боксерскую грушу, приклеил на нее стоковое фото типичного менеджера и запихал внутрь динамик, чтобы он проигрывал фразы, которые меня злят.

Первая ошибка. Вместо того чтобы считать менеджеров «идиотами» следовало бы научится их слушать и правильно интерпретировать то что они пытаются донести.

Поэтому, вместо узкозаточенной либы, на которую стоял таск, мы решили делать гораздо более мощную и абстрактную — подходящую для всего. И мы невероятно верили в свою правоту, потому что только так и создаются по-настоящему хорошие вещи.

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

Чтобы делать хорошие дела, надо уметь убеждать людей в своей правоте.

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

Когда делаешь фронт, есть два источника проблем — пользователь и бекенд.

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

… Но такие придурки существуют, причём существуют в том же самом мире, где есть другие придурки, пропускающие это говно на кодревью.
… Но мы сделаем, потому что мы профессионалы…
… и дураки легко сломают наш код.

Пятая ошибка. Считать всех вокруг придурками, идиотами, дураками, при этом считать себя профессионалами.

Мы написали самый полезный код в своей жизни, но его выкинули на помойку. Вместе с нами

В завершении ожидаемый и закономерный результат. Жизнь все расставила по местам.

К чему я это все? Я бы рекомендовал вам к прочтению вот эти книги. Все они в меньшей степени про код и в большей степени про то, как перестать доказывать всем, что ты профессионал и стать профессионалом:

  • The Pragmatic Programmer: From Journeyman to Master (by Andrew Hunt_
  • The Passionate Programmer: Creating a Remarkable Career in Software Development (by Chad Fowler)
  • Soft Skills: The software developer's life manual (by John Sonmez)
  • The Clean Coder: A Code of Conduct for Professional Programmers (by Robert C. Martin)
Еще важный момент, сделайте срезки по доходам при которых вы упираетесь в потолок
в 2016м он был 21к с копейками.
Там увидите четкие зависимости, при которых официальную ЗП выше 70 000 иметь просто нет смысла — деньги улетучиваются в никуда (данные на 15й год)
При этом ЗП с 50 до 70 добавляет вам всего 1тыс сверху в мес. к пенсии, а то и меньше.
Это уже опускает нас на условные 50 (даже откладывая эту разницу под подушку получаем больше в чистых цифрах)
Далее есть лайвхак, если сколько-то лет поработать на крайнем севере (никто не мешает там открыть IT фирму под свои нужды), то это резко бустит коэффициенты, при которых можно снизить до 40 тыс/мес чтобы получать условные 17.
Сейчас цифры наверняка выше, но суть наверняка не поменялась,
Итого с максимальных 70 в белую, можно срезать половину, не сильно повлияв на итоги, сделав из этой половины скажем вклад в банке, дающий вам двойной буст в итоге.
Кстати хорошая тематика для статьи вида: считаем оптимальные цифры белой ЗП для пенсии, откладывая основное в банк.
П.С. Такие финты удобнее делать если вы работаете сами на себя (т.е. сами решаете сколько будет ваша официальная ЗП) как я уже сказал выше, в итоге решил себе минималку платить, вывод дивидендами -13%
Понятное дело, что за 25-30 лет работы пенсия ещё в 2-3 раза вырастет,

Святая наивность…
Я раньше делал такие подсчеты в период 2008 — 2014
И скажу удивительную вещь:
ПФР КАЖДЫЙ! год меняет формулы начисления, и каждый год… сумма пенсии уменьшалась.
Зарплата росла, а пенсия уменьшалась… как так?
(Расчет делался с учетом получения тойже ЗП до выхода на пенсию)
С 2014го по 16й годы расчет вообще выдавал мне… меньше минимума, т.е. социальную пенсию, она где-то 8 тыс. после чего я перестал считать, и перевел себя на минимально возможную оплату труда в белую. Я не хочу отдавать ни одной лишней копейки такой организации.
Ремарка 1: Я прописан не в Мск. В Мск пенсионеры получают больше, это факт.
Ремарка 2: Совет от моей бабули, ей под 90, ветеран труда, работала с 14 лет (доярка), работала и на пенсии несколько лет официально (еще и сейчас бегает на подработки) а пенсия недотягивает до 14к. (да мы обходили все возможные инстанции), собственно сам совет:
«Не перетруждайся, живи! Я работала всю жизнь и чего наработала?»

Есть неплохая книжка: Искусство подбора персонала: как оценить человека за час. Там довольно просто и доходчиво рассказывается, зачем именно задаются идиотские вопросы и по каким критериям оцениваются ответы. Да и вообще книжка очень хорошо раскрывает «подноготную».
В начале подумал что это вольный пересказ Say NO to Venn Diagrams When Explaining JOINs. Там и визуализация джоинов есть.
Прям так, дословно, однажды сказал Чиграков (ЧиЖ&Со). Его спросили-«почему нет новых альбомов», он ответил «Я женился, счастлив в браке, родился ребёнок. О чём писать стихи?»
Смотря что называть валидацией. Минимум три вещи ею называют:
1. Грубая проверка пользовательского запроса: форма, обязательные параметры, их типы, глобальные статические правила
2. Локальные (без обращения к внешним сервисам) бизнес-правила
3. Глобальные бизнес-правила
Соответственно и размещать их нужно на нужных слоях и часто приходится выбирать или выворачивать кишки наружу, или бросать исключения.
Единственное, что мне до сей поры очень плохо ясно, это куда во всей этой схеме пихать валидацию?

Валидацию нужно пихать туда, где вы будете обрабатывать ошибки и отдавать клиенту, то есть в контроллер.


Валидировать команды в command heandlers или middleware не правильно, так как вы не сможете корректно отреагировать на обнаруженные ошибки.


Да, вы можете сделать валидирующий middleware и бросать ValidationExcepton, но это неверно с точки зрения семантики, так как невалидные данные не являются исключительной ситуацией.


Рекомендую посмотреть готовые библиотеки реализующие CQRS, Middleware, Payload.

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Works in
Date of birth
Registered
Activity