Скачать Java backend, как в BigTech. Тариф sam_reshu [Павел Сорокин]

Информация
Цена: 495 РУБ
Организатор: Kail Kail
Скачать
Kail
Kail
Организатор
Организатор
Регистрация
09.04.2020
Сообщения
438 385
Реакции
43 519
Монеты
1 191
Оплачено
0
Баллы
0
  • #SkladchinaVip
  • #1
Java backend, как в BigTech. Тариф sam_reshu [Павел Сорокин]
Ссылка на картинку
18 недель беспощадного кодинга в формате спринтов

Каждый спринт — это отдельная практическая тема, которую вы проходите, закрепляете на домашнем задании и применяете в реальном выпускном проекте EventManager

Для кого курс
  1. Совсем новичок
    Сэкономишь год самостоятельных несистемных попыток что-то понять и сразу получишь харды уровня middle
  2. Есть база, но ещё не работаю
    Закроешь пробелы и изучишь всё, что нужно реальной работе, чтобы наконец-то вкатиться
  3. Джун
    Быстро прокачаешься по хардам, чтобы заперформить в проекте и апнуть грейд ИЛИ найти новую работу на позицию миддла
  4. Миддл на устаревшем стеке
    Подтянешь все харды до актуального рынку уровня и погрузишься в архитектуру с микросервисами, чтобы быстрее вырасти по грейду/найти новую работу
Научим всему что бигтехи требуют в вакансиях:
  • Строить микросервисы, которые не падают под нагрузкой и не умирают от продовых кейсов
  • Делать авторизацию с нуля: JWT, роли, фильтры, обработка прав, единый формат ошибок
  • Писать бизнес логику и фичи: обработка событий, статусы, задачи по расписанию, отправка нотификаций, история изменений, агрегация событий
  • Подключать Kafka и строить асинхронные пайплайны с гарантированной доставкой
  • Делать кэширование и ускорять сервисы до миллисекундных ответов
  • Разворачивать инфраструктуру: Docker, Redis, Postgres, Liquibase миграции
Все знания разложены по полочкам от «А» до «Я»
  • Программа идёт от простого к сложному, каждый спринт логично вытекает из предыдущего
  • Сначала фундамент: Spring Core, потом настройки: MVC, Hibernate, в конце — продакшен-архитектура
  • Разбираем именно до того уровня глубины, до которого это необходимо для работы и собесов
  • К каждому уроку конспекты + доп. материалы для углубления
  • Живые воркшопы раз в 2 недели — разбираем домашки, отвечаем на вопросы, общаемся. Есть записи, если пропустил
Программа:

Спринт 1. Spring Core — фундамент современного Java backend’а


Коротко: разберёшься, как работает Spring «под капотом»: контейнер, DI, жизненный цикл бинов, конфигурация и базовый AOP. Перестаёшь «разбрасывать new по проекту», начинаешь мыслить как backend-разработчик.

Что внутри:
  • Зачем вообще нужен Spring: чем отличается от «голой» Java и почему на нём пишут почти все современные backend’ы.
  • IoC-контейнер и ApplicationContext: как Spring создаёт и связывает объекты.
  • Dependency Injection:
    • внедрение зависимостей через конструктор / поле / сеттер;
    • @Component, @service, @Repository, @Configuration, @Bean;
    • @Autowired, @Qualifier, @Primary.
  • Области видимости бинов: singleton, prototype, web-scope и где они реально нужны.
  • Жизненный цикл бина: создание, инициализация, уничтожение (@PostConstruct, @PreDestroy).
  • Работа с конфигурацией: application.properties, профили (@profile), вынесение настройки из кода.
  • Введение в AOP:
    • что такое аспектно-ориентированное программирование;
    • логирование, метрики, технический cross-cutting без засорения бизнес-логики.
  • Как не превращать проект в “спагетти”:
    • базовые принципы SOLID;
    • разделение ответственности между слоями.
Практика:
  • Ты поднимешь первый учебный проект на Spring Core:
    • небольшая доменная область — учебный «банкинг»;
    • все сервисы и репозитории собираются через DI, без ручного new;
    • конфигурация вынесена в properties и профили;
    • написан хотя бы один AOP-аспект: логирование или метрики.
