Скоро! Сборник TopKotlin + DocJava + Многомодульный Maven, многопоточность, JavaEE (MasterJava) [Java Online Projects]

Статус
В этой теме нельзя размещать новые ответы.

Складчина: Сборник TopKotlin + DocJava + Многомодульный Maven, многопоточность, JavaEE (MasterJava) [Java Online Projects]​

Сборник TopKotlin + DocJava + Многомодульный Maven, многопоточность, JavaEE (MasterJava) [Java Online Projects]


Описание:


Практика на Kotlin
  • Как известно, лучший способ выучить новый язык программирования - это сделать на нем проект.
  • Для Java программистов самый простой и эффективный способ - взять собственный небольшой Spring Boot REST API проект и сделать его миграцию.
  • Вместе с миграцией на Kotlin REST-приложения BootJava, перепиши на него свой проект, добавь репозиторий в своё резюме и получай на 30% больше возможностей!
  • Для миграции рекомендуется взять свой проект, например выпускной TopJava, миграцию TopJava на Spring Boot или любой другой на этом стеке, делая свой Kotlin проект в параллели с занятиями курса.
Спойлер: Программа
Документация
  • Kotlin Docs (на русском ссылки можно заменять на "/ru/", у меня работает только из VPN)
  • Вопросы и ответы для собеседования по Kotlin. Часть 1–4
Инициализация Gradle-Kotlin проекта (открытое занятие)
  • Ссылки
    • Wiki Gradle
    • Understanding the Gradle Build
    • Get started with Kotlin/JVM
  • Клонируем референсный проект
  • Создаем новый Gradle-Kotlin проект
    • Create a Spring Boot project
  • Конфигурируем Gradle
  • Обновляем версии JVM и Kotlin
    • Плагины kotlin-spring и kotlin-JPA
    • Опции компиляции
Resources. Errors. Validation (открытое занятие)
  • Resources
  • Errors
    • IDEA конвертация
    • Открытые классы
    • Multiple classes in one file
    • Nullable and non-nullable types
    • !! operator
  • Validation
    • Kotlin скрипты
    • String templates
    • Single-expression functions
Base interfaces. Transfer Objects. Entities
  • Base interfaces
    • Properties in interfaces
    • Annotation use-site targets
  • Transfer Objects
    • Data classes
    • Generation parameterless constructor
    • Основной конструктор
  • Entities
    • Persistence with JPA
    • Properties
    • Control flow statements
    • Elvis operator
    • Collections overview
    • Secondary constructors
    • Named arguments
Repositories. AuthUser
  • Repositories
    • Spring Data repository default method
    • Java Optionals and Kotlin Nulls
    • Scope functions
    • Scope function selection
  • AuthUser
    • Companion objects
    • Top-level functions
    • Smart casts
    • Preconditions
    • Imports as keyword
Utils. Web validation
  • Utils
    • Object declarations
    • Late-initialized properties
    • Kotlin KClass
  • Web validation
    • When expression
    • Kotlin null-safety ifPresent
    • Return to labels
    • Compile-time constants
Logging. Controllers
  • Logging
    • Kotlin logging
  • Controllers
    • Unit-returning functions
Configuration. Extensions
  • Configuration
    • Kotlin null-safety orElseThrow
    • Checked exceptions
    • Initialize a Map in Kotlin
    • Package kotlin.sequences
    • Difference between constant in companion object and top level
    • Companion object vs top level val
  • Extensions
    • Extensions
    • Extension Oriented Design
Fix. Tests
  • Fix
    • Restrict compiler not to auto-generate getters/setters
  • Tests
    • Named arguments

Работа с документами в Java
  • Работа с документами присутствует в большинстве даже небольших Java проектов.
  • Правильный выбор технологий и фреймворков и уже готовые для использования Java-классы позволяет сэкономить большое количество ресурсов разработчика и компании.
  • Лучший способ обучения программированию - практика!
  • Реализация небольшого консольного приложение на Spring Shell, которое демонстрирует основы эффективной работы с документами
  • XML(JAXB, StAX, XPath, XSLT 2.0, XSD),
  • PDF(Apache FOP, iText PDF), Excel(Apache POI, Jxls)
