×
Вы действительно хотите открыть доступ к тестированию по курсу C# Асинхронное программирование на 40 дней?
ВИДЕОУРОК №5. Блокировка. Исключение
Это первый урок курса, целью которого является ознакомление с основной терминологией, сферами использования и средствами асинхронного программирования. Важной частью этого и последующих уроков являются практические примеры применения методов асинхронного программирования для решения различных задач, поэтому студенту желательно установить одну из IDE, поддерживающих синтаксис C#.
Цель урока – ознакомление с шаблоном асинхронного программирования TAP (Task-based Asynchronous Pattern), сравнение его с уже рассмотренными шаблонами APM и EAP.
Также во время занятия вы вспомните, чем параллелизм отличается от конкурентности и какие средства для них содержит TPL. Подробно рассмотрим классы Task/Task<TResult>, после чего повторим, чем reference-типы отличаются от value-типов и познакомимся с ValueTask/ValueTask<TResult>. Мы поговорим о шаблонах Абстрактная Фабрика и Фабричный метод, чтобы лучше понять, что такое TaskFactory/TaskFactory<TResult> и как им пользоваться. Закончив планирование задач, рассмотрим их отмену (Cancellation) и продолжение (TaskContinuation).
Цель урока - разобраться в том, что представляют собой ключевые слова async/await, рассмотреть их техническую реализацию, чтобы лучше понимать, как работает ваш асинхронный код. Освежим в памяти теоретические знания о законченном автомате (state machine) и рассмотрим пример, сгенерированный компилятором. Также мы познакомимся с типами, которые могут возвращать асинхронные методы и разберем на примерах, как и когда ими следует пользоваться. Познакомимся с контекстом выполнения и контекстом синхронизации, посмотрим, как они используются в асинхронном конечном автомате.
На этом уроке мы продолжим разбираться, как и благодаря чему работает уже рассмотренный нами асинхронный законченный автомат. Также мы упомянем, что такое Thread и ThreadPool и как они участвуют в выполнении асинхронного кода. Поговорим о настройке продолжения задачи (TaskContinuation), планировщике задач (TaskScheduler) и контексте синхронизации, рассмотрим примеры работы с большим количеством задач.
Цель этого занятия – понять, в каких случаях возникает deadlock и как его можно избежать. Также мы упомянем теорию блокировки и синхронизации в многопоточной среде, рассмотрим реализацию этих средств в .NET (например, монитор, семафор, мьютекс и другие). Также мы вспомним, какие ошибки мы видели, вызывая асинхронный код, и как такие ошибки можно обработать.
Цель этого урока – знакомство с потокобезопасными коллекциями, их назначением и строением.
В ходе урока мы повторим теорию о коллекциях, рассмотрим, как построены базовые коллекции, которая скрывается за ключевым словом foreach и зачем нам нужен итератор. Также мы познакомимся с потокобезопасными коллекциями из пространства имен System.Collections.Concurrent и разберемся, как они работают. Кроме того, рассмотрим тип Channel, который может использоваться в асинхронном коде без дополнительных средств синхронизации.
Целью этого урока является подведение всего, что мы знаем о создании и выполнении задач, а также более детальное ознакомление с планировщиком задач.
В ходе урока мы поговорим об основных методах и свойствах планировщиков задач, познакомимся с существующими реализациями и тем, как они планируют и выполняют работу. Разберемся, чем задачи верхнего уровня, дочерние и вложенные задачи. Вспомним, чем контекст синхронизации и как он может использоваться планировщиком задач. Также напишем собственный планировщик задач, чтобы на практике подытожить все полученные знания.
Целью этого урока является ознакомление с подходами к параллельным программированием, какие задачи можно решить с помощью этих подходов и где их использовать нецелесообразно.
В ходе урока мы вспомним, чем конкурентность отличается от параллелизма, узнаем, что такое распределенное программирование. Также поговорим о видах многозадачности – вытеснительной и не вытеснительной. Познакомимся с разными средствами класса Parallel и методами PLINQ. В конце урока рассмотрим различные шаблоны параллельной и асинхронной обработки данных и выполнения операций, которые можно использовать для решения задач.
Вопросы и ответы
Онлайн курсы имеют ряд преимуществ перед оффлайн форматом:
- Независимость от локации. Онлайн позволяет учиться где угодно.
- Сохранение денег и времени на дорогу. Вы экономите время и деньги с поездок на курсы и обратно.
- Онлайн курсы дешевле. Нет нужды в помещении и ноутбуках для студентов, поэтому стоимость ниже.
- Удобный темп обучения, постоянный доступ к информации. Обучение в вашем темпе в любом месте 24/7. Также есть доступ к записанным урокам, чего нет в оффлайн формате.
На ITVDN есть 2 формата обучения: Live Online и видео курсы. Цена обучения зависит от выбранного вами способа обучения.
Если вы хотите учиться самостоятельно в формате видео курсов, стоимость обучения составит в среднем 10-15 USD в месяц в зависимости от выбранного вами пакета подписки.
Live Online – это онлайн обучение с тренером в группах вместе с другими студентами. Учеба в данном формате стоит в среднем 6-7 USD за один час.
Зависит от того, сколько внимания программированию вы будете выделять ежедневно, какой именно это язык и какой у вас опыт кодинга. Среднее время на овладение одним языком при условии регулярных занятий хотя бы 2 часа в день:
- новички – от 3 до 6 месяцев;
- те, кто имеет базовые знания другого языка – от 1 до 3 месяцев;
- профессиональные программисты – до 1 месяца.
Самый лучший вариант инвестиции времени – 8 часов ежедневно (20% теории + 80% практики). Больше практики – быстрее овладеете программированием.
Для овладения IT-специальностью нужно выделить не менее 500 часов, из которых около 100 часов – на просмотр видео уроков или посещение онлайн занятий с ментором, а 400 – на выполнение практических заданий по пройденным темам.
В зависимости от того, сколько времени вы готовы выделять на обучение в день, вы сможете пройти программу за 3-8 месяцев. Если у вас есть определенная база знаний по IT, количество необходимого времени будет меньшим.
Также продолжительность обучения зависит от выбранной вами специальности, поскольку набор технологий, которые вы должны изучить, будет разным.
Начинать следует с тех, которые содержат в названии слово “Стартовый”. Такие курсы имеют вводный материал для знакомства с языком или технологией.
Если вы планируете учиться по конкретной специальности в формате видео курсов, перейдите на страницу специальности и прокрутите до заголовка “Видео курсы по специальности …”. Ниже будет список видео курсов, отсортированных в порядке необходимости изучения.
Ещё ниже вы найдете Roadmap по специальности – путеводитель, на котором изображены видео курсы в виде дерева, что также легко сориентирует вас в последовательности прохождения курсов.
Если вы выбираете Live Online обучение с тренером, всё очень просто:
- посещайте все занятия, вовремя выполняйте д/з;
- дополнительно смотрите видео уроки на ITVDN;
- после каждого урока проходите краткое тестирование;
- практикуйтесь в Интерактивном практикуме;
- общайтесь с одногруппниками в ходе решения д/з, задавайте вопросы ментору на уроках и вне их;
- в конце каждого курса сдавайте экзамен на TestProvider (и получайте Сертификаты);
- в конце всего обучения проходите экзамен по специальности и получите диплом.
Мы имеем специальный раздел – “Вакансии”, который помогает нашим студентам искать первую работу в IT. Детальнее о возможностях и о разделе по ссылке.
А для тех, кто учится онлайн с ментором, у нас дополнительно предусмотрена индивидуальная помощь HR-специалиста по подготовке к трудоустройству с первого дня обучения и до получения первого job-оффера. Она включает в себя помощь в оформлении соцсетей, подготовке резюме, проведении пробного собеседования, предоставлении советов по поиску работы и самопрезентации и т. д.
К сожалению, данная услуга ITVDN не предусмотрена, однако вы можете заказать индивидуальную консультацию с нашим ментором. Подробности вы найдете по ссылке.
На ITVDN отсутствуют курсы для детей, поэтому комфортный возраст для начала обучения по нашим материалам – от 14 лет.
Никаких требований к вашему уровню английского мы не выдвигаем, поскольку все учебные материалы идут на русском или украинском языках. При этом базовые знания английского будут полезны для комфортного поиска информации в гугле, чтения документаций в интернете и прочего.
На ITVDN можно пройти полное обучение с нуля до специалиста уровня Trainee/Junior. Если вы уже практикующий разработчик, наши видео курсы помогут углубить ваши знания до уровня Middle.
После окончания действия вашей подписки доступ к видео курсам, к сожалению, будет закрыт. Однако вы сможете пользоваться теми учебными материалами, которые вы скачали на свой девайс во время обучения.
Нет, скидки не суммируются.
Отзывы наших студентов
Отзывы в DOU
4,9/5 - 200 отзывов
Отзывы в Facebook
5,0/5 - 707 отзывов
Отзывы в Google
4,9/5 - 836 отзывов