Прямо сейчас этой специальностью интересуются  
Обучение IT-профессии от портала    и 
Прямо сейчас этой специальностью интересуются  
Начать обучение
Программист Java
Обучение IT-профессии от  
 и 

Программист Java

  • Обучение востребованной профессии с нуля за 7 месяцев
  • Заработок от 70 000 руб./мес. в компании или на фрилансе
Начать обучение
-40%до 30 сентября
Medium
Description block

На рынке не хватает Java-разработчиков

Java-разработчики входят в топ-3 по востребованности среди IT-профессий, по данным HeadHunter. Чтобы освоить популярную специальность, вам будет достаточно школьных знаний. Вы изучите основы HTML/CSS и язык Java и научитесь создавать веб-приложения с помощью Spring Framework.

Истории успеха

На последнем курсе вуза сменила профессию и не жалею
История Софьи Федоренко
В 30 лет не поздно менять профессию
История Владимира Шилина
Отучился и попал в топовую компанию
История Артема Шашкова

Как проходит обучение

Coding

Живое общение с экспертами-практиками

В курсе более 80% вебинаров с преподавателями: вы зададите вопросы по теме и быстро получите обратную связь. Записи занятий останутся в личном кабинете навсегда: вы сможете возвращаться к ним после обучения.

Homework uploading

Много практики

После каждого урока вы потренируетесь на практических заданиях. Преподаватель оценит работу, даст обратную связь и подскажет, как сделать лучше.

Mentor chat

Поддержка наставника

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

Программа

Вы начнете с основ и получите знания, необходимые для старта карьеры. Вас ждут актуальная программа, 2–3 вебинара в неделю и 2 месяца стажировки.
87
часов обучающего контента
183
часа практики

Подробная программа профессии "Программист Java"

Основы программирования. Интерактивный курс. 2 недели.
Первые шаги в программировании

Программистами не рождаются, ими становятся. А это значит, что необходимо как минимум пробовать. Для этого мы и создали интерактивный курс «Основы программирования». Вы узнаете всё самое полезное и актуальное о современных языках программирования и получите первый опыт написания кода. Мы думали, как создать такой онлайн-курс, чтобы он стал ярким и запоминающимся событием в жизни каждого начинающего программиста. Ведь во многом от первого знакомства с кодом зависит дальнейший интерес к этому направлению. Мы расскажем и покажем, как что работает, какие профессии востребованы и какие существуют перспективы развития в каждом направлении IT-сферы. В течение курса мы создадим веб-сайт с браузерными играми и опубликуем проект на github.com. Этот сайт станет первым кейсом в вашем будущем портфолио, что очень важно, ведь портфолио - первое, на что обращают внимание при трудоустройстве. Пройдя этот курс, вы сделаете первый шаг к серьезному обучению и сможете чётко определиться с направлением интересов!

Урок 1. Понятие алгоритма, переменные, типы данных.

Вступление: что будем делать на курсе?
Стану ли я успешным программистом?
Понятие алгоритма. Установка рабочей среды. Hello world.
Знакомство с переменными.
Архитектура компьютера
Типы данных: строки и числа. Операции с числами и строками.

Урок 2. Ветвления. Циклы.

Ветвления: if/else
Циклы: while, for
Логические операции. Цикл do while.
Разработка игры «Угадайка»

Урок 3. Массивы и функции

Знакомство с массивом. Программа по развитию памяти.
Изменение длины массива. Многомерные массивы. Программа по изучению английского языка.
Знакомство с функциями. Функции без возвращаемого параметра.
Функции с возвращаемыми параметрами.
Рекурсивные функции. Разработка программы по обучению слепой печати.

Урок 4. Верстка сайта: знакомство с HTML и CSS

Знакомство с HTML
Знакомство с CSS
Размещаем игру в загадки на сайте
Размещаем игру «Угадайка» на сайте
Публикация сайта на хостинг

Урок 5. Обзор современных языков программирования

Как выбрать язык программирования и направление?
Выбор языка программирования: веб-разработка
Мобильная разработка. Универсальные языки программирования
Как выучиться на программиста?

Java. Уровень 1. 1 месяц.
Java SE 8 и выше

Курс для начинающих разработчиков, тех, кто хочет быстро освоить основы объектно-ориентированного программирования (ООП) и научиться создавать собственные проекты. Главной особенностью курса является сочетание изучения теоретических основ языка Java и практических онлайн-тренировок под руководством преподавателя.

Урок 1. Java. Введение

Особенности платформы Java, инструменты разработчика, написание первой программы “Hello, World!”. Переменные, константы, примитивные типы данных и принципы работы с ними. Методы. Условные операторы.

Урок 2. Основные конструкции

Циклы, оператор switch, кодовые блоки, области видимости переменных, массивы.

Урок 3. Практика

Разбор практических примеров использования базовых элементов языка Java, работа с консолью.

Урок 4. Крестики-нолики в процедурном стиле

Применяем полученные знания для написания консольной программы “Крестики-нолики”.

Урок 5. Введение в ООП

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

Урок 6. Продвинутое ООП

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

Урок 7. Практика ООП и работа со строками

Разбор практических примеров применения ООП при разработке приложений. Работа с классами String, StringBuilder, StringBuffer.

