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

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

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

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

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

2,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:14:56 32 чел. ★ 4.9 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 20 мин. [Показать отчёт]
Научился: Узнал, что заяц по-английски hare. 
Сложности: Не понял почему используем статические поля, а не константы. 
Комментарии: Действительно, если у змеи будут голова и хвост, то их тоже можно сделать статичными. Еще цвет поля, например. 
2 Террариум 00:13:24 31 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: На каждом уроке учусь на чужом опыте. 
Сложности: Понять зачем в методе IntScreen мы написали блок else и вызываем в нем метод PutScreen если он ничего не выводит на экран.  
Комментарии: Предлагаю вариант написания метода AddHare( ): public static void AddHare( ) { int x = new Random().Next(1, size.x - 1); int y = new Random().Next(1, size.y - 1); PutScreen(new Coord(x, y), ConsoleColor.White, aHare); } 
3 Зайчики 00:13:40 31 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: Научился рисовать зайчиков. 
Сложности: Все прошло легко и непринужденно. 
Комментарии: Необходимо добавить нестатическое поле "длина питона". Возможно, "цвет питона", "количество съеденных зайчиков". Направление движения питона: право, лево, вверх, вниз. 
4 Питонатор 00:15:34 31 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: Всему понемногу. 
Сложности: Написать метод для отображения питона. 
Комментарии: Из-за того, что не умею пока пользоваться очередями Queue, написал метод который отображает голову питона. Направление головы питона выбрал сам. 
5 Поворот головы 00:20:51 31 чел. ★ 4.9 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: Научился перегружать оператор сложения для нашей структуры. 
Сложности: Рассмотреть питона на экране. 
Комментарии: Интересно. 
6 Поток питонов 00:17:02 30 чел. ★ 4.9 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 30 мин. [Показать отчёт]
Научился: Научился запускать питонов в потоке, а потом завершать их жизнь. 
Сложности: Была одна лехкотня. 
Комментарии: Крутые уроки! 
7 Бурная жизнь 00:14:56 30 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 34 мин. [Показать отчёт]
Научился: Научился рисовать тело змеи. 
Сложности: Понять что к чему. 
Комментарии: Удивительно что это заработало! :) 
8 Приоритет 00:14:20 29 чел. ★ 4.9 $
9 Замри! 00:17:49 28 чел. ★ 4.8 $
10 Смысл жизни 00:09:16 27 чел. ★ 5 $
11 ФИНАЛЬНЫЙ УРОК 27 чел. ★ 4.7 $
12 VIP. Игры со словами 01:06:32 11 чел. ★ 4.9 $
  Итого:   12 видеоуроков общей продолжительностью 3 час. 38 мин. 11 чел. ★ 4.92  
  Финалисты:   Максим Лапшинов,   Андрей Н.,   Новопашин Владимир,   Сергей Соколов,   Артём,   Елена,   Станислав,   Алексей|BrisK|Кривицкий,   Yefim,   Сергей,   Tekashnik .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Повторил то, что знал о потоках и предназначении static, узнал о приоритетах потоков и Monitor
