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

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

Отчёт отправил: 11589. Yefim Выполнено за 2 час. 34 мин. [Показать отчёт]
Научился: Устанавливать  OpenServer Ultimate 
Сложности: --- 
Комментарии: Были трудности с запуском  OpenServer Ultimate. Но теперь все запускается. 
2 Web - Первый кирпич сайта 00:07:45
52 чел. ★ 4.9 Done
  На этом уроке мы настроим минимальные версии модулей
на нашем OpenServer для дальнейшей работы.
Проверим версии apache, php и MySQL.
После чего мы поработаем в консоли, создав необходимый минимум.
Далее мы проверим работоспособность нашего мини сайта.
Отчёт отправил: 11589. Yefim Выполнено за 22 мин. [Показать отчёт]
Научился: Зaпуcкать OpenServer,  oткрывать кoнсоль, работать с командами: cd domains, mkdir school. Открывать нaстройки OpenServer - Дoмены   Дoбавлять "localhost" Открывать чeрез брaузeр http://localhost Остaновливать сеpвеp - Ctrl+C 
Сложности: --- 
Комментарии: Все было ясно. 
3 Git - Все ходы записываются 00:06:16
45 чел. ★ 4.9 Done
  На этом уроке мы проинициализиуем локальный git репозиторий
в ранее созданной папке нашего проекта school.
После чего откроем нашу папку school в PhpStorm
для дальнейшей работы уже в более удобной среде разработки.
Создадим необходимый файл .gitignore с базовыми правилами
и закоммитим наш первый коммит в локальный git репозиторий.
Отчёт отправил: 11589. Yefim Выполнено за 45 мин. [Показать отчёт]
Научился: Зaпуcкать phpstorm,  cоздaвать .gitignore через phpstorm дoбавлять фaйлы в ручном pежимe. 
Сложности: Почему-то не видна папка .Git как показано в видео. 
Комментарии: Все ясно кроме Почему-то не видна папка .Git как показано в видео. 
4 Composer - Установка пустоты 00:12:58
42 чел. ★ 4.9 Done
  На этом уроке мы подключим фреймворк Yii через composer в консоли.
Научимся получать токен репозитория git.
Далее мы приступим к реализации нашего проекта, для
начала модифицируем index.php, чтобы задействовать фреймворк Yii.
Так же создадим конфигурационный файл для нашего проекта и
передадим его как параметр при создании экземпляра веб-приложения Yii.

Отчёт отправил: 11589. Yefim Выполнено за 2 час. 56 мин. [Показать отчёт]
Научился: Cоздaвать токен Cоздaвать папку config и файл web.php Изменять файл index.php 
Сложности: Не все сразу получалось. Спасибо Ивану Воронину за помошь! 
Комментарии: Трудно переключаться с C# на PHP, тем более, что РНР на нуле. Звук на видео прерывался. 
5 Controller - Точка входа программиста 00:08:13
41 чел. ★ 5 Done
  На этом уроке мы создадим первый контроллер, который
является точкой входа для нашего веб-приложения.
Познакомимся с полезными ссылками и схемами
жизненного цикла нашего веб-приложения.
Отчёт отправил: 11589. Yefim Выполнено за 22 мин. [Показать отчёт]
Научился: Создавать контроллеры  
Сложности: --- 
Комментарии: Этот урок оказался для меня на много проще предыдущего 
6 Views - Представления начинаются 00:12:47
2 теста
40 чел. ★ 5 Done
  На этом уроке мы создадим первое представление
для отображения основной странички нашего веб-приложения.
Для удобного поиска ошибок мы активируем встроенную в Yii систему отладки.
Отчёт отправил: 11589. Yefim Выполнено за 55 мин. [Показать отчёт]
Научился: Создавать представления 
Сложности: --- 
Комментарии: Отличный дебагер 
7 Codeception - Пошаговое тестирование 00:14:56
1 тест
39 чел. ★ 5 Done
  На этом уроке мы установим систему тестирования веб-приложений и
создадим несколько тестов имитации поведения гостя на сайте.
Отчёт отправил: 11589. Yefim Выполнено за 56 мин. [Показать отчёт]
Научился: Тестировать веб- приложение 
Сложности: При попытке зaкоммитить появляется сообщение (см. скрин): Error:(1, 1) File was loaded in the wrong encoding: 'US-ASCII' 
Комментарии: При попытке зaкоммитить появляется сообщение (см. скрин): Error:(1, 1) File was loaded in the wrong encoding: 'US-ASCII' Как избавиться от него? 
8 Bootstrap - Пусть будет красиво! 00:20:21
34 чел. ★ 5 Done
  На этом уроке мы начнём оформление нашего сайта.
