×
Ви дійсно бажаєте відкрити доступ до тестування за курсом C# Асинхронне програмування на 40 днів?
ВІДЕОУРОК № 9. ConcurrentDictionary. PLINQ
Цей урок є введенням в асинхронне програмування мовою C#. Для правильного розуміння технологій та методів їх застосування ви ознайомитеся з основною термінологією та розгляньте приклади, коли необхідно застосовувати техніки асинхронного програмування. На цьому уроці ви зможете наочно побачити, як асинхронність у прямому сенсі пожвавлює програми різних шаблонів (Console, WPF).
Урок познайомить вас із роботою бібліотеки TPL – Task Parallel Library. Ви ознайомитеся з роботою класу Task/Task TResult, який лежить в основі асинхронного програмування. На уроці буде розглянуто більшість властивостей та методів класів Task та Task TResult. Також у цьому уроці розглядається нововведення у бібліотеці, а саме структура ValueTask/ValueTask TResult.
Мета цього уроку полягає в тому, щоб познайомити студента з роботою планувальника завдань. Ми детально розглянемо клас TaskScheduler та розглянемо кілька популярних реалізацій цього абстрактного класу. Завдання другої частини уроку полягає у розборі дочірніх і вкладених завдань, розуміння відмінностей цих типів завдань, позначаються їх поведінці.
Урок познайомить вас із роботою ключових слів async await. Докладно будуть розглянуті правила використання кожного з цих ключових слів. Для більш глибокого розуміння роботи async await буде розглянута їх внутрішня реалізація, яка забезпечується за допомогою спеціальних типів та деякої роботи компілятора.
Урок познайомить вас із роботою ключових слів async await у додатках WPF та ASP.NET. Завдання уроку полягає в тому, щоб розглянути роботу продовжень оператора await при взаємодії з контекстом синхронізації, планувальником завдань та пулом потоків для виконання у контексті продовжень. Буде розглянуто способи вплинути на роботу продовжень оператора await, особливості роботи типу void, що повертається, з модифікатором async, а також асинхронні лямбда вирази.
Урок познайомить слухачів лекції із принципами асинхронного програмування. На уроці будуть розглянуті як різновиди асинхронних операцій, і асинхронність загалом. Після цього уроку студенти отримають повне уявлення про поняття «асинхронність». Буде розглянуто основні асинхронні шаблони програмування, а також чисті асинхронні API для спрощення роботи з асинхронним шаблоном TAP та ключовими словами async await. Студенти навчаться переписувати API старих асинхронних шаблонів згідно з новим TAP. Для цього на уроці розглядається тип TaskCompletionSource. Наприкінці уроку буде розглянуто обмеження використання оператора await.
Урок познайомить вас зі способами упіймання та обробки винятків у контексті потоків та задачах. Ми розглянемо особливості обробки винятків за допомогою ключових слів async await. На цьому уроці ми також торкнемося винятків та їх обробки в контексті дочірніх та вкладених завдань. Після цього ми познайомимося зі скасуванням виконання завдання, тобто з так званим скоординованим скасуванням. Щоб писати асинхронний код якісно, необхідно знати блокування. На цьому уроці ми розглянемо деякі ситуації, які можуть призвести до них, а також розглянемо вирішення цієї проблеми. Розглянемо рішення з використанням ключових слів async await та налаштування роботи оператора await у вигляді методу ConfigureAwait. Наприкінці уроку ми розглянемо прогрес асинхронної операції. Іноді це може допомогти зробити вашу програму більш привабливою для користувача.
Урок познайомить вас із потокобезпечними колекціями із простору імен System.Collections.Concurrent. На цьому уроці будуть розглянуті колекції, що працюють за шаблоном Producer-Consumer: ConcurrentQueue, ConcurrentStack, ConcurrentBag. Так як ці колекції реалізують шаблон Producer-Consumer – на уроці буде розглянутий і цей патерн. Для його забезпечення ми познайомимося із потокобезпечною оболонкою BlockingCollection. Після цього ми познайомимося з класом для паралельних викликів та паралельних циклів – Parallel. Буде розібрано питання щодо налаштування виконання цього типу та щодо стеження за станом паралельних ітерацій. А також буде розглянуто обробку винятків із класу Parallel.
Урок познайомить вас із потокобезпечною колекцією ConcurrentDictionary. Ця колекція буде розглянута у повному обсязі. Починаючи від розгляду всіх API по роботі з елементами, закінчуючи налаштування та технічну реалізацію колекції. У другій частині уроку буде розглянута мова паралельних запитів Parallel LINQ (PLINQ). Цей урок познайомить вас з тим, як влаштований PLINQ, які у нього оператори, а також як їх можна налаштовувати. Також, не обійдемо стороною скасування виконання паралельного запиту та опрацювання винятків, що виникли в ньому.
Запитання і відповіді
Онлайн курси мають низку переваг перед офлайн форматом:
- Незалежність від локації. Онлайн дозволяє навчатися де завгодно.
- Збереження часу та грошей на дорогу. Ви економите час та гроші з поїздок на курси та назад.
- Онлайн курси дешевші. Немає потреби в приміщенні та ноутбуках для студентів, тому вартість нижча
- Комфортний темп навчання, постійний доступ до інформації. Навчання у вашому темпі будь-коли і будь-де 24/7. Також є доступ до записаних уроків, чого немає в офлайн форматі.
На ITVDN є 2 формати навчання: Live Online та відео курси. Ціна навчання залежить від обраного вами способу навчання.
Якщо ви хочете навчатися самостійно у форматі відео курсів, вартість навчання складе в середньому 10-15 USD на місяць в залежності від обраного вами пакету підписки.
Live Online – це онлайн навчання з тренером у групах разом із іншими студентами. Навчання у даному форматі коштує в середньому 6-7 USD за одну годину.
Залежить від того, скільки уваги програмуванню ви виділятимете щоденно, яка саме це мова і який у вас досвід кодингу. Середній час на опанування однієї мови за умови регулярних занять хоча б 2 год/день:
- новачки – від 3 до 6 місяців;
- ті, хто мають базові знання з іншої мови – від 1 до 3 місяців;
- професійні програмісти – до 1 місяця.
Найкращий варіант інвестиції часу – 8 годин щоденно (20% теорії + 80% практики). Більше практики – швидше опанування програмування.
Для опанування ІТ-спеціальності треба виділити не менше 500 годин, з яких близько 100 годин – на перегляд відео уроків або відвідування онлайн занять із ментором, а 400 – на виконання практичних завдань за пройденими темами.
В залежності від того, скільки часу ви готові виділяти на навчання в день, ви зможете пройти програму за 3-8 місяців. Якщо у вас є певна база знань з ІТ, кількість необхідного часу буде меншою.
Також тривалість навчання залежить від обраної вами спеціальності, оскільки набір технологій, які ви маєте вивчити, буде різним.
Починати варто з тих, які містять в назві слово “Стартовий”. Такі курси мають вступний матеріал для знайомства з мовою або технологією.
Якщо ж ви плануєте навчатися за конкретною спеціальністю у форматі відео курсів, перейдіть на сторінку спеціальності і прокрутіть до заголовку “Відео курси за спеціальністю …”. Нижче буде список відео курсів, котрі відсортовано в порядку необхідності вивчення.
Ще нижче ви знайдете Roadmap зі спеціальності – путівник, на якому зображені відео курси у вигляді дерева, що також вас легко зорієнтує у послідовності проходження курсів.
Якщо ви обираєте Live Online навчання з тренером, все дуже просто:
- відвідуйте всі заняття, вчасно виконуйте д/з;
- додатково дивіться відео уроки на ITVDN;
- після кожного уроку проходьте коротке тестування;
- практикуйтеся в Інтерактивному практикумі;
- спілкуйтеся з одногрупниками в ході вирішення д/з, задавайте питання ментору на уроках та поза ними;
- в кінці кожного курсу складайте екзамен на TestProvider (та отримуйте Сертифікати);
- в кінці всього навчання проходьте екзамен зі спеціальності і отримайте Диплом.
Ми маємо спеціальний розділ – “Вакансії”, котрий допомагає нашим студентам шукати першу роботу в ІТ. Детальніше про можливості та призначення розділу за посиланням.
А для тих, хто навчається онлайн з ментором, у нас додатково передбачена індивідуальна допомога HR-фахівця щодо підготовки до працевлаштування з першого дня навчання і до отримання першого job-оферу. Вона включає в себе допомогу в оформленні соцмереж, підготовці резюме, проведення пробної співбесіди, надання порад щодо пошуку роботи та самопрезентації тощо.
На жаль, дана послуга на ITVDN не передбачена, однак ви можете замовити індивідуальну консультацію з нашим ментором. Деталі ви знайдете за посиланням.
На ITVDN відсутні курси для дітей, тому комфортний вік для початку навчання за нашими матеріалами – від 14 років.
Ніяких вимог до вашого рівня англійської ми не висуваємо, оскільки всі навчальні матеріали йдуть російською або українською мовами. При цьому базові знання англійської будуть корисні для комфортного пошуку інформації в гуглі, читання документацій в інтернеті тощо.
На ITVDN можна пройти повне навчання з нуля до спеціаліста рівня Trainee/Junior. Якщо ви вже практикуючий розробник, наші відео курси допоможуть поглибити ваші знання до рівня Middle.
Після закінчення дії вашої підписки доступ до відео курсів, на жаль, буде закрито. Однак ви зможете користуватися тими навчальними матеріалами, які ви завантажили на свій девайс під час навчання.
Ні, знижки не додаються.
Відгуки наших студентів
Відгуки в DOU
4,9/5 - 200 відгуків
Відгуки в Facebook
5,0/5 - 707 відгуків
Відгуки в Google
4,9/5 - 836 відгуків