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

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!

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

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

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

Хочу купить!

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

Цена: 800 p.


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

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

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

Ты молодец!

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

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Курс очень полезен для тех кто хочет разобраться в многопоточности создаваемых приложений Для себя вынес много полезной инфы.
--
Научился: Научился использовать потоки, не только Thread.Sleep(), но и Lock, и Monitor, теперь знаю, что такое критическая секция, гонка потоков, Join, приоритеты (хотя последние два понятия думаю мало кто использует), понял разницу между основным потоком и фоновым. Теперь сделать отзывчивый пользовательский интерфейс не проблема. ) Но это все база! Курс отличный, но маленький. Такая серьезная тема, этот курс требует доработки в будущем. Многое осталось за бортом. Придется изучать самостоятельно. Следующий курс в порядке очередности. А питончики получились классные.
Трудности: все просто. думал будет сложнее.