Мой telegram канал: t.me/purple_code_channel ⚡ Мои курсы Курс по Nest.js: purpleschool.ru/course/nestjs Курс по микросервисам на Nest.js: purpleschool.ru/course/microservices
Антон, респект тебе за продвинутую библиотеку для работы с RabbitMQ. Пользуюсь в проекте. Работает! Всегда с интересом смотрю видео и читаю твои статьи. Курсы все куплены и почти все уже пройдены. Желаю тебе дальнейших творческих успехов! Буду следить за новостями.
А мне не зашёл. Где там сам фреймворк в 1й половине видео? Замени на любой другой, который даёт готовую архитектуру из коробки и не придется текст ролика менять.
Пишу больше 3 лет на Ларавел(Пхп), но уже как 3 дня перехожу на Нест, очень нравится. Также имею достаточный опыт с Ангулар, и очень быстро и легко перешел на Нест
В силу обстоятельств последние года 4 пишу на несте на разных b2b энтерпрайз проектах. Одно удовольствие. Остальные BE фреймворки на ноде по удобству и скорости разработки даже и рядом не валялись.
Проходил курс автора по nest, курс понравился, подача материала Крутая, что собственно и видно по видео на канале 👍 Но, сейчас считаю что это супер переусложненная штука, все знания о которой быстро вылетают из головы, если ты не пишешь на нем постоянно. Из минусов декораторы, которые по сей день экспериментальные, но используются в nest повсеместно Кажется сейчас я бы смотрел на fastify, если бы пришлось поднять какой-то application на node.(Если вообще понадобится фреймворк)
Подскажите, я вот я вот 3 года во фронте, хочу начать учиться писать бек на ноде. Но ОЧЕНЬ не хочется чтобы было как на фронте, постоянная солянка из тенологий и подходов. Вроде как Nest решает эту проблему, но да, смотрел доклады Андрея Мелихова, где он как раз очень ругал нестовые декораторы, и отсутстиве нормального dependency inversion. Как думаете, все-таки взять express или fastify прикрутить к нему TS и всё что нужно? Или всё-таки поработать с нестом? Как плюс у неста - я еще хочу переходить на ангуляр - вроде как похожие концепции и там и там должны быть
Там классная документация, ролики нужны разве что популяризирующие, спасибо автору за такой ролик. Далее было бы интерсно послушать про архитектуру средне-большого приложения, потому что hello-world хорошо показан в документации
Я пишу на php. Мы пытаемся разрабатывать "чисто" и мы достигаем этого наследованием, разделением на слои и переиспользуемые сущности. Я не понимаю почему у вас работает всё таким образом, у вас есть аттрибуты и рефлексия, почему нельзя отнаследоваться от базового класса контроллер и чтобы di работала с его наследниками. Почему nest разработчики любят сервисы? Мы их тоже любим, но мы стараемся выносить в сервисы логику, которая используется везде по проекту или может так использоваться. Я видел много примеров, в которых сервис, это модель, и нигде в доке этого нет, как и нет того, по какому паттерну идёт работа с моделью, как в ларе или рубях, active record или как-то по-другому. Рассказывают про модули, читаю доку, задаюсь вопросом, зачем это, почему у меня связанность в проекте, почему я не могу просто использовать один клас в другом. Говорят про solid описывние массивчика контроллеров это не solid. Я буду очень рад если кто-нибудь мне что-нибудь про это расскажет и почему так. Я хочу понять, почему полюбили nest и хочу сам найти причины его любить, ведь он может помочь решить проблемы, которые не решает php. И этот коммент не создан для разжигания войн, я хочу разобраться.
Декораторы ts несовместимы с новый декораторами. Не сказано про спорное решение с исключениями для сообщения об ошибке и di, в котором по сути нет инверсии зависимостей.
После вашего курса по TS на Udemy я разочаровался в php😅TS просто мечта, теперь php выглядит бедновато без всех этих фич Больше всего нравятся декораторы и типизация
Это все прекрасно конечно, мне тоже очень нравится нест, но я пришел в него из Python Django + DRF. Там все это выглядит еще куда проще и понятнее, и даже несту еще далеко до такого удобства)
В Твоем курсе по микросервисам рассматривался кейс с мнонорепозиторием. В примере говорилось что это позволяет избежать проблем с постоянным поддержанием актуальности типов через выкладку npm пакета. Хотелось бы посмотреть как это выглядит на практике. Ну т.е. каким образом подхватываются типы и выкладываются в npm. В сети такого ролика не нашел.
а по esbuild для react 18 не желаете ли сделать видео? пишут что быстрее вебпака с бабелом, но вот я когда заменил на это новшество, то не заметил приростта в скорости сборки.
По сути они действительно чистые функции, которые могут декорировать методы, классы, свойства и так далее, модифицируя их поведение. Вот видео про новые декораторы, которые появились в 5.0 TS ruclips.net/video/-ZFprXU3-RA/видео.html
Вопрос. В видео рассказывается про необходимость TS ,а если использовать для типов propTypes ,это будет худшим решением и backend будет хуже понимать что передавать и получать?
Использовал Нест для рабочего проекта - остался очень доволен, полностью солидарен с автором. Хотелось бы еще контента про Нест, может про ДДД архитектуру, либо про бест-практисы)
Привет. Столько холиваров наслушался. Что nodа и nest супер медленные по сравнению с теми же go и дот нетом, си шарпом. Сам фронтенд разработчик, стэк реакт, тс, некст, редакс и т.д.. Подскажи, есть ли смысл учить nest и node для использования под сервер и связывания БД для фронта или есть аналоги и стоит их учить, если смотреть с точки зрения актуальности на сейчас/следующие 3-5 лет
Нода не медленная. Её возможности I/O запросов даже выше чем у того же C# или go. Я например натыкался на провисание производительности на go фреймворка echo. .NetCore последний быстрый, но на практики это бенчмарки не имеют значения. При нагрузке мы горизонтально масштабируем наши сервисы в кубере или swarm и все хорошо. Намного важнее удобство и скорость разработки. Nest предоставляет все необходимое из коробки. А на go я потрачу кучу времени на сборку сравнимого проекта из разных библиотек и много что придется писать руками.
nest js не панацея, в нем столько же зависимостей сколько пришлось бы делать для express js. Nest js для новичков которые не могут создать архитектуру на express и fastify. Nest js под капотом использует тот же express или fastify c кучей зависимостей. По началу это помогает. Так же nest js может помочь поддерживать структуру проекта в больших командах. Nest js до каких-то пор помогает, но затем пихает палки в колеса.
Очень нравится Ваша подача материала, это видео мне очень понравилось, мы на проекте тоже используем Nestjs и благодаря Вашим видео больше узнаю этот чудо-framework. Хотел спросить будет ли видео по e2e -тестам к этому framework ибо не много кто показывает как их писать в связке с ( Nestjs, prisma, rest/graphQL, elastic-search(тоже очень крутая технология), S3(часто работаем с этим сервисом) ). Спасибо.
Ничего не будет, он продолжит жить, как и Angular. TS двигается к совместимости и думаю что проблем не будет github.com/microsoft/TypeScript/issues/48885
Присоединяюсь к людям, которые боготворят Nest.js. Поистине потрясающий фреймворк, влюбился в него. Теперь не соглашаюсь участвовать в node.js проектах, где используется не Nest, так как после него все эти велосипеды на express ощущаются ещё более кривыми)))
При установке nest У меня фактически пустая папка получается. А у автора - все папки на месте. Скорее всего в nest что-то изменили ну или я не те команды использую. Можете подсказать? Ютуб удаляет комментарии почему-то (((
@@PurpleSchool я документацию почитал. Глобально nest стоит. Сам проект тоже создается, но не смкучей папок и файлов, как на видео, а несколько файлов + папка модулей + src c main, controllers, midul и т.д.
Про декораторы автор очень сильно ошибается. Рекомендую изучить легаси-декораторы TS'а и спеку декораторов из prosal: это разные, несовместимые вещи. Ещё желаю автору подебажить встроенные декораторы nest'а где-нибудь в пятничный релиз.
@@PurpleSchool приятно было скомпиленные и транспайленные встроенные nestовые декораторы дебажить? Мой поинт в том, что нельзя продавать либу/фреймворк не рассказав об его минусах. А их очень много. Рекомендую для ознакомления доклад Мелихова с конфы "Я
Можно. Но многие фронты начинают писать backend именно на JS. Я не говорю что это одно и то же. Просто до архитектуры построения приложения как Nest они не дотягивают.
Нест - это куча оберток над готовыми решениями. Потом ждешь месяцами а то и годами пока они завезут обнову. Я уже молчу по кучу багов в их пакетах. Та ну его. Я с ним столько намучался. В итоге взял typedi + typeorm + class-validator + jest, сделал все просто и лаконично. Так что если кто-то будет рассказывать, что нест дает многим разрабам работать слаженно гоните его в шею, вы потом будете не рады что решили делать на нем что-то серьезное. Тем не менее, я от неста многое почерпнул, он для пет проекта самое то. Удачи!
Мы на Nest написал более 30 крупных проектов и некоторые с высокой нагрузкой. Проблем с багами или ожиданием фичей не было вообще. Велосипед можно сделать, но вопрос погружения новых разработчиков в него, стандартов и поддержки архитектуры, которое в случае Nest берёт на себя команда фреймворка.
Это для новичков ролик ? ТОгда не хватает примеров тех приэмуществ которые заявляются во второй части ролика. иначе они как сферический конь в вакууме.
ой, опечатка) а вы случайно не работали с Java Spring или C# .Net? Я вот думаю перейти на них, но не знаю долго и сложно ли учить их. Либо же остаться на реакте(нектс и нест дальше учить). но вакансий мало... и говорят на джаве можно универсальнее быть@@PurpleSchool
не считаю его лучшим от слова совсем, так как наследование, композиция, агрегации и ассоциации является основным в разработке, также как и solid, остальные паттерны, а фреймворк основан на одном паттерн декоратор, которые реализован в TS странно, поэтому он до сих пор под флагом, требуется reflect-meta-data.....паттерн вообще об расширении функциональности, должен применяться для определенных целей, но не делать из каждой блохи - орла) он применяется - когда требуется расширить именно функциональность, когда нельзя это сделать другими стандартными средствами! сам TS создает runtime код, который завязанном на реализации! и с выходом новой версии или выпуска декораторов JS просто сломает код. При реализации его в TS теряется оригинальный класс, функция....плюс все это создает сложность отладки. Реализация DI более чем странная так как зависит не от интерфейса а самого класса о котором мы почему-то знает все, вплоть до его расположения! тогда вообще смысл DI теряется! и даже не то что теряется а получается глупость! короче nest имеет смысл быть, но как по мне это какое-то Г
@@PurpleSchool там нет сидов с коробки как например в других полноценных бекенд фоеймворках. Когда одной командой мы можем генерировать с коробки данные для БД, чтобы не заполнять вручную. Надо костыли писать.
Если вы Senior разработчик как Андрей и можете сами создать всю архитектуру, то пожалуйста. Единственное что другим будет тяжело входить в проект. Поэтому проще использовать готовое решение с понятной архитектурой.
Я немного не понял. Это чистый бэкенд без рендера страниц и визуализации? То есть чисто обработка запросов и создание АПИ? Или это типа как nextjs + бэкенд в плане подключения к бд и авторизации?
Писал на этом фреймворке пол года... Остался крайне разочарован. Худшая часть это тесты: писать долго, бегут долго, рефакторить больно, размеры гигантские. Такой фреймворк - результат языка без рефлексии и бедного ядра. Но самая большая проблема это использование node не по назначению : для среднестатистических веб-приложений это очень плохой выбор, а если разработчик не понимает особенностей выполнения промисов и node - результат будет печальный.
Те, которые не любят Typescript и Nestjs, они любители говнокода. Nestjs в чем то похож на нормальные фреймворки, которые нацелены на большие проекты из за читабельности..
На бэкенде тайпскрипт не обязателен, с# или джава ничем не хуже)). Хотя нет, джава 💩. C# или тс - топчик, тем более у них один создатель и они очень похожи.
Тайпскрипт помогает понять что за типы прилетели из базы данных 😂 Джедаи тайпскрипта знают, что в реальности тайпскрипта не существует, если вы понимаете о чем я.
Дрянь этот фрейм, переусложненный в край и когда подъедут декораторы js, то пойдет он на свалку истории или будет полностью переписан и придется переписать весь отстой, который на нем насоздавали ранее
TypeScript experimental decorators будут продолжать существовать и ничего переписывать не нужно. Это все указано в release notes TS. Эти декораторы транспилируются не в декораторы.
Nestjs не лучший, а по сути безальтернативный. При этом у него целый ворох проблем, которые решать особо никто не торопится. До сих пор нет даже нормального круда, надо пилить либо свой велосипед, либо все ручками, а потом встанет задача пошарить dto-шки с фронтом и все, приехали.
@@PurpleSchool круто, а если я не могу или не хочу тащить на фронт довольно сомнительное решение в виде class-validator. Есть нормальные модули для ajv/zod/joi?
@@PurpleSchool мы видимо не совсем поняли друг друга. Я имею в виду, что хочу валидировать данные, как на сервере, так и на клиенте, используя одну и ту же схему. Какой смысл от DTO, если мы не убедимся, что данные соответствуют этому DTO?
Стыдно что в Javascript индустри все еще ведутся дебаты стоит TS свеч или не стоит - смотреть на это уморительно. Надо строить стену. Любой кто защищает JS должен быть маргиналом и немножко идиотом в глазах окружающих. Я не знаю как с ними разговаривать.
Обычно немножко идиотами в глазах окружающих выглядят те, кто считает что его позиция единственная верная, а все остальные дураки, и никаких аргументов он слышать не хочет.
@@moon.trance я же говорил, они реально существуют, их наверное даже много. Я готов выслушать ваш аргумент почему typescript не стоит брать примерно везде если вы не пишете мелкий временный файл скрипта протестировать что-то. Если вы собираетесь отстаивать использование JS вместо TS во фронтенде или бекенде - можете не тратить своё время
@@kirylstasevich4234 я не собираюсь ничего отстаивать, я сам вынужден использовать в основном TS. Тем не менее, я никого дураком не называю, я принимаю плюсы и минусы всех подходов, из с TS и с JS, и готов выслушать аргументы в защиту любого из них. Если вы работали с TS, то прекрасно знаете его минусы. Опытные разработчики могут с этим работать, но новичкам он может дать ложную уверенность в корректности кода, а затем просто испариться в рантайме и привести к проблемам на проде.
@@moon.trance я не писал что нету минусов. Я написал что его стоит брать всегда потому что он гораздо лучше JS. Если вы понимаете его минусы но всегда его берёте то у меня нету с вами разногласий. Любой человек кто сегодня продолжает создавать проекты на JS - враг индустрии и тащит её не туда.
Но почему же на клиенте тогда выстрелил react, а не angular, у которого и модули и DI из коробки, сборщик настроен и вообще сторонние зависимости "почти" никогда не нужны?
@@AntonGorbachevDev возможно потому что там нагородили миллион директив которые впадлу учить. Реакту ничего не мешало быть фреймворком со строгими рамками, или даже сделать и то и то(кто с jquery переписывает вот вам чистый реакт, а тем кто с нуля проект пишет - вот вам каркас со всем всем всем) Но не хватает яиц, они релизнули core, а коммунити распыляется на холивары надо или не надо TS, redux или mobx или контекст. По итогу имеем на каждую проблему несколько авторитетных решений, сиди выбирай. В итоге community сидит учиться на каждой сборке писать формотаблицы, вместо того чтобы иметь одно хорошее решение которое все знают, и думать над решением проблем поинтереснее
Интересно на чем основано ваше мнение? На ваших фантазиях? Если вы сомневаетесь в качестве моих курсов, можете постареть на отзывы на независимых площадках типа Udemy: www.udemy.com/user/alariplay/
@@PurpleSchool друг, ты в публичном поле. Все твои высказывания формируют объективную картинку о тебе. Так что да, мое мнение основано на фантазиях, только твоих. А отзывы на курсы - это пшык в воздухе. У тебя и здесь в комментариях рукоплещущих «вайтишников» пруд прудей. Новички и дупля не отбивают. Если для тебя это мерилом является, то оно и не мудрено. Будешь сидеть на одном месте как владиленка и тешить свое чсв и кошелек, рассказывая одни и те же байки.
Ну то есть обоснования нет, как я и предполагал) Потому ваше мнение можно остаться вашим, и меня оно особо не волнует. Мои курсы проходят в основном не новички, так как курс по основам JS, у меня только выходит.
@@PurpleSchool ага, ну понятно. То есть по твоему - твоя деятельность это не обоснование. Ну что, ты добился тогда, поздравляю. Настолько хороший контент делаешь, что даже для тебя это не обоснование. Ну либо ты просто идиот, который как уж на сковороде вертится и отвечает лишь бы ответ дать. Обоснования, дружок, в твоих словах нет. Пустослов ты, да и только. А курсы твои обычная читка документации, на которой дальше трейни не уедешь. Если ты их называешь «продвинутыми», то дальше даже говорить смысла нет. Мусор ты и не более…
@@PurpleSchool Оххх. Не поверишь. Изучал. И большой опыт разработки. На 6 языках. В которых и была типизация и без типизации. И прикинь. Люди пишут приложения и о чудо. И рефакторят и без типизации. Вот это поворот. Вопрос в том, что если ты олень и не можешь проверить, какие данные тебе приходят. Ну да, тогда без типизации сложно жить. Но как по мне, если у человека вызывает сложности язык без типизации. Это означается, что этот человек не очень хороший в разработке. Поскольку просто тупо джун
@@PurpleSchool + если у вас есть тесты на систему. И они покрывают весь функционал. То и нет смысла в вашей типизации. За TS топят, только у кого руки из задницы
Мой telegram канал: t.me/purple_code_channel
⚡ Мои курсы
Курс по Nest.js: purpleschool.ru/course/nestjs
Курс по микросервисам на Nest.js: purpleschool.ru/course/microservices
Прекрасное видео! Мы действительно желаем еще больше слушать про NEST.JS!
Спасибо)
Антон, респект тебе за продвинутую библиотеку для работы с RabbitMQ. Пользуюсь в проекте. Работает! Всегда с интересом смотрю видео и читаю твои статьи. Курсы все куплены и почти все уже пройдены. Желаю тебе дальнейших творческих успехов! Буду следить за новостями.
Спасибо!
Бро как успехи ?
@@ДамирКу-е6р Всё норм. Дела идут потихоньку. )
Обзор крутой,хотелось бы видеть нест на канале чаще)
Супер) тогда буду делать)
А мне не зашёл. Где там сам фреймворк в 1й половине видео? Замени на любой другой, который даёт готовую архитектуру из коробки и не придется текст ролика менять.
Супер! Тема бомбическая! Спасибо за видео.
Пожалуйста)
Спасибо! Нашел еще свежее видео про nest у вас. Пошел смотреть. Подача материала приятная.
Спасибо!
Спасибо дядь ты крут. Контент просто высший, огромное спасибо. И насчет TS ты все прямо по факту говоришь, так как оно и есть. Удачи и всех благ!
Спасибо!
Очень круто, хочется больше про Nest
Супер 👍
Антон, мы, ученики твоих курсов, любим тебя и то, что ты делаешь. Ни в коем случае не обращай внимания на глупых хейтеров и продолжай в своём духе)
Спасибо) Именно так и делаю)
Пишу больше 3 лет на Ларавел(Пхп), но уже как 3 дня перехожу на Нест, очень нравится. Также имею достаточный опыт с Ангулар, и очень быстро и легко перешел на Нест
Спасибо!
Дополнительно учите новую ORM? Как на счет библиотек для обработки загруженных картинок? Есть аналог Intervention Image?
хорошо записал. очень приятно слушать и подача хорошая
Спасибо!
В силу обстоятельств последние года 4 пишу на несте на разных b2b энтерпрайз проектах. Одно удовольствие. Остальные BE фреймворки на ноде по удобству и скорости разработки даже и рядом не валялись.
Полностью поддерживаю)
Ну наконец стоющее!!! Там можно и не експресс, возможностей море. Спасибо, дошли!!!!
Именно)
Только сегодня думал на чем писать бек для пет-проекта и как раз задумывался попробовать NestJS. Ролик очень вовремя, спасибо =)
Да, стоит его определённо попробовать.
Андрей, спасибо за доклад! Девшахты не хватает! Кружек верстальщиков "Веб стандарты" совсем не замена, но выпуски с Вами слушаю.
Вы ошиблись видео)
Ой, точно! Спасибо.@@PurpleSchool
Спасибо❤
👍
Отличний ролик, продолжайте в том же духе! Сейчас прохожу ваш курс по Nest=)
Спасибо, супер)
Спасибо за видео 👍
Пожалуйста!
а на nestjs можно делать большие масштабируемые проекты там типа финтех, банки ит.д? типа как на спрингу или дотнет
Конечно. Яндекс деньги на нём делали проект
Проходил курс автора по nest, курс понравился, подача материала Крутая, что собственно и видно по видео на канале 👍
Но, сейчас считаю что это супер переусложненная штука, все знания о которой быстро вылетают из головы, если ты не пишешь на нем постоянно.
Из минусов декораторы, которые по сей день экспериментальные, но используются в nest повсеместно
Кажется сейчас я бы смотрел на fastify, если бы пришлось поднять какой-то application на node.(Если вообще понадобится фреймворк)
Спасибо, за тёплые слова) Да, он требует практики.
Подскажите, я вот я вот 3 года во фронте, хочу начать учиться писать бек на ноде. Но ОЧЕНЬ не хочется чтобы было как на фронте, постоянная солянка из тенологий и подходов. Вроде как Nest решает эту проблему, но да, смотрел доклады Андрея Мелихова, где он как раз очень ругал нестовые декораторы, и отсутстиве нормального dependency inversion.
Как думаете, все-таки взять express или fastify прикрутить к нему TS и всё что нужно? Или всё-таки поработать с нестом?
Как плюс у неста - я еще хочу переходить на ангуляр - вроде как похожие концепции и там и там должны быть
@@andreyyastrebtsov4367 если хотите Бек лучше выберите golang.. Бек на ноде, это кошмар.
Nest, Nest, Nest и еще раз Nest !!!!
Да!
Хотим ещё про nest!
Супер)
Там классная документация, ролики нужны разве что популяризирующие, спасибо автору за такой ролик. Далее было бы интерсно послушать про архитектуру средне-большого приложения, потому что hello-world хорошо показан в документации
Отличный обзор
Спасибо!
Может напишите что-нибудь на несте здесь для самых маленьких? Типа todo той же. Мало на ютубе видео по nest
Вполне, спасибо за идею)
Давай больше NestJS )
Супер)
Спасибо за материал!
Не мог бы ты поделиться архитектурой проекта в части "Модульность"?
Либо показать, как подмодули интегрируются в app.
Ок, сделаю обзор)
Я пишу на php. Мы пытаемся разрабатывать "чисто" и мы достигаем этого наследованием, разделением на слои и переиспользуемые сущности.
Я не понимаю почему у вас работает всё таким образом, у вас есть аттрибуты и рефлексия, почему нельзя отнаследоваться от базового класса контроллер и чтобы di работала с его наследниками.
Почему nest разработчики любят сервисы? Мы их тоже любим, но мы стараемся выносить в сервисы логику, которая используется везде по проекту или может так использоваться.
Я видел много примеров, в которых сервис, это модель, и нигде в доке этого нет, как и нет того, по какому паттерну идёт работа с моделью, как в ларе или рубях, active record или как-то по-другому.
Рассказывают про модули, читаю доку, задаюсь вопросом, зачем это, почему у меня связанность в проекте, почему я не могу просто использовать один клас в другом.
Говорят про solid описывние массивчика контроллеров это не solid.
Я буду очень рад если кто-нибудь мне что-нибудь про это расскажет и почему так.
Я хочу понять, почему полюбили nest и хочу сам найти причины его любить, ведь он может помочь решить проблемы, которые не решает php.
И этот коммент не создан для разжигания войн, я хочу разобраться.
Декораторы ts несовместимы с новый декораторами. Не сказано про спорное решение с исключениями для сообщения об ошибке и di, в котором по сути нет инверсии зависимостей.
TS работает над их совместимостью github.com/microsoft/TypeScript/issues/48885
Что такое инверсия зависимостей?)
она есть, документация просто плохо раскрывает реальную работу с di
Привет, а есть ссылка на твой конфиг nvim?)
Я использую вот эту сборку: ruclips.net/video/LKnuIazeiM4/видео.html
как же без типов пишут на руби и пхп? Существуют же бэкенды без этого и работают
Пишут, но ведь лучше, когда у тебя под рукой вся структура данных, а рефакторинг прост? И на чистом JS пишут, тут вопрос удобства поддержки.
Ребят а что думаете на счёт фреймворка Adonis js?
После вашего курса по TS на Udemy я разочаровался в php😅TS просто мечта, теперь php выглядит бедновато без всех этих фич
Больше всего нравятся декораторы и типизация
Спасибо!
Это все прекрасно конечно, мне тоже очень нравится нест, но я пришел в него из Python Django + DRF. Там все это выглядит еще куда проще и понятнее, и даже несту еще далеко до такого удобства)
В Твоем курсе по микросервисам рассматривался кейс с мнонорепозиторием. В примере говорилось что это позволяет избежать проблем с постоянным поддержанием актуальности типов через выкладку npm пакета. Хотелось бы посмотреть как это выглядит на практике. Ну т.е. каким образом подхватываются типы и выкладываются в npm. В сети такого ролика не нашел.
Ок, подумаю над роликом про публикацию в NPM
Что скажите по поводу LoopBack 4 фреймворка?
К сожалению с ним детально не знаком
а по esbuild для react 18 не желаете ли сделать видео? пишут что быстрее вебпака с бабелом, но вот я когда заменил на это новшество, то не заметил приростта в скорости сборки.
Не пробовал. Собирал недавно на Vite и там конечно летает.
@@PurpleSchool спасибо. зто и не удивительно. может тогда на этут тему выпустите видео?
круто
👍
супер бомба пушка ракета
👍
Что такое эти декораторы? Из того, что показано в видео - получается, что обычные чистые функции со странным синтаксисом
По сути они действительно чистые функции, которые могут декорировать методы, классы, свойства и так далее, модифицируя их поведение. Вот видео про новые декораторы, которые появились в 5.0 TS ruclips.net/video/-ZFprXU3-RA/видео.html
спасибо за уроки, а можна сказать что nest это замена laravel, кто не любит PHP, а нравится JS-TS?
Да, в целом он реализует всё тоже и даже больше, только на другом языке.
@@PurpleSchool cпасибо за ответ, какой начальный проект посоветуете по несту чтобы не загнутся - очень важно для меня - експрес знаю более менее
Тут главное чтобы вам нравился проект, это основной принцип)
читал что всюду вакансии требуют микросервисы rabbit и т.д., скажите что действительно сейчас все проекты делают на микросервисах , спасибо
Да, очень много компаний используют микросервиную архитектуру
Вопрос. В видео рассказывается про необходимость TS ,а если использовать для типов propTypes ,это будет худшим решением и backend будет хуже понимать что передавать и получать?
Мы же не только беспокоится за структуру данных, но и рефакторинг проекта и его поддержку.
@@PurpleSchool спасибо за ответ. Теперь понял приоритет использования
Использовал Нест для рабочего проекта - остался очень доволен, полностью солидарен с автором. Хотелось бы еще контента про Нест, может про ДДД архитектуру, либо про бест-практисы)
Супер). Спасибо!
Привет. Столько холиваров наслушался. Что nodа и nest супер медленные по сравнению с теми же go и дот нетом, си шарпом. Сам фронтенд разработчик, стэк реакт, тс, некст, редакс и т.д.. Подскажи, есть ли смысл учить nest и node для использования под сервер и связывания БД для фронта или есть аналоги и стоит их учить, если смотреть с точки зрения актуальности на сейчас/следующие 3-5 лет
Нода не медленная. Её возможности I/O запросов даже выше чем у того же C# или go. Я например натыкался на провисание производительности на go фреймворка echo. .NetCore последний быстрый, но на практики это бенчмарки не имеют значения. При нагрузке мы горизонтально масштабируем наши сервисы в кубере или swarm и все хорошо. Намного важнее удобство и скорость разработки. Nest предоставляет все необходимое из коробки. А на go я потрачу кучу времени на сборку сравнимого проекта из разных библиотек и много что придется писать руками.
@@PurpleSchool Спасибо за ответ!
@@PurpleSchool Понял, спасибо!
Хотелось увидеть от Вас видео, в котором будете создавать ddd на nestjs или хотя бы курс)
👍
Вопрос. Надо ли новичку начинать изучать бэкенд с NestJS или к нему лучше подходить после прохождения NodeJS?
Я бы рекомендовал только после прохождения основ Node.js и TypeScript. У меня именно в этом порядке построены курсы
nest js не панацея, в нем столько же зависимостей сколько пришлось бы делать для express js. Nest js для новичков которые не могут создать архитектуру на express и fastify. Nest js под капотом использует тот же express или fastify c кучей зависимостей. По началу это помогает. Так же nest js может помочь поддерживать структуру проекта в больших командах. Nest js до каких-то пор помогает, но затем пихает палки в колеса.
Модульность и логичность структуры проекта не прерогатива Nest js, так что говорить о модульности как о плюсах именно Nest.js как по мне не правильно
Верно, он дает удобный инструмент для создания архитектуры, но каждым инструментом нужно уметь пользоваться
Что касается зависимостей, да столько же, но их не надо собирать руками. И что совершенно верно - поддержка единого формата для больших команд.
что за компьютерное кресло у вас?
Старое из IKEA
@@PurpleSchool, спасибо
какая в Nestjs самая удобная админ панель типа Django admin panel ?
Это фреймворк, на нём можно писать что угодно, готовых админок конечно же нет, но создать для админки бек просто.
Интересно, не знал что есть такое. А чем от vita отличие ?
Не сталкивался с vita
Джаваскриптеры придумали SpringBoot))
На самом деле круто что и на ноде теперь можно делать норм микросервисы, а не писать велосипеды.
Полностью согласен)
Очень нравится Ваша подача материала, это видео мне очень понравилось, мы на проекте тоже используем Nestjs и благодаря Вашим видео больше узнаю этот чудо-framework. Хотел спросить будет ли видео по e2e -тестам к этому framework ибо не много кто показывает как их писать в связке с ( Nestjs, prisma, rest/graphQL, elastic-search(тоже очень крутая технология), S3(часто работаем с этим сервисом) ). Спасибо.
В курсе у меня затрагиваются они, но возможно сделаю отдельное видео.
А что будет с nest, когда выйдут декораторы в js которые скорее всего не будут совместимы с ts?
Ничего не будет, он продолжит жить, как и Angular. TS двигается к совместимости и думаю что проблем не будет github.com/microsoft/TypeScript/issues/48885
очень хорошая цветовая схема! как называется?
Это onedark для Neovim
Было бы интересно посмотреть на какие-то фичи NestJS. И еще вопрос. Где можно узнать о том как ведет ведется работа с микросервисами в NestJs?
Из документации и у меня есть целый курс по теории и практики микросервисов: purpleschool.ru/course/microservices
Климов насчёт typescript говорил только про фронт. И ему нравятся аналоги, а не совсем без типизации
Сложные приложение есть и на фронте, поэтому например я за Angular для больших корпоративных приложений
А как там декораторы поживают?
Отлично)
Присоединяюсь к людям, которые боготворят Nest.js. Поистине потрясающий фреймворк, влюбился в него. Теперь не соглашаюсь участвовать в node.js проектах, где используется не Nest, так как после него все эти велосипеды на express ощущаются ещё более кривыми)))
Именно!
такой же стул был)
👍
При установке nest У меня фактически пустая папка получается. А у автора - все папки на месте. Скорее всего в nest что-то изменили ну или я не те команды использую. Можете подсказать? Ютуб удаляет комментарии почему-то (((
Команда nest new. Убедись что nest стоит глобально
@@PurpleSchool я документацию почитал. Глобально nest стоит. Сам проект тоже создается, но не смкучей папок и файлов, как на видео, а несколько файлов + папка модулей + src c main, controllers, midul и т.д.
@@d.koshkarev так их надо написать))
nice
Спасибо)
Так вроде ж будут совсем другие декораторы в жсе.
У них единое поведение по стандарту, но пока разная имплементация.
Про декораторы автор очень сильно ошибается. Рекомендую изучить легаси-декораторы TS'а и спеку декораторов из prosal: это разные, несовместимые вещи. Ещё желаю автору подебажить встроенные декораторы nest'а где-нибудь в пятничный релиз.
TS работает над их совместимостью github.com/microsoft/TypeScript/issues/48885
И декораторы я дебажил и писал руками.
@@PurpleSchool приятно было скомпиленные и транспайленные встроенные nestовые декораторы дебажить?
Мой поинт в том, что нельзя продавать либу/фреймворк не рассказав об его минусах. А их очень много. Рекомендую для ознакомления доклад Мелихова с конфы "Я
Хотелось бы так же, сравнение с loopback. :) Или хотя бы обзор на него.
Подумаю над этим
А есть смысл лезть в nestjs если ты до этого не накручивал express с кучей абстракий?
Я бы рекомендовал сначала погрузиться в ноду и посмотреть руками DI, паттерны и т.д. Я для этого делал курс purpleschool.ru/course/nodejs
а можно бесплатный курс по ксс?
Уже есть по flex: purpleschool.ru/course/flexbox
@@PurpleSchool я имею ввиду только css, то есть его основы, или они есть в флексе? Спасибо за ответ
Будет базовый курс по html и css в дальнейшем
@@PurpleSchool Понял, спасибо, буду ждать
даешь видео про декораторы
Хорошо)
Зачем писать в java c# стиле, если это можно сделать на них? Что касается fastify не согласен, это не одно и тоже что и express
Можно. Но многие фронты начинают писать backend именно на JS. Я не говорю что это одно и то же. Просто до архитектуры построения приложения как Nest они не дотягивают.
Нест - это куча оберток над готовыми решениями. Потом ждешь месяцами а то и годами пока они завезут обнову. Я уже молчу по кучу багов в их пакетах. Та ну его. Я с ним столько намучался. В итоге взял typedi + typeorm + class-validator + jest, сделал все просто и лаконично. Так что если кто-то будет рассказывать, что нест дает многим разрабам работать слаженно гоните его в шею, вы потом будете не рады что решили делать на нем что-то серьезное. Тем не менее, я от неста многое почерпнул, он для пет проекта самое то. Удачи!
Мы на Nest написал более 30 крупных проектов и некоторые с высокой нагрузкой. Проблем с багами или ожиданием фичей не было вообще. Велосипед можно сделать, но вопрос погружения новых разработчиков в него, стандартов и поддержки архитектуры, которое в случае Nest берёт на себя команда фреймворка.
@@PurpleSchool простите, я это написал на эмоциях) Это действительно не плохой фреймворк, да и по сути альтернатив ему пока нет.
А есть ли смысл вообще учить сейчас ноду? А то я вообще не вижу вакансий😢
Достаточно много, около 500, а по скажем Golang 600
Может как фреймворк nest действительно лучший, но после tRPC обратно уже не хочется
Nest не исключает использование TRPC, даже есть сторонний адаптер
Многие разрабы, ммм дилда с сиденья это хорошооо 🤣🤣🤣🤣
🤙🤙🤙
Декораторы это ням, ням.
Да)
Это для новичков ролик ?
ТОгда не хватает примеров тех приэмуществ которые заявляются во второй части ролика.
иначе они как сферический конь в вакууме.
Для новичков вот ruclips.net/video/j2-GqaeSueA/видео.htmlsi=gAx1SfH0aJyEer2y
В 2022 году еще бы говорить что typescript не нужен ))
👍
Получше чем экспресс? И сложнее походу
Это фреймворк над транспортом экспресса, он более структурирован и имеет кучу готовых модулей и паттернов
значит лля фронта лучше учить Nextjs, а для бэка Nustjs)@@PurpleSchool
Nestjs для бека)
ой, опечатка) а вы случайно не работали с Java Spring или C# .Net? Я вот думаю перейти на них, но не знаю долго и сложно ли учить их. Либо же остаться на реакте(нектс и нест дальше учить). но вакансий мало... и говорят на джаве можно универсальнее быть@@PurpleSchool
Nest хорош, но иногда кажется что сделано сложней чем могло быть.
Усложнение да, но оно и помогает в дальнейшем разработке.
не считаю его лучшим от слова совсем, так как наследование, композиция, агрегации и ассоциации является основным в разработке, также как и solid, остальные паттерны, а фреймворк основан на одном паттерн декоратор, которые реализован в TS странно, поэтому он до сих пор под флагом, требуется reflect-meta-data.....паттерн вообще об расширении функциональности, должен применяться для определенных целей, но не делать из каждой блохи - орла) он применяется - когда требуется расширить именно функциональность, когда нельзя это сделать другими стандартными средствами! сам TS создает runtime код, который завязанном на реализации! и с выходом новой версии или выпуска декораторов JS просто сломает код. При реализации его в TS теряется оригинальный класс, функция....плюс все это создает сложность отладки. Реализация DI более чем странная так как зависит не от интерфейса а самого класса о котором мы почему-то знает все, вплоть до его расположения! тогда вообще смысл DI теряется! и даже не то что теряется а получается глупость! короче nest имеет смысл быть, но как по мне это какое-то Г
о так это Django!!! ....вот жесть.....в Python тренд обратный. модно самому писть все подряд на FastAPI . А в JS наоборот ....
Тут тоже такое есть
@@PurpleSchool а фреймворки представитель этого течения какие?
Fastify, который часть беру и делают рад ним надстройки
)))) Что же про сиды не рассказал, которых там нет))
Не очень понял, что ты имеешь в виду?
@@PurpleSchool там нет сидов с коробки как например в других полноценных бекенд фоеймворках. Когда одной командой мы можем генерировать с коробки данные для БД, чтобы не заполнять вручную. Надо костыли писать.
Так это зависит от ORM. Скажем если взять Prisma или TypeORM, то seed там есть из коробки.
А что вы думаете про такое мнение о Nest ? ruclips.net/video/dh3rKUYNlUw/видео.html
Если вы Senior разработчик как Андрей и можете сами создать всю архитектуру, то пожалуйста. Единственное что другим будет тяжело входить в проект. Поэтому проще использовать готовое решение с понятной архитектурой.
Я немного не понял. Это чистый бэкенд без рендера страниц и визуализации? То есть чисто обработка запросов и создание АПИ? Или это типа как nextjs + бэкенд в плане подключения к бд и авторизации?
Это backend для создания API, микросервисов или даже можно создавать приложения MVC с шаблонизатором, но это мне кажется уже редкость.
Ох как от него пахнет .net core-ом
Да, но валидация через class-validator удобнее.
Писал на этом фреймворке пол года... Остался крайне разочарован. Худшая часть это тесты: писать долго, бегут долго, рефакторить больно, размеры гигантские. Такой фреймворк - результат языка без рефлексии и бедного ядра. Но самая большая проблема это использование node не по назначению : для среднестатистических веб-приложений это очень плохой выбор, а если разработчик не понимает особенностей выполнения промисов и node - результат будет печальный.
Здравствуйте. А почему плохой выбор ?
Те, которые не любят Typescript и Nestjs, они любители говнокода. Nestjs в чем то похож на нормальные фреймворки, которые нацелены на большие проекты из за читабельности..
Поддерживаю!
Если человек пришел с фронта, а у вас на трехколесном велике стоит дилдо - его все устроит)))))
На бэкенде тайпскрипт не обязателен, с# или джава ничем не хуже)). Хотя нет, джава 💩. C# или тс - топчик, тем более у них один создатель и они очень похожи.
TS обязателен, если использовать JS, а так да, можно хоть Go, хоть C#
Тайпскрипт помогает понять что за типы прилетели из базы данных 😂
Джедаи тайпскрипта знают, что в реальности тайпскрипта не существует, если вы понимаете о чем я.
Если вы про то, что в runtime его нет, то я говорил, что на уровне разработчика понимать типы.
Дрянь этот фрейм, переусложненный в край и когда подъедут декораторы js, то пойдет он на свалку истории или будет полностью переписан и придется переписать весь отстой, который на нем насоздавали ранее
TypeScript experimental decorators будут продолжать существовать и ничего переписывать не нужно. Это все указано в release notes TS. Эти декораторы транспилируются не в декораторы.
Это для любителей обмазываться тупоскриптом и плодить кучу гоФна на каждый чих.
пишет чел, у которого listen it в подписках и гоша дударь в сохрах
@@uvwzyx и что умного ты этим хотел сказать?
Nestjs не лучший, а по сути безальтернативный. При этом у него целый ворох проблем, которые решать особо никто не торопится.
До сих пор нет даже нормального круда, надо пилить либо свой велосипед, либо все ручками, а потом встанет задача пошарить dto-шки с фронтом и все, приехали.
Для шаринга использую npm пакеты или монорепы
@@PurpleSchool круто, а если я не могу или не хочу тащить на фронт довольно сомнительное решение в виде class-validator. Есть нормальные модули для ajv/zod/joi?
Я обычно делаю dto в виде классов, которые имплементируют интерфейсы, которые как раз шарятся.
@@PurpleSchool мы видимо не совсем поняли друг друга. Я имею в виду, что хочу валидировать данные, как на сервере, так и на клиенте, используя одну и ту же схему. Какой смысл от DTO, если мы не убедимся, что данные соответствуют этому DTO?
А, ну тогда да, надо тащить class-validator или я юзал 1 раз github.com/mrdck/nestjs-ajv-glue
Стыдно что в Javascript индустри все еще ведутся дебаты стоит TS свеч или не стоит - смотреть на это уморительно.
Надо строить стену. Любой кто защищает JS должен быть маргиналом и немножко идиотом в глазах окружающих. Я не знаю как с ними разговаривать.
😂
Обычно немножко идиотами в глазах окружающих выглядят те, кто считает что его позиция единственная верная, а все остальные дураки, и никаких аргументов он слышать не хочет.
@@moon.trance я же говорил, они реально существуют, их наверное даже много. Я готов выслушать ваш аргумент почему typescript не стоит брать примерно везде если вы не пишете мелкий временный файл скрипта протестировать что-то.
Если вы собираетесь отстаивать использование JS вместо TS во фронтенде или бекенде - можете не тратить своё время
@@kirylstasevich4234 я не собираюсь ничего отстаивать, я сам вынужден использовать в основном TS. Тем не менее, я никого дураком не называю, я принимаю плюсы и минусы всех подходов, из с TS и с JS, и готов выслушать аргументы в защиту любого из них. Если вы работали с TS, то прекрасно знаете его минусы. Опытные разработчики могут с этим работать, но новичкам он может дать ложную уверенность в корректности кода, а затем просто испариться в рантайме и привести к проблемам на проде.
@@moon.trance я не писал что нету минусов. Я написал что его стоит брать всегда потому что он гораздо лучше JS. Если вы понимаете его минусы но всегда его берёте то у меня нету с вами разногласий. Любой человек кто сегодня продолжает создавать проекты на JS - враг индустрии и тащит её не туда.
Но почему же на клиенте тогда выстрелил react, а не angular, у которого и модули и DI из коробки, сборщик настроен и вообще сторонние зависимости "почти" никогда не нужны?
Потому что у вайтишников не хватает сил его освоить, поэтому на рынке в основном вью и реакт разрабы
Он занял свою нишу хороших корпоративных приложений. А реакт это простая библиотека для всех, как и экспресс на ноде.
@@AntonGorbachevDev возможно потому что там нагородили миллион директив которые впадлу учить.
Реакту ничего не мешало быть фреймворком со строгими рамками, или даже сделать и то и то(кто с jquery переписывает вот вам чистый реакт, а тем кто с нуля проект пишет - вот вам каркас со всем всем всем)
Но не хватает яиц, они релизнули core, а коммунити распыляется на холивары надо или не надо TS, redux или mobx или контекст. По итогу имеем на каждую проблему несколько авторитетных решений, сиди выбирай. В итоге community сидит учиться на каждой сборке писать формотаблицы, вместо того чтобы иметь одно хорошее решение которое все знают, и думать над решением проблем поинтереснее
И что потом чувак даже JS не знает и становится фреймворк разрабом одного инструмента) Как ангуляр разработчики
TS и фреймворки не отменяет необходимость в хороших базовых знаниях JS
Лол, js через столько лет открыл для себя laravel php
Так нест тучу лет уже существует. Просто кто-то его недавно попробовал
Автор видосов - второй Владилен. В нем от проги только клавиатура. Он будет продавать вам свои фантазии и ничего больше
Интересно на чем основано ваше мнение? На ваших фантазиях? Если вы сомневаетесь в качестве моих курсов, можете постареть на отзывы на независимых площадках типа Udemy: www.udemy.com/user/alariplay/
@@PurpleSchool друг, ты в публичном поле. Все твои высказывания формируют объективную картинку о тебе. Так что да, мое мнение основано на фантазиях, только твоих. А отзывы на курсы - это пшык в воздухе. У тебя и здесь в комментариях рукоплещущих «вайтишников» пруд прудей. Новички и дупля не отбивают. Если для тебя это мерилом является, то оно и не мудрено. Будешь сидеть на одном месте как владиленка и тешить свое чсв и кошелек, рассказывая одни и те же байки.
Ну то есть обоснования нет, как я и предполагал) Потому ваше мнение можно остаться вашим, и меня оно особо не волнует. Мои курсы проходят в основном не новички, так как курс по основам JS, у меня только выходит.
@@PurpleSchool ага, ну понятно. То есть по твоему - твоя деятельность это не обоснование. Ну что, ты добился тогда, поздравляю. Настолько хороший контент делаешь, что даже для тебя это не обоснование. Ну либо ты просто идиот, который как уж на сковороде вертится и отвечает лишь бы ответ дать. Обоснования, дружок, в твоих словах нет. Пустослов ты, да и только. А курсы твои обычная читка документации, на которой дальше трейни не уедешь. Если ты их называешь «продвинутыми», то дальше даже говорить смысла нет. Мусор ты и не более…
Видно что за человек, который спускается до оскорблений…
Если руки из задницы... Тогда без TypeScript никак. А если руки из нормально места, то и TypeScript не нужен
Видно, что вы его не изучали и не применяли.
@@PurpleSchool Оххх. Не поверишь. Изучал. И большой опыт разработки. На 6 языках. В которых и была типизация и без типизации. И прикинь. Люди пишут приложения и о чудо. И рефакторят и без типизации. Вот это поворот. Вопрос в том, что если ты олень и не можешь проверить, какие данные тебе приходят.
Ну да, тогда без типизации сложно жить.
Но как по мне, если у человека вызывает сложности язык без типизации.
Это означается, что этот человек не очень хороший в разработке. Поскольку просто тупо джун
@@PurpleSchool + если у вас есть тесты на систему. И они покрывают весь функционал. То и нет смысла в вашей типизации.
За TS топят, только у кого руки из задницы
@@-EgoSerg- Токсичность - детектед ). Ну приятней же когда автокомлиты по моделям работают )