В данном курсе Вы получите практический опыт построения вертикального решения для распределенного многоуровневого приложения с использованием case study подхода (сбор требований, анализ и проектирование), при помощи шаблона Model-View-Controller (MVC), реализуете тестирование с помощью JUnit, создадите графический пользовательский интерфейс (GUI), поддерживающий журналирование, реализуете подключения к базе данных с помощью JDBC, будете создавать как клиентские, так и серверные компоненты. Реализуете многопотоковость для обеспечения масштабируемости приложения и будете использовать Remote Method Invocation (RMI) для обеспечения коммуникации между объектами на клиентских и серверных компонентах.
Возможная должность: помощник разработчика, младший разработчик (junior)
Ориентировочная зарплата: 12 000 – 18 000 грн.
5
недель
40
академ часов
3800
гривен
Требования к слушателям:
- Уметь разрабатывать приложения используя язык программирования Java
- Понимать UML диаграммы
- Понимать язык запросов SQL
- Использовать технику объектно-ориентированного программирования.
- Понимать принципы разработки графического пользовательского интерфейса
- Знать основы TCP/IP
- Понимать программы мониторинга предоставленные Java
- Разрабатывать методологии тестирования и тестовых процедур
По окончании курса Вы будете уметь:
- Использовать шаблон MVC для создания классов для повторного использования
- Внедрять блочное тестирование используя Junit
- Реализовывать программу с нуля для использования в коммерческих интранет приложениях
- Разрабатывать классы для подключения программы к SQL базам данных используя базовые аспекты JDBC
- Организовывать и настраивать генерацию GUI и перехвата событий для поддержки Java проектов
- Внедрять logger API для генерации лог-сообщений в GUI
- Создавать двухуровневые и трехуровневые приложения
- Создавать многопоточный сервер
- Создавать удалённые объекты используя Java RMI
Программа курса
- API, UI, GUI
- CI, NB
- качество кода, рефакторинг, — калькулятор – Лабораторная работа (ЛР)
- Unit tests, JUnit
- Толстый-тонкий клиент, архитектура приложения
- DOM модель для Веб-страницы, JS, задача с таблицей – ЛР
- Разбор калькулятора и таблицы
- API, UI, Manual tests, Auto tests
- Метрики качества кода — CPD, PMD, FindBugs, MI
- Применение метрик к калькулятору — ЛР
- Проект Person — общие задачи трёхзвенной архитектуры приложения
- Класс Object
- Сериализация, десериализация — основы.
- Запись/чтение списка Person в текстовый файл – ЛР
- Работа с тестированием — Mocks and Stubs
- Параметрическое тестирование
- Калькулятор — тестирование с Mocks and Stubs — ЛР
- Проект Person — w/r XML, Json, Yaml — ЛР
- Интерфейс iDS — Save, Load — ЛР
- HTML5 — ЛР, рисование на канвасе
- Типы данных — int, real, others
- Операции над типами
- Выражение, приведение типов в выражении
- Блок выражений, надстройки над блоком (if/else, switch, loops, try/catch, f()…)
- Понятие БД.
- SQL — DDL, DML, others — ЛР
- java — рисование на форме — ЛР
- калькулятор — интерфейс – ЛР
- Разбор интерфейса калькулятора, MVC
- Android — калькулятор — ЛР
- Js — калькулятор — ЛР + UnitTests
- SQL – обзор ЛР
- Запись/чтение списка Person в БД – ЛР
- треугольники, кубики — ЛР, Java, Js
- Список — ЛР
- Типы данных — размещение в памяти
- Операции над типами — особенности
- Блок выражений, надстройки над блоком (if/else, switch, loops, try/catch, f()…) — упор на циклы
- Быстрый разбор ДЗ, доделать с дополнениями
- Основные каталоги проекта
- Сборка проекта при помощи Ant – ЛР
- Обзор паттернов GoF
- MVC
- ORM
- ORM для записи/чтения списка Person в БД — ЛР
- Разбор
- Декоратор для списка, другие…
- Обзор компонентов интерфейса
- Проект «Шарики» — ЛР
- Разбор рисование на форме
- Рисование на форме, save/load в различные графические форматы – ЛР
- Реальное внедрение MVC
- Рисование на форме, MVC, фабрика конвертеров в графические форматы
- Проект «Шарики», МТ — ЛР
- Типы данных, объекты — GC
- Операции над типами — конверторы через строку — ЛР
- Блок выражений, надстройки над блоком (if/else, switch, loops, try/catch, f()…) — упор на функции
- Java doc
- Сборка проекта при помощи Maven – ЛР
- Объектная рисовалка — ЛР
- Обзор паттернов GoF с углублением
- Связка ORM-DAO
- Таблица, JTable, провайдер данных
- GUI для проекта Person, MVC – ЛР