Курс Java Junior Developer – обучение Java онлайн и в СПб | Level Up
Курс Java разработчик (Junior)

- Начало курса
-
26.09.2022
- Продолжительность
- 1,5 месяца (48 ак. часов)
- Расписание
-
Пн 19:00 - 22:00Чт 19:00 - 22:00
Онлайн (12 мест) |
25990 | записаться |
Описание курса
Курс Java Junior Developer — курс
интенсивного обучения программированию на Java, целью которого является
получение навыков практической разработки веб-приложений на платформе Java с
использованием актуального и востребованного на данный момент стека технологий.
Практика:
- Практической частью домашней работы будет последовательная разработка java веб-приложения: прототип сайта поиска работы.
- Курс будет построен на активном взаимодействии с обучаемыми в форме разбора домашнего задания: выбора оптимальной доменной модели; реализации, паттернов проектирования, дизайна разрабатываемого приложения
- Java 11
-
Веб-контейнер Tomcat (в составе Spring Boot)
- СУБД PostgreSQL
- Среда разработки IntelJ IDEA, Lombok
- Инструмент постороения Maven
- Система контроля версий Git
- Интеграционные и модульные тесты JUnit
- Систему логирования Log4j и SLF4J
- Инструмент тестирования веб-сервисов SoapUI, Postman
Свойства приложения:
- Объектно ориентированная доменная модель с возможностью легкого расширения функциональности.
- Долговременное хранение в двоичном виде в файле, в xml, в DB (PostgreSQL).
- Веб-интерфейс
Требования к участникам курса:
- Умение программировать на Java (см. наши курсы уровня 1-2 по java)
- Умение работать с СУБД(любая из популярных), знание SQL
- Желательно иметь представление о XML, HTML, JavaScript
Программа
1. Начинаем проект: maven, git
- Знакомство
- Обзор курса
-
- Обзор фреймворков, библиотек, инструментов платформы Java
- Сборка Maven, система контроля версий - git
- Основные этапы разработки, обсуждение. Проектирование, ядро системы, бизнес-логика, тесты, пайплайн CI/CD, деплой на сервер
- Задачи на HackerRank, Leetcode- решение алгоритмических задач
- Придумать внутреннюю структуру проекта – внутренние сервисы, DAO, DTO
- Создать описание (например: общий Google-документ), репозиторий, чат для своего проекта
2. Принцип SOLID
- Dependency Inversion, Single Responsibility, Open Closed principle
- IoC, конфигурирование через аннотации.
- Создание абстракций
- Практика на примерах неоптимального дизайна
3. Spring Boot, подробное знакомство
- Особенности Spring Boot
- Автоматическая конфигурация
- Spring Boot - контейнер сервлетов
- Контроллеры и их методы (пути в веб-приложении)
- Жизненный цикл бинов
- Обзор аналогов, преимущества и недостатки
- Создать проект Spring Boot, зарегистрировать на Bitbucket/GitHub
- Спроектировать набор REST сервисов
- Написать первый REST сервис для проекта
4. Сериализация и валидация данных
- Сериализация и десериализация данных в Java - POJO
- Форматы обмена данными – JSON, XML
- Валидация данных – XSD, JSON Schema
- Библиотеки сериализации - Jackson, Gson, JAXB
- DTO классы как классы хранения данных
- Создать контракт для REST сервиса с валидацией данных
- Написать XSD или JSON Schema
- Написать DTO классы для проекта
5. Работа с БД, JDBC, ORM
- ORM – основы, виды - Object Oriented и Database Oriented (Hibernate vs MyBatis)
- Обзор БД: PostgreSQL, HyperSQL
- Введение в Hibernate, HQL, Entities lifecycle
- Введение в MyBatis, понятие мапперов
- CRUD в Spring Data
- Connection Pool в Spring Boot
- Спроектировать модель данных проекта
- Написать слои абстракций DAO для Hibernate и/или MyBatis
- Написать тесты для DAO классов
6. Архитектура веб-приложения Spring, шаблоны проектирования
- Архитектура веб-приложения Spring Boot.
- DAO, Entities. Spring Persistence.
- Spring Service, как с ними работать.
- MVC, MVP, MVVM и их различия
- Шаблоны проектирования. Основы.
- Фабрика, абстрактная фабрика, прототип и синглтон
- Обзор поведенческих, структурных и порождающих шаблонов проектирования.
- Продолжение работы над проектом (MVP)
- Отобразить модель взаимодействия классов в lucidchart/draw.io
7. Generics, Collections, Time complexity
- Повторение generics, wildcards
- Сложность алгоритмов, оценка алгоритмов, большое О
- Основные интерфейсы коллекций
- Реализация и оценка сложности ArrayList, LinkedList, HashMap
- Обзор LinkedHashMap, TreeMap, HashSet, LinkedHashSet, TreeSet
- Продолжить разработку внутренних сервисов
- Оценить сложность (большое О) основных алгоритмов проекта
8. Основы непрерывной разработки
- DevOps – определение и предназначение
- Системы контроля версий, облачные сервисы - Github, Bitbucket, интеграция CI/CD
- Системы проверки качества кода, SonarQube
- Системы непрерывной интеграции. Jenkins, TeamCity, Travis
- Подключить проект к CI/CD
- Пройти проверку в SonarQube
9. Многопоточность, основы и шаблоны
- Многопоточность: основные проблемы
- Языковые средства для реализации многопоточности
- Стандартные практики для реализации потокобезопасности классов
- Synchronized collections и concurrent collections
- Встроенные классы JDK для работы с многопоточностью.
- Обзор шаблонов проектирования для многопоточных приложений
- Добавить в проект коллекции с многопоточностью
- Продолжение работы над проектом
10. Spring Security - аутентификация и авторизация. HTTPS, Jasypt
- Обзор Spring Security
- Безопасность REST контроллеров, Basic авторизация
- Jasypt как средство шифрования паролей
- HTTPS как базовый протокол работы сервисов
- Добавить в проект Basic авторизацию
- Добавить в проект работу с HTTPS
- Продолжение работы над проектом
11. Тестирование Spring. Работа над проектами
- Обзор методов тестирования Spring приложений
- Mock объекты, Mockito
- Asserts, как применять
- Пройти 70% порог тестирования в SonarQube (Sonar way)
- Продолжение работы над проектом
12. Подготовка к собеседованию
- Подведение итогов
- Обзор вакансий, советы по прохождению собеседования
- Куда двигаться дальше?
Преподаватель
Дмитрий
Андрей
Отзывы


