Просто программист
Просто программист
  • Видео 52
  • Просмотров 31 874
Entity Framework Core (Блок 1)
- введение
- первое приложение с использованием EF Core
- моделирование БД
- операции чтения
- операции изменения
репозиторий с исходными кодами: github.com/RadmirT/EFCore
обучающий материал по SQL: www.w3schools.com/sql/sql_intro.asp
список поддерживаемых БД: docs.microsoft.com/en-us/ef/core/providers
Просмотров: 195

Видео

#1 ManageApp
Просмотров 63019 часов назад
Форма для отправки кода на ревью docs.google.com/forms/d/e/1FAIpQLSexMYOIBTFgsNtTSN5R_lYapmYWVwdRnCTWR5RTj4GX4mBKeA/viewform
Асинхронное программирование на C# (Блок 10)
Просмотров 23321 день назад
Язык параллельных запростов PLINQ Статья Speedup in PLINQ: learn.microsoft.com/en-us/dotnet/standard/parallel-programming/understanding-speedup-in-plinq Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 9 часть 6)
Просмотров 1342 месяца назад
-Внутреннее устройство коллекции ConcurrentDictionary Исходный код коллекции ConcurrentDictionary: github.com/dotnet/runtime/blob/main/src/libraries/System.Collections.Concurrent/src/System/Collections/Concurrent/ConcurrentDictionary.cs Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 9 часть 5)
Просмотров 1782 месяца назад
Потокобезопасная коллекция ConcurrentDictionary Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 9 часть 4)
Просмотров 2163 месяца назад
- параллельная работа с потокобезопасными коллекциями Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 9 часть 3)
Просмотров 6054 месяца назад
- класс Parallel Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 9 часть 2)
Просмотров 2715 месяцев назад
- шаблон Produces-Consumer - интерфейс IProducerConsumerCollection - класс BlockingCollection Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 9 часть 1)
Просмотров 3316 месяцев назад
Потокобезопасные коллекции -ConcurrentQueue -ConcurrentStack -ConcurrentBag Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 8 часть 5)
Просмотров 1726 месяцев назад
- прогресс асинхронных операций статья "Do I need to dispose of Tasks? "devblogs.microsoft.com/pfxteam/do-i-need-to-dispose-of-tasks/ Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 8 часть 4)
Просмотров 2017 месяцев назад
-скоординированная отмена в продолжениях -блокировки Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 8 часть 3)
Просмотров 2347 месяцев назад
- скоординированная отмена Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 8 часть 2)
Просмотров 2538 месяцев назад
- обработка исключений Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 8 часть 1)
Просмотров 2989 месяцев назад
- обработка исключений Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 7 часть 4)
Просмотров 2619 месяцев назад
- Асинхронные метода для рабаты с async await - Ограничения использования async await Репозиторий с исходными кодами примеров: github.com/RadmirT/AsyncProgramming
Асинхронное программирование на C# (Блок 7 часть 3)
Просмотров 39610 месяцев назад
Асинхронное программирование на C# (Блок 7 часть 3)
Асинхронное программирование на C# (Блок 7 часть 2)
Просмотров 37211 месяцев назад
Асинхронное программирование на C# (Блок 7 часть 2)
Асинхронное программирование на C# (Блок 7 часть 1)
Просмотров 347Год назад
Асинхронное программирование на C# (Блок 7 часть 1)
Асинхронное программирование на C# (Блок 6 часть 5)
Просмотров 247Год назад
Асинхронное программирование на C# (Блок 6 часть 5)
Асинхронное программирование на C# (Блок 6 часть 4)
Просмотров 368Год назад
Асинхронное программирование на C# (Блок 6 часть 4)
Асинхронное программирование на C# (Блок 6 часть 3)
Просмотров 335Год назад
Асинхронное программирование на C# (Блок 6 часть 3)
Асинхронное программирование на C# (Блок 6 часть 2)
Просмотров 347Год назад
Асинхронное программирование на C# (Блок 6 часть 2)
Асинхронное программирование на C# (Блок 6 часть 1)
Просмотров 448Год назад
Асинхронное программирование на C# (Блок 6 часть 1)
Асинхронное программирование на C# (Блок 5 часть 4)
Просмотров 400Год назад
Асинхронное программирование на C# (Блок 5 часть 4)
Асинхронное программирование на C# (блок 5 часть 3)
Просмотров 431Год назад
Асинхронное программирование на C# (блок 5 часть 3)
Асинхронное программирование на C# (блок 5 часть 2)
Просмотров 579Год назад
Асинхронное программирование на C# (блок 5 часть 2)
Асинхронное программирование на C# (блок 5 часть 1)
Просмотров 938Год назад
Асинхронное программирование на C# (блок 5 часть 1)
Асинхронное программирование на C# (блок 4)
Просмотров 697Год назад
Асинхронное программирование на C# (блок 4)
Асинхронное программирование на C# (блок 3)
Просмотров 1,1 тыс.Год назад
Асинхронное программирование на C# (блок 3)
ASP NET Core (блок 6 часть 1)
Просмотров 301Год назад
ASP NET Core (блок 6 часть 1)

