Московский клуб программистов
Московский клуб программистов
  • Видео 122
  • Просмотров 151 466
Кто может стать программистом
В прошлый раз не получилось, но мы собрались и... подкасту быть!
Присоединяйтесь в пятницу, 12 апреля в 19:00 на холиварный интерактивный подкаст: Кто может стать программистом?
В программе общение на грани эйджизма и сексизма, а также IQ шейминг.
Ведущими и собеседниками будут Марк и Нина.
Подключайтесь и сможете принять участие как эксперт, или попытаться закенселить ведущих.
Место проведения: телеграмм чат Московского клуба программистов
Время: 12 апреля, пятница, 19:00
Просмотров: 223

Видео

"Пишем качественный код" в Умном городе: как все прошло
Просмотров 777 месяцев назад
Онлайн трансляция доклада: ruclips.net/video/HIp7V7rdpXw/видео.html Music by Bensound License code: UWGBFXWU2Y2NXDAT
Ризотто от Светланы (гурманы-программисты снова в строю)
Просмотров 279Год назад
Ризотто от Светланы (гурманы-программисты снова в строю)
Плов от Марка (Как программисты отдыхают)
Просмотров 1 тыс.Год назад
Плов от Марка (Как программисты отдыхают)
АйтиШашлык
Просмотров 1692 года назад
АйтиШашлык
Мок-интервью
Просмотров 2382 года назад
Мок-интервью
Бесконечные последовательности и ленивые вычисления. F#, функциональное программирование (Часть II)
Просмотров 2302 года назад
Бесконечные последовательности и ленивые вычисления. F#, функциональное программирование (Часть II)
Быстрая сортировка на Rust по заветам TDD - сначала тесты, потом код
Просмотров 4212 года назад
Быстрая сортировка на Rust по заветам TDD - сначала тесты, потом код
Функции - полноправные объекты языка. Знакомимся с функциональными решениями на F# (Часть I)
Просмотров 3072 года назад
Функции - полноправные объекты языка. Знакомимся с функциональными решениями на F# (Часть I)
Как модульные тесты помогают при рефакторинге и зачем нужны тесты производительности
Просмотров 1492 года назад
Как модульные тесты помогают при рефакторинге и зачем нужны тесты производительности
История программирования, часть III - Архитектура фон Неймана и языки программирования
Просмотров 5782 года назад
История программирования, часть III - Архитектура фон Неймана и языки программирования
Continuous Integration - быстро чиним разработку
Просмотров 2482 года назад
Continuous Integration - быстро чиним разработку
Разговоры об архитектуре программ - Domain Driven Desing (DDD)
Просмотров 3022 года назад
Разговоры об архитектуре программ - Domain Driven Desing (DDD)
Разговоры об архитектуре программ - зачем вообще нужна архитектура?
Просмотров 3522 года назад
Разговоры об архитектуре программ - зачем вообще нужна архитектура?
Обсуждаем вопросы технических собеседований
Просмотров 2642 года назад
Обсуждаем вопросы технических собеседований
Как проводить технические собеседования?
Просмотров 6073 года назад
Как проводить технические собеседования?
Модульные тесты и рефакторинг
Просмотров 3883 года назад
Модульные тесты и рефакторинг
Вся правда о Soft Skills
Просмотров 8773 года назад
Вся правда о Soft Skills
Болташка про то, сколько работать на одном месте
Просмотров 1993 года назад
Болташка про то, сколько работать на одном месте
Болташка про то, как составлять резюме и проходить собеседования
Просмотров 2223 года назад
Болташка про то, как составлять резюме и проходить собеседования
Болташка про то, как оценивать себя и просить повышения
Просмотров 2423 года назад
Болташка про то, как оценивать себя и просить повышения
Болташка про выгорание
Просмотров 1413 года назад
Болташка про выгорание
Воркшоп по Redis
Просмотров 5053 года назад
Воркшоп по Redis
Реляционные и нереляционные базы данных
Просмотров 3,6 тыс.3 года назад
Реляционные и нереляционные базы данных
Процедурное, объектно-ориентированное, функциональное. Зачем?
Просмотров 9583 года назад
Процедурное, объектно-ориентированное, функциональное. Зачем?
Как программисту преподавать в вузе
Просмотров 1443 года назад
Как программисту преподавать в вузе
TypeScript. Зачем?
Просмотров 2283 года назад
TypeScript. Зачем?
Кодинг додзё. Практический семинар по TDD и чистому коду
Просмотров 1803 года назад
Кодинг додзё. Практический семинар по TDD и чистому коду
Программирование в ансамбле, практический вебинар по ТДД и моб программированию
Просмотров 2724 года назад
Программирование в ансамбле, практический вебинар по ТДД и моб программированию
Про функциональное программирование вообще и Haskell в частности
Просмотров 1,1 тыс.4 года назад
Про функциональное программирование вообще и Haskell в частности