Хороший курс, помогает ознакомится с основными фреймворками такими как Hibernate и Spring. Очень приятный преподаватель, доносил все ясно и понятно. Если идете на этот курс, то предполагается, что вы уже неплохо знаете сам синтаксис java.

Курс отличный. Знания получены реальные и применимые на практике.

В целом курсом доволен. Научился работать с postgresql, spring boot. Преподаватель доходчиво объясняет материал, помогая с написанием проекта.

Посетила три курса по джаве и пошла бы еще, если бы были. Очень рада, что есть возможность научиться сложным вещам в чайник-friendly формате с примерами из котиков. Тем, кто думает, записываться ли, рекомендую запастись временем (многое нужно изучать самостоятельно) и не сомневаться.

Интересный и увлекательный курс, глубоко проникающий в Java.

Прекрасный курс с прекрасным преподавателем. Доступно, информативно и со всех сторон хорошо.

Хороший курс с хорошим материалом под руководством хорошего тренера.

Курс интересный, но сложный. Даже после второго курса по основам Java было трудно. Для успешного прохождения требуется хорошая базовая подготовка и опыт разработки готовых приложений. Хотелось бы больше практических примеров на занятиях. Сергей - отличный специалист, разбирающийся в своём предмете. Обстановка комфортная, атмосфера дружелюбная.

