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 Soft - Вступление и подготовка 00:08:02
64 чел. ★ 4.8 Done
  Наша цель - разобраться в этом фреймворке
и создать рабочий проект - новую видеошколу.

Каждый формулист может стать соавтором новой видеошколы.
Каждый участник может написать свои строчки для проекта.
И каждый из них получит незаменимый опыт
по созданию реального рабочего проекта
с использованием современных технологий:
Yii, PHP, MySQL, Git, Bootstrap, JavaScript, jQuery, AJAX и многое другое.

Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Устанавливать OpenServer 
Сложности: Дождаться конца долгой установки 
Комментарии: Нет инструкции по установке 
2 Web - Первый кирпич сайта 00:07:45
51 чел. ★ 4.9 Done
  На этом уроке мы настроим минимальные версии модулей
на нашем OpenServer для дальнейшей работы.
Проверим версии apache, php и MySQL.
После чего мы поработаем в консоли, создав необходимый минимум.
Далее мы проверим работоспособность нашего мини сайта.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Запускать PHP сервер из консоли и настраивать домены 
Сложности: Ничего 
Комментарии: Много новой информации, поехали 
3 Git - Все ходы записываются 00:06:16
44 чел. ★ 4.9 Done
  На этом уроке мы проинициализиуем локальный git репозиторий
в ранее созданной папке нашего проекта school.
После чего откроем нашу папку school в PhpStorm
для дальнейшей работы уже в более удобной среде разработки.
Создадим необходимый файл .gitignore с базовыми правилами
и закоммитим наш первый коммит в локальный git репозиторий.
Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Делать коммиты через PhpStorm 
Сложности: Ничего 
Комментарии: Круто 
4 Composer - Установка пустоты 00:12:58
41 чел. ★ 4.9 Done
  На этом уроке мы подключим фреймворк Yii через composer в консоли.
Научимся получать токен репозитория git.
Далее мы приступим к реализации нашего проекта, для
начала модифицируем index.php, чтобы задействовать фреймворк Yii.
Так же создадим конфигурационный файл для нашего проекта и
передадим его как параметр при создании экземпляра веб-приложения Yii.

Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Запускать Yii2 приложения 
Сложности: Ничего 
Комментарии: Круто 
5 Controller - Точка входа программиста 00:08:13
40 чел. ★ 5 Done
  На этом уроке мы создадим первый контроллер, который
является точкой входа для нашего веб-приложения.
Познакомимся с полезными ссылками и схемами
жизненного цикла нашего веб-приложения.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Создавать Yii2 controller 
Сложности: Ничего 
Комментарии: Круто 
6 Views - Представления начинаются 00:12:47
2 теста
39 чел. ★ 5 Done
  На этом уроке мы создадим первое представление
для отображения основной странички нашего веб-приложения.
Для удобного поиска ошибок мы активируем встроенную в Yii систему отладки.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Создавать представления 
Сложности: Ничего 
Комментарии: Начинаю уже думать о переходе с ASP на YII2 
7 Codeception - Пошаговое тестирование 00:14:56
1 тест
38 чел. ★ 5 Done
  На этом уроке мы установим систему тестирования веб-приложений и
создадим несколько тестов имитации поведения гостя на сайте.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Создавать тесты 
Сложности: Ничего 
Комментарии: Интересный подход с тестами 
8 Bootstrap - Пусть будет красиво! 00:20:21
33 чел. ★ 5 Done
  На этом уроке мы начнём оформление нашего сайта.
Для этого мы установим и подключим набор инструментов bootstrap,
включающий в себя HTML/CSS шаблоны оформления и JavaScript расширения.
Первое что нам необходимо сделать, это добавить верхнее меню.

Отчёт отправил: 429. Максим Базуев Выполнено за 20 мин. [Показать отчёт]
Научился: Добавлять Bootstrao 
Сложности: Ничего 
Комментарии: Круто 
9 Menu - Богатый выбор 00:07:41
33 чел. ★ 5 Done
  На прошлом уроке мы создали навигационную панель,
на этом уроке мы разместим пункты меню на этой панели.
Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Создавать меню на Yii/Bootstrap 
Сложности: Ничего 
Комментарии: Круто 
10 Join/login - Полёт Навигатора 00:09:57
1 тест
33 чел. ★ 5 Done
  На этом уроке мы вернёмся к ранее созданным тестам,
которые провалились при проверке пунктов меню
регистрации и авторизации пользователя.
На этом уроке мы устраним проблемы, изза которых
тесты не могут завершиться успешно.

Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Делать красивые ссылки 
Сложности: Ничего 
Комментарии: Нафиг этот ASP пойду учить YII 
11 Debug - Следы на песке 00:17:17
1 тест
32 чел. ★ 5 Done
  На этом уроке мы установим систему отладки
