C# обучение видео

Формула программиста
основатель — Волосатов Евгений Витольдович

Базовый ASP.ект

Практическое знакомство с технологиями
ASP.NET + MVC + MySQL

Пройди вместе с нами весь путь создания рабочего
web-проекта от планирования до размещения на хостинге.

Для кого этот курс
+ для тех, кто давно хочет создать web-проект
+ для начинающих программистов
+ для веб-разработчиков

Преимущества курса
+ Поэтапная разработка проекта
+ Короткие видеоуроки
+ Практические задания
+ Минимум теории, максимум практики
+ Чёткий пошаговый алгоритм: повтори и получи

Авторы курса
Евгений Волосатов
Валерий Жданов

Мы целенаправленно упростили суть сайта,
для того чтобы в короткие уроки вложить
все этапы создания готового проекта,
но при этом не погрязнуть в мелочах,
мы оставили место для творчества :)

Краткое содержание курса
1. Схема проекта с адресами
2. Использование модели, вида и контроллера
3. Создание базы данных и её установка
4. Создание ядра проекта - моделей
5. Связь моделей с видом через контроллеры
6. Проверка POST-данных
7. Размещение проекта на своём хостинге

Объём: 16 мини уроков
Технологии: ASP.NET, MVC, MySQL, Bootstrap, JavaScript,

Хочу купить!

Купить в рассрочку за мегахеши

Цена: 2,000 p.


Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Мы начинаем ASP.NET с MVC 00:06:08 91 чел. ★ 4.8 Done
  На этом уроке мы создадим тестовый проект
с использованием технологии ASP.NET на MVC шаблоне
и рассмотрим структуру проекта.
Отчёт отправил: 9567. Максим Выполнено за 5 мин. [Показать отчёт]
Научился: 1) Создавать ASP.NET проекты =) 2) Примерно понял структуру проекта 
Сложности: Ничего 
Комментарии: Все замечательно 
2 Выбор темы для проекта 00:02:35 79 чел. ★ 4.8 Done
  На этом уроке мы обсудим, какой сайт будем делать.

Отчёт отправил: 9567. Максим Выполнено за 5 мин. [Показать отчёт]
Научился: 1) Продумывать тему сайта 2) Продумывать его схему 
Сложности: Ничего 
Комментарии: Все замечательно 
3 Создание схемы проекта 00:06:41 73 чел. ★ 4.6 Done
  На этом уроке мы ещё раз просмотрим сайт,
и выберем страницы, которые будем создавать.
Отчёт отправил: 9567. Максим Выполнено за 7 мин. [Показать отчёт]
Научился: 1) Продумывать концепцию сайта P.S. - история прикреплена в виде фотографии 
Сложности: Собственно, ничего. 
Комментарии: Замечаний нема. Все хорошо, как всегда. 
4 Создание пустых страниц 00:10:50 68 чел. ★ 4.8 Done
  На этом уроке мы создадим новый пустой проект,
добавим нужные контроллеры

Отчёт отправил: 9567. Максим Выполнено за 15 мин. [Показать отчёт]
Научился: 1) Создавать MVC проекты 2) Создавать новые контроллеры 3) Создавать для них представления 4) Задавать главный контроллер 5) Перенаправлять представления из одного методы в другой 
Сложности: Пока что все доступно 
Комментарии: С хорошим учителем и замечаний быть не может =) 
5 Создание модели Story 00:12:38 52 чел. ★ 4.9 Done
  На этом уроке мы создадим модель Story.
В этой модели будят вся логика работы с историями.

Отчёт отправил: 9567. Максим Выполнено за 28 мин. [Показать отчёт]
Научился: 1) Cоздавать модели для контроллеров 2) Создавать конструктор с инициализацией полей 
Сложности: Сделать пошаговое выполнение проекта (я серьезно, у меня не работает линейка клавиш F =) ) А так - ничего, все доступно и понятно. 
Комментарии: Все замечательно! Спасибо за урок! 
6 Формирование меню 00:10:46 51 чел. ★ 4.9 Done
  На этом уроке мы сформируем навигационное меню в шапке нашего сайта.
Отчёт отправил: 9567. Максим Выполнено за 17 мин. [Показать отчёт]
Научился: 1) Изменять пункты меню в шапке проекта (господи, магия какая-то =) ) 2) Полазил по проекту и примерно понял, как сия магия работает) 3) Заодно увидел, где меняется копирайт страниц и приписка к основной ссылке) 
Сложности: Ничего, все понятно 
Комментарии: Все замечательно) 
7 Установка сервера MySQL 00:08:39 50 чел. ★ 4.8 Done
  На этом уроке мы установим MySQL Community Server
