Think Async: Asynchronous Patterns in NodeJSAdam L Barrett
JavaScript is single threaded, so understanding the async patterns available in the language is critical to creating maintainable NodeJS applications with good performance. In order to master “thinking in async”, we’ll explore the async patterns available in node and JavaScript including standard callbacks, promises, thunks/tasks, the new async/await, the upcoming asynchronous iteration features, streams, CSP and ES Observables.
Promises are a popular pattern for asynchronous operations in JavaScript, existing in some form in every client-side framework in widespread use today. We'll give a conceptual and practical intro to promises in general, before moving on to talking about how they fit into Angular. If you've ever wondered what exactly $q was about, this is the place to learn!
Anton Moldovan "Load testing which you always wanted"Fwdays
Десь рік тому ми почали працювати над новою версією наших продуктів. Саме тоді ми почали випробовувати різні технології, архітектури, підходи, а головне це — міряти performance, бо без цього в highload проектах взагалі не вижити.
При проектуванні “любої” системи нам потрібно знати її ліміти:
скільки паралельних запитів може обробити мікросервіс за допустиму latency?
як багато запитів може витримати база даних, яку ми використовуємо?
як довго потрібно чекати на Push повідомлення?
як довго триває розподілена транзакція та між якими сервісами відбувається найбільша затримка?
І таких питань у нас було безліч. В процесі тестування ми використовували різний tooling: JMeter, ab, Gatling, але всі вони надавали дуже лімітовані можливості. Нам не вдавалося нормально покрити push flow (WebSockets/SSE), різні бази даних, було складно імітувати різний workloads (update/read).
На цій зустрічі я розповім про наш досвід застосування load testing:
що використовуємо для тестування баз даних, мікросервісів;
як готуємо Pull/Push тести та як адаптуємо тести під різні протоколи (HTTP/WebSockets/SSE);
які виникають проблеми з замірами latency.
Моя доповідь дуже практична, тому після неї ви зможете з легкістю почати застосовувати load testing у себе на проекті.
Think Async: Asynchronous Patterns in NodeJSAdam L Barrett
JavaScript is single threaded, so understanding the async patterns available in the language is critical to creating maintainable NodeJS applications with good performance. In order to master “thinking in async”, we’ll explore the async patterns available in node and JavaScript including standard callbacks, promises, thunks/tasks, the new async/await, the upcoming asynchronous iteration features, streams, CSP and ES Observables.
Promises are a popular pattern for asynchronous operations in JavaScript, existing in some form in every client-side framework in widespread use today. We'll give a conceptual and practical intro to promises in general, before moving on to talking about how they fit into Angular. If you've ever wondered what exactly $q was about, this is the place to learn!
Anton Moldovan "Load testing which you always wanted"Fwdays
Десь рік тому ми почали працювати над новою версією наших продуктів. Саме тоді ми почали випробовувати різні технології, архітектури, підходи, а головне це — міряти performance, бо без цього в highload проектах взагалі не вижити.
При проектуванні “любої” системи нам потрібно знати її ліміти:
скільки паралельних запитів може обробити мікросервіс за допустиму latency?
як багато запитів може витримати база даних, яку ми використовуємо?
як довго потрібно чекати на Push повідомлення?
як довго триває розподілена транзакція та між якими сервісами відбувається найбільша затримка?
І таких питань у нас було безліч. В процесі тестування ми використовували різний tooling: JMeter, ab, Gatling, але всі вони надавали дуже лімітовані можливості. Нам не вдавалося нормально покрити push flow (WebSockets/SSE), різні бази даних, було складно імітувати різний workloads (update/read).
На цій зустрічі я розповім про наш досвід застосування load testing:
що використовуємо для тестування баз даних, мікросервісів;
як готуємо Pull/Push тести та як адаптуємо тести під різні протоколи (HTTP/WebSockets/SSE);
які виникають проблеми з замірами latency.
Моя доповідь дуже практична, тому після неї ви зможете з легкістю почати застосовувати load testing у себе на проекті.
This is my presentation from TechBeats #3 hosted by Applause about Server-Side Swift framework called Vapor.
Swift is a great language and possibility of using it also in backend is a huge benefit for any iOS developer out there. Using Vapor is a seamless experience. With this framework creating advance APIs by iOS developer is as easy as writing simple iOS app.
https://www.meetup.com/TechBeats-hosted-by-Applause/events/254910023/
Modern web applications have constantly growing requirements and their complexity grows exponentially. Some of the biggest challenges in front of us are state management, testability, flexibility and on top of that we need to develop the application at reasonable level of simplicity in order to ease the recruitment process.
In this presentation I'll introduce a scalable Angular 2 application architecture, which answers the following requirements:
- Testability.
- Predictable state management.
- Scalable communication layer.
- Modular and robust design
Did you know that the .NET compiler turns our async methods into classes? And that .NET adds a try/catch block to each of these classes, potentially hiding thrown exceptions? It's true! In this session, we will learn how to best use async/await in C# by analyzing how .NET compiles our async code. Join me as we take an existing app and optimize its async code together, showing off performance gains, better exception handling, improved run-time speed, and smaller app size!
Standing the Test of Time: The Date Provider PatternDerek Lee Boire
Presented at the April 1, 2017 Tokyo iOS Meetup, in this presentation I talk about how you can test logic that depends on the current date and time by utilizing the "Date Provider" pattern. By simply passing in a Date Provider to the method that needs access to the current date & time, you can easily create a fake/mock object that can be used to test this logic.
Go provides:
+ Concurrent execution
+ Synchronization and messaging
+ Multi-way concurrent control
Go does NOT provide direct thread manipulation
- Go multithreading is fully managed by Go runtime.
- In Go you use goroutines in place of threads
Learn about Goroutines, channels and standard library
So you’ve developed an app in MongoDB Stitch? Now what? What is day-to-day use of MongoDB Stitch really like? We’ll talk topics like multi-environment deployment (dev → test → production); logging; testing and timing; and how to best make MongoDB and Stitch work for your application.
Did you know that the .NET compiler turns our async methods into classes? And that .NET adds a try/catch block to each of these classes, potentially hiding thrown exceptions? It's true! In this session, we will learn how to best use async/await in C# by analyzing how .NET compiles our async code. Join me as we take an existing app and optimize its async code together, showing off performance gains, better exception handling, improved run-time speed, and smaller app size!
Most AWS APIs will have limits on the amount of data you can send in one request and sometimes you really need to send a lot of data! To try to maximise the amount of data you can send, while still staying within the limits, some APIs support sending gzip-compressed payloads. But how can you send a gzipped request when using the Python SDK for AWS (boto3)? Well, I needed to answer this question recently and it turned out not to be as easy as I anticipated… Let’s jump into this rabbit hole together and let’s find out the answer!
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2a2Djbp.
Gerard Sans explains RxJS' data architecture based on reactive programming, exploring Observables API using RxJS koans and unit tests. RxJS 5 focuses on performance and usability. Filmed at qconlondon.com.
Gerard Sans is a multi-talented Computer Science Engineer specialised in Web. He has lived and worked for all sorts of companies in Germany, Brazil, UK and Spain. He enjoys running AngularJS Labs London, mentoring AngularJS students, participating in the community, giving talks and writing technical articles at Medium.
Каждый день появляется по новому JavaScript фрeймворку или новой технологии. И каждый день мы задаемся вопросом, как за всем этим успеть? Константин даст Вам серебряную пулю. Вы будете знать, как быстро разобраться в React, PostCss, RxJS, Redux, CycleJs, Angular и даже в неизвестном супер фреймворке. Увидим, что стоит за трендами технологий 2016.
Подробнее: https://mavrin.github.io/pres-be-first/#1
This slide deck (partly German) covers async and parallel programming topics for .NET and C#. For details see http://www.software-architects.com/devblog/2014/02/18/BASTA-2014-Spring-C-Workshop
Async Debugging A Practical Guide to survive !Mirco Vanini
The speech talk about the specialised tools inside visual studio to survive from async code bugs with special look about how to write a right async code
This is my presentation from TechBeats #3 hosted by Applause about Server-Side Swift framework called Vapor.
Swift is a great language and possibility of using it also in backend is a huge benefit for any iOS developer out there. Using Vapor is a seamless experience. With this framework creating advance APIs by iOS developer is as easy as writing simple iOS app.
https://www.meetup.com/TechBeats-hosted-by-Applause/events/254910023/
Modern web applications have constantly growing requirements and their complexity grows exponentially. Some of the biggest challenges in front of us are state management, testability, flexibility and on top of that we need to develop the application at reasonable level of simplicity in order to ease the recruitment process.
In this presentation I'll introduce a scalable Angular 2 application architecture, which answers the following requirements:
- Testability.
- Predictable state management.
- Scalable communication layer.
- Modular and robust design
Did you know that the .NET compiler turns our async methods into classes? And that .NET adds a try/catch block to each of these classes, potentially hiding thrown exceptions? It's true! In this session, we will learn how to best use async/await in C# by analyzing how .NET compiles our async code. Join me as we take an existing app and optimize its async code together, showing off performance gains, better exception handling, improved run-time speed, and smaller app size!
Standing the Test of Time: The Date Provider PatternDerek Lee Boire
Presented at the April 1, 2017 Tokyo iOS Meetup, in this presentation I talk about how you can test logic that depends on the current date and time by utilizing the "Date Provider" pattern. By simply passing in a Date Provider to the method that needs access to the current date & time, you can easily create a fake/mock object that can be used to test this logic.
Go provides:
+ Concurrent execution
+ Synchronization and messaging
+ Multi-way concurrent control
Go does NOT provide direct thread manipulation
- Go multithreading is fully managed by Go runtime.
- In Go you use goroutines in place of threads
Learn about Goroutines, channels and standard library
So you’ve developed an app in MongoDB Stitch? Now what? What is day-to-day use of MongoDB Stitch really like? We’ll talk topics like multi-environment deployment (dev → test → production); logging; testing and timing; and how to best make MongoDB and Stitch work for your application.
Did you know that the .NET compiler turns our async methods into classes? And that .NET adds a try/catch block to each of these classes, potentially hiding thrown exceptions? It's true! In this session, we will learn how to best use async/await in C# by analyzing how .NET compiles our async code. Join me as we take an existing app and optimize its async code together, showing off performance gains, better exception handling, improved run-time speed, and smaller app size!
Most AWS APIs will have limits on the amount of data you can send in one request and sometimes you really need to send a lot of data! To try to maximise the amount of data you can send, while still staying within the limits, some APIs support sending gzip-compressed payloads. But how can you send a gzipped request when using the Python SDK for AWS (boto3)? Well, I needed to answer this question recently and it turned out not to be as easy as I anticipated… Let’s jump into this rabbit hole together and let’s find out the answer!
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2a2Djbp.
Gerard Sans explains RxJS' data architecture based on reactive programming, exploring Observables API using RxJS koans and unit tests. RxJS 5 focuses on performance and usability. Filmed at qconlondon.com.
Gerard Sans is a multi-talented Computer Science Engineer specialised in Web. He has lived and worked for all sorts of companies in Germany, Brazil, UK and Spain. He enjoys running AngularJS Labs London, mentoring AngularJS students, participating in the community, giving talks and writing technical articles at Medium.
Каждый день появляется по новому JavaScript фрeймворку или новой технологии. И каждый день мы задаемся вопросом, как за всем этим успеть? Константин даст Вам серебряную пулю. Вы будете знать, как быстро разобраться в React, PostCss, RxJS, Redux, CycleJs, Angular и даже в неизвестном супер фреймворке. Увидим, что стоит за трендами технологий 2016.
Подробнее: https://mavrin.github.io/pres-be-first/#1
This slide deck (partly German) covers async and parallel programming topics for .NET and C#. For details see http://www.software-architects.com/devblog/2014/02/18/BASTA-2014-Spring-C-Workshop
Async Debugging A Practical Guide to survive !Mirco Vanini
The speech talk about the specialised tools inside visual studio to survive from async code bugs with special look about how to write a right async code
Не так давно Гор Нишанов представил свой доклад: C++ Coroutines a negative overhead abstraction. В этом докладе Гор упомянул, что предложенный дизайн корутин позволяет их использовать практически в любых окружениях, в том числе и с "бедным" C++ рантаймом.
Я решил попробовать запустить корутины в следующих окружениях: обычное приложение, драйвер ОС Windows, EFI приложение. Только в одном из этих окружений есть полноценный C++ рантайм и поддержка исключений, в остальных ничего этого нет. Более того, EFI приложение вообще выполняется до старта ОС.
Я хочу рассказать о том, как мне удалось запустить корутины в этих окружениях, поговорим о том, какие проблемы существуют в асинхронном системном программировании и как их можно обойти.
1. what is the different unbuffered and buffered channel?
2. how to implement a job queue in golang?
3. how to stop the worker in a container?
4. Shutdown with Sigterm Handling
5. Canceling Workers without Context
6. Graceful shutdown with worker
7. How to auto-scaling build agent?
8. How to cancel the current Job?
NDC Sydney 2019 - Async Demystified -- Karel ZikmundKarel Zikmund
NDC Sydney 2019 conference in Sydney, AU - 2019/10/15
Talk: War stories from .NET team by Karel Zikmund
https://sessionize.com/s/karel-zikmund/async-demystified/24175
https://www.youtube.com/watch?v=TgUYcZV-foM
Slides from my talk at UA Mobile 2017, 2017-11-25
Video: https://www.youtube.com/watch?v=tql9fmWX_oc
Modern programming cannot be imagined without long-running operations such as CPU-intensive computations or blocking IO running in the background. Unfortunately, having too many active threads is very expensive and kills performance, but there's a solution - coroutines. They provide a way to avoid blocking a thread and replace it with a cheaper and more controllable operation: suspension of a coroutine.
I'll talk about generators/yield, async/await, channels, composable/delimited continuations, and its usage; consider available APIs and make the overview of standard kotlinx.coroutines library.
Your website is done. Your webpages access data from a database or a web service and have a 1 to 2 second response time. After deploying the application your user interface is unresponsive and your server doesn’t scale.
In this presentation we will find out what’s happening to our website under scale and how we can use the new async/await support in .NET 4.5 to make our application more responsive under load.
Async Debugging - A Practical Guide to survive !Mirco Vanini
The speech talk about the specialised tools inside visual studio to survive from async code bugs with special look about how to write a right async code
Threads, Queues, and More: Async Programming in iOSTechWell
To keep your iOS app running butter-smooth at 60 frames per second, Apple recommends doing as many tasks as possible asynchronously or “off the main thread.” Joe Keeley introduces you to some basic concepts of asynchronous programming in iOS. He discusses what threads and queues are, how they are related, and the special significance of the main queue to iOS. Look at what options are available in the iOS SDK to work asynchronously, including NSOperationQueues and Grand Central Dispatch. Take an in depth look at how to implement some common use cases for those options in Swift. Joe pays special attention to networking, one of the most common asynchronous use cases. Spend some time discussing common asynchronous programming pitfalls—and how to avoid them. Leave this session ready to try out asynchronous programming in your iOS app.
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022PeckaDesign.cz
Na začátku jsme si vysvětlili co je to read-model, v čem je dobrý a proč se skvěle hodí pro e-commerce. Jelikož je třeba umět read-model invalidovat, řekli jsme si, co jsou to doménové eventy a jak je používáme pro invalidaci. Nakonec jsme se podívali do praxe na to, jak jsme vše implementovali při redesignu velkého eshopu.
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...PeckaDesign.cz
S Vaškem jsme se podívali na to, jak jsme přistoupili k feature togglingu v silně konfigurovatelné aplikaci, abychom mohli mít hezký nový kód oddělený od původního.
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....PeckaDesign.cz
Naše interní CI sloužilo krásných 5 let. Nyní ale nastal čas přejít do standardizovaného prostředí, abychom mohli zase o krok posunout naši Developer experience, na které v Pecce usilovně pracujeme. Jelikož pro verzování kódu využíváme Github, logickým krokem bylo využít Github Actions. O tom jak jsme na ně přecházeli, a co to pro nás znamenalo, se ve své přednášce rozpovídal Jakub.
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...PeckaDesign.cz
V první přednášce jsme si prošli, jak se frontuje v Kdyby/RabbitMQ v Nette a jak se rychle cachuje s Kdyby/Redis. V PeckaDesign se snažíme mít neustále aktuální technologie, připravili jsme proto u obou knihoven podporu pro PHP8. Ve Vaškově přednášce jsme se dozvěděli, čím nám tyto dvě knihovny pomáhají a jak se používají.
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...PeckaDesign.cz
Dá se programovat na pláži? A kolik to celé bude stát? Na 33. srazu přátel PHP se Honza Kadeřábek podělil o své zkušenosti s digitálním nomádstvím, které nasbíral na půlroční cestě jihovýchodní Asií.
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019PeckaDesign.cz
Znáte takové ty zádrhely, když si vyvíjíte vlastní ORM? :D Že neznáte? Tak vám ukážu, jak jsme řešili pár zajímavých záseků my. Třeba jak z jednoho místa dostat do entity všechny její závislosti, nebo jak minimalizovat opakující dotazy v kolekcích.
Tvorba nových vstupních stránek z pohledu SEO PeckaDesign.cz
Zjistěte, jak přijít na příležitosti pro nové vstupní stránky. Poznejte metody, jak si práci usnadnit a jak takové vstupní stránky vhodné pro SEO ale třeba i pro PPC vytvářet.
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019PeckaDesign.cz
Petr vám v prezentaci ukáže, že knihovna poskytuje nástroje, pomocí kterých je možné zaregistrovat vlastní validační pravidla do Nette\Forms a navíc poskytuje podporu pro live, měkkou a ajaxovou validaci, které lze zaregistrovat v PHP kódu. Řešení vychází z nativní podpory Nette pro custom validační pravidla, ale nespoléhá ani nekopíruje interní quirks Nette frameworku.
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019PeckaDesign.cz
S datem a časem nějakým způsobem pracuje snad každá webová aplikace. Jenže čas není tak přímočarý a už vůbec ne tak jednoduchý, jak si většina vývojářů myslí, a standardní API ve webových jazycích situaci zrovna neulehčují. S Jiřím se zamyslíme nad různými koncepty času a ukážeme si, jak k nim v PHP přistupovat robustnějším způsobem, který nám už nikdy nedovolí udělat v čase chybu.
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019PeckaDesign.cz
Držte si klobouky, protože se s Tomášem proletíte světem nonitoringu. Od teorie (push/pull), přes ukázku Datadogu / New Relicu / Promethea, až po představení APM a jak se dá v Datadogu použít distributed tracing.
Podíváme se na jednoduchý nástroj, kterým můžete exportovat data z ElasticSearch indexu do json dump souboru a následně ta data nahrát do jiného ElasticSearch clusteru.
Úspěšná knihovna pro validaci síly hesla zxcvbn, má již mnoho forků. Dokonce je i přepsaná do jiných jazyků, včetně PHP. Existuje i varianta s lokalizací do češtiny v JS. My jsme se rozhodli to spojit a dát dohromady již existující PHP verzi a JS verzi s českou lokalizací. Rádi bychom se s vámi podělili o to, co se nám povedlo a jak byste knihovnu mohli použít.
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...PeckaDesign.cz
Určitě to znáte Facebook vydává nové verze API snad co 14 dní. Je potřeba vychytávat krajní případy, ošetřit provázání účtů a spoustu drobností okolo. My jsme se na to vrhli od podlahy a ukážeme vám jak.
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...PeckaDesign.cz
Mám pro vás seznam se stovkou typických kulturních a sociálních nedostatků v týmech, které podkopávají pracovní výkony, náladu i morálku. Většinu z nich můžete s jednoduchými tipy a nenáročnou prací na čtyřech základních příčinách minimalizovat, ale i navždy smazat z povrchu programátorského.
Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...PeckaDesign.cz
Buďte za profíka a odevzdejte PR na první dobrou. Vše si nejdřív nanečisto pustíme lokálně skrz lokální Travis CI a poté už build na Travisu bude hračka.
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...PeckaDesign.cz
Zjistili jsme, že nám v PHP chybí určitá funkcionalita, která by tam podle nás být měla. Připravili jsme PR, odeslali a až potom se podívali, proč ho vlastně před námi neposlal někdo jiný. :) Podělím se s vámi alespoň o zkušenosti s úpravami v PHP.
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...PeckaDesign.cz
▶️ Honza představíuje PHP microframework s plnou podporou standardu PSR, který je velmi jednoduchý a zároveň dokonalý. Přidává i pár tipů pro validaci příchozích requestů, end-to-end testování bez nutnosti poslat HTTP request a ukázku, jak je možné integrovat Expressive do existující aplikace a využít její modelovou vrstvu.
PeckaAcademy - Zbožové srovnávače od A-Z - Petra MariánkováPeckaDesign.cz
Zbožové srovnávače jsou efektivním marketingovým kanálem pro e-shopy. Dokáží zvýšit váš obrat a zisk, zviditelní váš e-shop a pomáhají budovat brand. Ale jak z nich vymáčknout co nejvíc?
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
18. ASYNC / AWAIT - a syntax sugar 🍬🍭🍩
async function downloadAndParse() {
$response = await download();
return json_decode($response)
}
19. ASYNC / AWAIT - wrapping callbacks 🍬🍭🍩
async function sleep(miliseconds) {
return new Promise(function(resolve) {
setTimeout(()=>{resolve()}, miliseconds)
});
}
(async () => {
await sleep(2000);
// do something
})()
20. ASYNC / AWAIT - a syntax sugar 🍬🍭🍩
- Awaitnout funkci mohu spustit pouze z jiné async funkce
nebo async scope
- Async scope:
C#: async main(), async UI events
JS: (async () => { … })() - top-level funkce co nikdy
nerejectuje; nebo pouzit API z Promise
Kotlin: async main(), coroutine launchers
21. ASYNC / AWAIT - C# - task it all 💻💻💻
- Async funkce vrací Task<T>
- ± Promise instance
- await rozbalí
22. ASYNC / AWAIT - C# - wrap a callback
public Task<HttpResponse> LoadHtmlAsync(string url)
{
var task = new TaskCompletionSource<HttpResponse>();
LoadHtml(url, result => { task.SetResult(result); });
return task.Task;
}
23. C#: So, we are ready to … or?
● Cancellation
● Task allocation
● Thread switching
24. C# ASYNC: cancellation
void Autocomplete(text: string) {
// cancel previous search task
var searchTask = SearchAsync(text);
var result = await searchTask;
// process result
}
25. C# ASYNC: cancellation
private CancellationTokenSource? cts = null
void Autocomplete(text: string) {
cts?.Cancel()
cts = new CancellationTokenSource();
try {
var result = await SearchAsync(text, cts.Token);
// process result
} catch (OperationCanceledException) {
} finally { cts?.Dispose() }
}
33. How it works - internally
https://www.markopapic.com/csharp-under-the-hood-async-await/
34. static async Task BarAsync()
{
Console.WriteLine("This happens before await");
int i = await QuxAsync();
Console.WriteLine("This happens after await. The result of
await is " + i);
}
38. if (num1 != 0)
{
Console.WriteLine("This happens before await");
awaiter = Program.QuxAsync().GetAwaiter();
if (!awaiter.IsCompleted){
…
return;
}
}else{
awaiter = this.<>u__1;
this.<>u__1 = new TaskAwaiter<int>();
this.<>1__state = num2 = -1;
}
Console.WriteLine("This happens after await. The result of
await is " + (object) awaiter.GetResult());
40. Kotlin & Coroutines
suspend fun download(): HttpResponse {
}
suspend fun myFun() {
val response = download()
}
41. Kotlin & Coroutines
fun download(c: Continuation<HttpResponse>): HttpResponse {
}
interface Continuation<in T> {
val context: CoroutineContext
fun resume(value: T)
fun resumeWithException(exception: Throwable)
}
42. Kotlin & Coroutines
suspend fun search(test: String): HttpResponse {
}
private var job: Job? = null
fun autocomplete(text: String) {
job?.cancel()
job = GlobalScope.launch(Dispatchers.IO) {
val response = download(text: String)
...
}
}
43. Kotlin & Coroutines
fun search(test: String): Deferred<HttpResponse> {
}
private var job: Job? = null
fun autocomplete(text: String) {
job?.cancel()
job = GlobalScope.launch(Dispatchers.IO) {
val response = download(text: String).await()
...
}
}
44. Kotlin & Coroutines
val jobs = mutableListOf<Deferred<Int>>()
for (i in 0..1_000_000) {
jobs += GlobalScope.async(Dispatchers.Default) {
i + 1
}
}
val nums = jobs.map { it.await() }
https://pl.kotl.in/sf0502yYI