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

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

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

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

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

После взноса  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 Done
  Мы начинаем создание базы данных для гостиницы.
Твоя задача - самому подумать и создать описание
сущностей проекта, для каждой выписать атрибуты.
Отчёт отправил: 14462. Роман Выполнено за 10 мин. [Показать отчёт]
Научился: Составил какой-никакой план 
Сложности: ничего  
Комментарии: Отличное вступление, еще не запахло жареным, а курс уже интригует. 
2 Таблицы клиентов и заказов 00:25:03
1 тест
76 чел. ★ 4.9 Done
  На этом уроке мы перечислим поля таблиц Client и Book.
Каждое поле этих таблиц потребует подробных
комментариев, почему так, как можно сделать
иначе, какие могут быть ошибки и так далее.
Отчёт отправил: 14462. Роман Выполнено за 40 мин. [Показать отчёт]
Научился: Узнал печальный опыт возни с отелями опытного программиста 
Сложности: ничего 
Комментарии: У меня было что добавить, но решили от этого отказаться, т.к. куча проблем возникнет. И вычесть вроде нечего. 
3 Таблицы комнат и дней 00:22:47
1 тест
74 чел. ★ 4.9 Done
  На этом уроке мы перечислим поля трёх таблиц:
Room, Calendar, Map.
В конце урока распишем типы
каждого поля нашей базы данных.
Подумай и напиши, какие ещё поля
можно добавить в эти таблицы.
Отчёт отправил: 14462. Роман Выполнено за 40 мин. [Показать отчёт]
Научился: завершил фундамент базы 
Сложности: ничего 
Комментарии: Не знаю даже, может в рум статус комнаты добавить, мало ли бывают вип номера, вычесть нечего. Да, все правильно говорит Евгений Витольдович, никогда не знаешь когда на Access этот нарвешься, программист должен быть готов ко всему. 
4 Создание базы в MS Access 00:26:28
1 тест
70 чел. ★ 5 Done
  На этом уроке мы создадим нашу базу данных в MS Access.
Там же нарисуем схему базы данных и
создадим связи между таблицами.
Необходимо будет распечатать схему базы данных
и прикрепить её на своём рабочем месте.
Отчёт отправил: 14462. Роман Выполнено за 50 мин. [Показать отчёт]
Научился: создал таблицы и связал их между собой 
Сложности: ничего 
Комментарии: Отличный урок, много полезного для себя узнал. Оставляю ссылку на фото раб. места , т.к. файл слишком большой: http://my-files.ru/gu847m 
5 Установка сервера MySQL 00:08:39
2 теста
50 чел. ★ 4.9 Done
  На этом уроке мы установим MySQL Community Server
и программу HeidiSQL для подключения к нему.
Отчёт отправил: 14462. Роман Выполнено за 20 мин. [Показать отчёт]
Научился: Не совсем еще разобрался с хейди, но кое-что познал 
Сложности: ничего 
Комментарии: Отличный урок, с нетерпением перехожу к следующему 
6 SQL запросы для создания Базы 00:24:00
1 тест
65 чел. ★ 5 Done
  На этом уроке мы напишем SQL запросы
для создания нашей базы данных отеля.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Входить в базу с чёрного хода и создавать там таблицу 
Сложности: При создании были грамматические ошибки, что являлось штыками, через которые я спотыкался при создании. 
Комментарии: Отличный урок, очень полезный. Правда не понял юмора, у Евгения Витольдовича в Map room_id, book_id, calendar_day в поле Default имеют 0 а у меня NULL это норм?  В SHOW CREATE DATA Map; проверил, вроде все нормально создано. 
7 Модель. Планирование. 00:04:53
64 чел. ★ 4.8 Done
  На этом уроке самостоятельное задание -
сформулировать все задачи, которые решает программа.
Это будет своеобразное проектирование бизнес-модели проекта.
Подсказка: смотрим на схему базы данных,
на каждую таблицу по отдельности, и задаём себе несколько раз вопросы:
что это? для чего? что можно с этим сделать? как это можно обработать?
Отчёт отправил: 14462. Роман Выполнено за 15 мин. [Показать отчёт]
Научился: Анализ 
Сложности: ничего 
Комментарии: Отлично 
8 Модель. Список задач. 00:23:02
62 чел. ★ 5 Done
  На этом уроке мы составим список задач.
