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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

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

10 миниуроков.
2 часа 18 минут.
Доступ на 15 дней.

2,000 руб.


Для подписки на пакет необходимо авторизоваться.

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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:14:56 27 чел. ★ 4.9 Done
  Отчёт отправил: 1947. Denis Решено за 15 мин. [Показать отчёт]
Научился: вспомнил как избавляться от static 
Сложности: ничего 
Комментарии: Как и на вебинаре, предложил следующие статические поля: Координаты головы, направление, цвет. Я еще, правда, предложил длину хвоста, меня убедили, что это лишнее =)  
2 Террариум 00:13:24 26 чел. ★ 5 Done
  Отчёт отправил: 1947. Denis Решено за 20 мин. [Показать отчёт]
Научился: работать с экраном консоли 
Сложности: ничего 
Комментарии: Доп. задание сразу выполнить не удалось =) Выполним на следующем задании 
3 Зайчики 00:13:40 26 чел. ★ 5 Done
  Отчёт отправил: 1947. Denis Решено за 20 мин. [Показать отчёт]
Научился: добавлять пушистых ззайчиков =) 
Сложности: ничего 
Комментарии: из нестатических полей, нужны координаты головы, и координаты смещения головы на следующем ходу. 
4 Питонатор 00:15:34 26 чел. ★ 5 Done
  Отчёт отправил: 1947. Denis Решено за 20 мин. [Показать отчёт]
Научился: создавать конструктор питончика 
Сложности: ничего 
Комментарии: Ждем, ждем начала работы потоков 
5 Поворот головы 00:20:51 26 чел. ★ 5 Done
  Отчёт отправил: 1947. Denis Решено за 20 мин. [Показать отчёт]
Научился: описанию сложения структур operator + 
Сложности: ничего 
Комментарии: Сложение структур - Очень интересная штука, даже не подозревал о существовании такого =) Теперь при каждом удобном случае буду такое использовать! 
6 Поток питонов 00:17:02 26 чел. ★ 5 Done
  Отчёт отправил: 1947. Denis Решено за 15 мин. [Показать отчёт]
Научился: создавать критическую секцию 
Сложности: понять, как работает критическая секция 
Комментарии: Все таки, до конца не совсем понятно, как именно работает команда lock. Мы создаем в потоке какой-то объект, который служит флагом для нашего потока. Почему нужен именно объект, непонятно. Надеюсь понимание придет позже. Пока двигаемся дальше. 
7 Бурная жизнь 00:14:56 26 чел. ★ 5 Done
  Отчёт отправил: 1947. Denis Решено за 30 мин. [Показать отчёт]
Научился: Работе с потоками 
Сложности: реализовать точку в хвосте 
Комментарии: Повторять за Евгением Витольдовичем сложности не вызывает. А вот то, что делаешь сам - всегда вызывает какие-никакие трудности =) В данном случае, по совету Евгения Витольдовича, реализовал вывод точки на конце Питончика. 
8 Приоритет 00:14:20 25 чел. ★ 5 Done
  Отчёт отправил: 1947. Denis Решено за 20 мин. [Показать отчёт]
Научился: узнал о Monitor 
Сложности: ничего 
Комментарии: Когда длина питона становится больше 10, а потом падаем меньше 10, последний 0 от десятки остается на экране консоли. Нужно будет подумать, как от этого избавиться. 
9 Замри! 00:17:49 24 чел. ★ 4.8 Done
  Отчёт отправил: 1947. Denis Решено за 1 час. 00 мин. [Показать отчёт]
Научился: ловить ошибки потоков 
Сложности: переделать весь проект на WinForm 
Комментарии: Я не большой любитель консоли, поэтому решил переделать на вин формы. Визуализация сильно лучше не стала, пока просто перенес все на форму и переписал отображение. Пришлось использовать BeginInvoke, ибо при коллизиях в процедуре отрисовки писало, что объект занят другим потоком. 
10 Смысл жизни 00:09:16 23 чел. ★ 5 Done
  Отчёт отправил: 1947. Denis Решено за 30 мин. [Показать отчёт]
Научился: смыслу жизни питонов 
Сложности: понять, почему после рестарта сразу появляются мертвые лишние питоны 
Комментарии: Добавил колючки на карту, и если питон погибает, на его месте появляется крест. Хочу еще доделать, так что финальный отзыв надеюсь успею до 5 мая доделать. Может даже видео обзор сниму. 
11 ФИНАЛЬНЫЙ УРОК 23 чел. ★ 4.7 Done
  Отчёт отправил: 1947. Denis Решено за 30 мин. [Показать отчёт]
