Обучение программированию c# онлайн

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

Интернетный бот

Система авто-управления сайтом

Это более 20 уроков по написанию программы,
Выполняющей за тебя рутинные операции.
Мы пройдемся по всем этапам разработки.
Решим какие операции не приносят радости,
И их просто необходимо автоматизировать!
Мы проведем тебя по всему пути создания бота.
С нами ты обязательно дойдешь до финиша!
И получишь бесценные знания, опыт.
У тебя в руках будет мощный инструмент для работы с HTML.

Что ты получишь, пройдя курс:

+ Понимание HTML документа
+ Знания, для прохождения авторизации
+ Навык автоматизировать однотипные действия
+ Опыт, позволяющий тебе работать с динамическими ссылками
+ Универсальный инструмент для работы с контентом сайта.

Внимание! Заметьте, существует много инструментов и фреймворков для работы с HTML документом, но сторонние библиотеки не участвуют в разработке проекта, используются только встроенные возможности языка программирования C#.

После окончания курса у тебя будет полноценный,
Рабочий бот, выполняющий за тебя все операции.

Преимущества курса
+ Практические задания
+ Показаны различные возможности
+ Без сторонних библиотек
+ Курс не утяжелен теорией
+ Чёткий пошаговый алгоритм: повтори и получи
+ Универсальный подход к написанию (применяй в любых своих разработках)
+ Автоматизируй свою работу!

5,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Видеообзор Игры 00:06:05 27 чел. ★ 4.6 Done
  Отчёт отправил: 8275. Tekashnik Решено за 23 мин. [Показать отчёт]
Научился: Играть в игру Небоскрёбы 
Сложности: Сложно было, сидеть и играть в эту нудную игру 
Комментарии: Вообще не очень люблю игры, тем более такого характера 
2 Планирование функций 00:12:35 17 чел. ★ 4.8 Done
  Отчёт отправил: 8275. Tekashnik Решено за 34 мин. [Показать отчёт]
Научился: Рисовать блок-схему 
Сложности: Придумывать, что было самым сложным 
Комментарии: Какая приставучая игра, теперь я в неё играю :D Функции дополнительные можно: - постройка этажей - перераспределение рабочих - участвовать в жизни города (это с 15ого уровня) :D Да, да.... я дошёл до 18ого ^~D 
3 Подготовка формы 00:21:15 17 чел. ★ 4.7 Done
  Отчёт отправил: 8275. Tekashnik Решено за 35 мин. [Показать отчёт]
Научился: Повторил создание формы и причендалов на ней 
Сложности: Придумать, что было самым сложным 
Комментарии: Всем добра. 
4 Проверяем авторизацию 00:19:49 15 чел. ★ 4.8 Done
  Отчёт отправил: 8275. Tekashnik Решено за 45 мин. [Показать отчёт]
Научился: Закрепил изменение атрибутов HTML страницы 
Сложности: Придумать, что было самое сложное 
Комментарии: Хорошее начало, посмотрим, что будет дальше)) 
5 Авторизация 00:14:08 13 чел. ★ 4.8 Done
  Отчёт отправил: 8275. Tekashnik Решено за 32 мин. [Показать отчёт]
Научился: Выполнять авторизацию на простых сайтах 
Сложности: Придумать, что было самым сложным 
Комментарии: Я уже урока до 6 сам всё написал, так что посмотрим, как автор это всё реализует 
6 Робот приступает к действиям 00:21:04 13 чел. ★ 4.8 Done
  Отчёт отправил: 8275. Tekashnik Решено за 45 мин. [Показать отчёт]
Научился: Кликать по ссылкам 
Сложности: Придумывать, что было самым сложным 
Комментарии: Ну я немного не так реализовывал, но конва прослеживается) 
7 Робот ходит за покупками 00:28:27 13 чел. ★ 4.8 Done
  Отчёт отправил: 8275. Tekashnik Решено за 34 мин. [Показать отчёт]
Научился: немного рефакторить 
Сложности: Придумывать, что было самым сложным 
Комментарии: Пишу бота номер 2, а пока первый повышает моё благосостояние :) 
8 Лифтёра вызывали? 00:20:42 13 чел. ★ 4.8 Done
  Отчёт отправил: 8275. Tekashnik Решено за 45 мин. [Показать отчёт]
