JS Fest 2019/Autumn. Борис Могила. Svelte. Почему нам не нужно run-time ядроJSFestUA
Использование различных фреймворков дает нам возможность писать быстрые приложения с минимальными затратами времени. Но за это наши пользователи платят продолжительностью первой загрузки и трафиком. Я расскажу как можно писать быстрые приложения с гораздо меньшим размером исходного кода с той же удобностью.
Чому саме Vue.js? Бажаєш прокачати свої знання з продуктивного FrontnEnd та отримати нові навички використання прогресивного JavaScript-фреймворка?
Приходь та дізнайся про:
Особливості VueJS в порівнянні з іншими JS Frameworks
Швидкий старт з VueJS
Можливості інтегрування компонентів VueJS у робочі сайти
Можливості розробки додатків для mobile (Android, IOS) платформи
Можливості використання в якості бібліотеки або створення повнорозмірних додатків
Івент буде корисним як для початківців, так і досвідчених фронтенд-розробників. А також всім, хто хоче бути в курсі останніх трендів фронтенд-розробки.
Presentation about capabilities of html5 and when to start using them.
Ehnanced and upgraded version of my previous presentation about html5
There are examples - right here
http://www.slideshare.net/markiyanmatsekh/html5-examples-10660313
JS Fest 2019/Autumn. Борис Могила. Svelte. Почему нам не нужно run-time ядроJSFestUA
Использование различных фреймворков дает нам возможность писать быстрые приложения с минимальными затратами времени. Но за это наши пользователи платят продолжительностью первой загрузки и трафиком. Я расскажу как можно писать быстрые приложения с гораздо меньшим размером исходного кода с той же удобностью.
Чому саме Vue.js? Бажаєш прокачати свої знання з продуктивного FrontnEnd та отримати нові навички використання прогресивного JavaScript-фреймворка?
Приходь та дізнайся про:
Особливості VueJS в порівнянні з іншими JS Frameworks
Швидкий старт з VueJS
Можливості інтегрування компонентів VueJS у робочі сайти
Можливості розробки додатків для mobile (Android, IOS) платформи
Можливості використання в якості бібліотеки або створення повнорозмірних додатків
Івент буде корисним як для початківців, так і досвідчених фронтенд-розробників. А також всім, хто хоче бути в курсі останніх трендів фронтенд-розробки.
Presentation about capabilities of html5 and when to start using them.
Ehnanced and upgraded version of my previous presentation about html5
There are examples - right here
http://www.slideshare.net/markiyanmatsekh/html5-examples-10660313
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.
Як прокачати трьох студентів за п’ять тижнівArtem Henvald
GitHub repository: https://github.com/stfalcon-studio/lost-and-found
Відео з презентації: https://www.youtube.com/watch?v=3EgilE_fpkI
До нас на студію прийшли три студенти проходити практику. Потрібно було дати їм завдання і організувати навчальний процес. Розробляли проект "Бюро знахідок" на PHP Framework Symfony2. Ділюсь своїм досвідом, як я це зробив і що в результаті вийшло.
Imagine that you've been given an old project, a Food Delivery app, with the backend written in Laravel 8 and PHP 8.0. The web and mobile interfaces communicate with the backend through an API, but it's currently performing poorly with an average response time of 600ms. The product owner has requested you to optimize the performance and wonders if it's possible to reduce it by a factor of 10. What would you do?
Topics to be Covered:
Nginx Cache
Rememberable package
Redis Cache
Queues: Redis/SQS
Horizon
Octane: Swoole / Roadrunner
Upgrading PHP and Laravel
While you may be familiar with most of these points and possibly already using them, the focus will be on ensuring that you're using them correctly and effectively. In a real-world example, I will demonstrate how we managed to reduce average response times by 10 times. We'll explore what's hidden under Laravel's package magic and discuss ways to mitigate the negative impact on project performance.
By the end of this performance optimization session, you will not only have improved your performance but also gained a deeper understanding of how to utilize the Laravel framework more efficiently.
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковIgor Bronovskyy
З того часу як Joomla 1.0 відокремилась від CMS Mambo, вона пройшла шлях
від мішанини ООП і функціонального програмування із міксом PHP з HTML,
де часто, заради дрібних правок доводилось правити код самої системи, до
системи на базі MVC-фреймворка. Версія 1.5 принесла нам MVC, систему
подій та зручну шаблонізацію, завдяки яким поняття “хак” практично
зникло. 1.6 та 1.7 стали проміжними на шляху до наступної LTS-версії —
2.5. Цього разу ключовою зміною стало відокремлення Joomla CMS і Joomla
Platform. Joomla 3.0 знову є перехідною, перед виходом 3.5. Перше, що
можна в ній помітити — це направленість на мобільні пристрої та
впровадження Twitter Bootstrap, а разом з ним і jQuery. Також, нарешті,
добавлено модульне тестування. А “під капотом” криється нова концепція
MVC — HMVC.
http://itevent.if.ua/lecture/joomla-3-shcho-novogo-dlya-rozrobnikiv-u-novii-versiyi
"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.
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019QADay
Lviv Quality Assurance Day 2019
ОЛЕГ ЗАРЕВИЧ
«How did we improve delivery using tests»
Telegram: www.t.me/goqameetup
Facebook: www.fb.com/goqaevent
Linkedin: www.linkedin.com/company/goqa/
Сайт: www.qaday.org
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.
Як прокачати трьох студентів за п’ять тижнівArtem Henvald
GitHub repository: https://github.com/stfalcon-studio/lost-and-found
Відео з презентації: https://www.youtube.com/watch?v=3EgilE_fpkI
До нас на студію прийшли три студенти проходити практику. Потрібно було дати їм завдання і організувати навчальний процес. Розробляли проект "Бюро знахідок" на PHP Framework Symfony2. Ділюсь своїм досвідом, як я це зробив і що в результаті вийшло.
Imagine that you've been given an old project, a Food Delivery app, with the backend written in Laravel 8 and PHP 8.0. The web and mobile interfaces communicate with the backend through an API, but it's currently performing poorly with an average response time of 600ms. The product owner has requested you to optimize the performance and wonders if it's possible to reduce it by a factor of 10. What would you do?
Topics to be Covered:
Nginx Cache
Rememberable package
Redis Cache
Queues: Redis/SQS
Horizon
Octane: Swoole / Roadrunner
Upgrading PHP and Laravel
While you may be familiar with most of these points and possibly already using them, the focus will be on ensuring that you're using them correctly and effectively. In a real-world example, I will demonstrate how we managed to reduce average response times by 10 times. We'll explore what's hidden under Laravel's package magic and discuss ways to mitigate the negative impact on project performance.
By the end of this performance optimization session, you will not only have improved your performance but also gained a deeper understanding of how to utilize the Laravel framework more efficiently.
Joomla 3. Що нового для розробників у новій версії - Віталій МаренковIgor Bronovskyy
З того часу як Joomla 1.0 відокремилась від CMS Mambo, вона пройшла шлях
від мішанини ООП і функціонального програмування із міксом PHP з HTML,
де часто, заради дрібних правок доводилось правити код самої системи, до
системи на базі MVC-фреймворка. Версія 1.5 принесла нам MVC, систему
подій та зручну шаблонізацію, завдяки яким поняття “хак” практично
зникло. 1.6 та 1.7 стали проміжними на шляху до наступної LTS-версії —
2.5. Цього разу ключовою зміною стало відокремлення Joomla CMS і Joomla
Platform. Joomla 3.0 знову є перехідною, перед виходом 3.5. Перше, що
можна в ній помітити — це направленість на мобільні пристрої та
впровадження Twitter Bootstrap, а разом з ним і jQuery. Також, нарешті,
добавлено модульне тестування. А “під капотом” криється нова концепція
MVC — HMVC.
http://itevent.if.ua/lecture/joomla-3-shcho-novogo-dlya-rozrobnikiv-u-novii-versiyi
"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.
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019QADay
Lviv Quality Assurance Day 2019
ОЛЕГ ЗАРЕВИЧ
«How did we improve delivery using tests»
Telegram: www.t.me/goqameetup
Facebook: www.fb.com/goqaevent
Linkedin: www.linkedin.com/company/goqa/
Сайт: www.qaday.org
Similar to Global logic tech talk switching to Angular.js (20)
Практика студентів на складі одягу H&M у Польщіtetiana1958
Пропонуємо студентам Державного біотехнологічного університету активно поринути у аспекти логістики складу одягу H&M.
Метою практики є не тільки отримання теоретичних знань, а й їх застосування практично.
До 190-річчя від дня нродження українського письменника Юрія Федьковича пропонуємо переглянути віртуальну книжкову виставку, на якій представлена література про його життєвий шлях і твори автора.
Випуск магістрів- науковців факультету мехатроніки та інжинірингу, 2024 р.tetiana1958
Державний біотехнологічний університет.
Випуск магістрів-науковців факультету мехатроніки та інжинірингу, 2024 р.
Спеціальність 133 "Галузеве машинобудування"
2. Про себе
Розробляв підтримував і розвивав:
● HTML5 Games
● Mobile Web applications
● Desktop web applications
Skype: pavlo.yuriychuck
Twitter: pavlo_yuriychuck
3. Angular.js з точки зору менеджера
● Один постачальник - Google
● Покриває широкий спектр задач
● Спільнота:
○ StackOverflow
○ Google Groups
○ Github issues
● Документація:
○ Книги, туторіали, статті, блоги, відео
● Реклама
● Репутація: Google Closure && GWT
4. Angular.js з точки зору програміста
● Двостороннє зв’язування даних та
представлення
● Модульність
● Багата функціональність “з коробки”
● Інфраструктура веб-додатку
● Документація
● Щось дуже нагадує Adobe Flex ;)
5. Аналіз: за
● Те чого завжди не вистачало у інших
фреймворках: broadcasting, services
● Багато засобів для реалізації
предметної області
● Співмірні з jQuery stack можливості
щодо Ajax. Більш строга модель
Deferred
● Dependency injection
6. Аналіз: проти
● Важка та відносно монолітна. Модульність тільки
з версії 1.2
● Складність вивчення
● Документація - більшість правди ви знайдете в
коментарях до статей ніж у самих статтях ;(
● Пошук помилок та відлагодження займають
багато часу. Малоінформативні повідомлення про
помилки.
● Знову відвикати від Require.js ;(
● Непередбачувані помилки та підводні камені
12. Причини для переходу
1. Багато взаємодій з сервером
2. Складний користувацький інтерфейс
3. Багато компонентів та взаємозв’язків
між ними
4. Складна предметна область
5. Необхідно мати хорошу основу для
майбутніх веб-додатків
13. Причини для непереходу
● Швидке прототипування
● Розробка ігор
● Розробка веб додатків які потребують
оптимізацій щодо швидкості (WebGL,
Realtime rendering, VNC)
● Залежність логіки від Require.js або
YepNope
● Коли “легковісність” критична
15. Предметна область
● Директиви - окремі елементи UI, робота з DOM
● Фільтри - довільні перетворювачі даних
● Провайдери - фабрика яку можна налаштувати
до використання
● Сервіси - бізнес логіка
● Фабрики - універсальне джерело даних,
пристосоване для спільного використання в інших
сервісах
● Декоратори - модифікація поведінки існуючих
сервісів чи фабрик
16. Поради
● Варто одразу писати код minsafe, щоб не було
проблем з мініфікацією коду
● Directives для роботи з DOM, Великі шматки
розмітки у partials/views
● Не виконуйте важких операцій при роботі з
даними які прив’язані до view.
● Якщо у вас одні і ті ж дані представляються у
різних частинах view - зробіть їх копію за
допомогою фільтрів
17. Поради
● $apply() не панацея, її варто використовувати
лише в директивах та тестах
● Забудьте про $.ajax - є $http
● Забудьте про $.Deferred - є $q
● Якщо в контролері з’являються filterByXXX,
groupByYYY, sortByZZZ - виносьте їх одразу у
фільтри
● ng-repeat та ng-include створюють власну область
видимості $scope
18. Ознаки того, що ви на правильному шляху
● Бізнес логіка не сконцентрована в
контролерах
● Ви не використовуєте плагіни jQuery
для всього підряд і вам достатньо jqLite
● Ви можете оцінювати час на розробку
та тестування
● Ви пишете код в термінах предметної
області
19. Перехід
● Навчальний курс
● Youtube канал
● Angular.js recipies - сама корисна книга
;)
● Angular services - що і для чого в
Angular
● Angular scopes - області видимості
● Організація коду
20. Humor
// Insanity Warning: scope depth-first traversal
// yes, this code is a bit crazy, but it works and we have tests to prove it!