Java для профи. Инструменты, фреймворки, тестирование, производительность. Spring, Git, Prometheus

Граци Виктор, Боярски Жанна

Код товара: 5065210
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
1 / 15
PDF
Фиксированная скидка
Акция до 31.12.2026
-35%
6 266
9 639
Доставим в
г. Москва
Курьером
бесплатно от 10 000 ₽
В пункт выдачи
от 200 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Оригинальное название:
Java real-world. Helping you navigate. The Java ecosystem (tech today)
Год издания:
2027
Переводчик:

Описание

Характеристики

Краткое руководство по наиболее распространенным инструментам современной Java-разработки.
Чтобы стать превосходным Java-разработчиком, недостаточно владеть синтаксисом Java, уметь работать с циклами и операторами switch, лямбда-выражениями и потоками. Необходимо разбираться в обширной экосистеме инструментов и фреймворков для совместной работы, тестирования, сборки и многого другого.
В книге "Java для профи. Инструменты, фреймворки, тестирование, производительность" тандем опытных Java-разработчиков проводит краткий и авторитетный анализ самых распространенных методик, без которых не обойтись в корпоративной Java-разработке. Авторы дают ровно столько теории и примеров, сколько нужно, чтобы книга стала экспертным справочником по аннотациям, фреймворкам для логирования, наблюдаемости, настройке производительности, методам тестирования и совместной работе, на которые опирается реальная коммерческая Java-разработка.
Вы расширите свой набор Java-технологий, добавив в него Spring, Git, Prometheus и Project Lombok. Кроме того, вам будут доступны ссылки на проверенные примеры кода - они помогут вам освоить рассматриваемые приемы на практике.
"Java для профи" - идеальный выбор для всех, кто уже знаком с языком, но хочет освоить инструменты современной Java-разработки.
код в Майшоп
5065210
возрастная категория
16+
количество томов
1
количество страниц
496 стр.
размеры
235x165x22 мм
ISBN
978-5-4461-4450-1
тип бумаги
офсетная (60-220 г/м2)
цвет
Чёрный
вес
770 г
язык
Русский
переплёт
Мягкая обложка

Содержание

