# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
На этом уроке мы сделаем небольшое теоретическое введение в потоки и начнём создавать консольное приложение с самодостаточным классом для Питона. Вопрос: какие ещё статические поля нужно добавить в класс Питона? Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: избавляться от static в Main Сложности: вспомнить что было на вебинаре Комментарии: доп. вопрос: одномерный массив для хранения значков головы питона, двумерный массив для хранения поля |
|||||
2 | Террариум |
|
|||
На этом уроке мы подготовим экран для наших питонов. Сделаем по краям стенки, чтобы они не уползли. Напишем функцию для сохранения и отображения символов. * Создайте метод AddHare() для добавления зайчика. Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: инициализировать экран консоли элементами Сложности: функция отображения зайца Комментарии: вебинары это хорошо, но они отчасти отнимают смысл в самостоятельных заданиях, ведь уже весь код есть)) |
|||||
3 | Зайчики |
|
|||
На этом уроке мы напишем статический метод для добавления зайчика на поле. Для этого нам потребуется несколько вспомогательных методов, которые окажутся полезными и в других частях нашей программы. В конце урока мы выведем на экран сотню зайчиков :) Ответить на вопрос: какие не статичные поля нужны питону? Отчёт отправил: 4780. Дмитрий Выполнено за 20 мин. [Показать отчёт] Научился: заполнять поле рандомными зайцами Сложности: особо ничего Комментарии: не статичные поля: скорость перемещения, направление перемещения, координаты головы |
|||||
4 | Питонатор |
|
|||
На этом уроке мы опишем нужные поля для нашего питона и создадим статическую функцию для создания его экземпляра. Также нам понадобится конструктор, который мы сделаем приватным. Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: вызывать питонов Сложности: кажется ничего Комментарии: -----------> " |
|||||
5 | Поворот головы |
|
|||
На этом уроке мы сделаем отображение питона, поворот его головы и передвижение по экрану. * Оживить питонов самостоятельно. Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: методам отображения, шага, поворота питона Сложности: алгоритмы Комментарии: =) |
|||||
6 | Поток питонов |
|
|||
На этом уроке мы наконец-таки займёмся потоками. Запустим наших питонов сначала в одном потоке, а потом в отдельных - нам понадобится метод Run(). Создадим критическую секцию через lock. Протестируем режим Foreground/Background режимы. Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: запускать питонов в потоках, основных и фоновых Сложности: блокировка объектом lock(object) Комментарии: ''_'' |
|||||
7 | Бурная жизнь |
|
|||
На этом уроке мы допишем класс питон и получим эстетическое удовольствие от созерцания нашего террариума с нашими Питонами и Зайцами. * Придумать свою фишку и реализовать, написать, что сделал. Отчёт отправил: 4780. Дмитрий Выполнено за 50 мин. [Показать отчёт] Научился: запускать большое количество питонов в потоках Сложности: лень делать код "своим", тяжело дается Комментарии: добавил хвосты, т.к. про них упоминалось в видео. оказалось довольно просто. хотя может это и есть то простое неправильное решение). на скриншоте есть пример. |
|||||
8 | Приоритет |
|
|||
На этом уроке мы поиграемся с приоритетом потоков, воспользуемся монитором для создания критической секции, выведем на экран легенду потоков с id. Отчёт отправил: 4780. Дмитрий Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: 1. использовать объект Monitor для входа в критическую секцию 2. устанавливать приоритет потока Сложности: особо ничего Комментарии: <OOOOOOOOOO* |
|||||
9 | Замри! |
|
|||
На этом уроке мы поговорим о статусах потока: 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 | Смысл жизни |
|
|||
На этом уроке мы сделаем красивое завершение потока. Также добавим крестики на экран для "логичного" завершения жизни питона. Смысл жизни - в самой жизни, каждый питон это понял, а ты?.. Отчёт отправил: 4780. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: Завершать работу потоков по условию Сложности: особо ничего Комментарии: питоны -r -r, питоны как люююди)) |
|||||
11 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с окончанием миникурса "Бурные потоки". Напиши, пожалуйста, отзыв об этом курсе. Что тебе понравилось, что было сложным, что новым, что можно было бы сделать лучше. Ты молодец! Какой курс ты будешь проходить следующим? Отчёт отправил: 4780. Дмитрий Выполнено за 10 мин. [Показать отчёт] Научился: писать отзыв Сложности: писать отзыв Комментарии: Курс хороший и особенно хорошо, что он консольный, это убирает лишнее. Новое было практически все, что связано с потоками и их прерыванием. Улучшить можно добавив какие-то еще примеры, где именно необходимо! использовать потоки, а где их можно заменить просто по-другому написав программу. Все-таки надо больше ООП, больше разделения, мне кажется, это не помешает восприятию кода. |
|||||
12 | VIP. Игры со словами |
|
|||
Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного. На уроке мы ищем палиндромы, детские слова и анаграммы. Хорошее подспорье для игры Эрудит. |
|||||
Итого: 12 видеоуроков |
3 час. 38 мин. 1 тест |
25 чел. | |||
Финалисты: Максим Лапшинов, Андрей Н., Новопашин Владимир, Сергей Соколов, Артём, Елена, Станислав, Алексей|BrisK|Кривицкий, Yefim, Сергей, Tekashnik, Алексей Малышев, Александр, Sergio, Денис, chokayes, Николай Денисов, ser2018, Иван Воронин, Max, Кирилл, Дмитрий, Anatoli, Алексей В., MaxB . |