в Yii для удобства отлавливания ошибок.
После чего мы его подключим, прописав
необходимые параметры в конфигурационный файл.
Так же продемонстрируем как добавлять собственные логи по типу.
Посмотрите инструкцию по установке.

Отчёт отправил: 429. Максим Базуев Выполнено за 20 мин. [Показать отчёт]
Научился: Добавлять крутую систему для Debug-а  Yii приложений 
Сложности: Ничего 
Комментарии: Это самая лучшая Debug система из всех, а именно для людей 
12 User - Помещение регистратуры 00:10:07
30 чел. ★ 4.9 Done
  На этом уроке мы займёмся причёсыванием нашего проекта.
Создадим необходимые тесты для обоснования наших действий.
Для начала вынесем функции join/login в отдельный контроллер.
Так же перенесём сопутствующие файлы видов в одноимённую папку.
Отчёт отправил: 429. Максим Базуев Выполнено за 12 мин. [Показать отчёт]
Научился: Переносить представления, работать с новым контроллером 
Сложности: Ничего 
Комментарии: Всегда хорошо, когда блоки кода разделены логично на контроллеры 
13 Panel - Красивые анкеты 00:07:13
29 чел. ★ 5 Done
  На этом уроке мы займёмся оформлением страничек регистрации
и авторизации при помощи набора инструментов bootstrap.
Для этого мы доработаем наши представления join/login.php
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Создал и оформил список полей для регистрации и входа 
Сложности: Ничего 
Комментарии: Отличный урок, создали визуально модель входа и регистрации 
14 Model - Модели на подиуме 00:05:30
28 чел. ★ 5 Done
  На этом уроке мы поговорим о моделях,
представлениях и связях через контроллер.
Для этого мы рассмотрим схему, на основе которой
будем писать код в последующих уроках.
Отчёт отправил: 429. Максим Базуев Выполнено за 20 мин. [Показать отчёт]
Научился: Рисовать нудную схему 
Сложности: Очень тяжело делается схема и нудно 
Комментарии: Мне кажется рисовать для такого проект схему, именно для домашнего задания - это лишнее. Тк в уроке уже схема есть, можно на неё опираться. 
15 Tests - Обоснование необходимости 00:18:29
27 чел. ★ 5 Done
  На этом уроке мы займёмся обоснованием
дальнеших действий через создание тестов.
По аналогии напоминает написание ТЗ для программистов.
Далее реализуем тесты поведения пользователей на сайте.
Отчёт отправил: 429. Максим Базуев Выполнено за 20 мин. [Показать отчёт]
Научился: Делать тесты для приложения 
Сложности: Ничего 
Комментарии: Интересный урок 
16 Steps - Пошаговая инструкция 00:11:22
26 чел. ★ 4.9 Done
  На этом уроке мы реализуем сгенерированные
на прошлом уроке функции для корректной работы
созданных, так же на прошлом уроке, тестов.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Создавать Step-тесты 
Сложности: Ничего 
Комментарии: Хороший подход к созданию тестов 
17 Console - Есть ли жизнь в Консоли? 00:08:37
26 чел. ★ 5 Done
  На этом уроке мы создадим консольное приложение
на базе Yii и почитаем описание команд.
Подключим vendor\autoload.php для
корректной работы php yii.php help migrate.
Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Создавать консольное приложение на Yii2 
Сложности: Ничего 
Комментарии: Теперь перед нами открылся большой функционал консоли Yii2 
18 Migration - Архитектура таблицы 00:08:36
26 чел. ★ 5 Done
  На этом уроке мы создадим первую миграцию, опишем в ней структуру таблицы user.
Миграции помогают следить за актуальностью схемы базы данных.

Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Создавать миграцию + таблицы 
Сложности: Ничего 
Комментарии: Отличный подход, так как постоянно работать с бд через левую программу - это так нудно, а тут написал пару строк вот тебя и таблица 
19 DBase - Подключение к Матрице 00:11:01
2 теста
26 чел. ★ 5 Done
  На этом уроке мы создадим базу данных в MySQL.
После чего создадим конфигурационный файл подключения к БД.
Далее запустим миграцию в нашем консольном приложении,
для автоматической генерации актуальной структуры таблиц.

Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Подключать Database к Yii2 
Сложности: Найти пароль от Database 
Комментарии: Как всегда - всё легко и просто 
20 UserRecord - Очень активная модель 00:16:41
26 чел. ★ 5 Done
  На этом уроке мы создадим модель связи с таблицей пользователей.