Результат:
  • готовый репозиторий с живым Spring-приложением;
  • понимание, что делает Spring-контейнер и зачем нужны все эти аннотации.
Спринт 2. Hibernate Core — работа с БД как у взрослых

Коротко: учишься работать с реальной базой данных через JPA/Hibernate: сущности, связи, CRUD, жизненный цикл объектов, ленивые загрузки и первые грабли.

Что внутри:
  • ORM, JPA и Hibernate:
    • зачем маппить объекты на таблицы;
    • чем это лучше ручного JDBC.
  • Поднимаем PostgreSQL в Docker:
    • базовая конфигурация;
    • создание схемы и пользователя.
  • JPA-сущности:
    • @Entity, @Table, @Id, @Column;
    • типы полей, генерация идентификаторов.
  • CRUD-операции через Hibernate:
    • сохранение, поиск, обновление, удаление;
    • разбор SQL, который реально уходит в БД.
  • Жизненный цикл сущностей:
    • Transient → Persistent → Detached → Removed;
    • что делает Session / EntityManager.
  • Связи:
    • @OneToOne, @OneToMany, @ManyToOne, @ManyToMany;
    • каскады, orphanRemoval, как не удалить лишнего.
  • Ленивая и жадная загрузка:
    • FetchType.LAZY vs EAGER;
    • классическая N+1-проблема на примерах.
Практика:
  • Учебный проект «Каталог / курсы / студенты»:
    • несколько таблиц в PostgreSQL;
    • сущности с разными типами связей (1:1, 1:N, N:M);
    • CRUD-операции с разбором SQL, который генерит Hibernate.
Результат
  • ты уверенно создаёшь сущности и связи;
  • понимаешь, что происходит с объектом в разных состояниях;
  • не боишься смотреть в реальные SQL-запросы.
Спринт 3. Spring Boot Web — веб и HTTP на практике

Коротко: выходишь в веб: поднимаешь REST API, работаешь с HTTP, DTO, валидацией и обработкой ошибок. Практика — Payments API: пользователи, их заказы и платежи, плюс тесты через MockMvc.

Что внутри:
  • Введение в Spring Boot:
    • стартеры, автоконфигурация, встроенный Tomcat;
    • структура боевого backend-приложения.
  • HTTP и REST:
    • методы GET/POST/PUT/DELETE, статус-коды, заголовки;
    • хорошие и плохие REST-эндпоинты.
  • Контроллеры:
    @RestController, @RequestMapping, @GetMapping, @PostMapping и др.;
    @PathVariable, @RequestParam, @RequestBody.
  • DTO и валидация:
    разделение сущностей и DTO;
    Bean Validation: @valid, @NotBlank, @email, @min и т. д.
  • Централизованная обработка ошибок:
    @ControllerAdvice, @ExceptionHandler;
    единый формат ошибок для клиента.
  • Тестирование веб-слоя:
    MockMvc;
    проверка кодов ответа, тела, ошибок.
Практика:
  • Ты реализуешь учебный Payments API:
    • пользователи / клиенты и их заказы;
    • создание заказов, получение списка заказов пользователя, просмотр деталей;
    • базовая модель «платежа» — например, статус PAYMENT_PENDING / PAID.
  • Что именно сделаешь руками:
    • набор REST-эндпоинтов для пользователей и их заказов;
    • DTO с валидацией входящих данных;
    • единый формат API-ошибок;
    • тесты контроллеров через MockMvc: успешные кейсы + ошибки.
Результат
  • у тебя есть законченный REST-сервис Payments API;
  • ты умеешь писать и тестировать нормальные HTTP-сервисы, а не «крученные методы».
Спринт 4. Spring Data JPA + EventManager | Iteration 1

Коротко: переходишь от маленьких учебных примеров к выпускному проекту EventManager. Подключаешь Spring Data JPA, строишь нормальные репозитории и делаешь первую итерацию проекта.