Спойлер: Программа
Инициализация и валидация (открытое занятие)
  • Создание консольного Spring Shell приложения
  • Создаем usersWithMeals.xml данные пользователей с едой и схему usersWithMeals.xsd
  • Реализация xsd: Validate XML file against XSD (XML Schema)
Commands
  • xsd: Validate XML files against XSD (XML Schema)
  • jaxb: Process XML file via JAXB
  • stax: Process XML file via StAX
  • xpath: Evaluate XPath against XML
  • xslt: Transform XML with XSLT
  • pdf-fop: Convert XML to PDF via Apache FOP
  • iText: Convert XML to PDF via iText PDF
  • excel-poi: Convert XML to Excel via Apache POI
  • jxls: Convert XML to Excel via Apache Jxls
  • html2pdf: Convert HTML to PDF via iText pdfHTML
Parameters
  • -i (input) Input file
  • -o (output) Output file
  • -s (schema) XSD schema file (for xsd)
  • -e (exp) XPath expression (for xpath)
  • -x (xsl) XSL transformation file (for xslt)
  • -e (email) User email (for stax)
  • -f (filter) Filter params: startDate=2023-01-30,endDate=2023-01-30,startTime=11:00,endTime=...
  • -t (template) Transform template file (for pdf/excel transformation)
Ввод
  • XML файл с пользователями и едой
  • XSD схема
Process XML file via JAXB (открытое занятие)
  • Генерируем из XSD схемы Java-классы
  • JAXB unmarshalling (десериализация)
  • Тестирование
  • Обработка Filter params
  • JAXB marshalling (сериализация)
Process XML file via StAX
  • Ищем пользователя с переданным email, фильтруем и маршализуем
  • Тестируем StaxUtil с параметризацией
Вывод:
Evaluate XPath against XML

Transform XML with XSLT
  • Базовая реализация XSLT
  • XSLT 2.0: форматирование времени и даты
  • Вызов методов Java из xslt (Saxon)
  • Добавляем параметры фильтра
Вывод:
  • xslt.html
Convert XML to PDF via Apache FOP
  • Преобразуем XML в XSL-FO (XSLT)
  • Преобразуем XSL-FO в PDF (Formatting Objects Processor)
Вывод:
  • fop.pdf
Convert XML to PDF via iText PDF
  • Создание и вывод PDF документа
  • Регистрация и установка шрифтов
Вывод:
  • itext.pdf
Convert XML to Excel via Apache POI
  • Вывод пользователей в отдельные вкладки (excel sheet)
  • Обработка паттерна ${простая_подстановка_значения}
  • Обработка паттерна #{требуется_модификация_страницы}
  • Добавляем цвет
  • Рефакторинг Util классов
Шаблон:
  • poiTemplate.xlsx
Вывод:
  • poi.xlsx
Convert XML to Excel via Jxls
  • Подготовка к реализации
  • Базовая реализация на основе шаблона
  • Кастомизация: добавляем цвет
Шаблон:
  • jxlsTemplate.xlsx
Вывод:
  • jxls.xlsx
Convert HTML to PDF via iText pdfHTML
  • Ввод: users.html
  • Вывод: users.pdf
:

Многомодульный Maven, многопоточность, JavaEE
  • Многомодульный Maven проект, состоящий из трех веб-приложений (MasterJava)
  • На проекте мы разрабатываем полнофункциональный многомодульный Maven проект, состоящего из трех веб-приложений.
  • Опыт работы с XML(JAXB, StAX, XPath, XSLT), SOAP (JAX-WS, MTOM), JAX-RS (Jersey), JMS (ActiveMQ), AKKA (Typed и Untyped Actors), servlet 3.0, jDBI, миграция базы LiquiBase, Guava, Thymeleaf, Lombok, StreamEx, Typesafe, Config, Java Microbenchmark JMH.
  • Многопоточность – очень важная тема, на собеседованиях о ней спрашивают с особым пристрастием. Guava, веб-сервисы и JMS используются в большинстве коммерческих проектов. Многопоточность и многомодульный Maven присутствуют практически на каждом проекте, с обработкой XML я сталкивался ~ в 60% проектов.
