Зміст
- Gradle Build Tool
- Міграція баз даних | Liquibase
- Огляд проєкту на Spring Security (Oauth2)
- JSON Web Token | JWT
- Основи Apache Kafka
- Збір метрик Spring Boot Actuator за допомогою Prometheus та Grafana
- EventListeners та Spring Logs
- Spring Rest Repositories, RabbitMQ та New Relic
- Інтернаціоналізація додатків
- CI/CD
Gradle Build Tool
Gradle — це один із інструментів складання (збирання), доступних для Java. Він використовує предметно-орієнтовану мову (Domain-Specific Language) на основі Groovy для розробки структури проєкту. Що відрізняється від Maven, який використовує XML для конфігурації свого проєкту.
Він використовує DAG (спрямований ациклічний граф) визначення порядку виконання завдання. Пропонує еластичну модель, яка може допомогти у життєвому циклі розробки від компіляції та пакування коду для вебдодатків та мобільних додатків.
Gradle забезпечує інтеграцію з декількома інструментами розробки та серверами: IntelliJ IDEA, Eclipse, Jenkins та Android Studio.
Деякі переваги Gradle полягають у наступному:
- Gradle дозволяє нам писати сценарій збирання на Java.
- Він простий у використанні та обслуговуванні.
- Він підтримує керування залежностями.
- Він забезпечує високу продуктивність та масштабованість збірок.
- Він підтримує багатопроєктну структуру.
- Легко перейти на Gradle з Maven або інших інструментів складання.
Міграція баз даних | Liquibase
Екосистема даних підприємства складається з безлічі застарілих та сучасних додатків. Згодом компанія може ухвалити рішення про перехід з існуючої бази даних для економії витрат, підвищення надійності, масштабованості або досягнення будь-якої іншої мети. Цей процес переміщення даних з одного місця до іншого відомий як міграція бази даних.
Міграція даних включає перенос даних з однієї системи баз даних до іншої, зазвичай при переході від старої системи до нової. Він включає переміщення даних з вихідної бази даних, їх перетворення і переформатування в міру необхідності і завантаження до цільової бази даних.
Огляд проєкту на Spring Security (Oauth2)
У відео буде розбір роботи програми з використанням Spring Security та Oauth2
JSON Web Token | JWT
Багато програм використовують вебтокени JSON (JWT), для безпечної передачі інформації між двома сторонами. Його можна використовувати для системи автентифікації та обміну інформацією.
Цю інформацію можна перевірити і їй можна довіряти, оскільки вона має цифровий підпис.
Основи Apache Kafka
Це розподілена система обміну повідомленнями між серверними програмами в режимі реального часу. Використовується для високопродуктивних конвеєрів даних, потокової аналітики, інтеграції даних та критично важливих програм.
LinkedIn розробив Kafka у 2011 році як високопродуктивний брокер повідомлень для власного використання, потім відкрив вихідний код та передав Kafka компанії Apache Software Foundation
Кафка має основні можливості:
- Дозволяє програмам публікувати або підписуватися на потоки даних або подій.
- Зберігає записи точно в тому порядку, в якому вони відбулися. Відмовостійким та надійним способом.
- Обробляє записи в режимі реального часу (в міру їх виникнення).
Збір метрик Spring Boot Actuator за допомогою Prometheus та Grafana
Уяви, що в тебе є програма Spring Boot, яка одночасно обслуговує тисячі користувачів. Без моніторингу ти не отримаєш детальну інформацію про продуктивність, працездатність твоєї програми та наявність будь-яких основних проблем.
Prometheus та Grafana пропонують потужне рішення для моніторингу додатків Spring Boot. Prometheus збирає показники та управляє оповіщеннями, а Grafana візуалізує матриці та управляє оповіщеннями. Разом вони допомагають виявляти та усувати проблеми до того, як вони торкнуться користувачів.
EventListeners та Spring Logs
Патерн EventListener (також відомий як Observer, Listener або Publisher-Subscriber) — це шаблон проэктування, який дозволяє об'єктам підписуватись на події, що відбуваються в інших об'єктах, та реагувати на них.
Суть цього патерну полягає у створенні двох об'єктів: видавця (Publisher) та передплатника (Subscriber). Видавець відповідає за генерацію подій та повідомлення передплатників про подію, а передплатник реагує на цю подію, виконуючи відповідні дії.
Spring Logs — важливий інструмент для налагодження та моніторингу програм. Вони є записами подій і дій, які відбуваються в додатку, і можуть містити інформацію про помилки, попередження, інформаційні повідомлення та інші події.
Spring Rest Repositories, RabbitMQ та New Relic
Інтернаціоналізація програм
Інтернаціоналізація — це процес, який дозволяє твоїй програмі адаптуватися до різних мов та регіонів без технічних змін у вихідному коді. Іншими словами, інтернаціоналізація — це готовність до локалізації.
CI/CD
Continuous Integration (безперервна інтеграція) та Continuous Delivery (безперервне постачання). Дозволяє забезпечити послідовне та автоматизоване складання, упаковку та тестування додатків. CI/CD є поширеною DevOps-практикою.
Знайомство з мікросервісною архітектурою
Сьогодні ми розбиратимемося з мікросервісами, одним із тих трендів програмування, який продовжує набирати обертів, але при цьому викликає масу суперечок. Тільки це велика і серйозна тема, і вона вимагає глибокого занурення в робочі процеси.
На даному етапі ми пропонуємо вам не курс, але огляд цієї архітектури.
З нього ви зрозумієте, де і як працюють мікросервіси, для чого вони потрібні та як ними користуються. Ми розповімо, як виглядає процес реальної сучасної розробки у великих командах і спробуємо разом із лектором написати простий додаток із мікросервісами від проектування до реалізації та розгалуження. Це буде інструмент, що дозволяє користувачеві надати посилання на GitHub-репозиторій, автоматично завантажувати вихідний код, компілювати його з використанням Maven або Gradle, а потім створювати посилання на зібраний продукт, щоб користувач міг його завантажити. По суті, це буде хмарна система для збирання коду.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