Курс очень понравился. Хотелось бы побольше занятий, а также увеличить интервал между занятиями, чтобы успевать усваивать материал :)

Проходил первые 2 уровня тут, в Level UP-е. Своей целью ставил после прохождения третьего уровня (Junior) трудоустройство в IT-компанию. Мне очень повезло, и я попал после первого уровня в компанию, которая занимается разработкой софта. Много времени потребовалось, чтобы адаптироваться, привыкнуть к новой информации и принять новую сферу. Второй уровень прошёл уже с недостатком времени, т.к. период испытательного времени отнял силы. Данный курс показал мне некоторые направления для углублённого домашнего и самостоятельного обучения. Много новых технологий, необходимо очень много времени и концентрации. Благодарю компанию Level UP за то, что дали мне качественную подготовку для достижения моих целей.

Курс отличный. Курс насыщенный и организует порядок в голове. Позволяет человеку, не работавшему с Java, написать что-то маленькое и симпатичное. Симпатичное, т.к. Сергей неустанно указывает на ошибки, за что огромное спасибо. Разбор ошибок хорошо расширяет кругозор.

Мой третий курс в Level UP. Преподаватель компетентен, отвечает на все вопросы и даже больше. Группа была небольшая (5 человек), что повлияло легко осуществлять коммуникацию со всеми. Предоставили ключи для среды разработки (хотя мне и не понадобилось, у меня студенческая лицензия). Думаю, возможно убрать из курса Maven / Git, т.к. про это уже было на Java 2, или оставить на самостоятельное обучение. На занятиях все пользовались своими ноутбуками, на "местных машинах", насколько я знаю, софт до сих пор не установлен. Да, и всю установку и конфигурирование перенести в Homework. Простите за некоторую косноязычность и "скачущие" буквы - привык печатать :))

Курс хорош. Особенно он будет интересен людям, знакомым с теорией по учебникам и различным ресурсам, жаждущим узнать практическое применение своих навыков. Могу посоветовать курс тем, кто ещё не пробовал силы в написании приложения, соединяющего в себе несколько технологий. Преподаватель в течение курса показал свою компетентность, был дружелюбен и не оставлял без внимания заданные вопросы.

Для начала изучения Java курс за свои деньги вполне хороший. При приходе сюда мои знания ограничивались основными понятиями языка, по окончанию я могу создать несложное приложение web с использованием Spring MVC. Появилось понимание о тестировании, как оно делается и т.п. Основные принципы структурирования приложения, а также путь от чистого листа до результата в браузере. Как преподаватель Сергей вполне не плох. Всё, чего он касался и объяснял, уложилось и появилось понимание. Из недостатков, возможно, в некоторых местах слишком подробное разжевывание.

Это мой третий курс по языку Java в Level UP. Все курсы построены грамотно, начиная с основ и заканчивая довольно углублёнными деталями.
Данный курс предназначен для тех, кто уже изучает Java и продвинулись в этом деле достаточно далеко.
На курсе нюансы работы с фреймворками, а также разъясняется разработка Web-приложения.
В целом курсы мне очень понравились! Отличные преподаватели - мастера своего дела.

Спасибо большое команде Level UP за курс и материал. Каждое занятие я получал новые знания, за чем собственно и шёл.
Помимо лекций в аудитории, помогал видео-материал.
Преподаватели всегда отвечали на вопросы.
Спасибо большое!

Курс очень понравился. Материал преподносился доступно, хотя порой в больших объёмах. Хотя для такой проблемы есть запись занятия. Преподаватель компетентен в области Java, да и в принципе, во многих языках программирования. При желании вы получите ответ на практически любой интересующий вопрос.

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

Понравилось владение технологиями, позволяющее писать код и решать задания "с листа". Также понравилось местоположение, класс, оборудование и техническое обеспечение - 5 баллов!

