# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
На этом уроке мы создадим тестовый проект с использованием технологии ASP.NET на MVC шаблоне и рассмотрим структуру проекта. Отчёт отправил: 16218. Дмитрий Выполнено за 32 мин. [Показать отчёт] Научился: Начало положено))) Курс обещает быть очень интересным. Ознакомился со структурой проекта. Пока если честно больше вопросов...Какие объекты за что отвечают))) Думаю дальше все постепенно начнет систематезироваться... Изменил названия "Домашняя страница", "О программе", "Контакт" на "Домашняя страница1", "О программе1", "Контакт1". Умнее по крайней мере пока ничего не придумал))))) С радостью изучать дальше... Сложности: -- |
|||||
2 | Выбор темы для проекта |
|
|||
На этом уроке мы обсудим, какой сайт будем делать. Отчёт отправил: 16218. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: Тема: автомобили (отзывы автовладельцев о своих автомобилях) Суть: Короткие статьи владельцев различных марок автомобилей. Подводные камни, плюсы и минусы за время эксплуатации. В общем общая картина с впечатлениями от использования того или иного автомобиля. Главная страница: Список отзывов об автомобилях. В порядке добавления на сайт от последнего добавленного Поиск отзыва по марке автомобиля. Выбрать случайный отзыв (отзыв набравший наибольшее количество голосов за текущий день) Добавить свой отзыв. Поставить оценку отзыву. (от 1 до 5 баллов) Возможность оставить комментарий для конкретной статьи. _____________________________________________________________ Добавление отзыва: - Форма для создания отзыва, где есть обязательные поля: Марка и год автомобиля, объем двигателя, тип трансмиссии, комплектация, тип кузова. - Возможность прикрепить фотографию к своему отзыву (так же видео) ___________________________________________________________________________ Сложности: Пока конечно слабо представляю как именно получиться реализовать задуманное_))) Возможно что то придется упростить или переработать или добавить....В общем дальше будете понятно. |
|||||
3 | Создание схемы проекта |
|
|||
На этом уроке мы ещё раз просмотрим сайт, и выберем страницы, которые будем создавать. Отчёт отправил: 16218. Дмитрий Выполнено за 1 час. 6 мин. [Показать отчёт] Научился: Первая история: Автомобиль: Nissan Марка: Примера Тип КПП: механическая Год выпуска: 2000. Тип кузова: седан. Заголовок статьи: "Старый японец..." Пришло время покупки моего первого автомобиля. Денег конечно не было... Точнее сказать были, но их явно не хватало на то, что хотелось в тот момент, а хотелось многого))) После долгого и мучительного изучения вариантов рынка и сопоставления их с моим бюджетом, выбор пал на автомобиль - Nissan Primera. Прокатился по нескольким вариантам и понял, что найти живой вариант задача не из простых. В итоге спустя месяц все-таки попался нужный экземпляр. Владелец у автомобиля был один. Находился он все время своей эксплуатации на службе в посольстве Москвы. Благодаря должному уходу Nissan достойно дожил до своих лет. На момент покупки ему было около 10 лет. Особо не раздумывая купил и стал счастливым автовладельцем. Эх помню те ощущения...Мысль о том, что теперь ты можешь поехать куда угодно и когда угодно окрыляла, и пьянила…Радовался как ребенок примерно месяц, а дальше начал познавать все прелести владения подержанным автомобилем. Ломалось в нем все, что только могло сломаться т.к. даже не смотря на японское качество возраст, как говорится, берет верх. При этом очень много можно починить самостоятельно без дорогостоящих работ на станциях тех обслуживания. За время владения автомобилем (3 года) перебрал почти все навесное оборудование, несколько раз менял ходовую часть (пока одно менял, другое приходило в негодность). Но при этом не могу сказать, что это тот автомобиль, который вытряхнет из вас все последние деньги. В дальнейшем понял это владея более дорогими автомобилями, где зачастую один ремонт мог перекрыть все 3 года эксплуатации Ниссана. Подведя итог могу отметить неплохое качество сборки данного “аппарата”. Могу рекомендовать его тем, кто только начинает водить. У него есть 3 главных, на мой взгляд, критерия, - простой, надежный и неприхотливый автомобиль. Прошло уже порядка 5 лет как я продал его знакомой семье и могу сказать, что при своем нынешнем пробеге (около 400 000 км.), -он все еще довольно бодр))). Многие современные автомобили могут позавидовать качеству автопрома тех лет… Жаль, что сейчас все меньше и меньше автомобильных компаний выпускают автомобили подобного качества. Средняя продолжительность эксплуатации около 5 лет или 100 -150 тысяч км, после чего от современной машины почти ничего не остаётся…Требуются крупные вложения… |
|||||
4 | Создание пустых страниц |
1 тест |
|||
На этом уроке мы создадим новый пустой проект, добавим нужные контроллеры Отчёт отправил: 16218. Дмитрий Выполнено за 21 мин. [Показать отчёт] Научился: Очень интересно и увлекательно. На практике увидел зачем нужен Control (контроллеры), как он связан c View (представление контроллера). Создал по аналогии представления для всех методов. Сложности: -- |
|||||
5 | Создание модели Story |
|
|||
На этом уроке мы создадим модель Story. В этой модели будят вся логика работы с историями. Отчёт отправил: 16218. Дмитрий Выполнено за 1 час. 5 мин. [Показать отчёт] Научился: Узнал на примере урока как создается модель и какова ее функциональность в проекте. Попрактиковался в создании модели. Попробовал реализовать вывод нескольких статей и заголовков. Так же реализовал метод рандом в классе Store...Но не придумал как их правильно вызывать совместно в моем получившемся варианте..Возможно я что то сделал не то...Думаю ответ на данный вопрос найду в следующем уроке. Сложности: Было интересно покапаться.... |
|||||
6 | Формирование меню |
|
|||
На этом уроке мы сформируем навигационное меню в шапке нашего сайта.
Отчёт отправил: 16218. Дмитрий Выполнено за 52 мин. [Показать отчёт] Научился: Создал еще дин пункт меню "О проекте" Для того чтобы понять как все работает сделал по аналогии с уже созданным: 1) Добавил в контроллер ActionResult AboutProgect()... 2) В классе Store добавил переменную aboutProject { get; private set; } и функцию public void AboutProject_() где присвоил значение переменной. 3) В конструкторе класса добавил вызов новой функции...(AboutProject_() ) 4) Добавил представление для новой функции контроллера AboutProject В нем вывожу значение переменной определяемой в классе Store как <p>@Model.aboutProject</p> В общем сделал все это чтобы ее раз пройти по шагам этапы... С радостью дальше)))) Сложности: -- |
|||||
7 | Установка сервера MySQL |
|
|||
На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. Отчёт отправил: 16218. Дмитрий Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: Установил MySql Подключился к серверу MySQl Для подключения к серверу MySql использовал SQLyog... Сложности: Как всегда установка затянулась...Оказалось что последняя версия 8.0 какая то не работает ни с heidisql ни c sqlyog.. Выводится сообщение о не найденном плагине....В итоге решил поставить более старую версию и все заработало. Как следствие убил кучу времени на переустановку перезагрузку избавление от следов предыдущей ...))) |
|||||
8 | Схема базы данных |
|
|||
На этом уроке мы создадим базу данных для нашего проекта, подготовим схему таблицы и напишем SQL запрос для её создания. Отчёт отправил: 16218. Дмитрий Выполнено за 4 час. 39 мин. [Показать отчёт] Научился: Отличный урок. Поработал с консолью...Никогда не создавал базу данных через CMD.... Записал себе в файл всю информацию по данному уроку чтобы на будущее было куда подсмотреть))) Нашу базу можно и нужно использовать для хранения историй проекта. Сложности: Как всегда не обошлось без косяков. Думал щас быстро сделаю...))) После создания, при попытке сохранить новую таблицу через heidisql - strory1 у меня возникала ошибка..."BLOB/TEXT COLUMN '...' CAN'T HAVE A DEFAULT VALUE" Нашел решение ()цитирую) : "Для исправления ситуации надо всего лишь изменить режим работы MySQL. Для этого в файле my.ini (my.conf для Unix) заменить строчку sql-mode sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" на sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" " Не знаю помогло в итоге оно или нет, но я в итоге пересоздал таблицу и понял, что в первый раз для текстового поля я не у казал значение по умолчанию.. |
|||||
9 | Создание SQL-запросов |
|
|||
На этом уроке мы составим список задач для нашей базы и составим SQL запросы для решения каждой задачи. Все запросы протестируем в SQL-консоли. Отчёт отправил: 16218. Дмитрий Выполнено за 1 час. 7 мин. [Показать отчёт] Научился: Отличный урок. Написал для себя в памятку - запросы и методы SQL... Внес туда всё разобранное в уроке. Попробовал вызвать в консоле все запросы( на добавление, изменение, очистку, удаление....), Все отработало отлично. С запросами к SQL не доводилось часто работать.... По этому уроки в двойне интереснее. Заодно и синтаксис запроса MySQL подтяну))) Сложности: -- |
|||||
10 | Подключение к базе данных |
|
|||
Мы достигли Экватора нашего проекта! На этом уроке мы подключим наш проект к созданной базе данных на MySQL. Отчёт отправил: 16218. Дмитрий Выполнено за 1 час. 12 мин. [Показать отчёт] Научился: Урок отличный. Все что в нем было делал впервые. Выполнил установку коннектора. Создал класс MySQL. Создал в нем конструктор и метод Select(); Вынес параметры подключения к базе данных как требуется в задании урока в Web.Config Очень интересно и в тоже время просто когда смотришь что нужно делать и повторяешь....Но думаю что пойму как это работает после того как несколько раз сам проделаю подобную процедуру... Сложности: Были мелкие трудности(в ходе выполнения урока возникали ошибки при запуске отладки). Останавливал видео и разбирался ,где допустил ошибку если при запуске возникали какие то коллизии. В основном это связано с синтаксическими ошибками))) |
|||||
11 | Работа над ошибками |
|
|||
На этом уроке мы создадим механизм отлова ошибок при работе с базой данных и передачи их клиенту. Отчёт отправил: 16218. Дмитрий Выполнено за 13 час. 4 мин. [Показать отчёт] Научился: Супер урок. Сейчас с загруженностью на работе стало меньше времени на саморазвитие. И курс прохожу не каждый день. Естественно, за несколько дней вылетает из головы информация и нужно снова вникать на каком этапе остановились и что нужно делать дальше. Классно, то что с помощью работы над ошибками я еще раз подробно разобрался с составляющими проекта... Пошагово прошел все этапы отладки... Кстати, поправил мелкие ошибки, которые сам же допустил в ходе работы по данному заданию... В общем одно дело написать и совсем другое дело понять, разобраться и научится понимать что происходит на каком этапе...В данном уроке как раз и показаны механизмы и инструменты которые могут помочь в этом. Сложности: Не всегда хватает время сделать сразу все занятие и урок может затянуться, т.к. приступая к нему снова спустя время начинаешь можно сказать все по новой... |
|||||
12 | Запуск модели Story |
|
|||
На этом уроке мы запустим модель Story - допишем методы Number() и Random(), организуем ещё одну проверку ошибок. Отчёт отправил: 16218. Дмитрий Выполнено за 1 час. 44 мин. [Показать отчёт] Научился: Отличный урок. Как всегда кажется наглядно все просто, но когда начинаешь делать то появляются мелкие затыки... Несмотря на то что по сути делаешь один в один как на экране)) Для себя открыл новую конструкцию в написании кода на языке C# - "??" ((RouteData.Values["id"] ?? "")) Сложности: Сделал имя конструктора контроллера не корректным и он у меня не отрабатывал))) Сидел, пытался понять почему вдруг резко все перестало работать )))...Внимательно вчитался в сообщение об ошибке, где говорилось что story = null и понял что экземпляр не был создан... Поправил ошибку и все заработало. |
|||||
13 | Что такое SQL-инъекция |
|
|||
На этом уроке мы сделаем бекап базы данных, затем продемонстрируем «взлом» страницы посредством SQL-инъекции, покажем, как от этого защититься и потом восстановим базу данных. Отчёт отправил: 16218. Дмитрий Выполнено за 1 час. 38 мин. [Показать отчёт] Научился: Отличный урок. Слышал о понятии SQL инъекции но как то не сталкивался.... Очень поучительный материал в данном занятии. Евгению и Валерию спасибо за столь подробное и понятное объяснение. По итогу, узнал, что такое SQL инъекция. На практике попробовал как это работает. Восстановив БД сделал защиту для id (экранирование как в видео к уроку). Поиграл отладчиком после этого. Посмотрел какие значения и во что преобразуются. Сделал защиту от самой распространенной SQL инъекции))) Сложности: Посмотрел видео, - вроде все понятно. Начал реализовывать - как всегда куча ошибок и вопросов ))) Но в итоге все разобрал. |
|||||
14 | Рефакторинг модели Story |
|
|||
На этом уроке мы сделаем небольшой рефакторинг класса Story.
Отчёт отправил: 16218. Дмитрий Выполнено за 14 мин. [Показать отчёт] Научился: Полезный урок. Вспомнил про перегрузку методов. Поработал с оптимизацией (рефакторингом кода) Сложности: -- |
|||||
15 | Работа со списком историй |
|
|||
На этом уроке мы сделаем вывод списка историй на главной странице.
Отчёт отправил: 16218. Дмитрий Выполнено за 4 дня 17 час. 37 мин. [Показать отчёт] Научился: Снова прошел по всем модулям отладчиком, чтобы вспомнить как все тут устроено...Когда не каждый день занимаешься, все быстро улетучивается из головы.... Радует, что общее представление все же при этом откладывается в памяти... Курс - прокачивает навык...))) Сложности: Выполнил урок и в конце получил ошибку при выводе. Решил отложить до момента как появится время, чтобы разобраться. Ошибка оказалась как всегда из за невнимательности.... В методе public ActionResult Index() в возврат не передал story... Поправил все начало работать |
|||||
16 | Добавление истории |
|
|||
На этом уроке мы реализуем отправку истории и добавление её в базу данных. Мы рассмотрим возможные ошибки, которые могут возникнуть при этом. Отчёт отправил: 16218. Дмитрий Выполнено за 2 час. 18 мин. [Показать отчёт] Научился: В ходе данного урока получилось узнать много интересного, побороться с трудностями (куда ж без них даже если можно сказать повторяешь с экрана)) ) Узнал о таком понятии как хелперы. Добавил их и по тестировал работу в отладке. Написал метод Add(); Теперь проект может добавлять истории, приобретая уже более интересную структуру чем вначале. Доработал параметр Error протестировал работу как в видео уроке. Сложности: Сложности возникали постоянно...))) Пропустишь какую то мелочь...А потом когда запускаешь отладку возникает ошибка которой в видео нет...Вот тут начинается самое интересное, начинаешь осмысливать написанное чтобы понять что не так и лучше усваиваешь материал |
|||||
17 | Валидация данных |
|
|||
На этом уроке мы реализуем проверку полей формы при отправке истории. Обсудим регулярное выражение для проверки адреса электропочты. Отчёт отправил: 16218. Дмитрий Выполнено за 1 час. 18 мин. [Показать отчёт] Научился: Незаметно приблизились к заключительной части курса. Очень много полезной и интересной информации разобрано по ходу курса... Познакомился с новым понятием (для себя) регулярное выражение. Почитал информацию по нему в msdn. Добавил валидацию полей на заполненность, а так же с помощью регулярного выражения контроль вводимой информации в поле email. Потестировал как это работает. Сложности: -- |
|||||
18 | Оформление сайта |
|
|||
На этом уроке мы займемся внешним видом нашего сайта, будем оформлять страницы, используя возможности bootstrap 3. Отчёт отправил: 16218. Дмитрий Выполнено за 23 час. 24 мин. [Показать отчёт] Научился: Узнал о понятии bootstrap Пока конечно больше вопросов чем ответов, но к концу занятия начало приходить понимание как это все работает хотя бы в рамках нашей модели. На будущее из этого занятия вынес, что для оформления страниц в интернет нужно использовать данный функционал...Ну а далее уже по потребностям реализовывать оформление находя подсказки на разных ресурсах в данной теме. Сложности: Осмысливать задаваемые параметры оформления по ходу выполнения задания))) |
|||||
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 . |