Урок 8. Написание приложения с графическим интерфейсом

Основы работы с библиотекой Swing. Основное окно приложения, элементы управления и их компоновка. Написание приложения с графическим интерфейсом, сборка проекта.

Git. Базовый курс
Основы работы с Git

В течение 13 роликов мы познакомимся с основами системы контроля версий Git. Выясним, почему она важна в современной разработке и коллективном программировании. Познакомимся с основными понятиями Git: репозиториями, коммитами, ветками и тэгами. Изучим базовые операции: создание и клонирование репозитория, слияние веток, запрос истории изменений и многое другое. Посмотрим, как при помощи Git сдавать домашние задания. Это базовый курс, после него можно приступать к изучению любого языка программирования. Кроме того, вы будете готовы к прохождению собеседования, где несколько вопросов обычно посвящены системе контроля версий.

Урок 1. Введение в Git

Урок 2. Установка и настройка Git

Урок 3. Основные команды терминала

Урок 4. Работа с репозиториями в Git

Урок 5. Управление файлами репозитория

Урок 6. История изменений

Урок 7. Работа с ветками репозитория

Урок 8. Публикация репозитория

Урок 9. Слияния веток

Урок 10. Управление версиями

Урок 11. Создание pull-request

Урок 12. Сложные операции

Урок 13. Работа с Fork-репозиториями

Основы баз данных. 20 уроков.
Проектирование БД и запросы SQL

Базы данных (БД) - это системы хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language). Любой современный сайт, игра или настольное приложение нуждаются в хранении данных. На данный момент существует множество различных систем управления базами данных (СУБД), самой популярной является MySQL. “Основы баз данных” - это 20 интенсивных видео-уроков (по 10 минут), где мы вместе пройдём все этапы проектирования БД на примере интернет-магазина с использованием языка запросов SQL. После этого курса вы сможете использовать различные базы данных, такие как MS SQL и Postgre Sql, так как синтаксис языка SQL для них практически не отличается.

Урок 1. Реляционные базы данных

Чем отличается БД от СУБД; какие базы данных называются реляционными; обзор современных СУБД.

Урок 2. Установка СУБД

Установка СУБД MySql и графического приложения Mysql Workbench.

Урок 3. Проектирование базы данных, нормальные формы

Проектирование данных в Excel; нормальные формы; первичный ключ.

Урок 4. SQL-команда CREATE

Создание таблиц в графическом интерфейсе MySql Workbench; команда CREATE; типы данных; работа в консоли.

Урок 5. SQL-команда INSERT

Заполнение таблиц данными с помощью графического интерфейса; команда INSERT; AUTO INCREMENT.

Урок 6. SQL-команды SELECT и WHERE

Получение и фильтрация данных с помощью SQL-команд SELECT и WHERE; проверка на NULL; фильтрация данных по нескольким условиям.

Урок 7. SQL-команды DISTINCT, ORDER BY, LIMIT

Получение и фильтрация данных с помощью SQL-команд DISTINCT и LIMIT; сортировка с помощью команды ORDER BY.

Урок 8. SQL-команды DELETE и UPDATE

Обновление и удаление данных с помощью SQL-команд DELETE и UPDATE; фильтрация данных с помощью WHERE IN.

Урок 9. Согласованность данных

Понятие согласованности или консистентности данных.

Урок 10. Внешний ключ

Понятие внешнего ключа и ограничений на значения столбцов; FOREIGN KEY CONSTRAINTS.

Урок 11. Создание таблиц с отношением “многие ко многим”

Добавление корзины в базу данных интернет-магазина.

Урок 12. Составной первичный ключ

Использование составного первичного ключа при проектировании таблицы с отношением “многие ко многим”.

Урок 13. Объединение данных из нескольких таблиц

Получение данных из нескольких взаимосвязанных таблиц; несостоятельность подхода с использованием нескольких SELECT-ов.

Урок 14. Оператор INNER JOIN

Объединение данных из нескольких таблиц с помощью оператора INNER JOIN.

Урок 15. Операторы LEFT JOIN, RIGHT JOIN

Объединение данных из нескольких таблиц с помощью операторов LEFT JOIN и RIGHT JOIN.

Урок 16. Оператор UNION

Объединение результатов нескольких SQL-запросов с помощью оператора UNION.

Урок 17. Агрегирующие функции

Агрегирующие функции COUNT, SUM, MIN, MAX.

Урок 18. Оператор GROUP BY

Группировка выбранного набора строк с использованием оператора GROUP BY.

Урок 19. Индексы

Фильтрация в GROUP BY с использованием HAVING; увеличение скорости выполнения запросов с использованием индексов.

Урок 20. Транзакции

Понятие транзакции; оператор TRANSACTION; требования ACID к транзакционной системе.

Java. Уровень 2. 1 месяц.
Продвинутый курс

Курс для тех, кто хочет укрепить свои знания в Java. На курсе ученики осваивают теорию и параллельно под руководством преподавателя с нуля разрабатывают полноценный проект на Java, получая таким образом практический опыт применения сложных объектно-ориентированных концепций, характерных для языка. Перед прохождением курса рекомендуется освоить курс для новичков: "Java. Уровень 1".

