Java

Java #

Java/Spring - одна из лидирующих платформ для бэкенд разработки, несмотря на возраст. Хороша для старта карьеры, после чего можно углубляться в другие платформы и смежные области, потому что технологии не стоят на месте и их актуальность меняется со временем.

Базовый синтаксис #

Под базовым синтаксисом понимаются основы - переменные и типы данных, ветвления, циклы for/while.

По этому материалу существует огромное количество ресурсов, книг, курсов. Я советую совмещать теорию с практикой. В качестве теории - книгу или курс, в качестве практики по закреплению синтаксиса - задачи.

Избранные курсы и учебные ресурсы #

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

  • Выбрать 1 курс или книгу, точечно изучить те главы, которые я озвучил
  • Параллельно изучению теории решать задачи
  • Написать проект “Виселица”

Объектно-ориентированное программирование #

ООП является одной из ключевых идей в основе Java. Потенциальная “глубина” владения ООП велика, и этот навык растет годами.

Что нужно знать и уметь:

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

Избранные курсы и учебные ресурсы #

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

  • Выбрать 1 курс или книгу, точечно изучить те главы, которые я озвучил
  • Написать проект “Симуляция”

Паттерны проектирования #

Паттерны проектирования, общепринятые “рецепты” классов для решения повторяющихся задач. Большинство задач являются типовыми, или их вариациями, и паттерны проектирования предлагают набор решения для этих задач.

Каждый паттерн - класс или семейство классов с определённым стилем именования и набором методов.

Что нужно знать:

  • Постепенно осваивать паттерны, начиная с самых популярных - Singleton, Factory

Избранные курсы и учебные ресурсы #

MVC #

MVC - самый актуальный для бэкенд приложений паттерн.

Суть MVC - разбиение кода на “слои”, каждый из которых занимается одной задачей:

  • Модели - описывают сущности приложения
  • View - отображение состояния, в виде веб-страниц, JSON ответов
  • Контроллер - принятие запросов от пользователя, создание модели и view для генерации ответа

Зачастую, MVC расширяется ещё одним слоем - Service, такой паттерн называется MVCS. Классы-сервисы описывают бизнес-логику приложения.

Избранные курсы и учебные ресурсы #

Чистый код #

Чистый код - это код, понятный и податливый к изменениям. Писать такой код - навык, развивающийся на протяжении всей карьеры.

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

Избранные курсы и учебные ресурсы #

Что дальше #

  • Kotlin - совместимый с Java язык с более “чистым” синтаксисом
  • Реактивное программирование