- PVSM.RU - https://www.pvsm.ru -
Продолжаем публикацию наших свежих образовательных курсов. За 14 лекций Технотрека вы получите необходимые навыки и опыт в области разработки на Java, узнаете синтаксис и основные библиотеки языка, начнете понимать объектно-ориентированный подход, сможете декомпозировать сложные задачи.
Курс ведут Рустам Кильдиев, Java/Scala-разработчик мобильного ПО, и Дмитрий Архангельский, инженер-разработчик в Одноклассниках.
Вводное занятие, на котором кратко дается описание всего курса. Основная задача курса — не просто научить синтаксису, а дать практические навыки и понимание основ. Курс выстроен так, чтобы, выполняя небольшие задачи, написать проект «Бэкенд к мессенджеру».
На втором занятии объясняются типы данных, операции над примитивами, ссылочные типы, пул строк и строковые литералы, массивы и другие конструкции языка.
Говорим о том, что такое класс и объект. Разбираемся в основах объектно-ориентированного подхода. Наследование и композиция. Рассматриваем, как я для чего используется инкапсуляция. Подробно разбираем раннее и позднее связывание (полиморфизм). В конце занятия рассмотрим основные принципы дизайна архитектуры приложения (SOLID).
Рассказывается про обработку ошибок в Java, исключения (сущность, которая хранит информацию об ошибке). Даются основы Reflection API, возможности пакета java.lang.reflect, рассматривается пример получения информации о классе в рантайме.
Типы коллекций, итератор, реализации списка, стек, интерфейс Map, ковариантность и контравариантность типов, выбор структуры данных, подходящей для задачи.
Лекция о многопоточности: зачем она нужна, где используется и почему она зачастую является источником ошибок.
Лекция посвящена нововведениям в Java 8, которые упрощают разработку. Появилось три ключевые особенности: lambda-функции, стримы (дают возможность писать в функциональном стиле) и optinal (специальная обертка над объектом, призванная устранить головную боль всех джавистов, под названием NullPointerException). Дается и объяснение поведения специфичных классов (анонимных, локальных и внутренних).
Мессенджер (который мы и должны разработать в итоге) сам по себе является прослойкой бизнес-логики. Весь смысл мессенджера в сообщениях, хранении истории, хранении юзер-листов, логинов и паролей. В лекции объясняется, как получить доступ к различным БД из Java-приложений.
Разговариваем про сокеты и сетевое взаимодействие. Рассматривается простой клиент-сервер, показана работа с кодом клиентской и серверной частей сокета.
Библиотека JUnit, подключение, примеры использования. Основы юнит-тестирования.
Продолжение шестой лекции. Блокировки потоков, схема условного ожидания, Java Memory Model (когда запись, сделанная одним потоком, будет видна другому потоку).
NIO — new input-output API. Лекция про API для работы с сетью, со стримами и файлами. Получение событий из канала, источники событий для селектора, селектор и буфер, отличия NIO от IO.
Говорим о качестве ПО, совокупности мероприятий для обеспечения уровня качества продукта, проверки соответствия между реальным и ожидаемым поведением программы.
Заключительная лекция, в которой коснемся темы устройства CPU, скорости работы с памятью, синхронизации данных между процессорами и кешами процессоров, объектов, описанных спецификацией Memory model.
Рекомендуемая литература и сайты:
Плейлист всех лекций находится по ссылке [4]. Напомним, что актуальные лекции и мастер-классы о программировании от наших IT-специалистов в проектах Технопарк, Техносфера и Технотрек по-прежнему публикуются на канале Технострим [5].
Автор: Mail.Ru Group
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/204956
Ссылки в тексте:
[1] skipy.ru: http://skipy.ru/
[2] ibm.com/developerworks/ru/java/: http://www.ibm.com/developerworks/ru/java/
[3] habrahabr.ru/hub/java/: https://habrahabr.ru/hub/java/
[4] ссылке: https://www.youtube.com/playlist?list=PLrCZzMib1e9qUdn_LEm96Oee3RVb9Qmr_
[5] Технострим: https://www.youtube.com/user/tpmgtu/videos
[6] Источник: https://habrahabr.ru/post/313880/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.