Урок 1. Объектно-ориентированное программирование Java

Углубленное изучение вопросов ООП в Java: основные принципы ООП, абстрактные классы, интерфейсы.

Урок 2. Исключения

Концепция обработки исключений, её сравнение с традиционным механизмом обработки ошибок, блок try-catch-finally, типы исключений, стандартные исключения в Java и их роль, выброс исключения из метода

Урок 3. Коллекции

Виды контейнеров в Java: List, Map, Set. Основные реализации и приемы использования, проход по элементам коллекции, сравнение и сортировка элементов коллекции

Урок 4. Продвинутые вопросы создания графического интерфейса

Создание собственных элементов управления. Работа с графикой. Обработка событий

Урок 5. Многопоточность

Потоки в Java, способы создания и управления состояниями потоков, основные проблемы при работе с потоками и синхронизация.

Урок 6. Работа с сетью

Сокеты. Написание простого эхо-сервера и консольного клиента.

Урок 7. Написание сетевого чата. Часть I

Написание клиентской и серверной части чата. Многопоточная обработка клиентских подключений.

Урок 8. Написание сетевого чата. Часть II

Разработка интерфейса для клиентской части. Авторизация. Механизмы взаимодействия клиента и сервера.

Java. Уровень 3. 1 месяц.
Профессиональная разработка программного обеспечения

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

Урок 1. Обобщения

Что такое обобщения, обобщенные классы, методы и интерфейсы, наследование обобщенных классов, ограничения при работе с обобщениями

Урок 2. Базы данных

Реляционные базы данных, язык запросов SQL. Операторы SELECT, INSERT, UPDATE, DELETE. Подключение к базе через JDBC, отправка запросов и обработка результатов

Урок 3. Средства ввода-вывода

Обзор средств ввода-вывода. Байтовые, символьные, буферизированные потоки. Сетевое взаимодействие, сериализация/десериализация объектов

Урок 4. Многопоточность. Часть I

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

Урок 5. Многопоточность. Часть II

Классы для работы с многопоточностью, Concurrent collections, разбор практических примеров

Урок 6. Обзор средств разработки

Логирование. Тестирование с использованием JUnit, написание тестов, класс Assert

Урок 7. Reflection API и аннотации

Понятие рефлексия, тип данных Class, метаданные классов, доступ к полям и методам, аннотации и их использование, написание собственных аннотаций.

Урок 8. Подготовка к собеседованию

Подготовка к собеседованию и разбор вопросов по всему курсу Java

Алгоритмы Java. Интерактивный курс. 1 месяц.
Алгоритмы Java. Интерактивный курс

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

Урок 1. Алгоритмы и структуры данных

Что такое алгоритмы и структуры данных;
Пример использования алгоритмов и структур данных при разработке ПО;
Для чего нужны алгоритмы и структуры данных;
Алгоритмы и структуры данных в Java;
Принципы хранения данных в Java;
Ссылочные типы данных;
Примитивные типы данных;
Абстрактные типы данных;
Что такое сложность алгоритма;
В чем выражается сложность алгоритма;
О-большое;
Принципы определения эффективности структуры данных.

Урок 2. Массивы и сортировка

Что такое массивы и их применение;
Одномерные и двумерные массивы;
Класс arrays;
Пример массива и класса arrays;
Что такое сортировка;
Для чего необходима сортировка;
Сортировка встроенным методом sort();
Быстрая сортировка;
Эффективность быстрой сортировки;
Для чего необходима реализация поиска;
Как реализовывается линейный поиск;
Как реализовывается двоичный поиск;
Сложность алгоритмов;
Для чего необходима сортировка методом вставки;
Реализация сортировки методом вставки;
Эффективность сортировки методом вставки;
Для чего необходима сортировка методом выбора;
Реализация сортировки методом выбора;
Эффективность сортировки методом выбора;
Для чего необходима сортировка пузырьком;
Реализация сортировки пузырьком;
Эффективность сортировки пузырьком.

Урок 3. Коллекции, списки, связанные списки и итераторы

Что такое коллекции;
Что реализуют коллекции;
Что такое списки;
Преимущества и недостатки списков;
Методы преобразования массива в список или коллекцию;
Что такое двусторонние списки;
Для чего нужны двусторонние списки;
Эффективность связанных списков;
Что такое итератор;
Для чего нужен итератор;
Методы итератора;
Пример итератора;
Как добавить объект или элемент в список;
Как удалить объект или элемент из списка;
Как получить объект или элемент из списка;
Что такое метод insert и его реализация;
Что такое метод delete и его реализация;
Пример LinkedList;
Что такое связанные списки;
Для чего нужны связанные списки;
Реализация просто связанного списка.

Урок 4. Стеки и очереди

