"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.
Continuous Integration - одна з найважливіших інженерних практик розробки програмного забезпечення що допомагає організувати неперервний процес з автоматизованим контролем якості продукту. В доповіді буде розглянуто розробка за допомогою практики CI, організація процесу, інструменти, додаткові переваги та приклади автоматизиці для різних типів проектів. Слухачі зможуть отримати знання про основні способи організації continuous integration, практики та техніки вирішення проблем, що виникають при автоматизації.
• Що таке continuous integration (CI)?
• Побудова фічі з CI
• Практики та Переваги
• Впровадження
• Інструменти
• Приклади проектів -
Java, PHP, Android
• Висновки
Як перевіряти файли (документи) на наявність активного (шкідливого) вмісту:
• Розглянув роботу з документами MS Office, PDF, LNK та архівами.
• Показав основні типи активної начинки, через яку пробують інфікувати системи.
• Показав роботу з онлайн інструментами та з інструментами статичного аналізу.
• Дав поради по налаштуванню тестового середовища.
Запис можете подивитись тут https://youtu.be/U8uRqq5pC5U?t=205
Будьте здорові, уважні та обережні. Слава Україні.
#OptiData #InformationSecurity #Security
#Інформаційнабезпека #безпека
#malware #sandbox #перевірка #аналіз #пісочниця
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.
"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.
Continuous Integration - одна з найважливіших інженерних практик розробки програмного забезпечення що допомагає організувати неперервний процес з автоматизованим контролем якості продукту. В доповіді буде розглянуто розробка за допомогою практики CI, організація процесу, інструменти, додаткові переваги та приклади автоматизиці для різних типів проектів. Слухачі зможуть отримати знання про основні способи організації continuous integration, практики та техніки вирішення проблем, що виникають при автоматизації.
• Що таке continuous integration (CI)?
• Побудова фічі з CI
• Практики та Переваги
• Впровадження
• Інструменти
• Приклади проектів -
Java, PHP, Android
• Висновки
Як перевіряти файли (документи) на наявність активного (шкідливого) вмісту:
• Розглянув роботу з документами MS Office, PDF, LNK та архівами.
• Показав основні типи активної начинки, через яку пробують інфікувати системи.
• Показав роботу з онлайн інструментами та з інструментами статичного аналізу.
• Дав поради по налаштуванню тестового середовища.
Запис можете подивитись тут https://youtu.be/U8uRqq5pC5U?t=205
Будьте здорові, уважні та обережні. Слава Україні.
#OptiData #InformationSecurity #Security
#Інформаційнабезпека #безпека
#malware #sandbox #перевірка #аналіз #пісочниця
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.
"Incremental rollouts and rollbacks with business metrics control at every st...Fwdays
Let's talk about the types and methods of deployments, the problems faced by engineers and ops during deployments. Possible ways of control and different approaches to it. How to choose metrics that should be monitored during releases.
Using Argo Rollouts as an example, we will analyze cases of monitoring technical and business metrics, forecasting, and rollback automation.
Automation as a Way to Do Routine Work Quickly and EffortlesslyGlobalLogic Ukraine
This presentation contains options for devices and software testing, highlighting pros and cons of each option and explaining the advantages of test automation.
This presentation by Yuriy Kozak (PhD in Electrical and Electronics Engineering, System Architect, GlobalLogic) was delivered at QA Automation TechTalk in Lviv on February 10, 2016.
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.
● Що таке Continuous Integration?
● Jenkins (Oracle Hudson)
● Установка Jenkins (Ubuntu Server)
● Створення завдання на прикладі Java
● Інструменти статичного аналізу
● Sonar. Установка. Аналітика.
Як робити рефакторинг в продукті з бурхливою історієюAleksandr Brychuk
— Ознаки, що проект потребує рефакторингу (крім кількості FAQ, що каже команда, коли дивиться на код). Вплив рефакторингу на бізнес — все стає простіше. Чому б не переписати «з нуля». Рефакторинг під час розробки вкрай дрібними кроками.
— Чотири ознаки, що пора зупинитися.
— Рефакторинг по-бойскаутські: «Залишай місце, з якого пішов, кращим, ніж воно було до тебе. При виконанні будь-якої задачі зменшуй технічний борг».
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....HOWWEDOIT
— Ознаки, що проект потребує рефакторингу (крім кількості FAQ, що каже команда, коли дивиться на код). Вплив рефакторингу на бізнес — все стає простіше. Чому б не переписати «з нуля». Рефакторинг під час розробки вкрай дрібними кроками.
— Чотири ознаки, що пора зупинитися.
— Рефакторинг по-бойскаутські: «Залишай місце, з якого пішов, кращим, ніж воно було до тебе. При виконанні будь-якої задачі зменшуй технічний борг».
'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021OdessaJS Conf
The document describes the process by which someone decided on a topic for their presentation. They initially considered topics like animations or differential equations. After seeing an animation example, they wanted to create one themselves from 0 to 1, but struggled for over a day to get the math right. They eventually landed on an exponential function that achieved the desired animation effect over time. They questioned why they went through so much effort to figure this out.
More Related Content
Similar to Savitskyi Roman - Chrome Dev Tools. New & Tips
"Incremental rollouts and rollbacks with business metrics control at every st...Fwdays
Let's talk about the types and methods of deployments, the problems faced by engineers and ops during deployments. Possible ways of control and different approaches to it. How to choose metrics that should be monitored during releases.
Using Argo Rollouts as an example, we will analyze cases of monitoring technical and business metrics, forecasting, and rollback automation.
Automation as a Way to Do Routine Work Quickly and EffortlesslyGlobalLogic Ukraine
This presentation contains options for devices and software testing, highlighting pros and cons of each option and explaining the advantages of test automation.
This presentation by Yuriy Kozak (PhD in Electrical and Electronics Engineering, System Architect, GlobalLogic) was delivered at QA Automation TechTalk in Lviv on February 10, 2016.
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.
● Що таке Continuous Integration?
● Jenkins (Oracle Hudson)
● Установка Jenkins (Ubuntu Server)
● Створення завдання на прикладі Java
● Інструменти статичного аналізу
● Sonar. Установка. Аналітика.
Як робити рефакторинг в продукті з бурхливою історієюAleksandr Brychuk
— Ознаки, що проект потребує рефакторингу (крім кількості FAQ, що каже команда, коли дивиться на код). Вплив рефакторингу на бізнес — все стає простіше. Чому б не переписати «з нуля». Рефакторинг під час розробки вкрай дрібними кроками.
— Чотири ознаки, що пора зупинитися.
— Рефакторинг по-бойскаутські: «Залишай місце, з якого пішов, кращим, ніж воно було до тебе. При виконанні будь-якої задачі зменшуй технічний борг».
Багаті спадкоємці, або як робити рефакторинг у продукті з бурхливою історією....HOWWEDOIT
— Ознаки, що проект потребує рефакторингу (крім кількості FAQ, що каже команда, коли дивиться на код). Вплив рефакторингу на бізнес — все стає простіше. Чому б не переписати «з нуля». Рефакторинг під час розробки вкрай дрібними кроками.
— Чотири ознаки, що пора зупинитися.
— Рефакторинг по-бойскаутські: «Залишай місце, з якого пішов, кращим, ніж воно було до тебе. При виконанні будь-якої задачі зменшуй технічний борг».
'How i came up with my talk' by Yurii Artiukh. OdessaJS'2021OdessaJS Conf
The document describes the process by which someone decided on a topic for their presentation. They initially considered topics like animations or differential equations. After seeing an animation example, they wanted to create one themselves from 0 to 1, but struggled for over a day to get the math right. They eventually landed on an exponential function that achieved the desired animation effect over time. They questioned why they went through so much effort to figure this out.
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...OdessaJS Conf
The document discusses various approaches for performing contract protection on the frontend side such as integration testing, law-driven contract testing, consumer-driven contract testing, and runtime checking. It then focuses on runtime checking, explaining what it is and how it can add an extra step to quality assurance by allowing integration errors to be responded to in real time. Details are provided on Oleksii Pavlenko who is an engineering manager, PhD holder, and former professional basketball player with interests in surfing, snowboarding, and other boardsports.
Андрій Троян. Розробка мікросервісів з NestJS. OdessaJS'2021OdessaJS Conf
This document discusses NestJS, a framework for building Node.js microservices. It introduces microservices and their key characteristics like loose coupling and independent deployment. It then covers how NestJS provides an architecture that allows for highly testable, scalable, and maintainable applications. Specific NestJS features are summarized like modules, controllers, providers, pipes, error handling, and decorators. Finally, it discusses using NestJS for microservices, including different transporters and message styles like request-response and event-based communication.
Олексій Гончар "Використання Electron в розробці корпоративної відео-мессeндж...OdessaJS Conf
This document provides an overview of Electron and its history and principles. It then summarizes the RingCentral MVP platform, including its features and transition to using Electron. Finally, it describes the RingCentral desktop app, its features and technology, and its CI/CD processes. The document contains sections on Electron, the RingCentral MVP platform, and the RingCentral desktop app.
Максим Климишин "Що такого особливого у пропозиції вартості шаблону Micro Fro...OdessaJS Conf
Micro frontends is a design pattern that splits an application into multiple independently deployable frontend applications to reduce dependencies between teams and improve the speed of delivery. This approach can reduce execution and delivery risks like long cycle times and inconsistent user experiences. It allows for more autonomous teams and faster time to market. However, it also introduces some risks around broken user interfaces if components are not built consistently. Adopting a micro frontends approach requires buy-in from engineering leadership as well as change management to shift teams away from old habits.
Павло Галушко. GOOD CODE MYTHS. OdessaJS'2021OdessaJS Conf
The document discusses myths about writing good JavaScript code. Some myths addressed include: that good code is only for aesthetics; that programming is only about writing code; and that principles and patterns from object-oriented programming do not apply to JavaScript. The presentation argues that good code is important for business reasons like maintenance and refactoring costs. It emphasizes writing testable code, following style guides, and applying design principles universally.
'BUILDING ANGULAR APPS WITH NX' by Anastasia NecheporenkoOdessaJS Conf
This document discusses approaches to managing Angular applications, including using multiple repositories versus a monorepository. It notes advantages and disadvantages of each, such as isolation but also hard dependencies with multiple repos, versus easy code sharing but potential messiness with a monorepo. The document then introduces Nrwl Nx as an open-source tool that helps manage monorepos for Angular apps, providing features like dependency graphs, smart rebuilds, and code generators. However, it cautions that using Nx requires following its structure patterns and configurations, and migrating codebases and teams to its approach can also require effort.
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by Dmytro GusevOdessaJS Conf
This document discusses JavaScript plugins for the Swagger API documentation framework. It begins with an overview of Swagger and related tools like swagger-editor. It then covers challenges with customizing Swagger and different approaches tried, like using custom Swagger definitions or closures. The main topics covered are the plugin system architecture, including available React components, Redux state management, and plugin APIs. It asks several questions about how to interact with and extend the plugin system.
'ETHEREUM SMART CONTRACTS ON JS' by Yaroslav DvorovenkoOdessaJS Conf
This document discusses Ethereum, smart contracts, and blockchain technology. It defines Ethereum as a cryptocurrency platform that allows for decentralized services and applications through the use of smart contracts written in the Solidity programming language. Smart contracts are computer programs that automatically execute transactions, actions, and legally relevant events without the need for intermediaries. The document provides examples of how smart contracts could be used for elections, digital currency, and instant money transfers with low fees. It also discusses tools like Ganache, Truffle, and Web3.js that allow for developing, testing, and interacting with smart contracts and decentralized applications.
'MICROFRONTENDS WITH REACT' by Liliia KarpenkoOdessaJS Conf
This document discusses microfrontends architecture. It begins by explaining why an organization may want to use a microfrontends approach, such as when different teams in different locations need to work on the same project simultaneously. It then discusses some of the downsides of a monorepo approach and when a monorepo may be preferable to microfrontends. The document outlines some of the challenges microfrontends can present and why they can also be a good choice. It provides examples of how to divide an app into microfrontends, such as by routes, features, or a combination, and options for using different frameworks within microfrontends like web components, module federation, and iframes. It concludes by discussing testing and development
'Web performance metrics' BY ROMAN SAVITSKYI at OdessaJS'2020OdessaJS Conf
Let's brainstorm web-productivity? It's easy to get lost in different sources - so how to choose them wisely? Main topics: Metrics, best practices, problems and solutions
Вебпродуктивність. Що ще тут розповісти? Всі ми знаємо, що це важливо, як не отримувати таких проблем і до чого це призводить. Але якщо необхідно вирішити проблему серед тонни ресурсів важко обрати потрібний. Моя доповідь не тільки про рішення проблеми, а про находження інструментів та метрик для рішення проблеми. Чому саме ці метрики варто використовувати і як з цим жити. Метрики, практики, проблеми, рішення. Які різні поняття, а насправді це цепочки, які нам разом необхідно виставити в логічний ряд. Запрошую Вас побрейнштормити разом!
'JavaScript was invented in Odessa' by DMITRIY GUSEV at OdessaJS'2020OdessaJS Conf
JavaScript is wild and dangerous. I’ve been using it for years and time to time faced with the same issues.
Also being an interviewer I talked to lots of people.
And most of them able to answer the questions correctly, but can not explain why it works so. In my talk, I prepared examples of ‘what is wrong with JS’ and explained why it works so based on ECMA specifications.
'Why svelte' by BORYS MOHYLA at OdessaJS'2020OdessaJS Conf
I'll tell you why I chose Svelte. What I like about Svelte and what not. Let's talk about when to use Svelte in production and why.
The technology shows new possibilities of the composition of high-level abstractions and high-performance low-level code.
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020OdessaJS Conf
How to develop NodeJS apps effectively? I will tell you all details and share his personal experience on the whole process: from the very start and up to the production stage.
You will also learn more about Docker, SDLC and 12 Factor App. Save the date!
12. Темна тема – це круто!
Переходь на темну сторону, в нас є печиво
13. Навіщо взагалі фіча?
Локальні зміни (Local overrides)
Зберігання файлів через девтул
Збірка проекту з хот релоад
Використання локальних змін
Локальний проект
Гіт проект (з доступом до коду)
Чужий проект без доступу
17. 6 нових видів аудиту
Lighthouse 3.0
• Preload key requests. Предзавантаження запитів, що може збільшити швидкість завантаження сторінки.
Оптимізація критичного рендерингу шляху, наскільки то можливо.
• Avoid invisible text while webfonts are loading. Перевірка чи текст видимий, поки вебшрифт робить
завантаження.
• First Contentful Paint
• robots.txt не валідний
• Використовуйте відео формати для анімації контенту
• Уникайте багаторазових, дорогих запитів на будь-який origin
24. Або тепер я знаю, як вірно працювати з ним
IO’18 step-into & workers
25. Або тепер я знаю, як вірно працювати з ним
IO’18 step-into & workers
Сторінка WorkerDevTools
new Worker('worker.js');
Cповістити токен…
Зупинитись…
Створити новий потік,
Передати в нього токен
Зберегти токен…
Продовжити
Попросити зупинитись,
якщо токен, продовжити
Сповістити про себе
Зупитинись
Розпочати задачу з
токеном, зупинитись
postMessage('pong');
30. Консоль / термінал
• «Всі, все рівно, дебажать в консолі»
• «Debugger – це добре, але console.log надійніше»
• «Я потім приберу»
• «З ним працює, без нього - ні…»
• «Залиш консоль лог, щоб я знав, де дивитись»
37. Eager Evaluation
Найбільш крутяцка штука на цю хвилину
• Автокомпліт ES2017
• Будь-які функції та вирази
• Аргументи функцій
Особливість: функції та вирази не
повинні містити побічних дій
44. debug
На дуже крайній випадок пошуку «коду»
Особливість: з 67 версії можна інспектувати навіть нативні функції.
Від чого пошук «хардкоду» в легасі проекті полегшується