luckyea77 (luckyea77) wrote,
luckyea77
luckyea77

Разработка на Java

Курс "Разработка на Java"

Лекторы - Рустам Кильдиев, Дмитрий Архангельский

Цель курса —создание рабочего приложения и получение необходимых навыков и опыта в области разработки программного обеспечения. По окончании курса студенты должны знать синтаксис и основные библиотеки языка Java, понимать объектно-ориентированный подход, уметь декомпозировать сложные задачи. Получаемые навыки: Основные конструкции языка, объекты и классы. Ввод и вывод в Java - консольный, файловый, сетевой. Интерфейсы и абстрактные классы, анонимные классы. Лямбда-функции. Сетевое взаимодействие, сокеты. Механизм исключений. Проверяемые и непроверяемые исключения. Потоки - жизненный цикл, прерывание. Критическая секция. Проблемы взаимодействия (дедлок). Механизм wait/notify, блокирующие очереди producer/consumer. Коллекции, выбор структуры данных, подходящей для задачи. Параметризованные коллекции. Параметризация в Java.





























Курс "Углубленное программирование на Java"

Лектор - Виталий Чибриков



История появления Java. Определения понятия «кроссплатформенность». Структурный состав Java-приложения. Цели, ради которых создавался язык, его преимущества и недостатки. Обзор платформы Java. Сборщик мусора. Версии Java. Именование в Java. Инструменты разработчика. Создание проекта. Знакомство с Jetty. Java Servlet. Примеры кода.



Постановка задачи по авторизации пользователя, описание условий. Модули и процессы, задействованные в операциях регистрации, авторизации, обработки учётной записи и выхода пользователя. Знакомство с шаблонами Java. Класс с шаблонным типом. Метод с шаблонным типом. Синтаксис. Сужение области параметра. Специфика использования шаблонов. Шаблоны и наследование. Определение коллекций. Интерфейсы для работы с коллекциями. Иерархия контейнеров. List, Set, Queue, Map. Интерфейс сравнения Comparable. HTTP-сессии.



Наследование в Java. Множественное наследование. Работа с классами. ClassLoader — загрузчик данных о классе. Основные методы класса. Примитивные типы и их обёртки. Boxing и Unboxing. Массивы в Java. Строковые переменные. Размер объектов в Java. Администрирование сервера. PORT в параметры. Maven — средство сборки. Сборка и запуск проекта. Остановка сервера.



Обеспечение качества ПО: критерии, оценка соответствия критериям, формальные проверки. Автоматизация обеспечения качества: статический анализ кода, тесты, коммит-хуки, непрерывная интеграция. Подходы к тестированию. Юнит-тесты. Функциональное и нагрузочное тестирование. Проверка отдельных модулей. Безопасный рефакторинг. Совместимость модулей. Защита от повторения багов. Требования к тестам. Первый тест. Терминология тестирования. Абстракция. Интерфейс и реализация тестов. Дублёры: Fake, Dummy, Stabs, Spies, Mocks, Mockito. Правила проведения тестирования. Ожидание исключения. Функциональные тесты. Организация, инструменты и результаты нагрузочного тестирования. Сборщик мусора. Интерфейс Autoclosable. Сборщик мусора в Java 7 и 8. Логирование. Удалённый дебаггинг. Использование расширения Java Management eXtension.



Организация кода. Интерфейсы. Сервисы и дескрипторы. Изменения кода. Реакторинг. Аннотации — матаданные о коде. NotNull. Стандартные аннотации. Синтаксис, обработка и виды аннотаций. WebSockets. Разбор игровой механики и соединения с пользователем на примере игры «Кто больше накликает». Шаблоны Singleton и Context. Исключения и их роль. Класс Throwable. События, их регистрация. Pattern Observer. Коллбэки.



Потоки ввода-вывода. Байтовые потоки (Byte Streams). Шаблон Decorator. Закрытие потоков. Понятие сериализации. Интерфейс Serializable. Что подвергается и не подвергается сериализации. Запись в файл. Десериализация. Reflection: разбор объекта и его перевод в массив байт. Возможности Reflection, его недостатки. ReflectionHelper. Сериализация XML-документа. SAX-парсер, его методы. Десериализация XML. Обработчик. Использование Reflection. DOM-парсер. Ресурсная система, интерфейс Resource, фабрика ресурсов.



