Курсы программирования с нуля

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Перезагрузка Базы Отеля

Все вы прекрасно знаете, что данный курс "завис".

Причина в том, что за этот год я, чего скрывать,
сам очень многому научился, стал писать 
программы лучше, чем раньше,
стал создавать 15-минутные уроки,
которые идут значительно лучше.

Именно по этой причине я никак не могу
взяться за свой старый код, который
мне теперь кажется несколько (крайне) унылым.

Поэтому, после долгих раздумий,
я всё же решился пересоздать этот курс с нуля. 

Перезагрузка

База данных будет немного упрощена,
мы откажемся от таблиц Action, Hotel, Manager.

Мы сконцентрируемся на объектной модели
проекта, отделим отображение от модели,
сделаем всё в свете популярного MVC шаблона.

Проект будет всё также для Window Forms, с использованием MySQL, 
но логику от представления мы отделим и
до конца 2015 года завершим создание этого проекта. 

Да будет так!

Работать над проектом мы будем по субботам,
за четыре субботы мы всё с нуля переделаем и закроем этот проект.

28 ноября - База данных - Планирование и создание базы данных Отеля.
5 декабря - Модель - Проектирование и создание объектной модели Отеля.
12 декабря - Вид - Проектирование и создание экранных форм.
19 декабря - Контроллер - Связывание Модели с Видом через Контроллер.

Начало вебинаров будет в 18:00, время московское,
продолжительность вебинаров - около 3 часов.

Оставь, пожалуйста, своё мнение по поводу этого предложения.


3664. --
данила
данила
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2016-02-04 21:36

04.02 - Полет нормальный. Продолжаем закрывать курс.


6203. --
Николай Миролюбов
Николай Миролюбов
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-27 22:09

так мы на ASP.NET делать будем или в окошках?


5469. --
Арина
Арина
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-26 14:42

Ура и спасибо, что продлили оплаченный доступ к курсу


5469. --
Арина
Арина
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-25 10:42

Ура и спасибо, что продлили оплаченный доступ к курсу


8194. --
Сергей
Сергей
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-24 12:50

Поддерживаю. Если не получится поучаствовать в вебинарах, то можно ли потом будет их посмотреть, пусть даже и за плату?


5419. --
Роман
Роман
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-24 08:16

Я таки за 100 руб. продлил...


6458. --
Александр
Александр
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-24 01:40

Продлите плз доступ!
добрался до самого интересно в этой инкарнации - создание класса MySQL..
предложение перезапуск БД поддерживаю двумя руками!)


4395. --
Денис
Денис
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-23 09:05

Надо попробовать


5407. --
Дмитрий 199
Дмитрий 199
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-23 04:09

Где только найти столько свободного времени......накупил от души. когда все выполнять.


1295. --
Дмитрий Че
Дмитрий Че
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-23 02:19

От души поддерживаю сие здравое намерение!


3664. --
данила
данила
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-21 13:27

Хорошее решение! Получится гораздо лучше


4378. --
Александр
Александр
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-20 21:10

Хорошая идея. Жду уроки.


4992. --
Николай
Николай
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-20 17:34

Добрый вечер, Евгений!
Мне 62 года, но, тем не менее стремлюсь познавать новое. Овладеть и создать БД очень хочется. Полностью поддерживаю Ваше предложение! У меня , правда, маловато знаний и практики, но очень хочется освоить эту тему! Что нужно от меня? С уважением Николай.


4928. --
Константин
Константин
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 20:40

А записи вебинаров будут?


2146. --
Иван
Иван
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 20:17

Проект развивается!!! Такое предложение может вызвать только восторг! Желаю сил и терпения, чтобы все воплотилось в жизнь!


2639. --
Морозов Юрий Александрович
Морозов Юрий Александрович
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 20:10

Отличная идея!
Я буду ходить! И делать вместе.


2544. --
Дима
Дима
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 19:48

Отличное решение, Евгений!
Дождался этот проект MVC :)
Так ты из нас сделаешь профи ;)


2824. --
shchetikhin
shchetikhin
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 18:49

это однозначно замечательные новости! ура!


7164. --
Ирина
Ирина
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 18:36