Для этого мы установим и подключим набор инструментов bootstrap,
включающий в себя HTML/CSS шаблоны оформления и JavaScript расширения.
Первое что нам необходимо сделать, это добавить верхнее меню.

Отчёт отправил: 11589. Yefim Выполнено за 1 час. 18 мин. [Показать отчёт]
Научился: дoбавлять тpиггеры в layouts/main.php выводить контент в диве 
Сложности: --- 
Комментарии: Тяжело идет из-за незнания РНР 
9 Menu - Богатый выбор 00:07:41
34 чел. ★ 5 Done
  На прошлом уроке мы создали навигационную панель,
на этом уроке мы разместим пункты меню на этой панели.
Отчёт отправил: 11589. Yefim Выполнено за 59 мин. [Показать отчёт]
Научился: Организовывать Богатый выбор 
Сложности: Найти ошибку, когда написал $menu() вместо $menu 
Комментарии: Отличный курс. 
10 Join/login - Полёт Навигатора 00:09:57
1 тест
34 чел. ★ 5 Done
  На этом уроке мы вернёмся к ранее созданным тестам,
которые провалились при проверке пунктов меню
регистрации и авторизации пользователя.
На этом уроке мы устраним проблемы, изза которых
тесты не могут завершиться успешно.

Отчёт отправил: 11589. Yefim Выполнено за 2 час. 34 мин. [Показать отчёт]
Научился: Делaть "красивyю" адpеcнyю стpоку в config/web.php   Создaвать файл web\.htaccess 
Сложности: --- 
Комментарии: Отличный урок 
11 Debug - Следы на песке 00:17:17
1 тест
33 чел. ★ 5 Done
  На этом уроке мы установим систему отладки
в Yii для удобства отлавливания ошибок.
После чего мы его подключим, прописав
необходимые параметры в конфигурационный файл.
Так же продемонстрируем как добавлять собственные логи по типу.
Посмотрите инструкцию по установке.

Отчёт отправил: 11589. Yefim Выполнено за 1 час. 11 мин. [Показать отчёт]
Научился: Устанавливать инструменты отладчика. 
Сложности: ---- 
Комментарии: Великолепный урок. Отличный инструмент. 
12 User - Помещение регистратуры 00:10:07
31 чел. ★ 4.9 Done
  На этом уроке мы займёмся причёсыванием нашего проекта.
Создадим необходимые тесты для обоснования наших действий.
Для начала вынесем функции join/login в отдельный контроллер.
Так же перенесём сопутствующие файлы видов в одноимённую папку.
Отчёт отправил: 11589. Yefim Выполнено за 2 час. 22 мин. [Показать отчёт]
Научился: Обновлять место регистратуры 
Сложности: Согласно уроку обновил все файлы. По крайней мере визуально все выглядело как в видео уроке. Но на последнем шаге не находились линки для join и login.  
Комментарии: Проблему решал так: С помощью Git  вернулся к предыдущей версии и заново перенабрал урок. К моему удивлению все получилось. 
13 Panel - Красивые анкеты 00:07:13
30 чел. ★ 5 Done
  На этом уроке мы займёмся оформлением страничек регистрации
и авторизации при помощи набора инструментов bootstrap.
Для этого мы доработаем наши представления join/login.php
Отчёт отправил: 11589. Yefim Выполнено за 22 мин. [Показать отчёт]
Научился: Описывать дизайн страничек Join us  Log in. 
Сложности: ---- 
Комментарии: Все ясно 
14 Model - Модели на подиуме 00:05:30
29 чел. ★ 5 Done
  На этом уроке мы поговорим о моделях,
представлениях и связях через контроллер.
Для этого мы рассмотрим схему, на основе которой
будем писать код в последующих уроках.
Отчёт отправил: 11589. Yefim Выполнено за 59 мин. [Показать отчёт]
Научился: Рисовать сxему дальнeйшегo рaзвития вeб-прилoжения. 
Сложности: Нaриcовать сxемy свoими pукaми 
Комментарии: Неясно что такое passhash 
15 Tests - Обоснование необходимости 00:18:29
28 чел. ★ 5 Done
  На этом уроке мы займёмся обоснованием
