SlideShare a Scribd company logo
1 of 164
Download to read offline
Герасимчук Єгор
Co-founder & CTO
Dotsplatform.com
yehor@dotsplatform.com
Герасимчук Єгор
● Co-Founder & CTO @ Dots Platform
● Certified Laravel Developer
● Більше 10 років у розробці
● Автор телеграм каналу ASAP Developer де розповідаю про
продуктову розробку
● Розповідаю про архітектуру і бекенд у своєму ютуб каналі
● Автор і ментор курсів по Laravel та PHP
● У вільний час пишу код для себе, і навіть одного разу став
переможцем UaWebChallenge
3
Спойлер:
Сьогодні буде багато слайдів.
Cлайдів з кодом
Як оптимізувати сервіс на PHP?
Перепишіть все на closure
“
Не займаєтесь предчасною
оптимізацією. 80% коду будуть
використовуватись менше 1%
користувачами.
Куди витрачається час взагалі?
1. Network & Webserver
1. Network & Webserver
2. Ініціалізація фреймворку
1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
6. Обробка і видача даних
1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
6. Обробка і видача даних
7. Завантаження даних користувачем
Типове розподілення часу виконання запиту
На що ми можемо вплинути?
В теоріі - на все
1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
6. Обробка і видача даних
7. Завантаження даних користувачем
Який ідеальний - реальний результат?
Як?
Хто використовує Nginx?
Nginx proxy cache
Nginx кешування - це найпростіше і найефективніше
рішення, що можна зробити
Nginx
Database
PHP
App
20 ms
40 ms
730 ms
Додамо Nginx cache
Nginx: 8001
Database
PHP
App
20 ms
40 ms
730 ms
Nginx: 443
Proxy cache
Ми закешували всі публічні API запити на 3 хвилини.
https://t.me/asapdeveloper/56
Результат кешування за допомогою Nginx Cache
Типове розподілення часу виконання запиту
Найбільше часу займають запити до БД
Що можна зробити?
1. Оптимізувати запити
2. Закешувати запити
3. Оптимізувати код (N+1)
1. Оптимізувати запити
2. Закешувати запити
3. Оптимізувати код (N+1)
composer require watson/rememberable
https://github.com/dwightwatson/rememberable
“
Перший раз - 5 запитів
a. 0
b. 1
c. 4
d. 5
А другий?
a. 0
b. 1
c. 4
d. 5
А другий?
Залежності треба кешувати окремо.
В цей раз залежності кешуються.
І буде 0 запитів.
Кеш наше все.
Але що ще?
1. Network & Webserver
2. Ініціалізація фреймворку
3. Запити до БД
4. Запити до зовнішніх АПІ
5. Бізнес логіка
6. Обробка і видача даних
7. Завантаження даних користувачем
Як можна швидко оптимізувати код?
Не переписуючи
Швидко - OPCache
https://medium.com/@edouard.courty/make-your-php-8-apps-twice-as-fast-opcache-jit-8d3542276595
Swoole / Roadrunner
Laravel Octane
https://laravel.com/docs/10.x/octane
Laravel Octane наркотики для
застосунку.
Octane завантажує код один раз в
оперативну пам’ять, а потім передає їй
запити на надзвуковій швидкості.
Ми прописали 3 строчки коду
Конфігурація vapor.yml
Але
Оскільки код завантажується в пам'ять - всі
класи повинні бути Stateless
Не використовуйте
View::share
Якщо користувач зайшов на сторінку архіву
компанії - компанія може бути виведена на
сторінці архіву
Static instances || Stateful Singletons
2 користувачі з різними куками
account=burgers
account=pizza
Можлива ситуація коли користувачеві з
аккаунту burgers покажуться замовлення
аккаунту pizza
Тому статичних інстансів краще уникати з
octane.
Або робити іх під кожен реквест
Ми намагаємося уникати таких класів, але
є те шо є.
Це точно вартує результату
Що ще можна зробити?
Зменшити кількість даних в відповідях
Тут все специфічно під проект
Так ось, на цій сторінці кожне замовлення
рендерило +40-50Кб тексту
200 Активних замовлень -
10 Мб html
Знаю, що ви подумали.
Ми зробили 2 речі:
- Оптимізували сам код - найскладніший шлях
- Мінімізували html
Зараз 800 активних замовлень на сторінці
займають 5 Мб Html
1 замовлення 5-6 Кб
“
Слідкуйте за кількістю даних
Що ще?
Upgrade PHP & Laravel
Навіть консольні команди
Але після оновлення
PHP 8.1 -> PHP 8.2
Laravel 9 -> Laravel 10
Після апгрейду php 8.2 та laravel 10
приросту по швидкості не отримали, але
швидше фічі робити стали
Але це не точно
“
Продакт каже: АПІ працює супер швидко.
Замовлення створюються дуже повільно.
Користувач чекає 2-3 секунди. Треба
швидко. Супер швидко. Зробіть, що
небудь.
Закатуємо рукава, і дивимся в код
Це супер
Та взагалі ідеально, де проблема то?
Проблема в тому, що ми синхронно
створюємо замовлення. І в нас 100+
запитів до БД
Ще запити до внутрішніх сервісі і сторонніх
АПІ.
Що робити?
Queues
Redis/SQS чи що завгодно
Використовуйте або повертайте ID(UUID),
замість всієі моделі.
“
Продакт: Хлопці, ви красунчики, тепер
користувач відразу бачить, що
замовлення створюється. Але довго
чекає створення .
Рознесемо процес створення замовлення
через черги
“
Продакт: Це magic. Для користувача все
стало супер. Але що там у вас по
навантаженню після релізу черг?
Але щось пішло не так
Передаємо тільки id моделей і дані
Якщо у вас Laravel, черги на Redis і немає
Laravel Horizon - то я вам заздрю
Laravel Horizon - супер потужний
інструмент для моніторингу ваших черг.
https://laravel.com/docs/10.x/horizon
Резюме
1. Nginx Proxy Cache
2. Cache DB queries with watson/rememberable
3. Upgrade PHP & Laravel
4. PHP-FPM Opcache
5. Laravel Octane
6. Minimise HTML
7. Queues Relations: ID vs models
Звісно це не все, є ще чекліст по перфомансу Laravel. Гарна ідея перевірити,
що у вас все ок!
https://laravel-news.com/performance-checklist
https://t.me/asapdeveloper https://youtube.com/@YehorHerasymchuk
Герасимчук Єгор
Co-founder & CTO
Dotsplatform.com
yehor@dotsplatform.com

