Практика Java. Разработка Web приложения.

Kanef

VIP складчик
Регистрация
8 Сен 2014
Сообщения
17.683
Реакции
64.253
Описание:
Приложение будет разрабатываться начиная со второго занятия, основываясь на базовых темах курса: объектная модель, коллекции, система ввода-вывода, работа с файлами, сериализация, работа с XML, SQL, персистентность в базу данных (PostgreSQL), сервлеты, технология JSP, веб-контейнер Tomcat, HTML, JavaScript, модульные тесты JUnit, java.util.Logging, система контроля версий Git. Данный курс направлен на быстрое получения необходимых знаний и практики, с тем, чтобы окончивший их смог успешно пройти собеседование и работать в команде разработчиков на языке Java. Для увеличения объема пройденного материала часть теории (типы, операции, управляющие конструкции, ...) будет Вашей домашней работой (по предоставленным материалам) с последующим закреплением в форме вопросов, обычно задаваемых на собеседовании. Курс будет построен на активном взаимодействии с обучаемыми: выбора оптимальной доменной модели; реализации, паттернов проектирования, дизайна разрабатываемого приложения. Побочным результатом курса будет ваше личное резюме java разработчика с одним из пунктов в списке достижений: разработка веб-приложения.

После лекции, через месяц у студента в голове остаётся 3% знаний. А если он выполнил упражнение на практике более 7 раз, то в памяти сохраняется 95% знаний + бонус. Студент, практикуя упражнение, открывает ещё 50% нюансов знаний, которые не были озвучены преподавателем.

  • Понимание и практика программирования на Java в объектно-ориентированном стиле.
  • Структурное (красивое и надежное) Java кодирование
  • По всем темам курса- подготовка к собеседованию на позицию Java- разработчик
  • Использование де-факто (lingua franca) стандартов в разработке ПО: IntelliJ IDEA, PostgreSQL, Tomcat, JUnit, FireBug, Git.
  • Итог курса- совместное написание с нуля сложного Web приложения на стеке: Servlets, JSP, JAXB, JDBC
Требование к участникам:
  • Умение программировать на любом языке.
  • Желательно иметь представление о XML, HTML, SQL, JavaScript.
  • Желание и возможность изучить простую часть материала (типы, операции, управляющие конструкции) в первой половине курса самостоятельно.
Язык Java.
Знакомство.
  • Обзор сайтов и литературы по Java.
  • The Most In-Demand Tech Skills: Why Java
  • Обзор популярности инструментов и технологий Java за 2014 г.
  • Платформа
  • Java. JVM, JIT-компиляция, сборка мусора. JDK, JRE.
  • ME, SE (русский), EE (русский)
  • Настройка IDE IDEA. Интеграция с Git. Первое Java приложение.
Настройки IntelliJ IDEA, создание проекта.
  • Система управления версиями. VCS/DVSC.
  • Интеграция с Git. gitignore.
  • Java-> class-> JVM. javac. Первое приложение Hello World. Пакеты, импорт пакетов.
  • JavaDoc.
  • Принципы ООП.
ООП. Объектная модель.
  • Класс. Объект. Состояние, поведение, индивидуальность (Гради Буч).
  • Инкапсуляция. Наследование. Полиморфизм. Класс, объект, поля, методы.
  • Типы отношений между классами: наследование, агрегация, композиция, ассоциация.
  • Множественное наследование. Делегирование.
  • Объектная модель и классы Java.
Контрольные вопросы по ООП.
  • Анализ модели приложения
  • Примитивные и ссылочные типы данных. Boxing.
  • Структура памяти: куча, стек, регистры, константы
  • Класс Class. Конструктор. this, super
  • Преобразование типов.
  • Соглашения по именованию.
Основные классы Java. Debug. Массивы.
  • Object, equals, hashCode, toString
  • Контракт на equals, hashCode
  • Модификаторы доступа. Область видимости.
  • Интерфейсы (IStorage). Абстрактные классы. static
  • IDEA debug
  • Массивы.
  • Управляющие конструкции.
Контейнеры/коллекции. Вложенные и внутренние классы. Блоки инициализации и анонимные классы.
  • Анализ ДЗ (модель + реализация хранения через массив). Arrays
  • List, Set, Map, TreeMap, Iterator, ListIterator, Collections
  • Упрощение объектной модели. Хранение на основе Map
  • Вложенные и внутренние классы. Примеры в Collections API: Arrays.asList, Map.Entry, LinkedList.Node, Collections, Iterator
  • Локальные и анонимные классы.
Исключения. Работа со строками. Параметризация. Модульное тестирование.Аннотации.
  • Исключения (иерархия, throws).
  • Строки в Java. Кодировка.
  • Управление строками, функции для работы со строками в Java
  • Маленькие хитрости Java. StringBuilder
  • Параметризация. Стирание типов. Ограничения.
  • Добавление параметризации в модель.
  • Модульное тестирование JUnit 4
  • Аннотации

Логгирование. Работа с файлами. Ввод/вывод.

  • Логгирование. Настройка логгирования
  • Special Case (Особый Случай). emptyCollection, singletonCollection
  • Пакет java.io
  • Паттерны Декоратор и Шаблонный_метод.
  • Реализация FileStore (хранение в файлах).
  • Ввод-вывод. Реализация Store используя DataInputStream/ DataOutputStream.
Сериализация. Работа с XML. Работа с Датой. Потоки. Параллельное выполнение.

  • Реализация Storage используя сериализацию.
  • Структурированное хранение данных: json, xml, Xsd, Xslt, xPath
  • Java API: JAXB, StAX, XPath. Сохранение данных приложения в XML.
  • Date, Calendar, DateFormat (Format). Joda-Time
  • JMM. Потоки выполнения. ThreadLocal. Synchronize, final, volatile

Веб-Контейнер Tomcat. Сервлеты. JSP.
Сервлеты. Структура веб-приложения. web.xml
Настройка и деплой в Tomcat.
JSP. Отображение списка резюме. Просмотр, удаление резюме. Html.

HTTP POST. SQL. PostgreSQL. JDBC

  • Разбор реализации сервлета JSP. Паттерн MVC
  • Постороение/cтруктура WAR. Деплой WAR в Tomcat.
  • Реляционные базы. SQL. Денормализация. PK, FK, Cascade
  • JDBC. ConnectionFactory. Простейшая реализация IStorage для DB.

Транзакции. Загрузчик классов. Обзор технологий java.

  • Разбор ДЗ. Добавление в реализацию контактов.
  • Транзакция. ACID. Уровни изоляции транзакций.
  • LEFT, RIGHT, INNER JOIN.
  • Batch execute.
  • Properties. Конфигурирование базы.
  • Tomcat common lib. Загрузчик классов Tomcat.
  • Обзор фреймворков, библиотек, инструментов платормы java.


Скачать:
 

silvfox

Складчик
Регистрация
16 Окт 2015
Сообщения
7
Реакции
2
Перезалейте, пожалуйста
 
Сверху