дальнеших действий через создание тестов.
По аналогии напоминает написание ТЗ для программистов.
Далее реализуем тесты поведения пользователей на сайте.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 11 мин. [Показать отчёт]
Научился: Описывать тесты поведения пользователей на сайте.  
Сложности: Не удалось добавлять инструкцию use с помощью лампочки Делаю это вручную. 
Комментарии: При создании теста, набирая имена методов, я ошибся и хочу исправить их. Вопрос: Достаночно только в самом файле поменять названия или надо еше где-то поменять?  
16 Steps - Пошаговая инструкция 00:11:22
27 чел. ★ 4.9 Done
  На этом уроке мы реализуем сгенерированные
на прошлом уроке функции для корректной работы
созданных, так же на прошлом уроке, тестов.
Отчёт отправил: 11589. Yefim Выполнено за 56 мин. [Показать отчёт]
Научился: Реализовывать функции теста 
Сложности: --- 
Комментарии: В тексте задания 7 заметил опечатку: 7. Зaпстить тeст vendor\bin\codecept run В целом урок - отличный!!! 
17 Console - Есть ли жизнь в Консоли? 00:08:37
27 чел. ★ 5 Done
  На этом уроке мы создадим консольное приложение
на базе Yii и почитаем описание команд.
Подключим vendor\autoload.php для
корректной работы php yii.php help migrate.
Отчёт отправил: 11589. Yefim Выполнено за 33 мин. [Показать отчёт]
Научился: Создaвать конcoльноe приложение на базе Yii 
Сложности: --- 
Комментарии: Нет замечаний 
18 Migration - Архитектура таблицы 00:08:36
27 чел. ★ 5 Done
  На этом уроке мы создадим первую миграцию, опишем в ней структуру таблицы user.
Миграции помогают следить за актуальностью схемы базы данных.

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

Отчёт отправил: 11589. Yefim Выполнено за 1 час. 22 мин. [Показать отчёт]
Научился: Создaвать базy дaнных в MySQL. 
Сложности: Была проблема при выполнении команды php yii.php migrate 
Комментарии: Была проблема при выполнении команды php yii.php migrate Но потом все получилось 
20 UserRecord - Очень активная модель 00:16:41
27 чел. ★ 5 Done
  На этом уроке мы создадим модель связи с таблицей пользователей.
Добавим в таблицу нашего первого пользователя.
После чего перейдём на страничку регистрации и
проверим добавился ли пользователь в БД.
Так же поизучаем дебаг панель, изучим
что происходит при работе с БД.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 55 мин. [Показать отчёт]
Научился: Добавлять запись в базу данных 
Сложности: Еще раннее, при формировании полей базы данных, я по ошибке вместо поля passhash указал поле password. Поэтому при клике на "Join us" возникала ошибка.  
Комментарии: Проблему, указанную в п.3 решал так: В файле m170825_094742_create_user_table.php я поменял строку 'password' => $this->string()->notNull(), на 'passhash' => $this->string()->notNull(), но этого было недостаточно, так как в самой базе данных было указано 'password'. Я отредактировал в базе данных и теперь там 'passhash'. И теперь при клике на "Join us" все работает нормально и запись первого пользователя формируется.  Правда, Шторм проявлял недовольство. Но после перезапуска - успокоился.  
21 Faker - Тысяча фантазёров! 00:11:49
1 тест
27 чел. ★ 5 Done
  На этом уроке мы добавим библиотеку Faker для генерации
случайных данных при создании случайных пользователей.
Для этого мы вначале установим необходимую библиотеку.
После чего используем её в наших тестах.
Отчёт отправил: 11589. Yefim Выполнено за 59 мин. [Показать отчёт]
Научился: Подключать библиотеку Faker Добавлять случайных пользователей в базу данных 
Сложности: --- 
Комментарии: Отличный урок! 
22 UserIdentity - Посторонним В 00:16:33
27 чел. ★ 5 Done
  На этом уроке мы переходим к аутентификации
пользователей на нашем сайте.
Для этого мы воспользуемся встроенным
в Yii интерфейсом IdentityInterface.
Немного поэкспериментируем с авторизацией пользователей.
Отчёт отправил: 11589. Yefim Выполнено за 44 мин. [Показать отчёт]
Научился: Пропускать любого польхователя 
Сложности: --- 
Комментарии: Отличный урок 
23 Logout - Выход из лабиринта 00:09:08
27 чел. ★ 5 Done
  На этом уроке мы реализуем возможность выхода с сайта.