Комментарии

  • @user-ts4sv4xk5p
    @user-ts4sv4xk5p День назад

    Второй докладчик плохо подготовился. Рассказывает медленно и неувлекательно

  • @valeronjack8449
    @valeronjack8449 Месяц назад

    слышно на один наушник , ужас

    • @wsxpocxeafx
      @wsxpocxeafx Месяц назад

      После 15 минут становится нормальный звук.

  • @user-mi4ww6wn2t
    @user-mi4ww6wn2t 2 месяца назад

    Спасибо за доклад! Очень интересно!

  • @PakshinaNina
    @PakshinaNina 2 месяца назад

    Спасибо за доклад, очень интересно и полезно!

  • @Legatdestr
    @Legatdestr 2 месяца назад

    Спасибо, про некоторые детали работы с fsync реально не знал

  • @Дмитрийсекрет-н7о
    @Дмитрийсекрет-н7о 2 месяца назад

    спасибо.

  • @4gkage
    @4gkage 2 месяца назад

    2:21 начало

  • @nikewhite4471
    @nikewhite4471 2 месяца назад

    Блин! Вместо того, чтобы показать готовую сборку, обрисовать общую картину, на примерах показать преимущества использования NixOS, гость погрузился в никому не нужные подробности. Лайк можно поставить только за знание русского языка.

    • @progmsk
      @progmsk 2 месяца назад

      Но ведь это про первое знакомство с NixOS. Кому может потребоваться готовая сборка при первом знакомстве?

    • @nikewhite4471
      @nikewhite4471 2 месяца назад

      @@progmsk Всем, кто любит Linux. Уверяю вас, даже многие опытные пользователи ничего не слышали о NixOS и не представляют как она выглядит. Нужно было сначала дать красивую картинку с тайлинговым оконным менеджером, показать преимущества OS: сломать ее и восстановить, перенести на другую машину и только потом дать краткое описание пакетного менеждера и языка nix, вообщем сначала заинтересовать обычного юзера. Большинство хотят пользоваться Linux, но испытывают проблемы с выбором дистрибутива и только некоторые будут, при этом, создавать пакеты и широко пользоваться языком. NixOS, как совершенная версия Arch - вот какая должна была быть идея первого видео. Как можно дальше развивать NixOS? Создавать специализированные графические окружения типа Omakub: отдельно для бабок, для продвинутых юзеров, для программистов, для дизайнеров и т.д. Нужны готовые решения и малый порог входа для развития экосистемы. Когда человек втянется, может быть дело и до языка nix дойдет.

    • @progmsk
      @progmsk 2 месяца назад

      Ну, не знаю, у нас канал не для пользователей, а для программистов. Тайлинговый оконный менеджер - это что-то на пользовательском. Что-то на программистском - интересный функциональный язык для описания конфигурации. Тем более, если в гости приходит Винсент, его имеет смысл спрашивать именно о программировании.

    • @nikewhite4471
      @nikewhite4471 2 месяца назад

      @@progmsk Ваше право.

  • @progmsk
    @progmsk 3 месяца назад

    Нина завела свой канал на ютубе, подписывайтесь: youtube.com/@pakshinanina

  • @progmsk
    @progmsk 3 месяца назад

    Нина завела свой канал на ютубе, подписывайтесь: youtube.com/@pakshinanina

  • @websystema
    @websystema 3 месяца назад

    Отличная лекция

  • @kurushkosimi7823
    @kurushkosimi7823 3 месяца назад

    Крутой доклад

  • @qwertgbvfd
    @qwertgbvfd 3 месяца назад

    Прекрасный доклад, отличный формат, спасибо за труд

  • @MrLotrus
    @MrLotrus 3 месяца назад

    Ссылка на презентацию уже недоступна.

    • @progmsk
      @progmsk 3 месяца назад

      Это мы перенесли слайды в хранилище GitHub. Новая ссылка: github.com/progmsk/progmsk.github.io/files/14963281/go-garbage-collection.pdf

  • @asari999
    @asari999 3 месяца назад

    21:30 ну проверять локально такое себе...

    • @progmsk
      @progmsk 3 месяца назад

      Не локально, а в локальной сети. Это разные вещи. Да и в целом, любая практическая проверка лучше, чем простая теория.

  • @BrownAleks
    @BrownAleks 4 месяца назад

    Огромное спасибо!

  • @BrownAleks
    @BrownAleks 4 месяца назад

    Огромное Вам спасибо! Супер познавательно! 👍👍👍

  • @vicont9089
    @vicont9089 4 месяца назад

    Думайте о слушателях. Выключайте звук, барабаня по клаве.

    • @progmsk
      @progmsk 4 месяца назад

      Вот даже просто интересно: как вы себе это представляете? Какой звук отключать, весь? Печатать молча, пусть зрители догадываются? Или как? Это очень странный комментарий, первый за четыре года. Кажется, никому раньше звук клавиш не мешал.

  • @maxpalatnikov
    @maxpalatnikov 4 месяца назад

    Отличный доклад на простом языке!!!

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil 4 месяца назад

    37:00 неверно. это обычная лямбда здесь it это т.н. неявное имя единственного параметра В котлине действительно есть понятие контекстных функций, которые упоминает автор, но это не замена лямбде, и здесь речь не про них. конкретно про filter из документации " В Kotlin условия фильтра задаются с помощью предикатов - лямбда-функций, которые принимают элемент коллекции, а возвращают логическое значение (boolean): true означает, что элемент соответствует предикату, false - не соответствует."

  • @stacmv
    @stacmv 4 месяца назад

    Имхо, недостаточно раскрыта тема обучения, кроме того, что сейчас надо джуну больше знать, чем раньше. А ведь процесс начельного обучения тоже менялся. Многие раньше начинали с Бейсика, сейчас вузы активно меняют Джаву на Питон. По моему это должно сильно влиять. Особенно на тех у кого склонность к программированию слабо или вообще не проявлена.

    • @user34user73
      @user34user73 4 месяца назад

      А зачем тогда таким людям становится программистами?

    • @stacmv
      @stacmv 4 месяца назад

      @@user34user73 зачем им читать, писать и считать? Навык программирования сейчас полезен всем, а не только тем, кто рабоатет программистом (тем, кто рабоатет программистом, навыка программирвоания сейчас недостаточно).

  • @romankolesnikov4373
    @romankolesnikov4373 5 месяцев назад

    а что за ОРЭО с рисованием на экране ?

    • @progmsk
      @progmsk 5 месяцев назад

      Можно чуть больше информации для ответа? Я спросил у гугла, что такое ОРЭО, он мне сказал, что это такой салон красоты. Рисования на экране я тоже не помню, кажется, всё делал в Visual Studio, какое там может быть рисование. Но может быть было что-то похожее, но мне, чтобы понять, придётся пересмотреть 2 часа видео. Скажите, на какой минуте хотя бы, попробую понять, о чём вопрос.

    • @romankolesnikov4373
      @romankolesnikov4373 4 месяца назад

      @@progmsk а вообще, очень всё хорошо рассказано, но как новичку мне хотелось бы больше таких аспектов как например "нам нужен поиск, и мы это реализуем такими конструкциями, как вариант мы могли бы это сделать вот другими, но это не безопасно, и т.д." но тем не менее, этот материал это то что оправдывает петабайты всего остального на этой платформе, огромное Вам спасибо.

    • @romankolesnikov4373
      @romankolesnikov4373 4 месяца назад

      @@progmsk ОРЭО это "на молодёжном слэнге" - баловство, сам недавно услышал )))

    • @progmsk
      @progmsk 4 месяца назад

      А, это было замечание про Zoom-вандалов? Да, был такое поветрие во время пандемии.

  • @alexanderkozlikhin
    @alexanderkozlikhin 5 месяцев назад

    Хороший доклад, дающий толчок к более глубокому самостоятельному изучению всех аспектов управления памятью в Go. Прекрасная докладчица! Одно все время напрягало - выступавшая с докладом девушка как будто дико стеснялась использовать грамотный литературный русский язык, не могла позволить себе говорить без речевых ошибок почти в каждом предложении. Может быть, это такая стилистика теперь, и это воспринимается как что-то официально-умное и вместе с тем неформально-ненапряжное в речи? Много у кого это вижу :)

  • @ЕленаКосова-я7ш
    @ЕленаКосова-я7ш 6 месяцев назад

    Обидно методу с While..... В первом примере....Так и не использовали.... )))

  • @pavelerokhin1512
    @pavelerokhin1512 6 месяцев назад

    спасибо!

  • @НикитаАнохин-ш4ю
    @НикитаАнохин-ш4ю 6 месяцев назад

    лучшая

  • @linkernick5379
    @linkernick5379 6 месяцев назад

    Винсент настолько приятный молодой человек, что его акцент только добавляет симпатии и ничуть не портит доклад. За Nix давно наблюдаю и пытаюсь использовать.

  • @Dr_Osipov
    @Dr_Osipov 6 месяцев назад

    ❤❤❤❤❤

  • @Trickster2208
    @Trickster2208 6 месяцев назад

    А как gc в первый раз вызывается? Изначально живая куча же 0 или я не прав?

  • @zurabdarjania1922
    @zurabdarjania1922 6 месяцев назад

    Спасибо за труд

  • @benjaminBTN
    @benjaminBTN 6 месяцев назад

    1:01 ПОЛЬЗОВАТЕЛЬСКАЯ ИСТОРИЯ: ПОКУПАТЕЛЬ ЗНАКОМИТСЯ С ОПИСАНИЕМ КНИГИ 3:10 GIT 6:15 добавление новых полей в Book.cs + доработка связанных классов 13:52 про MVC (контроллеры) 25:54 настройка представления Views/Search/Index 34:49 запуск 37:15 создание BookController.cs 44:44 создание представления Views/Book/Index 50:22 запуск 52:17 доработка (чистка) мастер-страницы и др. представлений 1:05:51 запуск 1:07:10 GIT 1:15:04 ПОЛЬЗОВАТЕЛЬСКАЯ ИСТОРИЯ: ПОКУПАТЕЛЬ ДОБАВЛЯЕТ КНИГУ В КОРЗИНУ 1:15:28 GIT 1:16:50 настройка Sturtup.cs для работы с сессиями 1:23:18 создание модели Cart.cs 1:25:32 добавление кнопки корзины в панели навигации 1:31:44 создание класса расширения SessionExtensions.cs 1:45:50 добавление кнопки "добавить в корзину" 1:47:58 использование паттерна try-get в шаблоне панели навигации 1:49:52 создание CartController.cs 1:54:50 запуск 1:56:09 GIT

  • @Лисёнок-ы6ч
    @Лисёнок-ы6ч 7 месяцев назад

    Большое спасибо за интересный и полезный доклад!

  • @GuglHyugl
    @GuglHyugl 7 месяцев назад

    Видео порезали, диалоги прерываются

    • @oriontvv
      @oriontvv 7 месяцев назад

      трансляция немного подлагивала, возможно это повлияло

    • @progmsk
      @progmsk 7 месяцев назад

      Речь про вставленное видео? Там по смыслу ничего не должно было пропасть, вырезали повторы и рассуждения вне темы. Пришлось резать, потому что наговорили на 30 минут, а перерыв должен был быть 20, иначе не укладывались.

  • @daveyjonesx
    @daveyjonesx 7 месяцев назад

    TDD не нужен.

  • @НаташаИбраева-о5з
    @НаташаИбраева-о5з 7 месяцев назад

    Здравствуйте, у меня ошибка выходит: InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'Shop.Web.App.OrderModel', but this ViewDataDictionary instance requires a model item of type 'BookShop.Contractors.Form'. хотя я весь код взяла из репозитория на git, перешерстила и вьюхи и контроллеры, не могу понять где ошибка, можете подсказать?

    • @progmsk
      @progmsk 7 месяцев назад

      Я навскидку тоже не понимаю. Где-то во ViewData добавлен объект OrderModel вместо Form, этот момент и надо смотреть.

    • @НаташаИбраева-о5з
      @НаташаИбраева-о5з 7 месяцев назад

      Добрый день, там элементарная подмена.... и она примелькалась просто, поэтому сразу не увидела в Store.Web в OrderController в NextPayment в строке: return View("Finish", model);, вместо model нужно form. @@progmsk

  • @scc-6
    @scc-6 8 месяцев назад

    Братан, хорош, давай-давай вперёд! Контент вообще в кайф, красавчик! Можно вот этого и того и почаще?

  • @scc-6
    @scc-6 8 месяцев назад

    Спасибо. Теперь понятно, почему свойства с большй буквы

  • @scc-6
    @scc-6 8 месяцев назад

    Спасибо большое, впервые поработал в ПоверШеле, обычно пользовался башем. Всё очень понятно обьяснили, обычно, появляются непонятки, рад, что узнал что-то новое, спасибо! Братан, хорош, давай-давай вперёд! Контент вообще в кайф, красавчик! Можно вот этого и того и почаще?

  • @Василий-е2ш4щ
    @Василий-е2ш4щ 8 месяцев назад

    Насколько я понимаю в котлине модификатор доступа по умолчанию паблик, потому намного меньше кода. Но это такое. ... и много того что в котлине упрощено и за счет чего меньше кода не значит что лучше

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 4 месяца назад

      Неаргументированно

    • @Василий-е2ш4щ
      @Василий-е2ш4щ 4 месяца назад

      @@Das.Kleine.Krokodil а ты то аргументировал ?

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 4 месяца назад

      @@Василий-е2ш4щ так это ты пишешь *"Но это такое. ... и много того что в котлине упрощено и за счет чего меньше кода не значит что лучше".* Что это значит? Ничего конкретно не сказал

    • @Василий-е2ш4щ
      @Василий-е2ш4щ 4 месяца назад

      @@Das.Kleine.Krokodil конкретизируй что именно хочешь услышать

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 4 месяца назад

      @@Василий-е2ш4щ я ничего не хочу услышать. Только написал что у тебя нет аргументов

  • @НаташаИбраева-о5з
    @НаташаИбраева-о5з 9 месяцев назад

    Здравствуйте, не могу найти обещанное на видео (1:39:39) дополнение после 5 урока, где должны были доделать заказы......понимаю прошло много времени, но мне только недавно попался ваш канал. если не трудно ссылочку скиньте пожалуйста.

    • @progmsk
      @progmsk 9 месяцев назад

      Здравствуйте. Промежуточное видео после 5-го занятия я так и не записал. Но наверное, в шестом видео про это что-то должно быть рассказано, если промежуточного видео не было.

    • @НаташаИбраева-о5з
      @НаташаИбраева-о5з 9 месяцев назад

      @@progmsk спасибо, буду искать, в крайнем случае на gite возьму. Я сразу там весть проект могу взять, но мне с объяснением желательно. Я пока что параллельно у себя проект создаю и он пока работает, что меня очень радует.

    • @progmsk
      @progmsk 9 месяцев назад

      Здорово. Удачи, чтобы и дальше всё получалось!

  • @batpyiiikob7245
    @batpyiiikob7245 9 месяцев назад

    спасибо - мой случай. Очень помогли. частенько контейнер отваливался аутофмемори :)

  • @PetrPichugin
    @PetrPichugin 9 месяцев назад

    Ну вот когда классно, тогда классно! Браво, Нина!! 👏 Получил огромное удовольствие и пользу от просмотра!

  • @sv3163
    @sv3163 10 месяцев назад

    В 99.9% случаев Кложа на Фронте не нужна. В остальных случаях - вы фанатичный опытный сениор и сможете фронт писать на чём угодно, хоть на ассемблере. Кложа прекрасна, фанатизм - нет. Нишевые инструменты не для всех, даже если они оч мощные в руках мастера 🧐

  • @АлександрВасильев-в1е
    @АлександрВасильев-в1е 10 месяцев назад

    Очень интересный доклад. Спасибо, Нина!

  • @ДмитрийНеботов
    @ДмитрийНеботов 10 месяцев назад

    кроме стека и кучи есть еще кэш процессора

    • @vova_dev
      @vova_dev 9 месяцев назад

      В каком контексте его можно здесь использовать?

  • @mikhailmusofranov3943
    @mikhailmusofranov3943 10 месяцев назад

    Спасибо большое. Но "утечка данных" у Яндекса бывает. А тут речь об утечке памяти.

    • @ninucium
      @ninucium 10 месяцев назад

      Спасибо за замечание, оговорилась)

  • @Shoakramova_N
    @Shoakramova_N 10 месяцев назад

    Еще один вопрос я самоучка и изучаю язык си шапр уже 8 месяцев. Смотрю видео уроки на ютуб и читаю разные статьи и книги. За это время изучила основу язика ООП html css bootstrap и немного JavaScript сейчас изучаю ASP Net по вашем видео роликам. Подскажите пожалуйста что надо учить после ASP Net что бы устроится на работу джуном или стажором составьте последовательность. Спасибо)

    • @progmsk
      @progmsk 10 месяцев назад

      Боюсь, я не смогу ответить на этот вопрос. Это всё-таки компетенция руководителей и HR'ов - кого они считают достаточно хорошими молодыми специалистами.

  • @Shoakramova_N
    @Shoakramova_N 10 месяцев назад

    Здравствуйте спасибо за прекрасный урок) У меня вопрос почему поле надо инициализировать с помощью конструктора? Зачем это делается?

    • @progmsk
      @progmsk 10 месяцев назад

      Конструкторы специально придумали для инициализации объектов. :)

    • @progmsk
      @progmsk 10 месяцев назад

      Но вообще, если говорить, зачем вообще нужна инициализация, то она помогает контролировать состояние объектов. Предполагается, что если мы создали объект (с помощью конструктора) и не было исключения, то объект находится в корректном состоянии. В том числе это означает, что все поля объекта имеют какое-то разумное значение, которые мы в конструкторе и указали. Затем, если мы меняем состояние объекта с помощью методов, объект остаётся в корректном состоянии. Если какие-то параметры были неправильными, или мы применили неправильную операцию, состояние объекта не меняется, он как был корректным, так и остаётся. Выбрасываем исключение и снова можем вернуться и сделать с объектом что-то другое. Именно это называется инкапсуляцией, по крайней мере, один из смыслов термина именно такой. Нельзя произвольно поменять состояние объекта и сделать его неправильным. Всё можно делать только через конструктор и методы, которые всегда сохраняют состояние корректным.

  • @Shoakramova_N
    @Shoakramova_N 10 месяцев назад

    урок отличный спасибо, но есть вопрос я пишу на Visual Studio 2022 и у меня .net 7.0 и там убрали класс Startup. Как мне теперь настраивать проект? Я самоучка и в этом плане еще не имею опыта

    • @progmsk
      @progmsk 10 месяцев назад

      Там всё похожее в классе Program. Должно быть более-менее одинаково. Если совсем непонятно, можно установить .NET 6 и создавать проект в Visual Studio, выбрав .NET 6.

    • @Shoakramova_N
      @Shoakramova_N 9 месяцев назад

      cпосибо@@progmsk

  • @benjaminBTN
    @benjaminBTN 10 месяцев назад

    ТАЙМ-КОДЫ (в помощь учащимся): 0:34 введение 3:34 GIT 6:22 что такое "Пользовательские истории" 9:12 ПОЛЬЗОВАТЕЛЬСКАЯ ИСТОРИЯ: ПОСЕТИТЕЛЬ ИЩЕТ КНИГУ ПО НАЗВАНИЮ 21:48 GIT - создание проекта (решения) 29:00 начало работы в Visual Studio 35:01 создание сущности Book.cs 42:39 GIT 46:04 про абстрагирование базы данных 49:01 создание интерфейса IBookRepository.cs 54:39 GIT 57:43 создание уровня инфраструктуры 1:02:14 создание BookRepository.cs 1:10:27 GIT 1:12:22 создание уровня представления 1:13:46 первый запуск приложения 1:15:49 GIT 1:21:03 добавление формы для поиска на главную страницу 1:22:14 создание SearchController.cs 1:26:15 создание страницы представления с результатами поиска 1:28:26 запуск 1:29:17 регистрация интерфейса репозитория и его реализации в Startup.cs 1:31:17 запуск 1:32:27 GIT 1:36:07 обсуждение