От издательства
О научном редакторе русского издания
Об авторах
О техническом редакторе
О техническом корректоре
Благодарности
Предисловие
Как организована книга
Для кого эта книга
Помощь читателю
Файлы для самостоятельной работы
Как связаться с авторами
Глава 1. История Java в двух словах
Введение
Этапы развития Java
Различия ключевых версий Java
Кодирование дженериков в Java 5
Функциональное программирование в Java 8
Модульное программирование - начиная с Java 11
Программирование текстовых блоков и записей -
начиная с Java 17..
Виртуальные потоки в Java 21
Что делать с устаревающими элементами и как их
удалять
Выявление переименований
Преобразование в Jakarta ЕЕ
Переименование сертификаций
Принципы внесения изменений
Дополнительные материалы
Резюме
Глава 2. Освоение IDE: секрет успеха
История IDE
Запуск нового проекта
Создание проекта с нуля
Создание проекта из существующих исходных
кодов
Создание проекта из системы контроля версий
Добавление проекта в систему контроля версий
Добавление модуля в существующий проект
Создание конфигурации запуска
Горячие клавиши
Навигация по кодовой базе
Горячие клавиши копирования и вставки
Переупорядочивайте кода
Другие полезные горячие клавиши
Отладка кода
Отладка программы
Оптимизация производительности отладчика
Удаленная отладка
Отладка с помощью горячей замены
Рефакторинг кода
Избегайте дублирования кода
Переименование членов
Встраивание
Изменение сигнатур: добавление и удаление
параметров
Освоение возможностей редактора
Автоматическое переформатирование кода
Режим колонок (Column Mode)
Расширение IDE
Обзор Eclipse
Обзор VS Code
Сравнение различных IDE
Дополнительные материалы
Резюме
Глава 3. Git, Jira и Confluence в совместной работе в
масштабах предприятия
Совместная работа с помощью Git
Основы Git
Ключевые концепции Git
Различия между коммитами
Отображение статуса Git
Ветвление
Тегирование
Слияние
Чтение логов Git
Индексация изменений
Установка Git
Рабочий процесс Git на примере
Разница между fetch, merge и pull
Игра с ветками
Разрешение конфликтов слияния
Использование пулл- и мердж-реквестов
Использование Git Log
Перебазирование (Rebasing)
Cherry-picking
Возврат и сброс (reverting и resetting)
Оптимизация благодаря IDE-поддержке
Создание файлов README с помощью языка
Markdown
Использование Gitflow при совместной работе
Применение Jira для координации корпоративных
процессов
Начало работы с Jira
Создание проекта
Создание задачи
Связь с эпиком
Работа с досками
Создание спринта
Добавление пользователей
Добавление колонок
Использование фильтров
Просмотр своих задач
Запросы на JQL
Внесение массовых изменений
Интеграция с Git
Работа с Confluence - корпоративной системой
управления знаниями....
Дополнительные материалы
Резюме
Глава 4. Автоматизация CI/CD-сборок с помощью
Maven,
Gradle и Jenkins
Сборка с помощью Maven
Сборка базового проекта Maven
Понятие репозитория Maven и зависимостей
Различия между фазами жизненного цикла
Знакомство с РОМ
Использование распространенных плагинов
Работа с родительским РОМ
Использование других функций Maven
Работа с Maven в IDE
Конфигурация Maven для корпоративной среды
Сборка с помощью Gradle
Сборка базового проекта Gradle
Локальный репозиторий и зависимости в Gradle
Определение переменных
Использование Java-плагина
Работа с Gradle в IDE .
Поиск зависимостей
Интеграция с Jenkins
Установка Jenkins
Знакомство с терминологией Jenkins
Создание заданий
Изучение основных плагинов
Прочие возможности Jenkins
Сканирование с помощью Sonar
Практики CI/CD
Дополнительные материалы
Резюме
Глава 5. Отслеживание состояния приложения при
помощи логирования
Почему не стоит ограничиваться методом
System.out.println?
Использование Java Util Logging
Сравнение уровней логирования
Форматирование значений
Конфигурирование базовых параметров
Настройка места вывода логов
Ленивое (отложенное) логирование
Наследование логгеров
Использование LOG4J
Сравнение уровней логирования
Форматирование значений
Конфигурирование базовых параметров
Сравнение форматов конфигурационных файлов
Настройка места вывода логов
Выбор формата вывода лог-сообщений
Ленивое логирование в Log4j
Использование SLF4J
Пропуск фреймворка логирования
Настройка SLF4J Simple
Сравнение уровней логирования
Форматирование значений
Ленивое логирование в SLF4J
Конфигурирование базовых параметров
Использование SLF4J с другими фреймворками
логирования
Использование Logback
Сравнение уровней логирования
Конфигурирование базовых параметров
Настройка места вывода логов
Выбор формата вывода лог-сообщений
Дополнительные сведения о логировании
Стандарты кодирования
Оптимизация производительности
Выбор языка для логов
Предотвращение фальсификации логов
Агрегация и пересылка логов
Сравнение фреймворков логирования
Дополнительные материалы
Резюме
Глава 6. Знакомство со Spring Framework
Конфигурирование Spring
Использование конфигурационных XML-файлов
Использование Java-классов конфигурации
Использование сканирования компонентов
Настройка приложений Spring с помощью свойств
Внедрение свойств
Конфигурирование свойств для разных окружений
с помощью
профилей Spring
Ускорение разработки с помощью Spring Boot
Инициализация проектов Spring Boot с помощью
Spring Initializr....
Интеграция Initializr в IntelliJ IDEA
Работа со Spring MVC
Обработка ошибок в Spring
Отслеживание состояния приложения с помощью
Actuator
Защита приложения с помощью Spring Security
Знакомство с терминологией информационной
безопасности
Принципы обработки в Spring Security
Обзор проектов Spring
Дополнительные материалы
Резюме
Глава 7. Автоматизация тестирования кода
Основы тестирования
Staging-окружение тестовой директории
Конфигурирование J U nit в сборке Maven
Конфигурирование JUnit в сборке Gradle
Тесты при разработке через тестирование
Знакомство с JUnit
Последовательность выполнения тестов
Пропуск теста
Утверждения
Проверка условий с использованием Assume
Параметризованные тесты
Лучшие библиотеки для тестирования
AssertJ
JUnit Pioneer
Мокирование объектов
Мокирование с помощью Mockito
Мокирование с помощью EasyMock
Мокирование с помощью Spring MockMvc
Измерение покрытия тестами
Расчет покрытия тестами
Просмотр покрытия кода в IDE
Выполнение покрытия кода во время сборки
Оптимизация тестирования с помощью IntelliJ IDEA
Просмотр Assert-сообщений
Запуски тестов
Переход к тесту
Генерация тестов на основе boilerplate-кода с
помощью TestMe
Другие концепции тестирования
Использование BDD
Контрактное тестирование
Golden Master Pattern
Мутационное тестирование
Выбор между DRY и DAMP
Дополнительные материалы
Резюме
Глава 8. Project Lombok: улучшение кода с
помощью аннотаций....
Подготовка среды разработки для Lombok
Установка в IntelliJ IDEA
Установка в Eclipse
Установка в VS Code
Включение в Maven или Gradle
Компиляция с помощью javac
Использование Lombok
Переход на стиль Lombok
Использование универсальной аннотации @Data
Автоматическая генерация методов @Getter и
@Setter
Использование @ToString
Использование @EqualsAndHashCode
Генерация конструкторов с аннотациями
@AllArgsConstructor,
@RequiredArgsConstructor и @NoArgsConstructor
Встраивание логгеров в код с помощью @Log и
других
аннотаций
Обработка кода с помощью delombok
Дополнительные материалы
Резюме
Глава 9. Параллелизация приложения с
использованием конкурентности Java
Основы конкурентности
Решение конфликта при доступе потоков к общим
ресурсам
Атомарные операции
Ключевое слово volatile
Переходы между состояниями потока
Синхронизация
Куча, стек и метапространство
Конкурентные коллекции
Встроенная поддержка конкурентности в Java
Stream
Снижение сложности благодаря компонентам
конкурентности
Блокировка с помощью ReentrantLock
Управление доступом потоков с помощью Phaser
Runnable, Callable и Future
Взаимодействие с ExecutorService
Создание реактивного кода с помощью
CompletableFuture
Знакомство с виртуальными потоками
Межпотоковое взаимодействие
Поддержка конкурентности в Spring Framework
Использование @Async и @EnableAsync
Планирование задач с помощью ©Scheduled
и @EnableScheduling
Запуск потоков с помощью ThreadPoolTaskExecutor
Понимание @Transactional
Дополнительные материалы
Резюме
Глава 10. Регулярные выражения
Введение в регулярные выражения
Основы синтаксиса регулярных выражений
Распространенные квантификаторы
Сопоставление базовых границ
Работа с основными классами символов
Выбор вариантов
Экранирование специальных символов
Использование регулярных выражений с Java API
Методы класса String
Работа с классами Pattern и Matcher
Управление поведением с помощью флагов
Расширенный синтаксис регулярных выражений
Анализ контекста (окружающего текста)
Различия между типами квантификаторов
Выявление типичных ошибок
Программирование с использованием регулярных
выражений
Использование с фреймворками и инструментами
Регулярные выражения для Apache Commons
Validator
Регулярные выражения для J Unit
Регулярные выражения для Log4j
Регулярные выражения для валидации бинов
Регулярные выражения для Spring
Дополнительные материалы
Резюме
Глава 11. Аспектно-ориентированное
программирование
Зачем нужны аспекты?
Создание первого примера
Исследуем язык pointcut-выражений
Подстановочные символы *
Подстановочные символы
Использование @AfterReturning
Использование @AfterThrowing
Использование @After
Использование @Around
Использование @Pointcut
Комбинирование срезов
Pointcut-выражения, основанные на аннотациях
Дополнительные материалы
Резюме
Глава 12. Мониторинг приложений: наблюдаемость
в экосистеме Java
Введение в наблюдаемость
Начало работы с Prometheus
Запуск тестового приложения
Установка экспортера
Установка Prometheus
Настройка скрейпинга
Знакомство с PromQL - языком запросов Prometheus
Использование HTTP API Prometheus
Создание кастомных метрик
Добавляем управление оповещениями
Создаем дашборды с помощью Grafana
Логирование и трассировка
Основные системы распределенного логирования
Реализация трассировки в приложениях Spring Boot
Дополнительные материалы
Резюме
Глава 13. Оптимизация производительности
сервисов
Основные понятия и терминология
Бенчмаркинг
Бенчмаркинг со встроенными Java API
Микробенчмаркинг
Настройка параметров JVM
Настройка параметров памяти
Сборка мусора
Тестирование с помощью JMeter
Создание плана тестирования
Запуск нагрузочного тестирования
Анализ результатов
Использование инструментов JDK
Использование Java Flight Recorder
Визуализация в Java Mission Control
Мониторинг с помощью JConsole
Применение VisualVM
Отчетность с помощью JStat
Оптимизация приложения
Разбор примера
Использование SonarQube
Что можно предпринять для повышения
производительности
Дополнительные материалы
Резюме ?
Глава 14. Знакомство с экосистемой Java
Как писать Javadoc
Сравнение языков JVM
Kotlin
Groovy
Scala
Jakarta ЕЕ
Сравнение баз данных разного типа
Реляционные базы данных
Базы данных NoSQL
Интеграция
Развертывание J ava-приложений
Различие между веб-серверами и серверами
приложений
Использование контейнеров
Развертывание в облаке
Создание REST API
Создание веб-сервисов
Документирование API
Выбор виртуальной машины
Обзор библиотек
Защита приложения
Что такое OWASP Тор 10
Различные типы инструментов безопасности
Отслеживание изменений в экосистеме
Дополнительные материалы
Резюме

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «Java для профи. Инструменты, фреймворки, тестирование, производительность. Spring, Git, Prometheus» (авторы: Граци Виктор, Боярски Жанна), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта