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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта
Вебинар «Мы начинаем PHP + Yii2» начнётся через 2 дня 15 час. 10 мин.

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

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

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

Хочу купить!

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

Цена: 800 p.


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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:14:56 39 чел. ★ 4.9 Done
  На этом уроке мы сделаем небольшое теоретическое введение в потоки
и начнём создавать консольное приложение с самодостаточным классом
для Питона.
Вопрос: какие ещё статические поля нужно добавить в класс Питона?
Отчёт отправил: 6282. Михаил Выполнено за 15 мин. [Показать отчёт]
Научился: Пока ничему новому. 
Сложности: Ничего. 
Комментарии: Нет. 
2 Террариум 00:13:24 38 чел. ★ 5 Done
  На этом уроке мы подготовим экран для наших питонов.
Сделаем по краям стенки, чтобы они не уползли.
Напишем функцию для сохранения и отображения символов.
* Создайте метод AddHare() для добавления зайчика.
Отчёт отправил: 6282. Михаил Выполнено за 30 мин. [Показать отчёт]
Научился: Создал методы в классе Змейки-питона для рисования поля. 
Сложности: Ничего. 
Комментарии: Замечаний нет. 
3 Зайчики 00:13:40 38 чел. ★ 5 Done
  На этом уроке мы напишем статический метод для добавления зайчика на поле.
Для этого нам потребуется несколько вспомогательных методов,
которые окажутся полезными и в других частях нашей программы.
В конце урока мы выведем на экран сотню зайчиков :)
Ответить на вопрос: какие не статичные поля нужны питону?
Отчёт отправил: 6282. Михаил Выполнено за 40 мин. [Показать отчёт]
Научился: реализовал новые методы в классе питона для проверки координат и добавления кролика на поле. 
Сложности: Ничего. 
Комментарии: Возможные нестатичные поля класса: - цвет питона, - длина питона, - координаты питона, - жив/мертв, - направление движения, - скорость движения 
4 Питонатор 00:15:34 38 чел. ★ 5 Done
  На этом уроке мы опишем нужные поля для нашего питона
и создадим статическую функцию для создания его экземпляра.
Также нам понадобится конструктор, который мы сделаем приватным.
Отчёт отправил: 6282. Михаил Выполнено за 30 мин. [Показать отчёт]
Научился: Создал статический метод для создания экземпляра питона, а также приватный конструктор 
Сложности: В уроке вроде бы ничего. 
Комментарии: А вот сообразить как вывести на экран питона не получается(((. В методе ShowPython в цикле foreach получаю только координату очередного элемента тела питона, а где же хранится символы для хранения??? Не соображу... 
5 Поворот головы 00:20:51 37 чел. ★ 4.9 Done
  На этом уроке мы сделаем отображение питона,
поворот его головы и передвижение по экрану.
* Оживить питонов самостоятельно.
Отчёт отправил: 6282. Михаил Выполнено за 40 мин. [Показать отчёт]
Научился: Добавлены новые функции для "оживления" питонов. Заодно подкорректировали класс Coord. 
Сложности: Ничего 
Комментарии: С удивлением узнал, что оказывается в C# как и в C++ можно делать перегрузку операторов.  
6 Поток питонов 00:17:02 35 чел. ★ 4.9 Done
  На этом уроке мы наконец-таки займёмся потоками.
Запустим наших питонов сначала в одном потоке,
а потом в отдельных - нам понадобится метод Run().
Создадим критическую секцию через lock.
Протестируем режим Foreground/Background режимы.
Отчёт отправил: 6282. Михаил Выполнено за 30 мин. [Показать отчёт]
Научился: Познакомился (впервые) с созданием потоков в программе, реализацией критической секции, фоновым процессом!!! 
Сложности: Необходимо вникнуть в суть урока - чтобы закрепить понимание принципов работы с потоками! 
Комментарии: Супер!! Урок очень понравился! Особенно наблюдать рой движущихся "питончиков". 
7 Бурная жизнь 00:14:56 35 чел. ★ 5 Done
  На этом уроке мы допишем класс питон и получим эстетическое удовольствие
от созерцания нашего террариума с нашими Питонами и Зайцами.
* Придумать свою фишку и реализовать, написать, что сделал.
Отчёт отправил: 6282. Михаил Выполнено за 30 мин. [Показать отчёт]
Научился: Доработал методы Step ShowMe и наконец наступил торжественный момент запуска программы. 
Сложности: Ничего 
Комментарии: Можно бесконечно наблюдать за жизнью в "террариуме"! 
8 Приоритет 00:14:20 34 чел. ★ 4.9 Done
  На этом уроке мы поиграемся с приоритетом потоков,
воспользуемся монитором для создания критической
секции, выведем на экран легенду потоков с id.
Отчёт отправил: 6282. Михаил Выполнено за 20 мин. [Показать отчёт]
Научился: Поэкспериментировал с приоритетами потоков. Добавил поля с информацией о номере питона и его длине на игровое поле. 
Сложности: Ничего 
Комментарии: Нет замечаний 
9 Замри! 00:17:49 33 чел. ★ 4.8 Done
  На этом уроке мы поговорим о статусах потока:
Unstarted, Running, Wait/Sleep/Join, Abort Requested, Stopped.
Создадим функционал для остановки потоков по нажатию клавиш.
И научимся сопротивляться этим остановкам.
Отчёт отправил: 6282. Михаил Выполнено за 40 мин. [Показать отчёт]
Научился: Провел эксперименты с остановкой движения каждого питона. 
Сложности: Понять смысл работы с ThreadAbortException и методом Thread.ResetAbort();  
Комментарии: Так до конца и не понял почему нужно было помещать в while() еще один while() и для чего применяли Thread.ResetAbort(); если все равно питон продолжал двигаться((( 
10 Смысл жизни 00:09:16 32 чел. ★ 4.9 Done
  На этом уроке мы сделаем красивое завершение потока.
Также добавим крестики на экран для "логичного" завершения жизни питона.
Смысл жизни - в самой жизни, каждый питон это понял, а ты?..
Отчёт отправил: 6282. Михаил Выполнено за 30 мин. [Показать отчёт]
Научился: Сделали завершение жизни питона при попадании его головы на символ Х. 
Сложности: Ничего. 
Комментарии: Один питон попался очень хитрый - никак не попадал на символ Х (какая тяга к жизни!!!) 
11 ФИНАЛЬНЫЙ УРОК 32 чел. ★ 4.7 Done
  Поздравляю с окончанием миникурса "Бурные потоки".

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

Ты молодец!

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

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Потренировался в писании отчетов))
Трудности: Осмыслить итоги курса
Курс понравился простотой и наглядностью изложения, как хороший образец программирования . Недостатком я считаю недостаточное углубление в собственно потоки. Хотел бы пройти курс, где рассматривались алгоритмы на графах.


Научился: Для меня курс был очень информативен. Получил основу для более углубленного изучения потоков.
Трудности: Не могу назвать курс сложным, но порой код для меня представлялся запутанным. Один раз очень долго искал ошибку. Очень мелкую и досадную.
Курс прекрасный, особенно в части потрясающей визуализации. Огромное спасибо автору за вложенный труд, время, знания и частицу здоровья!