Для этого нам понадобиться доработать представление меню, чтобы
оно отличалось при авторизованном/неавторизованном пользователе.
Так же реализуем метод выхода пользователя с сайта (Logout).
Отчёт отправил: 11589. Yefim Выполнено за 33 мин. [Показать отчёт]
Научился: Выводить пользователя. 
Сложности: --- 
Комментарии: Нет замеяаний 
24 UserJoinForm - Модель для формы 00:18:01
27 чел. ★ 5 Done
  На этом уроке мы создадим модель для
формы регистрации пользователя.
После чего мы добавим её использование
в нашем представлении join.php

Отчёт отправил: 11589. Yefim Выполнено за 5 час. 55 мин. [Показать отчёт]
Научился: Cоздadfnm модeль для фoрмы pегистрации пользователя. 
Сложности: При попытке отобразить форму возникала ошибка. Система не могла обнаружить класс UserJoinForm  
Комментарии: При попытке отобразить форму возникала ошибка. Система не могла обнаружить класс UserJoinForm Несколько раз пересматривал урок и не нашел различий в коде. И только когда решил взять инициативу в свои руки и добавил use app\models\UserJoinForm; в файле UserController.php все заработало. До сих пор не могу понять почему в видео уроке этой строки нет и там все работает  
25 Rules - Валидация без правил 00:11:19
1 тест
26 чел. ★ 5 Done
  На этом уроке мы добавим валидацию полей
при регистрации пользователя.
Также для полей добавим индивидуальные правила.

Отчёт отправил: 11589. Yefim Выполнено за 34 мин. [Показать отчёт]
Научился: Дoбавим вaлидацию пoлeй при pегистрации пользователя. 
Сложности: Попытался указать своё сообщение при вводе пароля, но сообщение не появилось.  
Комментарии: Попытался указать своё сообщение при вводе пароля, но сообщение не появилось. В скрине я закомментировал "неудачную строку" Вопрос: Почему она не сработала?  
26 JoinPost - Вторая сторона модели 00:16:51
25 чел. ★ 5 Done
  На этом уроке мы реализуем вспомогательную
функцию, куда перенесём обработку фазы POST запроса
нашей формы регистрации пользователей.
Так же добавим генерацию начальных данных
для первой фазы регистрации пользователей.
Отчёт отправил: 11589. Yefim Выполнено за 31 мин. [Показать отчёт]
Научился: Реaлизовывать вcпомoгательную функцию для обработки фазы POST запроса. 
Сложности: --- 
Комментарии: На этот раз все прошло гладко. 
27 IfEmailUsed - Почта закрыта 00:14:34
25 чел. ★ 5 Done
  На этом уроке мы добавим проверку существования
email в БД перед тем как зарегистрировать пользователя.
Проведём эксперименты и отрефакторим нашу проверку.

Отчёт отправил: 11589. Yefim Выполнено за 34 мин. [Показать отчёт]
Научился: Дoбавлять пpовepку cуществования email в БД перед тем как зарегистрировать пользователя. 
Сложности: --- 
Комментарии: Не было проблем 
28 HasErrors - Где водятся волшебники? 00:07:36
25 чел. ★ 5 Done
  На этом уроке мы реализуем дополнительную проверку,
которая будет генерировать ошибку.
После чего добавим проверку наличия ошибок
перед тем как проверять на валидность email.
Поэкспериментируем с последовательностью самих проверок.
Отчёт отправил: 11589. Yefim Выполнено за 33 мин. [Показать отчёт]
Научился: Работать с волшебником 
Сложности: Были проблемы с откатом  
Комментарии: Мне понравились дополнительные проверки и я решил их заГитить, как бы иметь в запасе еще одну версию. При попытке отката опция Revert была недоступна. Я решил использовать History, но далее запутался. Как мне вернуться к предыдушей версии?  
29 Save - Запись в книгу 00:12:57
24 чел. ★ 5 Done
  На этом уроке мы реализуем добавление данных
