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

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса 512 256 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 8 рублей.

Первый взнос - 256 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 256 рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 512 руб./30 дней + 512 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Вступление 00:14:56
1 тест
60 чел. ★ 5 Done
  На этом уроке мы сделаем небольшое теоретическое введение в потоки
и начнём создавать консольное приложение с самодостаточным классом
для Питона.
Вопрос: какие ещё статические поля нужно добавить в класс Питона?
Отчёт отправил: 10558. Иван Воронин Выполнено за 22 мин. [Показать отчёт]
Научился: Голову как минимум добавить надо, чтобы видно было чем он лопает =) всё отлично, идём дальше. 
Сложности: найти время 
2 Террариум 00:13:24
56 чел. ★ 5 Done
  На этом уроке мы подготовим экран для наших питонов.
Сделаем по краям стенки, чтобы они не уползли.
Напишем функцию для сохранения и отображения символов.
* Создайте метод AddHare() для добавления зайчика.
Отчёт отправил: 10558. Иван Воронин Выполнено за 21 мин. [Показать отчёт]
Научился: Реализовал функцию размещения кроликов, ничего сложного, одна строчка разбитая по правилу 70. Всё отлично, идём дальше. 
Сложности: найти время 
3 Зайчики 00:13:40
56 чел. ★ 5 Done
  На этом уроке мы напишем статический метод для добавления зайчика на поле.
Для этого нам потребуется несколько вспомогательных методов,
которые окажутся полезными и в других частях нашей программы.
В конце урока мы выведем на экран сотню зайчиков :)
Ответить на вопрос: какие не статичные поля нужны питону?
Отчёт отправил: 10558. Иван Воронин Выполнено за 19 мин. [Показать отчёт]
Научился: Кроликов добавил ещё на прошлом уроке, на этом порефакторил проверки и функцию добавления. 
Сложности: найти время 
4 Питонатор 00:15:34
56 чел. ★ 5 Done
  На этом уроке мы опишем нужные поля для нашего питона
и создадим статическую функцию для создания его экземпляра.
Также нам понадобится конструктор, который мы сделаем приватным.
Отчёт отправил: 10558. Иван Воронин Выполнено за 22 мин. [Показать отчёт]
Научился: Поиск места тарта питона вынес в отдельную функцию, так же мелкие рефакторинги кода. Реализовал функцию Show(), добавил 3 питона на поле. 
Сложности: найти время 
5 Поворот головы 00:20:51
55 чел. ★ 4.9 Done
  На этом уроке мы сделаем отображение питона,
поворот его головы и передвижение по экрану.
* Оживить питонов самостоятельно.
Отчёт отправил: 10558. Иван Воронин Выполнено за 50 мин. [Показать отчёт]
Научился: Рандомные цвета/направления, всё отлично, идём дальше. з.ы. подобное уже реализовывал пару лет назад, когда проходил урок по созданию игры: "Змейка" 
Сложности: найти время 
6 Поток питонов 00:17:02
53 чел. ★ 4.9 Done
  На этом уроке мы наконец-таки займёмся потоками.
Запустим наших питонов сначала в одном потоке,
а потом в отдельных - нам понадобится метод Run().
Создадим критическую секцию через lock.
Протестируем режим Foreground/Background режимы.
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Отличный урок, коротко и ясно, идём дальше. 
Сложности: найти время 
7 Бурная жизнь 00:14:56
53 чел. ★ 4.9 Done
  На этом уроке мы допишем класс питон и получим эстетическое удовольствие
от созерцания нашего террариума с нашими Питонами и Зайцами.
* Придумать свою фишку и реализовать, написать, что сделал.
Отчёт отправил: 10558. Иван Воронин Выполнено за 45 мин. [Показать отчёт]
Научился: Реализовал вероятность 50%, что кролик убежит от питона во время столкновения, всё отлично, идём дальше. 
Сложности: найти время 
8 Приоритет 00:14:20
50 чел. ★ 5 Done
  На этом уроке мы поиграемся с приоритетом потоков,
воспользуемся монитором для создания критической
секции, выведем на экран легенду потоков с id.
Отчёт отправил: 10558. Иван Воронин Выполнено за 50 мин. [Показать отчёт]
Научился: Судя по тому что на видео произошло по поводу коллизии с питонами при юзе Monitor в функции добавления символа на поле, а потом обрамили Monitor'ом всё, что было связано с вычислением шага и добавлением зайца на поле и всё стало отлично, явно прослеживается различие от lock(). Всё отлично, идём дальше. з.ы. Не добавлял lock() в функции Info(), так как эта функция уже обрамлена ранее через Monitor в цикле и всё отрабатывает отлично. 
Сложности: найти время 
9 Замри! 00:17:49
49 чел. ★ 4.8 Done
  На этом уроке мы поговорим о статусах потока:
