# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание базы данных для гостиницы. Твоя задача - самому подумать и создать описание сущностей проекта, для каждой выписать атрибуты. Отчёт отправил: 2146. Иван Выполнено за 10 мин. [Показать отчёт] Научился: Повторил сущности Сложности: :) Комментарии: :) Перезагрузка |
|||||
2 | Таблицы клиентов и заказов |
1 тест |
|||
На этом уроке мы перечислим поля таблиц Client и Book. Каждое поле этих таблиц потребует подробных комментариев, почему так, как можно сделать иначе, какие могут быть ошибки и так далее. Отчёт отправил: 2146. Иван Выполнено за 15 мин. [Показать отчёт] Научился: Еще раз подумал над созданием базы данных Сложности: :) Комментарии: Сделал скриншот из phpMyadmin , делал к прошлому курсу. |
|||||
3 | Таблицы комнат и дней |
1 тест |
|||
На этом уроке мы перечислим поля трёх таблиц: Room, Calendar, Map. В конце урока распишем типы каждого поля нашей базы данных. Подумай и напиши, какие ещё поля можно добавить в эти таблицы. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Повторяю пройденное. Сложности: Повторяю пройденное. Комментарии: Повторяю пройденное. |
|||||
4 | Создание базы в MS Access |
1 тест |
|||
На этом уроке мы создадим нашу базу данных в MS Access. Там же нарисуем схему базы данных и создадим связи между таблицами. Необходимо будет распечатать схему базы данных и прикрепить её на своём рабочем месте. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Повторяю Сложности: Повторяю Комментарии: Повторяю |
|||||
5 | Установка сервера MySQL |
2 теста |
|||
На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. Отчёт отправил: 2146. Иван Выполнено за 5 мин. [Показать отчёт] Научился: mysql уже стоял Сложности: :) Комментарии: Сделал батничек, который запускает сервис(так как я его выключил) и запускает консоль , и сразу выбирает нужную базу данных.Все в в один клик! |
|||||
6 | SQL запросы для создания Базы |
1 тест |
|||
На этом уроке мы напишем SQL запросы для создания нашей базы данных отеля. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Повторил создание таблиц Сложности: :) Комментарии: Очень хорошо, что все повторил. |
|||||
7 | Модель. Планирование. |
|
|||
На этом уроке самостоятельное задание - сформулировать все задачи, которые решает программа. Это будет своеобразное проектирование бизнес-модели проекта. Подсказка: смотрим на схему базы данных, на каждую таблицу по отдельности, и задаём себе несколько раз вопросы: что это? для чего? что можно с этим сделать? как это можно обработать? Отчёт отправил: 2146. Иван Выполнено за 15 мин. [Показать отчёт] Научился: Интересно продумывать до , а не после. Сложности: Не сложно, но увлекательно почувствовать себя проектировщиком Комментарии: Вперед, к знаниям! |
|||||
8 | Модель. Список задач. |
|
|||
На этом уроке мы составим список задач. Для каждой задачи нужно будет написать SQL запрос (или несколько), который решает поставленную задачу. Запросы нужно писать в таком виде, в котором они сразу могут быть выполнены в SQL-мониторе. Каждый запрос необходимо проверить на работоспособность. Отчёт отправил: 2146. Иван Выполнено за 35 мин. [Показать отчёт] Научился: Хорошая практика! Сложности: Пришлось залезть в шпаргалку Комментарии: Сложные запросы не решился реализовывать. |
|||||
9 | Модель. SQL запросы для Client |
|
|||
На этом уроке мы составим SQL запросы для решения задач с таблицами Client и Calendar. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Очень интересно. Узнал, что можно после delete сделать auto_increment=1 и нумерация пойдет с единички. Сложности: Пока все понятно. Комментарии: Обновил свои запросики. |
|||||
10 | Модель. SQL запросы для Room |
1 тест |
|||
На этом уроке мы составим SQL запросы для решения задач с таблицей Room. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Повторяю синтаксис sql Сложности: :) Комментарии: Идем полным ходом! |
|||||
11 | Модель. SQL запросы для Book и Map |
|
|||
На этом уроке мы составим SQL запросы для всех остальных задач, для таблиц Book и Map. В отчёте напиши мини-отзыв о созданных запросах. Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт] Научился: Отличная практика составления запросов. Сложности: И даже с Join запросами. Комментарии: Очень понравилось, что проработали все запросы заранее. |
|||||
12 | Модель. Имена методов. |
1 тест |
|||
На этом уроке мы пройдёмся ещё раз по списку составленных задач и дадим названия классам и методам, которые эти задачи будут выполнять. Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт] Научился: Хорошая подготовка к реализации кода! Сложности: Было просто Комментарии: Чувствую, что скоро уже начнем писать код. |
|||||
13 | Класс MySQL. Драйвер и конструктор. |
1 тест |
|||
На этом уроке мы наконец-таки создадим проект. Установим Mysql DotNet Connector и начнём создавать класс MySQL для подключения к базе данных. Мы напишем конструктор и три метода. Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт] Научился: Подключать References. В этот раз пошло не все гладко. MySql.Data подключилось, но с желтым треугольничком. Так что оказалось важно, какой из трех MySql.Data подключать. Сложности: Главное - внимание Комментарии: Спасибо за урок!Смотрю второй раз, и все равно интересно и поучительно. Чувствую, что если буду делать сам, обязательно буду подсматривать в уже сделанную работу. |
|||||
14 | Класс MySQL. Получение таблицы. |
1 тест |
|||
На этом уроке мы создадим ещё несколько полезных методов в классе MySQL для считывания, изменения и добавления записей. Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт] Научился: Продолжаю изучать класс MySqlCommand. Сложности: Получается! Комментарии: Не удержался и все-таки добавил dataGridView. Данные в него тоже удалось загрузить. Порадовало, что не пришлось вручную добавлять столбцы, все само загрузилось! |
|||||
15 | Класс MySQL. Обработка ошибок. |
|
|||
На этом уроке мы создадим функцию SqlError() для удобной обработки ошибок во время тестирования. Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт] Научился: Научился красиво обрабатывать ошибки. Повторил использование DialogResult, а также цикл do... while Сложности: Интересно Комментарии: Спасибо за маленькие хитрости! |
|||||
16 | Модульный тест |
1 тест |
|||
На этом уроке мы создадим модульный тест (UnitTest) для тестирования класса MySQL, который мы создали ранее. В уроке приводится только знакомство, без полного покрытия тестами нашего проекта, но в будущем мы к ним ещё вернёмся. В комментариях необходимо написать, использовал ли ты ранее модульные тесты. Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт] Научился: Посмотрел, как можно создать модульный тест Сложности: Видит око, да зуб неймет. Комментарии: Не знаю что делать, так как в VS2008 не удалось найти Microsoft.VisualStudio.TestTools.UnitTesting Namespace.Решил ради такого случая скачать Comunity2015. Но, как и следовало ожидать, все это дело не для xp. Видимо я тут один с xp остался. Но пока возможности перейти на другую ос у меня нет. Так что выполнить этот урок ближайшее время не смогу, что очень печально. Надеюсь мне его все-таки зачтут... |
|||||
17 | Отображение таблицы |
|
|||
На этом уроке мы визуализируем созданное, через отображение в компоненте DataGridView. Заголовки столбцов можно поменять двумя разными способами. 1. sql.Select("SELECT id as Nr, client as Surname FROM Client"); 2. dataGridView1.Columns[0].HeaderText = "№"; Отчёт отправил: 2146. Иван Выполнено за 10 мин. [Показать отчёт] Научился: Использование DataSource Сложности: Трудностей не возникло. Комментарии: Чудесная магия. Поделюсь, как я запускаю sql сервер. Я его убрал из автозагрузки. Но чтобы все работало, надо его запустить. Для этого надо лезть в сервисы. В сервисы лезть лень, поэтому сделал bat файл такого содержимого @echo on setlocal set service=MySQL56 net start MySQL56 mysql -uroot -pvashparol' Теперь стоит нажать на этот файлик, как все запускается и открывается консоль с уже войденным mysql. |
|||||
18 | Модель. Класс Клиента |
1 тест |
|||
На этом уроке мы наконец-таки начнём создавать первый класс Бизнес Модели Отеля. Это класс Model.Client, для подготовки которого потребуется ещё некоторые вспомогательные работы. Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт] Научился: Использовать описание методов через /// Сложности: Все понятно Комментарии: Остался вопрос , что будет если do this.id = this.sql.Insert(query); while (this.sql.SqlError()); написать без this? Ведь у нас других id и sql в классе нет. |
|||||
19 | Модель. Всё про Клиента |
1 тест |
|||
На этом уроке мы допишем класс Client. Реализуем четыре метода и слегка потестируем их. Написать свои впечатления о созданном классе модели. Отчёт отправил: 2146. Иван Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Спасибо , за функцию отлова ошибок при исполнении запросов mysql. Очень помогло! Сложности: Отловить одну запятаю Комментарии: Оказался не простой урок. Не хватило мне внимания, пришлось ловить ошибки. Модульные тесты, конечно, хорошо, но тест внутри самой программы - это еще круче. Очень мне он помог, без него бы долго разбирался ! |
|||||
20 | Модель - Календарный год |
|
|||
На этом уроке мы начнём создавать модель календаря. Поработаем с запросами, напишем метод InsertDays(int year). Создадим тест для этого метода и немного доработаем класс тестов. Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт] Научился: Осознал удобство insert ignore. Хорошая практика работы с DateTime Узнал как добраться до года в поле day : year(day); Сложности: Все доступно объяснено. Комментарии: Спасибо, очень познавательно. Всегда стараюсь помочь, если в отчете есть какой-то вопрос. |
|||||
21 | Модель - Календарные праздники |
1 тест |
|||
На этом уроке мы добавим в модель календаря методы для создания дней, пометки их праздничными/обычными. Также добавим ещё несколько тестов, чтобы они представляли из себя логически завершённую последовательность для тестирования календаря. Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт] Научился: Повторил создание запросов Сложности: :) Комментарии: Хорошо продвигаемся. |
|||||
22 | Модель. Класс комнаты |
|
|||
На этом уроке мы создадим модель на комнат, класс Room. Чтобы сделать это быстро - мы воспользуемся заготовками из класса Client.cs. В этом уроке мы не пишем тестов, поэтому класс создали в рекордно короткое время, 15 мин. Однако, создание тестов никто не отменял - это самостоятельное задание. Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт] Научился: Продолжаю осваивать создание функций. Сложности: C видео все просто Комментарии: Пока не могу создавать тесты, так как в 2008 vs нет unit testov/ |
|||||
23 | Модель. Удаление комнат. |
|
|||
На этом уроке мы добавим метод для удаления комнат. Исправим логическую ошибку метода Update в классах Room и Client. Подготовим функцию для теста созданного класса. Рекомендую эти тесты создать самостоятельно. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Довел класс Room до совершенства. Сложности: :) Комментарии: Все интересно, даже написание комментариев. |
|||||
24 | Модель. Тестирование комнат. |
|
|||
На этом уроке мы создадим TestRoom() для класса Room. Это будет одна функция, в которой мы последовательно будем вызывать все методы класса Room и проверять, на сколько правильно и корректно они отработали. В конце урока мы выполним тест пошагово. Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт] Научился: Делать тесты без unit test Сложности: Как обычно, самое интересное - вылавливать ошибки и их исправлять. Комментарии: Продолжаю работать в студии 2008. Т.к. там юнит тестов нет, но очень хотелось что-то попробовать, решил сделать тесты прямо в самой программе. Это все же лучше, чем совсем без тестов. Как раз эти тесты позволили отловить две ошибки, чему я очень рад. Спасибо за урок! Двигаемся дальше! |
|||||
25 | Модель. Бронирование. |
|
|||
На этом уроке мы посмотрим картинки красивых комнат. И начнём создавать модуль бронирования Book. Создадим конструктор, методы InsertBook(), SelectBook() и UpdateBook(). В конце поговорим о том, что нужно отдыхать ДО того, как устанешь. Отчёт отправил: 2146. Иван Выполнено за 1 час. 10 мин. [Показать отчёт] Научился: Оттачиваю навыки создания классов и манипулирования данными. Сложности: Все поддалось. Комментарии: Спасибо за урок! Все очень интересно. Так как unit тестов у меня нет, тесты делаю сам. В прошлом отчете тест был прямо в коде главной формы. Сейчас все перенес все в отдельный класс Test. По поводу статуса в журнале book - мне понравились такие статусы: mark, paid, drop. Пришлось все-таки добавить функцию deleteBook(), чтобы не захламлять базу. Решил пока тестовую базу не делать, а все проверяю на единственной. Тесты нужно писать, так как ошибок они отловили у меня достаточно много... Рад, что удалось все отловить(надеюсь , что всё отловил:)) |
|||||
26 | Модель. Статусы заказов. |
|
|||
На этом уроке мы поговорим о статусах заказа. Создадим методы изменения статуса и дней заезда/выезда. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Повторяем пройденное и закрепляем его. Сложности: Сложно не было Комментарии: При проверке выяснилось, что у меня в классе sql функция Update возвращает количество строк, да еще в long. Поэтому result в классе book, в функциях UpdateFromDay, UpdateTillDay, UpdateStatus тоже пришлось переделать в long. |
|||||
27 | Модель. Список заказов. |
1 тест |
|||
На этом уроке мы допишем два последних метода в класс Book. Методы для получения списка заказов по фильтру и без. В конце урока выведем результаты в грид, чтобы убедиться, что код работает. Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт] Научился: Повторил вывод в грид. а также тренировка запроса select with join Сложности: Все легко получилось! Комментарии: Очень нравятся мне эти уроки! Добавить пока нечего, хочу делать дальше. |
|||||
28 | Модель. Карта отеля 1 |
1 тест |
|||
На этом уроке мы начнём создавать модель управления комнатами. Пока мы создадим только конструктор, поля и метод void SelectMap (long room_id, long book_id, DateTime calendar_day) Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт] Научился: Тренируюсь тестировать. Сложности: Все что хотел - удалось Комментарии: В результате тестирования пришел к выводу, что возвращать надо DataTable в функции SelectMap . Мы же должны показать что нашли. |
|||||
29 | Модель. Карта отеля 2 |
|
|||
На этом уроке мы создадим методы InsertMap() и InsertMapNone(). Также добавим в класс MySQL метод DateToString() и пробежимся по всему проекту, убирая yyyy-MM-dd. Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт] Научился: Повторяем. Сложности: Повторяем. Комментарии: Все-таки не очень понял: зачем в select map нужен инсерт. Интсерт - это инсерт, а селект - это селект. Если нам надо будет что-то добавить , тогда и добавим. А так нам просто нужно посмотреть , есть ли заселения на этот день или нет, просто посмотреть, больше никто не звонил, а мы все таки добавим пустую запись. И что нам потом с ней делать? Надеюсь, что дальше пойму это. |
|||||
30 | Модель. Карта отеля 3 |
|
|||
На этом уроке мы создадим оставшиеся методы класса Map: SelectMap(), UpdateMap() и DeleteMap(). Пока без тестирования. Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт] Научился: Повторяю синтаксис запросов mysql Сложности: Все получается. Сложно не забыть вовремя установить переменные, чтобы запрос отработал верно. Комментарии: Оказалось очень интересно придумывать тесты. Ура! Доделал все доступные уроки, можно ждать следующих уроков. |
|||||
31 | Вид. Список форм. |
1 тест |
|||
На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть.
Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт] Научился: Продумывать формы Сложности: фантазировать Комментарии: Очень интересно, как потом все будем связывать. |
|||||
Итого: 31 видеоурок |
10 час. 16 мин. 17 тестов |
23 чел. | |||
Финалисты: Денис, Иван, Николай Миролюбов, Валентин, Кирилл Шмойлов, Frank, Rita, Ludmila, Станислав, Сергей Зулкарнаев, kalobyte, Tekashnik, egresr, Новопашин Владимир, Роман, Yefim, Василий, Ivan, vip, Илья, Михаил, Vdonsk, Егор Ульянов . |