Этот курс, как и другие в этой серии (других я не проходил), получился просто замечательный, особенно в плане визуализации. Но, в отличии от других, в этот раз это больше замечательная заготовка (для обучения и демонстрации работы с потоками). Сейчас попытаюсь объяснить. Я заметил, что все курсы из линейки "Професишарп" связаны: после того, как в первом мы во всех подробностях рассмотрели IEnumerator, с лёгкостью использовали его во втором, для создания класса работающего с графами, который, я надеюсь, очень пригодится нам здесь для того, чтобы змейка, например, шла к ближайшему зайцу. Как бы то ни было, в этом курсе заметно, что он третий подряд. За одну неделю одному человеку практически невозможно подготовить такую обширную тему, как потоки, тем более с такой потрясающей визуализацией. Теперь о самом курсе. Если вы ничего не знаете о потоках, лучше сначала пройдите урок "Нити на кубиках" (videosharp.info/video/soft2/nr=62), так как курс называется "Професишарп" и подразумевается, что что-то мы таки знаем =) Что же мы делали на этом курсе? Как я уже сказал большую его часть заняла визуализация, но она полностью стоила того, чтобы потратить на неё столько времени, но, естественно, это не всё. Также мы довольно детально рассмотрели подводные камни, которые встречаются, когда вы хотите, чтобы один объект работал в нескольких потоках, такие как: использование ключевого слова static и механизмы для синхронизации доступа к объектам lock и Monitor. Кроме этого, мы узнали, как задавать потоку определённый приоритет, что это даёт, как прерывать потоки извне, как обрабатывать это прерывание в самом потоке и как один поток может ожидать завершения другого (но, я считаю, что на последнее было выделено мало времени). Как видите, получился с одной стороны не длинный, и с другой стороны довольно насыщенный курс, и хотя довольно много всего было рассмотрено, почти всё это основы, так сказать база, без которой возможно рассматривать потоки на более глубоком уровне; вот почему, я считаю, что то, что есть на данных момент - это замечательный шаблон, взяв который который за основу можно ещё очень много сделать. С другой стороны, я и сам не знаю, что находится на этом "более глубоком" уровне, да и есть ли он вообще, так что вполне могу ошибаться на счёт всего этого. Но, в любом случае, с нетерпением жду продолжения =)
Научился: писать отзыв о курсе
Сегодня я бы хотел вам рассказать про пока еще небольшой курс "Бурные потоки". Бурные потоки это базовый курс по изучение потоков, или, как их еще называют, Нитей. Во время его прохождения мы научимся писать многопоточные приложения, создавать критические секции, чтобы потоки не мешали друг другу, попробуем себя в роли менеджера потоков, научимся прерывать их работу, управлять их приоритетом, и, как следствие процессорным временем. Чтобы нам было не скучно изучать такую важную, и в то же время достаточно сложную для понимания тему, мы напишем простенький визуализатор, чтобы все наши труды можно было не только пощупать изнутри, но и увидеть снаружи. Визуально отобразить работу потоков нам поможет такая простая и незамысловатая игра, как змейка. Только у нас она будет не одна, а целых несколько. И соревноваться они будут в поедании зайчиков, которые будут случайным образом появляться на нашей виртуальной заячей полянке. Но зайчики у нас будут не простые, а с IQ чуть ниже среднего, поэтому периодически они будут выкладывать на полянку вместо себя ловушки для наших питончиков. Наш добрый питончик, попав на такую ловушку очень огорчится и самоуничтожится, оставив после себя лишь небольшой памятник в качестве напоминания о своей нелегкой жизни. Вот такая вот у нас грустная история, в который все потоки когда-нибудь заканчиваются. А если вы пройдете еще и мини курс "Коллекция графа", то сможете научить своих питончиков двигаться не как попало, а к ближайшему зайчику, а также избегать хитрых заячих ловушек. Кто знает, возможно именно вы научите зайчиков убегать от питончиков, и создадите своей режим этой замечательной игры. Основные навыки и знания для работы с несколькими потоками мы получим буквально за 2 с половиной часа данного мини курса, конечно не считая время на самостоятельные занятия. И поверьте, когда вы окунетесь в этот дивный новый многопоточный мир , останавливаться вам явно не захочется! Ведь вам откроется такой простор для творчества! Не хотите блокировать работу формы, пока программа долго читает большой объем данных? Используйте потоки. Хотите распараллелить работу сложных вычислений? Добро пожаловать к потокам. Конечно, за 2 с половиной часа не получится изучить все ньюансы потоков, на это понадобится гораздо больше времени, и гораздо больше самостоятельной работы. Но мы будем надеяться, что Евгений Витольдович внемлет нашим мольбам, и продолжит этот мини курс, чтобы рассмотреть как можно больше материала и сразу применить его на практике. Ну чтож, будем ждать. А пока, если вы еще не зарегистрированы, добро пожаловать на проект videosharp.info, остальным - удачи в прохождении курсов, и в написании своих программ. Не забывайте, просто проходить уроки это добольно скучно, нужно пробовать добавлять что-то свое. Ведь программирование это не только линейные алгоритмы, и рутинные действия, это Творчество, а программисты - своего рода художники. До встречи на просторах программирования!