Добавление элемента в очередь;
Удаление элемента из очереди;
Получение элемента из очереди;
Создание стека;
Добавление элемента в стек;
Удаление элемента из стека;
Получение элемента из стека;
Проверка стека пуст ли он;
Программный пример использования стека;
Что такое очередь;
Для чего нужна очередь;
Преимущества и недостатки очереди;
Эффективность очереди;
Что такое стек;
Для чего нужен стек;
Преимущества и недостатки стека;
Эффективность стека;
Какие вспомогательные методы для очереди существуют;
Для чего нужны вспомогательные метода очереди;
Что такое циклический перенос;
Для чего нужен циклический перенос;
Что такое дек;
Для чего нужен дек;
Методы дек;
Что такое приоритетная очередь;
Для чего нужны приоритетные очереди;
Эффективность приоритетной очереди;
Пример приоритетной очереди;
Что такое стек и очередь на базе связанного списка;
Для чего нужно реализовывать стек и очередь на базе связанного списка;
Как реализовать стек и очередь на базе связанного списка.

Урок 5. Рекурсия

Что такое бесконечная рекурсия;
Как реализовать бесконечную рекурсию;
Для чего нужна бесконечная рекурсия;
Что такое правильная рекурсия в программировании;
Как реализовать правильную рекурсию;
Что такое рекурсия;
Использование рекурсии;
Пример рекурсии в математической практике;
Что такое цикл в программировании;
Какие отличия цикла от рекурсии в программировании;
Что такое рекурсивный двоичный поиск;
Для чего нужен рекурсивный двоичный поиск;
Как реализовать рекурсивный двоичный поиск;
Для чего необходима сортировка методом выбора;
Реализация сортировки методом выбора;
Эффективность сортировки методом выбора;
Что такое стек вызовов;
Как работает стек вызовов;
Что такое стек вызовов с рекурсией;
Нюансы и переполнение стека вызовов.

Урок 6. Деревья

Что такое бинарная пирамида;
Для чего нужна бинарная пирамида;
Использование бинарной пирамиды;
Эффективность бинарной пирамиды;
Что такое деревья;
Для чего нужны деревья;
Деревья вне программирования;
Деревья в программирования;
Эффективность двоичного дерева;
Что такое красные-черные деревья;
Для чего нужны красные-черные деревья;
Что такое обход дерева;
Как реализовать обход дерева;
Как реализовать поиск максимума и минимума;
Для чего необходима пирамидальная сортировка;
Реализация пирамидальной сортировки;
Эффективность пирамидальной сортировки;
Поиск узла дерева;
Вставка узла дерева;
Как создавать узлы;
Как создавать дерево;
Реализация удаления узлов дерева.

Урок 7. Графы

Что такое графы;
Для чего нужны графы;
Где применяются графы;
Графы в Java;
Что такое вершины;
Что такое ребра;
Что такое матрицы смежности;
Для чего нужны матрицы смежности;
Что такое списки смежности;
Для чего нужны списки смежности;
Понятие обхода;
Что такое метод обхода в глубину;
Для чего нужен метод обхода в глубину;
Как реализуется метод обхода в глубину;
Что такое метод обхода в ширину;
Для чего нужен метод обхода в ширину;
Как реализовать метод обхода в ширину.

Урок 8. Хеш-таблицы

Что такое хеширование и хеш-таблицы;
Для чего нужно хеширование;
Что такое двойное хеширование;
Как реализовать двойное хеширование;
Что такое ключи и для чего они нужны;
Что такое коллизии и какое их значение;
Как бороться с коллизиями;
Что такое открытая адресация;
Для чего нужна открытая адресация;
Что такое линейное пробирование;
Для чего нужно линейное пробирование;
Как реализовать линейное пробирование;
Для чего необходимо увеличение хеш-таблицы;
Как реализовать увеличение хеш-таблицы;
Что такое квадратичное пробирование;
Как реализовать хеш-функцию;
Что такое суммирование;
Что такое возведение в степень.

HTML/CSS. Интерактивный курс. 1 месяц.
HTML/CSS. Интерактивный курс

HTML/CSS - язык гипертекстовой разметки, основа для изучения серверных ЯП. Изучив HTML, вы сможете создать адаптивную веб-страничку или веб-сайт. CSS - каскадные таблицы стилей - позволит оформить сверстанный сайт так, как вам хочется. Вы сможете смотреть видеокурс в удобное время и по всем вопросам обращаться к наставнику, который будет контролировать ваш прогресс. Формат располагает к общению и самодисциплине в обучении. За месяц вы научитесь: * верстке адаптивных сайтов, * валидной кроссбраузерной вёрстке, * flexbox вёрстке, * выполнению базовых операций в Figma, * использованию препроцессоров SASS и Bootstrap. Для перехода к следующему занятию курса необходимо, чтобы ваше домашнее задание прошло проверку. Это покажет, что вы поняли предыдущий урок и легко освоите новые знания. Задание может проверить как ментор, так и одногруппники, знаниям которых вы доверяете, и получить за это ачивку. С каждой проверкой количество ачивок растет, а навык работы с чужим кодом увеличивается. От количества ачивок зависит уровень итогового сертификата: чем их больше, тем выше статус. Эта в чем-то игровая механика делает занятия еще интереснее.

Урок 1. Основные понятия в веб-разработке

Знакомство, вводная информация
настройка visual studio code,горячие клавиши, установка расширений.
Создание html документа
Структура html документа.
Виды и атрибуты тегов
Отладчик браузера

Урок 2. Основы языка разметки документов HTML

Списки в html
Спецсимволы и комментарии
Гиперссылки(локальные, абсолютные, якоря)
Типы изображений для web;
Формы и их элементы.
Просмотр, редактирование, поиск ошибок через отладчик браузера

Урок 3. Основы языка оформления стилей документа CSS

Введение в стили
Способы подключения стилей
Селекторы
Базовые свойства стилей(px, %, background, color, border) часть 1
Базовые свойства стилей (width, height, font, list-style, текст)
Вложенность наследование и группирование свойств

Урок 4. Основные тэги для вёрстки, Псевдоклассы и псевдоэлементы

Основные теги div, span, создание блочной структуры
Отступы у элементов
Обтекаемые элементы
Псевдоклассы
Псевдоэлементы
Таблицы

Урок 5. Основы позиционирования, работа с Flexbox

Свойство display
Что такое flexbox (горизонтальное и вертикальное расположение)
Порядок отображения, многострочность, смещение отдельного блока
Задание гибких размеров для блоков
Position: relative и absolute

Урок 6. Работа с макетом дизайна в формате Figma

Что такое макет и какие виды макетов бывают
Знакомство с программой Figma, нарезка макета
Определение размеров блоков, создание блочной структуры
Добавление стилей из макета
Создание сайта по макету. Часть 1
Создание сайта по макету. Часть 2

Урок 7. Основы создания адаптивного сайта

Гибкие размеры блоков, адаптивного сайта
Эмуляция мобильных устройств
Медиа-запросы
Прижатие подвала к нижней части экрана
Практика создания адаптивного сайта
Практика создания адаптивного сайта часть 2

Урок 8. Стандарты web и вспомогательные инструменты

Инструменты разработчика. Часть 1
Загрузка проектов на сервер
Кроссбраузерность
Знакомство с Boostrap
Знакомство с препроцессором Sass
Практическое использование препроцессора Sass

Основы веб-разработки на Spring Framework. 1 месяц.
Создание веб-приложений на Java

Курс знакомит с фреймворком Spring, с особенностями его взаимодействия с другими программными платформами. Студенты освоят подключение и конфигурирование Spring, специфику доступа к данным. Пошагово разберут этапы разработки и способы улучшения проектов: шаблонизацию, интернационализацию, валидацию. Изучат технологию защиты приложения с использованием Spring Security. Применят полученные знания при разработке интернет-магазина.

Урок 1. Введение в Spring

Что такое Spring? Понятие внедрения зависимостей и инверсии управления. Как Spring облегчает разработку? Что такое bean в Spring? Понятие контекста Spring. Подключение Spring. Конфигурирование Spring (XML, аннотации). Использование JavaConfig для конфигурирования. DI в Spring (внедрение зависимостей).

Урок 2. Spring MVC

MVC. Spring MVC. Контроллеры. Работа с формами. Представления. JSP. Конфигурирование Spring MVC. Контекст Spring MVC.

Урок 3. Доступ к данным в Spring. Часть 1

Использование Hibernate в Spring-приложениях. Понятие сущности. Объектно-реляционное отображение. Отображение связей «один ко многим», «один к одному», «многие ко многим».

Урок 4. Доступ к данным в Spring. Часть 2

Контекст постоянства. Менеджер сущностей. JPQL. Доступ к атрибутам. Каскадные операции. Управление транзакциями. Spring Data JPA. Сервис-уровень.

Урок 5. Thymeleaf

Шаблонизатор Thymeleaf. Интеграция с фреймворком Spring. Выражения. Операторы.

Урок 6. Spring Boot

Spring Boot. Архитектура. Модель. Обзор решений.

Урок 7. Spring REST

Spring REST. HTTP 1.1. CRUD-операции.

Урок 8. Защита приложения

Spring Security. Авторизация. Защита на уровне запросов, представлений, методов.

Стажировка в GeekBrains. 2 месяца.
В формате вебинаров

Во время стажировки студентам предстоит поработать в режиме удаленной занятости над Open Source-проектом либо стартапом. Студентам будет предложено выбрать один из набора доступных для разработки проектов. Студенты научатся работать в команде, коммуницировать с другими разработчиками, product- и project-менеджерами, дизайнерами, изучат гибкие методологии, фреймворк SCRUM, освоят принципы дистанционной работы. Результат стажировки — умение работать в команде, пополнение портфолио, возможность указать работу над проектом в качестве профильного опыта работы в резюме. Стажировка проходит в формате дистанционной работы с частичной занятостью, еженедельными встречами-статусами с преподавателем в формате вебинара.

Урок 1. Знакомство, выбор проекта

Какие роли бывают в разработке. Product Manager, Project Manager, разработчик, дизайнер. Что такое MVP. Архитектура современного сервиса. Как разработчики взаимодействуют между собой. REST API, Web Socket. Backend, Frontend, мобильные приложения. Микросервисная архитектура. Основы удаленной работы. Запись в команды.

Урок 2. Методологии разработки

Обзор методологий. Каскад (водопад), Agile-манифест, Канбан, Скрам. Где и для чего применяются. Смешанные методологии.

Урок 3. Методология SCRUM

Работа по SCRUM. Планирование спринта. Причесывание бэклога (backlog grooming). Цель спринта. Инкремент. Гибкая методология в условиях дистанционной работы. Таск-трекеры (Trello, Favro)/

