# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
На этом уроке мы сделаем небольшое теоретическое введение в потоки и начнём создавать консольное приложение с самодостаточным классом для Питона. Вопрос: какие ещё статические поля нужно добавить в класс Питона? Отчёт отправил: 24765. Anatoli Выполнено за 18 мин. [Показать отчёт] Научился: Подготовили класс Змея. Какой символ головы у змейки. Нужно знать сколько змеек на поле. |
|||||
2 | Террариум |
|
|||
На этом уроке мы подготовим экран для наших питонов. Сделаем по краям стенки, чтобы они не уползли. Напишем функцию для сохранения и отображения символов. * Создайте метод AddHare() для добавления зайчика. Отчёт отправил: 24765. Anatoli Выполнено за 25 мин. [Показать отчёт] Научился: Вывод на экран символа есть, вывод зайца есть. |
|||||
3 | Зайчики |
|
|||
На этом уроке мы напишем статический метод для добавления зайчика на поле. Для этого нам потребуется несколько вспомогательных методов, которые окажутся полезными и в других частях нашей программы. В конце урока мы выведем на экран сотню зайчиков :) Ответить на вопрос: какие не статичные поля нужны питону? Отчёт отправил: 24765. Anatoli Выполнено за 28 мин. [Показать отчёт] Научился: Реализовали случайный выбор появления зайца. Змея хранит свои координаты в массиве, свой цвет, свой размер. |
|||||
4 | Питонатор |
|
|||
На этом уроке мы опишем нужные поля для нашего питона и создадим статическую функцию для создания его экземпляра. Также нам понадобится конструктор, который мы сделаем приватным. Отчёт отправил: 24765. Anatoli Выполнено за 24 мин. [Показать отчёт] Научился: Питона отобразил стрелкой вправо, для вида сойдет. |
|||||
5 | Поворот головы |
|
|||
На этом уроке мы сделаем отображение питона, поворот его головы и передвижение по экрану. * Оживить питонов самостоятельно. Отчёт отправил: 24765. Anatoli Выполнено за 1 час. 9 мин. [Показать отчёт] Научился: 10 змеек выпустил. Все методы готовы, надо было только вечный цикл запустить и установить задержку. |
|||||
6 | Поток питонов |
|
|||
На этом уроке мы наконец-таки займёмся потоками. Запустим наших питонов сначала в одном потоке, а потом в отдельных - нам понадобится метод Run(). Создадим критическую секцию через lock. Протестируем режим Foreground/Background режимы. Отчёт отправил: 24765. Anatoli Выполнено за 31 мин. [Показать отчёт] Научился: Запустили N потоков. Отделили критические данные в каждом потоке. Предусмотрели завершение каждого процесса. И включили принудительное завершение процесса. |
|||||
7 | Бурная жизнь |
|
|||
На этом уроке мы допишем класс питон и получим эстетическое удовольствие от созерцания нашего террариума с нашими Питонами и Зайцами. * Придумать свою фишку и реализовать, написать, что сделал. Отчёт отправил: 24765. Anatoli Выполнено за 2 час. 3 мин. [Показать отчёт] Научился: Реализовали рост тела. Наверно было бы круто на поле давать появляться только одному зайцу и чтобы был поиск кратчайшего пути и при появлении зайца, сразу двигались змеи по кратчайшему пути к появившемуся зайцу. |
|||||
8 | Приоритет |
|
|||
На этом уроке мы поиграемся с приоритетом потоков, воспользуемся монитором для создания критической секции, выведем на экран легенду потоков с id. Отчёт отправил: 24765. Anatoli Выполнено за 1 час. 18 мин. [Показать отчёт] Научился: Проиритеты использовали. Использовали Monitor.Enter(block) Monitor.Exit(block) вместо lock. Каждый поток пронумеровали и вывели информацию каждого потока отдельно. |
|||||
9 | Замри! |
|
|||
На этом уроке мы поговорим о статусах потока: Unstarted, Running, Wait/Sleep/Join, Abort Requested, Stopped. Создадим функционал для остановки потоков по нажатию клавиш. И научимся сопротивляться этим остановкам. Отчёт отправил: 24765. Anatoli Выполнено за 1 час. 16 мин. [Показать отчёт] Научился: Увы не работает этот аборт, не разобрался как его вызывать, на хабре была статья перекомпилировать сам net.core, ну этого удовольствия мне не нужно, вызывается исключение и увы взять под контроль нет возможности. Сложности: Пришлось надолго отвлечься, так как урок пошел не по сценарию, вероятно уже устарел урок и не соответствует текущей версии .Net |
|||||
10 | Смысл жизни |
|
|||
На этом уроке мы сделаем красивое завершение потока. Также добавим крестики на экран для "логичного" завершения жизни питона. Смысл жизни - в самой жизни, каждый питон это понял, а ты?.. Отчёт отправил: 24765. Anatoli Выполнено за 2 час. 53 мин. [Показать отчёт] Научился: Пришлось переписать код, уже этот способ показанный в курсе считается устаревшим, потому пришлось переписать на использование Task и тогда все заработало. Не разобрался с тикетами потому просто создал метод аборт в классе и так завнршал работу змейки. Сложности: Переписать так как использование тредов считается устаревшим. |
|||||
11 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с окончанием миникурса "Бурные потоки". Напиши, пожалуйста, отзыв об этом курсе. Что тебе понравилось, что было сложным, что новым, что можно было бы сделать лучше. Ты молодец! Какой курс ты будешь проходить следующим? Отчёт отправил: 24765. Anatoli Выполнено за 6 мин. [Показать отчёт] Научился: Курс как введение в многопоточное программирование себя оправдывает, потом немного устарел так как уже считается использование Threads устаревшим и потому прошлось воспользоваться классом Task. Как предупреждение у кого платформа выше 4 версии. Видеообзор: t_lvxzrSNGg |
|||||
12 | VIP. Игры со словами |
|
|||
Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного. На уроке мы ищем палиндромы, детские слова и анаграммы. Хорошее подспорье для игры Эрудит. Отчёт отправил: 24765. Anatoli Выполнено за 1 день 31 мин. [Показать отчёт] Научился: Все алгоритмы со словами релизовал и "Города" тоже. Сложности: Много раз запускать пришлось дебагер, потому что решил использовать хранение слов в ресурсах, а не в каталоге где запускаеться, только в конце уже нашел хорошее решение, это все из-за перевода строки в виндовз 2 символа перевода строки. Ушло несколько часов, так что да повозился основательно. |
|||||
Итого: 12 видеоуроков |
3 час. 38 мин. 1 тест |
25 чел. | |||
Финалисты: Максим Лапшинов, Андрей Н., Новопашин Владимир, Сергей Соколов, Артём, Елена, Станислав, Алексей|BrisK|Кривицкий, Yefim, Сергей, Tekashnik, Алексей Малышев, Александр, Sergio, Денис, chokayes, Николай Денисов, ser2018, Иван Воронин, Max, Кирилл, Дмитрий, Anatoli, Алексей В., MaxB . |