Что внутри:
  • Архитектура слоёв:
    Controller → Service → Repository;
    почему «всё в контроллере» — зло.
  • Spring Data JPA:
    • JpaRepository, готовые CRUD-методы;
    • query-методы: поиск по полям без явного SQL.
  • Сложные запросы:
    • @Query — JPQL и нативный SQL;
    • @Modifying для обновлений.
  • Транзакции:
    • @Transactional, propagation, read-only;
    • где нужны транзакции, а где нет.
  • Оптимизация запросов:
    • N+1 снова, но уже в мире Spring Data;
    • JOIN FETCH, EntityGraph.
  • Интеграционные тесты репозиториев:
    • поднятие PostgreSQL через Testcontainers;
    • тесты, которые реально ходят в БД.
Практика:
  • Старт выпускного проекта EventManager: сервис, где пользователи создают, редактируют и просматривают мероприятия.
  • В Iteration 1 ты:
    • проектируешь базовые сущности: User, Event, Location и необходимые вспомогательные таблицы;
    • создаёшь репозитории на Spring Data JPA;
    • реализуешь базовые CRUD-операции для ключевых сущностей;
    • поднимаешь REST-эндпоинты для создания, редактирования, удаления и получения событий и локаций.
Результат:
  • у тебя есть EventManager Iteration 1 — живой сервис событий с БД и REST-API;
  • это первый кирпич выпускного проекта, который пойдёт в портфолио.
Спринт 5. Spring Security + EventManager — Iteration 2

Коротко: учишься защищать backend: логин, роли, права доступа, JWT. EventManager становится не «открытой песочницей», а реальным защищённым сервисом.

Что внутри:
  • Аутентификация и авторизация:
    • в чём разница;
    • какие подходы используют в реальных проектах.
  • Основы Spring Security:
    • конфигурация SecurityFilterChain;
    • цепочка фильтров и жизненный цикл запроса.
  • Ограничение доступа:
    • hasRole, hasAuthority, @PreAuthorize;
    • защита эндпоинтов по ролям.
  • JWT:
    • структура токена: header, payload, signature;
    • генерация и валидация токена;
    • хранение токена на клиенте, типичные ошибки.
  • Обработка ошибок безопасности:
    • 401 vs 403;
    • AuthenticationEntryPoint, AccessDeniedHandler.
  • Тестирование защищённых эндпоинтов:
    • @WithMockUser;
    • тесты с реальными JWT.
Практика:
  • В Iteration 2 ты:
    • добавляешь регистрацию и логин пользователей;
    • реализуешь выдачу JWT-токенов;
    • ограничиваешь доступ к CRUD-операциям EventManager.
Результат:

— EventManager Iteration 2 — полноценный защищённый REST-сервис;
— ты умеешь интегрировать Spring Security и JWT в реальный проект.


Спринт 6. Бизнес-логика backend-систем + EventManager — Iteration 3

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

Что внутри:
  • Проектирование доменной модели и сервисов:
    • выделение агрегатов и границ ответственности;
    • проектирование методов сервисов под конкретные сценарии.
  • Типичные бизнес-правила в Event-системах:
    • нельзя создать событие в прошлом;
    • нельзя опубликовать событие без обязательных полей;
    • ограничение мест/capacity: проверка, что не переполнено;
    • дедлайны регистрации и отмены;
    • статусы событий: DRAFT / PUBLISHED / CANCELED / COMPLETED.
  • Бизнес-ошибки и исключения:
    • свои exception’ы для доменных ошибок;
    • маппинг доменных ошибок в HTTP-ответы 4xx.
  • Транзакционные границы:
    • где нужна транзакция, а где нет;
    • как обеспечить целостность при сложных сценариях, например, несколько записей в таблицы.
Практика:
  • В Iteration 3 ты превращаешь EventManager из «CRUD-формочек» в настоящую бизнес-систему:
    • добавляешь статусы событий и переходы между ними;
    • реализуешь проверки;
    • описываешь и реализуешь сценарии;
    • выделяешь отдельный слой доменных сервисов, работающих над сущностями.
  • Пишешь набор тестов:
    • unit-тесты бизнес-логики;
    • интеграционные тесты ключевых сценариев.
Результат:
  • EventManager Iteration 3 — большая итерация, где ты прокачиваешься именно как разработчик бизнес-логики, а не просто «разворачивающий фреймворки».
