# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание базы данных для гостиницы. Твоя задача - самому подумать и создать описание сущностей проекта, для каждой выписать атрибуты. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Научился аскетизму Сложности: Подумать что самое главное в схеме и это оставить. Комментарии: Схема готова. |
|||||
2 | Таблицы клиентов и заказов |
1 тест |
|||
На этом уроке мы перечислим поля таблиц Client и Book. Каждое поле этих таблиц потребует подробных комментариев, почему так, как можно сделать иначе, какие могут быть ошибки и так далее. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 47 мин. [Показать отчёт] Научился: Еще раз узнал много полезного про БД и нормальные формы. Сложности: Ничего сложного. Комментарии: Вообще плохая идея делать в таблице phone1, phone2. С моей точки зрения для этого лучше сделать табличку с 3 полями - id, тип обратной связи, и поле value в котором содержится информация. Типом обратной связи может быть телефон, адрес, скайп, аська, емайл или явка с газеткой в полдень у фонтана (шучу - для разведчиков - чтобы никто не просчитал) - вот это будет очень формализовано. Правда что плохо в таком подходе - надо будет плести соединения таблиц друг с другом. Как показывает практика это не всегда нужно - как правило люди оставляют телефон или e-mail и все. Это я просто если полностью взять и формализовать вид обратной связи. Я даже кстати не знаю как эту таблицу назвать. |
|||||
3 | Таблицы комнат и дней |
1 тест |
|||
На этом уроке мы перечислим поля трёх таблиц: Room, Calendar, Map. В конце урока распишем типы каждого поля нашей базы данных. Подумай и напиши, какие ещё поля можно добавить в эти таблицы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 44 мин. [Показать отчёт] Научился: Досоздавать БД Сложности: Ничего. Комментарии: Вот даже на простом примере видно, что не все так просто. Например базу данных делаем для владельца, а владелец хочет получать от нее деньги. Сразу встает вопрос какие кровати в номере. Например семейным парам важно чтобы была общая двухместная кровать, кроме того насчет комнат важно чтобы сделать этот номер люкс, эконом или полулюкс. Хотя да - если привинтим деньги база весьма распухнет как в таблицах, так и полях. |
|||||
4 | Создание базы в MS Access |
1 тест |
|||
На этом уроке мы создадим нашу базу данных в MS Access. Там же нарисуем схему базы данных и создадим связи между таблицами. Необходимо будет распечатать схему базы данных и прикрепить её на своём рабочем месте. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 45 мин. [Показать отчёт] Научился: Круто! Я не знал, что у меня на компе есть MS Access. Сложности: Ничего сложного - базы данных мой хлеб. Комментарии: Я в свое время начинал с MS Access 97. Кстати я еще в далекие 2000-е годы познакомился с парнем, который вел сайт "Акцесс со всех сторон", а .NET появился только через 3 года. Кстати чем плоха база MS Access ее минимум раз в месяц надо восстанавливать или она дефрагментируется. Был опыт сетевой работы с одной базой когда более 30 человек работали с ней и приходилось процедуру восстановления проводить 1 раз в 2-3 дня. |
|||||
5 | Установка сервера MySQL |
2 теста |
|||
На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 4 час. 19 мин. [Показать отчёт] Научился: Ничему. Сложности: Долго качался на мобильной версии сервер mysql. Комментарии: Все работает. Я думал снёс mysql, а он у меня благополучно стоял на моем компе. Хотя никаких ярлыков не нашел. |
|||||
6 | SQL запросы для создания Базы |
1 тест |
|||
На этом уроке мы напишем SQL запросы для создания нашей базы данных отеля. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 57 мин. [Показать отчёт] Научился: Узнал о команде explain и show create table - весьма полезные. Сложности: Ничего Комментарии: Мне сейчас больше нравится создавать запросы больше в консоли, чем с помощью любой IDE. |
|||||
7 | Модель. Планирование. |
|
|||
На этом уроке самостоятельное задание - сформулировать все задачи, которые решает программа. Это будет своеобразное проектирование бизнес-модели проекта. Подсказка: смотрим на схему базы данных, на каждую таблицу по отдельности, и задаём себе несколько раз вопросы: что это? для чего? что можно с этим сделать? как это можно обработать? Отчёт отправил: 7119. Новопашин Владимир Выполнено за 50 мин. [Показать отчёт] Научился: Да особо ничему. Сложности: Планировать. Комментарии: Я бы добавил следующие функции: Клиент: - добавление нового клиента - удаление клиента - редактирование клиента - поиск в клиентах - выгрузка списка клиентов для почтовой рассылки - выгрузка клиентов для рассылки смс по акциям - получение списка клиента по фильтрам и без фильтра Комнаты: - добавление, удаление и редактирование комнат; - поиск комнат по фильтру; - получение списка свободных комнат; - общий план комнат; Календарь - добавление, редактирование и удаление календарных дней; - получение списка дней в году; - получение списка праздничных и выходных дней; Книга клиента: - добавление, удаление и редактирование дат заезда клиентов; - получение списка активных клиентов; Карта -Добавление, удаление и редактирование занятости жилищного фонда. |
|||||
8 | Модель. Список задач. |
|
|||
На этом уроке мы составим список задач. Для каждой задачи нужно будет написать SQL запрос (или несколько), который решает поставленную задачу. Запросы нужно писать в таком виде, в котором они сразу могут быть выполнены в SQL-мониторе. Каждый запрос необходимо проверить на работоспособность. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 52 мин. [Показать отчёт] Научился: Пока ничему. Сложности: Ничего. Вроде все понятно. Комментарии: Идем дальше. |
|||||
9 | Модель. SQL запросы для Client |
|
|||
На этом уроке мы составим SQL запросы для решения задач с таблицами Client и Calendar. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 33 мин. [Показать отчёт] Научился: Пока ничему. Сложности: Ничего. Комментарии: Идем дальше. |
|||||
10 | Модель. SQL запросы для Room |
1 тест |
|||
На этом уроке мы составим SQL запросы для решения задач с таблицей Room. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: Идем дальше. |
|||||
11 | Модель. SQL запросы для Book и Map |
|
|||
На этом уроке мы составим SQL запросы для всех остальных задач, для таблиц Book и Map. В отчёте напиши мини-отзыв о созданных запросах. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 56 мин. [Показать отчёт] Научился: Пока ничему - пишем запросы - ничего особенного. Сложности: Забыл про эти foreign keys, немного помучался. Комментарии: Идем дальше. |
|||||
12 | Модель. Имена методов. |
1 тест |
|||
На этом уроке мы пройдёмся ещё раз по списку составленных задач и дадим названия классам и методам, которые эти задачи будут выполнять. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 55 мин. [Показать отчёт] Научился: Проставил названия методов. Сложности: Ничего. Комментарии: Я считаю, что методы insert и update нужно объединить в один. Если id равен 0, то этот метод работает как insert , иначе как update. |
|||||
13 | Класс MySQL. Драйвер и конструктор. |
1 тест |
|||
На этом уроке мы наконец-таки создадим проект. Установим Mysql DotNet Connector и начнём создавать класс MySQL для подключения к базе данных. Мы напишем конструктор и три метода. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 58 мин. [Показать отчёт] Научился: Создавать класс MySQL Сложности: Ничего. Комментарии: У меня коннектор был до этого уставлен когда дела базу расписания. |
|||||
14 | Класс MySQL. Получение таблицы. |
1 тест |
|||
На этом уроке мы создадим ещё несколько полезных методов в классе MySQL для считывания, изменения и добавления записей. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 47 мин. [Показать отчёт] Научился: Научился добавлять и получать записи из БД. Сложности: Ничего. Комментарии: Когда добавил русские буквы какие-то пробелы проставились в БД. Из скрина видно. |
|||||
15 | Класс MySQL. Обработка ошибок. |
|
|||
На этом уроке мы создадим функцию SqlError() для удобной обработки ошибок во время тестирования. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 51 мин. [Показать отчёт] Научился: Научился создавать обработчик ошибок Сложности: Ничего. Комментарии: Обработка ошибок это важная часть проекта. Встречал проекты без них - это были слезы -то не понятно откуда появлялись записи, то непонятно как возникали глюки. |
|||||
16 | Модульный тест |
1 тест |
|||
На этом уроке мы создадим модульный тест (UnitTest) для тестирования класса MySQL, который мы создали ранее. В уроке приводится только знакомство, без полного покрытия тестами нашего проекта, но в будущем мы к ним ещё вернёмся. В комментариях необходимо написать, использовал ли ты ранее модульные тесты. Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx Отчёт отправил: 7119. Новопашин Владимир Выполнено за 31 мин. [Показать отчёт] Научился: Модульным тестам. Сложности: Да вообщем то ничего. Комментарии: Меня порадовал метод как можно узнать подконнектились к БД или нет- просто найти сумму чисел с помощью селекта- так просто. Вообще модульным тестам стоит посвятить отдельный курс - очень важная и нужная тема. |
|||||
17 | Отображение таблицы |
|
|||
На этом уроке мы визуализируем созданное, через отображение в компоненте DataGridView. Заголовки столбцов можно поменять двумя разными способами. 1. sql.Select("SELECT id as Nr, client as Surname FROM Client"); 2. dataGridView1.Columns[0].HeaderText = "№"; Отчёт отправил: 7119. Новопашин Владимир Выполнено за 18 мин. [Показать отчёт] Научился: О гриде я и так знал. Сложности: Ничего. Комментарии: У меня три одинаковые записи, потому что я поначалу айдюк ставил равным нулю, потом поставил равным 3. |
|||||
18 | Модель. Класс Клиента |
1 тест |
|||
На этом уроке мы наконец-таки начнём создавать первый класс Бизнес Модели Отеля. Это класс Model.Client, для подготовки которого потребуется ещё некоторые вспомогательные работы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 48 мин. [Показать отчёт] Научился: Добавлять запись в таблицу клиента. Сложности: Пока ничего. Комментарии: Вообще, то плохая идея скрещивать бульдога с носорогом. О чем я? О том чтобы передавать ссылку на работу с живой базой в класс клиента. Данные об базе вообще не должны знать. Тем более с моей точки зрения Client - это должна быть одна строчка клиентов, Clients - это многие строчки клиентов. А то получилось нечто среднее между моделью и хранимыми в них данными. |
|||||
19 | Модель. Всё про Клиента |
1 тест |
|||
На этом уроке мы допишем класс Client. Реализуем четыре метода и слегка потестируем их. Написать свои впечатления о созданном классе модели. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 59 мин. [Показать отчёт] Научился: Дописал функции для класса Client. Сложности: Ничего. Комментарии: Я сделал чтение по id Read. Считаю так правильнее. |
|||||
20 | Модель - Календарный год |
|
|||
На этом уроке мы начнём создавать модель календаря. Поработаем с запросами, напишем метод InsertDays(int year). Создадим тест для этого метода и немного доработаем класс тестов. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 51 мин. [Показать отчёт] Научился: Добавил класс Calendar Сложности: Ничего. Комментарии: Идем дальше. |
|||||
21 | Модель - Календарные праздники |
1 тест |
|||
На этом уроке мы добавим в модель календаря методы для создания дней, пометки их праздничными/обычными. Также добавим ещё несколько тестов, чтобы они представляли из себя логически завершённую последовательность для тестирования календаря. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 45 мин. [Показать отчёт] Научился: Доработал класс Calendar. Сложности: Ничего. Комментарии: Тут дослушал аудиокнигу Карлоса Кастонеды "Путь в Икстлан". В одной из бесед Карлоса с доном Хуаном , дон Хуан сказал, что мы "делаем" свой мир. Ну так если попроще - мы сами создаем свою реальность. Так что с желаниями согласен. |
|||||
22 | Модель. Класс комнаты |
|
|||
На этом уроке мы создадим модель на комнат, класс Room. Чтобы сделать это быстро - мы воспользуемся заготовками из класса Client.cs. В этом уроке мы не пишем тестов, поэтому класс создали в рекордно короткое время, 15 мин. Однако, создание тестов никто не отменял - это самостоятельное задание. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 38 мин. [Показать отчёт] Научился: Создал класс Room Сложности: Ничего. Комментарии: Согласен с Игромистром, что нужно вторую версию этой программы делать. Поэтому я не хочу критиковать этот курс. Глупо критиковать маленького ребенка. Многие вещи бы уже точно можно по другому сделать. |
|||||
23 | Модель. Удаление комнат. |
|
|||
На этом уроке мы добавим метод для удаления комнат. Исправим логическую ошибку метода Update в классах Room и Client. Подготовим функцию для теста созданного класса. Рекомендую эти тесты создать самостоятельно. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 34 мин. [Показать отчёт] Научился: Добавил функционал в Room. Сложности: Ничего. Комментарии: Идем дальше. |
|||||
24 | Модель. Тестирование комнат. |
|
|||
На этом уроке мы создадим TestRoom() для класса Room. Это будет одна функция, в которой мы последовательно будем вызывать все методы класса Room и проверять, на сколько правильно и корректно они отработали. В конце урока мы выполним тест пошагово. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 42 мин. [Показать отчёт] Научился: Создавать еще тесты. Сложности: Ничего. Комментарии: Немного громоздкий тест получился, однако я послушный ученик. |
|||||
25 | Модель. Бронирование. |
|
|||
На этом уроке мы посмотрим картинки красивых комнат. И начнём создавать модуль бронирования Book. Создадим конструктор, методы InsertBook(), SelectBook() и UpdateBook(). В конце поговорим о том, что нужно отдыхать ДО того, как устанешь. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 58 мин. [Показать отчёт] Научился: Добавил книгу регистрации Сложности: Ничего. Комментарии: Угадывается общая структура. |
|||||
26 | Модель. Статусы заказов. |
|
|||
На этом уроке мы поговорим о статусах заказа. Создадим методы изменения статуса и дней заезда/выезда. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 53 мин. [Показать отчёт] Научился: Доделал класс Book Сложности: Ничего. Комментарии: Идем дальше. |
|||||
27 | Модель. Список заказов. |
1 тест |
|||
На этом уроке мы допишем два последних метода в класс Book. Методы для получения списка заказов по фильтру и без. В конце урока выведем результаты в грид, чтобы убедиться, что код работает. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 39 мин. [Показать отчёт] Научился: Доделал класс Book Сложности: Ничего. Комментарии: Идем дальше. |
|||||
28 | Модель. Карта отеля 1 |
1 тест |
|||
На этом уроке мы начнём создавать модель управления комнатами. Пока мы создадим только конструктор, поля и метод void SelectMap (long room_id, long book_id, DateTime calendar_day) Отчёт отправил: 7119. Новопашин Владимир Выполнено за 41 мин. [Показать отчёт] Научился: Начал создавать класс map. Сложности: Ничего. Комментарии: Идем дальше. |
|||||
29 | Модель. Карта отеля 2 |
|
|||
На этом уроке мы создадим методы InsertMap() и InsertMapNone(). Также добавим в класс MySQL метод DateToString() и пробежимся по всему проекту, убирая yyyy-MM-dd. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 35 мин. [Показать отчёт] Научился: Доделал класс Map. Сложности: Ничего. Комментарии: Как всегда танцы с бубнами! |
|||||
30 | Модель. Карта отеля 3 |
|
|||
На этом уроке мы создадим оставшиеся методы класса Map: SelectMap(), UpdateMap() и DeleteMap(). Пока без тестирования. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 33 мин. [Показать отчёт] Научился: Доделал класс map. Сложности: Ничего. Комментарии: Идем дальше. |
|||||
31 | Вид. Список форм. |
1 тест |
|||
На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Жду продолжения курса. Готов помочь в рождении второй части, уже понятно в каком направлении двигаться и что нужно переделывать. Сложности: Ничего. Комментарии: Еду в отпуск. В Кисловодск. Вот даже предоставил фотку гостиницы, в которой на пару суток переночую. |
|||||
Итого: 31 видеоурок |
10 час. 16 мин. 17 тестов |
23 чел. | |||
Финалисты: Денис, Иван, Николай Миролюбов, Валентин, Кирилл Шмойлов, Frank, Rita, Ludmila, Станислав, Сергей Зулкарнаев, kalobyte, Tekashnik, egresr, Новопашин Владимир, Роман, Yefim, Василий, Ivan, vip, Илья, Михаил, Vdonsk, Егор Ульянов . |