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

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

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

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

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

2,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Вступление 00:14:56 27 чел. ★ 4.9 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 15 мин. [Показать отчёт]
Научился: --- 
Сложности: --- 
Комментарии: Вопрос: какие ещё статические поля нужно добавить в класс Питона? Ответ: Поле, массив для его представления. 
2 Террариум 00:13:24 26 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 15 мин. [Показать отчёт]
Научился: --- 
Сложности: --- 
Комментарии: --- 
3 Зайчики 00:13:40 26 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 15 мин. [Показать отчёт]
Научился: --- 
Сложности: --- 
Комментарии: > какие не статичные поля нужны питону? Координаты тела и его длина, цвет, скорость и направление движения 
4 Питонатор 00:15:34 26 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 15 мин. [Показать отчёт]
Научился: --- 
Сложности: --- 
Комментарии: --- 
5 Поворот головы 00:20:51 25 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 25 мин. [Показать отчёт]
Научился: --- 
Сложности: --- 
Комментарии: Питон не отображался в самом начале из-за проблемы в методе ShowMe: PutScreen(cHead, color, aHead[(int)arrow]); PutScreen(cNone, color, aNone); т.е. он рисуется, а потом в том же самом месте затирается, если поменять строчки местами, то сразу все становится на свои места :) 
6 Поток питонов 00:17:02 25 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 25 мин. [Показать отчёт]
Научился: Научился запускать код в отдельном потоке и базовой работе с этим потоком. 
Сложности: --- 
Комментарии: --- 
7 Бурная жизнь 00:14:56 25 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 35 мин. [Показать отчёт]
Научился: --- 
Сложности: --- 
Комментарии: Очень сложный нетривиальный неочевидный алгоритм перемещения змей получается, но в принципе суть курса не в этом, а в изучении работы с потоками, поэтому не страшно. > Пpидyмaть cвою фишкy и реализовaть, написaть, что сделал. Добавил у змей поле для скорости speed, с помощью него у разных змей реализуется разная задержка в теле Run(): Thread.Sleep((10 - speed) * 25 + 50), где speed может быть от 0 до 9 
8 Приоритет 00:14:20 24 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 20 мин. [Показать отчёт]
Научился: Узнал о Monitor и о способе задания приоритета потока. 
Сложности: --- 
Комментарии: При выводе легенды все же стоит использовать форматированный вывод, например: Console.Write("#{0,-2}\t{1,3}", Thread.CurrentThread.ManagedThreadId, body.Count); Самое главное здесь - выровнять длины змей по правому краю, т.к. если змея имеет длину 10, а потом уменьшается до 9, то этот нолик от десятки сам не исчезнет... 
9 Замри! 00:17:49 23 чел. ★ 4.9 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 30 мин. [Показать отчёт]
Научился: Научился обрабатывать запросы на прерывание процесса и (при необходимости) противодействовать им. 
Сложности: --- 
Комментарии: --- 
10 Смысл жизни 00:09:16 22 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 25 мин. [Показать отчёт]
Научился: Научился использовать внешние прерывания потока с какой-то пользой, завершение потока наполнять смыслом, так сказать. 
Сложности: --- 
Комментарии: --- 
11 ФИНАЛЬНЫЙ УРОК 22 чел. ★ 4.8 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 10 мин. [Показать отчёт]
Научился: По отношению к курсу в целом. Курс достаточно интересный, позволяет изучить азы работы с потоками: их созданию и прерыванию, заданию приоритетов и обработке запросов на прерывание. 
Сложности: Пожалуй, особо сложного ничего не было лично для меня, единственное что смущает - это сам код змей, он достаточно запутан и вникнуть в него лучше особо не пытаться, задачу курса - усвоить азы работы с потоками - это решить не мешает. 
Комментарии: Ожидал от курса более глубокого рассмотрения работы с потоками, хотя, возможно, для кого-то и этот объем будет достаточно сложен для понимания. К сожалению, в это время года у меня традиционно очень мало времени, поэтому переписать код возможности сейчас нет, но он нуждается в большой работе, возможно даже в полном переписывании. Если запал к июлю-августу не пропадет и не появится другого "неотложного" увлечения или идеи, то попытаюсь переписать код этих змей. 
12 VIP. Игры со словами 01:06:32 5 чел. ★ 5 Done
  Отчёт отправил: 9263. Андрей Н. Решено за 2 час. 00 мин. [Показать отчёт]
Научился: Научился играть со словами! 
Сложности: --- 
Комментарии: Очень интересный видеоурок! Все-таки для поиска анаграмм выгоднее найти все массивы использования букв один раз и потом работать только с ними, это даст ускорение примерно в 1,5 раза А еще, я сначала не сравнивал длину слов, поиск анаграмм занимал почти минуту, после добавления проверки равенства длин время работы сократилось до 10 с! 
  Итого:   12 видеоуроков общей продолжительностью 3 час. 38 мин. 5 чел. ★ 4.97  
  Финалисты:   Максим Лапшинов,   Андрей Н.,   Новопашин Владимир,   Сергей Соколов,   Артём .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: писать отзыв
Трудности: писать отзыв
Курс хороший и особенно хорошо, что он консольный, это убирает лишнее. Новое было практически все, что связано с потоками и их прерыванием. Улучшить можно добавив какие-то еще примеры, где именно необходимо! использовать потоки, а где их можно заменить просто по-другому написав программу. Все-таки надо больше ООП, больше разделения, мне кажется, это не помешает восприятию кода.
Научился: Повторил запись видео
Трудности: null
В который раз убеждаюсь, что самое трудное в программировании - не программировать, а объяснить так, чтобы это понимали абсолютно все. Я честно старался почитать теории о потоках, но заснул на странице так третьей.  Тут же, на этом курсе, я изучил азы работы с потоками, параллельно написав игру, очень похожую на змейку. Только тут много змеек и все они - потоки. Приятно было управлять потоками, останавливать их, запускать, тем более, что они - приятные "животные" :) Если бы мне так в институте преподавали программирование или в школе информатику, то был бы олимпиадником... Обратная сторона медали: после изучения потоков в очередной раз понял, как мало я знаю... Но есть к чему стремиться! Спасибо, Евгений Витольдович, за этот курс и дополнительную мотивацию! Кстати, сегодня год как я серьёзно занимаюсь на этом проекте. Ура! :)
Смотреть видеозапись: https://www.youtube.com/watch?v=o1UF-v52bso