 
				| # | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ | 
|---|---|---|---|---|---|
| 1 |  Мы начинаем ASP.NET с MVC |  | |||
| На этом уроке мы создадим тестовый проект с использованием технологии ASP.NET на MVC шаблоне и рассмотрим структуру проекта. Отчёт отправил: 1803. Саша Выполнено за 25 мин. [Показать отчёт] Научился: Создавать проект ASP.NET и менять css стили Сложности: Пока что ничего Комментарии: Наконец-то я снова с Вами! Ура!!! | |||||
| 2 | Выбор темы для проекта |  | |||
| На этом уроке мы обсудим, какой сайт будем делать. Отчёт отправил: 1803. Саша Выполнено за 30 мин. [Показать отчёт] Научился: Делать разметку сайта Сложности: Ничего Комментарии: Как начинающий поэт и писатель, давно хотел сделать нечто подобное. Тема по счастливому совпадению оказалась близкой к предлагаемой на проекте. Конечно, таких сайтов много, но я хочу создать свой. В будущем добавлю в структуре сайта что-нибудь оригинальное. P.S. Прозу я пока что не публиковал, а стихи публиковал на сайте Стихи.ру. Кому интересно - заходите;-) http://stihi.ru/avtor/alexlogaritmo | |||||
| 3 | Создание схемы проекта |  | |||
| На этом уроке мы ещё раз просмотрим сайт, и выберем страницы, которые будем создавать. Отчёт отправил: 1803. Саша Выполнено за 25 мин. [Показать отчёт] Научился: Обдумывать схему проекта Сложности: Ничего Комментарии: Пока все понятно. Единственное предложение, я бы добавил на странице "Добавить историю" поле для регистрации (в принципе, я понимаю, как это работает) и поставил защиту от копирования (вот это не знаю, как работает). *************************************************************************************************************************************** Рассказ о безумном программисте, основанный на реальных событиях (фрагмент) *************************************************************************************************************************************** Это возмутительно! Наш крутой офис, располагавшийся в самом центре города, бесцеремонно выселили, сослали в Сибирь, выкинули, как старые галоши - на помойку. А ведь многие уже давно пустили корни. Но их жестоко выкорчевали и отсоединили от общей сети. Вывезли все, включая трон императора и президентскую кафедру вместе с президентом. Еще утром, когда я под столом искал пропавшие множители Лагранжа, ОНИ пришли за программистами и выкинули нас из-за рабочих мест. Я тотчас же отправился к его превосходительству за поддержкой. 26-й президент США как раз подписывал своего коня Техаса, чтобы его не перепутали по прибытии на новое место - поскольку коней тоже вывозили. Я бросился на колени перед президентом и с горечью сообщил: - Ваше превосходительство, синьор президент. Меня выселили вместе с Лагранжем. - Лагранжа не выселишь, он прочно засел в исчислении, - заметил президент. - Скажи спасибо, что тебя не отправили к Лагранжу. Я в ужасе поежился: синьор Джузеппе как раз недавно побывал на приеме у некоего тосканского аббата и из-за этого не смог выехать в Лондон, так как всю неделю провел у себя дома. - Но я не страшусь Сибири, синьор. Я и в Сибири буду верно служить своему сюзерену. - Встань, рыцарь хренов. Жалую тебе Лагранжа 13 степени. Радости моей не было предела: я получил орден своей мечты и теперь готов был бороться даже с индейцами, которые сидели под столом у президента и явно не желали оттуда убираться. - Пошли вон оттуда! - прикрикнул на них президент и пригрозил ружьем. Я тоже выхватил шпагу, чтобы доказать им ее существование. Индейцы испугались и спрятались. Но вскоре и индейцев упаковали в пакеты для мусора и увезли вместе с нами. Помещение было закрыто и выведено из эксплуатации. | |||||
| 4 | Создание пустых страниц | 1 тест | |||
| На этом уроке мы создадим новый пустой проект, добавим нужные контроллеры Отчёт отправил: 1803. Саша Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Создавать контроллеры и представления; изучил структуру проекта. Сложности: Пока ничего Комментарии: Изменeния в App_Start\RouteConfig.cs в моем случае никак не повлияли на отображение представления page. Как отображалось page, так и отображается. Первоначально было так: controller = "Home" | |||||
| 5 | Создание модели Story |  | |||
| На этом уроке мы создадим модель Story. В этой модели будят вся логика работы с историями. Отчёт отправил: 1803. Саша Выполнено за 1 час. 25 мин. [Показать отчёт] Научился: Создавать экземпляры модели, указывать ссылки на модель, делать вывод случайной истории Сложности: Разобраться во всем детально Комментарии: Вывод случайной истории я сделал пока таким образом: создал папку с историями, пронумерованными от 1 до N, то есть Story1, Story2 и т.д. В классе Story создал два конструктора - один без параметров, со значениями по умолчанию, во второй передается номер истории. В методе Random() выводится история по случайному номеру. | |||||
| 6 | Формирование меню |  | |||
| На этом уроке мы сформируем навигационное меню в шапке нашего сайта. Отчёт отправил: 1803. Саша Выполнено за 1 час. 25 мин. [Показать отчёт] Научился: Работать с меню сайта, создавать новые страницы Сложности: Разобраться во всем Комментарии: Комментариев нет | |||||
| 7 | Установка сервера MySQL |  | |||
| На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. Отчёт отправил: 1803. Саша Выполнено за 4 час. 25 мин. [Показать отчёт] Научился: Устранять проблемы и ошибки при установке MySQL Server. Сложности: Как ни странно, установить нормально MySQL Комментарии: При установке столкнулся с такой темой: в пункте установки "Применить параметры конфигурации" нормально устанавливались все опции, за исключением Start Server. Погуглив, обнаружил, что такая проблема часто возникает, когда MySQL был уже когда-то установлен и на компьютере после удаления программы остались некоторые файлы и папки. Прочистил реестр, убрал все связанное с майскуль, устранил ошибки реестра - все установилось и заработало. | |||||
| 8 | Схема базы данных |  | |||
| На этом уроке мы создадим базу данных для нашего проекта, подготовим схему таблицы и напишем SQL запрос для её создания. Отчёт отправил: 1803. Саша Выполнено за 1 час. 10 мин. [Показать отчёт] Научился: Создавать БД в консоли и HeidiSQL (раньше создавал только в MS Access). Сложности: Разобраться во всем. Больше понравилось создавать БД в консоли. Комментарии: Примерный список задач: - ввод данных рассматриваемого объекта (истории); - хранение и защита данных во внешней памяти ВС; - добавление данных; - удаление данных; - изменение данных; - сортировка данных по запросу пользователя; − обобщение данных. | |||||
| 9 | Создание SQL-запросов |  | |||
| На этом уроке мы составим список задач для нашей базы и составим SQL запросы для решения каждой задачи. Все запросы протестируем в SQL-консоли. Отчёт отправил: 1803. Саша Выполнено за 35 мин. [Показать отчёт] Научился: Повторил основные запросы, узнал про выбор случайного элемента (то, что такой способ не оптимален) Сложности: Ничего Комментарии: Пока все понятно: подобные запросы я уже составлял в MS ACCESS, но в консоли круче! | |||||
| 10 | Подключение к базе данных |  | |||
| Мы достигли Экватора нашего проекта! На этом уроке мы подключим наш проект к созданной базе данных на MySQL. Отчёт отправил: 1803. Саша Выполнено за 1 час. 15 мин. [Показать отчёт] Научился: Создавать модель MySQL, подключать модель к БД Сложности: Разобраться с особенностями подключения Комментарии: Вопросов на данном этапе нет | |||||
| 11 | Работа над ошибками |  | |||
| На этом уроке мы создадим механизм отлова ошибок при работе с базой данных и передачи их клиенту. Отчёт отправил: 1803. Саша Выполнено за 1 час. 35 мин. [Показать отчёт] Научился: Обрабатывать исключения в проекте ASP.NET MVC Сложности: Ничего Комментарии: На данном этапе все понятно | |||||
| 12 | Запуск модели Story |  | |||
| На этом уроке мы запустим модель Story - допишем методы Number() и Random(), организуем ещё одну проверку ошибок. Отчёт отправил: 1803. Саша Выполнено за 2 час. 10 мин. [Показать отчёт] Научился: Проверять ошибки и тестировать программу Сложности: Старался выполнять все пункты заранее, до того, как о них расскажут. Столкнулся с проблемой, о которой предупреждал Валерий - id не определено. Посмотрел видео - исправил. Комментарии: Я бы поменял параметр id метода Number на Id, чтобы не путать со свойством id класса Story. | |||||
| 13 | Что такое SQL-инъекция |  | |||
| На этом уроке мы сделаем бекап базы данных, затем продемонстрируем «взлом» страницы посредством SQL-инъекции, покажем, как от этого защититься и потом восстановим базу данных. Отчёт отправил: 1803. Саша Выполнено за 1 час. 10 мин. [Показать отчёт] Научился: Удалять записи и таблицы БД с помощью SQL-инъекций и предотвращать их Сложности: Все просто Комментарии: С SQL-инъекциями в практике не сталкивался (потому что не писал web-приложения), только читал статью на Хабре про SQL-инъекции. | |||||
| 14 | Рефакторинг модели Story |  | |||
| На этом уроке мы сделаем небольшой рефакторинг класса Story. Отчёт отправил: 1803. Саша Выполнено за 10 мин. [Показать отчёт] Научился: Методам рефакторинга Сложности: Все понятно Комментарии: Сделал рефакторинг еще при написании класса Story, но при экспорте метода столкнулся с проблемой, на которую обратил внимание Евгений Витольдович - перекрытие id-ов. Посмотрел справку по каждой переменной - id в методе Random - свойство, в методе Number - параметр метода. Различие параметров метода ExtractRows (у меня было AddEntities) показалось подозрительным, но я почему-то не обратил на это внимания. Параметр nr - у меня вообще любимый и наболевший, использую почти во всех программах, когда нужно передавать номер читаемой (записываемой) строки. | |||||
| 15 | Работа со списком историй |  | |||
| На этом уроке мы сделаем вывод списка историй на главной странице. Отчёт отправил: 1803. Саша Выполнено за 1 час. 45 мин. [Показать отчёт] Научился: Работать с файлом .cshtml, добавлять ссылки на страницы Сложности: Ничего Комментарии: Я сделал так, чтобы на главной странице отображались только названия историй, а прочитать их можно, только перейдя по ссылке. | |||||
| 16 | Добавление истории |  | |||
| На этом уроке мы реализуем отправку истории и добавление её в базу данных. Мы рассмотрим возможные ошибки, которые могут возникнуть при этом. Отчёт отправил: 1803. Саша Выполнено за 1 час. 45 мин. [Показать отчёт] Научился: Добавлять хэлперы, тестировать передачу модели, добавлять историю, тестировать добавление истории, работать над ошибками Сложности: Найти и исправить ошибки в коде Комментарии: Добавил ограничение на длину истории, чтобы пользователь не добавлял слишком короткие истории (например "Привет" или "111") if (story.Length < len) { error = "Error - too short story"; return; } | |||||
| 17 | Валидация данных |  | |||
| На этом уроке мы реализуем проверку полей формы при отправке истории. Обсудим регулярное выражение для проверки адреса электропочты. Отчёт отправил: 1803. Саша Выполнено за 45 мин. [Показать отчёт] Научился: Добавлять валидатор, использовать регулярные выражения, тестировать работу валидатора Сложности: Ничего Комментарии: Очень понравилась история "Хакер"=) | |||||
| 18 | Оформление сайта |  | |||
| На этом уроке мы займемся внешним видом нашего сайта, будем оформлять страницы, используя возможности bootstrap 3. Отчёт отправил: 1803. Саша Выполнено за 1 час. 45 мин. [Показать отчёт] Научился: Оформлять проект Сложности: Разобраться с дизайном Комментарии: Увы, это еще не дизайн. Мне самому тяжело дается оформительская часть работы над сайтом, были уже попытки, выглядит ужасно. А ведь я знаю веб-разработчиков, которые сами(!) делают крутой дизайн с javascript и jquery. | |||||
| 19 | Размещение проекта в Интернете |  | |||
| В этом уроке мы зарегистрируемся на хостинге и разместим свой проект в Интернете, наконец-таки! | |||||
| 20 | Отказ от статика |  | |||
| Нам придётся отказаться от статичного класса базы данных, потому что статичный класс продолжает существование даже при новых обращениях к нему с новой страницы. | |||||
| 21 | ФИНАЛЬНЫЙ УРОК. Презентация | без видео | |||
| Сделай видео-презентацию своей программы. На видео необходимо ответить на следующие вопросы: 0. Показать, что у тебя получилось. 1. Чему ты научился на этом курсе? 2. Что тебе понравилось, что нет? 3. Что ты ещё добавишь в свой проект? 4. Какой следующий курс ты будешь проходить? | |||||
| 22 | VIP. Авторизация на сайте |  | |||
| На этом уроке мы создадим в базе данных таблицу users, добавим туда одну запись и реализуем авторизацию администратора | |||||
| 23 | VIP. Модерация записей |  | |||
| На этом уроке мы реализуем функционал администратора сайта. Администратор сможет подтверждать истории для публикации. | |||||
| 24 | VIP. Установка домена |  | |||
| На этом уроке мы покажем, как просто можно купить и привязать домен к вашему проекту. | |||||
| Итого: 24 видеоурока | 8 час. 41 мин. 1 тест | 24 чел. | |||
| Финалисты: Михаил Ермишин, Nromik, Елена, Аркадий, valerys Nikola, Tekashnik, Сергей, zhikharevav, Максим, Сергей Соколов, Ludmila, Алексей Хонин, Станислав, Константин, WildOrc, Алексей|BrisK|Кривицкий, alklokov, Dmitry Sinitsin, Владимир, Max, Александр, Rita, vip, Evgenii Kudriavtcev . | |||||