Хотите получать информацию по новым курсам и их датам проведения?
Главная \ Единый Портал Обучения \ Корпоративное обучение \ Программирование \ (Java-2) Основы программирования на Java. Уровень 2
(Java-2) Основы программирования на Java. Уровень 2
Код курса: Java-2
Описание курса
Курс Основы программирование на языке Java. Уровень 2, является продолжением курса Основы программирование на языке Java. Уровень 1 и охватывает наиболее важные аспекты разработки на языке Java, необходимые для начинающего разработчика.
Курс рассчитан на тех, кто уже знаком с основами программирования на языке Java, стремится развиваться и в настоящий момент нуждается в наставнике.
Настоящий java курс охватывает такие необходимые для разработчика темы, как:
- Сборка проектов (будем использовать Maven)
- Контроль версий на Github
- Паттерны
- Сериализация объектов
- Работа с XML
- Работа с БД (SQL, MySQL и приложение MySQL Workbench)
- Библиотека JDBC
- Hibernate
- Аннотации
- CRUD
- Организация доступа к объектам в БД. DAO
- Параллелизм в Java. Нити
- Многопоточность в Java
- Работа с сетью в Java
- Язык UML
- Паттерн MVC
Программа курса:
Занятие 1. Механизмы сборки проектов. Сериализация.
- Сборка проекта с помощью Maven;
- Конфигурационный файл Maven;
- Управление записимостями;
- Подключение зависимостей на примере JUnit и Gson;
- Способы и виды сериализации;
- Сериализация объектов;
- Интерфейс Serializable;
- Объектные потоки ввода-вывода;
- Условия успешной упаковки и распаковки объектов;
- Сериализация в структурные форматы на примере Json.
Домашнее задание:
- Доработка программы - телефонная книга с возможностью сериализации данных в двух видах
Литература и ресурсы:
- Конфигурационный файл Maven
- Json, Serializable
Занятие 2. Параллелизм и нити.
- Основы распределенного выполнения программных систем;
- Процессы и потоки;
- Класс Thread;
- Интерфейс Runnable;
- Особенности метода run();
- Способы корректной работы нескольких потоков;
- Ожидание выполнения потоков;
- Синхронизация методов и блоков
Домашнее задание:
- Асинхронные сериализация и десереализация
Литература и ресурсы:
- Процессы и потоки
- Синхронизация
- ProcessBuilder
Занятие 3. Основы работы в сети
- Стек сетевых протоколов;
- Архитектура «клиент-сервер»;
- Протокол TCP/IP;
- Создание простейшего сетевого чата;
- Надежность передачи данных по сети. Сериализация передаваемых объектов;
- Передача объектов и файлов по сети
Домашнее задание:
- Совершенствование сетевого чата.
- Передача сообщений адресованному клиенту
Литература и ресурсы:
- Сетевые протоколы.
- Сокеты. Адресация в сети
Занятие 4. СУБД. Hibernate. Аннотации.
- Виды СУБД;
- Установка сервера MySQL и приложения MySQL Workbench;
- Виды запросов, CRUD;
- Библиотека JDBC;
- Механизм аннотаций в Java;
- Библиотека Hibernate;
- Конфигурационный файл Hibernate;
- Классы - сущности;
- Аннотации в Hibernate;
- CRUD с помощью Hibernate.
Домашнее задание:
- Реализация сохранения данных телефонной книги в MySQL
Литература и ресурсы:
- Язык SQL
- Основные аннотации Hibernate
- Связи таблиц в БД
Занятие 5. Паттерны «Одиночка», «Наблюдатель», «Стратегия».
- Необходимость в использовании паттерна «Одиночка (Singleton)»;
- Простейшая реализация паттерна;
- Многопоточный доступ к «одиночке»;
- Корректная реализация паттерна «Одиночка» с применением синхронизации потоков;
- Паттерн «Наблюдатель (Observer)»;
- Обертка клиент-серверного чата на паттерн «Наблюдатель»;
- «Наблюдатель» в java.util;
- Описание паттерна «Стратегия»;
- Применение паттерна стратегия к телефонной книге для возможности выбора способа сохранения данных.
Домашнее задание:
- Реализация в чате совместной работы «Одиночки» и «Наблюдателя»
Литература:
- Примеры применения изученных паттернов. GoF.
- Язык UML диаграмм.
- RxJava
Оставшиеся занятия пишем проект, который придумываем все вместе, при написании проекта, изучаем предложенные участниками и/или преподавателем темы.
Возможные темы:
- Синтаксический анализ на примере создания строчного калькулятора с функциями (разбирается метод рекурсивного спуска, синтаксическое дерево выражения, основы компиляторов);
- Реактивное программирование с RxJava (разбирается реактивный подход к выполнению распространенных на практике задач обработки данных);
- Работа с файлами на примере создания файлового менеджера (разбираются библиотеки java.io и java.nio, слушатели создают файловый менеджер с определенным набором возможностей и правильной архитектурой);
- Командная работа. Доработка чата с расширенными возможностями (сохранение истории сообщений, личная переписка, групповые чаты и т.д.);
- Основные шаблоны проектирования на примере любой программы, перечисленной выше или предложенной слушателем.
и многое другое!
Расписание
Вт 19:00 - 22:00
Пт 19:00 - 22:00
либо
Ср 19:00 - 22:00
Сб 11:00 - 14:00
Дни | 1,5 месяца (48 ак. часов) |
---|---|
Дата курса | 19.июн |
Город | Все города |
Формат обучения | Корпоративный |
Оставьте отзыв
Заполните обязательные поля *.