Добавим в таблицу нашего первого пользователя.
После чего перейдём на страничку регистрации и
проверим добавился ли пользователь в БД.
Так же поизучаем дебаг панель, изучим
что происходит при работе с БД.
Отчёт отправил: 429. Максим Базуев Выполнено за 20 мин. [Показать отчёт]
Научился: Теперь у нас работает регистрация 
Сложности: Ничего 
Комментарии: Отличный Framework!! 
21 Faker - Тысяча фантазёров! 00:11:49
1 тест
26 чел. ★ 5 Done
  На этом уроке мы добавим библиотеку Faker для генерации
случайных данных при создании случайных пользователей.
Для этого мы вначале установим необходимую библиотеку.
После чего используем её в наших тестах.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Делать фейковые аккаунты 
Сложности: Ничего 
Комментарии: Я в восторге от этой библиотеки Faker, столько разного она может напридумывать) 
22 UserIdentity - Посторонним В 00:16:33
26 чел. ★ 5 Done
  На этом уроке мы переходим к аутентификации
пользователей на нашем сайте.
Для этого мы воспользуемся встроенным
в Yii интерфейсом IdentityInterface.
Немного поэкспериментируем с авторизацией пользователей.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Реализовал вход на сайт 
Сложности: Ничего 
Комментарии: Удобно! не нужно реализовывать вход, работая с куки и тд, уже всё готово 
23 Logout - Выход из лабиринта 00:09:08
26 чел. ★ 5 Done
  На этом уроке мы реализуем возможность выхода с сайта.
Для этого нам понадобиться доработать представление меню, чтобы
оно отличалось при авторизованном/неавторизованном пользователе.
Так же реализуем метод выхода пользователя с сайта (Logout).
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Выходить с сайта 
Сложности: Ничего 
Комментарии: Круто 
24 UserJoinForm - Модель для формы 00:18:01
26 чел. ★ 5 Done
  На этом уроке мы создадим модель для
формы регистрации пользователя.
После чего мы добавим её использование
в нашем представлении join.php

Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Создавать форму 
Сложности: Ничего 
Комментарии: Круто 
25 Rules - Валидация без правил 00:11:19
1 тест
25 чел. ★ 5 Done
  На этом уроке мы добавим валидацию полей
при регистрации пользователя.
Также для полей добавим индивидуальные правила.

Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Создавать правила для моделей 
Сложности: Ничего 
Комментарии: Круто 
26 JoinPost - Вторая сторона модели 00:16:51
24 чел. ★ 5 Done
  На этом уроке мы реализуем вспомогательную
функцию, куда перенесём обработку фазы POST запроса
нашей формы регистрации пользователей.
Так же добавим генерацию начальных данных
для первой фазы регистрации пользователей.
Отчёт отправил: 429. Максим Базуев Выполнено за 20 мин. [Показать отчёт]
Научился: Разделять пост и гет 
Сложности: Ничего 
Комментарии: Круто 
27 IfEmailUsed - Почта закрыта 00:14:34
24 чел. ★ 5 Done
  На этом уроке мы добавим проверку существования
email в БД перед тем как зарегистрировать пользователя.
Проведём эксперименты и отрефакторим нашу проверку.

Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Проверять на сервере введённые данные 
Сложности: Ничего 
Комментарии: Круто 
28 HasErrors - Где водятся волшебники? 00:07:36
24 чел. ★ 5 Done
  На этом уроке мы реализуем дополнительную проверку,
которая будет генерировать ошибку.
После чего добавим проверку наличия ошибок
перед тем как проверять на валидность email.
Поэкспериментируем с последовательностью самих проверок.
Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Больше разобрался в Rules 
Сложности: Ничего 
Комментарии: Круто 
29 Save - Запись в книгу 00:12:57
23 чел. ★ 5 Done
  На этом уроке мы реализуем добавление данных
пользователя в БД, после успешной проверки.
Так же добавим редирект на страничку авторизации
после успешной регистрации пользователя.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Сейвить в бд 
Сложности: Ничего 
Комментарии: Круто 
30 UserLoginForm - Модель на входе 00:10:51
23 чел. ★ 5 Done
  На этом уроке мы реализуем форму авторизации пользователей.
Создадим модель UserLoginForm и добавим правила заполнения полей.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Создавать форму аутентификации 
Сложности: Ничего 
Комментарии: Круто 
31 IfEmailNotFound - На деревню дедушке 00:12:39
22 чел. ★ 5 Done
  На этом уроке мы реализуем проверку почтового ящика