Время устраивает и очень хотелось бы послушать.


1901. --
Neverwinter 2
Neverwinter 2
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 16:52

Улучшения при сохранении функциональности.... Да мы всегда За!!


7216. --
Denis Serov
Denis Serov
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 16:15

можно ссылку на свой видеоурок оставить? мой первый ) может кто-нибудь лайкнет )
www.youtube.com/watch?v=1Lvle3WGIgI


6987. --
MichGar
MichGar
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 13:49

Очень жду начало вебинаров!!!


24. --
Олюшка
Олюшка
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 12:48

Женя, это очень здорово! Я очень рада и в восторге от твоего решения! Молодец!!!! :)


6203. --
Николай Миролюбов
Николай Миролюбов
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 12:43

Согласен. Клиентов и менеджеров лучше вместе в одну таблицу объединить.


4342. --
Алекс
Алекс
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 12:40

За перезагрузку. Сделано было немало, я писал свой вариант в двух версиях -  одну ортодоксальную по урокам Витольдовича, вторую с использованием Entety Framework и LINQ. И теперь было бы тяжелее в два раза все вспомнить, так как хуже нет наполовину написанного проекта.
Перезугрузка - гуд.


4004. --
Елена
Елена
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 12:19

Выполнив все уроки этого курса, считаю, что перезагрузка - это правильное решение.


7645. --
Александр Львович
Александр Львович
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 11:41

Да, очень хорошо!


5419. --
Роман
Роман
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 11:32

Обоими руками за!
Вы только пока старую версию не удаляйте, хотел бы все-таки ее пройти до конца.


7216. --
Denis Serov
Denis Serov
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 11:24

еще пользуясь случаем хочу сказать - мне лично нравятся уроки, но тематика не очень подходит иногда т.к. уже работаю системным администратором. Вот мне бы хотелось увидеть такие программы- 1. Вывод консоли (работа с консолью -cmd) в форме с кнопками на форме 2. Клиент серверное приложение TCP/IP - radmin 3. Программки - учет картриджей, тел.справочник и т.д.
Вообщем, желаю развития проекту и готов поддержать материально (покупкой новых курсов)


7216. --
Denis Serov
Denis Serov
ответить
# Видеокурсы / Перезагрузка Базы Отеля / 2015-11-19 11:12

ну наконец -то ) я рад что все так повернулось! ждем коротких и емких уроков )






Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Вступление 00:08:49
81 чел. ★ 4.9 Free
  Мы начинаем создание базы данных для гостиницы.
Твоя задача - самому подумать и создать описание
сущностей проекта, для каждой выписать атрибуты.
2 Таблицы клиентов и заказов 00:25:03
1 тест
76 чел. ★ 4.9 Demo
  На этом уроке мы перечислим поля таблиц Client и Book.
Каждое поле этих таблиц потребует подробных
комментариев, почему так, как можно сделать
иначе, какие могут быть ошибки и так далее.
3 Таблицы комнат и дней 00:22:47
1 тест
74 чел. ★ 4.9 Demo
  На этом уроке мы перечислим поля трёх таблиц:
Room, Calendar, Map.
В конце урока распишем типы
каждого поля нашей базы данных.
Подумай и напиши, какие ещё поля
можно добавить в эти таблицы.
4 Создание базы в MS Access 00:26:28
1 тест
70 чел. ★ 5 Demo
  На этом уроке мы создадим нашу базу данных в MS Access.
Там же нарисуем схему базы данных и
создадим связи между таблицами.
Необходимо будет распечатать схему базы данных
и прикрепить её на своём рабочем месте.
5 Установка сервера MySQL 00:08:39
2 теста
50 чел. ★ 4.9 Demo
  На этом уроке мы установим MySQL Community Server
и программу HeidiSQL для подключения к нему.
6 SQL запросы для создания Базы 00:24:00
1 тест
65 чел. ★ 5 Demo
  На этом уроке мы напишем SQL запросы
для создания нашей базы данных отеля.
7 Модель. Планирование. 00:04:53
64 чел. ★ 4.8 $
  На этом уроке самостоятельное задание -
