# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем очень интересный шаблон проектирования: MVC. Мы разберёмся, зачем же он нужен и продемонстрируем его работу на нескольких примерах. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Узнал аналогию со столовой. Сложности: Ничего. Комментарии: MVC нас окружает везде - в машине, стиралке или самолете или космическом корабле. |
|||||
2 | MVC - Counter - ViewConsole |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы начинаем создание первой программы, реализовав базовый функционал вывода информации в консоль. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Создали View. Сложности: Ничего - шаблон давнешний и все известен. Комментарии: Классно. Приятно видеть результат своего труда. |
|||||
3 | MVC - Counter - ViewFrame |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы создадим ещё одно представление, используя JFrame() с необходимым интерфейсов для возможности использования ActionListener(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Создал ViewFrame Сложности: Ничего. Комментарии: Что-то интересное происходит. |
|||||
4 | MVC - Counter - ModelPlus |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы создадим Модель и продемонстрируем как она работает. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился создавать модель на основе класса Observeable. Сложности: Ничего. Комментарии: Супер. Используем старые кирпичики и делаем MVC. |
|||||
5 | MVC - Counter - ControllerPlusFrame |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы создадим Контроллер, связывающий Модель и Представление. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился создавать контроллер для viewFrame. Сложности: Ничего. Комментарии: Супер! Получился первый контроллер! |
|||||
6 | MVC - Counter - ControllerPlusConsole |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы создадим Контроллер для второго Представление, которое мы реализовали в самом начале для вывода в консоль. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился веселиться с двумя view и одной моделью. Сложности: Ничего. Комментарии: Классный урок, а веселье это всегда хорошо. |
|||||
7 | MVC - Counter - ModelDuplex |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы создадим ещё одну Модель, которая будет заниматься умножением. Так же переделаем наш код, чтобы он работал с long значениями. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 12 мин. [Показать отчёт] Научился: Научился создавать модель ModelDuplex. Сложности: Ничего. Комментарии: Супер! Так просто наращивать функционал. |
|||||
8 | MVC - Counter - ControllerDuplex |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы заканчиваем создание первой программы, для демонстрации данного шаблона проектирования. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился создавать еще один контроллер. Сложности: Ничего. Комментарии: Отличный урок! Обалденная вещь. MVC в моем представлении это взаимонезависимые компоненты модели, просмотра и их связывания в контроллере. Да конечно буду использовать - вещь то хорошая и проверенная временем. |
|||||
9 |
![]() |
1 тест |
|||
Для более глубокого понимания шаблона проектирования MVC мы напишем на языке Java полноценную прикладную программу "Телефонная книжка". Сначала создадим две формы (JFrame), потом напишем модель и в конце свяжем их через контроллер. В добрый путь!
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился создавать в мокапе макеты. Сложности: Ничего. Комментарии: Отлично. |
|||||
10 | MVC - PhoneBook - ViewCard |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы начинаем разработку телефонного справочника, для демонстрации данного шаблона проектирования. Начнём с формы "Карточка пользователя". Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился создавать ViewFrame. Сложности: Ничего. Комментарии: Одну из триад реализовал. |
|||||
11 | MVC - PhoneBook - User Struct |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы реализуем передачу данных в нашу форму "Карточка пользователя". Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился передавать класс в Observere. Сложности: Ничего. Комментарии: Да интересная идея унаследовать Program от Observable - почему бы и нет? |
|||||
12 | MVC - PhoneBook - ViewList |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: MVC. На этом уроке мы реализуем второй вид "Просмотр/Поиск записей". Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился создавать новый вид. Сложности: Ничего. Комментарии: Пока не пришли в голову идеи, как добавлять в список значения. Подспудно догадываюсь что надо задействовать механизм наблюдателя. |
|||||
13 | MVC - PhoneBook - UserList Struct |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы реализуем заполнение списка и передачу в форму списка телефонной книги. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился передавать list через Observere Сложности: Ничего. Комментарии: Отличный урок. |
|||||
14 | MVC - PhoneBook - UserSQL - Methods |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы создадим базу данных на движке sqlite, использовав удобное для этого приложение: sqliteexpert.com. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Повторил пройденное. Сложности: Ничего. Комментарии: Я бы переименовал бы функцию select в read с передачей айдюка, и инкапсулировал функции update и insert в save - пользователю плевать идет добавление в базу или обновление - главное, чтобы был результат, delete - я бы оставил. |
|||||
15 | MVC - PhoneBook - UserSQL - Queries |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы выясним, какие именно sql-запросы необходимы для каждого метода. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: На прошлом задании примерные запросы я написал. |
|||||
16 | MVC - PhoneBook - UserSQL - Connect |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы реализуем класс UserSQL() на основе шаблона проектирования: ActiveRecord, для работы с базой данных. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 30 мин. [Показать отчёт] Научился: Научился добавлять данные с помощью insert. Сложности: Не было внешней библиотеки и из-за этого были ошибки. Комментарии: Осталась сущая безделица. |
|||||
17 | MVC - PhoneBook - UserSQL - Singleton |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы воспользуемся ещё одним шаблоном проектирования: Singleton. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Сделал singleton для одного подключения к БД. Сложности: Ничего. Комментарии: Идем дальше. |
|||||
18 | MVC - PhoneBook - UserSQL - CRUD |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы доработаем класс UserSQL. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Доделал остальные функции Сложности: Ничего. Комментарии: Ура! Все заработало. |
|||||
19 | MVC - PhoneBook - UserListSQL - Select |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы реализуем класс UserListSQL, для получения списка всех пользователей. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился выводить список данных в JForm Сложности: Ничего. Комментарии: Концепция Observer более глубокая , чем кажется на первый взгляд |
|||||
20 | MVC - PhoneBook - UserSQLTest - DBase |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы приступим к тестированию нашей программы при помощи JUnit. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 25 мин. [Показать отчёт] Научился: Честно говоря неожиданный поворот с Singleton с использованием enum. Еще минут 5 обдумывал - круто. Сложности: Ничего. Комментарии: Отличный урок. Все готово для тестирования. |
|||||
21 | MVC - PhoneBook - UserSQLTest - Insert |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы начинаем писать тесты для класса UserSQL() при помощи JUnit. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 30 мин. [Показать отчёт] Научился: Научился тестировать insert. Сложности: Ничего. Комментарии: С моей точки зрения нужно открывать транзакцию и в конце тестирования ставить rollback - откатывать ее. Дальше смотреть результат выполнения. Таким образом и в базу не попадают лишние записи и тестируем insert. |
|||||
22 | MVC - PhoneBook - UserSQLTest - Select |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы пошагово изучим работу метода по добавлению записи в БД и продолжим реализацию оставшихся методов для тестирования класса UserSQL(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился тестировать delete. Сложности: Ничего. Комментарии: Напрашивается еще одна функция для select, а лучше для выполнения sql запросов. Кстати я смотрю с rollback с которым я предлагаю значительно дольше запросы работают, так что лучший вариант это создание тестовой базы конечно. |
|||||
23 | MVC - PhoneBook - UserSQLTest - Slashes |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы реализуем тестирование обновления записей в БД для класса UserSQL(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Лишний раз убедился, что не надо самому разбираться со слешами. Сложности: Ничего. Комментарии: Я столько раз ходил парадом по граблям со слешами , что убедился не надо писать никаких функций их обработки - база данных или всякие там jdbc, ADO.NET, DAO прекрасно справятся (например в MS Access есть прекрасная функция Buildcriteria) . Более того - они этот запрос (если это select или update) оптимизируют и будет работать быстрее. Я в этом убедился когда проходил курс ASP.NET - по своему делал запросы через параметры. И в нашем случае нашел способ справиться с этой проблемой - http://stackoverflow.com/questions/1812891/java-escape-string-to-prevent-sql-injection . К тому же еще от sql инъекции освобождаемся. |
|||||
24 | MVC - PhoneBook - Model - Ресторанная аналогия |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этoм ypoкe мы ещё рaз обсyдим рeсторанную аналогию MVC. И приступим к созданию кухни - Модели. Напишем заголовки всех методов. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего. Комментарии: Моя аналогия active record была - столы, барная стойка, и окошко для выдачи заказа официанту. Я предложил методы для модели - добавление, удаление, обновление и чтение пользователя о чтении списком зала я не подумал. |
|||||
25 | MVC - PhoneBook - Model - Methods |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этoм ypoкe мы реализуем все методы для нашей модели. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Описали модель. Сложности: Ничего. Комментарии: С моей точки зрения писать deleted или updated бессмысленно, ибо мы и так знаем, какую последнюю операцию делали. Вот передать id это другое дело и сразу понимаем id - пришло, значит операция выполнилась. |
|||||
26 | MVC - PhoneBook - Controller - Model / ViewList |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этoм ypoкe мы реализуем контроллер для связи ViewList() с Model(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Подружил кнопку с функцией в контроллере! Сложности: Ничего. Комментарии: Ура - уже кое-что работает! |
|||||
27 | MVC - PhoneBook - Controller - Scroller |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этoм ypoкe мы продолжаем создание контроллера для связи ViewList() с Model(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился добавлять JScroller на форму. Сложности: Ничего. Комментарии: Все получилось - идем дальше. |
|||||
28 | MVC - PhoneBook - Controller - Class for Click |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы создадим ещё один контроллер для формы с отображением карточки пользователя. На этой форме две кнопки, поэтому для создания слушателей мы создадим отдельные внутренние классы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Научился реализовывать еще один конроллер и "оживлять" кнопки. Сложности: Ничего. Комментарии: Идем дальше. |
|||||
29 | MVC - PhoneBook - Controller - Buttons |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы запрограммируем кнопочки. По нажатии кнопки "Добавить" - показать карточку. По нажатии кнопки "Сохранить" - сохранить данные, а также скрыть карточку и обновить список имён на главной форме. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Научился сохранять пользователя в БД с помощью данных из интерфейса формы. Сложности: Ничего. Комментарии: Отлично получилось с получением объекта пользователя из карточки пользователя во ViewCard. |
|||||
30 | MVC - PhoneBook - Controller - Select / Update |
|
|||
Мы продолжаем создание телефонной книжки в рамках знакомства с шаблоном проектирования: MVC. На этом уроке мы сделаем открытие карточки по щелчку на записи. Также реализуем сохранение изменений и удаление записей. Создание телефонной книжки практически завершено! Отчёт отправил: 7119. Новопашин Владимир Выполнено за 27 мин. [Показать отчёт] Научился: Научился работать с кнопками сохранить и удалить. Сложности: Ничего. Комментарии: Для себя утвердился в мысли, что везде используется концепция слушателя - она же используется для обработки кнопочек. К этому надо привыкнуть, а дальше очень легко. |
|||||
31 | MVC - PhoneBook - Search - Message |
|
|||
Мы начинаем создание поиска по телефонной книжке. Начнём с переноса текстовых сообщения в отдельное поле. Для этого потребуется создать панель, чтобы всё поместилось. Также добавим побольше разных записей, чтобы было среди чего искать. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Повторил уже пройденное. Сложности: Ничего. Комментарии: Программа стала симпатичнее. |
|||||
32 | MVC - PhoneBook - Search - Select LIKE |
|
|||
На этом уроке мы обсудим два способа, как сделать поиск. Мы напишем запрос для фильтрации записей в нашей телефонной книжке. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Пока ничему. Сложности: Думать. Комментарии: Вот у меня такой вопрос - неужто нельзя сделать отдельную кнопенцию "Обновить", если нам нужно свежие записи дернуть в БД, а так накапливать все данные в некой коллекции и фильтровать их в памяти . Не хочется всякий раз напрягать сервер БД - такие вещи имхо надо делать на клиенте. |
|||||
33 | MVC - PhoneBook - Search - Listener |
|
|||
На этом уроке мы создадим слушателя, который будет реагировать на изменение текста в строке поиска. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился добавлять метод обработки события изменения текста в контроле. Сложности: Найти когда срабатывает changed. Комментарии: К сожалению на changed ответа не нашлось, да https://docs.oracle.com/javase/7/docs/api/javax/swing/event/DocumentListener.html#changedUpdate(javax.swing.event.DocumentEvent) - мануалы на это ответа не дают. http://pro-java.ru/java-dlya-opytnyx/izmenenie-otslezhivaniya-v-tekstovyx-komponentax-java/ - кстати здесь сказано, что changed не срабатывает для текстовых полей , а только для более сложных элементов и то при изменении форматирования текста. |
|||||
34 | MVC - PhoneBook - Search - Finish |
|
|||
На этом уроке мы .... ЗАКОНЧИМ создание телефонной книжки! Мы допишем функцию поиска по базе и протестируем её. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Вдохнул жизнь в поиск Сложности: Ничего. Комментарии: Отлично! Программка заработала, что удивляет - работает и на русских символах. |
|||||
35 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Ты молодец! Поздравляю с завершением создания телефонной книжки! Запиши видеообзор созданной программы и напиши отзыв об этом видеокурсе. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Лишний раз не боятся записывать видеоотзыв. Сложности: Справиться с мандражем. Комментарии: Надо на какие-то курсы актерского мастерства походить, чтобы более эффектно представлять видеоотзывы. Видеообзор: _4j_ivqdG20 |
|||||
36 | VIP - MVC - PhoneBook - Tripple Click |
|
|||
На этом дополнительном вип-уроке мы сделаем открытие карточек более привычным и удобным - по двойному щелчку и по нажатию клавишы Enter. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился открывать форму по клавише enter и тройному щелчку мыши. Сложности: Ничего. Комментарии: Четверной и пятерной щелчок мыши возможен, но это уже перебор. |
|||||
37 | VIP - MVC - PhoneBook - JModal |
|
|||
На этом коротком вип-уроке мы сделаем форму карточки модальным окном. Это означает, что нельзя будет переключиться в основное окно, пока карточка открыта. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 5 мин. [Показать отчёт] Научился: Переводить карточку пользователя в диалоговую форму. Сложности: Ничего. Комментарии: Полезный урок - модальности не хватало. |
|||||
38 | VIP - MVC - PhoneBook - Error Checking |
|
|||
На этом уроке мы вынесем обработку ошибок на более высокий уровень. Добавим в Представление функционал отображения ошибок из базы данных. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 30 мин. [Показать отчёт] Научился: Научился пробрасывать и обрабатывать ошибки. Сложности: Ничего. Комментарии: Отлично получилось. |
|||||
39 | VIP - MVC - PhoneBook - UML |
|
|||
Схему проекта проще всего составить, когда программа уже написана. А ещё проще это сделать, когда под рукой есть хороший инструмент. На этом уроке мы создадим UML схему нашего проекта с использованием программы Code 2 UML sourceforge.net/projects/code2uml САМОСТОЯТЕЛЬНОЕ ЗАДАНИЕ 1. Пройти курс по созданию UI на JavaFX. 2. Создать новые представления ViewCardFX, ViewListFX на JavaFX. 3. Написать контроллеры для связи новых представлений с моделью. Прочуствовать всю мощь MVC - как была изменён вид программы без изменения модели. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Научился просматривать схемы по уже созданной программе. Сложности: Ничего. Комментарии: Инсайт - в нашей жизни все взаимосвязано. Видеообзор: 9Xd2thfqVS0 |
|||||
Итого: 39 видеоуроков |
6 час. 53 мин. 5 тестов |
13 чел. | |||
Финалисты: Алексей В., Сергей Соколов, Елена, Новопашин Владимир, Фомичева Наталья, Tekashnik, Александр, Александр Заскотченко, Иван Воронин, Сергей Тирпиц, Yefim, Anatoli, Tom . |