Насколько качественно подана информация, настолько же и качественно сделан видеоряд: переход от простого к сложному, анимированная схема, зрительный контакт с автором, спокойная музыка - всё на высоте. Спасибо.
Можно про REST пожалуйста ! Ты очень хорошо объясняешь, это редкость, когда хороший программист умеет так понятно объяснять. Спасибо большое за контент!
а че там объяснять? Это стиль запросов от фронта к бэку - в одном направлении. Делится на список возможных операций: GET, POST, PUT, PATCH, DELETE - гет на получение данных, пост - на отправку данных, для создание сущностей, PUT/PATCH - для обновления данных существующей сущности (например смена Никнейма у существующего юзера), DELETE - удаление юзера. Во всех запросах кроме GET, дополнительные данные передаются в body запроса. В GET боди нету, конкретизировать выдачу можно по QueryParametres. Я может не грамотно вообще сказал. Однако на практике этого понимания достаточно.
@@52RK Как неправильно на практике люди стали использовать слово функционал(отображение из произвольного множества в произвольное, не обязательно числовое, кольцо) вместо "функциональность" , точно так же неправильно используют REST. Почему то все этим словом называют список приведенных вами запросов и пользуются ими как хотят. Редко кто заморачивается делать именно REST - от англ. REpresentational State Transfer - «передача репрезентативного состояния» или «передача „самоописываемого“ состояния». Т.е. при получении сущности в случае REST ответ должен содержать в себе все ссылки на изменение этой сущности, удаление, и прочие методы над сущностью А то, что люди чаще всего называют "REST", есть лишь часть методов HTTP запроса. Минутка душноты окончена.
И тут я, новичок, который только собрался сделать свой первый "серьёзный" пет проект (4-ый по счёту с начала обучения) с подключением к веб форме и базам данных... посмотрел на это всё и пошёл закурил... Очень круто и интересно было посмотреть, про многие вещи я вообще не имел никакого представления и даже простой просмотр данного видео был очень познавательным и открыл глаза на многие вещи и как в целом строятся современные веб приложения. Огромное спасибо автору.
@@Ilm1n Приветствую ). Если в двух словах, то первым проектом я сделал калькулятор для расчётов в одной браузерной онлайн игре, второй и третий проект были посвящены совмещению данных из xml файлов, я это делал для сообщества по Civ4. Сейчас 4-м проектом делаю тестовый сайт знакомств, просто в формате пет проекта ). Ниже я напишу более развёрнуто, вдруг кому-то будет интересно почитать мой опыт учёбы, может кого-то даже вдохновит продолжать учиться )
Первый проект я сделал когда только начал изучать C# и освоил только массивы и WinForms чтобы сделать какой-то интерфейс. Я тогда играл в браузерную онлайн игру Forge of Empires (не реклама) и решил сделать калькулятор по расчёту стоимости прокачки Великих Строений. Задумка оказалась очень востребованной и проект сразу пошёл по рукам от одного человека к другому, но у него был существенный недостаток, даже два: 1. Он требовал установки .NET Framework, с чем мало кто хотел заморачиваться, ну и второй следует из первого - мой проект работал только под Windows. Игра была кроссплатформенной и многие играли с мобилок, поэтому, просто не могли пользоваться моим приложением, а я просто ещё даже не думал о мобильных приложениях или веб сайтах, поэтому, вскоре, нашлись умельцы, которые просто скопировали мою идею, и косо-криво, с кучей ошибок, сделали свой сайт с похожим калькулятором. Сайт назвали FoE-Tools. Забавно, что даже в моём приложении тех ошибок с расчётами не было =D. Позже, кто-то сделал уже третью версию калькулятора для этой игры в формате расширения для браузера, но началось всё именно с моего калькулятора. Второй проект я тоже делал для игрового сообщества, но уже на форуме цив фанатиков. Я тогда играл в мод к Civ4 под названием Caveman2Cosmos и у игрового сообщества возникла проблема. Данный мод выходил только на англ языке и русское сообщество занималось переводом, но мод был очень большим и там были тысячи записей и текстом в xml файлах, а обновлялся мод очень часто. Беда была в том, что разрабы мода иногда меняли структуру своих xml файлов с текстом, что-то добавляли, что-то удаляли, что-то переносили в другие файлы, в итоге, старые файлы не подходили к новой версии мода и переводчикам приходилось начинать весь перевод с полного нуля! Я подумал, что можно ведь просто сопоставить файлы, провести поиск по тексту или тегам (потому что сам текст тоже содержал теги и часто менялся) и программно перебросить перевод из старых файлов в новые. Я делал это накануне НГ, да и хотел поскорее сделать, так как связался с переводчиками и был с ними постоянно на связи, поэтому, писал консольный скрипт с узкой направленностью исключительно на эту игру. Теги поменять было нельзя, шаг вправо - шаг влево и всё, ничего бы не работало. Я понимал, что делаю неправильно, но хотел поскорее выполнить задачу, а доводить проект до ума уже потом. В итоге, я сделал программу и в однопотоке, она за 10 минут нашла и перенесла все записи из старой версии в новую. То, что переводчики делали полгода - год, моя программа делала за 10 минут (нужно было сопоставить две папки по 200 файлов с тысячами записей)! Это позволило переносить перевод на каждую новую версию в тот же день, а в какой-то момент, мы даже разрабам передали мои обработанные файлы с уже русским переводом и русскую локализацию включили в сам мод. Хах, на этом, переводчики забили на дальнейший перевод мода =D. Третий проект я стал делать уже на основе второго, тоже по объединению xml файлов, но на этот раз я уже стал делать проект как надо, чтоб он был гибким и можно было настроить под любую структуру файла. Честно говоря, я недооценил объём работы третьего проекта... Первый проект, суммарно, насчитывал где-то 150-200 строк кода. Второй 500-600. А третий 3700 строк рабочего кода и ещё по меньшей мере столько же того, что я писал, переписывал и делал тестовые проекты. Причём, я сразу делал проект расширяемым, модульным, прикрутил перекрёстный многопоток чтобы быстрее обрабатывать данные (получился неплохой стресс тест для процессора) и было много дополнительных идей. В одном третьем проекте по работе с xml файлами я собирался объединить сразу несколько программ, например, сюда же подключить и яндекс с гугл переводчиками чтобы локализаторы могли прям в приложении искать текст без перевода, получать машинный перевод (без копирования в переводчик и обратно), править и вносить его в xml файлы одним нажатием кнопки или вовсе без него "слепым" машинным переводом без корректировки. В итоге, часть с переводом я пока не доделал, это потребует ещё около 1500-3000 строк кода, а я захотел освоить ASP .NET Core и сделать свой сайт. В итоге, я стал искать как вообще устроены сайты и мне попалось это видео с архитектурой. Честно говоря, я ужаснулся )). Все мои приложения были самостоятельными, без связей с другими приложениями и даже без подключения к базам данных, которые я изучил сильно позже после своих проектов. Но, как говорится, глаза боятся, а руки делают ). Решил сделать свой тестовый сайт знакомств, будет эдакий пет проект ). Можно будет пощупать много новых технологий, которые я раньше не использовал. Сейчас веб интерфейс верстаю. До начала, я даже HTML, CSS и JS ни разу не щупал =D. За месяц, базовые вещи подучил, потренировался по видосам и стал уже своё делать. Как закончу с вёрсткой фронта, быстро построю базу данных и потом уже начну на C# писать бекенд на ASP. Попробую разбить на микросервисы, как тут в видео говорится. Авторизация и регистрация отдельно, анкеты пользователей отдельно, поиск анкет тоже отдельно, чат с сообщениями тоже отдельным микросервисом. А потом это всё связать по WEB API. В общем, наметил себе учебный проект, офигел и с восхищенным ужасом и потихоньку делаю )). По крайней мере, в ходе создания этого всего, я изучу как это всё устроено. Прошу знающих людей сильно не судить мои бредни, я ведь только учусь и экспериментирую, даже не знаю как правильно и у меня нет никого кто бы подсказал )
@@Ilm1n Если в двух словах, то первый проект был калькулятором для одной браузерной игры, второй и третий проекты были обработчиками xml файлов чтобы найти недостающие записи из одного файла и перебросить их в другой, а сейчас, 4-ым проектом, я делаю сайт знакомств, тестовый конечно, просто чтобы изучить новые технологии и попробовать реализовать микроархитектуру. Ниже я это всё более подробно пишу, просто там будет много буков и не всем такой формат нравится, да и не всем интересно ).
Первый проект я сделал когда только начал изучать C# и освоил только массивы и WinForms чтобы сделать какой-то интерфейс. Я тогда играл в браузерную онлайн игру Forge of Empires (не реклама) и решил сделать калькулятор по расчёту стоимости прокачки Великих Строений. Задумка оказалась очень востребованной и проект сразу пошёл по рукам от одного человека к другому, но у него был существенный недостаток, даже два: 1. Он требовал установки .NET Framework, с чем мало кто хотел заморачиваться, ну и второй следует из первого - мой проект работал только под Windows. Игра была кроссплатформенной и многие играли с мобилок, поэтому, просто не могли пользоваться моим приложением, а я просто ещё даже не думал о мобильных приложениях или веб сайтах, поэтому, вскоре, нашлись умельцы, которые просто скопировали мою идею, и косо-криво, с кучей ошибок, сделали свой сайт с похожим калькулятором. Сайт назвали FoE-Tools. Забавно, что даже в моём приложении тех ошибок с расчётами не было =D. Позже, кто-то сделал уже третью версию калькулятора для этой игры в формате расширения для браузера, но началось всё именно с моего калькулятора. Второй проект я тоже делал для игрового сообщества, но уже на форуме цив фанатиков. Я тогда играл в мод к Civ4 под названием Caveman2Cosmos и у игрового сообщества возникла проблема. Данный мод выходил только на англ языке и русское сообщество занималось переводом, но мод был очень большим и там были тысячи записей и текстом в xml файлах, а обновлялся мод очень часто. Беда была в том, что разрабы мода иногда меняли структуру своих xml файлов с текстом, что-то добавляли, что-то удаляли, что-то переносили в другие файлы, в итоге, старые файлы не подходили к новой версии мода и переводчикам приходилось начинать весь перевод с полного нуля! Я подумал, что можно ведь просто сопоставить файлы, провести поиск по тексту или тегам (потому что сам текст тоже содержал теги и часто менялся) и программно перебросить перевод из старых файлов в новые. Я делал это накануне НГ, да и хотел поскорее сделать, так как связался с переводчиками и был с ними постоянно на связи, поэтому, писал консольный скрипт с узкой направленностью исключительно на эту игру. Теги поменять было нельзя, шаг вправо - шаг влево и всё, ничего бы не работало. Я понимал, что делаю неправильно, но хотел поскорее выполнить задачу, а доводить проект до ума уже потом. В итоге, я сделал программу и в однопотоке, она за 10 минут нашла и перенесла все записи из старой версии в новую. То, что переводчики делали полгода - год, моя программа делала за 10 минут (нужно было сопоставить две папки по 200 файлов с тысячами записей)! Это позволило переносить перевод на каждую новую версию в тот же день, а в какой-то момент, мы даже разрабам передали мои обработанные файлы с уже русским переводом и русскую локализацию включили в сам мод. Хах, на этом, переводчики забили на дальнейший перевод мода =D. Третий проект я стал делать уже на основе второго, тоже по объединению xml файлов, но на этот раз я уже стал делать проект как надо, чтоб он был гибким и можно было настроить под любую структуру файла. Честно говоря, я недооценил объём работы третьего проекта... Первый проект, суммарно, насчитывал где-то 150-200 строк кода. Второй 500-600. А третий 3700 строк рабочего кода и ещё по меньшей мере столько же того, что я писал, переписывал и делал тестовые проекты. Причём, я сразу делал проект расширяемым, модульным, прикрутил перекрёстный многопоток чтобы быстрее обрабатывать данные (получился неплохой стресс тест для процессора) и было много дополнительных идей. В одном третьем проекте по работе с xml файлами я собирался объединить сразу несколько программ, например, сюда же подключить и яндекс с гугл переводчиками чтобы локализаторы могли прям в приложении искать текст без перевода, получать машинный перевод (без копирования в переводчик и обратно), править и вносить его в xml файлы одним нажатием кнопки или вовсе без него "слепым" машинным переводом без корректировки. В итоге, часть с переводом я пока не доделал, это потребует ещё около 1500-3000 строк кода, а я захотел освоить ASP .NET Core и сделать свой сайт. В итоге, я стал искать как вообще устроены сайты и мне попалось это видео с архитектурой. Честно говоря, я ужаснулся )). Все мои приложения были самостоятельными, без связей с другими приложениями и даже без подключения к базам данных, которые я изучил сильно позже после своих проектов. Но, как говорится, глаза боятся, а руки делают ). Решил сделать свой тестовый сайт знакомств, будет эдакий пет проект ). Можно будет пощупать много новых технологий, которые я раньше не использовал. Сейчас веб интерфейс верстаю. До начала, я даже HTML, CSS и JS ни разу не щупал =D. За месяц, базовые вещи подучил, потренировался по видосам и стал уже своё делать. Как закончу с вёрсткой фронта, быстро построю базу данных и потом уже начну на C# писать бекенд на ASP. Попробую разбить на микросервисы, как тут в видео говорится. Авторизация и регистрация отдельно, анкеты пользователей отдельно, поиск анкет тоже отдельно, чат с сообщениями тоже отдельным микросервисом. А потом это всё связать по WEB API. В общем, наметил себе учебный проект, офигел и с восхищенным ужасом и потихоньку делаю )). По крайней мере, в ходе создания этого всего, я изучу как это всё устроено. Прошу знающих людей сильно не судить мои бредни, я ведь только учусь и экспериментирую, даже не знаю как правильно и у меня нет никого кто бы подсказал )
Подписался. Крайне наглядно и понятно объяснил архитектуру бэкэнда, не просто "кэш нужен чтобы был кэш потому что это современный стандарт в индустрии", а с причинами на примере эволюции решений в серверной части. Еще и слушать приятно. Ну мечта, а не блогер.
Чувак ! Ты красавчик! Спасибо тебе огромное за твои труды! Я больше часа сидел открыв рот залипал, на столько всё понятно и интересно! Схематично , просто и с примерами! Видео в ТОП ! Однозначно!
Бомбически! Параллельно ещё и своеобразная эволюция бека! Подписан, но это видео не смотрел. Походу, в названии отпугнуло слово Пет! Чисто меня привлёк бы заголовок "Развитие проектов на Беке", но все мы разные. Порекомендовали, посмотрел и обалдел... + тайминг = шедеврально!!! Влад - гигант!!!
Одно из немногих видео, которое не пришлось смотреть в ускорении. Очень качественная подача информации, ещё и понятными словами на понятных примерах. Действительно появилось представление как что устроено. Огромное спасибо автору!
Это мой первый комментарий на ютубе, просто потому что хотела написать, что это одно из самых лучших видео для начинающих в айти! Видно, что проделана огромная качественная работа. Также хотела подметить о шикарнейшей подаче материала, мне кажется вы созданы быть ментором 😄 Спасибо за ваш труд!
Это лучшее видео про backend, которое вообще можно найти в интернете. Такие красивые анимации, качество звука, подача, всё настолько компактно и по пунктам сказано! Спасибо, очень информативное и полезное видео. Ещё очень понравилось, что показал значками при анимации и также словами где какая технология используется, просто супер. Видно, автор знает о чём говорит, специалист, благодарочка и лайкос!
Очень ценное видео. Спасибо за такое подробное описание системы и примеров программ, которые применяются для реализации технологий. Я все глубже и глубже начинаю понимать детали и рефлексирую про свои прошлые проекты. Понимаю, что я мог быть намного эффективнее, если бы изучал эту информацию раньше. Огромная благодарность за такой полезный материал и доступную подачу🎉
@@Вячеслав-ж1т9ь А есть ли смысл в реальных условиях дробить монолитное приложение на несколько микросервисов но (пока) держать их на одной машине? ну то есть грубо говоря сразу выстраивать архитектуру с заделом на будущее или типа того
Преждевременная оптимизация -- настоящее зло. Проект скорее всего умрёт от излишних трат ресурсов. Если вся нагрузка может держаться одной машиной, то лучше сделать монолит с правильным разделением модулей. При появлении нагрузки заскелить весь монолит. И, если и когда достигните реально большой нагрузки в каком-то одном модуле, выделить его в отдельный микросервис
Скоро, чтобы вкатиться в ИТ придется выучить 6 ЯП, 10 фреймворков, написать полнофункциональный аналог Амазона, и только тогда ты можешь рассчитывать на позицию джуна. А по поводу видео - просто блеск, всё разложено по полочкам, понятно объяснено: что и почему делалось и к чему пришли на данный момент.
Забавно, что даже в этом подобном видео ещё много чего упущено для упрощения: контейнеризация, обнаружение, dns балансировка, секреты, конфигурации, саги (распределённые транзакции), разделение бд по сервисам, шардирование, региональное разделение сервисов и тд и тп)
Я просмотрел наверное сотни видео про IT, но не было ни одного где бы общая картина чего-то(тут backend) объяснялась настолько полно, просто, правильно и легко. Шедевр, без сомнения. Смотрится на одном дыхании и оторваться невозможно.
Спасибо тебе большое, просто в кратные разы стало понятнее как это работает, отдельное спасибо визуальное сопровождение, а то больнова-то ударился об бек 😅
Это было супер полезное и ценное видео, спасибо! Наконец-то хаос различных терминов в моей голове выстроился в понятную структуру. Все благодаря Вам, спасибо!
Очень понравилось, что приводятся конкретные технологии для разных частей системы (redis, kafka, nginx, Kibana, Grafana...). Очень ценная информация даже для опытных программистов 🙂
Спасибо!!! Все прям интересно, особенно графика помогает. Очень не хватало таких видео в 2015 году, когда новичок в IT вообще был в шоке что и зачем работает)
Какое отличное и понятное объяснение, мне обычно тяжело объяснить людям, которые далеки от программирования, сетей и т.п, чем мы занимаемся, но такой подход возьму на заметку
Hello from Uzbekistan, I've learned a lot from this video, This is like reading entire book about web architecture. I will implement these knowledge when I start my own saas, Thanks again,
Невозможно. Я вижу туториал, в котором не ограничивается все Ну смотрите есть днс он на ваш вдс указывает, вдс запущен бекенд, бекенд имеет кеш и базу данных - все, современное приложение готово. Конечно по таймлайну, я еще ролик полностью не глянул, не все аспекты обсуждаются, но я уже безумно рад, что такой контент, которого мне в моем старте не хватало, появляется. Максимальное уважение) Комплексно это сложно найти, а идти и слушать лекции хайлоада не все смогут, как по мне такой контент раз в 500 больше делает для программистов, чем 5000 видео Python с нуля
Бро я не знаю откуда ты взялся в моей ленте,но проще чем ты мне еще никто не разжевывал никогда.Я тестировщик и кучу всего просмотрел и прочитал чтобы понять как многие вещи работают на бэке. .Если бы я тебя встретил пару лет назад,то стал бы тимлидом гораздо раньше😁Респект👍
Случайно наткнулся на видео. Автор очень хорошо объясняет простыми словами, то что все остальные пропускают, предполагая что все это знают. Огромный респект и жду новых видео!!!
спасибо. предельно доходчиво. моя собака все поняла, теперь осталось купить ей клавиатуру адаптированную под лапки и можно делегировать мелкие задачки) жаль в свое время до меня так информацию не доносили.
Однозначно лайк, очень круто!) Освежились знания, из книги с кабанчиком. Было бы очень интересно прослушать от тебя подробнее про репликацию, шардинг и транзакции в распределенных системах)
Настолько понятно, что это уже не просто разжеванный материал, а расщепленный на атомы. Можно первоклашкам в школе ставить. Спасибо! Однозначно подписка)
Крутейшее видео! Must have для новичков! Про S3 очень неоднозначное определение и описание. S3 - НЕ база данных для файлов, + предоставление доступа по ссылке тоже с оговорками. Новички, которые не понимают сути, будут на собесах говорить про БД для файлов ))) Так же как и HDD не является БД для файлов.
Кроме этого важно отметить, кроме размера файлов - это крайне низкая стоимость, надежность, и почти безграничное увеличение размера этого хранилища автоматически. т.е. при сравнении с сервером, вам не нужно докидывать диски, следить, чтобы диски не выходили из строя, чтобы файлы случайно не потерялись, etc.
Спасибо за видео) Очень информативно и простыми словами. Шёл сюда в основном узнать что такое брокер сообщений, но было не лишним повторить и всё остальное
Огромное спасибо за труд и видео. *Просто офигенная суперполезная лекция* (особенно для фаундеров проектов, продактов, кому НАДО знать "базу", но не всегда нужно (скорее, даже наоборот) заплывать вглубь каждого отдельного блока. Подписка.
До этого я больше чем 3 компонента в одном проекте и не представлял даже. И до этого только представление о том, как и что с чем работает внутри приложения, поражало и захватывало дух. Благодаря этому детальному и доступному разбору, теперь бэкенд нравится мне ещё больше
Как фронтенд разработчик я однажды залез в менеджерскую кабалу, которая называется позиция tech lead так вот это видео я добавил бы как обязательное к просмотру в ramping инструкцию в проект, именно хотя бы на таком концептуальном уровне должно быть понимание даже у фронтенд разработчика. Технологии развиваются очень быстро, уследить и разобраться абсолютно во всем никакого времени не хватит, я был свидетелем как монолит распиливают на микросервисы и по-началу поплыл от того что появились какие-то кабаны с барсуканами и кейклоаки, именно такого видео очень не хватало, чтобы всё структурировать
слишком ошибочно думать что микросервисы - это грааль для увеличения пропускной способности, нет. Так же ошибочно думать что монолит - это всегда 1 запущенное приложение. Тут приводится в пример 3 микросервиса как пример разгрузить 1 монолит, но с большой вероятностью эти все 3 микросервиса будут находиться на 1 физической машине и так же ее нагружать(как и монолит), только приплюсуйте сюда проблемы которые привносят микросервисы 1) Идут уже распределенные транзакции, которые решаются куда более сложными паттернами 2) Сборка(вам потребуется уже не один девопсер) и, в принципе, разработка архитектурных решений для них 3) Распределенные трейсинги 4) Version delivery n) и много много всего остального Если же в примере это 3 разных(Физических!) сервера, то никто и не запрещает на них запустить тот же самый монолит и балансировать нагрузку по ним И нет, если сгорел 1 сервер и отвалился всего лишь 1 микросервис(причем единственный) - это не плюс микросервисной архитектуры, это проблемная архитектура
Не со всем согласен. 1) Микросервисы нужны не для решения проблемы нагрузки. Никто не мешает запустить несколько инстансов одного и того же приложения на разных серверах. Основные бонусы которые дают микросервисы, это более явное разделение границ (например по доменным облостям), независимый деплой и разнообразные языки программирования. Также можно выносить какие-то высоконагруженные части приложения, чтобы масштабировать только их. 2) На схеме показано, как несколько разных микросервисов ходят в одну и ту же БД, это по сути антипаттерн, так лучше не делать. 3) Про базы как-то не до конца расскрыто... Иногда лучше на старте выбрать noSQL решение, например если не до конца понятна предметная область и структура данных будет часто меняться. И SQL также можно масштабировать хоть и посложнее, например шардировать данные
Классное дополнение к ролику, сложно делать контент, ничего не упустив, все мы люди) Спасибо что написал конструктивную критику, 1,3 пункт краткие, но сколько ценной информации содержат) А вот к пункту 2 есть вопросы, так как иметь одну базу для разных микросервисов не есть антипаттерном, по скольку бд, в частности постгрес, сейчас очень эффективно используют ресурсы, и архитектуры, как на видео, часто достаточно, для не слишком высоконагруженных систем с миллионным трафиком. Не забываем что в базе данных можно использовать разные схемы) Я хочу сказать, что каждый случай индивидуальный, нельзя всё под одну гребёнку гребсти)
Как объяснять понятно: - Все аббревиатуры при первом упоминании нужно расшифровывать. (Пример: SQL - (Structured Query Language) ) - Все слова на иностранном языке желательно перевести на русский. (Прим.: SQL - (Structured Query Language) - язык структурированных запросов) - Переводить и расшифровывать слова желательно вплоть до этимологии. То же относится и к составным словам. А потом пояснять, что данные термины значат. Как хорошо, что в этом видео многое из перечисленного уже есть. И всё очень понятно объясняется👍
мужик,наверное это первый комментарий на ютубе за несколько лет,просто лютейшая имба за одно видео буквально объяснил все тему с бекендом для того чтобы было полное понимание как это все работает,спасибо тебе за труд!успехов тебе
Очень полезное видео все просто и понятно. Благодарю за полезный контент. Хотелось бы увидеть как ты разрабатываешь какой нибудь фуллстек проэкт будет очень занимательно и полезно для нас.
в целом все отлично, но есть пара нюансов: 49:00 - пример неудачный, т.к отправку запросов уведомлений можно сделать в отдельном потоке(или даже в том же, если есть event loop и non blocking клиент) без брокеров и в таком случае пользователь не будет ждать. И про load balancer - походу спутали с api gateway
Хорошее видео, спасибо за труд! Мне кажется если рассматривать именно пет-проект, то не учтён ещё один важный компонент - это генератор нагрузки от пользователей на систему. Потому что вся эта красивая архитектура проявит себя только под высокой нагрузкой. А если разработчик будет тыкать такой проект сам, и разошлёт ещё 2-3 друзьям, то они не почувствуют разницу между всем этим и обычным монолитом, запущенным на одной распберри пай)
@@dmitrykoklyagin2916 спасибо за совет) правда у меня комментарий был не про то, что я не знаю какими библиотеками пользоваться, чтобы эмулировать нагрузки. А про то, что на мой взгляд такая подсистема должна быть неотъемлемой частью пет-проекта, о котором рассказывает автор. И логично было бы увидеть её в схеме, разобранной в данном видео.
@@stanislavrodionov4008 сорри, к часу ночи не разобрал смысл вопроса. На самом деле, это уже скорее не к разработчикам, а к нам (qa), и думаю, скорее это стоит искать в подкастах автоматизации тестирования и qa-load. Хотя если бы Влад разобрал это на уровне "как быстро поднять контейнер(ы), из которого будет литься нагрузка", было бы офигенно. Или, мне стоит попробовать сделать такое видео самому.
Насколько качественно подана информация, настолько же и качественно сделан видеоряд: переход от простого к сложному, анимированная схема, зрительный контакт с автором, спокойная музыка - всё на высоте. Спасибо.
К качество , когда человек на серьезных щах говорит что нужен кеш для часто обновляемых данных =) ну да ну да уровень синьор помидор годовалого стажа
@@ВасилийПостников-щ6зты его не понял, он не в этом смысле говорил
@@ВасилийПостников-щ6з ты его не понял, он не это имел ввиду
@@ВасилийПостников-щ6зон не это имел ввиду
@@ВасилийПостников-щ6з а для чего он нужен?
Сложно переоценить, сколько труда вложено, чтобы сделать анимацию и подобрать правильные слова, чтобы объяснить настолько доступно 👍
Можно про REST пожалуйста ! Ты очень хорошо объясняешь, это редкость, когда хороший программист умеет так понятно объяснять. Спасибо большое за контент!
У тим ліди його свободно можно брати з такими качествами
Якiсть**@@denchik553
а че там объяснять? Это стиль запросов от фронта к бэку - в одном направлении.
Делится на список возможных операций: GET, POST, PUT, PATCH, DELETE - гет на получение данных, пост - на отправку данных, для создание сущностей, PUT/PATCH - для обновления данных существующей сущности (например смена Никнейма у существующего юзера), DELETE - удаление юзера.
Во всех запросах кроме GET, дополнительные данные передаются в body запроса. В GET боди нету, конкретизировать выдачу можно по QueryParametres.
Я может не грамотно вообще сказал. Однако на практике этого понимания достаточно.
@@52RK Как неправильно на практике люди стали использовать слово функционал(отображение из произвольного множества в произвольное, не обязательно числовое, кольцо) вместо "функциональность" , точно так же неправильно используют REST. Почему то все этим словом называют список приведенных вами запросов и пользуются ими как хотят. Редко кто заморачивается делать именно REST - от англ. REpresentational State Transfer - «передача репрезентативного состояния» или «передача „самоописываемого“ состояния». Т.е. при получении сущности в случае REST ответ должен содержать в себе все ссылки на изменение этой сущности, удаление, и прочие методы над сущностью
А то, что люди чаще всего называют "REST", есть лишь часть методов HTTP запроса.
Минутка душноты окончена.
@@denchik553 *вільно, *якостями
Лучшее видео про Бекенд, которое я когда-либо видел. Больше полезной информации чем за 4 курса в вузе.
И тут я, новичок, который только собрался сделать свой первый "серьёзный" пет проект (4-ый по счёту с начала обучения) с подключением к веб форме и базам данных... посмотрел на это всё и пошёл закурил... Очень круто и интересно было посмотреть, про многие вещи я вообще не имел никакого представления и даже простой просмотр данного видео был очень познавательным и открыл глаза на многие вещи и как в целом строятся современные веб приложения. Огромное спасибо автору.
Привет, какие первые 3 проекта писали?
@@Ilm1n Приветствую ). Если в двух словах, то первым проектом я сделал калькулятор для расчётов в одной браузерной онлайн игре, второй и третий проект были посвящены совмещению данных из xml файлов, я это делал для сообщества по Civ4. Сейчас 4-м проектом делаю тестовый сайт знакомств, просто в формате пет проекта ). Ниже я напишу более развёрнуто, вдруг кому-то будет интересно почитать мой опыт учёбы, может кого-то даже вдохновит продолжать учиться )
Первый проект я сделал когда только начал изучать C# и освоил только массивы и WinForms чтобы сделать какой-то интерфейс. Я тогда играл в браузерную онлайн игру Forge of Empires (не реклама) и решил сделать калькулятор по расчёту стоимости прокачки Великих Строений. Задумка оказалась очень востребованной и проект сразу пошёл по рукам от одного человека к другому, но у него был существенный недостаток, даже два: 1. Он требовал установки .NET Framework, с чем мало кто хотел заморачиваться, ну и второй следует из первого - мой проект работал только под Windows. Игра была кроссплатформенной и многие играли с мобилок, поэтому, просто не могли пользоваться моим приложением, а я просто ещё даже не думал о мобильных приложениях или веб сайтах, поэтому, вскоре, нашлись умельцы, которые просто скопировали мою идею, и косо-криво, с кучей ошибок, сделали свой сайт с похожим калькулятором. Сайт назвали FoE-Tools. Забавно, что даже в моём приложении тех ошибок с расчётами не было =D. Позже, кто-то сделал уже третью версию калькулятора для этой игры в формате расширения для браузера, но началось всё именно с моего калькулятора. Второй проект я тоже делал для игрового сообщества, но уже на форуме цив фанатиков. Я тогда играл в мод к Civ4 под названием Caveman2Cosmos и у игрового сообщества возникла проблема. Данный мод выходил только на англ языке и русское сообщество занималось переводом, но мод был очень большим и там были тысячи записей и текстом в xml файлах, а обновлялся мод очень часто. Беда была в том, что разрабы мода иногда меняли структуру своих xml файлов с текстом, что-то добавляли, что-то удаляли, что-то переносили в другие файлы, в итоге, старые файлы не подходили к новой версии мода и переводчикам приходилось начинать весь перевод с полного нуля! Я подумал, что можно ведь просто сопоставить файлы, провести поиск по тексту или тегам (потому что сам текст тоже содержал теги и часто менялся) и программно перебросить перевод из старых файлов в новые. Я делал это накануне НГ, да и хотел поскорее сделать, так как связался с переводчиками и был с ними постоянно на связи, поэтому, писал консольный скрипт с узкой направленностью исключительно на эту игру. Теги поменять было нельзя, шаг вправо - шаг влево и всё, ничего бы не работало. Я понимал, что делаю неправильно, но хотел поскорее выполнить задачу, а доводить проект до ума уже потом. В итоге, я сделал программу и в однопотоке, она за 10 минут нашла и перенесла все записи из старой версии в новую. То, что переводчики делали полгода - год, моя программа делала за 10 минут (нужно было сопоставить две папки по 200 файлов с тысячами записей)! Это позволило переносить перевод на каждую новую версию в тот же день, а в какой-то момент, мы даже разрабам передали мои обработанные файлы с уже русским переводом и русскую локализацию включили в сам мод. Хах, на этом, переводчики забили на дальнейший перевод мода =D. Третий проект я стал делать уже на основе второго, тоже по объединению xml файлов, но на этот раз я уже стал делать проект как надо, чтоб он был гибким и можно было настроить под любую структуру файла. Честно говоря, я недооценил объём работы третьего проекта... Первый проект, суммарно, насчитывал где-то 150-200 строк кода. Второй 500-600. А третий 3700 строк рабочего кода и ещё по меньшей мере столько же того, что я писал, переписывал и делал тестовые проекты. Причём, я сразу делал проект расширяемым, модульным, прикрутил перекрёстный многопоток чтобы быстрее обрабатывать данные (получился неплохой стресс тест для процессора) и было много дополнительных идей. В одном третьем проекте по работе с xml файлами я собирался объединить сразу несколько программ, например, сюда же подключить и яндекс с гугл переводчиками чтобы локализаторы могли прям в приложении искать текст без перевода, получать машинный перевод (без копирования в переводчик и обратно), править и вносить его в xml файлы одним нажатием кнопки или вовсе без него "слепым" машинным переводом без корректировки. В итоге, часть с переводом я пока не доделал, это потребует ещё около 1500-3000 строк кода, а я захотел освоить ASP .NET Core и сделать свой сайт. В итоге, я стал искать как вообще устроены сайты и мне попалось это видео с архитектурой. Честно говоря, я ужаснулся )). Все мои приложения были самостоятельными, без связей с другими приложениями и даже без подключения к базам данных, которые я изучил сильно позже после своих проектов. Но, как говорится, глаза боятся, а руки делают ). Решил сделать свой тестовый сайт знакомств, будет эдакий пет проект ). Можно будет пощупать много новых технологий, которые я раньше не использовал. Сейчас веб интерфейс верстаю. До начала, я даже HTML, CSS и JS ни разу не щупал =D. За месяц, базовые вещи подучил, потренировался по видосам и стал уже своё делать. Как закончу с вёрсткой фронта, быстро построю базу данных и потом уже начну на C# писать бекенд на ASP. Попробую разбить на микросервисы, как тут в видео говорится. Авторизация и регистрация отдельно, анкеты пользователей отдельно, поиск анкет тоже отдельно, чат с сообщениями тоже отдельным микросервисом. А потом это всё связать по WEB API. В общем, наметил себе учебный проект, офигел и с восхищенным ужасом и потихоньку делаю )). По крайней мере, в ходе создания этого всего, я изучу как это всё устроено. Прошу знающих людей сильно не судить мои бредни, я ведь только учусь и экспериментирую, даже не знаю как правильно и у меня нет никого кто бы подсказал )
@@Ilm1n Если в двух словах, то первый проект был калькулятором для одной браузерной игры, второй и третий проекты были обработчиками xml файлов чтобы найти недостающие записи из одного файла и перебросить их в другой, а сейчас, 4-ым проектом, я делаю сайт знакомств, тестовый конечно, просто чтобы изучить новые технологии и попробовать реализовать микроархитектуру. Ниже я это всё более подробно пишу, просто там будет много буков и не всем такой формат нравится, да и не всем интересно ).
Первый проект я сделал когда только начал изучать C# и освоил только массивы и WinForms чтобы сделать какой-то интерфейс. Я тогда играл в браузерную онлайн игру Forge of Empires (не реклама) и решил сделать калькулятор по расчёту стоимости прокачки Великих Строений. Задумка оказалась очень востребованной и проект сразу пошёл по рукам от одного человека к другому, но у него был существенный недостаток, даже два: 1. Он требовал установки .NET Framework, с чем мало кто хотел заморачиваться, ну и второй следует из первого - мой проект работал только под Windows. Игра была кроссплатформенной и многие играли с мобилок, поэтому, просто не могли пользоваться моим приложением, а я просто ещё даже не думал о мобильных приложениях или веб сайтах, поэтому, вскоре, нашлись умельцы, которые просто скопировали мою идею, и косо-криво, с кучей ошибок, сделали свой сайт с похожим калькулятором. Сайт назвали FoE-Tools. Забавно, что даже в моём приложении тех ошибок с расчётами не было =D. Позже, кто-то сделал уже третью версию калькулятора для этой игры в формате расширения для браузера, но началось всё именно с моего калькулятора. Второй проект я тоже делал для игрового сообщества, но уже на форуме цив фанатиков. Я тогда играл в мод к Civ4 под названием Caveman2Cosmos и у игрового сообщества возникла проблема. Данный мод выходил только на англ языке и русское сообщество занималось переводом, но мод был очень большим и там были тысячи записей и текстом в xml файлах, а обновлялся мод очень часто. Беда была в том, что разрабы мода иногда меняли структуру своих xml файлов с текстом, что-то добавляли, что-то удаляли, что-то переносили в другие файлы, в итоге, старые файлы не подходили к новой версии мода и переводчикам приходилось начинать весь перевод с полного нуля! Я подумал, что можно ведь просто сопоставить файлы, провести поиск по тексту или тегам (потому что сам текст тоже содержал теги и часто менялся) и программно перебросить перевод из старых файлов в новые. Я делал это накануне НГ, да и хотел поскорее сделать, так как связался с переводчиками и был с ними постоянно на связи, поэтому, писал консольный скрипт с узкой направленностью исключительно на эту игру. Теги поменять было нельзя, шаг вправо - шаг влево и всё, ничего бы не работало. Я понимал, что делаю неправильно, но хотел поскорее выполнить задачу, а доводить проект до ума уже потом. В итоге, я сделал программу и в однопотоке, она за 10 минут нашла и перенесла все записи из старой версии в новую. То, что переводчики делали полгода - год, моя программа делала за 10 минут (нужно было сопоставить две папки по 200 файлов с тысячами записей)! Это позволило переносить перевод на каждую новую версию в тот же день, а в какой-то момент, мы даже разрабам передали мои обработанные файлы с уже русским переводом и русскую локализацию включили в сам мод. Хах, на этом, переводчики забили на дальнейший перевод мода =D. Третий проект я стал делать уже на основе второго, тоже по объединению xml файлов, но на этот раз я уже стал делать проект как надо, чтоб он был гибким и можно было настроить под любую структуру файла. Честно говоря, я недооценил объём работы третьего проекта... Первый проект, суммарно, насчитывал где-то 150-200 строк кода. Второй 500-600. А третий 3700 строк рабочего кода и ещё по меньшей мере столько же того, что я писал, переписывал и делал тестовые проекты. Причём, я сразу делал проект расширяемым, модульным, прикрутил перекрёстный многопоток чтобы быстрее обрабатывать данные (получился неплохой стресс тест для процессора) и было много дополнительных идей. В одном третьем проекте по работе с xml файлами я собирался объединить сразу несколько программ, например, сюда же подключить и яндекс с гугл переводчиками чтобы локализаторы могли прям в приложении искать текст без перевода, получать машинный перевод (без копирования в переводчик и обратно), править и вносить его в xml файлы одним нажатием кнопки или вовсе без него "слепым" машинным переводом без корректировки. В итоге, часть с переводом я пока не доделал, это потребует ещё около 1500-3000 строк кода, а я захотел освоить ASP .NET Core и сделать свой сайт. В итоге, я стал искать как вообще устроены сайты и мне попалось это видео с архитектурой. Честно говоря, я ужаснулся )). Все мои приложения были самостоятельными, без связей с другими приложениями и даже без подключения к базам данных, которые я изучил сильно позже после своих проектов. Но, как говорится, глаза боятся, а руки делают ). Решил сделать свой тестовый сайт знакомств, будет эдакий пет проект ). Можно будет пощупать много новых технологий, которые я раньше не использовал. Сейчас веб интерфейс верстаю. До начала, я даже HTML, CSS и JS ни разу не щупал =D. За месяц, базовые вещи подучил, потренировался по видосам и стал уже своё делать. Как закончу с вёрсткой фронта, быстро построю базу данных и потом уже начну на C# писать бекенд на ASP. Попробую разбить на микросервисы, как тут в видео говорится. Авторизация и регистрация отдельно, анкеты пользователей отдельно, поиск анкет тоже отдельно, чат с сообщениями тоже отдельным микросервисом. А потом это всё связать по WEB API. В общем, наметил себе учебный проект, офигел и с восхищенным ужасом и потихоньку делаю )). По крайней мере, в ходе создания этого всего, я изучу как это всё устроено. Прошу знающих людей сильно не судить мои бредни, я ведь только учусь и экспериментирую, даже не знаю как правильно и у меня нет никого кто бы подсказал )
Подписался. Крайне наглядно и понятно объяснил архитектуру бэкэнда, не просто "кэш нужен чтобы был кэш потому что это современный стандарт в индустрии", а с причинами на примере эволюции решений в серверной части. Еще и слушать приятно. Ну мечта, а не блогер.
Чувак ! Ты красавчик! Спасибо тебе огромное за твои труды! Я больше часа сидел открыв рот залипал, на столько всё понятно и интересно! Схематично , просто и с примерами! Видео в ТОП ! Однозначно!
Бомбически! Параллельно ещё и своеобразная эволюция бека! Подписан, но это видео не смотрел. Походу, в названии отпугнуло слово Пет! Чисто меня привлёк бы заголовок "Развитие проектов на Беке", но все мы разные.
Порекомендовали, посмотрел и обалдел... + тайминг = шедеврально!!!
Влад - гигант!!!
Молодец! С душой делал, чувствуется.
Одно из немногих видео, которое не пришлось смотреть в ускорении. Очень качественная подача информации, ещё и понятными словами на понятных примерах. Действительно появилось представление как что устроено. Огромное спасибо автору!
А я бы наоборот сказал, что все настолько легко и понятно объясняется автором, что я спокойно прослушал на 2x
Это мой первый комментарий на ютубе, просто потому что хотела написать, что это одно из самых лучших видео для начинающих в айти! Видно, что проделана огромная качественная работа. Также хотела подметить о шикарнейшей подаче материала, мне кажется вы созданы быть ментором 😄 Спасибо за ваш труд!
Это лучшее видео про backend, которое вообще можно найти в интернете.
Такие красивые анимации, качество звука, подача, всё настолько компактно и по пунктам сказано!
Спасибо, очень информативное и полезное видео. Ещё очень понравилось, что показал значками при анимации и также словами где какая технология используется, просто супер.
Видно, автор знает о чём говорит, специалист, благодарочка и лайкос!
это шлак от нубозоида, в части пет проектов. Деза можно сказать вредная. Антипаттерн
Это не лучшее видео про бэкенд ровно по тому, что автор плохо знает историю развития приложений и транслирует свой незначительный опыт как знание
@@alexanderkhayev5793можно подробнее?)
Очень ценное видео. Спасибо за такое подробное описание системы и примеров программ, которые применяются для реализации технологий. Я все глубже и глубже начинаю понимать детали и рефлексирую про свои прошлые проекты. Понимаю, что я мог быть намного эффективнее, если бы изучал эту информацию раньше. Огромная благодарность за такой полезный материал и доступную подачу🎉
Как же круто, что есть такие люди, как Влад, и они делают такой хороший образовательный контент! Спасибо!
Главное с таким пет-проектом - иметь работу, чтобы оплачивать все серваки, которые у вас задействованы под лоадбалансеры, микросервисы и репликации.
Waaat 😅, docker compose и вперёд хоть на ноуте) речь же про пет проект и показать архитектуру, а не суровый энтерпрайзный прод.
@@Вячеслав-ж1т9ь А есть ли смысл в реальных условиях дробить монолитное приложение на несколько микросервисов но (пока) держать их на одной машине? ну то есть грубо говоря сразу выстраивать архитектуру с заделом на будущее или типа того
Преждевременная оптимизация -- настоящее зло.
Проект скорее всего умрёт от излишних трат ресурсов. Если вся нагрузка может держаться одной машиной, то лучше сделать монолит с правильным разделением модулей. При появлении нагрузки заскелить весь монолит.
И, если и когда достигните реально большой нагрузки в каком-то одном модуле, выделить его в отдельный микросервис
Не один русскоязычный блогер не объясняет так просто и понятно! Да ещё и с анимациями для наглядности. Спасибо большое!
Скоро, чтобы вкатиться в ИТ придется выучить 6 ЯП, 10 фреймворков, написать полнофункциональный аналог Амазона, и только тогда ты можешь рассчитывать на позицию джуна.
А по поводу видео - просто блеск, всё разложено по полочкам, понятно объяснено: что и почему делалось и к чему пришли на данный момент.
Забавно, что даже в этом подобном видео ещё много чего упущено для упрощения: контейнеризация, обнаружение, dns балансировка, секреты, конфигурации, саги (распределённые транзакции), разделение бд по сервисам, шардирование, региональное разделение сервисов и тд и тп)
@@electrowheels + CI/CD
@@soul_lonelinessэто тебе нахер сдалось
@@челик-р2д полезно знать инструменты доставки и развертывания для автоматизации, чем ручками каждый раз мутить одно и тоже
@@челик-р2д чтоб с собеседования не выгнали
Никогда не пишу комментарии, но я должен написать. Четка ясно одним словом: ИМБА!!!
Большое спасибо за видео! Всё очень доступно и по полочкам разложили. Хоть я и не на Java программирую, но, пожалуй, подпишусь. ) Успехов!!
Я просмотрел наверное сотни видео про IT, но не было ни одного где бы общая картина чего-то(тут backend) объяснялась настолько полно, просто, правильно и легко. Шедевр, без сомнения. Смотрится на одном дыхании и оторваться невозможно.
Спасибо тебе большое, просто в кратные разы стало понятнее как это работает, отдельное спасибо визуальное сопровождение, а то больнова-то ударился об бек 😅
Это было супер полезное и ценное видео, спасибо! Наконец-то хаос различных терминов в моей голове выстроился в понятную структуру. Все благодаря Вам, спасибо!
Очень понравилось, что приводятся конкретные технологии для разных частей системы (redis, kafka, nginx, Kibana, Grafana...). Очень ценная информация даже для опытных программистов 🙂
Мне очень заходят ваши видео. Очень информативно.)
Хоть я и пишу на Java, нот все равно интересно послушать про Java и пет-проекты.)
Неплохой обзор бэкенда, одобряю! Слишком подробно для меня, подойдёт новичкам, которые вообще ничего про айти не знают
Спасибо!!! Все прям интересно, особенно графика помогает. Очень не хватало таких видео в 2015 году, когда новичок в IT вообще был в шоке что и зачем работает)
Какое отличное и понятное объяснение, мне обычно тяжело объяснить людям, которые далеки от программирования, сетей и т.п, чем мы занимаемся, но такой подход возьму на заметку
Отличное видео , на многое открыл глаза и закрыл множество вопросов , так держать❤
Hello from Uzbekistan, I've learned a lot from this video, This is like reading entire book about web architecture. I will implement these knowledge when I start my own saas, Thanks again,
Хотел бы я в начале своих разработок лицезреть данный ролик😅
Очень классная подача информации
Одно из лучших видео по теме простым языком, большое спасибо за качественный контент!
Невозможно. Я вижу туториал, в котором не ограничивается все
Ну смотрите есть днс он на ваш вдс указывает, вдс запущен бекенд, бекенд имеет кеш и базу данных - все, современное приложение готово. Конечно по таймлайну, я еще ролик полностью не глянул, не все аспекты обсуждаются, но я уже безумно рад, что такой контент, которого мне в моем старте не хватало, появляется. Максимальное уважение) Комплексно это сложно найти, а идти и слушать лекции хайлоада не все смогут, как по мне такой контент раз в 500 больше делает для программистов, чем 5000 видео Python с нуля
такие видео лишь плодят конкурентов и добивают и так уже дохлый рынок джунов))
Прямо то, что мне нужно было для понимания. Благодарю, всё простым и понятным языком объяснено.
Смотрел видос, на 25 минуте сделал паузу на пару дней, разбирался с редисс, щяс дальше смотрим 😁
Лучшая подача сложного и ёмкого материала на доступном уровне! Автору низкий поклон за вдохновляющий труд!
Очень грамотное изложение материала. Большое спасибо. Вы отличный преподаватель.
Бро я не знаю откуда ты взялся в моей ленте,но проще чем ты мне еще никто не разжевывал никогда.Я тестировщик и кучу всего просмотрел и прочитал чтобы понять как многие вещи работают на бэке. .Если бы я тебя встретил пару лет назад,то стал бы тимлидом гораздо раньше😁Респект👍
Случайно наткнулся на видео. Автор очень хорошо объясняет простыми словами, то что все остальные пропускают, предполагая что все это знают. Огромный респект и жду новых видео!!!
Труд титанический вложен💪🏻
Жаль у меня таких уроков не было в школе. Спасибо что пилишь такой контент в бесплатный доступ
спасибо. предельно доходчиво. моя собака все поняла, теперь осталось купить ей клавиатуру адаптированную под лапки и можно делегировать мелкие задачки) жаль в свое время до меня так информацию не доносили.
Это лучший контент, на который я натыкался в ютубе
Однозначно лайк, очень круто!) Освежились знания, из книги с кабанчиком. Было бы очень интересно прослушать от тебя подробнее про репликацию, шардинг и транзакции в распределенных системах)
Спасибо оч круто дополнил мои небольшие пробелы знаний.
лайк подписка колокольчик) оч приятно слушать, на 1 дыхании посмотрел
Кайфанул. Теперь понятно из чего состоит бекенд по задачам)
Просто шедевр! Огромный респект!
Красавчик, все отлично рассказал и речь чистая, структурированная!
Настолько понятно, что это уже не просто разжеванный материал, а расщепленный на атомы. Можно первоклашкам в школе ставить. Спасибо! Однозначно подписка)
Ого я только что взялся за свой первый полноценный проект и тут выходит это видео. Мне явно повезло, спасибо.
Крутейшее видео! Must have для новичков!
Про S3 очень неоднозначное определение и описание. S3 - НЕ база данных для файлов, + предоставление доступа по ссылке тоже с оговорками. Новички, которые не понимают сути, будут на собесах говорить про БД для файлов ))) Так же как и HDD не является БД для файлов.
Кроме этого важно отметить, кроме размера файлов - это крайне низкая стоимость, надежность, и почти безграничное увеличение размера этого хранилища автоматически. т.е. при сравнении с сервером, вам не нужно докидывать диски, следить, чтобы диски не выходили из строя, чтобы файлы случайно не потерялись, etc.
Спасибо за видео)
Очень информативно и простыми словами.
Шёл сюда в основном узнать что такое брокер сообщений, но было не лишним повторить и всё остальное
Влад, подсел на твой канал. Информацию великолепно подаёшь. Спасибо тебе! Лайк и подписка.
можно поключить все сервисы Амазона и сказать какой я молодец. Все своими руками сделал )). И все сложно - настоящий про.
Огромное спасибо за труд и видео. *Просто офигенная суперполезная лекция* (особенно для фаундеров проектов, продактов, кому НАДО знать "базу", но не всегда нужно (скорее, даже наоборот) заплывать вглубь каждого отдельного блока. Подписка.
Как всегда все понятно и без воды. Спасибо, Влад. Максимально полезный канал для начинающего разработчика.
Это - хрестоматийно, надо включать в обязательные программы. Спасибо, одна из редких подписок.
До этого я больше чем 3 компонента в одном проекте и не представлял даже. И до этого только представление о том, как и что с чем работает внутри приложения, поражало и захватывало дух. Благодаря этому детальному и доступному разбору, теперь бэкенд нравится мне ещё больше
сейм
Как фронтенд разработчик я однажды залез в менеджерскую кабалу, которая называется позиция tech lead так вот это видео я добавил бы как обязательное к просмотру в ramping инструкцию в проект, именно хотя бы на таком концептуальном уровне должно быть понимание даже у фронтенд разработчика. Технологии развиваются очень быстро, уследить и разобраться абсолютно во всем никакого времени не хватит, я был свидетелем как монолит распиливают на микросервисы и по-началу поплыл от того что появились какие-то кабаны с барсуканами и кейклоаки, именно такого видео очень не хватало, чтобы всё структурировать
А потом появляется дьявол в деталях и потребность в узких специалистах 😊
Лучшее видео, которое я видел. Опыт 14 лет
Для новичков контент очень даже хороший. Спасибо
слишком ошибочно думать что микросервисы - это грааль для увеличения пропускной способности, нет. Так же ошибочно думать что монолит - это всегда 1 запущенное приложение. Тут приводится в пример 3 микросервиса как пример разгрузить 1 монолит, но с большой вероятностью эти все 3 микросервиса будут находиться на 1 физической машине и так же ее нагружать(как и монолит), только приплюсуйте сюда проблемы которые привносят микросервисы
1) Идут уже распределенные транзакции, которые решаются куда более сложными паттернами
2) Сборка(вам потребуется уже не один девопсер) и, в принципе, разработка архитектурных решений для них
3) Распределенные трейсинги
4) Version delivery
n) и много много всего остального
Если же в примере это 3 разных(Физических!) сервера, то никто и не запрещает на них запустить тот же самый монолит и балансировать нагрузку по ним
И нет, если сгорел 1 сервер и отвалился всего лишь 1 микросервис(причем единственный) - это не плюс микросервисной архитектуры, это проблемная архитектура
Пользуюсь Графаной, из видео теперь понял от куда и как приходит данные в графану 😀
😁
Отличное видео! Разжевал все просто как для самых маленьких)) Так и нужно!!!
Спасибо, автор, вы молодец и делаете очень все грамотно. Благодарю за ликбез!
Спасибо огромнейшее Вам, впервые что-то полезное за последнее время в ленте
Дай бог тебе здоровья и процветания. Все разложил и разжевал 👍
Спасибо за разбор проекта Ты лучший бэкенд разработчик молодец ❤❤❤❤
Не со всем согласен.
1) Микросервисы нужны не для решения проблемы нагрузки. Никто не мешает запустить несколько инстансов одного и того же приложения на разных серверах. Основные бонусы которые дают микросервисы, это более явное разделение границ (например по доменным облостям), независимый деплой и разнообразные языки программирования. Также можно выносить какие-то высоконагруженные части приложения, чтобы масштабировать только их.
2) На схеме показано, как несколько разных микросервисов ходят в одну и ту же БД, это по сути антипаттерн, так лучше не делать.
3) Про базы как-то не до конца расскрыто... Иногда лучше на старте выбрать noSQL решение, например если не до конца понятна предметная область и структура данных будет часто меняться. И SQL также можно масштабировать хоть и посложнее, например шардировать данные
Да как ты смеешь перечить разработчику с 7 годами опыта, работающему в одной из лучших компаний мираааа 😂😂
Классное дополнение к ролику, сложно делать контент, ничего не упустив, все мы люди) Спасибо что написал конструктивную критику, 1,3 пункт краткие, но сколько ценной информации содержат)
А вот к пункту 2 есть вопросы, так как иметь одну базу для разных микросервисов не есть антипаттерном, по скольку бд, в частности постгрес, сейчас очень эффективно используют ресурсы, и архитектуры, как на видео, часто достаточно, для не слишком высоконагруженных систем с миллионным трафиком. Не забываем что в базе данных можно использовать разные схемы) Я хочу сказать, что каждый случай индивидуальный, нельзя всё под одну гребёнку гребсти)
За анимированную схему я бы поставила двойной лайк! ❤
Вам бы свою онлайн-школу открывать ✨
У тебя получается рассказывать. Ты нашел своего слушателя в моем лице :)
Как объяснять понятно:
- Все аббревиатуры при первом упоминании нужно расшифровывать.
(Пример: SQL - (Structured Query Language) )
- Все слова на иностранном языке желательно перевести на русский.
(Прим.: SQL - (Structured Query Language) - язык структурированных запросов)
- Переводить и расшифровывать слова желательно вплоть до этимологии. То же относится и к составным словам.
А потом пояснять, что данные термины значат.
Как хорошо, что в этом видео многое из перечисленного уже есть. И всё очень понятно объясняется👍
мужик,наверное это первый комментарий на ютубе за несколько лет,просто лютейшая имба
за одно видео буквально объяснил все тему с бекендом для того чтобы было полное понимание как это все работает,спасибо тебе за труд!успехов тебе
Очень интересно было смотреть, не мог оторваться. Сразу же подписался на канал, хотя редко так делаю)
Классное объяснения технологий и решаемых ими задач! Для обзорного ознакомления мне понравилось!
Ты очень круто объясняешь. От души!)
На пальцах объяснил, четко и понятно. Молодца. Спасибо!
Замечательное видео. Всегда было интересно, откуда у таких людей появляются силы и желание снимать подобные видео.
Спасибо огромное за подобное видео! Очень много полезной информации по архитектуре! Спасибо!
Шикарное видео 👍
Боюсь представить сколько усилий приложено , чтобы сделать такие видео как у тебя
Очень полезное видео все просто и понятно. Благодарю за полезный контент. Хотелось бы увидеть как ты разрабатываешь какой нибудь фуллстек проэкт будет очень занимательно и полезно для нас.
Информация подана отлично но мега до хрена вопросов, в целом харош.
Много полезной информации, анимация топчик. Большое спасибо за проделанный труд!
Один из самых полезных видосов по ит
в целом все отлично, но есть пара нюансов: 49:00 - пример неудачный, т.к отправку запросов уведомлений можно сделать в отдельном потоке(или даже в том же, если есть event loop и non blocking клиент) без брокеров и в таком случае пользователь не будет ждать. И про load balancer - походу спутали с api gateway
Отличное видео! Спасибо большое за разъяснение общей архитектуры
ты просто космос Влад, спасибо тебе за лучшие видео делай их больше, почему у тебя так мало просмотров? такой качественный контент а просмотров мало
Огромное спасибо за прекрасную подачу материала: все предельно понятно и наглядно!
Хорошее видео, спасибо за труд! Мне кажется если рассматривать именно пет-проект, то не учтён ещё один важный компонент - это генератор нагрузки от пользователей на систему. Потому что вся эта красивая архитектура проявит себя только под высокой нагрузкой. А если разработчик будет тыкать такой проект сам, и разошлёт ещё 2-3 друзьям, то они не почувствуют разницу между всем этим и обычным монолитом, запущенным на одной распберри пай)
python - requests или jmeter Вам в помощь.
@@dmitrykoklyagin2916 спасибо за совет) правда у меня комментарий был не про то, что я не знаю какими библиотеками пользоваться, чтобы эмулировать нагрузки. А про то, что на мой взгляд такая подсистема должна быть неотъемлемой частью пет-проекта, о котором рассказывает автор. И логично было бы увидеть её в схеме, разобранной в данном видео.
@@stanislavrodionov4008 сорри, к часу ночи не разобрал смысл вопроса. На самом деле, это уже скорее не к разработчикам, а к нам (qa), и думаю, скорее это стоит искать в подкастах автоматизации тестирования и qa-load. Хотя если бы Влад разобрал это на уровне "как быстро поднять контейнер(ы), из которого будет литься нагрузка", было бы офигенно. Или, мне стоит попробовать сделать такое видео самому.
Очень классное видео, у вас талант объяснять простыми и доступными словами! Ждём видео про REST)
Видео действительно очень ценное для меня. Спасибо 😊
Спасибо тебе! Бро, ещё больше! Больше всего! Мне мало!!!
Спасибо за Ваш труд! Коммент в поддержку канала.
❤очень полезная информация, все рассказанно очень понятным языком! жаль что не наткнулась на подобное об"яснение года 2 назад
пет проект на вакансию сеньйора) 😵💫😲 спасибо. отличное видео. очень много инфы 👍
Норм вводная для джунов! Заберу в копилку чтобы новичкам шарить.
Спасибо огромное за то что делаешь такой интересный контент с такой приятной подачей. Ты мотивирует меня учиться. ❤
Максимальное уважение 🫡 лайк, подписка 🔥
Спасибо, реально крутая подача материала 👍, видно что старались и готовились к видео
Очень крутое и полезное видео. Все понятно, простыми словами такие сложные вещи. Буду ждать еще подобных видео от Вас.
Спасибо огромное, это было очень интересно и познавательно!!