Спринт 7. Архитектура и микросервисы + EventManager — Iteration 4

Коротко: поднимаешься на уровень архитектуры: монолит vs микросервисы, Kafka, паттерны взаимодействия сервисов. Делаешь Iteration 4 EventManager — вынос нотификаций в отдельный сервис и переход к event-driven-архитектуре.

Что внутри:

  • Архитектура монолита и микросервисов:
    • плюсы и минусы каждого подхода;
    • когда вообще имеет смысл делить систему.
  • Типовые уровни архитектуры:
    • системная архитектура: какие сервисы и как взаимодействуют;
    • архитектура приложения: слои, модули;
    • инфраструктурная часть: БД, брокеры, балансировщики.
  • Kafka и event-driven:
    • producer / consumer, topic, partition, offset;
    • семантика «at least once», «at most once», «exactly once»;
    • долговечность и репликация.
  • Паттерны микросервисов:
    • API Gateway, Circuit Breaker, Saga, Outbox — на уровне идей;
    • взаимодействие sync HTTP и async Kafka;
    • отказоустойчивость и масштабирование;
    • базовые подходы к резервированию и мониторингу.
Практика:
  • В Iteration 4 ты:
    • выделяешь сервис уведомлений, например NotificationService, в отдельный микросервис;
    • настраиваешь Kafka-топики для событий: создание/изменение/отмена события, регистрация пользователя;
    • из EventManager публикуешь доменные события в Kafka;
    • в NotificationService подписываешься на эти события и подготавливаешь уведомления, которые пользователи могут получить через API.
Результат:
  • EventManager Iteration 4 — уже не просто монолит, а система из нескольких сервисов, общающихся через Kafka;
  • ты понимаешь, как выглядят event-driven-системы и какие проблемы они решают.
Спринт 8. Redis и кэширование + EventManager — Iteration 5

Коротко: подключаешь Redis и учишься ускорять систему через кэш и счётчики. Сделаете Iteration 5: кэш локаций и быстрые счётчики уведомлений в EventManager.

Что внутри:
  • Зачем вообще кэш:
    • где помогает — быстрый доступ к часто читаемым данным;
    • где убивает консистентность и приносит боль.
  • Базовые паттерны кэширования:
    • cache-aside — самый популярный;
    • read/write-through, write-behind — на уровне идей.
  • Redis:
    • модель «ключ-значение»;
    • строки и простые структуры данных;
    • базовые команды и TTL.
  • Поднимаем Redis в Docker:
    • базовая конфигурация;
    • проверка через CLI-клиент.
  • Интеграция Redis со Spring:
    • RedisTemplate, работа с ключами и значениями;
    • кэширующие аннотации: @Cacheable, @CacheEvict, @CachePut.
Практика:
  • В Iteration 5 ты:
    • внедряешь Redis в архитектуру EventManager;
    • реализуешь cache-aside для «горячих» данных, например;
    • добавляешь быстрый счётчик уведомлений или непрочитанных событий для пользователя в Redis;
    • настраиваешь инвалидацию кэша при изменениях, чтобы не было «протухших» данных.
Результат:
  • EventManager Iteration 5 — быстрый и отзывчивый, с кэшем и счётчиками в Redis;
  • ты понимаешь, где и как применять Redis в backend-системах.
Спринт 9. CI/CD для backend-разработчика

Коротко: разбираешься, как код доезжает до пользователей: сборка, тесты, Docker, пайплайны, окружения. После этого спринта ты не теряешься, когда видишь gitlab-ci.yml в проекте или kubernetes в вакансии.

Что внутри:
  • Что такое CI и CD:
    • continuous integration, continuous delivery/deployment;
    • как это экономит время и деньги команде.
  • Жизненный цикл задачи:
    commit → build → test → package → docker → deploy → monitor.
  • Пайплайны:
    • stages: build/test/deploy;
    • jobs, артефакты, variables.
  • Docker в контексте CI/CD:
    • сборка образа приложения;
    • Docker registry;
    • версии образов, tags и откаты.
  • Инструменты:
    • GitLab CI, GitHub Actions, Jenkins — кто чем отличается и где встречается;
    • базовое представление о деплое на сервер/в кластер.
  • Окружения:
    • Dev / Stage / Prod;
    • переменные окружения, секреты, конфиги.
