# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание базы данных для гостиницы. Твоя задача - самому подумать и создать описание сущностей проекта, для каждой выписать атрибуты. Отчёт отправил: 9913. vip Выполнено за 10 час. 5 мин. [Показать отчёт] Научился: Главное что бы в гостинице был бесплатный Wi-Fi прямо с номера ну и бассейн Сложности: Захотелось сразу после просмотра Витольдовичем таких красивых картинок попасть в одну из картинок |
|||||
2 | Таблицы клиентов и заказов |
1 тест |
|||
На этом уроке мы перечислим поля таблиц Client и Book. Каждое поле этих таблиц потребует подробных комментариев, почему так, как можно сделать иначе, какие могут быть ошибки и так далее. Отчёт отправил: 9913. vip Выполнено за 1 день 15 час. 59 мин. [Показать отчёт] Научился: Создали небольшую структуру будущей БД Сложности: все продумать |
|||||
3 | Таблицы комнат и дней |
1 тест |
|||
На этом уроке мы перечислим поля трёх таблиц: Room, Calendar, Map. В конце урока распишем типы каждого поля нашей базы данных. Подумай и напиши, какие ещё поля можно добавить в эти таблицы. Отчёт отправил: 9913. vip Выполнено за 23 час. 55 мин. [Показать отчёт] Научился: Продолжили работы с созданием БД для ПО Отель |
|||||
4 | Создание базы в MS Access |
1 тест |
|||
На этом уроке мы создадим нашу базу данных в MS Access. Там же нарисуем схему базы данных и создадим связи между таблицами. Необходимо будет распечатать схему базы данных и прикрепить её на своём рабочем месте. Отчёт отправил: 9913. vip Выполнено за 2 дня 23 час. 33 мин. [Показать отчёт] Научился: Создали схему БД в MS Access 2007-2010 Сложности: создание связей можно добавить в таблице связей когда их создаешь там список есть из списка выбрать и добавить еще связь если нужно |
|||||
5 | Установка сервера MySQL |
2 теста |
|||
На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. Отчёт отправил: 9913. vip Выполнено за 19 час. 45 мин. [Показать отчёт] Научился: Install MySQL and HeidiSQL Сложности: In Windows 10 MySQL commander starting menu Start MySQL Command Line Client |
|||||
6 | SQL запросы для создания Базы |
1 тест |
|||
На этом уроке мы напишем SQL запросы для создания нашей базы данных отеля. Отчёт отправил: 9913. vip Выполнено за 2 дня 3 час. 47 мин. [Показать отчёт] Научился: создаем БД в MySQL ->create database Hotel; перейдем для работы с этой БД ->use Hotel; сменит текущую кодировку на UTF-8 ->set names utf8; если у кого-то с первого раза не получиться создать таблицу или оа будет кривая убейте ее ->drop table <name>; посмотрим структуру созданной таблицы ->explain client; посмотреть скрипт создания таблицы ->show create table client; делаем то же самое с остальными таблицами Сложности: с внешними ключами это ДА |
|||||
7 | Модель. Планирование. |
|
|||
На этом уроке самостоятельное задание - сформулировать все задачи, которые решает программа. Это будет своеобразное проектирование бизнес-модели проекта. Подсказка: смотрим на схему базы данных, на каждую таблицу по отдельности, и задаём себе несколько раз вопросы: что это? для чего? что можно с этим сделать? как это можно обработать? Отчёт отправил: 9913. vip Выполнено за 10 мин. [Показать отчёт] Научился: Продумать бизнес модель приложения |
|||||
8 | Модель. Список задач. |
|
|||
На этом уроке мы составим список задач. Для каждой задачи нужно будет написать SQL запрос (или несколько), который решает поставленную задачу. Запросы нужно писать в таком виде, в котором они сразу могут быть выполнены в SQL-мониторе. Каждый запрос необходимо проверить на работоспособность. Отчёт отправил: 9913. vip Выполнено за 1 день 12 час. 53 мин. [Показать отчёт] Научился: Построили первый вариант бизнес-модели сделали немного запросов к БД |
|||||
9 | Модель. SQL запросы для Client |
|
|||
На этом уроке мы составим SQL запросы для решения задач с таблицами Client и Calendar. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 9913. vip Выполнено за 1 день 11 час. 35 мин. [Показать отчёт] Научился: ALTER TABLE <table> auto_increment=1; начнет очищенную таблицу строить заново с id=1; - это то же важный момент в редактировании записей в БД |
|||||
10 | Модель. SQL запросы для Room |
1 тест |
|||
На этом уроке мы составим SQL запросы для решения задач с таблицей Room. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 9913. vip Выполнено за 33 мин. [Показать отчёт] Научился: не совсем был понятен ход с этим запросов UPDATE Room SET step=1 WHERE id=1; на текущем этапе. Для чего запрос этот делаем понятно - что бы не было в таблице одинаковых записей но почему именно сейчас пока непонятно. Видимо понимание придет немного позже. |
|||||
11 | Модель. SQL запросы для Book и Map |
|
|||
На этом уроке мы составим SQL запросы для всех остальных задач, для таблиц Book и Map. В отчёте напиши мини-отзыв о созданных запросах. Отчёт отправил: 9913. vip Выполнено за 22 час. 56 мин. [Показать отчёт] Научился: Добили и протестировали все запросы к БД Сложности: вот такое надо попереваривать: SELECT * FROM room WHERE id Not in (SELECT room_id FROM map WHERE calendar_day='2019-01-02'); |
|||||
12 | Модель. Имена методов. |
1 тест |
|||
На этом уроке мы пройдёмся ещё раз по списку составленных задач и дадим названия классам и методам, которые эти задачи будут выполнять. Отчёт отправил: 9913. vip Выполнено за 1 день 23 час. 18 мин. [Показать отчёт] Научился: Спрогнозировали методы: ModelClient.InsertClient() ModelClient.SelectClient() ModelClient.SelectClient(string find) ModelClient.SelectClient(int client_id) ModelClient.UpdateClient(int client_id) ModelCalendar.InsertDays(int year) ModelCalendar.SetHoliday(string day) ModelCalendar.DelHoliday(string day) ModelRoom.SelectRooms() ModelRoom.InsertRoom() ModelRoom.SelectRoom(int room_id) ModelRoom.UpdateRoom(int room_id) ModelRoom.ShiftRoomUp(int room_id) ModelRoom.ShiftRoomDn(int room_id) ModelBook.UpdateStatus(int book_id, string status) ModelBook.UpdateBook(int book_id) ModelBook.UpdateFromDay(int book_id, string from_day) ModelBook.UpdateTillDay(int book_id, string till_day) ModelBook.SelectBooks() ModelBook.SelectBooks(string find) ModelMap.SelectMap(string from_day, string till_day) ModelMap.InsertMap() ModelMap.InitMap(int room_id, int book_id, string calendar_day) ModelMap.UpdateMap() ModelMap.DeleteMap(string room_id, string book_id) ModelRoom.SelectFreeRooms(string from_day) Сложности: ***************************************************************************************************************************************************** * Количество переходит в качество Если количество должного качества! * * * ***************************************************************************************************************************************************** |
|||||
13 | Класс MySQL. Драйвер и конструктор. |
1 тест |
|||
На этом уроке мы наконец-таки создадим проект. Установим Mysql DotNet Connector и начнём создавать класс MySQL для подключения к базе данных. Мы напишем конструктор и три метода. Отчёт отправил: 9913. vip Выполнено за 2 дня 18 час. 3 мин. [Показать отчёт] Научился: Реализовали интерфейс минимальный и классы для подключения к БД Кстати link на MySQL.DATA.EF - тут не нужен и так все работает (это для другого) А вот сам модуль подключения может не слабо глючить если в приложении выбран не тот FW на котором он работает |
|||||
14 | Класс MySQL. Получение таблицы. |
1 тест |
|||
На этом уроке мы создадим ещё несколько полезных методов в классе MySQL для считывания, изменения и добавления записей. Отчёт отправил: 9913. vip Выполнено за 3 дня 4 час. 4 мин. [Показать отчёт] Научился: Написали функции для обработки запросов к БД и протестировали эти функции на примерах Сложности: было бы неплохо addslashes еще разок показать как работает |
|||||
15 | Класс MySQL. Обработка ошибок. |
|
|||
На этом уроке мы создадим функцию SqlError() для удобной обработки ошибок во время тестирования. Отчёт отправил: 9913. vip Выполнено за 1 день 17 час. 16 мин. [Показать отчёт] Научился: Запустили в код метод обработки ошибок НОУ ХАУ Евгения Витольдовича Сложности: Косяк в обработке кода Application.Exit(); приложение зацикливается и смысла оттуда возвращать хоть true хоть false не ни какого Победил проблему пока так Environment.FailFast("Error MySQL"); |
|||||
16 | Модульный тест |
1 тест |
|||
На этом уроке мы создадим модульный тест (UnitTest) для тестирования класса MySQL, который мы создали ранее. В уроке приводится только знакомство, без полного покрытия тестами нашего проекта, но в будущем мы к ним ещё вернёмся. В комментариях необходимо написать, использовал ли ты ранее модульные тесты. Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx Отчёт отправил: 9913. vip Выполнено за 19 час. 6 мин. [Показать отчёт] Научился: Запустили Unit test для проекта и протестировали методы класса MySQL Для этого создали в VS новый проект UnitTests. Подключили using <наш тестируемый класс> (класс должен быть публичным! это важно) Подключили в Projects Solution Referenсe <тестируемый класс> Test Explorer живет в меню Test->Windows Сложности: Да тесты писались ранее но все-равно осталось недопонимание как писать программу на их основе. Устал бороться в чем проблема - не стартует тест выдает ошибку проекта. Все перелопатил просмотрел урок второй раз. Запустил на другой студии. Переделывал и переименовывал тесты. Создал пару новых. Нет эффекта. Погуглил, почитал MSDN - нет результата. Включил мозг - нашел косяк - т.к. MySQL connect требует FW4.5.2, а проект тестов по-умолчанию 4.5 вот в этом собака покопалась. Что странно второй раз натыкаюсь на такие же грабли и VS молчит. |
|||||
17 | Отображение таблицы |
|
|||
На этом уроке мы визуализируем созданное, через отображение в компоненте DataGridView. Заголовки столбцов можно поменять двумя разными способами. 1. sql.Select("SELECT id as Nr, client as Surname FROM Client"); 2. dataGridView1.Columns[0].HeaderText = "№"; Отчёт отправил: 9913. vip Выполнено за 13 мин. [Показать отчёт] Научился: Загрузили таблицу на форму AutoSizeColumensMode - Fill что бы не забыть сделаем тут пометку - наводим красоту в таблице Сложности: Магия нереальная всегда этот момент волнительный т.е. между сухим кодом и то что видит человек - маленький шаг для человека - БОЛЬШОЙ шаг для ЧЕЛОВЕЧЕСТВА |
|||||
18 | Модель. Класс Клиента |
1 тест |
|||
На этом уроке мы наконец-таки начнём создавать первый класс Бизнес Модели Отеля. Это класс Model.Client, для подготовки которого потребуется ещё некоторые вспомогательные работы. Отчёт отправил: 9913. vip Выполнено за 1 день 2 час. 22 мин. [Показать отчёт] Научился: Реализовали класс клиента и небольшой функционал в нем. Сложности: Про добавление комментов знал /// использовал, но не знал, что там еще можно и в параметрах поставить комменты |
|||||
19 | Модель. Всё про Клиента |
1 тест |
|||
На этом уроке мы допишем класс Client. Реализуем четыре метода и слегка потестируем их. Написать свои впечатления о созданном классе модели. Отчёт отправил: 9913. vip Выполнено за 3 дня 1 час. 10 мин. [Показать отчёт] Научился: До реализовали методы класса Client Реализовали нереальную магию в таблице Ctrl+K+C - комментировать Ctrl+K+U - отменить проверил точно сработало Все время смотрел и думал как реализован контекстный поиск и тут вдруг раз - и вторая смена - открытие поиска по фильтру |
|||||
20 | Модель - Календарный год |
|
|||
На этом уроке мы начнём создавать модель календаря. Поработаем с запросами, напишем метод InsertDays(int year). Создадим тест для этого метода и немного доработаем класс тестов. Отчёт отправил: 9913. vip Выполнено за 50 мин. [Показать отчёт] Научился: Создал класс календарь и тест к нему Сложности: урок открытый в 150 раз т.к. не смог вовремя пройти и тут при отправке на тебе получи фашист гранату нет кнопки отправить при обновлении страницы в итоге запросил снова 50 очков за новое открытие и жди 30минут пока урок не просмотришь косяк приложения!!! :((( хрень какая-то что-то портал все чаще дает сбои в работе |
|||||
21 | Модель - Календарные праздники |
1 тест |
|||
На этом уроке мы добавим в модель календаря методы для создания дней, пометки их праздничными/обычными. Также добавим ещё несколько тестов, чтобы они представляли из себя логически завершённую последовательность для тестирования календаря. Отчёт отправил: 9913. vip Выполнено за 21 час. 17 мин. [Показать отчёт] Научился: Дописал функционал календаря Узнал что Евгений Витольдович очень древний аж с 1924года выпуска - неожиданно А ведь только 40 лет сбылось - видимо Дункан Маклаут Сложности: ошибки в тестах прибить |
|||||
22 | Модель. Класс комнаты |
|
|||
На этом уроке мы создадим модель на комнат, класс Room. Чтобы сделать это быстро - мы воспользуемся заготовками из класса Client.cs. В этом уроке мы не пишем тестов, поэтому класс создали в рекордно короткое время, 15 мин. Однако, создание тестов никто не отменял - это самостоятельное задание. Отчёт отправил: 9913. vip Выполнено за 1 день 1 час. 52 мин. [Показать отчёт] Научился: Создал класс Комната и пописал тесты для его методов Сложности: попробовал сверстать тест на проверку добавления новой комнаты в SQL запросе прописал все ручками - не получилось отработать тест т.к. не совсем понял что должен вернуть SELECT в случае положительного и отрицательного исхода выполнения кода так же непонятно как в тестах отработать пошаговую отладку в командной строке sql все отработало верно = INSERT INTO room SET room='Double 102', beds=1, floor='1', info ='No Nice bed'; код в тесте string rooms=sql.Scalar("INSERT INTO room SET room = 'Double 103', beds = 1, floor = '1', info = 'No Nice bed'"); не проходит по идее при положительном исходе запроса sql должен вернуть 1 добавленную запись и в тесте мы её сравниваем с "1" если запись не добавилась или ошибка тогда ответ sql 0 и сравнивать нужно с "0" посмотрим на следующем уроке как разрешилась ситуация |
|||||
23 | Модель. Удаление комнат. |
|
|||
На этом уроке мы добавим метод для удаления комнат. Исправим логическую ошибку метода Update в классах Room и Client. Подготовим функцию для теста созданного класса. Рекомендую эти тесты создать самостоятельно. Отчёт отправил: 9913. vip Выполнено за 2 дня 21 мин. [Показать отчёт] Научился: Создал и протестировал методы для Комнат Сложности: вот что подумал. это какой же должен быть отель что бы там нумерация комнат вмещалась в тип long |
|||||
24 | Модель. Тестирование комнат. |
|
|||
На этом уроке мы создадим TestRoom() для класса Room. Это будет одна функция, в которой мы последовательно будем вызывать все методы класса Room и проверять, на сколько правильно и корректно они отработали. В конце урока мы выполним тест пошагово. Отчёт отправил: 9913. vip Выполнено за 1 мин. [Показать отчёт] Научился: Создал функционал тестирования класса Комната Протестировал методы исправил ошибки. Понравилось в пошаговом режиме исполнить тест. Очень заманчиво и интересно - магия! Сложности: в функционале класса Room при использовании метода удаления Delete не используется параметр ID см. предыдущий тест TestDeleteRoom() |
|||||
25 | Модель. Бронирование. |
|
|||
На этом уроке мы посмотрим картинки красивых комнат. И начнём создавать модуль бронирования Book. Создадим конструктор, методы InsertBook(), SelectBook() и UpdateBook(). В конце поговорим о том, что нужно отдыхать ДО того, как устанешь. Отчёт отправил: 9913. vip Выполнено за 2 дня 54 мин. [Показать отчёт] Научился: Дописал класс Бронирование в книге |
|||||
26 | Модель. Статусы заказов. |
|
|||
На этом уроке мы поговорим о статусах заказа. Создадим методы изменения статуса и дней заезда/выезда. Отчёт отправил: 9913. vip Выполнено за 2 дня 21 час. 50 мин. [Показать отчёт] Научился: Написал функционал Update Book Сложности: можно было бы последние функции одинакового вида вызывать с параметром |
|||||
27 | Модель. Список заказов. |
1 тест |
|||
На этом уроке мы допишем два последних метода в класс Book. Методы для получения списка заказов по фильтру и без. В конце урока выведем результаты в грид, чтобы убедиться, что код работает. Отчёт отправил: 9913. vip Выполнено за 23 час. 55 мин. [Показать отчёт] Научился: Реализовал поиск выборку по условию в БД таблица бронирования Сложности: что-то в запросе с параметром коряво написано лишнее присутствует и обращение к b.info до объявления |
|||||
28 | Модель. Карта отеля 1 |
1 тест |
|||
На этом уроке мы начнём создавать модель управления комнатами. Пока мы создадим только конструктор, поля и метод void SelectMap (long room_id, long book_id, DateTime calendar_day) Отчёт отправил: 9913. vip Выполнено за 1 день 17 мин. [Показать отчёт] Научился: Реализовал модель Map- карта отеля |
|||||
29 | Модель. Карта отеля 2 |
|
|||
На этом уроке мы создадим методы InsertMap() и InsertMapNone(). Также добавим в класс MySQL метод DateToString() и пробежимся по всему проекту, убирая yyyy-MM-dd. Отчёт отправил: 9913. vip Выполнено за 23 час. 45 мин. [Показать отчёт] Научился: Добавил и расширил функционал класса Комната |
|||||
30 | Модель. Карта отеля 3 |
|
|||
На этом уроке мы создадим оставшиеся методы класса Map: SelectMap(), UpdateMap() и DeleteMap(). Пока без тестирования. Отчёт отправил: 9913. vip Выполнено за 31 мин. [Показать отчёт] Научился: Дописал класс Карта Отеля Сложности: устал страшно от этой галиматьи нужно тестирование всего этого безобразия |
|||||
31 | Вид. Список форм. |
1 тест |
|||
На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть.
Отчёт отправил: 9913. vip Выполнено за 14 мин. [Показать отчёт] Научился: Спланировал перед днем космонавтики Сложности: Вопрос как и у всех ГДЕ продолжение банкета. Не Евгений Витольдович так дело не пойдет. Ждемс продолжения и окончания курса!!!!!!!!!!!!!!!!!!!!!! |
|||||
Итого: 31 видеоурок |
10 час. 16 мин. 17 тестов |
23 чел. | |||
Финалисты: Денис, Иван, Николай Миролюбов, Валентин, Кирилл Шмойлов, Frank, Rita, Ludmila, Станислав, Сергей Зулкарнаев, kalobyte, Tekashnik, egresr, Новопашин Владимир, Роман, Yefim, Василий, Ivan, vip, Илья, Михаил, Vdonsk, Егор Ульянов . |