сформулировать все задачи, которые решает программа.
Это будет своеобразное проектирование бизнес-модели проекта.
Подсказка: смотрим на схему базы данных,
на каждую таблицу по отдельности, и задаём себе несколько раз вопросы:
что это? для чего? что можно с этим сделать? как это можно обработать?
8 Модель. Список задач. 00:23:02
62 чел. ★ 5 $
  На этом уроке мы составим список задач.
Для каждой задачи нужно будет написать SQL запрос (или несколько),
который решает поставленную задачу.
Запросы нужно писать в таком виде,
в котором они сразу могут быть
выполнены в SQL-мониторе.
Каждый запрос необходимо проверить на работоспособность.
9 Модель. SQL запросы для Client 00:20:17
60 чел. ★ 4.9 $
  На этом уроке мы составим SQL запросы для
решения задач с таблицами Client и Calendar.
По аналогии создай SQL запросы для остальных задач.
10 Модель. SQL запросы для Room 00:12:04
1 тест
59 чел. ★ 4.9 $
  На этом уроке мы составим SQL запросы для
решения задач с таблицей Room.
По аналогии создай SQL запросы для остальных задач.
11 Модель. SQL запросы для Book и Map 00:26:03
59 чел. ★ 4.9 $
  На этом уроке мы составим SQL запросы
для всех остальных задач, для таблиц Book и Map.
В отчёте напиши мини-отзыв о созданных запросах.
12 Модель. Имена методов. 00:26:12
1 тест
58 чел. ★ 4.9 $
  На этом уроке мы пройдёмся ещё раз по списку
составленных задач и дадим названия классам
и методам, которые эти задачи будут выполнять.
13 Класс MySQL. Драйвер и конструктор. 00:28:30
1 тест
58 чел. ★ 5 $
  На этом уроке мы наконец-таки создадим проект.
Установим Mysql DotNet Connector и начнём
создавать класс MySQL для подключения к базе данных.
Мы напишем конструктор и три метода.
14 Класс MySQL. Получение таблицы. 00:23:55
1 тест
56 чел. ★ 5 $
  На этом уроке мы создадим ещё несколько полезных методов
в классе MySQL для считывания, изменения и добавления записей.
15 Класс MySQL. Обработка ошибок. 00:13:22
55 чел. ★ 5 $
  На этом уроке мы создадим функцию SqlError()
для удобной обработки ошибок во время тестирования.
16 Модульный тест 00:16:02
1 тест
54 чел. ★ 5 $
  На этом уроке мы создадим модульный тест (UnitTest)
для тестирования класса MySQL, который мы создали ранее.
В уроке приводится только знакомство, без полного покрытия
тестами нашего проекта, но в будущем мы к ним ещё вернёмся.
В комментариях необходимо написать,
использовал ли ты ранее модульные тесты.
Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx
17 Отображение таблицы 00:06:18
54 чел. ★ 5 $
  На этом уроке мы визуализируем созданное,
через отображение в компоненте DataGridView.
Заголовки столбцов можно поменять двумя разными способами.
1. sql.Select("SELECT id as Nr, client as Surname FROM Client");
2. dataGridView1.Columns[0].HeaderText = "№";
18 Модель. Класс Клиента 00:24:57
1 тест
53 чел. ★ 5 $
  На этом уроке мы наконец-таки начнём
создавать первый класс Бизнес Модели Отеля.
Это класс Model.Client, для подготовки которого
потребуется ещё некоторые вспомогательные работы.
19 Модель. Всё про Клиента 00:35:00
1 тест
52 чел. ★ 5 $
  На этом уроке мы допишем класс Client.
Реализуем четыре метода и слегка потестируем их.
Написать свои впечатления о созданном классе модели.
20 Модель - Календарный год 00:29:48
48 чел. ★ 5 $
  На этом уроке мы начнём создавать модель календаря.
Поработаем с запросами, напишем метод InsertDays(int year).
Создадим тест для этого метода и немного доработаем класс тестов.
21 Модель - Календарные праздники 00:20:00
1 тест
46 чел. ★ 5 $
  На этом уроке мы добавим в модель календаря методы