Урок 4. User Story Mapping

Типы задач. Декомпозиция задач. Построение карты пользовательских историй. Работа над пользовательскими историями. Работа с ТЗ по водопаду и в гибких методологиях.

Урок 5. Ответственность, мотивация, личностный рост

Чем и как мотивировать себя. Какие уровни мотивации бывают. Как не сгореть на работе. И как не забить на работу.

Урок 6. Написание резюме

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

Урок 7. Предварительное подведение итогов, подготовка к защите проекта

Разбор студенческих резюме. Предварительное подведение итогов. Немного о стартапах, монетизации, инвесторах.

Урок 8. Подведение итогов, демонстрация выпускного проекта

Демонстрация рабочего прототипа студентами. Обсуждение полученных результатов. Обратная связь от преподавателя. Напутствие.

Вас будут обучать эксперты-практики

Среди преподавателей — эксперты из топовых компаний, успешные стартаперы и фрилансеры с большим опытом. Выпускники оценивают их работу и оставляют отзывы: они публикуются без модерации. Знакомьтесь с вашими будущими педагогами.

Получите практический опыт с нашей помощью

Пройдите стажировку в GeekBrains

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

Gb mail ru

Выберите вакансию от компании-партнёра

Наши партнёры с удовольствием приглашают учеников на стажировки и размещают вакансии в разделе «Карьера». Вы можете начать работать по новой специальности уже во время обучения.

Companies

Присоединитесь к стартапу

Выпускники GeekBrains постоянно создают и запускают проекты. Найдите среди них единомышленников: откликайтесь на позиции в разделе «Карьера».

Projects

Помимо знаний и навыков вы получите:

Удостоверение о повышении квалификации

Мы работаем на основании государственной лицензии № 040485 и выдаём успешным выпускникам удостоверение, которое подтвердит ваши знания.

Методические материалы

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

Доступ к комьюнити

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

Ваше резюме после обучения

Удостоверение и сертификат

Мы проводим обучение на основании государственной лицензии № 040485. По результатам успешного завершения обучения выдаем выпускникам удостоверение о повышении квалификации. После прохождения каждого курса студенты получают электронный сертификат об окончании курса.

Certificate
Удостоверение
Общество с ограниченной ответственностью "ГикБреинс"
Удостоверение
о повышении квалификации
000001
Регистрационный номер
№1234
Город
Москва
Дата выдачи
22.05.2020
Настоящее удостоверение свидетельствует о том, что
Ричард Хендрикс
прошел(а) повышение квалификации
на образовательном портале GeekBrains
по дополнительной профессиональной программе
Java-разработчик
в объёме 323 академических часа
М.П.
Генеральный директор
Никитин А.В.

Резюме

Userpic

Ричард Хендрикс

Программист Java

Желаемая зарплата 110 000 ₽/мес

Опыт работы менее 1 года

Владение технологиями

JavaJava
JunitJUnit
JdbcJDBC
SqlSQL
SwingSwing
Intellij ideaIntellij Idea

Ключевые навыки

  • Знание Java Core
  • Уверенные навыки в ООП
  • Использование коллекций, делегатов, исключений
  • Отладка Java-программ
  • Создание графического пользовательского интерфейса
  • Разработка клиент-серверных программ
  • Работа с базой данных, передача данных по сети, применение Java-reflection
  • Разработка программного обеспечения: постановка задач, архитектура приложений, тестирование
  • Подключение сторонних библиотек, использование логирования и отладчика
  • Знание синтаксиса языка SQL
  • Разработка графических приложений на Swing
  • Создание юнит-тестов с использованием JUnit
  • Написание многопоточных приложений
Userpic

Ричард Хендрикс

Программист Java

Желаемая зарплата 110 000 ₽/мес

Опыт работы менее 1 года

Владение технологиями

JavaJava
JunitJUnit
JdbcJDBC
SqlSQL
SwingSwing
Intellij ideaIntellij Idea

Ключевые навыки

  • Знание Java Core
  • Уверенные навыки в ООП
  • Использование коллекций, делегатов, исключений
  • Отладка Java-программ
  • Создание графического пользовательского интерфейса
  • Разработка клиент-серверных программ
  • Работа с базой данных, передача данных по сети, применение Java-reflection
  • Разработка программного обеспечения: постановка задач, архитектура приложений, тестирование
  • Подключение сторонних библиотек, использование логирования и отладчика
  • Знание синтаксиса языка SQL
  • Разработка графических приложений на Swing
  • Создание юнит-тестов с использованием JUnit
  • Написание многопоточных приложений

Мы проводим обучение на основании государственной лицензии № 040485. По результатам успешного завершения обучения выдаем выпускникам удостоверение о повышении квалификации.

Удостоверение
Общество с ограниченной ответственностью "ГикБреинс"
Удостоверение
о повышении квалификации
000001
Регистрационный номер
№1234
Город
Москва
Дата выдачи
22.05.2020
Настоящее удостоверение свидетельствует о том, что
Ричард Хендрикс
прошел(а) повышение квалификации
на образовательном портале GeekBrains
по дополнительной профессиональной программе
Java-разработчик
в объёме 323 академических часа
М.П.
Генеральный директор
Никитин А.В.

