Skip to content
View AlexaJavaDev's full-sized avatar
🎯
Focusing
🎯
Focusing
  • Moscow
  • 14:11 (UTC +03:00)

Block or report AlexaJavaDev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
AlexaJavaDev/README.md

📚 Мой учебный план по Java

Этот план поможет мне систематизировать изучение Java и отслеживать прогресс.


📊 Статистика

Показатель Значение
🎯Решено задач 1000+
⏱️Самостоятельного практического времени (с 18.05.2026) 290 часов
✅Сделано пет-проектов (вкл веб-сервисы) 6

🗺️ План развития

План построен как лестница: первая ступень уже пройдена, дальше — углубление и новые горизонты.
Каждый блок — это навык, а не просто тема.


🟢 Ступень 1. Фундамент

Эти темы освоены на практике, продолжаю использовать и углублять в каждом новом проекте.

✅ Циклы и итерации: for, for-each, while — свободное применение в любых задачах

✅ Методы строк: String, StringBuilder — регулярное использование, знание нюансов производительности

✅ Массивы: int[], String[] и др. — уверенная работа, переход на коллекции где удобнее

✅ ООП (база): классы, объекты, конструкторы, геттеры/сеттеры, инкапсуляция

✅ Исключения (база): обработка базовых исключений (try-catch)

✅ Scanner / Switch-case: работа с вводом, современный синтаксис ->


🟡 Ступень 2. Ядро языка (Углубление)

Закрепляю и углубляю то, что уже знаю, и добавляю новые инструменты.

✅ (80/20) ООП (полная картина): наследование, полиморфизм, abstract, interface, default-методы, sealed

Исключения (полный цикл): checked/unchecked, throw/throws, finally, кастомные исключения

✅ Объектные контракты: equals/hashCode, Comparable/Comparator

Управление состоянием: static/final, enum, record, Optional

Generics: List<T>, ? extends, ? super, свои generic-классы


🟠 Ступень 3. Инструменты и библиотеки

Всё, что ускоряет разработку и делает код короче.

✅ (50/50) Коллекции (полный набор): ArrayList, HashSet, HashMap, TreeMap, Queue, Deque

Stream API + Lambda: filter, map, reduce, collect, groupingBy, flatMap

Работа с файлами: java.io, java.nio.file, чтение/запись, сериализация


🔴 Ступень 4. Базы данных

Хранение данных — ключевая часть серьёзных приложений.

✅ (20/80) SQL: JOIN, HAVING, GROUP BY, индексы, транзакции, EXPLAIN

JDBC: Connection, PreparedStatement, ResultSet, миграции


🟣 Ступень 5. Многопоточность и инфраструктура

Производительность, тестирование, сборка, контейнеризация.

Concurrency: Thread, Runnable, synchronized, ExecutorService, CompletableFuture

Тестирование: JUnit 5, Mockito (unit-тесты, моки, assertThrows)

✅ (30/70) Системы сборки: Maven / Gradle (структура, зависимости, плагины)

✅ (10/90) Docker: Dockerfile, docker-compose, образы, контейнеры

Алгоритмы и структуры: Big O, стек, очередь, дерево, хеш-таблица


🔵 Ступень 6. Фреймворки и архитектура

Выход на уровень Enterprise-разработки.

Spring Core (IoC/DI): @Component, @Autowired, ApplicationContext

Spring Boot + REST API: @RestController, @GetMapping, @PostMapping

Паттерны проектирования: Singleton, Builder, Factory, Strategy, Observer


🏗️ Финальный проект

Всё, что изучено выше, объединяется в одном проекте:

  • CRUD REST-сервис с подключением к БД
  • Покрытие тестами (Unit + интеграционные)
  • Сборка через Maven/Gradle
  • Запуск через Docker

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


Пет-проекты

Мои проекты демонстрируют прогресс: от консольных утилит до многопоточных приложений с GUI и веб-интерфейсом.

✅ Завершённые проекты

Проект Описание Стек Что тренировала
Password Generator Генератор случайных паролей с настройками длины и набора символов Java, Scanner Условные операторы, строки, ввод/вывод
Calculator-Project Консольный калькулятор с историей операций и командами history / exit Java, ArrayList Базовые операции, коллекции, обработка команд
CipherGUI Графическое приложение для шифрования/дешифрования текста (сдвиг Цезаря) Java, Swing GUI, событийная модель, работа со строками
CarManagerApp Консольное приложение для управления автомобилями: сортировка, фильтрация, многопоточный поиск, автосохранение в CSV Java 17+, Maven, TestNG, Collections, Stream API, Multithreading Полный цикл: консольное меню, валидация ввода, все сортировки, работа с файлами, Undo, тестирование, README (командный проект)
CarManagerAppWeb Веб-версия CarManagerApp Java 17+, Maven, TestNG Перенос логики в веб-среду

🟡 В разработке

Проект Описание Стек Мой вклад / Что осваиваю
Evolve-HabitTrackerWeb Веб-приложение для отслеживания привычек Стек: Java 17+, Spring Boot, Thymeleaf, Bootstrap 5, H2 Database, Maven Полноценная веб-разработка

Примечание: Некоторые проекты создавались при поддержке ИИ — это сознательный учебный подход, позволяющий быстрее осваивать новые технологии (Swing, веб-разработка) и сосредоточиться на архитектуре и логике.


🎯 Ближайшие цели

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


На что я сейчас направлена

  • Глубокая архитектура — перехожу от написания кода к проектированию: понимаю, как строить гибкие и расширяемые системы
  • Автономность в новых технологиях — учусь быстрее входить в незнакомые области (GUI, веб) с минимальной поддержкой ИИ
  • Качество кода — тестирование, рефакторинг, читаемость, документация становятся привычкой
  • Масштабируемость — осваиваю инструменты для работы с большими данными (многопоточность, Stream API, оптимизация)
  • Командная разработка — закрепляю навыки работы в репозитории, код-ревью, распределение задач

Как я это делаю

  • Пишу проекты, а не просто решаю задачи
  • Возвращаюсь к старому коду и улучшаю его новыми инструментами
  • Совмещаю изучение с практикой — каждая новая тема сразу внедряется в текущий проект
  • Документирую свой путь — этот README часть процесса

Что дальше

Двигаюсь в сторону уверенного Junior+ / Middle уровня с фокусом на:

  • Чистую архитектуру
  • Производительность
  • Командную работу
  • Веб-технологии

🤝 Открытость

Я веду этот репозиторий публично, чтобы:

  • Видеть собственный прогресс
  • Получать обратную связь от сообщества
  • Показывать работодателям системный подход к обучению

Учиться по плануэффективно и интересно. Двигаюсь дальше!
Мой подход: Не количество тем, а глубина их связей

Pinned Loading

  1. CarManagerAppWeb CarManagerAppWeb Public

    Веб-приложение для управления списком автомобилей на Spring Boot.

    HTML

  2. Evolve-HabitTrackerWeb Evolve-HabitTrackerWeb Public

    Трекер привычек на Spring Boot + Thymeleaf

    HTML