Для каждой задачи нужно будет написать SQL запрос (или несколько),
который решает поставленную задачу.
Запросы нужно писать в таком виде,
в котором они сразу могут быть
выполнены в SQL-мониторе.
Каждый запрос необходимо проверить на работоспособность.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Запросы 
Сложности: Ладно еще C# там хоть какая-то цепочка есть, тут же надо держать в голове запрос, картину базы где что искать, те кто в этой сфере постоянно похоже имеет резиновую память в голове. 
Комментарии: Интересно, что там дальше 
9 Модель. SQL запросы для Client 00:20:17
60 чел. ★ 4.9 Done
  На этом уроке мы составим SQL запросы для
решения задач с таблицами Client и Calendar.
По аналогии создай SQL запросы для остальных задач.
Отчёт отправил: 14462. Роман Выполнено за 40 мин. [Показать отчёт]
Научился: Повторил создание запросов, научился удалять из таблицы и изменять порядок нумерации по id 
Сложности: ничего 
Комментарии: Отличный урок, идем дальше. 
10 Модель. SQL запросы для Room 00:12:04
1 тест
59 чел. ★ 4.9 Done
  На этом уроке мы составим SQL запросы для
решения задач с таблицей Room.
По аналогии создай SQL запросы для остальных задач.
Отчёт отправил: 14462. Роман Выполнено за 40 мин. [Показать отчёт]
Научился: Повторил запросы 
Сложности: ничего 
Комментарии: Хороший урок 
11 Модель. SQL запросы для Book и Map 00:26:03
59 чел. ★ 4.9 Done
  На этом уроке мы составим SQL запросы
для всех остальных задач, для таблиц Book и Map.
В отчёте напиши мини-отзыв о созданных запросах.
Отчёт отправил: 14462. Роман Выполнено за 50 мин. [Показать отчёт]
Научился: Запросы 
Сложности: Со знаками препинания путался, там где INSERT INTO Map   SET room_id = 1,   book_id = 1,   calendar_day = '2017-01-01',   status = 'confirm',       adults = 1,       childs = 1; Написал по ошибке INSERT INTO Map   SET room_id = 1;   book_id = 1;   calendar_day = '2017-01-01',   status = 'confirm',       adults = 1,       childs = 1; Долго матерился потом как находил причину ошибки. 
Комментарии: SQL запаристая очень вещь, требует усидчивости и терпения. 
12 Модель. Имена методов. 00:26:12
1 тест
58 чел. ★ 4.9 Done
  На этом уроке мы пройдёмся ещё раз по списку
составленных задач и дадим названия классам
и методам, которые эти задачи будут выполнять.
Отчёт отправил: 14462. Роман Выполнено за 50 мин. [Показать отчёт]
Научился: Запланировал будущие методы 
Сложности: Ничего 
Комментарии: Полезный урок 
13 Класс MySQL. Драйвер и конструктор. 00:28:30
1 тест
58 чел. ★ 5 Done
  На этом уроке мы наконец-таки создадим проект.
Установим Mysql DotNet Connector и начнём
создавать класс MySQL для подключения к базе данных.
Мы напишем конструктор и три метода.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Подключился к базе 
Сложности: У меня проблема {Keyword not supported.\r\nИмя параметра: uidroot;password} Не понял в чем прикол, искал в интернете похоже это проблема во фреймворке Установил коннектор, искал библиотеку MySql.Data.Entity, в списке ее не оказалось, она появилась сама только когда я подключил MySql.Data.Entity.EF5 и еще чего-то там, мистика какая-то. 
Комментарии: Урок замечательный 
14 Класс MySQL. Получение таблицы. 00:23:55
1 тест
56 чел. ★ 5 Done
  На этом уроке мы создадим ещё несколько полезных методов
в классе MySQL для считывания, изменения и добавления записей.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Добавлять записи в таблицу программно 
Сложности: Исправить предыдущую ошибку 
Комментарии: Догадался 6.9.8 коннектер скачать - подключилось. Оказывается еще в ";UID=" забыл поставить "=" из-за чего не отображалось. Урок классный, много для себя узнал. 
15 Класс MySQL. Обработка ошибок. 00:13:22
55 чел. ★ 5 Done
  На этом уроке мы создадим функцию SqlError()
для удобной обработки ошибок во время тестирования.
Отчёт отправил: 14462. Роман Выполнено за 30 мин. [Показать отчёт]
Научился: Познал интересную функцию 
Сложности: ничего 
Комментарии: Весьма интересно 
16 Модульный тест 00:16:02
1 тест
54 чел. ★ 5 Done
  На этом уроке мы создадим модульный тест (UnitTest)
для тестирования класса MySQL, который мы создали ранее.
В уроке приводится только знакомство, без полного покрытия
тестами нашего проекта, но в будущем мы к ним ещё вернёмся.
В комментариях необходимо написать,
использовал ли ты ранее модульные тесты.
Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx
Отчёт отправил: 14462. Роман Выполнено за 40 мин. [Показать отчёт]
Научился: Создавать тесты 
Сложности: Вроде ничего 
Комментарии: Класс 
17 Отображение таблицы 00:06:18
54 чел. ★ 5 Done
  На этом уроке мы визуализируем созданное,
через отображение в компоненте DataGridView.
Заголовки столбцов можно поменять двумя разными способами.
1. sql.Select("SELECT id as Nr, client as Surname FROM Client");
2. dataGridView1.Columns[0].HeaderText = "№";
Отчёт отправил: 14462. Роман Выполнено за 20 мин. [Показать отчёт]
Научился: Выводить данные из базы в таблицу 
Сложности: ничего 
Комментарии: Воо, вот это реальная штука! 
18 Модель. Класс Клиента 00:24:57
1 тест
53 чел. ★ 5 Done
  На этом уроке мы наконец-таки начнём
создавать первый класс Бизнес Модели Отеля.
Это класс Model.Client, для подготовки которого
потребуется ещё некоторые вспомогательные работы.
Отчёт отправил: 14462. Роман Выполнено за 50 мин. [Показать отчёт]
Научился: - Описание методов - Добавление записей 
Сложности: ничего 
Комментарии: Вот это дичь, очень интересный урок. 
19 Модель. Всё про Клиента 00:35:00
1 тест
52 чел. ★ 5 Done
  На этом уроке мы допишем класс Client.
Реализуем четыре метода и слегка потестируем их.
Написать свои впечатления о созданном классе модели.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Полностью добил клиента 
Сложности: Не запутаться в кавычках 
Комментарии: Клевый урок, но тяжко шёл 
20 Модель - Календарный год 00:29:48
48 чел. ★ 5 Done
  На этом уроке мы начнём создавать модель календаря.
Поработаем с запросами, напишем метод InsertDays(int year).
Создадим тест для этого метода и немного доработаем класс тестов.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: написал календар 
Сложности: ничего 
Комментарии: Отличный урок 
21 Модель - Календарные праздники 00:20:00
1 тест
46 чел. ★ 5 Done
  На этом уроке мы добавим в модель календаря методы
для создания дней, пометки их праздничными/обычными.
Также добавим ещё несколько тестов, чтобы они представляли
из себя логически завершённую последовательность
для тестирования календаря.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Еще одна практика решения проблем одной функцией 
Сложности: ничего 
Комментарии: Читал какую-то книгу по С# Зиборова если не ошибаюсь и он там наоборот рекомендовал комментировать код, не важно понятен он или нет, он объяснял это тем, что если ты написал программу, через некоторое время ты забудешь, что там писал и на случай, если еще раз ее откроешь видеть всю картину. Код, не нуждающийся в комментариях очень хорош, но для заморозки на длительный срок, думаю комментить все же нужно. 
22 Модель. Класс комнаты 00:16:39
46 чел. ★ 5 Done
  На этом уроке мы создадим модель на комнат, класс Room.
Чтобы сделать это быстро - мы воспользуемся заготовками
из класса Client.cs. В этом уроке мы не пишем тестов,
поэтому класс создали в рекордно короткое время, 15 мин.
Однако, создание тестов никто не отменял - это самостоятельное задание.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Создал класс Room 
Сложности: С тестами, не совсем их понял 
Комментарии: Отличный урок 
23 Модель. Удаление комнат. 00:14:41
44 чел. ★ 4.9 Done
  На этом уроке мы добавим метод для удаления комнат.