Практика:
  • Собираешь минимальный рабочий CI/CD-процесс для Java-сервиса:
    • конфиг для GitLab CI или GitHub Actions;
    • сборка и запуск тестов;
    • сборка Docker-образа приложения;
    • деплой на выбранную целевую среду: локальный сервер / Docker-хост.
Результат:
  • ты понимаешь, как описывается и живёт пайплайн;
  • можешь уверенно общаться с тимлидом и DevOps по поводу деплоя и окружений.
Бонусный модуль №1. Прохождение собеседований: резюме, стратегия, ответы

Коротко: упаковываешь весь пройденный путь в резюме, портфолио и стратегию поиска работы, чтобы EventManager и остальные практики работали на твой оффер.

Что внутри:
  • Стратегия поиска работы:
    • как анализировать рынок и выбирать вакансии;
    • таблица откликов и работа с воронкой.
  • Резюме разработчика:
    • структура и оформление;
    • как грамотно описать учебные проекты и EventManager;
    • типичные ошибки, из-за которых резюме не читают.
  • Самопрезентация:
    • как рассказывать о себе и своём опыте;
    • ответы на поведенческие вопросы по модели STAR.
  • Подготовка к тех-собеседованиям:
    • темы по Java/Spring/SQL/архитектуре, которые ждут на интервью;
    • как использовать эти темы в твоих проектах, в том числе в EventManager.
  • Как говорить о процессах:
    • Agile, Scrum, роли в команде;
    • CI/CD, код-ревью, работа с задачами.
Практика:
  • Готовое резюме в PDF с описанием:
    • твоих навыков;
    • выпускного проекта EventManager с итерациями;
    • дополнительных проектов, типа Payments API.
  • Таблица откликов и план поиска работы.
  • Набор заготовок ответов на типовые вопросы: тех + поведенческие.
Бонусный модуль №2. Паттерны проектирования и чистый код

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

Что внутри:
  • Принципы SOLID:
    • на конкретных примерах «до/после»;
    • как они применяются в коде Spring-приложений.
  • Ключевые паттерны:
    • Builder — как избегать «конструкторов на 10 аргументов»;
    • Strategy — как гибко менять поведение без if-else-адов;
    • Proxy — где его видишь в Spring: AOP, транзакции, безопасность;
    • Facade — как прятать сложность подсистем.
  • Связка паттернов с EventManager:
    • какие решения в проекте можно описать через паттерны;
    • как об этом говорить на собеседовании.
Практика:
  • Небольшой учебный проект, например «система опросов / квизов», где ты:
    • реализуешь 3–4 паттерна в живом коде;
    • фиксируешь, как они помогают держать код чистым.
  • Конспект по SOLID и паттернам с примерами и формулировками «как для собеса».
Преподаватель и автор курса — Павел Сорокин
  • ВТБ
    Senior Java Dev
    работал в инвестиционном блоке: высоконагруженная обработка десятков тысяч поручений на переводы, сделки, бумаги, интеграции с внешними сервисами и календарями выплат по облигациям
  • Yoomoney
    Java Dev
    работал над Core карточного эквайринга: интеграции с платёжными системами и провайдерами, интернет-платежи, высоконагруженная обработка транзакций
  • NDA
    Backend-разработчик
    участвовал в разработке backend-систем крупной телеком-компании: системы обработки звонков, биллинга, конфигурации сети и SMS-центра
Тариф sam_reshu
  • Доступ ко всем материалам курса (видео + конспекты)
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть контент.
bigtech java павел сорокин стратегия
Похожие складчины
Kail
Ответы
0
Просмотры
383
Kail
Kail
Kail
Ответы
0
Просмотры
500
Kail
Kail
Kail
Ответы
0
Просмотры
811
Kail
Kail
Kail
Ответы
0
Просмотры
302
Kail
Kail
Показать больше складчин

Войдите или зарегистрируйтесь

Вы должны быть авторизованны для просмотра материала

Создать аккаунт

Создать учетную запись займет не больше минуты!

Войти

Уже зарегистрированы? Просто войдите.