More Related Content

Similar to "Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor Herasymchuk

Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET МіфиSerhiy Kalinets
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...Andrii Podanenko
 
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ..."Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...Fwdays
 
"Rethinking Continuous Delivery", Andrii Nasinnyk
"Rethinking Continuous Delivery",  Andrii Nasinnyk"Rethinking Continuous Delivery",  Andrii Nasinnyk
"Rethinking Continuous Delivery", Andrii NasinnykFwdays
 
"Instant loading: Improving your website speed", Yozhef Hisem
"Instant loading: Improving your website speed",  Yozhef Hisem"Instant loading: Improving your website speed",  Yozhef Hisem
"Instant loading: Improving your website speed", Yozhef HisemFwdays
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Drupal Camp Kyiv
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3Inna Tuyeva
 
Alexey Borisenko - Network Programmability using Python
Alexey Borisenko - Network Programmability using PythonAlexey Borisenko - Network Programmability using Python
Alexey Borisenko - Network Programmability using PythonPyCon Odessa
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net eleksdev
 
ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»
ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»
ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»GoQA
 
"Incremental rollouts and rollbacks with business metrics control at every st...
"Incremental rollouts and rollbacks with business metrics control at every st..."Incremental rollouts and rollbacks with business metrics control at every st...
"Incremental rollouts and rollbacks with business metrics control at every st...Fwdays
 
Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020Stfalcon Meetups
 
Автоматизація створення контенту. Анастасія Красюкова
Автоматизація створення контенту. Анастасія КрасюковаАвтоматизація створення контенту. Анастасія Красюкова
Автоматизація створення контенту. Анастасія КрасюковаCollaborator.pro
 
Як робити рефакторинг в продукті з бурхливою історією
Як робити рефакторинг в продукті з бурхливою історієюЯк робити рефакторинг в продукті з бурхливою історією
Як робити рефакторинг в продукті з бурхливою історієюAleksandr Brychuk
 
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....HOWWEDOIT
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy KharytonskiyFwdays
 
AngularJS on Javascript User Group, Lviv
AngularJS on Javascript User Group, LvivAngularJS on Javascript User Group, Lviv
AngularJS on Javascript User Group, LvivDmitriy Hunkin
 

Similar to "Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor Herasymchuk (20)

Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET Міфи
 
природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...природна і економна дорожня карта для переходу команди розробки на тест центр...
природна і економна дорожня карта для переходу команди розробки на тест центр...
 
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ..."Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
"Simplifying the Complex: Effective Management of Large-Scale PHP Projects", ...
 
"Rethinking Continuous Delivery", Andrii Nasinnyk
"Rethinking Continuous Delivery",  Andrii Nasinnyk"Rethinking Continuous Delivery",  Andrii Nasinnyk
"Rethinking Continuous Delivery", Andrii Nasinnyk
 
"Instant loading: Improving your website speed", Yozhef Hisem
"Instant loading: Improving your website speed",  Yozhef Hisem"Instant loading: Improving your website speed",  Yozhef Hisem
"Instant loading: Improving your website speed", Yozhef Hisem
 
Порівняння Drupal та Typo3
Порівняння Drupal та Typo3Порівняння Drupal та Typo3
Порівняння Drupal та Typo3
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3
 
Xdebug (ukr)
Xdebug (ukr)Xdebug (ukr)
Xdebug (ukr)
 
Alexey Borisenko - Network Programmability using Python
Alexey Borisenko - Network Programmability using PythonAlexey Borisenko - Network Programmability using Python
Alexey Borisenko - Network Programmability using Python
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net
 
ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»
ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»
ОЛЕГ ЗАРЕВИЧ «Shift left та Shift Right підходи до тестування»
 
"Incremental rollouts and rollbacks with business metrics control at every st...
"Incremental rollouts and rollbacks with business metrics control at every st..."Incremental rollouts and rollbacks with business metrics control at every st...
"Incremental rollouts and rollbacks with business metrics control at every st...
 
ASP.Net basics
ASP.Net basics ASP.Net basics
ASP.Net basics
 
Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020
 
Автоматизація створення контенту. Анастасія Красюкова
Автоматизація створення контенту. Анастасія КрасюковаАвтоматизація створення контенту. Анастасія Красюкова
Автоматизація створення контенту. Анастасія Красюкова
 
Як робити рефакторинг в продукті з бурхливою історією
Як робити рефакторинг в продукті з бурхливою історієюЯк робити рефакторинг в продукті з бурхливою історією
Як робити рефакторинг в продукті з бурхливою історією
 
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
 
Html5 - ready yet?(ukr)
Html5 - ready yet?(ukr)Html5 - ready yet?(ukr)
Html5 - ready yet?(ukr)
 
AngularJS on Javascript User Group, Lviv
AngularJS on Javascript User Group, LvivAngularJS on Javascript User Group, Lviv
AngularJS on Javascript User Group, Lviv
 

More from Fwdays

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...Fwdays
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil TopchiiFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro SpodaretsFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym KindritskyiFwdays
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...Fwdays
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...Fwdays
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...Fwdays
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...Fwdays
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...Fwdays
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...Fwdays
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...Fwdays
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...Fwdays
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra MyronovaFwdays
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...Fwdays
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...Fwdays
 

More from Fwdays (20)

"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
 
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T..."How Ukrainian IT specialist can go on vacation abroad without crossing the T...
"How Ukrainian IT specialist can go on vacation abroad without crossing the T...
 
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ..."The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
"The Strength of Being Vulnerable: the experience from CIA, Tesla and Uber", ...
 
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu..."[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
"[QUICK TALK] Radical candor: how to achieve results faster thanks to a cultu...
 
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care..."[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
"[QUICK TALK] PDP Plan, the only one door to raise your salary and boost care...
 
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"..."4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
"4 horsemen of the apocalypse of working relationships (+ antidotes to them)"...
 
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast..."Reconnecting with Purpose: Rediscovering Job Interest after Burnout",  Anast...
"Reconnecting with Purpose: Rediscovering Job Interest after Burnout", Anast...
 
"Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others..."Mentoring 101: How to effectively invest experience in the success of others...
"Mentoring 101: How to effectively invest experience in the success of others...
 
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova"Mission (im) possible: How to get an offer in 2024?",  Oleksandra Myronova
"Mission (im) possible: How to get an offer in 2024?", Oleksandra Myronova
 
"Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv..."Why have we learned how to package products, but not how to 'package ourselv...
"Why have we learned how to package products, but not how to 'package ourselv...
 
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin..."How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
"How to tame the dragon, or leadership with imposter syndrome", Oleksandr Zin...
 

"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor Herasymchuk