Спойлер: Программа
Открытое занятие 1. Многопоточность
  • Вступление. Многопоточность и параллельность
  • Структура памяти Java. Ленивая инициализация
  • Реализация многопоточности в Java
  • Реализация многопоточной отправки писем. Execution Framework
Занятие 2
  • Разбор ДЗ: многопоточная реализация умножения матриц
  • Java Microbenchmark JMH (от Алексея Шипилева)
  • Формат XML. Создание схемы XSD
  • Работа с XML в Java
  • JAXB, JAXP, StAX, XPath, XSLT
Занятие 3
  • Разбор ДЗ: работа с XML
  • Обзор Guava
  • Монады. flatMap
  • SOA и микросервисы
  • Многомодульный Maven проект
Занятие 4
  • Разбор ДЗ: реализация структуры проекта, загрузка и разбор XML
  • Thymeleaf
  • Maven. Поиск и разрешение конфликтов зависимостей
  • Подключаем логирование с общими настройками
  • Библиотеки и фреймворки для работы с JDBC
  • Модуль persistence
Занятие 5
  • Разбор ДЗ: сохранение в базу в batch-mode с обработкой конфликтов, вставка в несколько потоков
  • Конфигурирование приложения (Typesafe config)
  • Lombok
Занятие 6
  • Разбор ДЗ: доработка модели и модуля export
  • Миграция DB
  • Веб-сервисы (REST/SOAP)
  • Java реализация SOAP
  • Имплементируем Mail Service
Занятие 7
  • Разбор ДЗ: реализация MailSender, сохранение результатов отправки в DB, импорт проектов и групп
  • Стили WSDL. Кастомизация WSDL
  • Публикация кастомизированного WSDL. Автогенерация
  • Деплой в Tomcat
  • Создание клиента почтового сервиса
  • Реализация массовой и групповой отправки почты. HW7
Занятие 8
  • Разбор ДЗ: делаем общий mailService.wsdl, обновление WSDL, отправка почты из модуля webapp
  • Доступ к переменным Maven в приложении
  • SOAP Exception. Выделение общей части схемы
  • Коррекция схемы
  • Добавление Maven плагинов:
    • copy-rename-maven-plugin
    • maven-antrun-plugin
    • liquibase-maven-plugin
Занятие 9
  • Разбор ДЗ: реализация вложений в веб-сервисе, подключение MTOM, реализация загрузки вложений в модуле webapp, реализация вложений в почте
  • JAX-WS Message Context. Авторизация
  • JAX-WS Handlers (логирование SOAP)
  • Домашнее задание. Статистика
Занятие 10
  • Разбор ДЗ: реализация SOAP handlers, конфигурирование сервисов
  • JavaEE
  • JAX-RS. Интеграция с Jersey
  • JMS. Интеграция с ActiveMQ
Занятие 11
  • Авторизация в контейнере Tomcat
  • Отправка почты с вложениями по JAX-RS, по JMS
  • Рефакторинг: исключения в лямбдах Java 8
  • Concurrent and distributed applications toolkit AKKA
  • Отсылка почты через AKKA Actors (Typed и Untyped Actors)
  • Асинхронные сервлеты 3.0
Заключение
  • Разбор ДЗ: решения с асинхронными сервлетами
  • Выбор языка программирования
14-дневный интенсив по поиску работы
  • День 1. Составим карьерную стратегию
  • День 2. Научишься откликаться на вакансии
  • День 3. Создашь работающее резюме
  • День 4–5. Научишься писать сопроводительные письма и оформлять портфолио
  • День 6–7. Составишь профиль на LinkedIn и научишься искать на нем работу
  • День 8–13. Активный поиск работы по плану
  • День 14. Разбор твоих результатов

Цена 5750 руб.
Скрытая ссылка

Материал «Сборник TopKotlin + DocJava + Многомодульный Maven, многопоточность, JavaEE (MasterJava) [Java Online Projects]», возможно, скоро появится на SHAREWOOD.
Воспользуйтесь поиском, может быть, он уже опубликован.
 
Статус
В этой теме нельзя размещать новые ответы.

Последние темы автора

SHAREWOOD
Ответы
0
Просмотры
2
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
9
SHAREWOOD
SHAREWOOD

Похожие темы

SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
3K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
1K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
Сверху Снизу