[skillbox] Java-разработчик [Даниил Пилипенко]

250

Вы научитесь писать код и создавать сайты на самом популярном языке программирования. Разработаете блог, добавите сильный проект в портфолио и станете Java-программистом, которому рады в любой студии разработки.

Тем, кто хочет стать программистом:
Вы познакомитесь с инструментами разработчика, научитесь писать код на Java с нуля и программировать веб-приложения для различных устройств. Создадите свои первые проекты и сможете начать карьеру Java-разработчика уровня Junior.

Junior-разработчикам на Java:
Вы изучите новые возможности Java, научитесь применять принципы ООП и поймёте, как протестировать и оптимизировать свой и чужой код. Поработаете с реальным заказчиком, дополните портфолио новыми работами и сможете брать более сложные и дорогие задачи.

Чему вы научитесь:

  1. Писать код на Java. Изучите синтаксис языка, познакомитесь с переменными и операторами, научитесь писать и структурировать свой код и разбираться в чужом.
  2. Работать с MySQL. Узнаете, как сохранять и изменять информацию в базе данных MySQL. Научитесь писать запросы и управлять большими объёмами данных.
  3. Применять принципы ООП. Изучите принципы объектно-ориентированного программирования и сможете создавать сложные проекты.
  4. Пользоваться Git. Научитесь работать с распределённой системой контроля версий вместе с командой, сможете вносить или откатывать изменения в рамках одного проекта.
  5. Создавать веб-приложения. Поймёте, как превратить строки кода на Java в работающую программу, и научитесь разрабатывать веб-приложения с помощью Spring Boot.
  6. Оптимизировать код. Научитесь отлавливать и прорабатывать исключения, изучите способы отладки и оптимизации кода. Сможете создавать программы с высокой производительностью.

Программа курса

Вводный модуль
Вы узнаете, где применяется язык Java и как выглядит программный код. Установите среду разработки и напишете первое консольное приложение.

Синтаксис языка
Познакомитесь с основными переменными в языке Java, научитесь использовать операторы сравнения и циклы.

Система контроля версий Git
Научитесь работать с Git: сможете сравнивать, менять и откатывать разные версии кода, научитесь создавать ветки и работать над одним проектом в команде.

Объекты и классы
Узнаете, что такое объекты и классы, научитесь создавать параметры, методы и константы, которые будут делать ваш код более эффективным.

Числа, строки, даты
Вы научитесь работать с объектами и примитивами, а также преобразовывать числа.

Массивы и коллекции
Научитесь работать с массивами и их элементами. Сможете искать элементы с помощью HashMap и TreeMap.

Наследование и полиморфизм
Узнаете, как наследовать классы в Java, и научитесь работать с интерфейсами Comparable, Comparator, Map и Set.

Особенности ООП в Java
Изучите объектно-ориентированное программирование в Java и новые методы разработки. Познакомитесь с системой сборки и репозиторием Maven.

Исключения, отладка, тестирование и логирование
Вы узнаете, как возникают исключения и как их «поймать». Научитесь тестировать и отлаживать приложения, писать логи с информацией о приложениях.

Работа с файлами и сетью
Поймёте, как читать файлы с помощью FileInputStream, BufferedReader и класса Files. Научитесь работать с файлами типа HTML и JSON.

Работа с MySQL в Java
Научитесь работать с базой данных MySQL, изменять данные и обращаться к ней с различными запросами.

Многопоточность
Узнаете, что такое многопоточность и как работать с ней в интерфейсе Runnable. Поймёте, как настроить взаимодействие потоков, научитесь блокировать, приостанавливать и прерывать потоки данных.

Разработка веб-приложений
Разработаете первое приложение на Spring Boot с созданием контроллера и подключением к базе данных.

Нереляционные базы данных и очереди
Познакомитесь с Redis и научитесь структурам данных. Изучите возможности и агрегацию данных в MongoDB.

Производительность и оптимизация
Узнаете, какие ресурсы нужно экономить для оптимизации приложения. Изучите два способа облегчения приложений и научитесь индексировать и оптимизировать запросы.

Распределённые хранилища и вычисления
Вы узнаете, что такое большие данные, и научитесь работать с файловой системой HDFS. Познакомитесь с фреймворком Spark и научитесь запускать в нём собственные приложения.

Заключительный модуль
Научитесь работать с desktop-приложениями: создавать и кастомизировать интерфейсы, обрабатывать события. Познакомитесь с языками программирования Scala и Kotlin и реактивным программированием на RxJava.

Бонус-модуль. Паттерны проектирования
Узнаете, что такое паттерны проектирования, и познакомитесь с Singleton, Factory, Decorator, Adapter и другими паттернами.

Бонус-модуль. Введение в алгоритмы
Вы узнаете, зачем нужны алгоритмы, и научитесь работать с алгоритмами бинарного поиска, сортировки, поиска подстроки и другими.

Бонус-модуль. Введение в структуры данных
Изучите хеш-таблицы, очередь и стек, связанные таблицы, бинарное и суффиксное дерево.

Бонус-модуль. Протокол HTTP
Познакомитесь с протоколом HTTP, изучите заголовки, тело запроса и ответа. Научитесь работать с PUT, DELETE, OPTIONS, GET- и POST-запросами.

Курс: Java-разработчик
Автор: Даниил Пилипенко — skillbox