Java разработчик [2022]
teachmeskills
Денис, Семён, Рома
Научим программировать на Java c нуля за 7,5 месяцев.
Кем ты станешь:
Java один из самых популярных языков программирования в мире. Работает на всех платформах (Windows, Mac, Linux).
На курсе java ты научишься:
- Писать интересные алгоритмы, работать с коллекциями, файлами и др.;
- Сделаешь парочку многопоточных приложений;
- Освоишь работу с базами данных;
- Изучишь самые популярные фреймворки - Spring и Hibernate и разработаешь web-приложение.
- Изучишь самые популярные фреймворки - Spring и Hibernate и напишешь web-приложение
- На наших курсах Java для начинающих ты научишься писать многопоточные приложения
- Научишься работать с коллекциями, файлами и базами данных
- Разберешься в ООП и сможешь писать интересные алгоритмы
- Изучишь область применения Java, синтаксис и историю языка
- Станешь востребованным Java разработчиком
- ToDo-лист
- Веб-приложение по типу Amazon
- Социальная сеть по типу Instagram или ВКонтакте
- Дипломный проект - Каталог товаров (по типу Onliner.by или Avito) или сервис доставки еды (по типу Яндекс.Доставка)
Модуль 1 - Система контроля версий Git
- Установка Git
- Подключение к проекту
- Регистрация и создание репозитория на GitHub
- Зачем нужны ветки
- Основные команды в Git
- Введение в Java
- IDE
- Запуск и компиляция программы
- Типы данных
- Приведение типов
- Операторы Java
- Приоритет операций
- Операторы ветвления
- Операторы повторения
- Операторы перехода
- Одномерные массивы
- Алгоритмы сортировки массива
- Двумерные, трехмерные и n-мерные массивы
- Операции с массивами
- Понятие класса, объекта, конструктора
- Методы
- Инициализация полей
- Понятие интерфейса
- Понятие абстрактного класса
- Абстрактные методы
- Инкапсуляция
- Наследование
- Полиморфизм
- Перегрузка методов
- Переопределение методов
- Ключевое слово static
- Ключевое слово final
- String
- StringBuilder
- StringBuffer
- Иерархия исключений и ошибок
- Конструкция try-catch-finally
- Собственные исключения
- Ключевые слова throw, throws
- Работа с файлами
- Байтовые потоки ввода/вывода
- Символьные потоки ввода/вывода
- Сериализация объектов
- List
- Set
- Map
- Generics
- Date API
- Функциональные интерфейсы
- Лямбда выражения
- Optional
- Stream API
- Var
- Modules
- Обзор нового API и синтаксических конструкций
- Применение регулярных выражений
- Как и где можно использовать
- Классы Pattern, Matcher
- Изучение регулярных выражений
- Практика
- Структура XML-документа
- Схема DTD, XSD
- DOM, SAX, STAX
- JAXB
- Знакомство с JSON-парсерами на примере jackson
- Класс Thread
- Интерфейс Runnable
- Работа с потоками
- Синхронизация потоков
- Потоки-демоны
- Знакомство с JDBC
- Понятие драйвера
- Транзакции
- SQL запросы DML
- Join, Having, Group By
- Зачем нужна клиент-серверная архитектура
- Как работает интернет
- Понятие веб-сервер
- Модель OSI и протокол TCP/IP
- Обзор протокола HTTP и его методы
- Знакомство с серверной частью в Java Enterprise Edition
- Основные интерфейсы и их реализации
- Жизненый цикл сервлетов
- Пишем первый сервлет для приветствия пользователя в браузере
- Понятие сервер приложений
- Обзор компонентов Filter, Listener
- Зачем нужны Servlet Scopes
- Пишем веб приложение 'Калькулятор'
- Что такое верстка
- Изучение HTML
- Зачем нужны стили
- Что такое селекторы CSS
- Работа с отступами
- Работа с текстом
- Зачем нужен Bootstrap
- Подключение к проекту
- Обзор основных компонентов
- Понятие сетки
- Изучаем технологию JSP
- Что такое шаблонизация
- Динамические данные в JSP
- Знакомимся с JSTL
- Основные теги для работы if, forEach, fmt
- Что такое система сборки
- Обзор существующий систем сборки
- Разница между Ant, Maven, Gradle
- Подключаем систему сборки к проекту
- Принципы SOLID
- Изучение каждого принципа на примере
- Практика применения на текущем проекте
- Теория паттернов проектирования
- Группы паттернов
- Изучение основных паттернов
- Фабрика, Билдер
- Продолжаем изучение основных паттернов
- Адаптер, Одиночка, Фасад, Декоратор
- Пишем простые примеры с использованием паттернов
- Теория паттернов проектирования в Enterprise Java
- Группы паттернов
- Front Controller, Session Facade, Transfer Object
- Что такое класс Object и его назначение
- Изучение методов класса Object
- Правила переопределения equals, hashcode
- Зачем нужен метод toString
- Правила переопределения метода clone
- Понятие журналирования
- Обзор библиотек SLF4J, Log4j
- Модульное тестирование с использованием JUnit5
- Пишем тесты на текущем проекте
- ACID и работа с транзакциями
- Нормализация, типы связей между таблицами
- Решаем задачки на написание SQL запросов
- Повторение структуры Collection Framework
- Как устроен LinkedList
- Как устроена HashMap
- Зачем нужна коллекция типа Set
- Что такое деревья, как устроен TreeMap
- Введение в Spring Framework
- Типичные use cases в Spring Framework
- Понятия DI и IOC
- Пишем первое приложение для знакомства с технологией
- Введение в аспектно-ориентированное программирование
- Зачем нужна сквозная функциональность
- Типы советов
- Написание аспектов
- Введение паттерн MVC
- Понятие Controller
- Пишем веб приложение используя контроллеры
- Валидация данных
- Обработка исключений
- Введение в Spring Boot
- Основные отличия от Spring Framework
- Понятие стартера
- Создание проекта и его конфигурация
- Пишем первое приложение 'Калькулятор'
- Знакомство с Freemarker
- Обзор возможностей Thymeleaf
- Пишем веб приложение с использованием Thymeleaf
- Введение в Hibernate
- Состояния объектов
- Понятие сессии
- Пишем приложение с использованием Hibernate
- HQL
- Criteria
- Связи
- Пишем приложение с использованием Hibernate
- Знакомство с JPA и реализациями
- Entity Manager
- Связи
- Каскады
- JPQL
- Знакомство с REST
- Узнаем, что такое SOAP
- Разница между REST и SOAP
- Понятие RESTful API
- Тестирование запросов на API с использование Postman
- Валидация данных
- Использование ResponseEntity
- Коды состояний
- Загрузка файлов
- Введение в Swagger
- Зачем нужна API документация
- Подключаем Swagger к проект
- Введение в Spring Data
- Зачем это нужно
- Понятие Repository
- Написание QueryDSL
- Пишем код с использованием Data JP
- Введение в Spring Security
- Основные принципы защиты Web приложений
- Конфигурация Basic Authentication
- Роли
- Введение в JSON Web Tokens
- Отличие защиты web приложения от REST API
- Конфигурация Spring Security с JWT
- Подключаем JWT к REST API проекту
- Практическое применение basic security в web приложении
- Подключение Spring Security и JWT к текущему REST API проекту
- Что делает DevOps инженер
- AWS вводная
- EC2
- S3
- RDS
- ELB
- Route53
- AWS CLI
- Развертывание приложения в облако AWS
- Docker как технология
- Dockerfile
- Переменные окружения и аргументы
- Docker network
- Docker inspect
- Docker compose
- Volume
- Docker images docker hub / AWS
- Как задеплоить с докером
- Знакомство с CI/CD
- GitHub Actions
- Повторение изученного материала
- Прохождение пробного технического собеседования
- Подготовка к дипломному проектированию
- Составление резюме (теория + практика)
- Составление профиля на LinkedIn (теория + практика)
- Прохождение интервью
- Soft skills, которые важны в рамках интервью
- Проведение пробного интервью
https://teachmeskills.by/kursy-programmirovaniya/obuchenie-java-online