Научился: писать отзыв о курсе 
Сложности: придумать текст 
Комментарии: Сегодня я бы хотел вам рассказать про пока еще небольшой курс "Бурные потоки". Бурные потоки это базовый курс по изучение потоков, или, как их еще называют, Нитей. Во время его прохождения мы научимся писать многопоточные приложения, создавать критические секции, чтобы потоки не мешали друг другу, попробуем себя в роли менеджера потоков, научимся прерывать их работу, управлять их приоритетом, и, как следствие процессорным временем. Чтобы нам было не скучно изучать такую важную, и в то же время достаточно сложную для понимания тему, мы напишем простенький визуализатор, чтобы все наши труды можно было не только пощупать изнутри, но и увидеть снаружи. Визуально отобразить работу потоков нам поможет такая простая и незамысловатая игра, как змейка. Только у нас она будет не одна, а целых несколько. И соревноваться они будут в поедании зайчиков, которые будут случайным образом появляться на нашей виртуальной заячей полянке. Но зайчики у нас будут не простые, а с IQ чуть ниже среднего, поэтому периодически они будут выкладывать на полянку вместо себя ловушки для наших питончиков. Наш добрый питончик, попав на такую ловушку очень огорчится и самоуничтожится, оставив после себя лишь небольшой памятник в качестве напоминания о своей нелегкой жизни. Вот такая вот у нас грустная история, в который все потоки когда-нибудь заканчиваются. А если вы пройдете еще и мини курс "Коллекция графа", то сможете научить своих питончиков двигаться не как попало, а к ближайшему зайчику, а также избегать хитрых заячих ловушек. Кто знает, возможно именно вы научите зайчиков убегать от питончиков, и создадите своей режим этой замечательной игры. Основные навыки и знания для работы с несколькими потоками мы получим буквально за 2 с половиной часа данного мини курса, конечно не считая время на самостоятельные занятия. И поверьте, когда вы окунетесь в этот дивный новый многопоточный мир , останавливаться вам явно не захочется! Ведь вам откроется такой простор для творчества! Не хотите блокировать работу формы, пока программа долго читает большой объем данных? Используйте потоки. Хотите распараллелить работу сложных вычислений? Добро пожаловать к потокам. Конечно, за 2 с половиной часа не получится изучить все ньюансы потоков, на это понадобится гораздо больше времени, и гораздо больше самостоятельной работы. Но мы будем надеяться, что Евгений Витольдович внемлет нашим мольбам, и продолжит этот мини курс, чтобы рассмотреть как можно больше материала и сразу применить его на практике. Ну чтож, будем ждать. А пока, если вы еще не зарегистрированы, добро пожаловать на проект videosharp.info, остальным - удачи в прохождении курсов, и в написании своих программ. Не забывайте, просто проходить уроки это добольно скучно, нужно пробовать добавлять что-то свое. Ведь программирование это не только линейные алгоритмы, и рутинные действия, это Творчество, а программисты - своего рода художники. До встречи на просторах программирования! 
12 VIP. Игры со словами 01:06:32 5 чел. ★ 5 $
  Итого:   12 видеоуроков общей продолжительностью 3 час. 38 мин. 5 чел. ★ 4.95  
  Финалисты:   Максим Лапшинов,   Андрей Н.,   Новопашин Владимир,   Сергей Соколов,   Артём .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Изрекать поток сознания
Трудности: Придумать и написать, что то в этом пункте
Спасибо за курс, очень наглядно, актуально и интересно, что ж будем ждать суперпрофи вебинаров)
Научился: Использовать потоки.
Спасибо за прекрасный курс по потокам. Очень увлекательно и познавательно. Не хватило мне только информации о передаче данных из одного потока в другой. Правда мне уже удавалось это сделать в курсе "Фотошарп", где я замахнулся на использование прогресс бара в отдельном потоке. И столкнулся, что мне как-то надо передавать одну переменную в основной поток. Удалось реализовать в итоге с помощью такой строчки в новом потоке.: progressBar1.Invoke(new Action(() => progressBar1.Value = count)); Уж не знаю кому написал, но может это кого натолкнет на какую-нибудь идею.