# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
На этом уроке мы сделаем небольшое теоретическое введение в потоки и начнём создавать консольное приложение с самодостаточным классом для Питона. Вопрос: какие ещё статические поля нужно добавить в класс Питона? Отчёт отправил: 1947. Denis Выполнено за 15 мин. [Показать отчёт] Научился: вспомнил как избавляться от static Сложности: ничего Комментарии: Как и на вебинаре, предложил следующие статические поля: Координаты головы, направление, цвет. Я еще, правда, предложил длину хвоста, меня убедили, что это лишнее =) |
|||||
2 | Террариум |
|
|||
На этом уроке мы подготовим экран для наших питонов. Сделаем по краям стенки, чтобы они не уползли. Напишем функцию для сохранения и отображения символов. * Создайте метод AddHare() для добавления зайчика. Отчёт отправил: 1947. Denis Выполнено за 20 мин. [Показать отчёт] Научился: работать с экраном консоли Сложности: ничего Комментарии: Доп. задание сразу выполнить не удалось =) Выполним на следующем задании |
|||||
3 | Зайчики |
|
|||
На этом уроке мы напишем статический метод для добавления зайчика на поле. Для этого нам потребуется несколько вспомогательных методов, которые окажутся полезными и в других частях нашей программы. В конце урока мы выведем на экран сотню зайчиков :) Ответить на вопрос: какие не статичные поля нужны питону? Отчёт отправил: 1947. Denis Выполнено за 20 мин. [Показать отчёт] Научился: добавлять пушистых ззайчиков =) Сложности: ничего Комментарии: из нестатических полей, нужны координаты головы, и координаты смещения головы на следующем ходу. |
|||||
4 | Питонатор |
|
|||
На этом уроке мы опишем нужные поля для нашего питона и создадим статическую функцию для создания его экземпляра. Также нам понадобится конструктор, который мы сделаем приватным. Отчёт отправил: 1947. Denis Выполнено за 20 мин. [Показать отчёт] Научился: создавать конструктор питончика Сложности: ничего Комментарии: Ждем, ждем начала работы потоков |
|||||
5 | Поворот головы |
|
|||
На этом уроке мы сделаем отображение питона, поворот его головы и передвижение по экрану. * Оживить питонов самостоятельно. Отчёт отправил: 1947. Denis Выполнено за 20 мин. [Показать отчёт] Научился: описанию сложения структур operator + Сложности: ничего Комментарии: Сложение структур - Очень интересная штука, даже не подозревал о существовании такого =) Теперь при каждом удобном случае буду такое использовать! |
|||||
6 | Поток питонов |
|
|||
На этом уроке мы наконец-таки займёмся потоками. Запустим наших питонов сначала в одном потоке, а потом в отдельных - нам понадобится метод Run(). Создадим критическую секцию через lock. Протестируем режим Foreground/Background режимы. Отчёт отправил: 1947. Denis Выполнено за 15 мин. [Показать отчёт] Научился: создавать критическую секцию Сложности: понять, как работает критическая секция Комментарии: Все таки, до конца не совсем понятно, как именно работает команда lock. Мы создаем в потоке какой-то объект, который служит флагом для нашего потока. Почему нужен именно объект, непонятно. Надеюсь понимание придет позже. Пока двигаемся дальше. |
|||||
7 | Бурная жизнь |
|
|||
На этом уроке мы допишем класс питон и получим эстетическое удовольствие от созерцания нашего террариума с нашими Питонами и Зайцами. * Придумать свою фишку и реализовать, написать, что сделал. Отчёт отправил: 1947. Denis Выполнено за 30 мин. [Показать отчёт] Научился: Работе с потоками Сложности: реализовать точку в хвосте Комментарии: Повторять за Евгением Витольдовичем сложности не вызывает. А вот то, что делаешь сам - всегда вызывает какие-никакие трудности =) В данном случае, по совету Евгения Витольдовича, реализовал вывод точки на конце Питончика. |
|||||
8 | Приоритет |
|
|||
На этом уроке мы поиграемся с приоритетом потоков, воспользуемся монитором для создания критической секции, выведем на экран легенду потоков с id. Отчёт отправил: 1947. Denis Выполнено за 20 мин. [Показать отчёт] Научился: узнал о Monitor Сложности: ничего Комментарии: Когда длина питона становится больше 10, а потом падаем меньше 10, последний 0 от десятки остается на экране консоли. Нужно будет подумать, как от этого избавиться. |
|||||
9 | Замри! |
|
|||
На этом уроке мы поговорим о статусах потока: Unstarted, Running, Wait/Sleep/Join, Abort Requested, Stopped. Создадим функционал для остановки потоков по нажатию клавиш. И научимся сопротивляться этим остановкам. Отчёт отправил: 1947. Denis Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: ловить ошибки потоков Сложности: переделать весь проект на WinForm Комментарии: Я не большой любитель консоли, поэтому решил переделать на вин формы. Визуализация сильно лучше не стала, пока просто перенес все на форму и переписал отображение. Пришлось использовать BeginInvoke, ибо при коллизиях в процедуре отрисовки писало, что объект занят другим потоком. |
|||||
10 | Смысл жизни |
|
|||
На этом уроке мы сделаем красивое завершение потока. Также добавим крестики на экран для "логичного" завершения жизни питона. Смысл жизни - в самой жизни, каждый питон это понял, а ты?.. Отчёт отправил: 1947. Denis Выполнено за 30 мин. [Показать отчёт] Научился: смыслу жизни питонов Сложности: понять, почему после рестарта сразу появляются мертвые лишние питоны Комментарии: Добавил колючки на карту, и если питон погибает, на его месте появляется крест. Хочу еще доделать, так что финальный отзыв надеюсь успею до 5 мая доделать. Может даже видео обзор сниму. |
|||||
11 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с окончанием миникурса "Бурные потоки". Напиши, пожалуйста, отзыв об этом курсе. Что тебе понравилось, что было сложным, что новым, что можно было бы сделать лучше. Ты молодец! Какой курс ты будешь проходить следующим? Отчёт отправил: 1947. Denis Выполнено за 30 мин. [Показать отчёт] Научился: писать отзыв о курсе Сложности: придумать текст Комментарии: Сегодня я бы хотел вам рассказать про пока еще небольшой курс "Бурные потоки". Бурные потоки это базовый курс по изучение потоков, или, как их еще называют, Нитей. Во время его прохождения мы научимся писать многопоточные приложения, создавать критические секции, чтобы потоки не мешали друг другу, попробуем себя в роли менеджера потоков, научимся прерывать их работу, управлять их приоритетом, и, как следствие процессорным временем. Чтобы нам было не скучно изучать такую важную, и в то же время достаточно сложную для понимания тему, мы напишем простенький визуализатор, чтобы все наши труды можно было не только пощупать изнутри, но и увидеть снаружи. Визуально отобразить работу потоков нам поможет такая простая и незамысловатая игра, как змейка. Только у нас она будет не одна, а целых несколько. И соревноваться они будут в поедании зайчиков, которые будут случайным образом появляться на нашей виртуальной заячей полянке. Но зайчики у нас будут не простые, а с IQ чуть ниже среднего, поэтому периодически они будут выкладывать на полянку вместо себя ловушки для наших питончиков. Наш добрый питончик, попав на такую ловушку очень огорчится и самоуничтожится, оставив после себя лишь небольшой памятник в качестве напоминания о своей нелегкой жизни. Вот такая вот у нас грустная история, в который все потоки когда-нибудь заканчиваются. А если вы пройдете еще и мини курс "Коллекция графа", то сможете научить своих питончиков двигаться не как попало, а к ближайшему зайчику, а также избегать хитрых заячих ловушек. Кто знает, возможно именно вы научите зайчиков убегать от питончиков, и создадите своей режим этой замечательной игры. Основные навыки и знания для работы с несколькими потоками мы получим буквально за 2 с половиной часа данного мини курса, конечно не считая время на самостоятельные занятия. И поверьте, когда вы окунетесь в этот дивный новый многопоточный мир , останавливаться вам явно не захочется! Ведь вам откроется такой простор для творчества! Не хотите блокировать работу формы, пока программа долго читает большой объем данных? Используйте потоки. Хотите распараллелить работу сложных вычислений? Добро пожаловать к потокам. Конечно, за 2 с половиной часа не получится изучить все ньюансы потоков, на это понадобится гораздо больше времени, и гораздо больше самостоятельной работы. Но мы будем надеяться, что Евгений Витольдович внемлет нашим мольбам, и продолжит этот мини курс, чтобы рассмотреть как можно больше материала и сразу применить его на практике. Ну чтож, будем ждать. А пока, если вы еще не зарегистрированы, добро пожаловать на проект videosharp.info, остальным - удачи в прохождении курсов, и в написании своих программ. Не забывайте, просто проходить уроки это добольно скучно, нужно пробовать добавлять что-то свое. Ведь программирование это не только линейные алгоритмы, и рутинные действия, это Творчество, а программисты - своего рода художники. До встречи на просторах программирования! |
|||||
12 | VIP. Игры со словами |
|
|||
Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного. На уроке мы ищем палиндромы, детские слова и анаграммы. Хорошее подспорье для игры Эрудит. |
|||||
Итого: 12 видеоуроков |
3 час. 38 мин. 1 тест |
25 чел. | |||
Финалисты: Максим Лапшинов, Андрей Н., Новопашин Владимир, Сергей Соколов, Артём, Елена, Станислав, Алексей|BrisK|Кривицкий, Yefim, Сергей, Tekashnik, Алексей Малышев, Александр, Sergio, Денис, chokayes, Николай Денисов, ser2018, Иван Воронин, Max, Кирилл, Дмитрий, Anatoli, Алексей В., MaxB . |