Unstarted, Running, Wait/Sleep/Join, Abort Requested, Stopped.
Создадим функционал для остановки потоков по нажатию клавиш.
И научимся сопротивляться этим остановкам.
Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 17 мин. [Показать отчёт]
Научился: когда используются подобные конструкции, всегда должна быть проверка, а имеется ли вхождение в критическую секцию, поэтому добавил такую проверку и ошибки как в видео не случилось. Вариант с двойной вложенностью бесконечных циклов выглядит удручающе, но тут уже на вкус и цвет =) 
Сложности: найти время 
10 Смысл жизни 00:09:16
48 чел. ★ 5 Done
  На этом уроке мы сделаем красивое завершение потока.
Также добавим крестики на экран для "логичного" завершения жизни питона.
Смысл жизни - в самой жизни, каждый питон это понял, а ты?..
Отчёт отправил: 10558. Иван Воронин Выполнено за 43 мин. [Показать отчёт]
Научился: Отличное завершение замечательного мини курса. Курс хоть и короткий, но дано достаточно информации, чтобы дальше было куда пилить свои идеи. Ранее в комментариях читал, что курс кажется не завершённым, эта информация не подтвердилась, как говорится, по правилам MVP всё что нужно показано, даже немного лишнего (варианты синхронизаций). Естественно есть ещё что показать по этой теме, но тут не вторая часть нужна и не продолжение, а более развёрнутый новый курс, за основу можно и данный курс взять, либо придумать новых подопытных =) 
Сложности: найти время 
11 ФИНАЛЬНЫЙ УРОК без видео
43 чел. ★ 4.8 Done
  Поздравляю с окончанием миникурса "Бурные потоки".

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

Ты молодец!

Какой курс ты будешь проходить следующим?
Отчёт отправил: 10558. Иван Воронин Выполнено за 9 мин. [Показать отчёт]
Научился: Суперский курс, отличное пособие для тех, кто впервые изучает потоки, даётся база, от которой легко отталкиваться в нужных направлениях. см. видео. Курс полноценный, но если спросите, нужен ли курс более продвинутый, то я скажу так: "думаю никто бы не отказался от этого, поэтому вопрос сам по себе является ответом" =) з.ы. Больше интересных и креативных курсов на проекте ему не повредит, а только сделает лучше =) 
Сложности: найти время 
Видеообзор: Nbr0W-3Ahu8
12 VIP. Игры со словами 01:06:32
23 чел. ★ 4.8 Done
  Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного.
На уроке мы ищем палиндромы, детские слова и анаграммы.
Хорошее подспорье для игры Эрудит.
Отчёт отправил: 10558. Иван Воронин Выполнено за 2 час. 35 мин. [Показать отчёт]
Научился: Решил этот урок ещё в 2016 году, когда он продавался в чашке кофе, все подробности в видео отчёте, приятного просмотра. 
Сложности: найти время 
Видеообзор: Fz-xjZkF3WQ
  Итого:   12 видеоуроков 3 час. 38 мин.
1 тест
23 чел. ★ 4.93  
  Финалисты:   Максим Лапшинов,   Андрей Н.,   Новопашин Владимир,   Сергей Соколов,   Артём,   Елена,   Станислав,   Алексей|BrisK|Кривицкий,   Yefim,   Сергей,   Tekashnik,   Алексей Малышев,   Александр,   Sergio,   Денис,   chokayes,   Николай Денисов,   ser2018,   Иван Воронин,   Max,   Кирилл,   Дмитрий,   Anatoli .

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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: На этом курсе я познал азы работы с потоками. Научился добавлять критические секции чтобы потоки не мешали друг другу. То что работа потоков визуализирована с помощью змеек это очень крутая идея. Все рассказано просто, доходчиво и наглядно. Жду продолжения темы многопоточности в других курсах.
Трудности: достаточно простой для прохождения курс
Спасибо за новые знания! =)


Научился: Хорошо демонстрирует суть потоков, хотелось бы лучше увидеть как работать с общими данными, использоывать оператор lock() или Monitor.Enter/ Monitor.Exit Больше примеров с другими методами работы с потоками и примеры их использования