Джокер
Администратор
- Регистрация
- 1 Янв 2015
- Сообщения
- 124.912
- Реакции
- 75.774
Складчина: Сборник 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 с параметризацией
Вывод:
stax.xml (для [email protected])
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 руб.
СКАЧАТЬ СЛИВЫ КУРСОВ
Практика на 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 с параметризацией
Вывод:
stax.xml (для [email protected])
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 руб.
СКАЧАТЬ СЛИВЫ КУРСОВ
Для возможности скачивать складчины и сливы курсов нужно зарегистрироваться
Возможно, Вас ещё заинтересует:
- Матрицы: задачи с алгосекций [balun.courses] [Владимир Балун]
- Игра Лила. Полное описание клеток и правил. Авторский метод психологии души [Лидия Васильева]
- Новогодний марафон "Творец новой игры" (2024) [Лиана Николо]
- Корейский язык. Уровень 4 [Тариф Пап] [Юна]
- 100 рецептов маорийской кухни [Первый Цифровой]
- 100 рецептов сомалийской кухни [Первый Цифровой]
- [Декор] Инкрустация одежды и обуви [crystal.beetle]
- 100 рецептов каракалпакской кухни [Первый Цифровой]
- [Выкройки] Рубашка 81. Размер 42-48. Рост 170-176 [mialine]
- Видеокурс по эротическому массажу [Массаж для неё] [Alex_Briga]