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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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







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



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Template Method - Introduction 00:06:03
38 чел. ★ 4.9 Done
  На этом уроке мы познакомимся с очередным
шаблоном: "Шаблонным метод" (Template Method).

Шаблонный метод (шаблон проектирования)
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 20 мин. [Показать отчёт]
Научился: абстрактный класс хранит в себе неизменяемый алгоритм действий, применяемый в массовом порядке Клиент обращается к абстрактному классу, а тот в свою очередь делегирует выполнение определённого алгоритма конкретным классам, обращающимся к абстрактному за инструкциями. Ежегодно у меня в рамках профессиональных обязанностей приходится обновлять корневые сертификаты всех пунктов моего региона. Их 600. И это 600 однотипных прохождений одного и того же. Залогиниться, десяток одинаковых, с малыми вариациями, кликов ПКМ, указание файла откуда взять обновку, проверка успешности обновления и выход. И так 600 раз. Если этого не делать - танцы с бубном, здравствуйте! Если это делать - немного тупеешь на время однообразного тыкания. Со временем скорость маслания мышью растёт, но идея автоматизации процесса всё равно витает в воздухе. Любопытно, поможет ли этот курс найти решение для подобной рутины. 
2 Template Method - Girl - Abstract 00:09:01
2 теста
33 чел. ★ 5 Done
  На этом уроке мы подробнее разберём
Шаблонный метод (Template Method),
используя пример знакомства с девушкой/парнем.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 31 мин. [Показать отчёт]
Научился: абстрактный класс содержит: +неизменяемый метод, одинаково применимый ко всем наследникам +переопределяемые методы, учитывающие особенности реализации конкретных наследников Саблайм не подсвечивал синтаксис. Нашел где включить(иллюстрация номер 1) 
3 Template Method - Girl - Macho Boy 00:09:55
33 чел. ★ 5 Done
  На этом уроке мы реализуем Шаблонный метод (Template Method),
в том варианте, который подготовили на прошлом уроке.
В качестве эксперимента мы будет именовать
все классы, методы и переменные на русском языке.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 50 мин. [Показать отчёт]
Научился: создали абстрактный класс с кириллическим именем Проблемы при создании класса не произошло, однако проверить кодировку не повредит: Window - Preferences - General - Workspace - Text file encoding У меня стояло Default (Cp1251) и не ругнулось на кириллицу в сигнатуре Поправил на Other - UTF-8, после применения имя класса исказилось, ошибки в коде. Удалил класс, пересоздал заново успешно 
4 Template Method - Girl - Program 00:05:16
2 теста
32 чел. ★ 5 Done
  На этом уроке мы завершим создание программы
для демонстрации Шаблонный метод (Template Method).
Для этого мы создадим класс Program() и
реализуем в нём основной метод main().
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 40 мин. [Показать отчёт]
Научился: клиент создаёт экземпляр абстрактного класса Единственный доступный метод - познакомиться, остальные закрыты Далее по шаблону отрабатывает каждый экземпляр со своими вариациями 
5 Template Method - Web Parser 00:04:22
30 чел. ★ 5 Done
  Мы начинаем серию уроков по созданию
парсера нужной информации, при помощи
Шаблонного метода, с интернет страниц.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 56 мин. [Показать отчёт]
Научился: F12 или CTRL+SHIFT+I - код страницы а) открыть сайт б) открыть код сайта в) найти строку г) найти информацию д) вернуть искомое значение 
6 Template Method - Web Parser - Abstract 00:07:05
30 чел. ★ 5 Done
  На этом уроке мы создадим абстрактный метод
нашего парсера при помощи Шаблонного метода.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 52 мин. [Показать отчёт]
Научился: абстрактный метод getURL возвращает строковое поле в переменную url загрузка сайта реализована приватным методом loadPage Поиск информации - абстрактный метод возвращающий булево значение 
7 Template Method - Web Parser - Time 00:06:57
2 теста
29 чел. ★ 5 Done
  На этом уроке мы создадим парсер времени с
сайта точного времени при помощи Шаблонного метода.
Для этого мы создадим класс WebTime(), который
унаследует методы WebParser() и реализуем
парсинг времени.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 34 мин. [Показать отчёт]
Научился: создали поиск текущего времени по маске в коде страницы сайта %H%:%i%:%s Выделение подстроки с 19 по 27 индекс - высчитано прямо из кода сайта сначала неточно, не была указана стартовая позиция, хранящаяся в переменной pos (первая иллюстрация) После указания стартового индекса считывание из метода loadPage проходит успешно 
8 Template Method - Web Parser - Loader 00:05:32
29 чел. ★ 5 Done
  На этом уроке мы реализуем функцию loadPage(),
которая будет загружать страничку по заданному адресу.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 9 мин. [Показать отчёт]
Научился: для обработки содержимого веб-страницы использовали экземпляр StringBuffer InputStreamReader читает весь код страницы BufferedReader читает построчно Чтение кода в бесконечном цикле выполняется до строки равной null append == добавлять,присоединять,прилагать, конкатенировать, привешивать, прибавлять, добавлять в конец При адаптации класса WebTime.java для иных сайтов, кроме time100.ru можно выдергивать требуемую информацию из-под капота сайта, а он и не узнает )) 
9 Template Method - Web Parser - Currency 00:07:00
28 чел. ★ 5 Done
  На этом уроке мы реализуем класс WebCurrency(),
так же наследуемый абстрактный класс WebParser(),
который будет считывать с сайта стоимость валюты.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 2 час. 10 мин. [Показать отчёт]
Научился: принцип парсинга с сайта: ищешь уникальную запись привязываешься к ней как к якорю от этого индекса отсчитываешь через сколько начать парсить отсчитываешь на каком индексе закончить выдергивание информации Метод getURL возвращает полный адрес целевой страницы, откуда будем стягивать инфу Метод findInfo ищет якорь, стартовый индекс от якоря, финальный индекс от якоря и в переменную записывает найденное В валютном парсере реализовали поиск выделением подстроки от якоря до плюс 200 индексов с разделением как в иксельке по знакам "кавычка", не забыв её экранировать Метод, в сигнатуре которого ты указал булевый тип возвращаемых данных, не забывай завершать ритёрном тру или фолза, иначе ашыпка С первого запуска код вернул NO DATA! (иллюстрация номер 1) Попробовал парсить ЦБ России - успех (вторая иллюстрация) 
Сложности: Не нашел поиска в коде веб-страницы, открываемый через F12 Изучаю проблему 
10 ФИНАЛЬНЫЙ УРОК без видео
7 тестов
12 чел. ★ 5 Done
  Поздpaвляю!
Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест".

Напиши отзыв или видеообзор по этому видеокурсу.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 50 мин. [Показать отчёт]
Научился: Если есть скелет, рыба или общее представление о том, как должна работать программа, то Шаблонный метод - это наш выбор. Создаётся суперкласс, в котором описывается абстракция поведения кода, а конкретику мы описываем в классах наследниках. Поскольку при создании классов-наследников IDE уже автоматически заготавливает методы, которые требуют реализации, процесс создания программы упрощается, разбиваясь на два этапа: создание общего описания КАК ДОЛЖНА РАБОТАТЬ программа, и реализация мелких подробностей в наследниках. Курс знакомит неподготовленного курсанта с шаблоном, давая первые представления, доступные к пониманию с чистого листа. Развитие темы - преррогатива учащегося. Особо порадовал раздел по созданию парсинга реального сайта в интернете. Прежде лишь краем уха слышал о такой фиче, теперь знаю, что парсить надо выцепляя адрес сайта, найдя в коде сайта уникальный якорь, отсчитывать от него требуемый диапазон для последующего анализа, загонять этот диапазон в массив, разбивая по имеющимся в коде сайта знакам препинания и с последующим возвратом в переменную искомого значения, как элемента массива. Несложно. Курс смело рекомендую начинающим пытливым умам. Всем удачи и приятных праздников! 
Сложности: Заниматься в двух метрах от праздничного стола с мандаринами и шампанским. 
Видеообзор: XG9v-RAMfts
  Итого:   10 видеоуроков 1 час. 01 мин.
13 тестов
12 чел. ★ 4.99  
  Финалисты:   Иван Воронин,   Сергей Соколов,   Станислав,   Povilas Abramovicius,   Новопашин Владимир,   Виктор,   Tekashnik,   ser2018,   Dmitry Sinitsin,   Александр,   Yefim,   Anatoli .

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





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

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

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

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


Научился: После первого урока я не прочувствовал необходимость использования данного вида шаблона проектирования. Но последующие уроки с конкретными примерами всё больше убеждали меня в полезности предложенного шаблона. А последние 2 урока, где показано, как можно извлекать информацию из других сайтов, не отавили никаких сомнений. Курс очень полезен.Рекомендую не пропускать его при изучении темы шаблоны проектирования. Большое спасибо за курс!



Научился: Если есть скелет, рыба или общее представление о том, как должна работать программа, то Шаблонный метод - это наш выбор. Создаётся суперкласс, в котором описывается абстракция поведения кода, а конкретику мы описываем в классах наследниках. Поскольку при создании классов-наследников IDE уже автоматически заготавливает методы, которые требуют реализации, процесс создания программы упрощается, разбиваясь на два этапа: создание общего описания КАК ДОЛЖНА РАБОТАТЬ программа, и реализация мелких подробностей в наследниках. Курс знакомит неподготовленного курсанта с шаблоном, давая первые представления, доступные к пониманию с чистого листа. Развитие темы - преррогатива учащегося. Особо порадовал раздел по созданию парсинга реального сайта в интернете. Прежде лишь краем уха слышал о такой фиче, теперь знаю, что парсить надо выцепляя адрес сайта, найдя в коде сайта уникальный якорь, отсчитывать от него требуемый диапазон для последующего анализа, загонять этот диапазон в массив, разбивая по имеющимся в коде сайта знакам препинания и с последующим возвратом в переменную искомого значения, как элемента массива. Несложно. Курс смело рекомендую начинающим пытливым умам. Всем удачи и приятных праздников!
Трудности: Заниматься в двух метрах от праздничного стола с мандаринами и шампанским.