А вот теперь можно задавать вопросы и по теме и любые. Если Вы задавали во время стрима, то поищите тут в реплаях под этим сообщением, я многие скопировал и ответил.
@TimurShemsedinov3 ай бұрын
Отвечаю на вопросы из чата:
@TimurShemsedinov3 ай бұрын
Вопрос по typescript: Не знает ли Тимур, почему в typescript так долго декораторы являются эксперементальными и почему до сих пор нельзя с помощью декоратора добавить метод классу. Ответ: потому, что у JavaScript свой пропоузал-стандарт по декораторам и они не совместимы, для того, чтобы в TS декораторы стали не экспериментальными, их нужно привести к совместимости с JS, иначе, когда в JS их выведут из экспериментального статуса, весь TS сломается. Это может быть не быстро, тут нужна сложная работа по интероперабилити, чтобы весь уже существующий код было просто перевести на новый стандарт
@TimurShemsedinov3 ай бұрын
Вопрос: "если JS ООП паттерны выглядян ненативными, может тогда и не стоит пытаться их внедрять в JS? Ну типа если у вас своя субкультура то может и шаблоны должны быть свои?" Ответ: они нужны, но теперь нам нужно поддерживать и свои и общие для поддержки понимания с другими языками, путь не простой, но другого нет, нужно знать два-три названия и несколько реализаций. Но разует, что не все паттерны нужны в каждом проекте, есть 5-7 основных, которых хватит для 99% всего кода, а вот с принципами GRASP и SOLID проще, они все актуальны, но их понимание уже далеко ушло вперед от того, что описано в книжках, за то оно проще адаптируется, принципы универсальные, менее конкретные и их проще переосмысливать
@TimurShemsedinov3 ай бұрын
Вопрос "Next замещает Express? или сколько еще можно жить на последнем" Ответ: Не Next, а Nest и не замещает, а пробует, но мой вам совет - берите Fastify или пишите на чистой ноде. А жить последний будет долго, потому, что легаси на нем вагоны, вот Fastify мимикрирует под него, чтобы подхватить и облегчить переход, оставить старый интерфейс фреймворка, но перейти на новые кишки
@TimurShemsedinov3 ай бұрын
Вопрос: "Будет поддержка web3 в Metarhia? 🌝" Ответ: Мне лично это не нужно, но это уопен-сорс, можете реализовать и принести убедить контрибьюторов принять
@olly_smith3 ай бұрын
Здесь у меня особо поумничать не получится, поэтому просто поставлю лайк ;). ❤.
@jsboy5235Сағат бұрын
да да да да!!!! как же я ждал этого чувака.. еееее.. респект!!!
@heathro_13 ай бұрын
Спасибо за стрим вам обоим. Оба клёвые!
@itbeard3 ай бұрын
Спасибо!
@xxxxPomaHxxxx3 ай бұрын
00:00:00 Ждем 00:04:55 Обсуждение разработки и программирования 00:10:30 Развитие технологий и стека 00:14:16 Обучение и курсы 00:18:44 Обсуждение паттернов и принципов 00:24:55 Развитие в программировании 00:30:50 Паттерны и их использование 00:35:37 Паттерны в JavaScript 00:37:45 Паттерны в Node.js 00:39:52 Паттерны и их использование 00:42:43 Кросс-языковая терминология 00:47:00 Использование паттернов в реальных проектах 00:50:17 Пример использования паттернов 00:52:23 Задача с паттернами 00:55:59 Решение задачи 00:57:14 Адаптеры и контракты 00:59:16 Паттерны и абстракции 01:05:25 Реактивное программирование и сигналы 01:10:54 Функциональное программирование и взаимозаменяемость паттернов 01:13:48 Принципы подстановки и абстракции 01:18:57 Паттерны и их применение 01:22:53 Сложность и оптимизация 01:26:38 Паттерны и их использование 01:33:08 Оптимизация и безопасность кода 01:36:56 Применение паттернов в хайлоуах 01:40:07 Обсуждение программирования и обучения 01:51:19 Паттерны и подходы к программированию 01:58:12 Важность культуры программирования 01:59:56 Знание и понимание синхронного программирования 02:01:49 Оптимизация и знания о работе кода 02:05:07 Архитектурные стили и паттерны 02:08:01 Алгоритмы и собеседования 02:15:58 Университеты и выпускники 02:21:00 Теория и практика программирования 02:23:08 Обсуждение тестирования и разработки 02:30:20 Тестирование и разработка в опен-сорс проектах 02:36:51 Использование нейронных сетей в программировании 02:43:14 Будущее нейронных сетей в программировании 02:49:34 Обсуждение использования нейронных сетей в программировании 02:52:04 Подходы к программированию 02:57:16 Начало изучения программирования 03:00:42 Отделение бизнес-логики от фреймворка 03:05:30 Агностик-подходы и Рэмки 03:12:36 С-код и бизнес-логика 03:14:36 Разрушение чистой архитектуры 03:20:31 Паттерны и их использование
@3ple-ash3 ай бұрын
Спасибо за шикарного гостя. Тот случай когда жалею, что не попал в универ только из-за невероятного преподавателя и человека)
@artem_travlo27 күн бұрын
Спасибо. Огонь !
@IT_psychopath3 ай бұрын
по курсам, они ТОП, покупал, знаю. но к сожалению не пишу по итогу на node.js хотя знаю ее. так к сожалению сложилось что начал учить, осваивать ноду а меня по итогу так распылили что вообще решил бросить js как таковой и компанию тоже где работал..🤣 и смешно, и печально.. а так курс крутой, Тимур вообще святой какой-то очень отзывчивый, человек понимающий, приятный.
@ralymbetov3 ай бұрын
какой язык выбрал в итоге?
@chesscoder3 ай бұрын
Очень хороший стрим, держите планку!
@HeliodoroSampaio3 ай бұрын
А как вы относитесь к TDD в реальных проектах? Лично я долго выбирал курсы по IT, рассматривал разные варианты, но в итоге остановился на Skypro. После завершения курса получил оффер и теперь работаю удаленно))
@microspacer3 ай бұрын
Спасибо за упоминание теоретической информатики. Отсутствие оной в ВУЗе это реально так, к сожалению
@mrstronciy10603 ай бұрын
Лайк не глядя 🎉 Но и посмотрю обязательно ❤
@gorsing3 ай бұрын
Спасибо ВАМ, смотрю ВАС.
@alexanderzelenkov69442 ай бұрын
Про TDD мысль интересная, сам заметил что я и команда пришли к такому подходу. P.S. Кстати, на фронте приходится писать деревья (и не то чтобы я сильно их любил и хотел).
@selub10583 ай бұрын
Ответ на вопрос 3:02:40 Какая выгода от переключени с одного фрейворка на другой. NestJS по дефолту под капотом использует Express. Парой строчек в коде легко переключается на Fastify. Производительность Express = 11000 req/sec, Fastify = 65000 req/sec. Вот так вот легко увеличивается производительность сервера. Другое дело что многим проектам и производительности Express за глаза хватает.
@itbeard3 ай бұрын
Так почему сразу на базе фастифая не писать решён?
@TimurShemsedinov3 ай бұрын
@@itbeard Я тоже предлагаю сразу на Fastify без Nestjs писать, но есть же еще пиар у каждого фреймворка, Nestjs очень распиарили, а Express был одним из первых и практически 10 лет безальтернативным, он очень распространился, и сейчас часто запускают Nestjs на базе Express, а потом переезжают на Fastify, это просто массовая практика )))
@ivanarsenev44743 ай бұрын
@@selub1058 hono вообще умеет под любой рантайм. Node, Bun или cloudflare workers . Это куда интереснее в плане перфоманса
@selub10583 ай бұрын
@@itbeard Хороший вопрос. Я на него отвечаю так. Если используется NestJS и производительности хватает, то никто не заморачивается что там под капотом. Хотя это важно. Под капотом там Express. Если выбор между более низкоуровневыми серверами Express vs Fastify, то выбирают тот на который проще найти опытных разрабов - Express. Да Fastify более модерновый, 100% энтерпрайз решение, более быстрый, более удобный, с готовой типизацией TS. Но при выборе сервера для проекта многим хватает производительности экспресса и нет смысла использовать более продвинутый фастифай.
@Богдан-р4ы1э2 ай бұрын
@@selub1058 NestJS может под капотом и fastify использовать. Хотя было б намного лучше если б NestJS использовал свое ядро без привязок к фреймовркам.
@oeaoo3 ай бұрын
Паттерны давно нужно обновлять и переосмыслять. Эти индусстриальные и строительные метафоры уже какая-то старая хрень, если честно. Тимуру пожелал бы создать свою "колоду таро" паттернов современной разработки
@TimurShemsedinov3 ай бұрын
Я ператрахивал патерны и буду их ператрахивать
@wavel68873 ай бұрын
Це було дуже цікаво. Дякую❤
@chellscript3 ай бұрын
Ухх как я хорошо поспал! Так, надо включить сначала
@viacheslav55742 ай бұрын
На той же странице где рассказывается про DRY и reusability, большими красныим буквами должно расскзаываться про premature abstraction, про coupling между консьюмерами этой абстрации. Про indirection, про то какой когнитивный эфект это все имеет. Что reusability снижает экспрессивность, декларативность кода. И дальше вопрос - а может ну его нахуй и от того что написать одно и то же в разных местах мир не рухнет. Особенно в Node.js со всеми ништяками композиции, краткость и экспрессивность которые он предоставляет. Что можно отложить абстрацию на потом, когда она уже совсем будет проситься и когда заебет код копировать. Говоря о себе - это был один из самых серьезных блайнд спотов который мне мешал, присутствие и вред от которого потребовались годы что бы осознать
@tototomay3 ай бұрын
Дудь от мира it😂 Оставайтесь на ютубе ребят, и в этом информационном поле со своим кружком по интересам)
@maxkovalchuk1396Ай бұрын
топчік топчік топчік
@0xO23 ай бұрын
1:19:30 в этом месте бомбануло. Что такое рефакторинг, а что такое код от сеньера по всем правилам. Не противоречит ли второе с готовностью к первому?
@fessovskylaeda87603 ай бұрын
Кратко - нет, не противоречит. Длинно, проекты штука живая, все может измениться от потребности в иной реализации, до изменения самих требований. "Чистый код" проще понять и проще изменять и проще тестировать. Иногда задача ставится, ресурсы выделяются и начинается работа. После выполнения, через какое-то(порой долгое) время требования меняются и выделяются доп ресурсы с новыми метриками полученными в ходе эксплуатации, оказывается, что нужно где-то добавить дополнительную бизнес логику или оптимизировать код, может изменить механизм кэширования/соединение с бд/логику нотификаций и т.д. в итоге помидор не обязан писать код, который в DI может, соответствует основным принципам, легко покрывается тестами, расширяется и меняется, но делает это, потому что ленив по своей природе и имеет болезненный опыт и полезные знания. Моя мысль такая: рефакторинг - это часть производственного процесса, готовность кода к нему это не ошибка новичка, а привилегия девелоперов с опытом. Если не трудно и есть минутка-другая, напиши подробно, в чем именно ты видишь противоречие? Может быть я в "не туда" респонз закинул;)
@dennisk6483 ай бұрын
Javascript кодерок должен попробовать IOS и Android фреймворки, что бы иметь представление о шаблонах для UI.
@TimurShemsedinov3 ай бұрын
Не знаю, как мобильная разработка, но вот почему в CBuilder, Delphi, WinForms, .Net, Java, C++ Qt не было особых проблем с UI? Все уже давно классно спроектировано и подходы везде уже устоялись, ну портируйте вы нормальное решение и адаптируйте, зачем все эти танцы с фреймворками...
@dennisk6483 ай бұрын
@@TimurShemsedinov Абсолютно согласен. В React был нормальный подход с IoC через переопределение методов класса UI компонента. В вкратце эти методы отражали жизненный цикл компонента. Сейчас они придумали «хуки» которые намерянно не используют абстракцию жизненнного цикла компонента, и являются больным и извращенным пониманием IoC
@0xO23 ай бұрын
... но всё равно больше всего сделано и делается с jQuery :-)
@oleksandrivashchenko79163 ай бұрын
Лайк, підтримка, коментар
@dennisk6483 ай бұрын
Давайте признаем что в среде web frontend культура программирования деградировала за последние 10 лет. В тот момент когда мы разделили фронт-бэк-база специализации, чуваки оказались в вакууме. Я когда пересматриваю ui фреймворки, особенно связанные с react, у меня возникает устойчивое чувство, что это какая то дурка или ситуация когда детей оставили одних и они уеб-али квартиру и нужен дорогой ремонт после этого.
@TimurShemsedinov3 ай бұрын
💯% я во фронте фреймворков не знаю, но dom и web api неплохо ориентируюсь, Я вот не верю, что все должно быть настолько через ж
@yoloopen3 ай бұрын
10 лет назад фронтенд культура сводилась к лапшекоду на jQuery. Сейчас же простейшую страничку без фреймворка и набора библиотек никто делать не станет, стало сложнее, мудренее, переиспользуемее, куча инструментов на любую задачу, разные проверенные подходы на выбор, это и есть культура. UI фреймворки год от года улучшаются, что там 10 лет назад было: допотопные bootstrap и foundation?
@dennisk6483 ай бұрын
@@yoloopenбыли Adobe Flex, Ext.js, Microsoft Silverlight. Куча народа кинулись в «html5» и разбросали полимеры на ходу. Если сравнивать документации старого ангуляра с современным реактом, мне кажет что последнее не пишут для инженеров а для формо шлепов. Вот я недавно открыл api reference для реактовских хуков и там нислова о жизненном цикле компонентов, даже названия используют максимально ужаленные от архитектуры. Примерно такая же дичь проиходит с другими около реактовскими либами. Абстракции максимально далеки от общепринятых шаблонов
@ivanarsenev44743 ай бұрын
Так последние два года как раз обратно все вернулось в next.js и бек и фронт все в одной куче
@selub10582 ай бұрын
Что было, то и будет; и что делалось, то и будет делаться, и нет ничего нового под солнцем. Бывает нечто, о чем говорят: "смотри, вот это новое"; но это было уже в веках, бывших прежде нас. Нет памяти о прежнем; да и о том, что будет, не останется памяти у тех, которые будут после.
@dima__rx5fw3rm1n3 ай бұрын
Kiss - это keep it smart simple. Как вариант. Так как эти "паттерны ваши намудрены в общем". Но как Тимур и говорил, есть некоторая "обязательная" сложность. Никак не обойтись без коннекта и запроса к бд, если вы решаете задачу запррса к бд 🤷♂️ Но педалить свой орм-фреймворк слишком не по-kiss-овски)
@dima__rx5fw3rm1n3 ай бұрын
В задаче запроса мы не рассматриваем кэш или in-memory данные. Суть именно в принципиальных шагах (но они индивидуальны)
@itbeard3 ай бұрын
Всё же keep it simple stupid в оригинале 😊
@dennisk6483 ай бұрын
ORM фрейморк это абстракция над например sql. Если абстракция тебе не подходит, ты ее не используешь. У тебя допустим нет необходимости запускать orm против oracle и postgre, ты можешь выбрать orm который не прячет детали oracle и не перегружаешь свое приложение концепциями далекими от допустим анонимных plsql блоков для оракла. Нанимайте библиотеки для решения ваших задач а не нойте что вас обманули насчет «простоты»
@pavlomiklashevych17583 ай бұрын
@@itbeard кто-то еще называет short and simple. На цвет и вкус.. как говорится. Главное чтоб использовали правильно!
@АнимусАнанимус3 ай бұрын
Кто все эти люди, кто из ФП уходит? Не встречал таких.
@vladimirjosan61273 ай бұрын
Молдавского языка не было и нет. Он всегда был румынским.
@ioankatsapovich2 ай бұрын
@@vladimirjosan6127 наоборот, румынский возник на основе молдавского
@JS_korben2 ай бұрын
А чо с комментами то?) куда деваются?))
@JS_korben2 ай бұрын
А чо с комментами то?)
@IT_psychopath3 ай бұрын
по потернам это да.. тоже часто афигеваю когда какой сеньор рассказывает про солид там где писать надо на функциональщине.. ты сидишь такой и хочется сказать - "ты идиот?"..🤣 я порниммаю что они зазубрили и везде видят принципы солида, но они применимы не везде и это просто треш когда человек говорит про ООП принципы там где нет ООП.. это как люди послек С++, java приходят в python и начинают писать код как писал там.. а потом они же орут что python медленный или еще какой.. конечно если фигачить через сроку антипаттерны он будет медленным.. если кто не теме, в python строго настрого нельзя писать код как в Си подобных! никоглда те не делайте! он ABC подобный и там как в том фильме - "что для java хорошо, для python смерть..".🤣 как и алгоритмы, когда их зазубрили а про память, структуры данных, особенности языка забыли..🤣
@Alexchtch3 ай бұрын
Интересный поинт по поводу солида. Но как по мне, большинство принципов его в разрезе JS подходят ко всему. Даже когда не используется ООП. У меня нет опыта работы с haskel, ocaml или scala. Но мне кажется, многие вещи применимы и там.
@oeaoo3 ай бұрын
есть такое, считаю зубрежку хуже незнания, так как человек реально тупеет и начинает использовать их не в тему
@dennisk6483 ай бұрын
Интересно видеть броски гуано в сторону OOП когда даже в Javascript добавили классы а основным языком вдруг стал Typescript. Жависты просто застали эру когда народ сформулировал шаблоны программирования и выпускал книжки на эту тему ( language agnostic) и им посчастливилось увидеть их в стандартной библиотеке жавы (JDK). В Javascript мире ничего подобного не происходило. Хотя сам фронт был одно время сильно прокачан Adobe Flex, MS Silverlight, Java applets. Последний рантаймы прикончили, хотя могли бы сделать стандартами. Я могу заявить что уровень фронта упал и превратился в дурку, где вместо того что бы обсуждать идеи, кодерки меряются тем какая либа имеет больше скачиваний в NPM. Разве не так?
@Каролина-н2р3 ай бұрын
Асимптоматический - беспричинный ( перевод на русский)
@sergeiaivazian57733 ай бұрын
Не зашло. Такое ощущение, что один не понимает вопросов, а второй не понимает ответов. С виду кажется, что Тимур очень оторван от коммерческой разработки.
@Каролина-н2р3 ай бұрын
Какая чушь несусветная!
@gurgen52173 ай бұрын
Ну очень нудно, очень умный и очень скучный рассказчик.
@Каролина-н2р3 ай бұрын
Говорите на русском языке!
@ioankatsapovich3 ай бұрын
Смотрю потому что Минина ниже плинтуса попустил. Респект 😅