Преподаватель - отличный специалист, помогает, отвечает на все вопросы. Курс достаточно насыщенный, затрагивает основные темы для Java-программиста. По сервису: замечательный персонал, превосходное обслуживание, приятная аудитория с необходимым оборудованием. Из того, что не понравилось: слишком много времени потратили, на мой взгляд, на такие ненужные вещи как инсталляция приложений, отловка багов и т.д. А так - всё отлично :)

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

Спасибо большое за курс, он был действительно полезен и раскрыл больше вещей, чем в остальных курсах такой-же ценовой категории.
Для примера, я выбирал между Вашим и курсом Урансофта. Итогом их курса - калькулятор на свинге, что не есть хорошо за 10к (примерно неделя неспешного гуглинья).
С вашим же курсом стало понятно, как должен быть написан код, как устроены классы, что такое веб приложение в простом виде, как оно вообще работает, как работают коллекции и т.д.
... Примерно по такой же программе у меня знакомый на работе учится, только там в 2 раза больше цена и количество часов.

Благодарю за предоставленную возможность упорядочить свои базовые знания, расширить кругозор и начать воплощать знания на практике!

Встала на новый виток профессионального развития. Работаю Тестировщиком ПО. Java нужна везде, в том числе и в тестировании.
Всем рекомендую именно этот курс! Очень благодарна преподавателю за терпение и внимание.

Основная цель данного курса - практика. И она была успешно выполена. В данном курсе раскрываются все те базовые вещи, которые необходимы при старте карьеры. Я очень рада.

Курс даёт хорошее представление о технологии и этапах разработки. Общие сведения, основные детали используемых технологий. Желательно иметь знания по синтаксису Java и алгоритмов. Считаю, что можно сделать продолжение этого курса - реализацию какого-нибудь конкретного проекта. Это позволит получить реальные навыки работы в команде.

Большое спасибо. Курс был очень познавательным и интересным. Считаю, что поставленная мной задача выполнена.

Был рад получше разобраться в некоторых аспектах разработки на Java, в частности в работе с Maven и Spring, однако не хватает более глубокой работы с Enterprise Edition.

Курс оставил исключительно положительные впечатления. Я получил большой объем информации, над которой я буду работать в будущем. Буду советовать знакомым курсы Level UP как серьёзную помощь в изучении языков программирования.

В целом очень полезно. Есть к чему обращаться по мере использования языка программирования Java. Особенно полезно: Restful Services, Hibernate.

Отличный курс: достаточный охват технологий для специалистов начинающего уровня, интерактивная подача материала (единственно, чуть больше внимания к вопросам в чате), большой объем примеров, удобное расписание и варианты участия.

Несмотря на краткость курса, он помог мне найти работу и теперь я работаю именно Java-разработчиком. Спасибо вам огромное!

Мне понравилась работа организаторов, отзывчивость преподавателя. Я получил ответы на все озвученные вопросы. Хороший охват курса, разобранные технологии и фреймворки. Из пожеланий: вынести установку и настройку ПО (IDEA, Maven, Git) на внеклассное время; хотелось бы больше обратной связи для самопроверки. Понравилась система с автотестирования, которая использовалась в д/х по потокам.
1. Наличными
Оплата наличными производится в нашем офисе в течение 2-х недель до начала курса.
2. Оплата на реквизиты (карта, банк)
После подтверждения участия в мероприятии, на электронную почту участника будет отправлена информация для оплаты.
Доступные способы оплаты:
- Банковские карты (Visa, MasterCard)
- Сбербанк-онлайн
- Оплата через интернет-банкинг
3. По счету от организации (для юридических лиц)
- Оплата услуг юридическими лицами возможна по счету.
- Все необходимые для бухгалтерии документы (договор, счет на оплату, акт выполненных работ ) подготавливаются в соответствии с законодательством РФ.
Отличный курс. Обсуждались и актуальные технологии, и базовые темы. Преподаватель давал ответы на все вопросы. Использовалась продуктивная манера подачи материала, при которой преподаватель задавал наводящие вопросы.