Исправим логическую ошибку метода Update в классах Room и Client.
Подготовим функцию для теста созданного класса.
Рекомендую эти тесты создать самостоятельно.
Отчёт отправил: 14462. Роман Выполнено за 30 мин. [Показать отчёт]
Научился: запара с тестами 
Сложности: Ничего 
Комментарии: ... 
24 Модель. Тестирование комнат. 00:30:31
41 чел. ★ 5 Done
  На этом уроке мы создадим TestRoom() для класса Room.
Это будет одна функция, в которой мы последовательно
будем вызывать все методы класса Room и проверять,
на сколько правильно и корректно они отработали.
В конце урока мы выполним тест пошагово.
Отчёт отправил: 14462. Роман Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Научился рефакторингу 
Сложности: ничего 
Комментарии: Класс, правда эти тесты тяжеловато идут 
25 Модель. Бронирование. 00:29:40
41 чел. ★ 5 Done
  На этом уроке мы посмотрим картинки красивых комнат.
И начнём создавать модуль бронирования Book.
Создадим конструктор, методы InsertBook(),
SelectBook() и UpdateBook().
В конце поговорим о том, что нужно отдыхать ДО того, как устанешь.
Отчёт отправил: 14462. Роман Выполнено за 45 мин. [Показать отчёт]
Научился: Создал несколько методов Book 
Сложности: ничего 
Комментарии: Задание выполнено успешно) 
26 Модель. Статусы заказов. 00:14:52
39 чел. ★ 5 Done
  На этом уроке мы поговорим о статусах заказа.
Создадим методы изменения статуса и дней заезда/выезда.
Отчёт отправил: 14462. Роман Выполнено за 35 мин. [Показать отчёт]
Научился: Сделал методы 
Сложности: ничего 
Комментарии: Хороший урок, без осложнений 
27 Модель. Список заказов. 00:13:17
1 тест
38 чел. ★ 5 Done
  На этом уроке мы допишем два последних метода в класс Book.
Методы для получения списка заказов по фильтру и без.
В конце урока выведем результаты в грид,
чтобы убедиться, что код работает.
Отчёт отправил: 14462. Роман Выполнено за 30 мин. [Показать отчёт]
Научился: Закончил со списком заказов 
Сложности: ничего 
Комментарии: Класс 
28 Модель. Карта отеля 1 00:22:41
1 тест
37 чел. ★ 5 Done
  На этом уроке мы начнём создавать модель управления комнатами.
Пока мы создадим только конструктор, поля и метод
void SelectMap (long room_id, long book_id, DateTime calendar_day)
Отчёт отправил: 14462. Роман Выполнено за 40 мин. [Показать отчёт]
Научился: Создал класс мап 
Сложности: ничего 
Комментарии: --- 
29 Модель. Карта отеля 2 00:18:56
37 чел. ★ 4.9 Done
  На этом уроке мы создадим методы InsertMap() и InsertMapNone().
Также добавим в класс MySQL метод DateToString()
и пробежимся по всему проекту, убирая yyyy-MM-dd.
Отчёт отправил: 14462. Роман Выполнено за 30 мин. [Показать отчёт]
Научился: Терпению 
Сложности: Мозг просто взрывался от махинаций с функциями, на последнем издыхании добиваю курс 
Комментарии: Практика хорошая, но тяжело идет 
30 Модель. Карта отеля 3 00:16:56
37 чел. ★ 4.9 Done
  На этом уроке мы создадим оставшиеся методы класса Map:
SelectMap(), UpdateMap() и DeleteMap().
Пока без тестирования.
Отчёт отправил: 14462. Роман Выполнено за 30 мин. [Показать отчёт]
Научился: Добил Мап 
Сложности: ничего 
Комментарии: Последний рывок остался 
31 Вид. Список форм. 00:12:00
1 тест
25 чел. ★ 4.8 Done
  На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть.
Отчёт отправил: 14462. Роман Выполнено за 10 мин. [Показать отчёт]
Научился: Планирование 
Сложности: ничего 
Комментарии: Замечательный курс, очень интересный, правда неожиданно оборвался. Хорошая база для запуска и своих идей. По поводу форм, думаю лучше сделать минимум форм и больше переходов типа грид и прочего или магнитящиеся друг к другу формы. Жду с нетерпением продолжения. 
  Итого:   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 еще разок показать как работает