Комментарии

  • @maximgubanov7475
    @maximgubanov7475 День назад

    Отличный доклад, ждём продолжения.

  • @olegjordan7527
    @olegjordan7527 2 дня назад

    Спасибо за курс! Вы крутой

  • @olegjordan7527
    @olegjordan7527 4 дня назад

    Спасибо за урок

  • @olegjordan7527
    @olegjordan7527 4 дня назад

    Спасибо за урок

  • @olegjordan7527
    @olegjordan7527 5 дней назад

    В конце немного не понятно почему лучше использовать блокирущий вызов Parallel в ранних версиях чем оборачивать его в таску ради асихронщины?

    • @RadmirT
      @RadmirT 5 дней назад

      Потому что асинхронное выполнение этих методов не дает никакого приимущества, кроме дополнительного оверхеда. Parallel будет все выпольнять во вторичных потока и как правило "захватит" все доступные ядра,а Task.Run просто захватит еще один поток из пула, и тут же его "заморозит". Единственное когда, вам оборачивание Parrallel в задачу может помочь, это если вам нельзя блокировать вызывающий поток.

  • @olegjordan7527
    @olegjordan7527 6 дней назад

    Урааа новый курс от Radmira! Спасибо

  • @olegjordan7527
    @olegjordan7527 6 дней назад

    Но, почему нету возможности "розблокировать" буфер посля CompleteAdding(), как то не удобно (

    • @RadmirT
      @RadmirT 5 дней назад

      @@olegjordan7527 потому что тогда консюмеры не смогу точно быть уверены что все данные были прочитаны.

  • @АртурКолумб
    @АртурКолумб 6 дней назад

    Спасибо! Очень крутой контент

  • @Dzirt089
    @Dzirt089 9 дней назад

    Интересно) Спасибо! На сколько большой проект можно прислать?)

    • @RadmirT
      @RadmirT 8 дней назад

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

  • @NoName-ur3dh
    @NoName-ur3dh 15 дней назад

    наконец-то, я нашёл тебя !!

  • @olegjordan7527
    @olegjordan7527 17 дней назад

    Можна пожалуйста вы проведёте урок по самописной потокобезопасной коллекции или что нибуть такого просто очень интересно как работает подобное под капотом!

    • @RadmirT
      @RadmirT 17 дней назад

      @@olegjordan7527 в одном из последующих уроков я рассказываю как работает под капотом ConcurrentDictionary

  • @antonmarkelov7345
    @antonmarkelov7345 19 дней назад

    Спасибо большое, аж 'слюнки текут', когда видишь такие шикарные курсы.

  • @paulstep1043
    @paulstep1043 19 дней назад

    Что-то у вас курс лекций долгий))) я уже успел две работы поменять

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

    так будет ли курс по ef? 2:55

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

      @@lambda4591 да, в течении месяца выйдет первый урок.

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

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

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

    Шедевр

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

    благодарность

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

    Лекция зачот😊 Пасиба автору!

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

    спасибо!

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

    А в какие моменты MoveNext() начинает переключатся? Как понимаю вызов его не явный

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

      Да, метод MoveNext() вызывается неявно при каждом "шаге" автомата.

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

    35:50 миграция удалилась, но поле в бд осталось?

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

      Да там косяк на виде. Не та база была открыта :)

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

    Спасибо, отличный курс!

  • @МаксимГришкин-ж2о
    @МаксимГришкин-ж2о 3 месяца назад

    Спасибо большое за курс лекций. Мне кажется, что после него я действительно стал немного понимать асинхронность в .net. Где-то видел мнение, что потокобезопасные коллекции - это некое смешение синхронного и асинхронного кода. Частичная им замена - каналы. При возможности сделайте, пожалуйста, лекцию на эту тему.

  • @МаксимГришкин-ж2о
    @МаксимГришкин-ж2о 3 месяца назад

    Долго пытался понять почему во 2 способе потребовалось создать продолжение задачи. Вроде как можно написать сразу tasks.Wait() без await и без продолжения и получить результат. Но потом сообразил, что wait заблокирует поток.

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

      Да именно так. Если мы сразу поставим Wait() то вызываюший поток будет заблокирован и от await не будет смысла. А в случае с продолжением мы высвобождаем вызывающий поток. А когда вызывается Wait ничего блокироваться не будет, т.к. в этом момент задача будет гарантированно завершена, и обязанность Wait просто бросить исключения если они возникли.

  • @РоманРогожинский
    @РоманРогожинский 3 месяца назад

    Классные видео, спасибо! А в корпоративном университете лежит где-нибудь?)

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

      Спасибо! Примерно до 7 блока должны где-то быть, по крайней мере я отдавал их куратору, последних нет, т.к. я сейчас работаю в другом месте.

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

    Спасибо!

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

    почему так много ааа и эээ

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

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

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

    Очень доходчиво и понятно объясняете, спасибо за такой контент!

  • @mrSmith-lc7hk
    @mrSmith-lc7hk 4 месяца назад

    Братишка, ты реально крут.

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

    спс

  • @Qwerty0.1
    @Qwerty0.1 4 месяца назад

    а вот это не тоже самое, но проще и удобнее? public async Task MetodForPrimer() { бла бла бла; } и использование: await MetodForPrimer().ConfigureAwait(false); я если что новичек

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

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

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

    Открыл для себя ваш канал. Отличный материал. Пожалуйста, продолжайте.

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

    Спасибо. Офигенны курс

  • @кочерышка-ш3г
    @кочерышка-ш3г 4 месяца назад

    СПАСИБО БОЛЬШОЕ, БЛАГОДАРЯ ВАШИМ ГАЙДАМ Я НАКОНЕЦТО СМОГ ВЗЛОМАТЬ СБЕРБАНК!!!

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

    Спасибо за ролики. Будут ли еще уроки?

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

      Обязательно. :) В ближайшее дни выйдет новый ролик.

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

    Отличный лекция как и остальные, большое вам спасибо!

  • @Anastasia-fi4wv
    @Anastasia-fi4wv 5 месяцев назад

    Нашла канал только сегодня. Это находка! Автор, продолжайте выкладывать ролики, очень хорошо объясняете 💖 Благодарю

  • @АртемийКонь
    @АртемийКонь 5 месяцев назад

    Огромный рост по сравнению с первыми ролилками. Раньше было очень тяжело слушать. Сейчас совсем другое дело. Спасибо за материал.

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

    Правильно ли я понял, что если ты работаешь с asp. Net core на новых версиях, то про контекст синхронизации не нужно знать?

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

      Да, верно.

  • @МихаилСитников-р9я
    @МихаилСитников-р9я 5 месяцев назад

    ruclips.net/video/jDaGi_ZnGjI/видео.html А каким образом пул потоков препятствует частой смене контекста, когда как он решает проблему затратности создания потока

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

      Имеется ввиду, что при большом количестве одновременно работающих потоков время на приключение контекста может "уничтожить" весь профит параллельности. Если же мы с помощью пула ограничим количество одновременно работающих потоков, то тем самым можем увеличить суммарную производительность. Простой пример если у вас будете 10 рабочих и им надо будет выкопать 100 ям, то они это сделают быстрее если каждый работник будет только 1 яму а как выкопает перейдет к другой, чем начать копать сразу 100 и перебегать от одной ямы к другой каждые 10 минут.

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

    Просто вызов асинхронных версий методов (ReadAsync) недостаточно, чтобы работа была асинхронной? Нужно обязательно в конструктор передавать параметр? Это актуально для net 8.0?

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

      Если вы не укажите флаг FileOption.Asynchronous, то ReadAsync будет работать как обычная CPU-задача нагружая процессор, т.е. использования именно задач ввода-вывода не будет.

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

      @@RadmirT Получается лучше всегда ходить при чтение/запись на диск асинхронно, кажется такое поведение наоборот должно быть по умолчанию. А для специфических кейсов уже ставить опцию синхронно. Думаю большенство разработчиков не знают этой фишки)

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

      @@RadmirT или тут есть какие-то подводные камни?

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

      Да, в 99.99% случаев если вы хотите читать файл асинхронно, надо ставить эту опцию. Тут проблема в том, что при создании FileStream никто кроме программиста не знает, как будут читаться данные, синхронно или асинхронно. А читать в синхронном режиме с этим флагом не самая лучшая идея.

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

    Это всех ОС касается? Или только виндовс так работает?

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

      Да, во всех ОС общего пользования (Windows, Linux, MacOS). Возможно только какие-нибудь специализированные ОС могу работать по другому.

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

      @@RadmirT спасибо

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

    А если у меня есть проект web-api, который общается с БД и два клиентских приложения, например, MVC и android, каждое из которых общается только с web-api и получает оттуда нужные данные. Вы говорили, что в таком случае лучше использовать аутентификацию/авторизацию в одном сервисе, то есть в web-api, который принимает логин+пароль и возвращает токен, а этот токен использовать в клиентских приложениях. А как это реализовать тогда? Identity, как я понял, должен общаться с БД, а в данной конфигурации общение с БД напрямую отсутствует, а только через web-api. Я могу вместо токена с web-api получать ответ, что пользователь прошел аутентификацию, и к примеру, его роль, а уже в MVC делать аутентификацию/авторизацию на основе ролей. Но тогда пропадают все плюшки в виде политик и прочего, которые дает Identity, и все равно возникает необходимость делать два этапа аутентификации/авторизации - в клиенте (MVC) и в web-api.

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

      Стоит различать понятие аутентификации и авторизации. Аутентификация это процесс подтверждения личности пользователя, авторизация это предоставление прав доступа пользователя к защищенному ресурсу. Identity занимается только аутентификацией, те он проверяет что пользователь ввел верные учетные данные, и если они введены верно, то он выдает токен в котором содержатся утверждения (claims) А уже решать предоставлять ли доступ к защищённому ресурсу или нет пользователю с таким набором утверждений должен конкретный сервис, это вы делаете с помощью политик. Конкретному сервису не надо "ходить" в БД Identity всю необходимую информацию о пользователе он должен получать из токена.

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

      @@RadmirT Спасибо!

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

    Спасибо за отличный курс! На какой примерно уровень рассчитан материал данного курса?

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

      Джун+, Мидл

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

    Почему рекомендуется использовать razorPages для новых сайтов? Даже на самых простеньких почти наверняка потребуется использовать и ajax, и частичные представления, и web api, поэтому кажется разумным наоборот рекомендовать MVC, а razor - если требуется что-то предельно примитивное

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

      Razor и MVC практически одно и тоже. Точнее Razor это один из способов реализации MVC. Единственное отличие от подхода на основе контроллеров это разграничения ответственности. RazorPage может обработать запрос только к одной странице а один контроллер может обслуживать сразу несколько страниц. Но зато у Razor более удобное на мой взгляд взаимодействие между отображением и code behind. Что использование контроллеров что Razor это все страницы генерируемые на сервере, поэтому обе технологии не очень хорошо работают ни AJAX ни с WebAPI. Для этого на много лучше подходят Angular, vue, React и наконец Blazor.

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

      @@RadmirT понял, спасибо

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

    Спасибо. Сложно в понимании где использовать в реале. Но интересно.

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

    вау, спасибо Вам!

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

    Спасибо за видео! Понятно и просто о сложном.

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

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

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

      github.com/RadmirT/ASP.NET-Core-cource

  • @focus-on-work
    @focus-on-work 7 месяцев назад

    будем смотреть. асинхронность и многопоточность одни из самых актуальных тем. кусочков видео много. надеюсь увидеть что то новое.