Открыто

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

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 13 дек 2025.

Основной список: 4 участников

  1. 13 дек 2025
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

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

    upload_2025-12-13_16-30-29.png
    upload_2025-12-13_16-39-31.png upload_2025-12-13_16-39-43.png

    Практика на 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 руб.
    Скрытая ссылка
     
    1 человеку нравится это.
  2. Последние события

    1. JeBern
      JeBern участвует в складчине.
      20 дек 2025
    2. FromKrit
      FromKrit участвует в складчине.
      13 дек 2025
    3. Lilla My
      Lilla My участвует в складчине.
      13 дек 2025
    4. rus_imperial
      rus_imperial участвует в складчине.
      13 дек 2025