11 - express, typescript, body, query, viewMode, InputModel, data mapping / Backend - Путь Самурая
10 444 просмотра • 19 августа 2022 г.

168 тыс. подписчиков
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
https://www.youtube.com/channel/UCTW0FUhT0m-Bqg2trTbSs0g/join
Поддержать меня и получить доступ к дополнительному контенту можно вот здесь:
https://www.patreon.com/itkamasutra
Поддержать проект монеткой: https://social-network.samuraijs.com
Платное обучение в онлайн инкубаторе:
https://it-incubator.ru
https://it-kamasutra.com
664
0
Александр Абрамов
07.09.22 в 20:06
Спасибо! Потрясающе объесняешь! Во многом благодаря твоему Пути Самурая уже год в разработке. Сейчас очень нуждаюсь в расширении кругозора - Бекэнд, NodeJs, Kubernates, MongoDB и пр. Ждём следующего выпуска
Andrey Kurtenkov
05.09.22 в 17:31
Отличный урок! Спасибо за твои труды:)
Maryna Serhiichuk
04.09.22 в 17:11
Работаю год на фронте. Иногда возникает надобность заглядывать на бек, да и интересно, собственно. Обучалась реакту с тобой. Все легко, интересно тем, что ты заходишь на какую-то тему с необыкновенной стороны, как семена на подумать и нужно решить что-то для себя
Как по мне, для совсем нулячих, это будет сложновато, особенно с тайпскриптом и тестами. Я уже со временем на работе привыкла к тайп, но по началу, на путь самурая второй, было непонятно.
Спасибо тебе за твой труд
Владислав Витковский
02.09.22 в 09:14
ролик не смотрел, на фронте работаю
но за название лайк однозначно))
и правда ведь , в обоих случаях причем ;)
Aidos Sergibaev
01.09.22 в 19:44
але народ, добивайте - 400 лайков осталось
SAKO
31.08.22 в 07:27
Все шикарно, изучил фронт конечно у тебя, и все темы легко даётся, благодаря тебе, спасибо продажай в том духе
Александр
30.08.22 в 22:29
Открывать в новой вкладке браузера можно колесиком)
Denis Zavarzin
30.08.22 в 09:52
В конце вместо утилитной функции нужно было один тип из другого создавать либо через конструктор, либо с помощью метода from<TypeName>. Но видимо до этого не дошли.
GK woodpecker
27.08.22 в 08:08
Спасибо Димыч, продолжай. Было бы круто чаще затрагивать более глубокие темы вроде того же паттерна MVC или применения JSDoc, так будем расти и в ширину и в глубину, можно просто упоминать и оставлять на самостоятельное изучение.
Dmtreaqq Pavlov
26.08.22 в 06:40
Как сделать так, чтобы видео не переставали выходить?)))
Dmtreaqq Pavlov
25.08.22 в 19:11
Очень круто! Продолжай в том же духе!!! Оформил спонсорство, пока что первого уровня))
Vladyslava Ostapchuk
25.08.22 в 11:34
Oleksii Markov
25.08.22 в 08:25
*ука до слез))) как разрабу вообще насрать)))
Bing Bong
24.08.22 в 17:33
molodec bro!
Vitalion83
24.08.22 в 13:34
Подскажите как учат новые технологии опытные разрабы. Сидят долго и нудно читают книги, документацию от корки до корки!? Просто я смотрю на Димыча, он из дотнета пришел и так сразу: вот вам реакт путь самурая, потом такой хлоп! вот вам тайпскрипт. Или Ulbi или Минин рассказывают про все технологии на свете.
Borys Katowsky
24.08.22 в 13:06
Димыч на высоте, как всегда. Он реально круто объясняет!
Владислав Марченко
23.08.22 в 22:14
Димыч привет! Ты задавал вопрос в видео, как типизировать Response чтобы он нам запретил в send передавать данные. На самом деле все просто, Response<never> :)
Ivan Ivanov
23.08.22 в 19:03
Продолжай бро! Суперски!
Slyusar Vladislav
23.08.22 в 13:39
Привіт! Я десь рік пишу на реакті, та ось десь два з половиною місяці трошки дивився на бекенд, написав не дуже складну апішку з авторизацією, аутентифікацією. Мені такий формат навпаки заходить, бо щоб трошки в'їхати у Nest, можна почитати документацію, подивитися туторіали, та щось вже спробувати, там є своя архітектура і зробити неправильно важче. А те, що зараз пишеш ти, можна зробити по-різному, і багато де, можна зробити дурню, тому такий контент це топ <3
PS. Я думаю, те що я вже подивився на Nest, теж вплинуло, так більше зрозуміло, навіщо ти пояснюєш те, що пояснюєш.
Прилепский Роман
22.08.22 в 19:26
Огонь. Очень классно.
NAGIBATOR PRO
22.08.22 в 18:31
Дима,почему так редко видео?
Humble
22.08.22 в 13:42
Со скольких (примерно) уроках мы можем искать работу (Джуниор бекенд)
Humble
22.08.22 в 13:40
Идём к MERN stack?
Марк Соболев
22.08.22 в 11:16
Привет, слежу за тобой уже не один год, ты очень крут) Благодаря курсу по фронтенду, смог устроиться) Спасибо тебе и успехов в начинаниях! А теперь вопрос. Почему когда ты используешь фильтрацию по кверипараметрам используешь в фильтрации indexOf вместо includes? Вкусовщина или есть какой то скрытый смысл, ведь в кейсе с инклудс меньше кода и как будто метод для этого и сделан.
И ещё как идея по типизации, сейчас есть три модели у которых есть title (я говорю про квери, криейт и апдейт), можно создать утилитарный тип WithTitle (as example) и экстендить модели от этого типа, таким образом дублирование уходит, если тайтл не нужен убирается экстенд. Тогда и дублирования вроде нет и синглреспонибилити не нарушается
Стёпа _
22.08.22 в 11:04
Классный курс, все классно рассказываешь! Ждём продолжение)
Дмитрий Иванов
22.08.22 в 09:16
Лайк
Vladyslav Parkhomeko
22.08.22 в 06:20
+
ускоряйся)
Cardinalilya
22.08.22 в 04:26
Коли, після Fastify, спробував Express, відразу стало не зручно типізувати Request. Тому, щоб зробити це так само зручно, як там написав зручну обгортку для цього.
export interface RequestGenericInterface {
Body?: unknown;
Query?: unknown;
Params?: unknown;
}
export type CustomRequest<RouteGeneric extends RequestGenericInterface = RequestGenericInterface> = Request<RouteGeneric['Params'], {}, RouteGeneric['Body'], RouteGeneric['Query']>;
Тепер, можна не писати усі ці типи накшталт, RequestTypeWithBodyAndPArams, а є один, який зрозумілий і дуже зручний.
Приклад використання:
export type CreateReqType = CustomRequest<{
Body: { title: string, description: string, createdAt: new Date() }
}>;
P.s. Дімич, дякую тобі! Твій курс "Шлях самурая", дуже допоміг мені у навчанні і ще не пройшовши його до кінця я влаштувався на першу роботу)
Don Patron
21.08.22 в 23:34
ну как и всем,лайк подписка,и т,д,а резултат где?!2-5-6-кому пива дали?
Who I Am
21.08.22 в 22:16
Ерунда ))) С# рулит
Mark Flerko
21.08.22 в 19:11
Я уже работаю мидлом бэкэндером (недавно стал мидлом хД), начинал фронтом и вошел в айти благодаря пути самурая 1! Инсайды получаю, про маппинг выходных данных очень интересно, в несте это правда намного легче делается, но сути не меняет - вопросы чисто архитектурные, никакого пересказывания документации тут нет, спасибо!
GREEMAN's fly
21.08.22 в 11:35
а чо с курсом путь самурая 2? год уже не было выпусков
Александр Сосо
21.08.22 в 11:15
Спасибо за урок! Очень структурировано.
Александр Нестеров
21.08.22 в 10:21
Супер, круто объяснил про мапинг, огромное спасибо!!
Работаю фронтом на реакте два года, немного скучно стало на фронте, хочу развиваться дальше!!!
Летим !!!
Андрей Архипов
21.08.22 в 07:58
Димыч, спасибо тебе за то, что пилишь контент! Я тебя уже не смотрю (в силу того, что уже улетел
Huge Giraffe
21.08.22 в 07:43
Интригующее превью
Дед Яр
21.08.22 в 06:24
Эх бэкэнд огромный, уже 11 урок, а еще только самое начало)
Дед Яр
21.08.22 в 05:08
Я бы прописал типы для всех запросов, RequestGetCourses, RequestGetCourse, RequestPostCourse, RequestDeleteCourse и так же респонс.
SnAtVB
20.08.22 в 22:05
Превьюха огонь)
Oleg Degterov
20.08.22 в 20:23
Работаю фронтом, усиливаю бэк с Дмитрием)
SnAtVB
20.08.22 в 20:16
я вообще в диком шоке что у тебя так мало активности, а у какого-то сраного хауди, который льет бесполезную чуть куча подписоты и иногда видео много набирают, пичаль конечно, но не сдавайся, ты крут, должно все получится!
SnAtVB
20.08.22 в 20:16
я вообще в диком шоке что у тебя так мало активности, а у какого-то странного хауди, который льет бесполезную чуть куча подписоты и иногда видео много набирают, пичаль конечно, но не сдавайся, ты крут, должно все получится!
Max Georgievsky
20.08.22 в 19:39
Ставлю лайк заранее. Пока что нет возможности уделить время твоему видосу, т.к. устроился фронтом (во многом благодаря пути самурая) и решаю рабочие задачи. Но видосы по бэку твои смотрю и повторяю код, чтобы расширить свой кругозор. Позже обязательно посмотрю и этот видос. А сейчас просто благодарю тебя от всей души - ты влюбил меня в JS и изменил мою жизнь к лучшему. Слава Димону, нашему сенсею!
Андрей Балин
20.08.22 в 18:22
Всем привет!!! Дима ты много раз говорил об "асинхронщине" и грозился выпустить суперское видео, аналога которому нет на просторах интернета. Я думаю back-end как раз то самое место где эту тему стоит осветить. Полагаю, что многие из твоих подписчиков, которые сейчас смотрят этот курс и с нетерпением ждут новых видео поддержат меня. И наконец о моем собственном пути в мире асинхронных функций. Пересмотрел кучу видео, решил несколько примеров, но есть внутреннее ощущение, что чего-то упустил. Не хватает общего стержня на котором бы эти знания закрепились. Спасибо за твой труд. Он реально полезен.
The End
20.08.22 в 18:06
Димыч привет! Мне кажется лучше сразу показывать на Nest-е.
Ты начал с основ, я понимаю, но для просмотров мне кажется людям нужно то, что они могут сразу повторять и экспериментировать (путь самурая по Реакту в этом смысле ПушкаБомба!=) и учитывая, что по Несту не так много видео-материалов с качественным объяснением - аудитория будет расти быстрее, мне кажется ).
Жду не дождусь когда будет сам Nest, создание таблиц, связи, валидация, декораторы, гварды, модули-сервисы-контроллеры---ДиАй)) и тд.
(хотелось бы конечно вместо RESTa - GraphQL... но ты смотри сам, мб голосовалку запустить ближе к делу чтоб посмотреть кому что больше интересно..)))
И кстати если с GraphQL будет, то по сути Свагер и тп будет не нужно т.к. будет ApolloStudio - а это и Свагер и тесты и просто удобная штука!)
(У Egor Malkevich вышел классный видос почему GraphQL - это то хорошо=))
Предыдущий видос по тестам класс - давно не могу себя заставить начать изучать тестирование..., но твое объяснение резко повысило мотивацию!
Спасибо! Мир!
Ask Sonya
20.08.22 в 17:31
Супер!
Семён Свалов
20.08.22 в 16:31
обложка зачётная
The Frontend
20.08.22 в 14:57
Прекрасный человек. Опытный специалист. 100% лайк и поклон за вашь труд
Константин Павловский
20.08.22 в 14:16
Почему ни один из русскоговорящих айти-блогеров, которые за развитие айти, не собирает донаты на переводы книг, которых много на английском но мало на русском, например, о WebGL (ну или на которые есть спрос?)
Мб потому что нужны разрешения с автором? Или книги очень долго переводятся? Или нет таких специалистов которые бы хорошо знали и английский и ту тему которую переводят?
Igor
20.08.22 в 14:05
Сколько всего уроков планируется? Чтоб засесть с самого начала и до конца
Константин Павловский
20.08.22 в 13:46
Всё круто!
KostyaFromPiter
20.08.22 в 12:54
Нравится, что Дмитрий так подаёт материал, что все в комментариях пишут серьезные технические вещи, спрашивают конкретные вопросы. Даже новички понимают, о чем они говорят. Я думаю я сказал важную вещь. Каждый раз писал и буду писать вам - спасибо, вы реально заряженный программист, и дай бог здоровья довести курс до конца.
Vlad Maksimov
20.08.22 в 10:42
По сингл респонсибилити я бы подробнее остановился, хорошие примеры были в уроке. Классы, функции и проч должны выполнять только одну задачу. И проще всего это определить по неймингу (он должен быть конкретный а не абстрактный, чтоб не было сомнений). CreateUpdateModel очевидно служит больше, чем для одной цели и повторяющийся код здесь существует для разных задач, не нужно стремиться от него избавиться (в будущем он может меняться каждый в свою сторону и его все равно придется разделить или испортить условными операторами типа if / else). Соблюдать сингл респонсибилити (как и все SOLID и проч принципы) следует, чтобы части кода как можно меньше зависели друг от друга, чтобы код было легче дебажить, читать и понимать, покрывать тестами, расширять новым функционалом или менять и тп. В конце концов код писать будет проще и быстрее, в нем будет меньше багов и разработка выйдет дешевле по деньгам.
Алексей Yankov
20.08.22 в 10:40
шикарный видос, изучаю фронт, спасибо!
Летим!
Muslim Muslimov
20.08.22 в 10:31
Топ джи!
Vlad Maksimov
20.08.22 в 10:08
В тайпскрипте есть *.d.ts файлы для хранения типов и их доступности в коде без лишних импортов / экспортов
IT-KAMASUTRA
20.08.22 в 10:07
https://it-incubator.ru/education - обучение в АйтиИнкубаторе с гарантированным трудоустройством
https://offerheap.com - накачивай свою репутацию и получай приглашения в лучшие компании
LIMPIX
20.08.22 в 09:00
Типизируем всей деревней. Спасибо за видео. ✨
Пара Слов
20.08.22 в 08:36
Вот это превьюшка
Калиниченко Евгений
20.08.22 в 01:50
Ну Димыч и шалун
Рекомендации:
7 262 просмотра •
27 августа 2022 г.
12 063 просмотра •
23 августа 2022 г.
15 684 просмотра •
10 августа 2022 г.
12 388 просмотров •
13 июля 2022 г.
44 106 просмотров •
17 июля 2022 г.
12 579 просмотров •
3 июля 2022 г.
10 976 просмотров •
21 февраля 2022 г.
17 186 просмотров •
17 мая 2022 г.
8 043 просмотра •
10 мая 2022 г.
20 597 просмотров •
9 мая 2022 г.
20 282 просмотра •
1 мая 2022 г.
21 442 просмотра •
24 февраля 2022 г.
7 524 просмотра •
21 апреля 2022 г.
13 657 просмотров •
16 марта 2022 г.
10 488 просмотров •
4 декабря 2021 г.
9 436 просмотров •
14 декабря 2021 г.
7 112 просмотров •
23 декабря 2021 г.
7 585 просмотров •
31 декабря 2021 г.
18 218 просмотров •
19 января 2022 г.
32 571 просмотр •
3 февраля 2022 г.
28 393 просмотра •
10 февраля 2022 г.
13 617 просмотров •
15 февраля 2022 г.
24 512 просмотров •
17 февраля 2022 г.
4 305 просмотров •
30 октября 2021 г.
12 762 просмотра •
7 июля 2020 г.
15 933 просмотра •
17 июля 2020 г.
10 537 просмотров •
26 июля 2020 г.
5 097 просмотров •
27 июля 2020 г.
12 442 просмотра •
8 августа 2020 г.
9 514 просмотров •
14 августа 2020 г.
9 298 просмотров •
10 сентября 2020 г.
11 493 просмотра •
12 сентября 2020 г.
18 133 просмотра •
20 сентября 2020 г.
6 609 просмотров •
7 октября 2020 г.
6 846 просмотров •
7 октября 2020 г.
6 650 просмотров •
7 октября 2020 г.
11 763 просмотра •
9 октября 2020 г.
16 414 просмотров •
20 октября 2020 г.
33 979 просмотров •
24 октября 2020 г.
10 827 просмотров •
6 ноября 2020 г.
12 735 просмотров •
7 ноября 2020 г.
Рустам Медведев
08.09.22 в 17:08
Крутой курс, работаю фронтэндером, захотел познать для себя миры бэкэнда. Мне очень нравится как ты, Дмитрий, круто подаешь материал. Клевые кейсы, клево разбираешь разные тонкости языка и инструментов, жду продолжения )