# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
На этом уроке мы создадим тестовый проект с использованием технологии 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 . |