После прохождения каждого курса студенты получают электронный сертификат об окончании курса.

Ричард Хендрикс
Прошел обучение по курсу «Java. Уровень 1»
Certificate
Английский для IT-специалистов
Видео-курс
Английский для IT-специалистов
Продолжительность
10 уроков
Курс, разработанный совместно с школой EnglishDom, поможет освоить ключевые англоязычные темы, актуальные для начинающих IT-специалистов. Максимум практики и фокус на IT-лексику. На 10 уроках разбирается составление CV, технических заданий и деловых писем, собеседования и переговоры, международное общение при продвижении своего проекта. В живых диалогах на английском студенты закрепят фразы, которые пригодятся в работе разработчикам и тестировщикам, маркетологам и дизайнерам.

Вы научитесь

  • проходить собеседования и писать CV;
  • обсуждать проекты и проводить переговоры;
  • переписываться в чате, составлять техзадания и писать деловые письма;
  • понимать носителей языка и читать зарубежные блоги.

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

Урок 1. IT resume sample

Составляем резюме на английском.

Урок 2. Job interview: questions and answers

Проходим собеседование на английском.

Урок 3. Effective teams

Говорим о командной работе и процессах на английском.

Урок 4. Workplace communication

Английский для общения по телефону и Skype.

Урок 5. Business e-mails

Ведем переписку на английском.

Урок 6. Requirement specifications (SRS)

Читаем и составляем техническое задание на английском.

Урок 7. Stand-up meetings

Становимся идеальным спикером.

Урок 8. Deadline

Выполняем работу в срок и по-английски.

Урок 9. Challenge

Описываем и решаем проблемы по-английски.

Урок 10. Start up

Рассказываем о своем проекте и представляем команду на английском.

Как стать программистом
Пошаговая инструкция по поиску работы
Как стать программистом
Продолжительность
13 уроков
Карьера в сфере программирования - это увлекательное путешествие в мир современных технологий. У каждого разработчика своя история и свой опыт. Однако существует базовый алгоритм, который поможет правильно сделать первые шаги и приведёт к вашей цели. Мы подготовили 13 видео-уроков, в которых ответили на самые актуальные вопросы о карьере программиста в компаниях и на рынке фриланса. Часто думаете о трудоустройстве и чувствуете, что готовы начать зарабатывать? Тогда этот видео-курс для вас.

Вы научитесь

  • Понимать особенности различных профессий в сфере программирования;
  • Составлять резюме и портфолио;
  • Искать работу и отвечать на отклики работодателей;
  • Привлекать внимание работодателя и проходить собеседования;
  • Правильно вести себя на собеседованиях и во время испытательного срока;
  • Оформлять аккаунты на биржах фриланса;
  • Взаимодействовать с клиентами и грамотно выстраивать рабочий процесс.

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

Урок 1. Профессия “Программист”

Особенности профессии; часто задаваемые вопросы; востребованность на рынке труда.

Урок 2. Профориентация

Стану ли я успешным программистом? Факторы успеха.

Урок 3. Начинаем составлять резюме

Самое важное - первое впечатление; как назвать должность.

Урок 4. Выбор языка программирования: веб-разработка

Обзор языков для разработки сайтов: HTML, CSS, JavaScript, PHP, Python, Ruby, C#, Java; правильный выбор.

Урок 5. Мобильная разработка. Универсальные языки программирования

Обзор языков: Java, Objective-C, Swift; C#, C++, Python: правильный выбор.

Урок 6. Правила эффективного резюме

Список технологий; портфолио; дипломы и сертификаты; личностные качества. Взгляд технического специалиста и HR.

Урок 7. Поиск работы: что, где, когда

Работа мечты, психологические аспекты; техника запроса.

Урок 8. Собеседование и испытательный срок

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

Урок 9. Фриланс: первые шаги

Обзор площадок для фриланса; особенности регистрации; оформление аккаунта; как выделяться среди большинства исполнителей.

Урок 10. Фриланс: начало работы и поиск заказов

Стратегия поиска заказов; приоритет заказов: что брать в работу; ведение переговоров; задания и подводные камни ТЗ; методы обращения к клиенту; написание ответов и привлечение внимания клиентов; правильные вопросы.

Урок 11. Фриланс: выполнение заказа и оплата

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

Урок 12. Специальности в сфере IT

Как проходит разработка в крупных компаниях? Кто такие аналитики, дизайнеры, тестировщики, архитекторы, projectmanager-ы, team-lead-ы и пр.

Урок 13. Карьерная лестница в сфере IT

Как выглядит карьерная лестница в сфере IT? В каких специальностях проще начинать свой путь? Какие есть перспективы развития?

Small
Доступ на 3 месяца к Premium подписке
Изучение английского языка с Lingualeo

Lingualeo — это онлайн-сервис для эффективного и интерактивного изучения английского языка, доступный на любом девайсе. Более 20 000 000 человек во всем мире выбрали Lingualeo.