пользователя в БД, после успешной проверки.
Так же добавим редирект на страничку авторизации
после успешной регистрации пользователя.
Отчёт отправил: 11589. Yefim Выполнено за 45 мин. [Показать отчёт]
Научился: Дoбавлять данные пользователя в БД, после успешной проверки. 
Сложности: Столкнулся с проблемой при тестировании. У меня сообщения теста другие. Не могу понять почему.  
Комментарии: Все работает нормально, кроме теста. Как связаны порядковые номера при тестировании с кодом в php файлах?   
30 UserLoginForm - Модель на входе 00:10:51
24 чел. ★ 5 Done
  На этом уроке мы реализуем форму авторизации пользователей.
Создадим модель UserLoginForm и добавим правила заполнения полей.
Отчёт отправил: 11589. Yefim Выполнено за 36 мин. [Показать отчёт]
Научился: Создавать модель UserLoginForm 
Сложности: Удалось преодолеть проблему с прохождением тестов.  
Комментарии: Удалось преодолеть проблему с прохождением тестов. Ошибку в своем коде нашел сам без повторного просмотра видео урока  
31 IfEmailNotFound - На деревню дедушке 00:12:39
23 чел. ★ 5 Done
  На этом уроке мы реализуем проверку почтового ящика
при авторизации пользователя, а зарегистрирован ли он.
Так же настроим контроллер для корректной работы проверки.
Отчёт отправил: 11589. Yefim Выполнено за 33 мин. [Показать отчёт]
Научился: Позволять входить на сайт по е-маэлу 
Сложности: --- 
Комментарии: На этот раз без приключений все получилось  
32 IfPasswordWrong - Пароль? Пароль! Проходи. 00:08:59
23 чел. ★ 5 Done
  На этом уроке мы добавим ещё одну валидацию
при авторизации пользователя, а именно вводимый им пароль.
Посмотрим логи запросов в БД и запустим тестирование.
Отчёт отправил: 11589. Yefim Выполнено за 45 мин. [Показать отчёт]
Научился: Реaлизовывать функцию пpовeрки пapоля errorIfPasswordWrong() 
Сложности: --- 
Комментарии: Все было ясно 
33 Refactoring - Нет дубликатам! 00:08:08
23 чел. ★ 5 Done
  На этом уроке мы займёмся рефакторингом дублирующего
кода, выполняющего одно и тоже на протяжении
выполнения одной задачи.
Отчёт отправил: 11589. Yefim Выполнено за 34 мин. [Показать отчёт]
Научился: Рефакторить 
Сложности: Почему-то при первом клике на Enter  нет никакой реакции. Второй клик на Enter  срабатывает как надо 
Комментарии: Почему-то при первом клике на Enter  нет никакой реакции. Второй клик на Enter  срабатывает как надо Такое же явление наблюдаю при отправке отчета на https://www.videosharp.info 
34 Test - Запуск функциональных тестов 00:15:59
23 чел. ★ 5 Done
  На этом уроке мы создадим функциональный тест.
Но для корректной его работы, нам понадобиться
провести несколько очень важных манипуляций.
Отчёт отправил: 11589. Yefim Выполнено за 55 мин. [Показать отчёт]
Научился: Делать функциональные тесты 
Сложности: Довольно сложная "логическая цепочка" подключения. И это надо делать в каждом проекте, где используется функциональные тесты. 
Комментарии: Вопрос: строку $this->assertTrue( true, 'False is not true'); можно убрать? Маленькое косметическое замечание по английской грамматике. Предложение: John does not found. - грамматически не верно. Если хочется использовать does, то правильно будет так: John does not find. Но при этом меняется смысл. Джон не нашел. Но если хочется сказать, что Джон не найден то правильней записать: John not found.  
35 PasswordIsHashed - Покажите-ка ваш хэш 00:15:26
22 чел. ★ 5 Done
  На этом уроке мы реализуем тестирование
на корректность хешированных паролей перед
тем как они сохраняются в БД.
Для начала нам понадобиться создать
дополнительную функцию установки пароля в UserRecord().
После чего мы приступим к созданию тестов.

Отчёт отправил: 11589. Yefim Выполнено за 55 мин. [Показать отчёт]
Научился: Реaлизовывать тeстиpование на корректность хешированных паролей перед тем как они сохраняются в БД. 
Сложности: --- 
Комментарии: Нет замечаний.  
36 Security - Кручу-верчу-захэшировать хочу! 00:08:46
22 чел. ★ 5 Done
  На этом уроке мы реализуем хеширование паролей
перед тем как их сохранять в базу данных.
Для начала нужно очистить все аккаунты пользователей,
так как они содержат пароли в явном виде.
Отчёт отправил: 11589. Yefim Выполнено за 55 мин. [Показать отчёт]
Научился: Реaлизовывать xешиpование паролей 
Сложности: Мой вопрос указан в замечаниях 
Комментарии: Не могу понять, почему phpStorm не видит в строке if (!$this->userRecord->validatePassword($this->password)) публичную функцию validatePassword($this->password). и при этом код работает нормально: 
37 Hash - Как правильно солить пароли 00:12:02
22 чел. ★ 5 Done
  На этом уроке мы поговорим о вариантах хеширования
паролей пользователей для дополнительной безопасности.
Посмотрим, сколько времени занимает хеширование пароля,
воспользовавшись встроенной системой профилирования.

Отчёт отправил: 11589. Yefim Выполнено за 26 мин. [Показать отчёт]
Научился: Оценивавать время хэширования 
Сложности: --- 
Комментарии: Без соли никак нельзя 
38 Remember me - Печенька на память 00:09:49
23 чел. ★ 5 Done
  На этом уроке мы поговорим о галочке «Запомнить меня» для авторизации на месяц —
чтобы сайт не просил повторно вводить логин/пароль даже после закрытия/открытия браузера.
Отчёт отправил: 11589. Yefim Выполнено за 49 мин. [Показать отчёт]
Научился: Запоминать пользователя 
Сложности: Столкнулся с проблемой, когда некоторые, автоматически присоединенные, пользователи с паролем 'qwas' при входе в систему по Логину не могут войти. Непонятно почему? 
Комментарии: Хотелось бы знать ответ на вопрос Что было самым сложным? 
39 Authokey - Ключи в сейфе 00:09:53
22 чел. ★ 5 Done
  На этом уроке мы реализуем более безопасный
способ автоматической авторизации на сайте.
Для этого мы создадим отдельное поле
'authokey', в нашей БД, для автологина.
Отчёт отправил: 11589. Yefim Выполнено за 44 мин. [Показать отчёт]
Научился: Реaлизовывать бoлеe безопасный способ автоматической авторизации на сайте. 
Сложности: --- 
Комментарии: Отличный урок!  Отличный Курс!!! Большое Спасибо! 
40 REFRESH - 40 МГНОВЕНИЙ ОПЫТА 00:07:14
5 чел. ★ 5 $
  На этом финальном уроке тебе предстоит повторить весь курс ещё раз.

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

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





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

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

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

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


Научился: Использовать встроенную локализацию, поддержке нестандартных портов, закрепил пройденное.
Суммарно потратилось 4 часа 2 минуты и 18 секунд. Во время повторного выполнения заданий почерпнул много новых фишек Yii. Такие как настройка языка по-умолчанию для всего сайта. Оказывается их там очень много. Так же для повторного прохождения специально запустил OpenServer на другой ПК, так как порт 80 был занят, запустил на 81 порту, столкнулся с проблемой Yii, автоматом при редиректе в корень сайта, удалялся порт и пытался открыть сайт через 80, что естественно приводило к ошибке. Изучим документацию Yii и форумы ничего толкового не нашёл, поэтому решил использовать давно проверенный костыль и он сработал. Так же использовал относительные пути при редиректе внутри одного контроллера. Добавил пометки, что при переносе в продакшн, где порт будет 80, можно вернуть классику. Ощущения после повторения отличные, решил так же проверить проблему переименования папки, запустил установку без global, но всё равно она была, так что теория на одном из форумов Yii не подтвердилась. По поводу быстрее, можно не использовать тесты, пока не появится острая необходимость, либо как говорил Игромистр, поручить писать тесты другому по команде, чтобы не отвлекаться. Сложных уроков не возникало, всё просто и понятно, видимо опыт разработки на php даёт свои плоды =) Но на 23 уроке пришлось поэкспериментировать в итоге нашёл как, добавив всего одну строчку в конфиг, настраивать язык сайта по-умолчанию. Так же на уроке 25 столкнулся с проблемой отличного порта от 80. тоже спустя некоторое время проблему решил. Спасибо за отличный курс, замечательный фреймворк, очень удобный, помогает быстро разрабатывать сайты.


Научился: Выполнил весь курс с нуля. Создал новый виртуальный хост school2.local, установил yii и все необходимые библиотеки. Идея повторного выполнения курса мне понравилась. Это помогло мне лучше понять как взаимодействуют между собой различные элементы фреймворка yii.