Разработчик Java
Год выпуска: 2017-2018
Производитель: OTUS
Сайт производителя:
https://otus.ru/lessons/razrabotchik-java/
Автор: Виталий Чибриков, Дмитрий Архангельский и др.
Продолжительность: 54:29:18
Тип раздаваемого материала: Видеоурок
Язык: Русский
Описание: Основная задача курса – познакомить слушателя с практиками разработки серверных приложений на Java. В процессе прохождения курса, слушатель узнает об особенностях языка и платформы Java, познакомиться с библиотекой Java, освоит подходы к проектированию приложений и реализации модулей для работы с базами, файлами, веб фронтендом и другими приложениями.
Содержание
Занятие 1: Подготовка к курсу
Введение. Обзор и задачи курса. Настройка окружения: система контроля версий git, система контроля зависимостей maven, среда разработки Intellij IDEA. Сборка и запуск java приложений.
Занятие 2: Байт код
Байт код. Содержание .class. Декомпиляция. Обфускация. История изменений языка Java от версии к версии. Разбор ДЗ.
Занятие 3: Углубленные основы
Углубленные основы. Загрузка классов. Виды и задачи class loader-ов. Класс Class<?>. Примитивные типы, строки, массивы. Память, которую занимают объекты.
Занятие 4: Remote debug
Hot swap. Remote debug. Сборщик мусора. Instrumentation. Разбор примеров и ДЗ.
Занятие 5: Контейнеры и алгоритмы
Generics. Контейнеры и алгоритмы. Обзор устройства и работы контейнеров из java.util. Сравнение контейнеров. Карты на основе хэш функции и на основе дерева. Разбор алгоритмов из java.util.Collections.
Занятие 6: Инструменты для преобразования контейнеров
Инструменты для преобразования контейнеров. Apache Commons. Google Guava. Разбор примеров и ДЗ.
Занятие 7: Сборщик мусора
Параметры запуска VM. Сборщик мусора. Виды сборок. Разделение памяти под разные поколения объектов. Виды сборщиков. JMX. Управление приложением из jconsole. OutOfMemory. dump памяти. Исседование thread dump и heap dump.
Занятие 8: QA и тестирование
QA, тестирование. Виды тестов. "Заглушки". Testing frameworks: junit, mockito. Разбор примеров и ДЗ.
Занятие 9: Аннотации
Аннотации. Стандартные аннотации. Применение аннотаций. Типы аннотаций. Синтаксис. Создание своих аннтатаций. Reflection.
Занятие 10: Java 8
Элементы функционального программирования. Streams. Lambdas. Примеры.
Занятие 11: Основы дизайна
Понятие дизайна приложения и паттерна проектирования. Концепты проектирования ООП: delegation, aggregation, composition, association, coupling and cohesion. SOLID.
Занятие 12: Behavioral patterns
Behavioral patterns часть 1. Разбор примеров и ДЗ.
Занятие 13: Structural patterns
Behavioral patterns часть 2. Structural patterns.
Занятие 14: Creational patterns
Creational patterns. Связь между паттернами, "похожие" паттерны. Антипаттерны. Разбор примеров и ДЗ.
Занятие 15: Сериализация
Java IO. Сериализация. Запись и чтение бинарных файлов. Работа с simple-json, javax.json и com.google.code.gson.
Занятие 16: XML
XML. Java NIO. Разбор примеров и ДЗ.
Занятие 17: JDBC
Работа с реляционной базой. JDBC. ORM через паттерн Executor. JPA.
Занятие 18: myBatis
Inmemory базы. myBatis. Разбор примеров и ДЗ.
Занятие 19: Hibernate
Hibernate. Конфигурирование Hibernate в коде и в XML. Java persistency query language. DBSevice pattern.
Занятие 20: JPQL
Connection Pools. JPQL. Разбор примеров и ДЗ.
Занятие 21: Системы кэширования
Типы ссылок в Java. Системы кэширования. Ehcache.
Занятие 22: No SQL
No SQL. Работа с MongoDB. Разбор примеров и ДЗ.
Занятие 23: Web сервер
Встроенный веб сервер. Сервлеты: servlet API, жизненный цикл сервлета. Jetty: устройство, работа, подключение сервлетов.
Занятие 24: Asynchronous Web applications
AJAX. Long polling. Websockets. Разбор примеров из ДЗ.
Занятие 25: Dependency injection
Web archive. Jetty as an external web server. Spring IoC. Spring beans.
Занятие 26: Логгирование
java.util.logging, log4j, slf4j. Разбор примеров и ДЗ.
Занятие 27: Thread
Многопоточность. Класс и объект Thread. Создание многопоточного приложения. Проблемы многопоточного доступа.
Занятие 28: JMM
Happens before. Cooperation. Atomics.
Занятие 29: Message System
Потокобезопасные контейнеры.Система обмена сообщениями.
Занятие 30: Executors
Поддержка многопоточности в стандартной библиотеке. Workers. Executors. Fork/Join. Разбор примеров и ДЗ.
Занятие 31: Многопроцессные приложения
Сокеты. RMI. Разбор примера многопроцессного приложения.
Занятие 32: NIO
Registration. NIO для сокетов. Проектная работа.
Файлы примеров: не предусмотрены
Формат видео: MP4
Видео: AVC/H.264, 1280х800-3200x1440, ~91-2664 Kbps
Аудио: AAC, 2 ch, 115-192 Kbps