Курсы на программиста

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!

Бурные потоки

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

12 миниуроков.
3 часа 38 минут.
Доступ на 15 дней.

Хочу купить!

Купить в рассрочку за мегахеши

Цена: 800 p.


Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:14:56 39 чел. ★ 4.9 Done
  На этом уроке мы сделаем небольшое теоретическое введение в потоки
и начнём создавать консольное приложение с самодостаточным классом
для Питона.
Вопрос: какие ещё статические поля нужно добавить в класс Питона?
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: избавляться от static в Main 
Сложности: вспомнить что было на вебинаре 
Комментарии: доп. вопрос: одномерный массив для хранения значков головы питона, двумерный массив для хранения поля 
2 Террариум 00:13:24 38 чел. ★ 5 Done
  На этом уроке мы подготовим экран для наших питонов.
Сделаем по краям стенки, чтобы они не уползли.
Напишем функцию для сохранения и отображения символов.
* Создайте метод AddHare() для добавления зайчика.
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: инициализировать экран консоли элементами 
Сложности: функция отображения зайца 
Комментарии: вебинары это хорошо, но они отчасти отнимают смысл в самостоятельных заданиях, ведь уже весь код есть)) 
3 Зайчики 00:13:40 38 чел. ★ 5 Done
  На этом уроке мы напишем статический метод для добавления зайчика на поле.
Для этого нам потребуется несколько вспомогательных методов,
которые окажутся полезными и в других частях нашей программы.
В конце урока мы выведем на экран сотню зайчиков :)
Ответить на вопрос: какие не статичные поля нужны питону?
Отчёт отправил: 4780. Дмитрий Выполнено за 20 мин. [Показать отчёт]
Научился: заполнять поле рандомными зайцами 
Сложности: особо ничего 
Комментарии: не статичные поля: скорость перемещения, направление перемещения, координаты головы 
4 Питонатор 00:15:34 38 чел. ★ 5 Done
  На этом уроке мы опишем нужные поля для нашего питона
и создадим статическую функцию для создания его экземпляра.
Также нам понадобится конструктор, который мы сделаем приватным.
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: вызывать питонов 
Сложности: кажется ничего 
Комментарии: -----------> " 
5 Поворот головы 00:20:51 37 чел. ★ 4.9 Done
  На этом уроке мы сделаем отображение питона,
поворот его головы и передвижение по экрану.
* Оживить питонов самостоятельно.
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: методам отображения, шага, поворота питона 
Сложности: алгоритмы 
Комментарии: =) 
6 Поток питонов 00:17:02 35 чел. ★ 4.9 Done
  На этом уроке мы наконец-таки займёмся потоками.
Запустим наших питонов сначала в одном потоке,
а потом в отдельных - нам понадобится метод Run().
Создадим критическую секцию через lock.
Протестируем режим Foreground/Background режимы.
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: запускать питонов в потоках, основных и фоновых 
Сложности: блокировка объектом lock(object) 
Комментарии: ''_'' 
7 Бурная жизнь 00:14:56 35 чел. ★ 5 Done
  На этом уроке мы допишем класс питон и получим эстетическое удовольствие
от созерцания нашего террариума с нашими Питонами и Зайцами.
* Придумать свою фишку и реализовать, написать, что сделал.
Отчёт отправил: 4780. Дмитрий Выполнено за 50 мин. [Показать отчёт]
Научился: запускать большое количество питонов в потоках 
Сложности: лень делать код "своим", тяжело дается 
Комментарии: добавил хвосты, т.к. про них упоминалось в видео. оказалось довольно просто. хотя может это и есть то простое неправильное решение). на скриншоте есть пример. 
8 Приоритет 00:14:20 34 чел. ★ 4.9 Done
  На этом уроке мы поиграемся с приоритетом потоков,
воспользуемся монитором для создания критической
секции, выведем на экран легенду потоков с id.
Отчёт отправил: 4780. Дмитрий Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: 1. использовать объект Monitor для входа в критическую секцию 2. устанавливать приоритет потока 
Сложности: особо ничего 
Комментарии:
9 Замри! 00:17:49 33 чел. ★ 4.8 Done
  На этом уроке мы поговорим о статусах потока:
Unstarted, Running, Wait/Sleep/Join, Abort Requested, Stopped.
Создадим функционал для остановки потоков по нажатию клавиш.
И научимся сопротивляться этим остановкам.
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: Останавливать поток по клавише и игнорировать запрос на его остановку 
Сложности: разобраться в разнице между lock и Monitor. Как я понял lock это обертка для использовании функций класса Monitor, но этот класс предоставляет больше тонких настроек, не только вход и выход из критической секции. Также тело критической секции должно быть наиболее маленьким, ошибки все равно могут возникать. Об этом тут написано: https://blogs.msdn.microsoft.com/ericlippert/2009/03/06/locks-and-exceptions-do-not-mix/ 
Комментарии: Если зажать клавишу с номером потока и не отпускать, на поле в случайных местах, и даже на рамке появляется эта цифра цветом того потока, где случилось прерывание. Это видно на скиншоте) 
10 Смысл жизни 00:09:16 32 чел. ★ 4.9 Done
  На этом уроке мы сделаем красивое завершение потока.
Также добавим крестики на экран для "логичного" завершения жизни питона.
Смысл жизни - в самой жизни, каждый питон это понял, а ты?..
Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт]
Научился: Завершать работу потоков по условию 
Сложности: особо ничего 
Комментарии: питоны -r -r, питоны как люююди)) 
11 ФИНАЛЬНЫЙ УРОК 32 чел. ★ 4.7 Done
  Поздравляю с окончанием миникурса "Бурные потоки".

Напиши, пожалуйста, отзыв об этом курсе.
Что тебе понравилось, что было сложным, что новым,
что можно было бы сделать лучше.

Ты молодец!

Какой курс ты будешь проходить следующим?
Отчёт отправил: 4780. Дмитрий Выполнено за 10 мин. [Показать отчёт]
Научился: писать отзыв 
Сложности: писать отзыв 
Комментарии: Курс хороший и особенно хорошо, что он консольный, это убирает лишнее. Новое было практически все, что связано с потоками и их прерыванием. Улучшить можно добавив какие-то еще примеры, где именно необходимо! использовать потоки, а где их можно заменить просто по-другому написав программу. Все-таки надо больше ООП, больше разделения, мне кажется, это не помешает восприятию кода. 
12 VIP. Игры со словами 01:06:32 16 чел. ★ 4.8 $
  Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного.
На уроке мы ищем палиндромы, детские слова и анаграммы.
Хорошее подспорье для игры Эрудит.
  Итого:   12 видеоуроков общей продолжительностью 3 час. 38 мин. 16 чел. ★ 4.9  
  Финалисты:   Максим Лапшинов,   Андрей Н.,   Новопашин Владимир,   Сергей Соколов,   Артём,   Елена,   Станислав,   Алексей|BrisK|Кривицкий,   Yefim,   Сергей,   Tekashnik,   Алексей Малышев,   Александр,   Sergio,   Денис,   chokayes .

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Трудности: Найти музыку для питончиков.
Прикольный курс. Позволяет "пощупать" потоки изнутри. Супер.
Научился: На этом курсе я познал азы работы с потоками. Научился добавлять критические секции чтобы потоки не мешали друг другу. То что работа потоков визуализирована с помощью змеек это очень крутая идея. Все рассказано просто, доходчиво и наглядно. Жду продолжения темы многопоточности в других курсах.
Трудности: достаточно простой для прохождения курс
Спасибо за новые знания! =)