Термины и сокращения. Инструменты. Определение и особенности JDBC, его API. Управление драйверами JDBC. Соединение с базой (Connection). Состояния соединений (Statements). Объект ResultSet. Решение задачи передачи интерфейса в Java 7 и Java 8 (лямбда-выражение). Объект Executor, содержащий методы для работы с запросами. Обновление и выбор состояний. Вызов execQuery. Типизация.



Связь между объектной моделью программы и реляционной моделью базы (Object-Relational Mapping). Java Persistence API. DataSet — объект, содержащий данные одной строки таблицы. Объект доступа к данным (Data Access Object), варианты операций над базой. Интерфейс UsersDAO. ORM-библиотека Hibernate, её конфигурирование. Создание или проверка схемы базы при создании SessionFactory. Фабрика сессий (Session Factory). Аннотации для DataSet. Знакомство с Hibernate Query Language. Вставка и чтение HQL, поиск по ключу, получение всех записей. Сервис, скрывающий работу с базой (Database Service). Транзакции на две и более таблиц.



Определение процессов и потоков. Роль операционной системы при работе с потоками. Интерфейс Runnable. Класс Thread. Доступ к объекту потока. Остановка выполнения и прерывание выполнения потока. Остановка текущего потока для окончания другого. Термины, связанные с многопоточностью. Критический участок кода. Семафор, Mutex. Мягкая и обязательная блокировки. Высокоуровневая конструкция Monitor. Взаимодействие потоков. Возможные ошибки одновременного доступа. Модель взаимодействия потоков через общую память. Синхронизация, её методы и состояния. Блокировка объектов. Ситуация Deadlock. Служба в отдельном потоке. Методы wait() и notify(). Контейнеры, безопасные для многопоточного доступа.



Лектор - Егор Шубин.

Архитектура сервера, вариант без многопоточности. Понятие системы обмена сообщениями в рамках сервера. Взаимодействие потоков. Объект для обмена данными MessageSystem. Классы Address, Abonent и Message. Сообщение об авторизации. Иерархия сообщений. Использование MessageSystem. Взаимодействие потоков Frontend и AccountService. Состояния. Балансировка нагрузки: AddressService.

Смотрите также:
Java Starter
How to Java Starter
Видео курс Java Essential
Java Professional
Вебинары по Java
Шаблоны проектирования Java

Tags: программирование
Subscribe

Posts from This Journal “программирование” Tag

  • Видео курс PHP

    Видео курс PHP Starter В первом уроке вы узнаете, что такое РНР и его достоинства. Узнаете, что можно сделать посредством языка. Поймете, почему…

  • Удаленная работа для программиста: результаты исследования от Stack Overflow

    Опрос Stack Overflow Developer Survey 2018 уже прошёл, и пока в компании разбираются с данными за этот год, давайте посмотрим на результаты,…

  • Видеокурс по HTML5 и CSS3

    Для того чтобы создавать страницы с использованием новой семантической разметкой современному Frontend разработчику необходимо освоить технологию…

  • Видеокурс по JavaScript

    Видеокурс по JavaScript Essential Если Вы хотите стать веб-разработчиком, Вам не обойтись без элементов динамики, интерактивности в ваших…

  • Видеокурс по HTML&CSS

    Видеокурс по HTML&CSS Если Вы хотите стать веб-разработчиком, освоить процесс создания веб-сайтов, лучше всего начать с изучения основ…

  • Комплексная подготовка программистов 1С:Предприятие 8.2

    Урок 1. • Знакомство, регламентные вопросы. • архитектура системы (логическая и физическая) • понятия "Информационная база" и "Конфигурация" •…

  • Обучение C# (c sharp)

    Обучение C# (c sharp) для начинающих Данный видеокурс представлен для новичков в языке программирования C#. Если Вы решили, что готовы начать…

  • Курс "Язык Python"

    Еще курсы Python: Python Starter Python Essential Вебинары Python Курс: Python | Лектор: Екатерина Тузова |…

  • Программирование на Perl

    Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Лекторы - Николай Шуляковский, Владимир Перепелица, Вадим Пуштаев Цель курса — научиться…

promo luckyea77 июнь 21, 2015 20:04 26
Buy for 10 tokens
В этой записи я буду давать ссылки на посты с лекциями и уроками в этом блоге: Учебные материалы и тесты: Дистанционное образование Правила дорожного движения 11 ресурсов для бесплатного образования Сайты для обучения программированию Игры, в которых нужно писать код: Grid Garden, Elevator…
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments