Этот план поможет мне систематизировать изучение Java и отслеживать прогресс.
| Показатель | Значение |
|---|---|
| 🎯Решено задач | 1000+ |
| ⏱️Самостоятельного практического времени (с 18.05.2026) | 290 часов |
| ✅Сделано пет-проектов (вкл веб-сервисы) | 6 |
План построен как лестница: первая ступень уже пройдена, дальше — углубление и новые горизонты.
Каждый блок — это навык, а не просто тема.
Эти темы освоены на практике, продолжаю использовать и углублять в каждом новом проекте.
✅ Циклы и итерации: for, for-each, while — свободное применение в любых задачах
✅ Методы строк: String, StringBuilder — регулярное использование, знание нюансов производительности
✅ Массивы: int[], String[] и др. — уверенная работа, переход на коллекции где удобнее
✅ ООП (база): классы, объекты, конструкторы, геттеры/сеттеры, инкапсуляция
✅ Исключения (база): обработка базовых исключений (try-catch)
✅ Scanner / Switch-case: работа с вводом, современный синтаксис ->
Закрепляю и углубляю то, что уже знаю, и добавляю новые инструменты.
✅ (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-классы
Всё, что ускоряет разработку и делает код короче.
✅ (50/50) Коллекции (полный набор): ArrayList, HashSet, HashMap, TreeMap, Queue, Deque
Stream API + Lambda: filter, map, reduce, collect, groupingBy, flatMap
Работа с файлами: java.io, java.nio.file, чтение/запись, сериализация
Хранение данных — ключевая часть серьёзных приложений.
✅ (20/80) SQL: JOIN, HAVING, GROUP BY, индексы, транзакции, EXPLAIN
JDBC: Connection, PreparedStatement, ResultSet, миграции
Производительность, тестирование, сборка, контейнеризация.
Concurrency: Thread, Runnable, synchronized, ExecutorService, CompletableFuture
Тестирование: JUnit 5, Mockito (unit-тесты, моки, assertThrows)
✅ (30/70) Системы сборки: Maven / Gradle (структура, зависимости, плагины)
✅ (10/90) Docker: Dockerfile, docker-compose, образы, контейнеры
Алгоритмы и структуры: Big O, стек, очередь, дерево, хеш-таблица
Выход на уровень 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 уровня с фокусом на:
- Чистую архитектуру
- Производительность
- Командную работу
- Веб-технологии
Я веду этот репозиторий публично, чтобы:
- Видеть собственный прогресс
- Получать обратную связь от сообщества
- Показывать работодателям системный подход к обучению
⭐ Учиться по плану — эффективно и интересно. Двигаюсь дальше!
⭐ Мой подход: Не количество тем, а глубина их связей