при авторизации пользователя, а зарегистрирован ли он.
Так же настроим контроллер для корректной работы проверки.
Отчёт отправил: 429. Максим Базуев Выполнено за 15 мин. [Показать отчёт]
Научился: Делать аутентификацию на сайте 
Сложности: Ничего 
Комментарии: Круто 
32 IfPasswordWrong - Пароль? Пароль! Проходи. 00:08:59
22 чел. ★ 5 Done
  На этом уроке мы добавим ещё одну валидацию
при авторизации пользователя, а именно вводимый им пароль.
Посмотрим логи запросов в БД и запустим тестирование.
Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Делать проверку на пароль 
Сложности: Ничего 
Комментарии: Круто 
33 Refactoring - Нет дубликатам! 00:08:08
22 чел. ★ 5 Done
  На этом уроке мы займёмся рефакторингом дублирующего
кода, выполняющего одно и тоже на протяжении
выполнения одной задачи.
Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Рефакторингу в PHP 
Сложности: Ничего 
Комментарии: Круто 
34 Test - Запуск функциональных тестов 00:15:59
22 чел. ★ 5 Done
  На этом уроке мы создадим функциональный тест.
Но для корректной его работы, нам понадобиться
провести несколько очень важных манипуляций.
Отчёт отправил: 429. Максим Базуев Выполнено за 20 мин. [Показать отчёт]
Научился: Создавать функциональны тесты 
Сложности: Ничего 
Комментарии: Круто 
35 PasswordIsHashed - Покажите-ка ваш хэш 00:15:26
21 чел. ★ 5 Open
  На этом уроке мы реализуем тестирование
на корректность хешированных паролей перед
тем как они сохраняются в БД.
Для начала нам понадобиться создать
дополнительную функцию установки пароля в UserRecord().
После чего мы приступим к созданию тестов.
36 Security - Кручу-верчу-захэшировать хочу! 00:08:46
21 чел. ★ 5 $
  На этом уроке мы реализуем хеширование паролей
перед тем как их сохранять в базу данных.
Для начала нужно очистить все аккаунты пользователей,
так как они содержат пароли в явном виде.
37 Hash - Как правильно солить пароли 00:12:02
21 чел. ★ 5 $
  На этом уроке мы поговорим о вариантах хеширования
паролей пользователей для дополнительной безопасности.
Посмотрим, сколько времени занимает хеширование пароля,
воспользовавшись встроенной системой профилирования.
38 Remember me - Печенька на память 00:09:49
22 чел. ★ 5 Done
  На этом уроке мы поговорим о галочке «Запомнить меня» для авторизации на месяц —
чтобы сайт не просил повторно вводить логин/пароль даже после закрытия/открытия браузера.
Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Реализовывать remember me 
Сложности: Ничего 
Комментарии: Круто 
39 Authokey - Ключи в сейфе 00:09:53
21 чел. ★ 5 Done
  На этом уроке мы реализуем более безопасный
способ автоматической авторизации на сайте.
Для этого мы создадим отдельное поле
'authokey', в нашей БД, для автологина.
Отчёт отправил: 429. Максим Базуев Выполнено за 10 мин. [Показать отчёт]
Научился: Рандомный ключ для remember me 
Сложности: Ничего 
Комментарии: Круто 
40 REFRESH - 40 МГНОВЕНИЙ ОПЫТА 00:07:14
4 чел. ★ 5 $
  На этом финальном уроке тебе предстоит повторить весь курс ещё раз.

Да, ты не ослышался - выполнить все шаги по созданию этого проекта.
Чтобы было удобнее - скачай план уроков всего курса.
Уверен, ты сможешь всё сделать самостоятельно, причём, значительно быстрее.
Лучше всего это сделать на другом компьютере.
  Итого:   40 видеоуроков 7 час. 42 мин.
9 тестов
4 чел. ★ 4.99  
  Финалисты:   Иван Воронин,   Tekashnik,   Семен,   Александр .

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





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

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

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

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


Научился: Делать проект заново
Трудности: Сделать всё по памяти
Это было непросто, мне лично пришлось очень часто подсматривать в старый код, потому что конструкции конфигурационных файлов для меня пока не очень понятны. Думаю чтобы всё это отлетало от пальцев нужно 41, 42, 43, 44, 45, 46, 47, 48 урок сделать по повтору прохождения данного курса. Вообще идея очень хорошая, но думаю у многих на это практически нет времени.


Научился: Для повторного прохождения потребовалось около полутора дней. Чувствую огромную радость от завершения всего курса!
Трудности: Не могу сказать, что какие-то уроки было на много сложнее выполнить, чем другие. Сначала казалось, что всё получится сделать гораздо быстрей. Но, столкнувшись с трудностями, я решил ещё параллельно и видео пересматривать.