и программу HeidiSQL для подключения к нему.
Отчёт отправил: 9567. Максим Выполнено за 15 мин. [Показать отчёт]
Научился: 1) Устанавливать MySQL сервер 2) Получать к нему доступ 
Сложности: Ничего 
Комментарии: Собственно, по неизведанным для меня причинам я не смог получить доступ к базе данных через консоль. Либо, товарищи там поменяли для этого внутреннюю команду, либо же отказались от данного функционала, ибо в родном приложении таковой функционал появился, без всяких там HeidiSQL (скрин прилагаю) 
8 Схема базы данных 00:15:58 50 чел. ★ 4.9 Done
  На этом уроке мы создадим базу данных для нашего проекта,
подготовим схему таблицы и напишем SQL запрос для её создания.
Отчёт отправил: 9567. Максим Выполнено за 25 мин. [Показать отчёт]
Научился: 1) Создавать базы данных 2) Создавать в них таблицы 
Сложности: Ничего 
Комментарии: Опять-таки, через саму консоль не вышло, ибо она отказывается принимать команду "mysql", но в HeidiSQL есть как возможность простого создания таблиц простым добавлением элементов, так и есть консоль для запросов. Оба варианта работают как надо. И да, в родном манипуляторе базами от MySQL отсутствует возможность удаления созданных баз (или я просто слепой)) 
9 Создание SQL-запросов 00:20:44 48 чел. ★ 4.9 Done
  На этом уроке мы составим список задач для нашей базы
и составим SQL запросы для решения каждой задачи.
Все запросы протестируем в SQL-консоли.
Отчёт отправил: 9567. Максим Выполнено за 27 мин. [Показать отчёт]
Научился: 1) Познал суть SQL запросов 
Сложности: Ничего 
Комментарии: Большое спасибо за доступный и понятный урок) В принципе, куда логичнее не использовать встроенный запрос RAND(), а программно сгенерировать псевдо-случайное число, верхним порогом которого будет последнее id, которое можно вытащить "select id from story order by id desc limit =1;", после чего использовать уже "select * from story where id='"+сгенерированное_нами_число+"';" Ибо какое-то уж очень громоздкое решение нашли sql-вцы для реализации рандома) 
10 Подключение к базе данных 00:25:51 44 чел. ★ 4.9 Done
  Мы достигли Экватора нашего проекта!
На этом уроке мы подключим наш проект
к созданной базе данных на MySQL.
Отчёт отправил: 9567. Максим Выполнено за 35 мин. [Показать отчёт]
Научился: 1) Подключаться к базам данных 2) Считывать оттуда нужную информацию 3) Вносить параметры подключения в конфиг 
Сложности: Ничего, все пока весьма понятно =) 
Комментарии: Все замечательно, спасибо за отличный урок! 
11 Работа над ошибками 00:36:57 39 чел. ★ 4.9 Done
  На этом уроке мы создадим механизм отлова ошибок
при работе с базой данных и передачи их клиенту.
Отчёт отправил: 9567. Максим Выполнено за 45 мин. [Показать отчёт]
Научился: 1) Отрабатывать ошибки 
Сложности: Ничего 
Комментарии: Все прекрасно) Кстати, заодно я реализовал вариант рандома, который предлагал в прошлый раз. Надо сказать, что использовать его имеет смысл в том случае, если у нас достаточно большая база, ибо генератор псевдо-случайных чисел уж не слишком-то и случаен, особенно хорошо сие наблюдается на диапазоне чисел 1-2, в этом случае более рандомной показывает себя именно функция RAND() в SQL. 
12 Запуск модели Story 00:35:22 35 чел. ★ 4.8 Done
  На этом уроке мы запустим модель Story -
допишем методы Number() и Random(),
организуем ещё одну проверку ошибок.
Отчёт отправил: 9567. Максим Выполнено за 1 час. 25 мин. [Показать отчёт]
Научился: 1) Работать с параметром id в составе url 2) Отрабатывать еще больше ошибок =) 
Сложности: 1) Работать с залипающей от пролитого чая с сахаром клавиатурой =) А так - ничего) Спасибо за урок) 
Комментарии: Все здорово! Спасибо! 
13 Что такое SQL-инъекция 00:25:24 34 чел. ★ 4.9 Done
  На этом уроке мы сделаем бекап базы данных,
затем продемонстрируем «взлом» страницы
посредством SQL-инъекции, покажем,
как от этого защититься и потом
восстановим базу данных.

Отчёт отправил: 9567. Максим Выполнено за 30 мин. [Показать отчёт]
Научился: 1) Делать бэкапы баз данных 2) Делать SQL-инъекции 3) Защищаться от них) 4) Восстанавливать базы данных 
Сложности: Ничего) Спасибо за урок 
Комментарии: Очень интересно все это работает. Спасибо за подробное разъяснение и предупреждения об опасностях) 
14 Рефакторинг модели Story 00:05:28 34 чел. ★ 4.9 Done
  На этом уроке мы сделаем небольшой рефакторинг класса Story.
Отчёт отправил: 9567. Максим Выполнено за 13 мин. [Показать отчёт]
Научился: 1) Убеждаться, что все работает =) 
Сложности: Абсолютно ничего 
Комментарии: Единственное замечание - Вы немного увлеклись в заменении ноликов на nr) В строчке с ename'ом сие было малость излишне =) 
15 Работа со списком историй 00:24:25 34 чел. ★ 5 Done
  На этом уроке мы сделаем вывод списка историй на главной странице.
Отчёт отправил: 9567. Максим Выполнено за 27 мин. [Показать отчёт]
Научился: 1) Создавать гиперссылки  
Сложности: Ничего 
Комментарии: Спасибо за урок, все замечательно =) Но хотел бы испросить совета: хотел сделать так, чтобы по нажатию на "Случайная" выдавалась случайная история (как и раньше), но чтобы в url значился ее адрес. И вот тут возникает вопрос: можно ли по нажатию на объект, созданный при помощи HtmlActionLink не только сделать редирект, но и выполнить действие из какого-либо класса перед этим (тогда можно будет создать ссылку прямо перед перенаправлением). Или же возможно ли изменить текущий url страницы на нужный?  
16 Добавление истории 00:43:20 32 чел. ★ 5 Done
  На этом уроке мы реализуем отправку истории и добавление её в базу данных.
Мы рассмотрим возможные ошибки, которые могут возникнуть при этом.
Отчёт отправил: 9567. Максим Выполнено за 53 мин. [Показать отчёт]
Научился: 1) Научился разделять Post и Get запросы 2) Научился таки методу Redirect() (благодаря которому наконец реализовал получение случайной истории как хотел) 
Сложности: Ничего. Благодаря хорошим объяснениям все как всегда понятно, спасибо большое за урок =) 
Комментарии: Евгений Витольдович, я вот еще с урока, где вы указали получение ename'a через substring() думал, зачем было делать именно так. И когда Вы сейчас исправляли ошибку, возникающую в том случае, если email не содержит @, 4 строчками, решил, что все таки можно и попроще. У нас ведь цель вернуть имя до собачки, а это можно сделать при помощи email.Split('@')[0]. Вот и все. И никаких ошибок =) Мы пока к валидации не обращались, так что нам не надо отлавливать там ошибок (а когда обратимся - можно обрабатывать наличие собачки email.Contains("@")) Так, я думаю, покороче будет) 
17 Валидация данных 00:23:09 32 чел. ★ 5 Done
  На этом уроке мы реализуем проверку полей формы при отправке истории.
Обсудим регулярное выражение для проверки адреса электропочты.
Отчёт отправил: 9567. Максим Выполнено за 45 мин. [Показать отчёт]
Научился: 1) Валидации (отчасти) 
Сложности: 1) Заставить работать проверку регулярным выражением. Так и не понял, в чем была проблема, но вот это: [Required(ErrorMessage = "Укажите свой email")] [RegularExpression(@"^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2-6}", ErrorMessage = "Укажите допустимый email")] public string email { get; set; } Просто отказывается нормально работать и не пропускает вообще ничего  
Комментарии: Все замечательно, спасибо.  
18 Оформление сайта 00:46:07 31 чел. ★ 4.7 Done
  На этом уроке мы займемся внешним видом нашего сайта,
будем оформлять страницы, используя возможности bootstrap 3.
Отчёт отправил: 9567. Максим Выполнено за 1 час. 10 мин. [Показать отчёт]
Научился: 1) Обучился тому, как менять внешний вид сайта 2) Поразбирался с bootstrap 
Сложности: Самое сложное в оформлении - сделать что-то нормально =) 
Комментарии: Все замечательно, спасибо за урок! 
19 Размещение проекта в Интернете 00:33:42 29 чел. ★ 4.9 Done
  В этом уроке мы зарегистрируемся на хостинге
и разместим свой проект в Интернете, наконец-таки!

Отчёт отправил: 9567. Максим Выполнено за 48 мин. [Показать отчёт]
Научился: 1) Ставить ASP.NET проекты на хостинг 
Сложности: Ничего) 
Комментарии: Мой комментарий виден на скрине в 10 истории =) Та ошибка, что у Вас выскочила, была связана, что мы пытались постоянно держать подключение к базе данных открытым. Правильнее было переработать класс, чтобы подключение обновлялось при каждом новом запросе. И все прекрасно себе работает) 
20 Отказ от статика 00:13:42 29 чел. ★ 4.7 Done
  Нам придётся отказаться от статичного класса базы данных,
