Telegram Web Link
🤣41😁14👍5🔥1
🎓 Позиция сообщества Метархия по платному IT образованию:
1⃣ Все материалы для начинающих должны быть бесплатными, чтобы они могли стартовать без вложений. Новички не могут отличить качественные курсы от пустых, слабо ориентируются и часто попадают на инфомошенников, хоть интернет полон бесплатными материалами для новичков.
2⃣ Платные курсы, наставники, интернатура, ревью кода и консультации — это только для тех, кто уже освоил базовое программирование, работает или имеет возможность работать за деньги. Такие люди уже понимают чего хотят и могут оценить качество обучения.
3⃣ Обучение это не просмотр видео и не решение задачек с литкода, а практика написания продуктового или системного кода, приближенного к реальному, семинары, обсуждения, ревью.
4⃣ Важно научиться писать понятный, а не быстрый код. Оптимизации нужно подвергать 1% критического кода, после того, как он заработал, и именно этот 1% дает 99% всех тормозов.
5⃣ Учиться нужно в группах и после первых 6 месяцев, обязательно на реальных проектах, потому, что работать вы будете в коллективе, где более половины навыков, это понимание коллег и взаимодействие с ними.
👍46🔥122💩1💯1
«Patterns for Async and Node.js»
Rethinking GRASP, SOLID, GoF for Frontend & Backend

👉 Here is a task from new course: https://gist.github.com/tshemsedinov/20735f7f8b3c843c3dfa0bcd650e825b
🔥13👍2🫡2💩1
Patterns for Async & Node.js
Rethinking GRASP, SOLID, and GoF patterns for Frontend & Backend

Опрос для формирования нового курса по переосмыслению принципов GRASP и SOLID, а так же паттернов проектирования (классических GoF и дополнительных), чистой архитектуры и проектирования архитектуры на базе DDD (Domain-driven design) для фронтенд и бекенд инженеров.

10 самых интересных ответов получат мои рекомендации по поднятым темам и ссылки на решения этих проблем из моих открытых и закрытых лекций, семинаров, тренингов, а если нет таких материалов, то я постараюсь ответить лично и привести примеры кода. 👉 https://forms.gle/zE78uTAqKR3GWAoq5
👍5🔥42💩1
Сколько пользователей у проектов, которые вы пишете?
Anonymous Poll
16%
> 1 000 000
11%
> 100 000
11%
> 10 000
5%
> 5 000
7%
> 1 000
5%
> 500
5%
> 100
5%
> 10
3%
< 10
31%
1 и это я
🤣19😁5👎1💩1💯1
🤯 Вы в курсе, что Принцип подстановки Барбары Лисков (SOLID:LSP) имеет противоположную трактовку для типов и классов? Он сводится к тому, что вместо типа всегда можно использовать его подтип, а для классов, вместо экземпляра класса всегда можно использовать экземпляр его наследника. Только проблема в том, что подтип сужает область определения типа предка (Type Narrowing), а дочерний класс расширяет (Subtype extends Parent). Уже испугались? Да все в порядке, это проблема языка, а Вы говорите, Витгенштейн программистам не нужен... на самом деле, для типов слово сужение обозначает то же самое, что "расширение" для классов. Например, имеем тип целых чисел (integer) и подтип натуральных (natural, только положительные целые); конечно, везде, где мы можем передавать целые, можно передать и только положительные целые. А вот класс Readable extends Stream а он, в свою очередь extends EventEmitter и далее extends Object. Это значит, что мы можем передавать Readable туда, где ожидается EventEmitter, но не можем передавать EventEmitter туда, где ожидается Readable. У Readable можно так же навесить on('error') и логировать ошибки любых стримов одним механизмом пусть это Readable, Writable, Transform или какие-то кастомные стримы. Если рассматривать Readable, Writable, Transform с точки зрения типов, то это все сужения EventEmitter, но вот только в языке это называется расширением (extends), и так во всем, так что язык - это ваша золотая клетка, как язык программирования, так и разговорный. Зная нескольких вы и в родном уже начинаете что-то понимать. Как же нам понимать SOLID:LSP? Да просто: подтип или класс наследник должен уважать контракт предка, по сути это SOLID:OCP (open-closed) + контрактное программирование.
🤯19👍176💩21💯1🤣1
🤣30💯7💩3🔥1🤯1🫡1
🙈 Add forever or pm2 and forgot about errors
🤣33💯8😁31
— Вы там все с ума посходили с этим своим EventEmitter, натуральный goto, это же мерзость, как и все в этом вашем Node.js
— Это ты где так от EventEmitter пострадал? Опять CTO заставлял собесы принимать?
— Та не, вчера с Васей пиво пили и он мне насвистел... А правда, что у вас даже стримы на гоуту работают?
🤣17😁5👍1🔥1💯1
SOLID, GRASP, Law of Demeter, Inversion of Control, DI, Separation of Concerns, DDD, Contract programming, etc... What are they needed for?
Anonymous Poll
25%
Just for interviews
41%
For everyday use
18%
Increases self-esteem
16%
WTF?
Interview questions on asynchronous programming, this is the first version, published for corrections and improvements, you can suggest your fixes here: https://github.com/tshemsedinov/Async-Interview-Questions
👍4🔥2🤯1
2025/10/03 13:47:56
Back to Top
HTML Embed Code: