[LevelUP] Основы программирование на языке Java. Уровень 2.
Курс Основы программирование на языке Java. Уровень 2., является продолжением курса и охватывает все аспекты ООП, необходимые для начинающего разработчика.
Курс рассчитан на тех, кто уже знаком с основами программирования на языке Java, стремится развиваться и в настоящий момент нуждается в наставнике при освоении ООП на практике.
Одновременно c ООП настоящий java курс охватывает такие необходимые для разработчика темы, как:
Скрытое содержимое.
Описание:Курс Основы программирование на языке Java. Уровень 2., является продолжением курса и охватывает все аспекты ООП, необходимые для начинающего разработчика.
Курс рассчитан на тех, кто уже знаком с основами программирования на языке Java, стремится развиваться и в настоящий момент нуждается в наставнике при освоении ООП на практике.
Одновременно c ООП настоящий java курс охватывает такие необходимые для разработчика темы, как:
- Сборка проектов (будем использовать Maven)
- JUnit тестирование
- Разработка через тестирование (TDD)
- Контроль версий на Github
- Паттерны
- Сериализация объектов
- Работа с XML
- Работа с БД (SQL, MySQL и приложение MySQL Workbench)
- Библиотека JDBC
- Hibernate
- Аннотации
- CRUD
- Организация доступа к объектам в БД. DAO
- Параллелизм в Java. Нити
- Многопоточность в Java
- Работа с сетью в Java
- Язык UML
- Паттерн MVC
Занятие1. Механизмы сборки проектов. Системы контроля версий. Основы тестирования.
- Сборка проекта с помощью Maven;
- Конфигурационный файл Maven;
- Управление записимостями;
- Подключение библиотеки тестирования JUnit;
- Создание простейших тестов;
- Методы сравнения результатов;
- Разработка через тестирование (TDD);
- Контроль версий на Github.
- Создание git-репозитория. Создание через TDD программы обработкиматриц.
- Электронный учебник Git
- Конфигурационный файл Maven
- Паттерн «Итератор (Iterator)» и его реализация;
- Обход коллекций с помощью паттерна «Итератор»;
- «Итератор» в java.util;
- Деревья как структуры данных;
- Паттерн «Компоновщик (Composite)». Узлы и листья;
- Реализация паттерна компоновщик на примере вложенных категорий товаров в интернет-магазине;
- Модификация паттерна «Итератор» для обхода дерева категорий.
- Обработка ошибок, создание исключений для работы с деревом.
- Доработка категорий.
- Деревья. Паттерн «Компоновщик».
- Основные представления деревьев как структур данных.
- Введение в синтаксический анализ;
- Классификация анализаторов, грамматики;
- Нисходящие анализаторы, метод рекурсивного спуска;
- Факторы, термины, выражения;
- Анализ арифметического выражения;
- Создание парсера математического выражения методом рекурсивного спуска с возвратами.
- Добавление вычисления степеней.
- Вычисление тригонометрических функций и экспоненты.
- Основы синтаксического анализа.
- Грамматики. Рекурсия.
- Метод рекурсивного спуска.
- Сериализация объектов;
- Интерфейс Serializable;
- Объектные потоки ввода-вывода;
- Условия успешной упаковки и распаковки объектов;
- XML репозитории. Синтаксис XML;
- Библиотека работы с XML;
- Применение упаковки объектов на примере телефонной книги
- Реализация простейшей библиотеки работы с XML - файлами.
- Особенности сериализации.
- Виды СУБД;
- Установка сервера MySQL и приложения MySQL Workbench;
- Создание схем и таблиц;
- Виды полей таблиц;
- Основы языка SQL;
- Виды запросов, CRUD;
- Библиотека JDBC;
- Составление статических и динамических запросов на Java.
- Реализация сохранения контактов в телефонной книге.
- Язык запросов SQL
- MySQL - server
- Механизм аннотаций в Java;
- Библиотека Hibernate;
- Конфигурационный файл Hibernate;
- Классы - сущности;
- Аннотации в Hibernate;
- CRUD с помощью Hibernate.
- Подключение Hibernate к телефонной книге.
- Реализация возможности необязательного заполнения некоторых полей.
- Основные аннотации Hibernate.
- Связи таблиц в БД.
- Основы распределенного выполнения программных систем;
- Процессы и потоки;
- Класс Thread;
- Интерфейс Runnable;
- Особенности метода run();
- Способы корректной работы нескольких потоков;
- Ожидание выполнения потоков;
- Синхронизация методов и блоков.
- Многопоточное заполнение дерева.
- Реализация запуска графического интерфейса в отдельном потоке.
- Процессы и потоки.
- Синхронизация.
- Стек сетевых протоколов;
- Архитектура «клиент-сервер»;
- Протокол пользовательских датаграмм;
- Реализация параллельного обмена датаграммами между клиентом и
- сервером;
- Протокол TCP/IP;
- Создание простейшего сетевого чата;
- Надежность передачи данных по сети. Сериализация передаваемых
- объектов;
- Передача объектов и файлов по сети.
- Совершенствование сетевого чата.
- Передача сообщений адресованному клиенту.
- Сетевые протоколы.
- Сокеты. Адресация в сети.
- UML диаграммы;
- Необходимость в использовании паттерна «Одиночка (Singleton)»;
- Простейшая реализация паттерна;
- Многопоточный доступ к «одиночке»;
- Коррек тная реали зация па т терна «Одиночка» с применением
- синхронизации потоков;
- Паттерн «Наблюдатель (Observer)»;• Создание клиент-серверного чата на основе паттерна «Наблюдатель»;
- «Наблюдатель» в java.util.
- Реализация в чате совместной работы «Одиночки» и «Наблюдателя».
- Примеры применения паттерна «Наблюдатель».
- Язык UML диаграмм.
- Основы MVC и области применения;
- MVC как совокупность паттернов;
- Распределение обязанностей классов в соответствии с MVC;
- Организация доступа к объектам в БД. DAO;
- Реализация приложения для управления наличием товаров на складе.
- Добавление проверки валидности данных, получаемых/передаваемых из/в БД.
- Изменение предыдущих проектов, использующих графический интерфейс, в соответствии с патроном MVC.
- MVC и веб. Модификации MVC.
- Совместное применение паттернов проектирования
http://levelp.ru/courses/programmirovanie/the-java-programming-language-level-2/