То чувство когда человек учит бэкенду и не знает что такое DTO. Чтобы вы понимали, я frontend developer, и то понимаю что без описания структуры данных - ( Data Transfer Object ) Сложно работать с данными особенно на TypeScript. Как можно работать с данными, когда не знаешь с какими данными будешь работать. Неужели Fastify отменяет интерфейсы ? Что хочешь то и отправляешь на бэкенд. Шикарно. "Что такое DTO, Автор: да я не знаю что такое dto". Видео можно закрывать на этом моменте.
Вообще-то очень даже много, просто в ITVDN с этим скудно. Да и вообще, английский надо учить, коль программировать решили. На английском на RUclips можно найти полно годной информации, за которую в России берут по 100К. Такой вот "дешёвый" перевод для начинающих.
Похоже что fastify-autoload не особо популярен... По крайней мере 10 минут гугления не принесли плодов) Возможно с этим плагином есть какие то подводные камни?
какя версия ноды? столько проблем в видео... вроде 2020г, а впечатление что на какой 8 ноде пишется все.))) forech как и сотальное, уже быстрое. почти сразу исправили в ES6 эти нюансы. хотя на момент записи видео может еще и были проблемы. сегодня lodash уже забытое прошлое которое код на javascript пытается превратить в java.😁если смотрите в 2022г или позже, то почти все проблемы с видео уже устарели.))) проверяйте инфу! видос норм, спасибо.
Спасибо за отзыв. Насколько я помню нода была 12 версии. Там ещё небыло таких крутых вещей, как к примеру оператор "?." По поводу lodash. Действительно большое количество методов кануло с последними релизами ноды. Однако говорить что прям: "забытое прошлое", врядли у меня повернётся язык. * ForEach к примеру в лодеше имеет возможность перебирать обьекты. * Или крутые фишки map по типу того что ты можешь без callback функции указать какое поле нужно вернуть каждому элементу * Или метод get всё ещё превосходит оператор "?." в том что можно указывать путь к переменной динамически без костылей * И ещё куча других крутых штук
Можно, но это не спасает от ошибок. Просто более удобный синтаксис чтобы много if из кода убрать. Много вложенные проверки. Чтобы не плодить if можно использовать функции, либо если это ООП, можно обращаться к классам и работать со свойствами, таким образом из view мы выносим бизнес-логику и функционал. Новички обычно всё пишут во вью, что создаёт лапшекод. Ещё есть страшный функционал Got Object (в ответственность такого функционала входит если не всё, то многое), что нарушает принцип SOLID.
так суть была в том чтобы такие проверки и убрать. Кстати синтаксис (?.) не был тогда включён в lts версию ноды, от этого я привёл пример через лодаш, однако суть не меняется.
Не безопасно, но обычно хэш подразумевает что-то зашифрованное, что обычно не поддаётся дешифровки . На такой случай есть .env где можно хранить приватные данные.
10:50 мужик, ты мог эти 2 строчки заменить одной typeof body?.data?.height "string" фиг знает, зачем создавать вебинары если даже нуб вроде меня может написать проще дальше смотреть не стал после такого провала без обид
Запись "body?.data?.height", на момент вебинара не была доступна в lts версии node.js поэтому об этом ничего сказано небыло. Однако тогда твою запись можно было реализовать через библиотеку lodash(методы get и set). Однако задача состояла в том, чтобы не писать миллиард ифов, для проверки входящих данных. А написать одну json схему, которая будет понятна любому мидлу. Проверка входящих данных - это важный пункт и без неё можно спокойно ждать беды. И если ты будешь делать проверку ифами, или свич кейсами - ты столкнёшься с проблемой, что тебе каждый раз нужно будет самому объяснять человеку который делает запрос - что в его запросе не так. json schema валидатор это делает за тебя. Так что ты упростил свою задачу лишь на ранних этапах, а на более поздние этапы - забил
@@kiidii_aniname Сам не подумал, что запись через ? могла быть недоступна, это да. Но вопрос в целом к подобным проверкам, ведь если так требуется проверять поля, то не проще юзать TS и создавать дто-шки?
Спасибо за видео. Было очень полезно
Большое спасибо за видео! Можно ссылку на репозиторий, пожалуйста?
50:35 - вообще в JS есть метод Array.isArray() чтобы проверить не является ли объект массивом
Как мне в таком коде получать аналог из экспресса - :id , какие то параметры в реквесте?
То чувство когда человек учит бэкенду и не знает что такое DTO.
Чтобы вы понимали, я frontend developer, и то понимаю что без описания структуры данных - ( Data Transfer Object )
Сложно работать с данными особенно на TypeScript. Как можно работать с данными, когда не знаешь с какими данными будешь работать. Неужели Fastify отменяет интерфейсы ? Что хочешь то и отправляешь на бэкенд. Шикарно. "Что такое DTO, Автор: да я не знаю что такое dto". Видео можно закрывать на этом моменте.
Вы точно смотрели вебинар? Я как раз в итоге об этом и рассказывал. Рассказывал о том, как бекенду запрещать отправлять "что хочешь".
А jwt авторизация с рефрешем не планируется?
Мало инфы на эту тему...
Вообще-то очень даже много, просто в ITVDN с этим скудно. Да и вообще, английский надо учить, коль программировать решили. На английском на RUclips можно найти полно годной информации, за которую в России берут по 100К. Такой вот "дешёвый" перевод для начинающих.
Для автоимпорта есть родной плагин fastify-autoload, зачем такой огород городить...
Похоже что fastify-autoload не особо популярен...
По крайней мере 10 минут гугления не принесли плодов)
Возможно с этим плагином есть какие то подводные камни?
@@ИванАльков-о4е про него прямо в доке написано, тоесть он по-моему официальный
@@SilverStormAndGoldenRain нашёл где он указан в доке: www.fastify.io/ecosystem/, если кому надо будет =)
Привет, спасибо за видео. Можно ссылку на репу ? =)
какя версия ноды? столько проблем в видео... вроде 2020г, а впечатление что на какой 8 ноде пишется все.))) forech как и сотальное, уже быстрое. почти сразу исправили в ES6 эти нюансы. хотя на момент записи видео может еще и были проблемы. сегодня lodash уже забытое прошлое которое код на javascript пытается превратить в java.😁если смотрите в 2022г или позже, то почти все проблемы с видео уже устарели.))) проверяйте инфу! видос норм, спасибо.
Спасибо за отзыв. Насколько я помню нода была 12 версии. Там ещё небыло таких крутых вещей, как к примеру оператор "?."
По поводу lodash. Действительно большое количество методов кануло с последними релизами ноды. Однако говорить что прям: "забытое прошлое", врядли у меня повернётся язык.
* ForEach к примеру в лодеше имеет возможность перебирать обьекты.
* Или крутые фишки map по типу того что ты можешь без callback функции указать какое поле нужно вернуть каждому элементу
* Или метод get всё ещё превосходит оператор "?." в том что можно указывать путь к переменной динамически без костылей
* И ещё куча других крутых штук
Бро, думаю без TS это как-то больно (в плане проверки, которые ты пишешь на 6:44 )
Да и можно же просто написать body?.data
Можно, но это не спасает от ошибок. Просто более удобный синтаксис чтобы много if из кода убрать.
Много вложенные проверки. Чтобы не плодить if можно использовать функции, либо если это ООП, можно обращаться к классам и работать со свойствами, таким образом из view мы выносим бизнес-логику и функционал. Новички обычно всё пишут во вью, что создаёт лапшекод. Ещё есть страшный функционал Got Object (в ответственность такого функционала входит если не всё, то многое), что нарушает принцип SOLID.
так суть была в том чтобы такие проверки и убрать. Кстати синтаксис (?.) не был тогда включён в lts версию ноды, от этого я привёл пример через лодаш, однако суть не меняется.
Я правильно понял что чел заюзал лодаш вместо 2х знаков "?" ... ))
Запись "?.", на момент вебинара не была доступна в lts версии node.js поэтому об этом ничего сказано небыло.
самый быстрый фреймворк на диком западе - .NET 6
Ну ты бы еще мельче шрифт сделал.
Безопасно ли оставлять хеш пароля в JWT-токене?
Не безопасно, но обычно хэш подразумевает что-то зашифрованное, что обычно не поддаётся дешифровки . На такой случай есть .env где можно хранить приватные данные.
10:50
мужик, ты мог эти 2 строчки заменить одной
typeof body?.data?.height
"string"
фиг знает, зачем создавать вебинары если даже нуб вроде меня может написать проще
дальше смотреть не стал после такого провала
без обид
Запись "body?.data?.height", на момент вебинара не была доступна в lts версии node.js поэтому об этом ничего сказано небыло. Однако тогда твою запись можно было реализовать через библиотеку lodash(методы get и set).
Однако задача состояла в том, чтобы не писать миллиард ифов, для проверки входящих данных. А написать одну json схему, которая будет понятна любому мидлу.
Проверка входящих данных - это важный пункт и без неё можно спокойно ждать беды.
И если ты будешь делать проверку ифами, или свич кейсами - ты столкнёшься с проблемой, что тебе каждый раз нужно будет самому объяснять человеку который делает запрос - что в его запросе не так. json schema валидатор это делает за тебя.
Так что ты упростил свою задачу лишь на ранних этапах, а на более поздние этапы - забил
@@kiidii_aniname Сам не подумал, что запись через ? могла быть недоступна, это да.
Но вопрос в целом к подобным проверкам, ведь если так требуется проверять поля, то не проще юзать TS и создавать дто-шки?
@@artishoo речь шла вообще о другом... Речь шла о том как избавиться от такого подхода. Кстати вопрос как TS будет проверять входящий реквест?
@@kiidii_aniname ни как не будет.))) спасибо за видос.)))
привет, скажи пожалуйста на каком mac'e ты работаешь?@@kiidii_aniname