Программа обучения

Программа курса проведет тебя по пути от новичка до профессионала шаг за шагом. Она прокачивает актуальные и востребованные IT-рынком навыки. В наше время уметь сделать ценится выше, чем знать и помнить.

Оставить заявку

Java Basics

  • Знакомство с JDK
  • Hello World в блокноте
  • Настройка окружения, инсталляция IntelliJ IDEA
  • Знакомство со структурой курса
  • Типы данных
  • Объявление переменных
  • Операторы, логические операторы
  • Циклы
  • Массивы
  • Пакеты
  • Алгоритмы сортировки
  • Рекурсивные алгоритмы
  • Матрицы

Java OOP

  • Инкапсуляция, наследование, полиморфизм
  • Порядок инициализации полей
  • Статические методы и поля
  • Абстрактный класс, интерфейс
  • Nested classes
  • Heap, Stack, Perm
  • Garbage Collector
  • Типы ссылок
  • Иерархия классов, исключительных ситуаций и ошибок (Throwable, Exception, Error, RuntimeException)
  • Checked/unchecked exceptions
  • Stacktrace
  • Обработка исключительных ситуаций try/ catch/ finally
  • Exception handling pattern
  • Checked exceptions vs unchecked
  • Классы-обертки примитивных типов
  • Pattern Immutable
  • Модификатор final
  • Явное, неявное приведение типов, autoboxing
  • Generics
  • API, структура интерфейсов
  • List, Set, Map, Queue, Deque
  • Утилитные классы Arrays, Collections
  • HashMap, HashSet
  • hashCode, equals
  • TreeMap, TreeSet
  • ArrayList, LinkedList
  • Comparable, сортировка коллекций
  • Iterable, конструкция for each
  • java.util.concurrent
  • Concurrent Collections
  • Queues
  • Synchronizers
  • Executors
  • Locks
  • Atomics
  • Модификаторы synchronized, volatile. Понятие монитора
  • Thread, Runnable
  • Методы класса Object : wait, notify, notifyAll
  • Методы класса Thread : sleep, interrupt, join, yield
  • Запуск, остановка потоков
  • Проблемы, которые возникают в многопоточной среде
  • InputStream/ OutputStream
  • Reader/ Writer
  • DataInputStream/ DataOutputStream
  • Работа с файлами

Java EE/WEB

  • Установление соединения
  • Statement, PreparedStatement, CallableStatement
  • Открытие и закрытие Connection ResultSet

Хватит работы с консолью/тестами. Для полноценного приложения не хватает так называемой “морды”, а так как мы учимся разрабатывать Web-приложения, то и технологии будем использовать соответствующие. В этом модуле узнаем, что такое жизненный цикл веб-приложения на Java (servlet/jsp), научимся создавать HTML странички и оживлять их с помощью нового для вас языка программирования JavaScript.

Наше приложение растет на глазах. Теперь, понимая все этапы работы приложения, мы сможем перейти к технологическим монстрам, которые решают сразу несколько задач - позволяют писать меньше кода, а также сделают ваше приложение оптимальным и безопасным в enterprise мире. Все уже написано для нас - нам лишь стоит разобраться и повторно использовать. Hibernate заменит нам вызов sql запросов через jdbc драйвер. Spring IoC позволит нам уменьшить связность системы - сервисы теперь будут простыми бинами, а конфигурирование будет вынесено в xml. Maven позволит надолго забыть о проблеме подключения jar-ников. SpringMVC позволяет забыть о создании сервлетов и перейти к более высокому уровню абстракции. Также рассмотрим новый тип данных XML - без него теперь мы ни шагу не ступим, так как все конфигурации - на нем.

Наше приложение готовится выйти в production, и ты уже знаешь, что Java полезна тем, что “раз написал - запускай где хочешь”. Чаще всего production-сервер крутится на unix системах. И с ними нам предстоит научиться работать. Как подключиться к удаленному серверу? Как работать с консолью? Какие команды существуют? Как туда установить java? И еще много другого узнаем в этом модуле.

Но приложение, если оно хочет быть полноценным, должно предоставлять API для сторонних разработчиков. Что если к твоей базе данных захотят написать mobile-клиент? А что, если в каком-то другом твоем приложении понадобятся данные из этого? Нужно продумать и предоставить API. Есть несколько технологий, позволяющих это сделать, их и рассмотрим.

Самое последнее, что мы рассмотрим - оживлялки “web-морды”. В наше время web-2.0 приложения давно уже не перегружаются при каждом чихе, напротив - “морда” приложения грузится один раз полностью в браузер, а если ей понадобятся дополнительные данные - посылается так называемый AJAX-запрос на сервер за новой порцией. На этом модуле мы окончательно отполируем наше приложение и будем его готовить для своего портфолио.

Но не забываем зачем мы собрались. Мы собрались, чтобы устроить тебя на твою первую работу. Потому без подготовки к техническому интервью никак. Собрать твое резюме. Наловчиться выходить на продуктивную связь с рекрутерами, а также проходить технические интервью. Над этим стоит поработать и делать мы это будем практически с самого начала нашей HardCore части.

Актуальный материал

Учи только актуальные, действующие и востребованные подходы и технологии, используемые в “боевых” проектах. Мы не мало времени вкладываем в обновление наших обучающих материалов.

Middle-уровень

Учтены требования к должности middle-разработчика. Программа дает тот самый базис, который позволит как можно быстрее развиваться на позиции junior’a, чтобы перейти на ступеньку выше.

Высокий КПД. Больше практики

80% практики + 20% теории. Упор делается на практику, ведь кому нужны голые знания, если ты не можешь применить их на практике? Выполнение заданий потребует от тебя применять все полученные знания, плюс немного смекалки и любознательности. Придется выкладываться на все 100%.

Максимальный реализм

Со временем задания станут сложнее, и ты почувствуешь себя в шкуре настоящего разработчика, где придется самому принимать решения о реализации той или иной задачи.