Научился: Отточил мастерство в набирании однообразных функций и условий 
Сложности: Набирать однообразные функции и условия (это я лукавлю.... я знаю Copy/Paste) (= 
Комментарии: На странице quest найти строчку.Contains("7 из 7") если true то выходим из функции) По мне так лучше использовать Contains вместо двух условий string > X && string == "this.string" 
9 Сегодня выполняем "задания" 00:26:56 13 чел. ★ 4.8 Done
  Отчёт отправил: 8275. Tekashnik Решено за 43 мин. [Показать отчёт]
Научился: Резать строки, парсить числа 
Сложности: Придумывать, что было самым сложным 
Комментарии: Мне кажется, условия усложнены, можно сделать проще, напимер как у меня) см. скрин Что касается строковой переменой, можно enum сделать, строковый массив, строковый list, строковый ... 
10 Работа - работа, перейди на Федота, а с Федота... 00:21:31 13 чел. ★ 4.7 Done
  Отчёт отправил: 8275. Tekashnik Решено за 31 мин. [Показать отчёт]
Научился: Делать из ЧекБокса кнопку 
Сложности: Да вроде ничего сложным не было, сложный вопрос, который автор задания задал, на него бы я хотел получить ответ 
Комментарии: Всем здравствуйте ну и начнём. Проблема загрузки страницы меня волнует уже некоторое врёмя, я много гуглил, есть разные решения, но 100% универсального решения нет. Для нашего случая (случай очень простой и лёгкой html страницы) всё очень просто: if (webbrowser.DocumentCompleted != WebBrowserReadyState.Complete) Application.DoEvents(); можно ждать наступление события webBrowser_DocumentCompleted И в нашем случае это прокатит, но есть случаи когда на странице несколько фреймов и по завершению загрузки каждого будет срабатывать событие webBrowser_DocumentCompleted, и в общем случае непонятно сколько таких событий должно быть, если не рассматривается одна конкретная страница и под неё всё не затачивается. А ещё весёлый случай когда WebBrowserReadyState.Complete не наступает, то есть страница его вообще не достигает а замирает на WebBrowserReadyState.Interactive - тоже неприятная ситуация. Вот вопрос к создателю, знает ли он универсальный способ (для любой страницы) определения загрузилась ли она?  
11 Лабиринт Минотавра 00:32:54 13 чел. ★ 4.7 Done
  Отчёт отправил: 8275. Tekashnik Решено за 49 мин. [Показать отчёт]
Научился: Открывать двери невидимой рукой. 
Сложности: Придумать, что было самым сложным 
Комментарии: Наш рандом в таком виде будет работать, если только наши ссылки будут всегда первыми, иначе будет фигня. Так и не понял, почему называется лабиринт :) Ведь по факту лучше наверное назвать "Двери", ну да ладно это кому как нравится. А проверки... ну во-первых по наличию ключей, а второе нужно выигрыш как то забрать ежели мы дошли до конца) Интересно подбить статистику, как часто рандом будет доходить до конца) 
12 Лабиринт Минотавра и нить Ариадны 00:18:14 12 чел. ★ 4.8 Done
  Отчёт отправил: 8275. Tekashnik Решено за 58 мин. [Показать отчёт]
Научился: Возиться с ключами, комнатами, и другой чепухой 
Сложности: Придумывать, что было самое сложное 
Комментарии: По мне так вообще с начала не нужно начинать открывать двери если ключей меньше 10 
13 Уборка помещений 00:51:26 12 чел. ★ 4.7 Done
  Отчёт отправил: 8275. Tekashnik Решено за 1 час. 32 мин. [Показать отчёт]
Научился: Рефакторить 
Сложности: Не запутаться в многообразии неотрефакторенного кода 
Комментарии: Я уж думал мы не будем создавать новых классов, но был приятно удивлён. Сделать mode публичной и пользовать из одного места, скажем из формы 
14 Цикличность бытия 00:32:34 12 чел. ★ 4.7 Done
  Отчёт отправил: 8275. Tekashnik Решено за 49 мин. [Показать отчёт]
Научился: программно переключать состояния 
Сложности: Придумать, что было самым сложным 
Комментарии: Вспомнил замечание! У нас же закупка по верхней цене происходит, а выгодней по нижней, это нужно исправить срочно! Останавливать таймер нужно когда NeedCicle() вернёт false 
15 Сколько времени? 00:22:32 11 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 39 мин. [Показать отчёт]
Научился: Повтарил, время и форматирование строк 
Сложности: Решить как всё расположить, чтобы влезло время 
Комментарии: У нас же есть в методе Rabota() строчка if (web.ReadyState != WebBrowserReadyState.Complete) return; что ещё надо то? она по моему прекрасно справляется 
16 Настройки меняют настроение 00:33:45 11 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 1 час. 27 мин. [Показать отчёт]
Научился: Рефакторить, проверять 
Сложности: Искать ошибки 
Комментарии: Ну а у меня уже 26 уровень)) Для сохранение настроек можно сделать файл с настройками 
17 С настройками всё в порядке! 00:37:54 11 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 1 час. 49 мин. [Показать отчёт]
Научился: Рефакторить программу и сохранять настройки внутри 
Сложности: не запутаться 
Комментарии: Очень мудрёный код получился, и что самое странное после 2-3 кругов у меня бот разлогинивается, пока не могу понять почему это происходит, а так всё ровно работает 
18 Жители. Выбираем гостиницу 00:23:13 10 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 1 час. 13 мин. [Показать отчёт]
Научился: Создавать mode, перебирать коллекции, всё как всегда 
Сложности: не запутаться в запутанном коде 
Комментарии: Выгоняем всех у кого нет 9 или (+) 
19 Жители. Кто следующий? 00:29:45 11 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 1 час. 21 мин. [Показать отчёт]
Научился: перебирать код, туда сюда)) 
Сложности: Уже много всего, ориентироваться не очень просто 
Комментарии: Вот оно моё ДЗ: private void HumansOut() { HtmlElementCollection collection = web.Document.Links; foreach (HtmlElement link in collection) { if (link.OuterText.Trim() != "" && link.OuterText.Contains("Выселить") ) { web.Navigate(link.GetAttribute("href")); } } } 
20 Жители. Кто хочет сегодня поработать? 00:25:52 11 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 59 мин. [Показать отчёт]
Научился: Выбирать из коллекции элемент, из выбранного элемента делать коллекцию и снова выбирать элемент, и так пока не разложим html на атомы 
Сложности: Придумывать, что было самым сложным 
Комментарии: Собственно на скриншоте мой интрефейс... добавлено состояне в котором находится сейчас бот ну и в принципе ничего пока сверх.. 
21 Жители. Кто не работает - то не ест! 00:20:17 11 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 54 мин. [Показать отчёт]
Научился: Писать много if 
Сложности: Не запутаться 
Комментарии: floor/ - не работало потому что нужно было писать floors/ ;) Веселый курс) надо бы что нибудь полезное, доброе, вечное сделать) Вся работа программы в видеообзре будет 
22 ФИНАЛЬНЫЙ УРОК 00:23:23 8 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 43 мин. [Показать отчёт]
Научился: Записывать видеообзор 
Сложности: Записывать видеообзор 
Комментарии: Полезный курс, спасибо за него Кириллу Шмойлову. Думаю что он пригодится в программировании, для устранения всякой рутины) Рекомендован к прохождению. 
Видеообзор: https://youtu.be/cfRlAry9Ays
23 VIP. Формирование цикла 00:21:06 6 чел. ★ 5 Done
  Отчёт отправил: 8275. Tekashnik Решено за 56 мин. [Показать отчёт]
Научился: Рефакторить программу, использовать очередь 
Сложности: Придумывать, что было самым сложным 
Комментарии: Да, как сказал автор курса, нет пределу совершенства, ещё воять и воять)) 
  Итого:   23 видеоурока общей продолжительностью 9 час. 25 мин. 6 чел. ★ 4.85  
  Финалисты:   Новопашин Владимир,   Tekashnik,   Alcatraz,   Дмитрий 199,   Максим Лапшинов,   Ludmila .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Курс мне понравился , но обзор писать не буду. потому что на это уйдет кучу времени , а навыка записи видео пока мне не надо. лучше выполню несколько задании с этого замечательного курса.
Трудности: Да курс не из простых, несмотря на то что мы вроде все написали докручивать еще придется . Для этого надо и навыки программирования и какие то новые задачи.
..
Научился: Записывать видеообзор
Трудности: Записывать видеообзор
Полезный курс, спасибо за него Кириллу Шмойлову. Думаю что он пригодится в программировании, для устранения всякой рутины) Рекомендован к прохождению.
Смотреть видеозапись: https://youtu.be/cfRlAry9Ays