Ура! Вышло новое видео, где мы с Андреем Мелиховым обсуждаем текущее состояние и будущее Node.js для разработки и разработчиков. ✅ Подписывайтесь на канал «Организованное программирование» в Telegram: t.me/orgprog
Как на бэке TS в Express понижает производительность, если TS превращается в JS и потом на Node JS запускается? В чистом виде TS не запускается за исключением конечно экспереметального режима сырого
Я на Nest JS + Type ORM уже более 5 лет. За это время сделал ОГРОМНОЕ количество проектов - как не большие микросервисы, так и весьма емкие монолиты. Более удобного и крутого решения я еще не видел. Sping Boot просто нервно курит в сторонке (с точки зрения простоты и удобства) тем более после 8 лет разработки на Java было с чем сравнить! Нагрузки - максимальные что были около 5к req/sec. Все зависит исключительно от понимания того что ты делаешь и как ты это делаешь. На сколько легко можно подключиться микросервисы в Nest JS - это вообще отдельная песня! Сейчас работаю над проектом где 17 микросервисов - все на NestJS + mono repo. Просто песня
Плюсую. Сам на Несте много пописал... Только хорошие впечатления... И никогда не хотелось плакать что нет НодеВейДатабейс лейера 😂😂 видимо Кирилл привык к такому подходу
Без обид, но Андрей находится реально в пузыре Яндекса, где Node js используют для BFF и инструментов developer инфры. Но если глянуть на рынок России, то куча больших и маленьких компаний пишут полноценный бэк на Node js. Например, МТС, Райффайзен, Астра, Росатом, Билайн, X5, QClean и это только кого я знаю. Я бы сказал Node js отъела и отъедает солидный кусок у Java, Python и PHP. От Nest js я тоже не в восторге, приятней Fastify js. Если хочется, что-то похожее на Laravel можно посмотреть на Adonis Js
МТС? Странно, в моем стриме ноды вообще нет, ну кроме фронта). Везде пайтон да джава. Кое где встречается гошка. Надо глянуть техрадар других направлений. Но про ноду я очень редко слышу в экосистеме МТС. Имею в виду бэк
На самом деле отлично, что многие считают, что нода это просто инструмент для bff, потому что в это время мы пишем проекты любой сложности и практически не имеем конкуренции 🙃
Хорошо, что наткнулся на это видео. Как человек последние года 2 пишущий на годе, а до этого писавший фронтенд, скажу, что у ноды будут проблемы с подготовкой нормальных спецов , пока не будет нормальных туториалов. Все книги, которые в основном вижу дают самые основы, а затем переходят к использованию экспресса. Многие вещи, которые позволяет сделать нода просто не освещаются. Если книги чуть посложнее, например, "node.js patterns", то там местами вообще вещи объясняются так, как будто вы пришли из другого яп.
@@MrChelovek68 да неправда. Посмотрел тут недавно кратко "Програимируем на python" Лутца - очень хороший учебник, аналога которого в node.js нет и по ходу не будет
@@igorsavelev9013 в основном. и два тома многовато так то. но все же, все одно,бро. я вот си курю терь,мне оч нравится,ток литературы маловато нормальной. чтоб не "переписывание очередной спецификации языка".
на мой взгляд себя хорошо показала связка prisma orm + graphql + кодогенерация плагином prisma-nestjs-graphql удобно шарить типы, не нужно руками описывать dto, фильтры, пагинации и большую часть рутинных типовых запросов мой перфрорманс вырос по скорости разработки х3 уже написал 4 бекенд приложения на ноде, опыт разработки 9 лет
@@eugenekalashnikov9331 я использую плагины кодогенерации, все объекты для графкуэль, все возможные поиски, уcловия, пагинации из призмы генерятся. 1) пишу базовый класс который содержит реализацию всех методов призмы круды и не только, поиски. генерирую призмой объекты вокруг бизнес сущности и прокидываю типы при наследование 2) генерирую графкуль объекты с декораторами, подкладываю в нужные query и mutation 3) пишу код схемы, наследуюсь класс, генерю объекты gql, готово - скорость разработки х10 4) на фронте можно использовать все возможности призмы при необходимости
Никто не заставляет в express обмазываться миддлварами. Пиши как хочешь. У тебя есть нормальные объективы request, response - делай с ними что хочешь. А вот на nest как раз под капотом генерируется и в итоге куча всяких функций, тонны всякого г вызывается, чтобы отдать вшивый json.
Последние 6 лет пишу то что тут собеседники называют "рич бэкенд" на ноде. Фронта вообще не касаюсь. Использую декораторы - ну а чо, у нас нет требований отвечать за 2 микросекунды. (В пет проектах не использую, без них функциональности хватает). Всё участники процесса - заказчики/менеджмент/техлиды/разработчики - довольны.
@mokevnin у встроеных тестов node есть одно приемущество с ним по уолчанию можно использовать нодовскую библиотеку assert про которую знает typescript, сужая типы по мере продвижение по тесту. Что часто бывает очень удобно. А вот всякие jest, ava и т.д. часто имею у себя в комплекте свои функции проверки про которые typescript ничего не знает и приходится дублировать условия.
Мне кажется на старте проекта нет смысла заморачиваться с выбором языка. Напомню, что instagram и facebook были написаны лютым говнокодом на php5. Выросли -- сменили язык, парадигму и тд (когда уже денег было хоть сжигай в печке)
Нет у Ноды никакой проблемы с Постгресом. npm i pg и вперёд или в Фастифай есть плагин тоже на pg построен. Скорость норм за счет асинхронности + есть пул коннектов. Темплейт литералы вообще спасают если нужно трехэтажный запрос отформатировать.
Ну ведь у classic Yarn в шапке написано, переходите на новый Yarn. Если используешь в проекте "yarn berry" - то левый разработчик даже это не заметит, так как бинарник хранится в репозитории, и автоматически подхватывается обычным `yarn`. Апгрейд на Yarn Berry - это команда "yarn set version 4.x" (кстати да, Yarn уже давно четвертой версии). Фичи, которые предоставляет Yarn 4 не снились ни pnpm, ни npm. Говорить о том, что Yarn - мертв - это по меньшей мере скоропалительные похороны.
Про нест кстати да. Дико усложнен. Express надстройка над nodejs. Nest надстройка над express. Две абстракции. Не надо на js стараться писать как на Java. На Js нужно писать как на js :)
Я уверен, что будущее именно за нодой и тайпскриптом в частности. Первое, это обратная совместимость, как в джаве, второе - единый язык фронта и бэка. Кто отрицает это очевидное преимущество уже страдает проф деформацией
@@igor-grudinin всю свою сознательную жизнь писал на php. Энтерпрайз в основном. Я уже тестировал эту идею с typescript на фронте и беке. Сейчас один проект развиваем, шаблоны на vue ts в виде классов, контроллеры и формы тоже на ts в виде классов. Показывает себя прекрасно, а скорость разработки при этом иксуется в разы. Мы, конечно, движок в паблик выкладывать не будем, но с уверенностью могу заявить, что будущее за такими. Потому что если это приправить модульной архитектурой и синхронными запросами в базу (что у нас уже реализовано), даёт форму по качеству и поддержке всем известным ларавелям джангам и некстам, а собирается всё командой из докера. А с учётом развития вебвью, так это ещё и разработка кроссплатформенных приложений в одном месте. Так что вряд ли тебе меня получится убедить в обратном, потому что на практике я убедился в другом)
Про обратную совместимость в nodejs. Это очень спорный вопрос . Если проект тольк на чистой годе без сторонних пакетов то возможно. А в жизни даже с 16 на 18 иногда не получается перейти
Те люди, что пишут здесь про drizzle, вы идиоты. Я затестил ваш drizzle, все дырявое, типы не подтягиваются. Поддержка mysql на нуле. Ну ок, может быть на postgres все норм, но нет, там те же проблемы. Сотни проигнорированных issues на гитхабе. И что по итогу мы имеем? Просто красиво оформленную доку, в которой инфы минимум. Все ваши новомодные инструменты от того и дохнут быстро, что нет никакой поддержки, нет никакого продукта, а есть только маркетинг
Я наоборот сторонник Bun, хочу какой нибудь пет-проект на нем целиком сделать и фронт и бэк. Но в целом тоже смотрю на переход в голанг, а то как то сложно работу найти на ноде, значит подтвердились мои подозрения что нода мало кому нужна (((
У ноды сейчас нету альтернативы в плане full typesafe подхода на уровне prebuild во время разработки. Даже хайповая гошка. а в ней все используют stdlib и стремаются использовать orm. Пишут запрос через sql строки. Где там проверка вообще, можно в рантайме упасть. Значит нужно писать тесты еше на стадии прототипа/проверки идеи. TS сильно ушел вперед в плане dx по сравнению с другими платформами.
Странные замечания конечно. По-моему ничего страшного в том чтобы писать SQL руками. Орм нужен для решения определенных задач, типа фильтрации... для решения такой задачи прийдётся писать свой квериБилдер, чтобы этого не делать используют готовый... Если все время пишешь магазины может тебе без орм и не обойтись, в остальном лучше снижать налог на незнание SQL
1 момент - нод.жс это рантайм для жабаскрипта. node.js это не язык программирования. жабаскрипт можно запускать в браузере, т.к там есть движок для этого. Node это такой же движок для запуска кода, только без браузера. Про какое будущее идет речь?
Одно из самых глупых, что я продолжаю слышать постоянно это то, что у нас есть фронтэндер, давай ка ты еще бэком займешься, видимо потому, что и там и там есть слово javascript) Это еще условно может работать в обратную сторону, но уж точно не так, это же просто два разных мира и области применения языка, синтаксис тут роль играет не третью и даже не пятую
Насмотрелся я тут на фулстаков как фронтендер, грустно довольно, поэтому сам принципиально пока не лезу на бэковую поляну и мне прекрасно. Уж лучше мочь в чем то одном хорошо, чем делать вид во всем)
@@kot-duott Конечно же нет) Фронт на данном этапе это монстр и с каждым годом все страшнее становится. Минимально адекватный руководитель понимает, что искать одного человека под две области применения невыгодно, как минимум по времени разработки, как максимум по качеству, если надо делать плюс минус что то более серьезное чем форма связи
Я бы не стал за ноду грустить... О себе переживайте (без негатива). Грустным мне видео показалось потому что никто так и не раскрыл свои аргументы, больше на вкусовщину похоже
на 11:35 обсуждают совместный релиз бек и фронт эндов и как-бы соглашаются, что это неправильно. Почему так? Объясните джуну чем плохо обновлять приложение целиком?
@@astkh4381 ни разу не сталкивался с тем, что одного потока не хватает, хотя я и не занимался хайлоадом. А в чём проблема заспавнить воркеры для многопоточности?
@mokevnin Кирилл, прикрепите, пожалуйста доклад, который гость упоминал на 1:34:31: th-cam.com/video/T6Os27MKUCQ/w-d-xo.html Дмитрий Махнёв Артём Кобзарь - (не|ну)жная монада Either на практике и в теории
Как всегда контент топ,вс нравится, но емае, пошел за ссылкой на лекцию об ошибках и их обработке как ФП и других ЯП, что упоминули в ролике. Как найти?
Кирилл косякнул с дыханием в микрофон, но он ведет себя энергично и активно. Мелихов настроил микрофон хорошо и дает кучу полезной инфы, классный профессионал, но сколько можно засыпать на ходу, что с тоном, что с подачей, ну емое, как так то?
Видно что Кирилл на ноде вообще не пишет и не знаком с экосистемой js (без негатива) Поэтому разговор получился про обсуждение какой-то вкусовщины... вот мне это не нравится... вот тут чего-то не хватает... плюс Андрей супер спокойный чел и похоливарить тоже не получилось, а хотелось чуть движняка... Я бы с радостью похоливарил
@@mokevninКирилл, я без негатива, но видно что ты не джаваскриптизер. Хоть и не сомневаюсь, что ты пишешь код периодически, особенно на рельсе. И да мои извинения что сказал что ты вообще не писал на js
Кирилл смотрит на код как бы со стороны, я кстати так же. Если он ощущает дискомфорт, так и говорит. Опять таки сравнить npm и composer. На npm через год проект скачаешь и сто пудово пакеты не встанут сразу. У composer все четкнько. Поэтому зачем выгораживать ноду и js. Как есть так и говорит
@@iBezlepkinдруг ты фиксировать версии у зависимостей пробовал? Или просто от друзей этот тезис услышал 😂 что там у тебя не встанет я не знаю, но вот у меня если крышку у зависимости убрать, то вообще никогда проблем не возникало
Отличный язык, но крайне нишевый. Работы нет и за пределами России я только двух разработчиков смог встретить за 2 года. У BEAM и OTP есть очень много преимуществ и вместе с Elixir и Phoenix можно получить все это практически бесплатно.
Как будто бы нода хайповала в один момент, все переписывали всё на неё, а потом резко пропала из инфополя. Наверное нашла свою нишу в лёгком bff и всем показалось, что этого достаточно или может отсутствие самодостаточного фреймворка сделало своё дело (nest это все-таки ts, думаю поэтому он не так взлетел и не стал нодовским ларавелем, т.к. не всем ts заходит)
@@mokevninпочему попытка? Хороший подход для организации когда и проекта, хотя временами конечно оверкилл, но очень быстро привыкаешь и потом думается и читается легко и просто
Уже последние года два как можно в проде использовать drizzle или prisma + zod все типы напрямую из базы идут + trpc/hono rpc прослойкой. Типы руками не нужно прописывать тем более шарить их между сервисами. Весь смысл единой и крепкой связки ts когда типы из схемы базы идут. Плюс сейчас есть hono который под любой рантайм идет, cloudflare workers или по классике bun/node в контейнере. Единственное во всем этом компоте правильно монорепу настроить. Либо сразу готовый бойлерплейт найти.
А я где-то сказал про nodemon? не помню ) Конечно сейчас можно watch, но в большинстве проектов вы увидите nodemon, watch только только из экспериментов вышел
Datalens значительно проще подключить и обслуживать, да и в целом порог входа для пользователя ниже. Хотя конечно Суперсет пока (пока!) богаче по возможностям
Понял. Node не собирается развивать свой backend потенциал. Пойду дальше писать на GoLang и учить TypeScript только потому что Фронт нужен в любом веб-проекте.
@@PragmaticPragmatist пусть пусть идут побольше в свой Go, нам на Php эта стадная тенденция уже дала свои плоды, достаточно только дать намек что ты хочешь сменить компанию и HRы сразу заваливают предложениями с зп знатно выше чем на Go)
У меня один вопрос, почему 1С смогла прийти и за пару лет разнести все эти костыльные веб-велосипеды, выкатив Элемент, а все мировое сообщество годами занимается онанизмом скрещивая фронт и бэк отдельно, пиля новые либы и реакты? Просто когда надо сделать гигантское бизнес-приложение с 1000 справочниками и документами, 1С берет и делает, а остальные веб-программисты делают максимум CRM с парой десятков сущностей. 1С доказала что не нужно писать руками модели, DTO, классы и так далее. Почему нельзя взять и сгенерить всё это программно, проставив галочки в веб-конфигураторе?? Бизнесу не нужны эти копошения, он видит что на 1С один человек пишет раз в 10 больше чем команда фронт-бэк-UIдизайнер-тестировщик и выбирает 1С. Сколько я работал на больших проектах, вообще не представлял как бы например Ростех автоматизировал на чем-то другом. Есть Oracle Apex, но это как в анекдоте, жалкое подобие левой руки )
@@Mike37373 ну во первых там есть свои аналоги типа Salesforce, MS Dynamics, SAP но они сложные и дорогие. Во-вторых все равно вопрос открыт, почему никто кроме 1С не сделал удобную веб-платформу для небольших бизнес-приложений. На западе нет спроса на это?
😂😂😂😂 такой тупости не видел. Что то на уровне зачем какие то продукты кроме хлеба и воды, на них же можно жить 😂😂😂 1с медленное лагучее говно только для снг бедного, который выглядит устаревшим и является таким по всем аспектам
Подводя итог можно сказать что область применения ноды свелось к бфф. Из своего опыта разработки могу сказать что когда-то очень сильно подсел на ноду но потом увидев какой там орм в сиквалайзе плюнул и ушел, это был 2021 год, может сейчас все лучше. Сейчас подсел на флаттер, кайфую от разработки на нем на бэке использую ларавел - лучше Eloquent в орм ничего не встречал. Насчет низкой производительности php - это достаточно спорный вопрос. Октана сильно выручает.
Оч много кто даже в пхп-мире не шарит, что в нем уже норм неблокируемые асинхронные подходы (swoole, octane) с корутинами, что уже за ребят из JS-мира говорить. Зато в питоне и гошечке они почему-то шарят. Это так, не в упрек ребятам, просто забавный и не очень приятный факт.
Ёжики плакали кололись но продолжали есть кактус. Абстракция, над абстракцией погоняет следующую абстракцию, сколько вам надо прослоек что бы низкоквалифицированных обезьяны могли что то кодить?
Гость оперирует понятием exception. Так вот в js нет никаких exception. Есть error, который может бросить. В принципе можно бросить любой тип, а не только Error. Не надо в js тащить терминологию из других яп.
Ура! Вышло новое видео, где мы с Андреем Мелиховым обсуждаем текущее состояние и будущее Node.js для разработки и разработчиков.
✅ Подписывайтесь на канал «Организованное программирование» в Telegram: t.me/orgprog
Как на бэке TS в Express понижает производительность, если TS превращается в JS и потом на Node JS запускается? В чистом виде TS не запускается за исключением конечно экспереметального режима сырого
@@boycovclub За счёт того, что тебе иногда нужно писать лишние проверки и избегать мутаций. Ну либо обмазывать всё any и as, что нивелирует плюсы TS
@@boycovclubи даже в экспериментальном режиме ТС нотация просто вырезается или игнорится
@@AndreyMelikhovчто значит лишние проверки? Если рантайм у тебя упадет это лишнее? Если для тебя эни это норм то убери строгую проверку эни
@@PragmaticPragmatist вы злой человек, я бы Вас на работу не взял)
Я на Nest JS + Type ORM уже более 5 лет. За это время сделал ОГРОМНОЕ количество проектов - как не большие микросервисы, так и весьма емкие монолиты. Более удобного и крутого решения я еще не видел. Sping Boot просто нервно курит в сторонке (с точки зрения простоты и удобства) тем более после 8 лет разработки на Java было с чем сравнить!
Нагрузки - максимальные что были около 5к req/sec.
Все зависит исключительно от понимания того что ты делаешь и как ты это делаешь.
На сколько легко можно подключиться микросервисы в Nest JS - это вообще отдельная песня!
Сейчас работаю над проектом где 17 микросервисов - все на NestJS + mono repo. Просто песня
Плюсую. Сам на Несте много пописал... Только хорошие впечатления... И никогда не хотелось плакать что нет НодеВейДатабейс лейера 😂😂 видимо Кирилл привык к такому подходу
Возьми джуном к себе
@@vladimirkiryakov3695 слушай а почему type ORM, а не призма или drizzle?
@@vladimirkiryakov3695 а что используешь для общения с клиентом? Я так понимаю trpc так и не завезли на nest
А ты попробуй на несте изолировать у ентити проперти. Сделать их приватными и потом работать через сеттеры и геттеры.
За Мелихова лайк не глядя
Андрей Мелихов выглядит словно пару недель не спал, уж не знаю что с ним Яндекс сделал, но спать они ему точно не дают 😂 В остальном лайк за видео
Он вроде всегда так выглядит
@@ioannpilipchuk8476вроде на последнем хайлоде он лучше выглядел ))) по крайней мере в живую
Ну так платят ниже рынка, переработки, ох как классно
@@Тёмочка-ь7о😂😂😂 лучший 😂😂😂
года 3 назад активно смотрел Мелихова, он тогда так же выглядел или даже более уставшим
Благодаря Андрею начал использовать монаду Either. Спасибо!
Дарт Вейдер, купи нормальный pop фильтр)
Хаха! Он у меня оказывается был, но использовать я его стал со следующего видео. Так что дальше будет с ним)
😂
надо микрофон ставить правильно, как у девшахты и микрофон лучше, и установка правильная
это конечно провал, без негатива - просто сложно абстрагироваться
Спасибо, очень крутой разговор! Сильно расширяет кругозор. Хотелось бы что-то подобное про Go
Спасибо вам ребята за классный подкаст. Как я соскучился по техническим беседам, в последнее время слишком дофига про софт.скиллы всего выходит.
Без обид, но Андрей находится реально в пузыре Яндекса, где Node js используют для BFF и инструментов developer инфры. Но если глянуть на рынок России, то куча больших и маленьких компаний пишут полноценный бэк на Node js. Например, МТС, Райффайзен, Астра, Росатом, Билайн, X5, QClean и это только кого я знаю. Я бы сказал Node js отъела и отъедает солидный кусок у Java, Python и PHP.
От Nest js я тоже не в восторге, приятней Fastify js. Если хочется, что-то похожее на Laravel можно посмотреть на Adonis Js
МТС? Странно, в моем стриме ноды вообще нет, ну кроме фронта). Везде пайтон да джава. Кое где встречается гошка. Надо глянуть техрадар других направлений. Но про ноду я очень редко слышу в экосистеме МТС. Имею в виду бэк
Что же эти компании опытом не делятся? Я вижу только Tramvai от Т-банка из того, что светится публично
@@alexdr1279Например, стриминг платформа, мой коннект и т.д
@@alexdr1279есть, я там писал
Ни одной вакансии на ноду от этих компаний не видел. Есть какие-то пруфы?
На самом деле отлично, что многие считают, что нода это просто инструмент для bff, потому что в это время мы пишем проекты любой сложности и практически не имеем конкуренции 🙃
отличный гость и прекрасная тема ⚠
Всегда рад этому гостю. Рассказывает о шишках, которые уже набил он и егт команда, дабы уберечь нас 😅
Хорошо, что наткнулся на это видео. Как человек последние года 2 пишущий на годе, а до этого писавший фронтенд, скажу, что у ноды будут проблемы с подготовкой нормальных спецов , пока не будет нормальных туториалов. Все книги, которые в основном вижу дают самые основы, а затем переходят к использованию экспресса. Многие вещи, которые позволяет сделать нода просто не освещаются. Если книги чуть посложнее, например, "node.js patterns", то там местами вообще вещи объясняются так, как будто вы пришли из другого яп.
Нормальные туториалы в основном остались в нулевых.ща мусор перечисляемый
@@MrChelovek68 да неправда. Посмотрел тут недавно кратко "Програимируем на python" Лутца - очень хороший учебник, аналога которого в node.js нет и по ходу не будет
@@igorsavelev9013 надо посмотреть. спасибо. я натыкась в осноовном на старые учебники,которые вменяемые. новые писать не умеют, в основном.
@@igorsavelev9013 в основном. и два тома многовато так то. но все же, все одно,бро. я вот си курю терь,мне оч нравится,ток литературы маловато нормальной. чтоб не "переписывание очередной спецификации языка".
@@MrChelovek68 @MrChelovek68 , по си как раз много достаточно. Читал "learn c the hard way"?
на мой взгляд себя хорошо показала связка prisma orm + graphql + кодогенерация плагином prisma-nestjs-graphql
удобно шарить типы, не нужно руками описывать dto, фильтры, пагинации и большую часть рутинных типовых запросов
мой перфрорманс вырос по скорости разработки х3
уже написал 4 бекенд приложения на ноде, опыт разработки 9 лет
Все супер кроме самой призмы )
А какой перформанс у такой связки?
@@bondiano Можно drizzle взять
Призма и графкюэль это скорее антипатерн сейчас
@@eugenekalashnikov9331 я использую плагины кодогенерации, все объекты для графкуэль, все возможные поиски, уcловия, пагинации из призмы генерятся.
1) пишу базовый класс который содержит реализацию всех методов призмы круды и не только, поиски. генерирую призмой объекты вокруг бизнес сущности и прокидываю типы при наследование
2) генерирую графкуль объекты с декораторами, подкладываю в нужные query и mutation
3) пишу код схемы, наследуюсь класс, генерю объекты gql, готово - скорость разработки х10
4) на фронте можно использовать все возможности призмы при необходимости
Приятно слушать. Спасибо, было интересно!
Андрей - это ТОП 👍
акмаль топ
Никто не заставляет в express обмазываться миддлварами. Пиши как хочешь.
У тебя есть нормальные объективы request, response - делай с ними что хочешь.
А вот на nest как раз под капотом генерируется и в итоге куча всяких функций, тонны всякого г вызывается, чтобы отдать вшивый json.
Отличный подкаст 🎉
Последние 6 лет пишу то что тут собеседники называют "рич бэкенд" на ноде. Фронта вообще не касаюсь. Использую декораторы - ну а чо, у нас нет требований отвечать за 2 микросекунды. (В пет проектах не использую, без них функциональности хватает). Всё участники процесса - заказчики/менеджмент/техлиды/разработчики - довольны.
@mokevnin у встроеных тестов node есть одно приемущество с ним по уолчанию можно использовать нодовскую библиотеку assert про которую знает typescript, сужая типы по мере продвижение по тесту. Что часто бывает очень удобно. А вот всякие jest, ava и т.д. часто имею у себя в комплекте свои функции проверки про которые typescript ничего не знает и приходится дублировать условия.
Мне кажется на старте проекта нет смысла заморачиваться с выбором языка.
Напомню, что instagram и facebook были написаны лютым говнокодом на php5.
Выросли -- сменили язык, парадигму и тд (когда уже денег было хоть сжигай в печке)
За Андрея - респект! 😎
Сам Андрей и всем советую! 💜
Очень хороший диалог получился. Спасибо!
Топ подкаст!
Спасибо за выпуск!
Нет у Ноды никакой проблемы с Постгресом. npm i pg и вперёд или в Фастифай есть плагин тоже на pg построен. Скорость норм за счет асинхронности + есть пул коннектов. Темплейт литералы вообще спасают если нужно трехэтажный запрос отформатировать.
Спасибо большое за контент!
Спасибо за видео! Посмотрел с интересом)
Ну ведь у classic Yarn в шапке написано, переходите на новый Yarn. Если используешь в проекте "yarn berry" - то левый разработчик даже это не заметит, так как бинарник хранится в репозитории, и автоматически подхватывается обычным `yarn`. Апгрейд на Yarn Berry - это команда "yarn set version 4.x" (кстати да, Yarn уже давно четвертой версии). Фичи, которые предоставляет Yarn 4 не снились ни pnpm, ни npm. Говорить о том, что Yarn - мертв - это по меньшей мере скоропалительные похороны.
Кирилл, за рекламу InertiaJS отдельный респект 👍
Интересный выпуск. спасибо 🙏
Не трогал nodejs 15 лет и как оказалось правильно сделал
Про нест кстати да. Дико усложнен. Express надстройка над nodejs. Nest надстройка над express. Две абстракции.
Не надо на js стараться писать как на Java. На Js нужно писать как на js :)
Я уверен, что будущее именно за нодой и тайпскриптом в частности. Первое, это обратная совместимость, как в джаве, второе - единый язык фронта и бэка. Кто отрицает это очевидное преимущество уже страдает проф деформацией
Полностью поддерживаю ваше мнение. Абсолютно уверен, что язык уже покрывает почти все возможные применения. (Почти все)
Скажи, а ты кроме ноды какие-нибудь другие языки знаешь?
@@igor-grudinin всю свою сознательную жизнь писал на php. Энтерпрайз в основном. Я уже тестировал эту идею с typescript на фронте и беке. Сейчас один проект развиваем, шаблоны на vue ts в виде классов, контроллеры и формы тоже на ts в виде классов. Показывает себя прекрасно, а скорость разработки при этом иксуется в разы. Мы, конечно, движок в паблик выкладывать не будем, но с уверенностью могу заявить, что будущее за такими. Потому что если это приправить модульной архитектурой и синхронными запросами в базу (что у нас уже реализовано), даёт форму по качеству и поддержке всем известным ларавелям джангам и некстам, а собирается всё командой из докера. А с учётом развития вебвью, так это ещё и разработка кроссплатформенных приложений в одном месте. Так что вряд ли тебе меня получится убедить в обратном, потому что на практике я убедился в другом)
Чур чур чур, любой кто знает что то кроме JS/TS не согласится
@@stasyanje4225 я отвечал, Ютуб почему-то не добавил комментарий, попробую ещё раз
effect-ts, effect-http и экосистема - вот будущее
Отличный подкаст, единственное замечание, ХОТЕЛОСЬ БЫ ПОМЕНЬШЕ ЛАРАВЕЛА В ВЫПУСКЕ ПРО НОДУ!
Без негатива 😁
Очень слышно дыхание ведущего, по возможности просим пофиксить
Видимо микрофон конденсаторный, чувствительный. У Андрея динамический, shure
@@Tazis17 динамический, просто я pop фильтр не юзал. В следующих видео уже с фильтром
😂😂😂это не шум дыхания а оргазм был ведущего
Я час смотрел не замечал, пока это не прочитал
Ну звук в принципе без какого-либо тритмента и обработки, дыхание тут лишь одна из базовых проблем, которые обязательно надо фиксить)
С годами я пришел точно к таким же заключениям про ноду
Про обратную совместимость в nodejs. Это очень спорный вопрос . Если проект тольк на чистой годе без сторонних пакетов то возможно. А в жизни даже с 16 на 18 иногда не получается перейти
Те люди, что пишут здесь про drizzle, вы идиоты. Я затестил ваш drizzle, все дырявое, типы не подтягиваются. Поддержка mysql на нуле. Ну ок, может быть на postgres все норм, но нет, там те же проблемы. Сотни проигнорированных issues на гитхабе. И что по итогу мы имеем? Просто красиво оформленную доку, в которой инфы минимум. Все ваши новомодные инструменты от того и дохнут быстро, что нет никакой поддержки, нет никакого продукта, а есть только маркетинг
теперь нужен подкаст о правильном подборе backend фреймворка!
для серьёзного бэкенда на TS по сути только Nest.js, особо альтернатив нет
@@kot-duott кроме js у Кирилла экспертности и в других языках хватает. Например хвалил rails а проекты делает на PHP...
@@kot-duott serverless?)
Я наоборот сторонник Bun, хочу какой нибудь пет-проект на нем целиком сделать и фронт и бэк. Но в целом тоже смотрю на переход в голанг, а то как то сложно работу найти на ноде, значит подтвердились мои подозрения что нода мало кому нужна (((
7:40 😁👍 ну це просто геніально! 💥
У ноды сейчас нету альтернативы в плане full typesafe подхода на уровне prebuild во время разработки. Даже хайповая гошка. а в ней все используют stdlib и стремаются использовать orm. Пишут запрос через sql строки. Где там проверка вообще, можно в рантайме упасть. Значит нужно писать тесты еше на стадии прототипа/проверки идеи.
TS сильно ушел вперед в плане dx по сравнению с другими платформами.
Rust статически проверят sql запросы во время компиляции.
Странные замечания конечно. По-моему ничего страшного в том чтобы писать SQL руками. Орм нужен для решения определенных задач, типа фильтрации... для решения такой задачи прийдётся писать свой квериБилдер, чтобы этого не делать используют готовый... Если все время пишешь магазины может тебе без орм и не обойтись, в остальном лучше снижать налог на незнание SQL
full typesafe в распределенных системах это миф
Монады с резалтом очень люблю в Руби.
Крутой выпуск. Повесь картину на стену))))
В веб3 разработке node.js прям хорошо заходит.
на счет орм - а призма, а дриззл? поддерживают динамические типы после джоинов.
1 момент - нод.жс это рантайм для жабаскрипта. node.js это не язык программирования. жабаскрипт можно запускать в браузере, т.к там есть движок для этого. Node это такой же движок для запуска кода, только без браузера. Про какое будущее идет речь?
Одно из самых глупых, что я продолжаю слышать постоянно это то, что у нас есть фронтэндер, давай ка ты еще бэком займешься, видимо потому, что и там и там есть слово javascript) Это еще условно может работать в обратную сторону, но уж точно не так, это же просто два разных мира и области применения языка, синтаксис тут роль играет не третью и даже не пятую
Насмотрелся я тут на фулстаков как фронтендер, грустно довольно, поэтому сам принципиально пока не лезу на бэковую поляну и мне прекрасно. Уж лучше мочь в чем то одном хорошо, чем делать вид во всем)
ну так "чистый фронтенд" вымрет в обозримой перспективе, если фронт+бэк на TS, то от всех разрабов будут ожидаться фуллстек-компетенции
@@kot-duott Конечно же нет) Фронт на данном этапе это монстр и с каждым годом все страшнее становится. Минимально адекватный руководитель понимает, что искать одного человека под две области применения невыгодно, как минимум по времени разработки, как максимум по качеству, если надо делать плюс минус что то более серьезное чем форма связи
@@KDenisGнаоборот выгодно:) более того, чтобы вся команда была такая. Чем держать отдельного фронтендера, который половину времени будет простаивать
@@kot-duott Соболезную)
Спасибо, очень интересно, хотя и груснова-то (не из-за участников, а из-за ноды). Тоже не хватает data access layer в ноде.
Я бы не стал за ноду грустить... О себе переживайте (без негатива). Грустным мне видео показалось потому что никто так и не раскрыл свои аргументы, больше на вкусовщину похоже
@@SergeiDorogin-il1gf просто в видео обзор ноды 2015 года.
Pipeline Operator "|>" и Realms API вроде уже есть.
А вот сслыка на "монад" доклад и на "инерцию", чего-то не видно...
Да они про новую спеку не смотрели. А на Ютубе этого уже полно
Спасибо!
Андрей, возвращайся в девшахту
на 11:35 обсуждают совместный релиз бек и фронт эндов и как-бы соглашаются, что это неправильно. Почему так? Объясните джуну чем плохо обновлять приложение целиком?
>Есть ли будущее у Node.js
Я первый раз слышу о том, что в будущем ноды есть сомнения. С чего бы вдруг?
Попробуйте Bun, сравните скорость (сервера, CLI, тестов) с NodeJS. Это ответит на ваш вопрос.
Не проблема, что он однопоточный?
@@astkh4381 ни разу не сталкивался с тем, что одного потока не хватает, хотя я и не занимался хайлоадом. А в чём проблема заспавнить воркеры для многопоточности?
@@astkh4381 как и в Ноде там есть кластеры и воркеры. Не самая оптимальная многопоточность, но лучше чем ничего.
зачем на тайпскрипт писать если можно на йоптаскрипт писать яндекс облака
Тема кота не раскрыта))) такой красивый кот там ходил на фоне
Если будешь каждое видео спрашивать про зп, просмотров будет раза в 2 больше.
ахаха, надо попробовать
Дудь уже попробовал ) Больше не спрашивает
Не понял почему питон не многопоточный, там честные треды ос, просто с гил, на io баунд задачах многопоточка серьезно увеличивает производительность.
А как же drizzle orm? Ну и prisma.
@mokevnin Кирилл, прикрепите, пожалуйста доклад, который гость упоминал на 1:34:31:
th-cam.com/video/T6Os27MKUCQ/w-d-xo.html
Дмитрий Махнёв Артём Кобзарь - (не|ну)жная монада Either на практике и в теории
Как всегда контент топ,вс нравится, но емае, пошел за ссылкой на лекцию об ошибках и их обработке как ФП и других ЯП, что упоминули в ролике. Как найти?
th-cam.com/video/T6Os27MKUCQ/w-d-xo.html
Можете поискать доклад Не нужная монада Either
Кирилл косякнул с дыханием в микрофон, но он ведет себя энергично и активно. Мелихов настроил микрофон хорошо и дает кучу полезной инфы, классный профессионал, но сколько можно засыпать на ходу, что с тоном, что с подачей, ну емое, как так то?
Видно что Кирилл на ноде вообще не пишет и не знаком с экосистемой js (без негатива) Поэтому разговор получился про обсуждение какой-то вкусовщины... вот мне это не нравится... вот тут чего-то не хватает... плюс Андрей супер спокойный чел и похоливарить тоже не получилось, а хотелось чуть движняка... Я бы с радостью похоливарил
кхм :) github.com/nodosjs/nodos Но последние годы да, я пишу код действительно мало
@@mokevninКирилл, я без негатива, но видно что ты не джаваскриптизер. Хоть и не сомневаюсь, что ты пишешь код периодически, особенно на рельсе. И да мои извинения что сказал что ты вообще не писал на js
Кирилл смотрит на код как бы со стороны, я кстати так же. Если он ощущает дискомфорт, так и говорит.
Опять таки сравнить npm и composer. На npm через год проект скачаешь и сто пудово пакеты не встанут сразу. У composer все четкнько.
Поэтому зачем выгораживать ноду и js. Как есть так и говорит
@@iBezlepkinдруг ты фиксировать версии у зависимостей пробовал? Или просто от друзей этот тезис услышал 😂 что там у тебя не встанет я не знаю, но вот у меня если крышку у зависимости убрать, то вообще никогда проблем не возникало
@@iBezlepkinдостаточно сделать npm ci
Кирилл как Дарт Вейдер дышит :3
Посмотрите в сторону Elixir. Решает большинство проблем с (soft) real-time.
Отличный язык, но крайне нишевый. Работы нет и за пределами России я только двух разработчиков смог встретить за 2 года.
У BEAM и OTP есть очень много преимуществ и вместе с Elixir и Phoenix можно получить все это практически бесплатно.
Кирилл еще не пробовал tRPC :)
Как же Кирилл дышит в микрофон, когда молчит)
Пока Андрей и остальные консерваторы воспринимают bun за "испытательную площадку", Твиттер уже юзает его в проде.
Пруф давай )
@@AndreyMelikhov вышлю в личку)
Как будто бы нода хайповала в один момент, все переписывали всё на неё, а потом резко пропала из инфополя. Наверное нашла свою нишу в лёгком bff и всем показалось, что этого достаточно или может отсутствие самодостаточного фреймворка сделало своё дело (nest это все-таки ts, думаю поэтому он не так взлетел и не стал нодовским ларавелем, т.к. не всем ts заходит)
Мне кажется все еще впереди.
нодовский ларавель это AdonisJS, а не Nest
Нест это попытка копировать спринг бут
Нода это супер Фаст разработка... Никого быстрее этих ребят нет с Бека до фронта... Как по мне, то эта парадигма очень давно не менялась
@@mokevninпочему попытка? Хороший подход для организации когда и проекта, хотя временами конечно оверкилл, но очень быстро привыкаешь и потом думается и читается легко и просто
17:29 кот
Уже последние года два как можно в проде использовать drizzle или prisma + zod все типы напрямую из базы идут + trpc/hono rpc прослойкой. Типы руками не нужно прописывать тем более шарить их между сервисами. Весь смысл единой и крепкой связки ts когда типы из схемы базы идут. Плюс сейчас есть hono который под любой рантайм идет, cloudflare workers или по классике bun/node в контейнере.
Единственное во всем этом компоте правильно монорепу настроить. Либо сразу готовый бойлерплейт найти.
Вам не нужен трейни под рукой? Я работаю с таким же стаком + реакт для фронта.
Nest это вещь, на экспрессе обычно такова на гавнокодят что хрен разберёшь.
Кто-нибудь использует Nginx Unit для NodeJS?
nodemon уже не актуален.
можно node/bun --watch использовать
Андрей просто представляет олдскул без негатива конечно
А я где-то сказал про nodemon? не помню ) Конечно сейчас можно watch, но в большинстве проектов вы увидите nodemon, watch только только из экспериментов вышел
@@AndreyMelikhovАндрею плюс вайб за участие в комментах!
Пожалуйста когда гость говорит отключайте у себя звук, слышно как вы носом дышите
А чем не устроил Apache Superset ?
Datalens значительно проще подключить и обслуживать, да и в целом порог входа для пользователя ниже. Хотя конечно Суперсет пока (пока!) богаче по возможностям
Понял. Node не собирается развивать свой backend потенциал. Пойду дальше писать на GoLang и учить TypeScript только потому что Фронт нужен в любом веб-проекте.
Правильный выбор, сам так сделал после 10 лет на Php
Странные выводы ты сделал. Я бы так с места в карьер не прыгал... Нода живее всех живых
@@PragmaticPragmatist пусть пусть идут побольше в свой Go, нам на Php эта стадная тенденция уже дала свои плоды, достаточно только дать намек что ты хочешь сменить компанию и HRы сразу заваливают предложениями с зп знатно выше чем на Go)
Крутой подкаст, но сопящий нос на фоне😄
@@sirshabutthj9947 это матка!
Вернулся в Яндекс
Декораторы в несте это же не легаси а эксперементал
@@dmprkp6792 Согл. Даже если они не войдут когда нибудь в спецификацию. Ну и что, как это помешает дальше использовать nest js не понятно
Это экспериментал легаси декораторы. Из стандарта их уже выпилили
Ошибки при работе с typeorm в консоли максимально не информативные. Это как раз еще один камень в сторону декораторов
@@iBezlepkin хз я пишу рав все заебись, заебали эти орм))
@@dmprkp6792 тогда зачем nest в принципе? :) mysl2, inversify, express/fasify и все готово :) + чуток DDD
А мне дартвейдер зашел, не мешало смотреть
У меня один вопрос, почему 1С смогла прийти и за пару лет разнести все эти костыльные веб-велосипеды, выкатив Элемент, а все мировое сообщество годами занимается онанизмом скрещивая фронт и бэк отдельно, пиля новые либы и реакты? Просто когда надо сделать гигантское бизнес-приложение с 1000 справочниками и документами, 1С берет и делает, а остальные веб-программисты делают максимум CRM с парой десятков сущностей. 1С доказала что не нужно писать руками модели, DTO, классы и так далее. Почему нельзя взять и сгенерить всё это программно, проставив галочки в веб-конфигураторе?? Бизнесу не нужны эти копошения, он видит что на 1С один человек пишет раз в 10 больше чем команда фронт-бэк-UIдизайнер-тестировщик и выбирает 1С. Сколько я работал на больших проектах, вообще не представлял как бы например Ростех автоматизировал на чем-то другом. Есть Oracle Apex, но это как в анекдоте, жалкое подобие левой руки )
ты знаешь страну где знают, что такое один эс, кроме россии ?
@@Mike37373 ну во первых там есть свои аналоги типа Salesforce, MS Dynamics, SAP но они сложные и дорогие. Во-вторых все равно вопрос открыт, почему никто кроме 1С не сделал удобную веб-платформу для небольших бизнес-приложений. На западе нет спроса на это?
@@vid253 в 1С проблема с ведением товаров в базе данных, поэтому она не популярна, кроме России
😂😂😂😂 такой тупости не видел. Что то на уровне зачем какие то продукты кроме хлеба и воды, на них же можно жить 😂😂😂 1с медленное лагучее говно только для снг бедного, который выглядит устаревшим и является таким по всем аспектам
7506. If you know, you know.
так есть ли будущее ?
если смотреть такие видео то будущего у любой технологии нет))))
Подводя итог можно сказать что область применения ноды свелось к бфф. Из своего опыта разработки могу сказать что когда-то очень сильно подсел на ноду но потом увидев какой там орм в сиквалайзе плюнул и ушел, это был 2021 год, может сейчас все лучше. Сейчас подсел на флаттер, кайфую от разработки на нем на бэке использую ларавел - лучше Eloquent в орм ничего не встречал. Насчет низкой производительности php - это достаточно спорный вопрос. Октана сильно выручает.
Оч много кто даже в пхп-мире не шарит, что в нем уже норм неблокируемые асинхронные подходы (swoole, octane) с корутинами, что уже за ребят из JS-мира говорить. Зато в питоне и гошечке они почему-то шарят. Это так, не в упрек ребятам, просто забавный и не очень приятный факт.
Если искали Орм то смотрите в сторону drizzle
Харош)
Ёжики плакали кололись но продолжали есть кактус. Абстракция, над абстракцией погоняет следующую абстракцию, сколько вам надо прослоек что бы низкоквалифицированных обезьяны могли что то кодить?
pnpm the best
Я на нест и призме - лучшее что со мной было. Эти мамонты совершенно не въезжают в архитектуру. В теме не шарят, подкаст говно
Прогрев JIT`а
“Спасибо”. Мне предстоит переписывать проект с Руби на Ноду и послушав вас вообще не хочется иметь дело с Нодой. Какой-то ад. Хаос.
Пока сам не попробуешь, никого не слушай. сначала проверь а потом бойся
Нода топовая, не слушай этих горе экспертов
Расскажите почему решили выбрать нод?
Руби крутой, зачем нода?
@@KDenisG ээээ.... Я не знаю... Мне лид так сказал...
Ноды на нагруженном бэке нет потому что как 5+ лет назад не умели пайплайны писать, так и не умеют.
пайплайны чего?
@@dance1dvd обработки данных
@@slavianich в итоге на чем бек?
Bun & Dino сделают Node.js лучше :)
Осталось только правильно написать Deno ))) 😂😂😂
@@PragmaticPragmatist Все таки нашелся один учитель. Я так и знал :)
@@Tiberiumgodа ты слово из 4х букв пиши без ошибок и все хорошо будет
@@PragmaticPragmatist у меня и так все хорошо. Это у тебя комплекс.
@@Tiberiumgodага весь закомплексованный 😂😂😂
Гость оперирует понятием exception. Так вот в js нет никаких exception. Есть error, который может бросить. В принципе можно бросить любой тип, а не только Error. Не надо в js тащить терминологию из других яп.
> в продакшне падает, ты открываешь то во что оно скомпилировалось, и седеешь
> хотите писать бэкэнд - возьмите язык для бэкэнда
100%
Мой комментарий, конечно, затрут, но реально ребятки, вашей экспертности только дивана не хватает
😂😂😂 🎉🎉🎉 видимо не один я заметил
Почему?
нет