потому что статичный класс продолжает существование
даже при новых обращениях к нему с новой страницы.

Отчёт отправил: 9567. Максим Выполнено за 15 мин. [Показать отчёт]
Научился: Собственно, ничему) Урок-то дебаггингу посвящен) 
Сложности: Ничего 
Комментарии: Выполнил задание за 15 минут до начала урока (так что могу зваться учеником-экстрасенсом), исправляя ошибку, возникшую на прошлом уроке =) 
21 ФИНАЛЬНЫЙ УРОК. Презентация 24 чел. ★ 4.8 Done
  Сделай видео-презентацию своей программы.
На видео необходимо ответить на следующие вопросы:
0. Показать, что у тебя получилось.
1. Чему ты научился на этом курсе?
2. Что тебе понравилось, что нет?
3. Что ты ещё добавишь в свой проект?
4. Какой следующий курс ты будешь проходить?
Отчёт отправил: 9567. Максим Выполнено за 10 час. 01 мин. [Показать отчёт]
Научился: В этом курсе я научился: 1) Создавать базовые ASP.NET проекты 2) Отрабатывать ошибки в них возникающие 3) Подключать к ним базы данных 4) Ставить все это дело на хостинг 
Сложности: Благодаря нашим учителям сложностей почти не возникало =) 
Комментарии: Спасибо за этот замечательный курс и затраченные Вами, Евгений Витольдович и Валерий Владимирович, на него силы! Все получилось красиво и понятно! 
22 VIP. Авторизация на сайте 00:37:47 23 чел. ★ 4.9 Done
  На этом уроке мы создадим в базе данных таблицу users,
добавим туда одну запись и реализуем авторизацию администратора

Отчёт отправил: 9567. Максим Выполнено за 1 час. 45 мин. [Показать отчёт]
Научился: 1) Создавать форму авторизации/регистрации (приступаю теперь к следующему уроку, чтобы познать суть сессий) =) 
Сложности: Ничего 
Комментарии: Все замечательно, спасибо! Заодно сделал форму для регистрации, чтобы можно было вносить новых пользователей =) 
23 VIP. Модерация записей 00:59:29 20 чел. ★ 4.9 Done
  На этом уроке мы реализуем функционал администратора сайта.
Администратор сможет подтверждать истории для публикации.
Отчёт отправил: 9567. Максим Выполнено за 1 час. 28 мин. [Показать отчёт]
Научился: 1) Создавать сессии. Ура =) 
Сложности: Ничего 
Комментарии: Все замечательно, спасибо за урок) Внес некоторые коррективы: в разделе "Модерация" отображаются все истории, ждущие своего вердикта, отклоненные истории меняют свой id на минимальный в базе-1, а значение auto_increment в таблице снижается до его старого id, тем самым мы избегаем "бреши" в id опубликованных записей! Хотел еще сделать, чтобы отсылать истории могли только зарегистрированные пользователи (а email сразу брался из их данных о регистрации), но сил уже не хватает =) Через часик доделаю сие действо =) 
24 VIP. Установка домена 00:15:27 16 чел. ★ 4.9 Done
  На этом уроке мы покажем, как просто можно
купить и привязать домен к вашему проекту.
Отчёт отправил: 9567. Максим Выполнено за 10 час. 00 мин. [Показать отчёт]
Научился: 1) Ставить домен 
Сложности: 1) Доползти до компьютера =) 
Комментарии: Спасибо за курс! Был рад его пройти и обучиться созданию базового ASP.NET проекта! (http://hearthforumstories2.tk/) 
  Итого:   24 видеоурока общей продолжительностью 8 час. 41 мин. 16 чел. ★ 4.86  
  Финалисты:   Михаил Ермишин,   Nromik,   Елена,   Аркадий,   valerys Nikola,   Tekashnik,   Сергей,   zhikharevav,   Максим,   Сергей Соколов,   Ludmila,   Алексей Хонин,   Станислав,   Константин,   WildOrc,   Алексей|BrisK|Кривицкий .

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Преодолению. Записывать видео.
Хороший опыт. Не всё получилось как хотелось, первый блин никак не хотел становиться нормальным. А поэтому.. НЕ ТРАТЬТЕ ВРЕМЯ НА ПРОСМОТР вымучивания себя из себя. :)))
Научился: Записывать видео обзор.
Курс достаточно неплохой и позволяет пощупать написание сайтов при помощи функционала предоставляемого в студии. Теперь изучение данного материала будет более понятным используя другие источники.