# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 | Вступление - Язык UML |
1 тест |
|||
Мы начинаем создание новой программы на языке Java. Цель курса - продемонстрировать процесс проектирования и создания прикладного программного обеспечения на языке Java. Отчёт отправил: 7119. Новопашин Владимир Выполнено за не указано [Показать отчёт] Комментарии: UML - универсальный язык описания требований бизнес заказчика обличенных в форму понятную для исполнителя. |
|||||
2 | Вступление - Примеры UML схем |
1 тест |
|||
На этом уроке мы познакомимся с ещё одной статьёй про UML. Сопоставим UML-диаграмы и созданные по ним классы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за не указано [Показать отчёт] Комментарии: Я из статьи не совсем понял, как обозначаются абстрактные классы, изолированные классы, статичные классы. Посмотрел статью - больше это напоминает отношения между таблицами базы данных. Когда посмотрел наследование один ко многим - думаю - что-то интересное - неужто Java реализовал множественное наследование - ан нет - речь шла немного о другом. В целом интересная статья. Из сайтов я давно пользуюсь draw.io и Visio |
|||||
3 | Проектирование - Три класса |
1 тест |
|||
На этом уроке мы познакомимся с сайтом draw.io, на котором удобно рисовать самые разные схемы. Нарисуем три «классных» прямоугольника: Student, Lesson, Pupil. Самостоятельное задание - придумать и вписать необходимые поля и методы для этих классов. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: На данном этапе я отразил связи между классами (табличками) Сложности: Ничего. Комментарии: Я надеюсь дальше будет объяснено. Ничего не просматривается. |
|||||
4 | Проектирование - Классные диаграмы |
1 тест |
|||
На этом уроке мы обсудим суть поставленной задачи. Впишем все необходимые поля и методы для каждого класса. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Научился работать с диаграммками на сайте draw.io Сложности: Ничего. Комментарии: Супер урок. Признаюсь у меня до этого был некий туман в голове насчет uml - сейчас рассеивается. |
|||||
5 | Проектирование - Выяснение отношений |
1 тест |
|||
На этом уроке мы выясним отношения классов друг к другу. Кто кого имеет и каким образом. Дорисуйте на схеме стрелочки отношений и добавьте надписи над стрелочками о типе отношений. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 11 мин. [Показать отчёт] Научился: Научился проставлять связи в draw.io Сложности: Ничего. Комментарии: Красота. |
|||||
6 | Создание - Класс Lesson |
1 тест |
|||
На этом уроке мы приступим, наконец-таки, к программированию. Мы создадим пустые классы Program, Student, Lesson, Point. Добавим описанные в UML-диаграме поля и методы в класс Lesson. В классе Program создадим код для запуска написанного кода. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное - было полезно. Сложности: Ничего. Комментарии: Приятно видеть переход uml->real code. |
|||||
7 | Создание - Класс Student |
1 тест |
|||
На этом уроке мы опишем поля и методы класса Student. В основной программе создадим трёх студентов и выведем их на экран. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 21 мин. [Показать отчёт] Научился: Описал класс Student. Сложности: Ничего. Комментарии: Остался один классик. Очень легко делается при готовой схеме. Хороший подход. |
|||||
8 | Создание - Класс Point |
1 тест |
|||
На этом уроке мы создадим все поля и методы класса Point. Затем добавим каждому студенту несколько оценок. Потом вспомним, что забыли записать студентов на лекции. Во второй половине урока мы займёмся созданием студенческого метода для формирования карточки getInfo (). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Создавать класс point и тестировать программу. Сложности: Ничего. Комментарии: Классно - уже программка работает в комплексе. |
|||||
9 | Отладка - Пошаговый проход |
1 тест |
|||
На этом уроке мы пошагово пройдём по каждой строчке программы. Просмотрим состояние всех переменных и экземпляров объектов. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 18 мин. [Показать отчёт] Научился: Во время пошагового прохода понял, что при хорошо спроектированных программах дебаг не нужен. Сложности: Ничего. Комментарии: Урок полезный. |
|||||
10 | База - Статический класс |
1 тест |
|||
На этом уроке мы спроектируем класс Book для хранения всех данных нашей объектной базы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 11 мин. [Показать отчёт] Научился: Создавать базу данных Book. Сложности: Ничего. Комментарии: Нам нужно было подобие классного журнала учителя, чтобы собрать все сущности в одну кучу: студентов, лекции и оценки. Сами по себе можно было бы пользоваться, но это было бы сложно. Я бы сказал, мы применили паттер проектирования фасад. |
|||||
11 | База - Список студентов |
1 тест |
|||
На этом уроке мы создадим класс Book, и добавим в него поля и методы для работы со списком студентов. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 13 мин. [Показать отчёт] Научился: Научился реализовывать классный журнал в программе. Сложности: Ничего. Комментарии: Лепота. Журнал в действии. |
|||||
12 | База - Список лекций |
1 тест |
|||
На этом уроке мы добавим в класс Book поля и методы для работы со списком лекций. В основной программе мы разместим код для демонстрации этих методов. Мы также обсудим, когда и почему не/стоит использовать HashSet. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Научился добавлять лекции к студентам красиво. Сложности: Ничего. Комментарии: Не правильно вопрос задан - почему у студента список лекций HashSet, а в Book ArrayList- на видео это обсуждалось. Потому что может одина и та же лекция Java преподаваться скажем двум параллельным группам и для этого нужен ArrayList, HashSet в у студента, потому что он не может на два одинаковых курса Java ходить - во всяком случае это не практично. |
|||||
13 | База - Список оценок |
1 тест |
|||
На этом уроке мы добавим в класс Book поля и методы для работы со списком оценок. Также удалим старые поля и методы из класса Student для работы с оценками. В основной программе мы добавим случайные оценки каждому студенту по каждой лекции. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Научился добавлять оценки. Сложности: Ничего. Комментарии: --- |
|||||
14 | ПОЛУФИНАЛЬНЫЙ УРОК |
без видео 1 тест |
|||
Поздравляю с экватором. Предлагаю немножко передохнуть. Напиши,чему ты научился за первую часть этого курса. Нравится ли тебе такой способ изложения материала. Какие видишь преимущества и недостатки курса. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Узнал много нового об uml. Научился по созданной схеме в uml создавать программу и реализовывать все методы. Сложности: В общем-то ничего. Все косяки мои были из-за ошибок синтаксиса. Комментарии: Классный курс и как раз вовремя. |
|||||
15 | Меню - Планирование |
1 тест |
|||
На этом уроке мы спроектируем класс Menu для интерактивного управления нашей объектной базой. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Со временем пойму. Сложности: Ничего. Комментарии: Урок промежуточный - идем дальше. |
|||||
16 | Меню - Интерактив |
1 тест |
|||
На этом уроке мы создадим класс Menu для отображения основного меню управления нашей базой. Реализуем основные методы работы с базой через пункты меню. Дорисуем недостающие методы в классе Menu на нашей схеме. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился создавать меню для java. Сложности: Ничего. Комментарии: Мы начинаем меню. |
|||||
17 | Меню - Работа со студентами |
1 тест |
|||
На этом уроке мы продолжаем реализацию методов класса Menu. Начнём с методов добавления/отображения студентов: doAddStudent() и doShowStudents(). И проверим работу приложения добавив несколько студентов, после чего выведем их с порядковыми номерами из базы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился кошерно выводить студентов. Сложности: Самое сложное было понять как сработал snippet sysout - что для этого надо сделать в Eclipse? Комментарии: Замечательный урок - бальзам на душу. |
|||||
18 | Меню - Работа с лекциями |
1 тест |
|||
На этом уроке мы воспользуемся ранее переименованным методом addRandomRecords() чтобы не вводить каждый раз при запуске программы начальные данные для тестирования. В классе Menu мы реализуем методы doAddLesson() и doShowLessons() для добавления и просмотра лекций. Отрефакторим название метода doAddLessonToStudent() в doAssignLessonToStudent() класса Menu как в коде, так и на нашей UML схеме для лучшей передачи смысла его работы. Реализуем необходимые методы inputStudentIndex() и inputLessonIndex(). Добавим более информативный вывод работы программы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 45 мин. [Показать отчёт] Научился: Научился рефакторингу и культуре кода - это очень важно. Сложности: Ничего. Комментарии: Согласен с Игромистром, что простота оформления кода лучше сложности его написания - ибо через полгода смотришь на проект как баран на новые ворота и все вспоминаешь. |
|||||
19 | Меню - Запись студента на курс |
1 тест |
|||
На этом уроке мы добавим новый пункт в наше меню для отображения карточки студента. Реализуем новый метод doShowStudentCard() для отображения карточки выбранного студента, так же добавим этот метод в класс Menu на нашей UML схеме. Подкорректируем уровни доступа методов в классе Menu на нашей UML схеме и в коде. Отрефакторим метод doAssignLessonToStudent() выделив часть кода в отдельные методы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 33 мин. [Показать отчёт] Научился: Научился выводить карточку студента. Сложности: Ничего. Комментарии: Лишний раз убеждаюсь, что у одной задачи множество решений, главное вовремя остановиться. |
|||||
20 | Меню - Работа с оценками |
1 тест |
|||
На этом уроке мы реализуем метод doAddPoint() для оценивания успеваемости студентов по пройденным лекциям. Добавим соответствующий красивый вывод информации о полученной оценке студентом за такую то лекцию. Реализуем матрёшку-перегрузку из методов для получения списка лекций определённого студента. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 56 мин. [Показать отчёт] Научился: Не знаю - в дальнейшем пойму. Сложности: Ничего. Комментарии: Очень хорошо, что автор ошибается - именно ошибки самые ценные. |
|||||
21 | Сериализация - Статическое напряжение |
1 тест |
|||
Во мы и закончили нашу объектную базу данных на языке Java, но у неё есть один недостаток! Все данные которые хранятся в нашей базе нигде не сохраняются и при каждом её запуске обнуляются. На этом уроке мы приступим к сериализации нашей базы данных для сохранения изменений на диск. Первое что нам необходимо будет сделать, это избавиться от static в классе Book. Так же нам нужно добавить Конструктор в класс Book и добавим туда метод clear() для автоматической подготовки базы к работе при создании её экземпляра. Реализуем работу экземпляра класса Menu с экземпляром класса Book. Исправим ошибки связанные с изменением доступности нашей базы. Создадим метод start() в классе Menu и перенесём туда реализацию работы с меню. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 13 мин. [Показать отчёт] Научился: Повторил рефакторинг. Сложности: Ничего. Комментарии: Сериализация - упаковка данных в двоичный или текстовый формат для их последующей передачи. Десериализация - распаковка сериализованных данных. |
|||||
22 | Сериализация - Сохранение базы |
1 тест |
|||
На этом уроке мы реализуем сериализацию нашей базы данных в файл на диске. Для этого мы внедрим интерфейс Serializable в нашем классе Book, так же необходимо внедрить интерфейс Serializable во все классы, которые используются классом Book, а именно: Student, Lesson и Point. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 23 мин. [Показать отчёт] Научился: Научился выводить данные сеарилизации в файл book.ser. Сложности: Ничего. Комментарии: Супер. Иной раз полезно, когда делаешь отладку или тестируешь что-то сложное. |
|||||
23 | Сериализация - Восстановление базы |
1 тест |
|||
На этом уроке мы реализуем десериализацию нашей базы из файла обратно в память нашей программы, чтобы продолжить работу с введёнными ранее данными. После чего мы несколько раз запустим нашу программу, каждый раз вводя новые данные. Убедимся, что при каждом запуске восстанавливаются предыдущие данные. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Отлично! Можно данные читать из файла сериализации. Сложности: Ничего. Комментарии: Можно сделать сериализацию в xml (так удобнее смотреть, какие данные вывелись) - http://stackoverflow.com/questions/35785/xml-serialization-in-java . А так очень быстро и эффективно вывелись данные в бинарике. Я только не понял как в xml выводить - нифига данные не выводить только заголовок и все |
|||||
24 | ФИНАЛЬНЫЙ УРОК |
без видео 1 тест |
|||
Поздравляю с завершением курса! Оставь, пожалуйста, отзыв об этом курсе. Запиши видеообзор созданной программы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 14 мин. [Показать отчёт] Научился: Научился писать видеообзор Сложности: Всякий раз борюсь с волнением. Комментарии: Ура! Я записал отзыв. Видеообзор: 8-HtkGS1iZI |
|||||
Итого: 24 видеоурока |
4 час. 31 мин. 24 теста |
9 чел. | |||
Финалисты: Сергей Соколов, Иван Воронин, Алексей В., Новопашин Владимир, Dmitrij Starikovič, Tekashnik, Dmitry Sinitsin, Anatoli, Tom . |