Павло Юрійчук — Перехід на Angular.js. Howto
1.Що таке Angular.JS на думку Менеджера і Розробника
2. Екосистема для розробки на Angular.JS
3. Причини для переходу і непереходу на Angular.JS
4. Предметна область, поради, книги
5. Ознаки, що Ви на вірному шляху
Цю презентацію значно доповнює схожа, але трохи інша. англомовна презентація Павла: "Pavlo Yuriychuk — Switching to Angular.js. Silk way"
"Elements of functional programming in C# based on Language-Ext library as an...Fwdays
The functional programming elements are increasingly appearing in C# programming language every year. However, there are still elements for which there is no native support in the language. It is not always appropriate or possible to change the language to another, where there are such elements. Based on Language-Ext library as an example, which is widely used in the development by Uklon, we will analyse the most useful and popular elements of functional programming that have been already implemented in this library.
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...DevOps_Fest
TuchaKube - платформа, яка забезпечує автоматизацію CI/CD-процесів та хостинг контейнерів у Kubernetes-кластері. Платформа дозволяє тримати код аплікацій в наданому платформою Git-репозиторії, керувати процесом розробки за допомогою наданого платформою GitLab, автоматично запускати компіляцію, тестування та деполймент в Kubernetes-кластер. Доповідь містить опис принципів роботи платформи та коротку демонстрацію основних функцій.
We at MacPaw practice the approach of service teams. And as one of such teams, the responsibility for delivering software across various environments, from testing to production, falls on our shoulders. In this presentation, I will explain how we are trying to standardize our approach to software delivery in environments with diverse tech stacks and development approaches. The presentation will cover methods such as GitOps, dynamic environments, and event-based software delivery.
Павло Юрійчук — Перехід на Angular.js. Howto
1.Що таке Angular.JS на думку Менеджера і Розробника
2. Екосистема для розробки на Angular.JS
3. Причини для переходу і непереходу на Angular.JS
4. Предметна область, поради, книги
5. Ознаки, що Ви на вірному шляху
Цю презентацію значно доповнює схожа, але трохи інша. англомовна презентація Павла: "Pavlo Yuriychuk — Switching to Angular.js. Silk way"
"Elements of functional programming in C# based on Language-Ext library as an...Fwdays
The functional programming elements are increasingly appearing in C# programming language every year. However, there are still elements for which there is no native support in the language. It is not always appropriate or possible to change the language to another, where there are such elements. Based on Language-Ext library as an example, which is widely used in the development by Uklon, we will analyse the most useful and popular elements of functional programming that have been already implemented in this library.
DevOps Fest 2020. Володимир Мельник. TuchaKube - перша українська DevOps/Host...DevOps_Fest
TuchaKube - платформа, яка забезпечує автоматизацію CI/CD-процесів та хостинг контейнерів у Kubernetes-кластері. Платформа дозволяє тримати код аплікацій в наданому платформою Git-репозиторії, керувати процесом розробки за допомогою наданого платформою GitLab, автоматично запускати компіляцію, тестування та деполймент в Kubernetes-кластер. Доповідь містить опис принципів роботи платформи та коротку демонстрацію основних функцій.
We at MacPaw practice the approach of service teams. And as one of such teams, the responsibility for delivering software across various environments, from testing to production, falls on our shoulders. In this presentation, I will explain how we are trying to standardize our approach to software delivery in environments with diverse tech stacks and development approaches. The presentation will cover methods such as GitOps, dynamic environments, and event-based software delivery.
2. SLIDESMANIA.C
Патерн проектування — це типовий спосіб вирішення
певної проблеми, що часто зустрічається при проектуванні
архітектури програм.
3. SLIDESMANIA.C
SLIDESMANIA.C
Перевірені рішення. Ви витрачаєте менше часу, використовуючи готові
рішення, замість повторного винаходу велосипеда. До деяких рішень
ви могли б дійти й самотужки, але багато які з них стануть для вас
відкриттям.
Стандартизація коду. Ви робите менше прорахунків при проектуванні,
використовуючи типові уніфіковані рішення, оскільки всі приховані в
них проблеми вже давно знайдено.
Загальний словник програмістів. Ви вимовляєте назву патерна, замість
того, щоб годину пояснювати іншим програмістам, який крутий дизайн
ви придумали і які класи для цього потрібні.
Навіщо знати паттерни?
4. SLIDESMANIA.C
Типи паттернів
● Породжуючі патерни піклуються
про гнучке створення об’єктів
без внесення в програму зайвих
залежностей.
● Структурні патерни показують
різні способи побудови зв’язків
між об’єктами.
● Поведінкові патерни піклуються
про ефективну комунікацію між
6. SLIDESMANIA.C
SLIDESMANIA.C
Фабричний метод — це породжувальний патерн проектування,
який визначає загальний інтерфейс для створення об’єктів у
суперкласі, дозволяючи підкласам змінювати тип
створюваних об’єктів.
7. SLIDESMANIA.C
SLIDESMANIA.C
Позбавляє клас від прив’язки до
конкретних класів продуктів.
Виділяє код виробництва
продуктів в одне місце,
спрощуючи підтримку коду.
Спрощує додавання нових
продуктів до програми.
Реалізує принцип
відкритості/закритості.
Може призвести до створення
великих паралельних ієрархій
класів, адже для кожного класу
продукту потрібно створити
власний підклас творця.
8. SLIDESMANIA.C
SLIDESMANIA.C
Абстрактна фабрика — це породжувальний патерн
проектування, що дає змогу створювати сімейства пов’язаних
об’єктів, не прив’язуючись до конкретних класів
створюваних об’єктів.
9. SLIDESMANIA.C
SLIDESMANIA.C
Гарантує поєднання створюваних
продуктів.
Звільняє клієнтський код від
прив’язки до конкретних класів
продукту.
Виділяє код виробництва
продуктів в одне місце,
спрощуючи підтримку коду.
Спрощує додавання нових
продуктів до програми.
Реалізує принцип
відкритості/закритості.
Ускладнює код програми
внаслідок введення великої
кількості додаткових класів.
Вимагає наявності всіх типів
продукту в кожній варіації.
10. SLIDESMANIA.C
SLIDESMANIA.C
Декоратор — це структурний патерн проектування, що дає
змогу динамічно додавати об’єктам нову функціональність,
загортаючи їх у корисні «обгортки».
11. SLIDESMANIA.C
SLIDESMANIA.C
Більша гнучкість, ніж у
спадкування.
Дозволяє додавати обов’язки «на
льоту».
Можна додавати кілька нових
обов’язків одразу.
Дозволяє мати кілька дрібних
об’єктів, замість одного об’єкта
«на всі випадки життя».
Важко конфігурувати об’єкти, які
загорнуто в декілька обгорток
одночасно.
Велика кількість крихітних
класів.
12. SLIDESMANIA.C
SLIDESMANIA.C
Стратегія — це поведінковий патерн проектування, який
визначає сімейство схожих алгоритмів і розміщує кожен з них у
власному класі. Після цього алгоритми можна заміняти один на
інший прямо під час виконання програми.
13. SLIDESMANIA.C
SLIDESMANIA.C
Гаряча заміна алгоритмів на
льоту.
Ізолює код і дані алгоритмів від
інших класів.
Заміна спадкування
делегуванням.
Реалізує принцип
відкритості/закритості.
Ускладнює програму внаслідок
додаткових класів.
Клієнт повинен знати, в чому
полягає різниця між стратегіями,
щоб вибрати потрібну.
14. SLIDESMANIA.C
SLIDESMANIA.C
Ланцюжок обов’язків — це поведінковий патерн проектування,
що дає змогу передавати запити послідовно ланцюжком
обробників. Кожен наступний обробник вирішує, чи може він
обробити запит сам і чи варто передавати запит далі
ланцюжком.
15. SLIDESMANIA.C
SLIDESMANIA.C
Зменшує залежність між клієнтом
та обробниками.
Реалізує принцип єдиного
обов’язку.
Реалізує принцип
відкритості/закритості.
Запит може залишитися ніким не
опрацьованим.
17. SLIDESMANIA.C
Домашнє
завдання
Завдання 1.
Розробка системи керування різними типами транспортних засобів вантажоперевезення.
1. Абстрактна фабрика (Abstract Factory) може бути використана для створення різних
типів фабрик, які створюють об'єкти конкретних типів транспортних засобів (наприклад,
автомобілів, вантажівок, морських суден тощо) в залежності від потреб користувача. Кожна
фабрика міститиме методи для створення конкретних об'єктів транспортних засобів.
2. Фабрика (Factory) може бути використана для створення об'єктів різних типів
причепів для вантажівок, залежно від їхньої ваги та розміру. Кожен тип причепа буде мати свою
власну фабрику, що створює конкретний причіп з необхідними характеристиками.
3. Декоратор (Decorator) може бути використаний для додавання додаткових функцій
до транспортних засобів. Наприклад, можливість додати систему GPS-навігації, систему контролю
витрат палива, систему відеоспостереження та інші функції.
Отже, завдання полягатиме у розробці системи керування транспортними засобами
вантажоперевезення, яка буде використовувати паттерни Abstract Factory, Factory та Decorator
для створення та налаштування різних типів транспортних засобів та їхніх додаткових функцій.
Список літератури:
1. Паттерни проєктування (Refactoring guru)
2. Python Design Patterns Tutorial
18. SLIDESMANIA.C
Створити програму для відтворення музики.
Користувач може відтворювати різні формати файлів,
такі як mp3, wav або flac. Кожен формат файлу
повинен мати свій власний спосіб відтворення.