Технотрак лекции

Продължаваме да публикуваме нашите нови образователни курсове. За 14 лекции на Technotrack ще придобиете необходимите умения и опит в областта на разработката на Java, ще научите синтаксиса и основните библиотеки на езика, ще започнете да разбирате обектно-ориентирания подход и ще можете да декомпозирате сложни задачи.

Курсът се преподава от Рустам Килдиев, Java/Scala разработчик на мобилен софтуер, и Дмитрий Архангелски, инженер по разработка в Odnoklassniki.

Лекция 1. "Въведение в платформата Java"

Въвеждащ урок, който описва накратко целия курс. Основната цел на курса е не само да преподава синтаксис, но и да даде практически умения и разбиране на основите. Курсът е изграден по такъв начин, че изпълнявайки малки задачи, напишете проект "Backend към месинджъра".

Лекция 2. "Основни конструкции на езика"

Вторият урок обяснява типове данни, операции върху примитиви, референтни типове, набор от низове и низови литерали, масиви и други езикови конструкции.

Лекция 3. "Обектно-ориентирано програмиране в Java"

Говорим за това какво е клас и обект. Разбираме основите на обектно-ориентирания подход. Наследство и състав. Нека да видим как използвам капсулирането за какво. Анализираме подробно ранното и късното свързване (полиморфизъм). В края на урока ще разгледаме основните принципи на дизайна на архитектурата на приложенията (SOLID).

Лекция 4. „Изключения. API за отражение"

Разказва за обработката на грешки в Java, изключения (обект, който съхранява информация за грешка). Дадени са основите на Reflection API, възможностите на пакета java.lang.reflect, разгледан е пример за получаване на информация за клас по време на изпълнение.

Лекция 5. "Колекции и параметризация"

Типове колекции, итератор,списъчни имплементации, стек, Map интерфейс, ковариация и контравариантност на типове, избор на структура от данни, подходяща за задачата.

Лекция 6

Лекция за многопоточността: защо е необходима, къде се използва и защо често е източник на грешки.

Лекция 7. „Вътрешни и анонимни занятия. Потоци и ламбда»

Лекцията е посветена на иновациите в Java 8, които улесняват разработката. Появиха се три ключови функции: ламбда функции, потоци (позволяващи ви да пишете във функционален стил) и optinal (специална обвивка върху обект, предназначена да премахне главоболието на всички javaists, наречена NullPointerException). Дадено е и обяснение на поведението на конкретни класове (анонимни, локални и вътрешни).

Лекция 8. "Работа с база данни"

Месинджърът (който трябва да разработим като резултат) сам по себе си е слой от бизнес логика. Целият смисъл на месинджъра е в съобщенията, съхраняването на историята, съхраняването на потребителски списъци, влизания и пароли. Лекцията обяснява как да получите достъп до различни бази данни от Java приложения.

Лекция 9

Говорим за сокети и мрежи. Разгледан е прост клиент-сървър, показана е работата с кода на клиентската и сървърната част на сокета.

Лекция 10

JUnit библиотека, връзка, примери за използване. Основи на модулното тестване.

Лекция 11

Продължение на шестата лекция. Блокировки на нишки, схема за условно изчакване, модел на паметта на Java (когато запис, направен от една нишка, ще бъде видим за друга нишка).

Лекция 12

NIO - нов входно-изходен API. Лекция за API за работа с мрежа, с потоци и файлове. Получаване на събития от канал, източници на събития заселектори, селектор и буфер, разлики между NIO и IO.

Лекция 13

Говорим за качеството на софтуера, набор от мерки за осигуряване на нивото на качеството на продукта, проверка на съответствието между действителното и очакваното поведение на програмата.

Лекция 14

Последната лекция, в която ще засегнем темата за CPU устройството, скоростта на работа с паметта, синхронизирането на данни между процесорите и процесорните кешове, обектите, описани от спецификацията на модела на паметта.