# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание базы данных для гостиницы. Твоя задача - самому подумать и создать описание сущностей проекта, для каждой выписать атрибуты. Отчёт отправил: 17606. Виктор Выполнено за 45 дней 20 час. 47 мин. [Показать отчёт] Научился: Время летит - просто капец! 45 дней!! А кажется только вчера я его открывал и думал повторять базы или сначала побыстрячку пройти патерны, вот и прошёл "побыстрячку"))) ну да ладно... Уже ранее писал схемы для создания баз данных. Вспомнил как это) Сложности: Не возникло |
|||||
2 | Таблицы клиентов и заказов |
1 тест |
|||
На этом уроке мы перечислим поля таблиц Client и Book. Каждое поле этих таблиц потребует подробных комментариев, почему так, как можно сделать иначе, какие могут быть ошибки и так далее. Отчёт отправил: 17606. Виктор Выполнено за 1 час. 58 мин. [Показать отчёт] Научился: В таблицу Client неплохо было еще записать год и дату рождения клиента - year (date of birth), Кроме того, не знаю, насколько нужно поле address, думаю phone и e-mail - вполне достаточно, тем более, что эти поля могут послужить для составного первичного ключа поскольку в любом случае являются уникальными. Сложности: Не возникло |
|||||
3 | Таблицы комнат и дней |
1 тест |
|||
На этом уроке мы перечислим поля трёх таблиц: Room, Calendar, Map. В конце урока распишем типы каждого поля нашей базы данных. Подумай и напиши, какие ещё поля можно добавить в эти таблицы. Отчёт отправил: 17606. Виктор Выполнено за 34 мин. [Показать отчёт] Научился: Я бы ещё добавил в таблицу room поле = windowOnSea (bool), а из таблицы Саlendar удалил поле holiday или wend, поскольку они дублируют друг друга. Возможна также стоит выбросить из таблицы поля adults и childs. Тема с подселением - это конечно же жесть) Сложности: Не возникло |
|||||
4 | Создание базы в MS Access |
1 тест |
|||
На этом уроке мы создадим нашу базу данных в MS Access. Там же нарисуем схему базы данных и создадим связи между таблицами. Необходимо будет распечатать схему базы данных и прикрепить её на своём рабочем месте. Отчёт отправил: 17606. Виктор Выполнено за 1 час. 21 мин. [Показать отчёт] Научился: Как оказалось в этом редакторе(MS Access), очень даже легко работать, особенно, если кто-то ещё и показывает, как всё делать) и таблички прекрасные получаются в UML. Особенно понравилось создавать внешние связи и тягать таблицы туда-сюда) Сложности: Распечатать схему |
|||||
5 | Установка сервера MySQL |
2 теста |
|||
На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. Отчёт отправил: 17606. Виктор Выполнено за 15 мин. [Показать отчёт] Научился: Проходил уже ранее этот урок в каком-то другом курсе, подозреваю, что это был "SQL: ничего лишнего", но могу ошибаться. Поэтому у меня уже установлен mysql и HeidiSQL. Также в каком-то из видекурсов установил OpenServer и в основном работаю через него и его консольное приложение - ConEmu Сложности: Не возникло |
|||||
6 | SQL запросы для создания Базы |
1 тест |
|||
На этом уроке мы напишем SQL запросы для создания нашей базы данных отеля. Отчёт отправил: 17606. Виктор Выполнено за 4 час. 55 мин. [Показать отчёт] Научился: Повторил команды SQL по созданию таблиц баз данных и внешних ключей к таблицам Сложности: Не возникло |
|||||
7 | Модель. Планирование. |
|
|||
На этом уроке самостоятельное задание - сформулировать все задачи, которые решает программа. Это будет своеобразное проектирование бизнес-модели проекта. Подсказка: смотрим на схему базы данных, на каждую таблицу по отдельности, и задаём себе несколько раз вопросы: что это? для чего? что можно с этим сделать? как это можно обработать? Отчёт отправил: 17606. Виктор Выполнено за 1 час. 37 мин. [Показать отчёт] Научился: 1. Регистрация клиента; 2. Добавление клиента; 3. Удаление клиента; 4. Выбор клиентом даты заезда; 5. Список свободных комнат; 6. Список свободных комнат по этажам; 7. Выбор комнат в зависимости от количества мест; 8. Добавление и удаление комнат; 9. Выбор стоимости комнаты в зависимости от праздничных и выходных дней 10. Редактирование книги заезда клиентов; 11. Список клиентов, приехавших с детьми; Сложности: Не возникло |
|||||
8 | Модель. Список задач. |
|
|||
На этом уроке мы составим список задач. Для каждой задачи нужно будет написать SQL запрос (или несколько), который решает поставленную задачу. Запросы нужно писать в таком виде, в котором они сразу могут быть выполнены в SQL-мониторе. Каждый запрос необходимо проверить на работоспособность. Отчёт отправил: 17606. Виктор Выполнено за 3 час. 5 мин. [Показать отчёт] Научился: Хотя и такого рода планирование базы данных у меня впервые, но после курса "SQL: ничего лишнего" никак проблем с написанием SQL-запросов у меня не возникло) Сложности: Не возникло |
|||||
9 | Модель. SQL запросы для Client |
|
|||
На этом уроке мы составим SQL запросы для решения задач с таблицами Client и Calendar. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 17606. Виктор Выполнено за 1 час. 32 мин. [Показать отчёт] Научился: Потренировался писать SQL-запросы. Интересно, что в одном из запросов INSERT INTO по сути вложили структуру запроса UPDATE, включая SET и нормально он отработал) Сложности: Не возникло |
|||||
10 | Модель. SQL запросы для Room |
1 тест |
|||
На этом уроке мы составим SQL запросы для решения задач с таблицей Room. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 17606. Виктор Выполнено за 1 час. 48 мин. [Показать отчёт] Научился: Потренировался в написании SQL-запросов Сложности: Не возникло |
|||||
11 | Модель. SQL запросы для Book и Map |
|
|||
На этом уроке мы составим SQL запросы для всех остальных задач, для таблиц Book и Map. В отчёте напиши мини-отзыв о созданных запросах. Отчёт отправил: 17606. Виктор Выполнено за 8 час. 4 мин. [Показать отчёт] Научился: Потренировался писать SQL-запросы Сложности: Не возникло |
|||||
12 | Модель. Имена методов. |
1 тест |
|||
На этом уроке мы пройдёмся ещё раз по списку составленных задач и дадим названия классам и методам, которые эти задачи будут выполнять. Отчёт отправил: 17606. Виктор Выполнено за 2 час. 29 мин. [Показать отчёт] Научился: Писать классы и методы к ним в соответствии с написанными нами sql-запросами Сложности: Не возникло |
|||||
13 | Класс MySQL. Драйвер и конструктор. |
1 тест |
|||
На этом уроке мы наконец-таки создадим проект. Установим Mysql DotNet Connector и начнём создавать класс MySQL для подключения к базе данных. Мы напишем конструктор и три метода. Отчёт отправил: 17606. Виктор Выполнено за 7 час. 4 мин. [Показать отчёт] Научился: Это круто! Просто класс! Особенно, когда начали выполняться запросы, которые сам написал, получил чувство близкое к эйфории))) Сложности: Не возникло |
|||||
14 | Класс MySQL. Получение таблицы. |
1 тест |
|||
На этом уроке мы создадим ещё несколько полезных методов в классе MySQL для считывания, изменения и добавления записей. Отчёт отправил: 17606. Виктор Выполнено за 6 дней 11 час. 27 мин. [Показать отчёт] Научился: Добавлять в базу данных записи с помощью класса MySQL. Очень интересный урок!!! Сложности: Не возникло |
|||||
15 | Класс MySQL. Обработка ошибок. |
|
|||
На этом уроке мы создадим функцию SqlError() для удобной обработки ошибок во время тестирования. Отчёт отправил: 17606. Виктор Выполнено за 15 час. 52 мин. [Показать отчёт] Научился: Попрактиковался в использовании конструкции do sql.Insert() while (sql.Error ()); Спасибо Вам за Ваше ноу-хау! Сложности: Не возникло |
|||||
16 | Модульный тест |
1 тест |
|||
На этом уроке мы создадим модульный тест (UnitTest) для тестирования класса MySQL, который мы создали ранее. В уроке приводится только знакомство, без полного покрытия тестами нашего проекта, но в будущем мы к ним ещё вернёмся. В комментариях необходимо написать, использовал ли ты ранее модульные тесты. Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx Отчёт отправил: 17606. Виктор Выполнено за 57 мин. [Показать отчёт] Научился: Встречался с написанием тестов в других курсах - "Тестирование" на Java, а также в курсе "Новые технологии" - Модульное тестирование. Эта тема мне нравится, хотя многие тесты не любят, думаю, когда напишу их пару сотен - может и мне перестанут нравиться)), но пока с симпатиями к ним всё норм) Сложности: Не возникло |
|||||
17 | Отображение таблицы |
|
|||
На этом уроке мы визуализируем созданное, через отображение в компоненте DataGridView. Заголовки столбцов можно поменять двумя разными способами. 1. sql.Select("SELECT id as Nr, client as Surname FROM Client"); 2. dataGridView1.Columns[0].HeaderText = "№"; Отчёт отправил: 17606. Виктор Выполнено за 19 мин. [Показать отчёт] Научился: Отличный урок! Сложности: Не возникло |
|||||
18 | Модель. Класс Клиента |
1 тест |
|||
На этом уроке мы наконец-таки начнём создавать первый класс Бизнес Модели Отеля. Это класс Model.Client, для подготовки которого потребуется ещё некоторые вспомогательные работы. Отчёт отправил: 17606. Виктор Выполнено за 18 час. 18 мин. [Показать отчёт] Научился: Отличный урок, всё очень понравилось) Сложности: Не возникло |
|||||
19 | Модель. Всё про Клиента |
1 тест |
|||
На этом уроке мы допишем класс Client. Реализуем четыре метода и слегка потестируем их. Написать свои впечатления о созданном классе модели. Отчёт отправил: 17606. Виктор Выполнено за 8 час. 34 мин. [Показать отчёт] Научился: Сложный урок, как по мне) С одной стороны, как бы всё понятно => переносим запросы в классы, но с другой - множество нюансов, с которыми, если бы пришлось делать это всё самостоятельно, намучился бы "по самое не могу") Сложности: Не знаю, почему, но summary (после трёх слешей), хоть автоматически и добавляется, но в виде подсказки не показывается... вроде всё правильно делаю... может что с версией VS не так? |
|||||
20 | Модель - Календарный год |
|
|||
На этом уроке мы начнём создавать модель календаря. Поработаем с запросами, напишем метод InsertDays(int year). Создадим тест для этого метода и немного доработаем класс тестов. Отчёт отправил: 17606. Виктор Выполнено за 4 час. 22 мин. [Показать отчёт] Научился: Получается или программу писать интересно или тесты, а одновременно писать одно и другое уже не интересно)) Сложности: Не возникло |
|||||
21 | Модель - Календарные праздники |
1 тест |
|||
На этом уроке мы добавим в модель календаря методы для создания дней, пометки их праздничными/обычными. Также добавим ещё несколько тестов, чтобы они представляли из себя логически завершённую последовательность для тестирования календаря. Отчёт отправил: 17606. Виктор Выполнено за 2 дня 22 час. 50 мин. [Показать отчёт] Научился: Прекрасный урок, учит многому интересному и полезному Сложности: Было трудно заставить себя его пройти |
|||||
22 | Модель. Класс комнаты |
|
|||
На этом уроке мы создадим модель на комнат, класс Room. Чтобы сделать это быстро - мы воспользуемся заготовками из класса Client.cs. В этом уроке мы не пишем тестов, поэтому класс создали в рекордно короткое время, 15 мин. Однако, создание тестов никто не отменял - это самостоятельное задание. Отчёт отправил: 17606. Виктор Выполнено за 22 час. 37 мин. [Показать отчёт] Научился: Решил пока с тестами не заморачиваться, поскольку времени в обрез, обязательно их сделаю самостоятельно перед началом следующего урока, чтоб потом по свежей памяти сверяться. Пока лишь добавил новую кнопку, для демонстрации, что всё работает Сложности: Напряг со временем |
|||||
23 | Модель. Удаление комнат. |
|
|||
На этом уроке мы добавим метод для удаления комнат. Исправим логическую ошибку метода Update в классах Room и Client. Подготовим функцию для теста созданного класса. Рекомендую эти тесты создать самостоятельно. Отчёт отправил: 17606. Виктор Выполнено за 2 час. 39 мин. [Показать отчёт] Научился: Коментарии у меня были добавлены, а тестами так и не сложилось, хотя и пытался их написать, хотя сама программа работает Сложности: Написать корректно тесты |
|||||
24 | Модель. Тестирование комнат. |
|
|||
На этом уроке мы создадим TestRoom() для класса Room. Это будет одна функция, в которой мы последовательно будем вызывать все методы класса Room и проверять, на сколько правильно и корректно они отработали. В конце урока мы выполним тест пошагово. Отчёт отправил: 17606. Виктор Выполнено за 2 час. 9 мин. [Показать отчёт] Научился: Несмотря на прекрасное видео и пошаговое выполнение тестов, у меня последний тест никак не проходил (проверка Assert.IsTrue(room.InsertRoom()) возвращала false, хотя сама функция отрабатывала на ура, добавляя все поля) Оказалось ошибка таки была не в написании теста, а в самой функции - неправильно написал проверку для id. И хотя создание тестов действительно занимает много времени, знающие) люди утверждают, что при разработке и тестировании, процесс намного быстрее, когда сам разработчик тестирует свой код, а не разработчик пишет, а тестировщик тестирует, а ещё лучше, когда тесты пишутся перед написанием кода(tdd), хотя, думаю, это и так все знают)) Сложности: Быть внимательнее |
|||||
25 | Модель. Бронирование. |
|
|||
На этом уроке мы посмотрим картинки красивых комнат. И начнём создавать модуль бронирования Book. Создадим конструктор, методы InsertBook(), SelectBook() и UpdateBook(). В конце поговорим о том, что нужно отдыхать ДО того, как устанешь. Отчёт отправил: 17606. Виктор Выполнено за 1 день 21 час. 26 мин. [Показать отчёт] Научился: Потренировался в написании методов с запросами Сложности: Не возникло |
|||||
26 | Модель. Статусы заказов. |
|
|||
На этом уроке мы поговорим о статусах заказа. Создадим методы изменения статуса и дней заезда/выезда. Отчёт отправил: 17606. Виктор Выполнено за 10 час. 42 мин. [Показать отчёт] Научился: Создавать методы для управлением базы данных Сложности: Не возникло |
|||||
27 | Модель. Список заказов. |
1 тест |
|||
На этом уроке мы допишем два последних метода в класс Book. Методы для получения списка заказов по фильтру и без. В конце урока выведем результаты в грид, чтобы убедиться, что код работает. Отчёт отправил: 17606. Виктор Выполнено за 4 час. 19 мин. [Показать отчёт] Научился: Выводить результаты бронирования в форму Сложности: Не возникло |
|||||
28 | Модель. Карта отеля 1 |
1 тест |
|||
На этом уроке мы начнём создавать модель управления комнатами. Пока мы создадим только конструктор, поля и метод void SelectMap (long room_id, long book_id, DateTime calendar_day) Отчёт отправил: 17606. Виктор Выполнено за 53 мин. [Показать отчёт] Научился: Повторил создание класса и инициализацию полей через конструктор Сложности: Не возникло |
|||||
29 | Модель. Карта отеля 2 |
|
|||
На этом уроке мы создадим методы InsertMap() и InsertMapNone(). Также добавим в класс MySQL метод DateToString() и пробежимся по всему проекту, убирая yyyy-MM-dd. Отчёт отправил: 17606. Виктор Выполнено за 1 час. 38 мин. [Показать отчёт] Научился: Добавил новые методы в класс Map(): InsertMap(), SelectMap(), InsertMapNone(). Сложности: Не возникло |
|||||
30 | Модель. Карта отеля 3 |
|
|||
На этом уроке мы создадим оставшиеся методы класса Map: SelectMap(), UpdateMap() и DeleteMap(). Пока без тестирования. Отчёт отправил: 17606. Виктор Выполнено за 7 час. 6 мин. [Показать отчёт] Научился: Дописал необходимые методы и добавил соответствующие комментарии Сложности: Не возникло |
|||||
31 | Вид. Список форм. |
1 тест |
|||
На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть. | |||||
Итого: 31 видеоурок |
10 час. 16 мин. 17 тестов |
23 чел. | |||
Финалисты: Денис, Иван, Николай Миролюбов, Валентин, Кирилл Шмойлов, Frank, Rita, Ludmila, Станислав, Сергей Зулкарнаев, kalobyte, Tekashnik, egresr, Новопашин Владимир, Роман, Yefim, Василий, Ivan, vip, Илья, Михаил, Vdonsk, Егор Ульянов . |