Ускорь изучение языка с Lingualeo Premium!
Content
Смотри кино, слушай любимую музыку и учись с удовольствием. В Джунглях Lingualeo тебя ждут 600 000 текстов, аудио- и видеоматериалов.
Vocabulary
Расширяй свой словарный запас. Сохраняй в свой персональный словарь слова и выражения для изучения из кликабельных субтитров, материалов, Интернета, книг или просто добавляй самостоятельно.
Exercises
Тренировки с разнообразными игровыми механиками помогут закрепить полученнные знания, а также освоить грамматические правила и улучшить навыки чтения, аудирования и разговорной речи.
Thematic courses
Тематические курсы помогут окунуться в жизненные ситуации использования языка.
Твой подарок — промокод на 3 месяца Premium-доступа, а это значит:
Grammar training
50+ грамматических курсов и тренировок
Vocab training
10+ словарных тренировок
Read training
3 тренировки чтения
Audio training
2 тренировки аудирования
Unlimited vocab
Безлимитное добавление слов в словарь
Irregular verbs
Курс "неправильные глаголы"
Videocourse
Видеокурс
Small
Индивидуальные рекомендации и ответы на вопросы
Анализ вашего резюме экспертами SuperJob

SuperJob — IT-компания, которая 20 лет успешно создает технологии для подбора персонала и поиска работы. Ежегодно сотрудники SuperJob помогают найти работу миллионам специалистов и точно знают, какое резюме выделит вас среди других кандидатов.

Каждому студенту мы дарим подготовку идеального резюме от экспертов компании.

Вы получите:
Recommendations
Рекомендации по улучшению резюме
Answers
Ответы на вопросы по структуре и содержанию
Career
Настроенную подписку в сервисе на подходящие вакансии по вашему карьерному запросу
-40%
для первых 20 студентов

Стоимость обучения

Рассрочка без первого взноса и переплат

2 566 ₽/месяц

Одним платежом 

77 000 ₽46 200 ₽
Скидка действует до 30 сентября 2020
13%

Сэкономьте еще 13%

Вы можете вернуть 13% стоимости через налоговый вычет. Оставьте заявку и спросите об этом менеджера.

Записаться на курс и получить бесплатную карьерную консультацию

Старт: 26 сентября, 29 сентября
Имя
E-mail
Телефон
Бесплатный звонок по России 8 800 700-68-41
Часто задаваемые вопросы
Как проходит обучение?
Уроки проходят в формате online-трансляций, несколько раз в неделю в вечернее время по Москве. Преподаватель объясняет темы, все его действия отображаются на экране. Студенты задают вопросы и обсуждают материал в чате. В конце каждого урока студенты получают практические задания. Преподаватель оценивает их и обсуждает плюсы и минусы на следующем занятии. Некоторые курсы будут представлены в виде заранее записанных видеолекций.
Что делать, если я не могу учиться Online?
Для тех, кто не смог вовремя присутствовать на уроке, мы записываем каждое занятие. Видеозаписи всегда доступны в разделе обучения. Также к каждому уроку мы разработали методички, с помощью которых можно лучше подготовиться к занятиям и получить дополнительные знания.
Можно ли делать перерывы в обучении?
Между курсами можно делать перерывы и регулировать интенсивность своего развития по мере усвоения знаний. Мы рекомендуем не записываться на все курсы сразу, а проходить их последовательно и работать на результат.
Кто преподаёт в GeekBrains?
Преподавать в GeekBrains могут только специалисты с большим опытом реализации проектов. Мы проводим жёсткий отбор кандидатов с помощью программ аттестации и внутреннего обучения. Студенты оценивают уровень преподавателя и качество программы по пятибалльной шкале. Таким образом, мы улучшаем образовательный процесс ежедневно.
Кто такие наставники?
Наставником может стать любой студент GeekBrains, который пройдёт нашу систему тестирования. Основная задача наставников - помогать студентам осваивать профессиональные навыки, отвечать на вопросы, касающиеся практических заданий и учебных проектов.
Помогаете ли вы с трудоустройством?
В программу обучения входит гарантированная стажировка, которая даёт компетенции, необходимые для старта карьеры. Основная задача - получить опыт командной разработки. Также выпускники курсов могут стажироваться в компаниях-партнёрах, которые предлагают различные варианты трудоустройства в разделе “Карьера”.
Что делать, если у меня проблема или срочный вопрос?
Если вы являетесь студентом платных курсов и у вас возникли вопросы, связанные с образовательным процессом, свяжитесь с нами: sales@geekbrains.ru или 8-800-700-68-41 (звонок бесплатный). По остальным вопросам пишите нам на support@geekbrains.ru
Какой требуется опыт для обучения?
Наши образовательные программы ориентированы на тех, кто хочет с нуля освоить профессиональные навыки. Для обучения начальной подготовки или базовых знаний не требуется.
Какие минимальные требования к оборудованию и программному обеспечению?
Для учебы необходим компьютер с двухъядерным процессором частотой от 1.8 ГГц с оперативной памятью от 2 Гб (желательно 4 Гб), место на жестком диске от 4 Гб. Для работы с вебом рекомендуется 6 Гб и выше. На нем должна быть установлена любая современная операционная система. Для работы необходимо установить Java Development Kit под соответствующую ОС. Среда разработки: IntelliJ IDEA, но также допускается NetBeans, Eclipse, Android Studio.