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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта | Обход блокировки
Игровой комплекс Сокобан - Введи код скидки

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

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

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

Хочу купить!

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

Цена: 800 p.


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

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

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

Ты молодец!

Какой курс ты будешь проходить следующим?
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 10 мин. [Показать отчёт]
Научился: Узнал как в с# используются потоки  
Сложности: исправлять свои недочеты 
Комментарии: Очень классное знакомство с потоками было на примерами питонов Вот бы так в университете приподовалибы Спасибо за курс 
12 VIP. Игры со словами 01:06:32 16 чел. ★ 4.8 Done
  Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного.
На уроке мы ищем палиндромы, детские слова и анаграммы.
Хорошее подспорье для игры Эрудит.
Отчёт отправил: 5649. Максим Лапшинов Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Узнал какие игры есть со словам и написал интересно было почитать слова. узнал про StringBuilder и применил (раньше тоже знал но не приходилось использовать) про textWords.Lines.Length не знал а сейчас знаю Написал сперва сам алгоритм "Сложный Эрудит" как по мне более простой но не очень его можно наверное улучшать и изменять (скрин алгоритма прикреплен) 
Сложности: Было сложно игры в города найти в чем ошибка А ошабка была что я написал: string first_letter = "A"; а надо было написать : string first_letter = "А"; кто не догадался ошибка в том что я написавший был английскую А букву а надо было русскую. Сам не заметил что английская букву написал я. 
Комментарии: count.ToString() не обезательно уже писать если идет + строка слов вы там уже сами устали на сложном эрудите linq это уже отдельная и интересная тема можно отдельный курс сделать по linq Мне linq понравилось применять его в запросах к базам данных хорошая связь идет таблиц и надо намного меньше кода писать чем в sql, но есть и минусы его по отношению к sql запросам сложным и производительности Увы так вышло что смог выполнить этот урок за пару вечеров только. 
  Итого:   12 видеоуроков общей продолжительностью 3 час. 38 мин. 16 чел. ★ 4.9  
  Финалисты:   Максим Лапшинов,   Андрей Н.,   Новопашин Владимир,   Сергей Соколов,   Артём,   Елена,   Станислав,   Алексей|BrisK|Кривицкий,   Yefim,   Сергей,   Tekashnik,   Алексей Малышев,   Александр,   Sergio,   Денис,   chokayes .

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




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

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

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

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


Научился: Уверенно чувствовать себя в водовороте бурных потоков в океане C#.
Трудности: Некоторые уроки приходилось смотреть повторно чтобы разобраться.
Отличный курс для прохождения за выходные! Особенно визуализация, думаю я еще долго буду вместо скринсейвера использовать результаты этого курса! Огромное спасибо автору за радость творчества!


Научился: Писaть отзыв о куpсe
Трудности: Подбирать слова, чтобы не повторяться.
Как всегда, курс оказался на должной высоте. Никакой воды. Все по делу. Тема потоков - довольно сложная. Но удачная иллюстрация (питоны-зайцы), плюс уникальная способность сложные вещи объяснять простым языком свели всю сложность на нет. Конечно такую тему как потоки охватить в полном объеме за отведенное время невозможно. Зато пробудился страшный аппетит к более глубокому изучению теории потоков. А это дорогого стоит. Почти после каждого урока я не просто копировал код, а старался добавлять свою импровизацию. По ходу дела узнал что-то новое по программированию и технике набора кода. Что касается добавления функциональности, то есть немало идей. Во-первых нечестно, что питоны движутся а зайцы нет. Можно реализовать интеллектуальных питонов. То есть - заставить их двигаться не случайно, а целенаправленно. Следующий курс буду проходить Сетевые технологии.