# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем создание базы данных для гостиницы. Твоя задача - самому подумать и создать описание сущностей проекта, для каждой выписать атрибуты. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Ничему. Сложности: Найти панель связей в mysql workbench. Комментарии: Соглашусь, что при проектировании бд и проги, надо несколько раз пройтись. С каждым разом будут открываться новые недочеты. Ну и меня еще в пту учили, что надо составить план с 3мя пунктами. Что прога должна делать. Что может. Что не должна и не может. Последний пункт мало кто озвучивает, а второй постоянно звучит в новых версиях. В результате чего проги превращаются в монстров. Базу я нарисовал, но так и не понял смысла таблицы мап. Да и не уверен насчет правильности соединений. Последний раз в гостиннице жил в маскве в 91 году вроде. Там таблицы разве что в тетрадке были. |
|||||
2 | Таблицы клиентов и заказов |
1 тест |
|||
На этом уроке мы перечислим поля таблиц Client и Book. Каждое поле этих таблиц потребует подробных комментариев, почему так, как можно сделать иначе, какие могут быть ошибки и так далее. Отчёт отправил: 10588. kalobyte Выполнено за 25 мин. [Показать отчёт] Научился: Ничему Сложности: Ничего. Комментарии: Надо было в таблице заказов сделать поле норме заказа. А в после клиента - номер клиента, но он не должен быть первичным ключом, но иметь атрибут уникальности, а так же дату регистрации клиента. Это если бы прога была реальная. Для урока не нужны поля про детей, взрослых, статус и инфо. Вцелом тут все очень хорошо разжевано и указаны причины как не надо делать и почему, к чему это может привести. 25 минут прошли незаметно. |
|||||
3 | Таблицы комнат и дней |
1 тест |
|||
На этом уроке мы перечислим поля трёх таблиц: Room, Calendar, Map. В конце урока распишем типы каждого поля нашей базы данных. Подумай и напиши, какие ещё поля можно добавить в эти таблицы. Отчёт отправил: 10588. kalobyte Выполнено за 30 мин. [Показать отчёт] Научился: Узнал смысл таблицы мап. Сложности: Ничего. Комментарии: Тоже все хорошо объясняется из личной практики подобног рода софта. Как по мне, то программист должен хорошо разобраться в специфике бизнеса заказчика, чтобы у него в голове автоматом уже складывались сущности и он даже наперед заказчика мог предусмотреть будущие изменения. Один минус - использование акцеса вместо сетевой бд с соответствующим софтом для проектирования бд, типа как у меня на скриншоте. Можно было бы съэкономить кучу времени. |
|||||
4 | Создание базы в MS Access |
1 тест |
|||
На этом уроке мы создадим нашу базу данных в MS Access. Там же нарисуем схему базы данных и создадим связи между таблицами. Необходимо будет распечатать схему базы данных и прикрепить её на своём рабочем месте. Отчёт отправил: 10588. kalobyte Выполнено за 40 мин. [Показать отчёт] Научился: Ничему. Сложности: Рвзобраться с поиском вкладки связей вместо запросов. Я еще удивился, что не показывает типы связи и полез гуглить, т.к. у меня 2007 офис и может быть в старой версии типы связи не показывает. Последний раз акцесс я юзал кажется 10 лет назад. Комментарии: Вцелом все хорошо. Совет про распечатать схему - правильный. Составлять запросы без смотрения на схему очень сложно. И сложно, когда схема на экране и надо переключаться между прогами. Хорошо иметь второй монитор. |
|||||
5 | Установка сервера MySQL |
2 теста |
|||
На этом уроке мы установим MySQL Community Server и программу HeidiSQL для подключения к нему. Отчёт отправил: 10588. kalobyte Выполнено за 5 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: Все уже давно стоит. В этой проге можно мышкой строить запросы. |
|||||
6 | SQL запросы для создания Базы |
1 тест |
|||
На этом уроке мы напишем SQL запросы для создания нашей базы данных отеля. Отчёт отправил: 10588. kalobyte Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: Пользоваться графическим софтом и вставлять внешние ключи. Сложности: Разобраться с софтом и связями. Комментарии: Сначала я делал модель в mysql workbench, там есть линии связей как в акцессе. Но это только модель и она не связана с бд. Да и там я так и не понял, как делать 1 к н, жму кнопку вроде с таким значном, а связь наоборот делается. Потом дошло, что надо использовать связь с использованием уже существующих колонок. Для этого надо сначала указать таблицу откуда (например book.book_date и куда calendar.day). Правда это как-то тупо, т.к. знак бесконечности появляется на таблице "откуда". Еще непонятны линии сплошные и прерывистые. В чем разница? |
|||||
7 | Модель. Планирование. |
|
|||
На этом уроке самостоятельное задание - сформулировать все задачи, которые решает программа. Это будет своеобразное проектирование бизнес-модели проекта. Подсказка: смотрим на схему базы данных, на каждую таблицу по отдельности, и задаём себе несколько раз вопросы: что это? для чего? что можно с этим сделать? как это можно обработать? Отчёт отправил: 10588. kalobyte Выполнено за 10 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: ... |
|||||
8 | Модель. Список задач. |
|
|||
На этом уроке мы составим список задач. Для каждой задачи нужно будет написать SQL запрос (или несколько), который решает поставленную задачу. Запросы нужно писать в таком виде, в котором они сразу могут быть выполнены в SQL-мониторе. Каждый запрос необходимо проверить на работоспособность. Отчёт отправил: 10588. kalobyte Выполнено за 5 час. 00 мин. [Показать отчёт] Научился: Ничему. До ключей я так и не добрался. Сложности: Найти пхп скрипт для генерации дат с выходными. <?php $strt_date = date_create('2017-01-01'); $end_date = date_create('2017-12-31'); date_sub($strt_date, date_interval_create_from_date_string('1 day')); $interval = date_diff($strt_date, $end_date); $num = $interval->format('%a'); for ($i = 0; $i < $num; $i++) { date_add($strt_date, date_interval_create_from_date_string('1 day')); $next_day = date_format($strt_date, 'Y-m-d'); echo "\n"; $new_date = new DateTime($next_day); $weeknum = $new_date->format('w'); if (($weeknum != 0) && ($weeknum != 6)) $wend=0; else $wend=1; echo "INSERT INTO calendar SET day='".$next_day."' , wend=". $wend .", holiday=0;"; } ?> С ключами я не знаю как делать. До сих пор не понял эту ссылочную целостность и как эти ключи друг с другом соединять или точней почему. КАк по мне, то надо просто указать таблицы и поля с данными, а бд должна сама знать уже как там что связано. Как-то так. После этого я 2-3 дня не занимался вообще. Зато нашел онлайновые генерилки данных. Комментарии: 1 регистрация клиента INSERT INTO client (client,email,phone,address,info) VALUES ("Ahmed Silva","lobortis.quam@acfacilisis.org","(059) 78515492","7940 Cras Rd.","16720405-1291"); 2 получение списка клиентов select * from client; 3 получение списка клиентов по фильтру SELECT * from CLIENT WHERE CLIENT LIKE "%solomon%"; 52 Solomon Houston nunc@leo.co.uk (013) 10507691 6249 In, Av. 16961107-1813 152 Solomon Houston nunc@leo.co.uk (013) 10507691 6249 In, Av. 16961107-1813 3.1 получение данных заданного клиента SELECT * from CLIENT WHERE id=34; 34 Addison Fox non.nisi.Aenean@orci.co.uk (092) 73400556 868-4153 Diam. St. 16410920-1394 4 изменение данных клиента UPDATE client set CLIENT="info@videosharp.info" WHERE id=34; 5 генерация календаря на заданный год insert into calndar set day='2016-01-01' , wend=1, holiday=0; 6 установка праздничных/обычных дней update calendar set wend=1 where day='2017-06-16'; 7 получение списка комнат select * from room; 8 добавление новой комнаты INSERT INTO room (room,beds,floor,step,info) VALUES ("red ",1," zwei ",6,"Quisque fringilla euismod") 9 получение информации по заданной комнате select * from room where id=3; 10 редактирование данных комнаты update room set step=1 where id=3; 11 перемещение комнаты по списку вниз/вверх 12 создание новой регистрации 13 изменение статуса регистрации 14 отмена регистрации 15 подтверждение регистрации 16 ожидание подтверждения регистрации 17 редактирование регистрации 18 получение списка регистраций 19 получение списка регистраций по фильтру 20 получить занятость комнатнат на указанный месяц 21 добавить запись в мап 22 изменить запись в мап 23 удалить запись в мап |
|||||
9 | Модель. SQL запросы для Client |
|
|||
На этом уроке мы составим SQL запросы для решения задач с таблицами Client и Calendar. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Узнал, что можно обновить все записи, если не указать конкретно место обновления. Сложности: Ничего. Комментарии: Никак не осилю связанные таблицы. Там какие-то еще подзапросы надо. |
|||||
10 | Модель. SQL запросы для Room |
1 тест |
|||
На этом уроке мы составим SQL запросы для решения задач с таблицей Room. По аналогии создай SQL запросы для остальных задач. Отчёт отправил: 10588. kalobyte Выполнено за 10 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: Я так понял, что сортировка по step невозможна только средствами бд без извратов с процедурами? Или же с применением кода. Остальные запросы с одной таблицей ничего сложного не представляют. Все ждал, когда начнутся объединения таблиц. |
|||||
11 | Модель. SQL запросы для Book и Map |
|
|||
На этом уроке мы составим SQL запросы для всех остальных задач, для таблиц Book и Map. В отчёте напиши мини-отзыв о созданных запросах. Отчёт отправил: 10588. kalobyte Выполнено за 4 час. 00 мин. [Показать отчёт] Научился: Боле менее понимать соединения таблиц, хотя до сих пор ничего непонятно. Сложности: Находить ошибки. Комментарии: http://forum.ixbt.com/topic.cgi?id=26:43159:10#10 Вот тут мой пост с вопросом и ответом с решением моего вопроса. Чтобы сюда не копировать, даю просто линк для всех начинающих. А я так и не понял этого механизма целостности данных. Вроде бы внесли даты в одну таблицу, а они уже как бы есть в другой и надо чтобы эти даты совпадали. Потом я сгенерил еще кучу связей в таблице book и что-то мне подказывает, что надо было делать не b.id, a c.id, с идентификатором клиента. Да и автоинкременты почему-то пошли после 100, хотя до 100 там было пусто и я выбирал от 1 до 100 в генераторе данных. И удалить нельзя из-за ключей. |
|||||
12 | Модель. Имена методов. |
1 тест |
|||
На этом уроке мы пройдёмся ещё раз по списку составленных задач и дадим названия классам и методам, которые эти задачи будут выполнять. Отчёт отправил: 10588. kalobyte Выполнено за 35 мин. [Показать отчёт] Научился: Понял, что проги не пишутся сразу с нуля и надо много времени тратить на подготовку. Сложности: Понять, как написать функции, если туда надо передавать много параметров. Нужно наверное еще передавать какой-то список параметров как одна переменная. Комментарии: Как убедить работодателя платить не за код, а за подготовку к написанию кода. (типа риторический вопрос) |
|||||
13 | Класс MySQL. Драйвер и конструктор. |
1 тест |
|||
На этом уроке мы наконец-таки создадим проект. Установим Mysql DotNet Connector и начнём создавать класс MySQL для подключения к базе данных. Мы напишем конструктор и три метода. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Писать с нуля базовый класс для подключения. Сложности: Так и не понял смысла this.user = user; и просто user; Почему в строке соединения не используется this.user = user? Почему надо с прогой распространять целый установщик коннектора? Там же только одна длл используется и ее можно кинуть в дистрибутив. По крайней мере я так делал для snmp библиотеки и даже встраивал ее в ехе файл специальным плагином для студии. Все работает. Комментарии: Я куда-то нажал и у меня поломались фигурные скобки. Теперь они не переносятся автоматом на новые линии, а первая скобка остается на строке с оператором try. Сброс настроек и настройки текста не помогли и они там стоят как есть. пришлось новый проект создавать. |
|||||
14 | Класс MySQL. Получение таблицы. |
1 тест |
|||
На этом уроке мы создадим ещё несколько полезных методов в классе MySQL для считывания, изменения и добавления записей. Отчёт отправил: 10588. kalobyte Выполнено за 35 мин. [Показать отчёт] Научился: Ничего. Сложности: Отлавливать ошибки. Комментарии: Так и не понял, зачем тут 0? (0, 'oleg', 'oleg@gmail.com', '777333', 'октябрьский', 'sdfs Указывает на одну только строку? Думал это ид будет, а у нас он автоинкремент и я его не ставил, что вызвало ошибку, причем ошибку не выводит во всплывающее окно. Да и я так думаю - надо было использовать объект mysqlexception для отлова ошибок бд. |
|||||
15 | Класс MySQL. Обработка ошибок. |
|
|||
На этом уроке мы создадим функцию SqlError() для удобной обработки ошибок во время тестирования. Отчёт отправил: 10588. kalobyte Выполнено за 30 мин. [Показать отчёт] Научился: Ничего, прием с ошибками знаком из другого урока. Сложности: Ничего. Комментарии: Пример работы отладки с предыдущей ошибкой, когда 0 не указывал. Выходит 0 означает, что запись вставить на последнее место. В прошлом уркое я писал, что сообщение об ошибке не вылазит, в этом все было "исправлено". |
|||||
16 | Модульный тест |
1 тест |
|||
На этом уроке мы создадим модульный тест (UnitTest) для тестирования класса MySQL, который мы создали ранее. В уроке приводится только знакомство, без полного покрытия тестами нашего проекта, но в будущем мы к ним ещё вернёмся. В комментариях необходимо написать, использовал ли ты ранее модульные тесты. Полезная ссылка: https://msdn.microsoft.com/ru-ru/library/hh694602.aspx Отчёт отправил: 10588. kalobyte Выполнено за 30 мин. [Показать отчёт] Научился: Как сделать тест. Сложности: Ничего. Комментарии: Наконец-то я тоже занался тестами. Точнее я еще в пхп пробовал, но что-то как-то там уныло все было. Откладывал в долгий ящик и вот за полчаса понял основы. Вот только не понял, почему у меня на и5 и ссд тест длится целую секунду? Вроде как .нет коннектор кривой и подключение длиться дольше, чем из обычной проги для работы с бд. |
|||||
17 | Отображение таблицы |
|
|||
На этом уроке мы визуализируем созданное, через отображение в компоненте DataGridView. Заголовки столбцов можно поменять двумя разными способами. 1. sql.Select("SELECT id as Nr, client as Surname FROM Client"); 2. dataGridView1.Columns[0].HeaderText = "№"; Отчёт отправил: 10588. kalobyte Выполнено за 15 мин. [Показать отчёт] Научился: Подключение источника данных к гриду. В другом курсе такого не было и приходилось все руками писать. Так же радует, что он чекбоксы рисует с галочками. Сложности: Ничего. Комментарии: Выглядит он конечно страшновато и уныло. То ли дело компоненты Devexpress. Но все равно неплохо. Еще бы обработчики на удаление и изменение строк. Я думаю в следущем уроке будет. |
|||||
18 | Модель. Класс Клиента |
1 тест |
|||
На этом уроке мы наконец-таки начнём создавать первый класс Бизнес Модели Отеля. Это класс Model.Client, для подготовки которого потребуется ещё некоторые вспомогательные работы. Отчёт отправил: 10588. kalobyte Выполнено за 35 мин. [Показать отчёт] Научился: Создавать модель. Писать годные каменты. Раньше не задумывался, как это сделано, а теперь секрет раскрыт. Узнал, что же значит 0 в sql запросе из прошлых уроков. Мои догадки подтвердились. Сложности: Опять искать ошибки и опечатки. Комментарии: Я как-то не так представлял себе передачу параметров одним махом, без установщиком. Но пока что мне нравится. |
|||||
19 | Модель. Всё про Клиента |
1 тест |
|||
На этом уроке мы допишем класс Client. Реализуем четыре метода и слегка потестируем их. Написать свои впечатления о созданном классе модели. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Узнал новое событие датагрида - клик на строке. Сложности: Отыскать опечатки в запросе SelectClients(string find). Понять, какой тип должны возвращать все эти функции или не возвращать. Возникает уже сложность с запутыванием полей типа phone и функцией setphone(). Можно было и в сеттере делать проверки на корректность данных. Я так пологаю, что в следущих уроках эти запутывания будут устранены за счет дальнейшего разделения кода согласно паттерну мвц. Комментарии: 1. Слишком много полей для поиска, фильтр неправильно работает. Поле ид не нужно, оно не несет никакой информации. В правильном софте должен быть номер клиента или номер заказа. Фильтр должен работать только по имени, все остальное должно быть скрыто под продвинутым поиском. У меня 200 записей в таблице и оно не тормозит вообще. Хотя конечно 200 записей это смешно. Надо было сделать по-другому. После события от текстового поля запустить таймер и по истечении 500мс после последнего сброса вызвать SelectClients(string find), а при каждом изменении текста сбрасывать таймер. А так же надо было сделать ограничение в запросе limit 0, 20. Или может датагрид сам делает пагинацию и у него есть стрелки для листания? Такие плюшки есть в хтмл компонентах. Вцелом мне очень понравилось. Начинаю видеть разделение кода на логические части и вижу связи между ними. Все это придает энергии, а то раньше в других курсах писал в овощном состоянии, к тому же пару дней валялся с отравлением. |
|||||
20 | Модель - Календарный год |
|
|||
На этом уроке мы начнём создавать модель календаря. Поработаем с запросами, напишем метод InsertDays(int year). Создадим тест для этого метода и немного доработаем класс тестов. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Алгоритм генерации календаря. На шарпе он оказался проще, чем на пхп. Сложности: Найти ошибку в запросе теста. Ошибка была в лишнем пробеле COUNT(*). Тест не показывает неправильность синтаксиса запроса к бд. Пришлось в консоли тестировать. А ведь я моей точки зрения никакой разницы нет - с пробелом тут писать или без. Комментарии: Мне ощущается, что генерация календаря с поледущей записью в бд - это тупо и не должно делаться такого. |
|||||
21 | Модель - Календарные праздники |
1 тест |
|||
На этом уроке мы добавим в модель календаря методы для создания дней, пометки их праздничными/обычными. Также добавим ещё несколько тестов, чтобы они представляли из себя логически завершённую последовательность для тестирования календаря. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Боле менее писать тесты, хотя мало что понятно. Сложности: Искать ошибки в тестах или коде. Комментарии: Такое ощущение, что методика тестирования тестирует способность самому находить ошибки и исправлять их, потому что никаких сообщений об ошибках в синтаксисе sql не выходит и непонятно где я неправильно написал или опечатался, потому что в форматировании даты я забыл одну букву у и только случайно заметил. |
|||||
22 | Модель. Класс комнаты |
|
|||
На этом уроке мы создадим модель на комнат, класс Room. Чтобы сделать это быстро - мы воспользуемся заготовками из класса Client.cs. В этом уроке мы не пишем тестов, поэтому класс создали в рекордно короткое время, 15 мин. Однако, создание тестов никто не отменял - это самостоятельное задание. Отчёт отправил: 10588. kalobyte Выполнено за 30 мин. [Показать отчёт] Научился: Ничему Сложности: Ничего. Комментарии: Тесты не понимаю. Чтобы написать правильный тест - надо написать правильный код и запрос к бд. Чтобы построить станок - нужен станок. |
|||||
23 | Модель. Удаление комнат. |
|
|||
На этом уроке мы добавим метод для удаления комнат. Исправим логическую ошибку метода Update в классах Room и Client. Подготовим функцию для теста созданного класса. Рекомендую эти тесты создать самостоятельно. Отчёт отправил: 10588. kalobyte Выполнено за 20 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: Повторный проход дает свои результаты. |
|||||
24 | Модель. Тестирование комнат. |
|
|||
На этом уроке мы создадим TestRoom() для класса Room. Это будет одна функция, в которой мы последовательно будем вызывать все методы класса Room и проверять, на сколько правильно и корректно они отработали. В конце урока мы выполним тест пошагово. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: 1 Разбирать в цикле объект DataRow. 2 Писать тесты или точнее более менее начинать понимать, как их писать и как подлезть к их написанию. 3 Никогда не думал, что на тестах можно ставить точки останова и отлаживать их как прогу. 4 Находить ошибки в коде по заранее правильно написанным тестам. 5 Узнал про extract method. Все никак не мог понять, что это и как использовать. Сложности: Понять логику тестов. Без предварительной подготовки понять чужую логику очень сложно. Найти ошибки в коде функций модели. Комментарии: Я сейчас в овощном состоянии. 15 минут прошло из 30, а для меня кажется уже час. Решил вот сразу написать, пока не забыл. Нашел, почему тест не проходит. Похоже весь смысл тестов теряется, потому что сама тестируемая функция содержит глюки. Нельзя написать заранее правильный тест, если тестируемая функция не была проверена руками первый раз и логика ее работы не подтвердилась логикой теста. Короче функция SelectRoom(long room_id) Result Message: Test method TestHotel.DBaseTest.TestRooms threw exception: System.ArgumentException: Column 'step' does not belong to table table. Строка 82 в коде той функции. this.step = int.Parse(room.Rows[0]["step"].ToString()); Я на нее смотрел как баран на ворота. Где тут что не так может быть? Рядом похожая строка такая же и все нормально. Стал смотреть, чего оно там про Step говорит. Может тип данных в самой структуре бд не тот? Вроде инт стоит. Поднял я глаза повыше на строку и тут до меня дошло.- step забыл написать. do room = sql.Select("SELECT id, room, beds, floor, info FROM room " Поэтому я сторонник выбирать *, если надо выбрать все поля. Вобщем сообщения об ошибках указывают совсем не туда, где эта ошибка есть. Надо смотреть на несколько строк назад. Да и само сообщение не очень информативное. Все же еще далеко даже до зачатков искусственного интеллекта, который бы ошибки показывал точнее. Никаких восстаний машин еще долго не будет. Вобщем за этот урок я довольно много узнал. Даже не ожидал. |
|||||
25 | Модель. Бронирование. |
|
|||
На этом уроке мы посмотрим картинки красивых комнат. И начнём создавать модуль бронирования Book. Создадим конструктор, методы InsertBook(), SelectBook() и UpdateBook(). В конце поговорим о том, что нужно отдыхать ДО того, как устанешь. Отчёт отправил: 10588. kalobyte Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: Я тоже на работу ездил разными путями, даже если это дольше было. Стал замечать, что творческие люди (типа программистов) терпеть не могут повторяющиеся действия. Это сразу вызывает усталость. Я всегда меняю род деятельности. И в точку тоже смотрел или мышкой рисовал прямоугольники на рабочем столе. Я догадывался, что это мозги уже отключаются, но что-то быстро они отключаются. А еще я думал, что программисты сидят целый день и стучат по кнопкам как макаки. Ведь злой менагер ходит вокруг и подгоняет. Если бы работа была 4 часа в день, то тогда еще куда бы ни шло. |
|||||
26 | Модель. Статусы заказов. |
|
|||
На этом уроке мы поговорим о статусах заказа. Создадим методы изменения статуса и дней заезда/выезда. Отчёт отправил: 10588. kalobyte Выполнено за 30 мин. [Показать отчёт] Научился: Ничего. Сложности: Ничего Комментарии: Зачем нужно делать this.till_day = till_day; Но используется " SET till_day = '" + till_day.ToString("yyyy-MM-dd") без this? В if (status != "waiting" || status != "confirm" || status != "deleted") return false; ошибка. Надо не И, а ИЛИ, как у меня. Программирование контроллеров даром не проходит, там с такими операциями чуть ли не в каждой строке встречаешсяю |
|||||
27 | Модель. Список заказов. |
1 тест |
|||
На этом уроке мы допишем два последних метода в класс Book. Методы для получения списка заказов по фильтру и без. В конце урока выведем результаты в грид, чтобы убедиться, что код работает. Отчёт отправил: 10588. kalobyte Выполнено за 30 мин. [Показать отчёт] Научился: Ничему. Сложности: Искать ошибки в запросах и скобках. Комментарии: Вроде все ясно. |
|||||
28 | Модель. Карта отеля 1 |
1 тест |
|||
На этом уроке мы начнём создавать модель управления комнатами. Пока мы создадим только конструктор, поля и метод void SelectMap (long room_id, long book_id, DateTime calendar_day) Отчёт отправил: 10588. kalobyte Выполнено за 30 мин. [Показать отчёт] Научился: Понял механизм получения данных в поля типа child, status и чтобы они были привязаны к объекту, когда он будет сгенерен конструктором и будет продолжать существовать на протяжении выполнения процесса. Сложности: Ничего. Комментарии: Обычно я думал, что функции должны возвращать много полей, которые упакованы в массив. А тут поля внутри класса и можно присвоить им значения. Я теперь только понял смысл this. А ведь сколько уже подобных классов написали. И вроде бы все было понятно или казалось, что понятно. А как только я бы начал сам писать, то ничего было бы непонятно. |
|||||
29 | Модель. Карта отеля 2 |
|
|||
На этом уроке мы создадим методы InsertMap() и InsertMapNone(). Также добавим в класс MySQL метод DateToString() и пробежимся по всему проекту, убирая yyyy-MM-dd. Отчёт отправил: 10588. kalobyte Выполнено за 25 мин. [Показать отчёт] Научился: Рефакторить код. Узнал, когда надо сокращать код и переносить в отдельные функции. Сложности: Загуглить смысл @ в запросе. Комментарии: На этот раз сказать нечего. |
|||||
30 | Модель. Карта отеля 3 |
|
|||
На этом уроке мы создадим оставшиеся методы класса Map: SelectMap(), UpdateMap() и DeleteMap(). Пока без тестирования. Отчёт отправил: 10588. kalobyte Выполнено за 30 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: Так и не понял, почему "adults = '" + adults + "', " + в этот раз без this? В функции же нет входных параметров, чтобы их вот так просто использовать. Мне больше всего нравится писать контроллеры, которые соединяют 2 части. |
|||||
31 | Вид. Список форм. |
1 тест |
|||
На этом уроке мы приступаем к следующему этапу создания программы - Представления (вид). Наша задача - составить список форм, которые будут в проекте, и для каждой формы нарисовать, как она будет выглядеть.
Отчёт отправил: 10588. kalobyte Выполнено за 2 час. 00 мин. [Показать отчёт] Научился: Рисовать формочки. Сложности: Разобраться с софтом. Что-то не нашел годного софта для прототипирования гуя. С этим еле разобрался и то там таблица кривая, табы кривые. Не добавляется второй таб, надо целый элемент еще добавлять. Комментарии: А где остальные уроки? Или я что-то пропутил? |
|||||
Итого: 31 видеоурок |
10 час. 16 мин. 17 тестов |
23 чел. | |||
Финалисты: Денис, Иван, Николай Миролюбов, Валентин, Кирилл Шмойлов, Frank, Rita, Ludmila, Станислав, Сергей Зулкарнаев, kalobyte, Tekashnik, egresr, Новопашин Владимир, Роман, Yefim, Василий, Ivan, vip, Илья, Михаил, Vdonsk, Егор Ульянов . |