для создания дней, пометки их праздничными/обычными.
Также добавим ещё несколько тестов, чтобы они представляли
из себя логически завершённую последовательность
для тестирования календаря.
22 Модель. Класс комнаты 00:16:39
46 чел. ★ 5 $
  На этом уроке мы создадим модель на комнат, класс Room.
Чтобы сделать это быстро - мы воспользуемся заготовками
из класса Client.cs. В этом уроке мы не пишем тестов,
поэтому класс создали в рекордно короткое время, 15 мин.
Однако, создание тестов никто не отменял - это самостоятельное задание.
23 Модель. Удаление комнат. 00:14:41
44 чел. ★ 4.9 $
  На этом уроке мы добавим метод для удаления комнат.
Исправим логическую ошибку метода Update в классах Room и Client.
Подготовим функцию для теста созданного класса.
Рекомендую эти тесты создать самостоятельно.
24 Модель. Тестирование комнат. 00:30:31
41 чел. ★ 5 $
  На этом уроке мы создадим TestRoom() для класса Room.
Это будет одна функция, в которой мы последовательно
будем вызывать все методы класса Room и проверять,
на сколько правильно и корректно они отработали.
В конце урока мы выполним тест пошагово.
25 Модель. Бронирование. 00:29:40
41 чел. ★ 5 $
  На этом уроке мы посмотрим картинки красивых комнат.
И начнём создавать модуль бронирования Book.
Создадим конструктор, методы InsertBook(),
SelectBook() и UpdateBook().
В конце поговорим о том, что нужно отдыхать ДО того, как устанешь.
26 Модель. Статусы заказов. 00:14:52
39 чел. ★ 5 $
  На этом уроке мы поговорим о статусах заказа.
Создадим методы изменения статуса и дней заезда/выезда.
27 Модель. Список заказов. 00:13:17
1 тест
38 чел. ★ 5 $
  На этом уроке мы допишем два последних метода в класс Book.
Методы для получения списка заказов по фильтру и без.
В конце урока выведем результаты в грид,
чтобы убедиться, что код работает.
28 Модель. Карта отеля 1 00:22:41
1 тест
37 чел. ★ 5 $
  На этом уроке мы начнём создавать модель управления комнатами.
Пока мы создадим только конструктор, поля и метод
void SelectMap (long room_id, long book_id, DateTime calendar_day)
29 Модель. Карта отеля 2 00:18:56
37 чел. ★ 4.9 $
  На этом уроке мы создадим методы InsertMap() и InsertMapNone().
Также добавим в класс MySQL метод DateToString()
и пробежимся по всему проекту, убирая yyyy-MM-dd.
30 Модель. Карта отеля 3 00:16:56
37 чел. ★ 4.9 $
  На этом уроке мы создадим оставшиеся методы класса Map:
SelectMap(), UpdateMap() и DeleteMap().
Пока без тестирования.
31 Вид. Список форм. 00:12:00
1 тест
25 чел. ★ 4.8 $
  На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть.
  Итого:   31 видеоурок 10 час. 16 мин.
17 тестов
23 чел. ★ 4.96  
  Финалисты:   Денис,   Иван,   Николай Миролюбов,   Валентин,   Кирилл Шмойлов,   Frank,   Rita,   Ludmila,   Станислав,   Сергей Зулкарнаев,   kalobyte,   Tekashnik,   egresr,   Новопашин Владимир,   Роман,   Yefim,   Василий,   Ivan,   vip,   Илья,   Михаил,   Vdonsk,   Егор Ульянов .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Выучил описание методов. Начинаю понимать как добавлять клиентов. Интересует теперь как их удалять, что б каждый раз неприходилось прописывать в консоле - alter table client auto_increment = тот который надо; Если будут текст боксы то я догадываюсь что и где прописать, но будет ли проблемой если я захочу добавить несколько UserControl для того чтоб при нажатии на кнопку было легче и красивее менять интерфейс, загружать данные с этих UserContol в дата грид или в какуюто другую форму? Интерестно...ночные размышления)



Научился: Написали функции для обработки запросов к БД и протестировали эти функции на примерах
Трудности: было бы неплохо addslashes еще разок показать как работает