# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание базы данных для гостиницы. Твоя задача - самому подумать и создать описание сущностей проекта, для каждой выписать атрибуты. Отчёт отправил: 11589. Yefim Выполнено за 56 мин. [Показать отчёт] Научился: Строить структуры таблиц для управления гостиницей Сложности: Строить структуры таблиц для управления гостиницей Комментарии: Если бы я был директором гостиницы или хотя бы рядовым работником, то строить таблицы было бы намного легче |
|||||
2 | Таблицы клиентов и заказов |
1 тест |
|||
На этом уроке мы перечислим поля таблиц Client и Book. Каждое поле этих таблиц потребует подробных комментариев, почему так, как можно сделать иначе, какие могут быть ошибки и так далее. Отчёт отправил: 11589. Yefim Выполнено за 44 мин. [Показать отчёт] Научился: --- Сложности: В таблице book не понятно, чем отличаются поля id и client_id. Какого типа поля from_day и till_day? Комментарии: Мои добавления отмечены красной галкой В таблице Client добавил Birthday для поздравлений клиентов с днем рождения visitNumber - какое по счету посещение гостиницы. Для постоянных клиентов делается скидка, пропорциональная номеру визита |
|||||
3 | Таблицы комнат и дней |
1 тест |
|||
На этом уроке мы перечислим поля трёх таблиц: Room, Calendar, Map. В конце урока распишем типы каждого поля нашей базы данных. Подумай и напиши, какие ещё поля можно добавить в эти таблицы. Отчёт отправил: 11589. Yefim Выполнено за 44 мин. [Показать отчёт] Научился: Формировать таблицы Room, Calendar, Map Сложности: Вероятно, в таблице Book при описании типов полей * id и client_id сделана опечатка. Комментарии: На этом уроке выяснилось, что в курсе будет использована база данных access. На моем компьютере ее нет. Из Оффиса у меня только Ворд и Эксель. Насколько будет проблематично продолжение курса? |
|||||
4 | Создание базы в MS Access |
1 тест |
|||
На этом уроке мы создадим нашу базу данных в MS Access. Там же нарисуем схему базы данных и создадим связи между таблицами. Необходимо будет распечатать схему базы данных и прикрепить её на своём рабочем месте. Отчёт отправил: 11589. Yefim Выполнено за 5 час. 18 мин. [Показать отчёт] Научился: Рисовать схемы таблиц Сложности: Как я отметил ранее, у меня не установлен MS access. Поэтому структуры таблиц и связи между ними я выполнил вручную в виде графической схемы. |
|||||
5 | Установка сервера MySQL |
2 теста |
|||
На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. Отчёт отправил: 11589. Yefim Выполнено за 15 час. 28 мин. [Показать отчёт] Научился: Устанавливать MySQL Community Server и HeidiSQL Сложности: Установка MySQL Community Server прошла не так как в видео уроке. И у меня нет ощущения того, что все прошло нормально. |
|||||
6 | SQL запросы для создания Базы |
1 тест |
|||
На этом уроке мы напишем SQL запросы для создания нашей базы данных отеля. Отчёт отправил: 11589. Yefim Выполнено за 5 час. 4 мин. [Показать отчёт] Научился: Создавать таблицы в MySQL для управления гостиницей Сложности: Не было сложностей |
|||||
7 | Модель. Планирование. |
|
|||
На этом уроке самостоятельное задание - сформулировать все задачи, которые решает программа. Это будет своеобразное проектирование бизнес-модели проекта. Подсказка: смотрим на схему базы данных, на каждую таблицу по отдельности, и задаём себе несколько раз вопросы: что это? для чего? что можно с этим сделать? как это можно обработать? Отчёт отправил: 11589. Yefim Выполнено за 20 час. 51 мин. [Показать отчёт] Научился: Формулировать задачи для проекта Сложности: Представить себя на месте управляющего гостиницей |
|||||
8 | Модель. Список задач. |
|
|||
На этом уроке мы составим список задач. Для каждой задачи нужно будет написать SQL запрос (или несколько), который решает поставленную задачу. Запросы нужно писать в таком виде, в котором они сразу могут быть выполнены в SQL-мониторе. Каждый запрос необходимо проверить на работоспособность. Отчёт отправил: 11589. Yefim Выполнено за 1 день 9 час. 5 [Показать отчёт] Научился: Заполнять таблицы и выполнять некоторые запросы Сложности: Выполняя задание предыдущего урока я ошибся в написании имени поля address и обнаружил это, когда стал заполнять талицу. Невольно возникла дополнительная задача редактирование имени поля. В итоге я разобрался и теперь могу продолжить. Примерно неделю я буду отсутствовать в проекте и собираюсь жить в Пражской гостинице. Возможно после этого появятся какие-то идеи по развитию данного проекта. |
|||||
9 | Модель. SQL запросы для Client |
|
|||
На этом уроке мы составим SQL запросы для решения задач с таблицами Client и Calendar. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 11589. Yefim Выполнено за 6 дней 4 час. 3 [Показать отчёт] Научился: Обновлять записи таблиц Сложности: Непонятно была работа фрагмента WHERE client LIKE '%g%' но нашел в интернете объяснение. |
|||||
10 | Модель. SQL запросы для Room |
1 тест |
|||
На этом уроке мы составим SQL запросы для решения задач с таблицей Room. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 11589. Yefim Выполнено за 45 мин. [Показать отчёт] Научился: Добавлять записи в таблицу Room и их редактирование. Но пока не знаю как удалять конкретную запись. Сложности: не было сложностей |
|||||
11 | Модель. SQL запросы для Book и Map |
|
|||
На этом уроке мы составим SQL запросы для всех остальных задач, для таблиц Book и Map. В отчёте напиши мини-отзыв о созданных запросах. Отчёт отправил: 11589. Yefim Выполнено за 2 час. 44 мин. [Показать отчёт] Научился: Заполнять и редактировать все таблицы для управления гостиницей. Сложности: Иногда с первого раза запросы не получались из-за ошибок синтаксиса. Но урок в целом очень полезный. |
|||||
12 | Модель. Имена методов. |
1 тест |
|||
На этом уроке мы пройдёмся ещё раз по списку составленных задач и дадим названия классам и методам, которые эти задачи будут выполнять. Отчёт отправил: 11589. Yefim Выполнено за 3 час. 2 мин. [Показать отчёт] Научился: Создавать имена методов для реализации запросов Сложности: Смириться с названием методов |
|||||
13 | Класс MySQL. Драйвер и конструктор. |
1 тест |
|||
На этом уроке мы наконец-таки создадим проект. Установим Mysql DotNet Connector и начнём создавать класс MySQL для подключения к базе данных. Мы напишем конструктор и три метода. Отчёт отправил: 11589. Yefim Выполнено за 2 дня 5 час. 46 мин. [Показать отчёт] Научился: Подключать mysql-connector к проекту. и получить первый запрос. Сложности: Были проблемы с установкой Mysql DotNet Connector. Я скачал последнюю версию, которая не хотела устанавливаться. После обращения за помощью к Евгению Витольдовичу последовал его совету и скачал версию подходящую для моего VS-2008. Вото ссылка на сайт: http://mysql-connector-net.software.informer.com/download/#downloading Имя установочного файла: mysql.data.msi |
|||||
14 | Класс MySQL. Получение таблицы. |
1 тест |
|||
На этом уроке мы создадим ещё несколько полезных методов в классе MySQL для считывания, изменения и добавления записей. Отчёт отправил: 11589. Yefim Выполнено за 17 час. 18 мин. [Показать отчёт] Научился: Создавать и тестировать методы Select(...) & Update(...) Сложности: Не было сложностей |
|||||
15 | Класс MySQL. Обработка ошибок. |
|
|||
На этом уроке мы создадим функцию SqlError() для удобной обработки ошибок во время тестирования. Отчёт отправил: 11589. Yefim Выполнено за 10 час. 22 мин. [Показать отчёт] Научился: Сoздавать мeтод SqlError(). Сложности: Из приведенного скриншота видно, что на моем компютере текст кнопок - русский и не соответствует тексту, подготовленному в функции SqlError(). Вопрос: Существует ли возможность заранее прописать в тексте MessageBox реальные имена кнопок? Ведь мы не знаем, на какой компютер захочет установить нашу программу заказчик. |
|||||
16 | Модульный тест |
1 тест |
|||
На этом уроке мы создадим модульный тест (UnitTest) для тестирования класса MySQL, который мы создали ранее. В уроке приводится только знакомство, без полного покрытия тестами нашего проекта, но в будущем мы к ним ещё вернёмся. В комментариях необходимо написать, использовал ли ты ранее модульные тесты. Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx Отчёт отправил: 11589. Yefim Выполнено за 16 час. 33 мин. [Показать отчёт] Научился: Подключать к текущему проекту Тестирующий проект и реализовывать простейшие тесты. Ранее не знал что можно вычислять при помощи "SELECT 5+12". Сложности: В моей VS2008 интерфейс для Тестов выглядит по другому. Так, мне не удалось найти время выполнения теста в миллисекундах. |
|||||
17 | Отображение таблицы |
|
|||
На этом уроке мы визуализируем созданное, через отображение в компоненте DataGridView. Заголовки столбцов можно поменять двумя разными способами. 1. sql.Select("SELECT id as Nr, client as Surname FROM Client"); 2. dataGridView1.Columns[0].HeaderText = "№"; Отчёт отправил: 11589. Yefim Выполнено за 1 день 1 час. 8 [Показать отчёт] Научился: загружать в компонент DataGridView результат запроса. Сложности: Все было ясно. Я ввел текстовое и кнопку 3, с помощью которых можно динамически выводить запросы типа "список клиентов, имена которых содержат введенный контекст" |
|||||
18 | Модель. Класс Клиента |
1 тест |
|||
На этом уроке мы наконец-таки начнём создавать первый класс Бизнес Модели Отеля. Это класс Model.Client, для подготовки которого потребуется ещё некоторые вспомогательные работы. Отчёт отправил: 11589. Yefim Выполнено за 6 час. 15 мин. [Показать отчёт] Научился: Создавать 1-ю часть класcа Client. Сложности: Все было ясно |
|||||
19 | Модель. Всё про Клиента |
1 тест |
|||
На этом уроке мы допишем класс Client. Реализуем четыре метода и слегка потестируем их. Написать свои впечатления о созданном классе модели. Отчёт отправил: 11589. Yefim Выполнено за 12 час. 41 мин. [Показать отчёт] Научился: Создавать методы класса Client Сложности: Все было предельно ясно. Класс получился Супер. Действительно Магия! |
|||||
20 | Модель - Календарный год |
|
|||
На этом уроке мы начнём создавать модель календаря. Поработаем с запросами, напишем метод InsertDays(int year). Создадим тест для этого метода и немного доработаем класс тестов. Отчёт отправил: 11589. Yefim Выполнено за 13 час. 18 мин. [Показать отчёт] Научился: . Сoздавать мeтод InsertDays(int year). Сoздавать тeст TestCalendarAddDays для провeрки мeтодa Тестирование - важнейшая часть проекта Сложности: Нaйти когo-нибудь, кому нужна помощь c языком Си шaрп! |
|||||
21 | Модель - Календарные праздники |
1 тест |
|||
На этом уроке мы добавим в модель календаря методы для создания дней, пометки их праздничными/обычными. Также добавим ещё несколько тестов, чтобы они представляли из себя логически завершённую последовательность для тестирования календаря. Отчёт отправил: 11589. Yefim Выполнено за 12 час. 25 мин. [Показать отчёт] Научился: Сoздавать мeтод AddHoliday (DateTime day) Сoздавать мeтод DelHoliday (DateTime day) Сoздавать мeтод UpdHoliday (DateTime day, bool holiday) Сложности: При выполнении данного урока столкнулся со странной проблемой. До написания метода public void DeleteDays(int year) все шло хорошо. Т.е. все тесты проходили. Однако после реализации метода DeleteDays тест TestCalendarDeleteDays() проходит, а два других, раннее проходившие, нет. Если закомментировать весь код TestCalendarDeleteDays(), то Все остальные тесты проходят. В скриншоте приведны коды "проблемных методов". Помогите разобраться в чем проблема. Дополнительный вопрос: С помощью отладчика я увидел, что последовательность выполнения тестов отличается от последовательности написания кода. Можно ли как-то управлять этим? |
|||||
22 | Модель. Класс комнаты |
|
|||
На этом уроке мы создадим модель на комнат, класс Room. Чтобы сделать это быстро - мы воспользуемся заготовками из класса Client.cs. В этом уроке мы не пишем тестов, поэтому класс создали в рекордно короткое время, 15 мин. Однако, создание тестов никто не отменял - это самостоятельное задание. Отчёт отправил: 11589. Yefim Выполнено за 10 час. 23 мин. [Показать отчёт] Научился: Сoздавать клaсс Room.cs Сложности: Не было сложностей |
|||||
23 | Модель. Удаление комнат. |
|
|||
На этом уроке мы добавим метод для удаления комнат. Исправим логическую ошибку метода Update в классах Room и Client. Подготовим функцию для теста созданного класса. Рекомендую эти тесты создать самостоятельно. Отчёт отправил: 11589. Yefim Выполнено за 2 час. 16 мин. [Показать отчёт] Научился: Удалять комнаты Сложности: Непонятно, если мы убрали параметр room_id, то какую комнату мы будем удалять? |
|||||
24 | Модель. Тестирование комнат. |
|
|||
На этом уроке мы создадим TestRoom() для класса Room. Это будет одна функция, в которой мы последовательно будем вызывать все методы класса Room и проверять, на сколько правильно и корректно они отработали. В конце урока мы выполним тест пошагово. Отчёт отправил: 11589. Yefim Выполнено за 1 день 6 час. 7 [Показать отчёт] Научился: Создавать тест для комнат. Еще раз убедился в полезности конструкции, изобретенной Евгением Витольдовичем: do result = sql.Update(query); while (sql.sqlError()); Благодаря ей, обнаружил синтаксическую ошибку в запросе. Сложности: Все было изложено четко. Поэтому сложностей не было. |
|||||
25 | Модель. Бронирование. |
|
|||
На этом уроке мы посмотрим картинки красивых комнат. И начнём создавать модуль бронирования Book. Создадим конструктор, методы InsertBook(), SelectBook() и UpdateBook(). В конце поговорим о том, что нужно отдыхать ДО того, как устанешь. Отчёт отправил: 11589. Yefim Выполнено за 2 час. 6 мин. [Показать отчёт] Научился: Coздать мeтоды InsertBook(), SelectBook(), UpdateBook(). Сложности: Не было сложностей |
|||||
26 | Модель. Статусы заказов. |
|
|||
На этом уроке мы поговорим о статусах заказа. Создадим методы изменения статуса и дней заезда/выезда. Отчёт отправил: 11589. Yefim Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: Создавать методы Update для класса Book Сложности: Все предельно ясно! |
|||||
27 | Модель. Список заказов. |
1 тест |
|||
На этом уроке мы допишем два последних метода в класс Book. Методы для получения списка заказов по фильтру и без. В конце урока выведем результаты в грид, чтобы убедиться, что код работает. Отчёт отправил: 11589. Yefim Выполнено за 10 час. 43 мин. [Показать отчёт] Научился: Создавать методы для получения списка заказов по фильтру и без. Сложности: Не было сложностей |
|||||
28 | Модель. Карта отеля 1 |
1 тест |
|||
На этом уроке мы начнём создавать модель управления комнатами. Пока мы создадим только конструктор, поля и метод void SelectMap (long room_id, long book_id, DateTime calendar_day) Отчёт отправил: 11589. Yefim Выполнено за 2 дня 20 час. 19 мин [Показать отчёт] Научился: Сoздавать клaсс Map. Сложности: Не было сложностей |
|||||
29 | Модель. Карта отеля 2 |
|
|||
На этом уроке мы создадим методы InsertMap() и InsertMapNone(). Также добавим в класс MySQL метод DateToString() и пробежимся по всему проекту, убирая yyyy-MM-dd. Отчёт отправил: 11589. Yefim Выполнено за 1 час. 24 мин. [Показать отчёт] Научился: Сoздавать мeтод InsertMap(). Узнал как пользоваться "собакой" при построении цепочки строк. Сложности: После создания метода DateToString() нашел ошибку в своем коде: В одном месте написал yyy вместо yyyy. Поэтому поиск yyyy оказался не эффективным. Использовал yy-MM-! |
|||||
30 | Модель. Карта отеля 3 |
|
|||
На этом уроке мы создадим оставшиеся методы класса Map: SelectMap(), UpdateMap() и DeleteMap(). Пока без тестирования. Отчёт отправил: 11589. Yefim Выполнено за 1 день 5 час. 3 [Показать отчёт] Научился: Создавать методы SelectMap(), UpdateMap() и DeleteMap(). Сложности: --- |
|||||
31 | Вид. Список форм. |
1 тест |
|||
На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть.
Отчёт отправил: 11589. Yefim Выполнено за 3 дня 6 час. 5 мин. [Показать отчёт] Научился: Принцип построения всех форм одинаков. В скриншот я поместил только две. Остальные строятся аналогично. Я понял так, что это был последний урок данного курса. Жаль, что он не доведен до конца. В целом курс мне понравился. Получил много новой и полезной инфомации. информации. Сложности: Смириться, что курс уже закончился. |
|||||
Итого: 31 видеоурок |
10 час. 16 мин. 17 тестов |
23 чел. | |||
Финалисты: Денис, Иван, Николай Миролюбов, Валентин, Кирилл Шмойлов, Frank, Rita, Ludmila, Станислав, Сергей Зулкарнаев, kalobyte, Tekashnik, egresr, Новопашин Владимир, Роман, Yefim, Василий, Ivan, vip, Илья, Михаил, Vdonsk, Егор Ульянов . |