Java language is one of the most successful languages nowadays with more than 20 years of history. This means that a lot of tools libraries has been developed around all this time for production code but also for testing code.
Come to this session to learn 10 testing libraries that can have a really positive impact on how to write tests, but more importantly, also how to make them more readable.
One of the most important benefits of automated testing is to ensure a fast and safe code refactoring to evolve our system architecture. The main problem is how to write tests that are easy to write, easy to follow and not time consuming during development nor execution time. In this session, we are going to explore some powerful Java testing libraries that will help you write better (unit) tests focusing on the main Unicorns architecture challenges such as validating microservices endpoints, remote calls to other microservices or just asynchronous/reactive code.
One of the most important benefits of automated testing is to ensure a fast and safe code refactoring to evolve our system architecture. The main problem is how to write tests that are easy to write, easy to follow and not time consuming during development nor execution time. In this session, we are going to explore some powerful Java testing libraries that will help you write better (unit) tests focusing on the main Unicorns architecture challenges such as validating microservices endpoints, remote calls to other microservices or just asynchronous/reactive code.
Down to Stack Traces, up from Heap DumpsAndrei Pangin
Глубже стек-трейсов, шире хип-дампов
Stack trace и heap dump - не просто инструменты отладки; это потайные дверцы к самым недрам виртуальной Java машины. Доклад будет посвящён малоизвестным особенностям JDK, так или иначе связанным с обоходом хипа и стеками потоков.
Мы разберём:
- как снимать дампы в продакшне без побочных эффектов;
- как работают утилиты jmap и jstack изнутри, и в чём хитрость forced режима;
- почему все профилировщики врут, и как с этим бороться;
- познакомимся с новым Stack-Walking API в Java 9;
- научимся сканировать Heap средствами JVMTI;
- узнаем о недокументированных функциях Хотспота и других интересных штуках.
There is hardly a Senior Java developer who has never heard of sun.misc.Unsafe. Though it has always been a private API intended for JDK internal use only, the popularity of Unsafe has grown too fast, and now it is used in many open-source projects. OK.RU is not an exception: its software also heavily relies on Unsafe APIs.
During this session we'll try to understand what is so attractive about Unsafe. Why do people keep using it regardless the warnings of removal from future JDK releases? Are there any safe alternatives to private API or is it absolutely vital? We will review the typical cases when Java developers prefer to go unsafe and discuss major benefits and the drawbacks of it. The report will be supported by the real examples from OK.RU experience.
One of the most important benefits of automated testing is to ensure a fast and safe code refactoring to evolve our system architecture. The main problem is how to write tests that are easy to write, easy to follow and not time consuming during development nor execution time. In this session, we are going to explore some powerful Java testing libraries that will help you write better (unit) tests focusing on the main Unicorns architecture challenges such as validating microservices endpoints, remote calls to other microservices or just asynchronous/reactive code.
One of the most important benefits of automated testing is to ensure a fast and safe code refactoring to evolve our system architecture. The main problem is how to write tests that are easy to write, easy to follow and not time consuming during development nor execution time. In this session, we are going to explore some powerful Java testing libraries that will help you write better (unit) tests focusing on the main Unicorns architecture challenges such as validating microservices endpoints, remote calls to other microservices or just asynchronous/reactive code.
Down to Stack Traces, up from Heap DumpsAndrei Pangin
Глубже стек-трейсов, шире хип-дампов
Stack trace и heap dump - не просто инструменты отладки; это потайные дверцы к самым недрам виртуальной Java машины. Доклад будет посвящён малоизвестным особенностям JDK, так или иначе связанным с обоходом хипа и стеками потоков.
Мы разберём:
- как снимать дампы в продакшне без побочных эффектов;
- как работают утилиты jmap и jstack изнутри, и в чём хитрость forced режима;
- почему все профилировщики врут, и как с этим бороться;
- познакомимся с новым Stack-Walking API в Java 9;
- научимся сканировать Heap средствами JVMTI;
- узнаем о недокументированных функциях Хотспота и других интересных штуках.
There is hardly a Senior Java developer who has never heard of sun.misc.Unsafe. Though it has always been a private API intended for JDK internal use only, the popularity of Unsafe has grown too fast, and now it is used in many open-source projects. OK.RU is not an exception: its software also heavily relies on Unsafe APIs.
During this session we'll try to understand what is so attractive about Unsafe. Why do people keep using it regardless the warnings of removal from future JDK releases? Are there any safe alternatives to private API or is it absolutely vital? We will review the typical cases when Java developers prefer to go unsafe and discuss major benefits and the drawbacks of it. The report will be supported by the real examples from OK.RU experience.
Everybody is talking about ES6, but is anyone out there using it in production? Mango recently started adopting ES6 features that make our front-end code easier to write and maintain.
In this talk, I will explain why we decided to use ES6, how we started to use it in production (using npm, browserify and babel) and I'll explain what problems we found along the way and how we solved them.
Links:
https://getmango.com
https://getmango.com/blog/writing-es6-modules-with-6to5/
http://kangax.github.io/compat-table/
https://github.com/zloirock/core-js
https://github.com/mango/emitter
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
http://benmccormick.org/2015/04/07/es6-classes-and-backbone-js/
https://www.youtube.com/watch?v=VNmtmz3mJN4&
Deep dive into InjectionTDD - how to perform iOS unit tests realtime, without rebuilding entire Xcode project.
Vous subissez les régressions à chaque livraison ? Vous ne voyez pas l’intérêt des tests unitaires car ils ne servent qu’à tester des additions ? Les tests ne sont pas applicables à votre projet car il est trop complexe ? Si c’est le cas, suivez David dans la quête du Test Driven Development. Vous rencontrerez pléthore d’ennemies contre lesquels vous aurez à combattre : bugs, complexité, code statique, couplage fort. Ils essaieront de vous barrer la route, mais heureusement, vous pourrez compter sur vos alliés jUnit, Mockito, refactoring et injection/dépendance.
David finira la soirée par une démonstration pratique sur un exercice de refactoring.
One of the most important benefits of automated testing is to ensure a fast and safe code refactoring to evolve our system architecture. The main problem is how to write tests that are easy to write, easy to follow and not time consuming during development nor execution time. In this session, we are going to explore some powerful Java testing libraries that will help you write better (unit) tests focusing on the main Unicorns architecture challenges such as validating microservices endpoints, remote calls to other microservices or just asynchronous/reactive code.
Testing Java Microservices Devoxx be 2017Alex Soto
With traditional software unit tests, there's never a guarantee that an application will actually function correctly in the production environment. And when you add microservices, remote resources that are accessible over a network, into the mix, testing is more tricky. To make things even harder, microservices typically need to collaborate with additional network-based microservices, making testing even more challenging.
In this session you'll learn test strategies that solve the most common issues you are likely to encounter when writing tests for microservices architecture. Also you'll learn how tools such as Arquillian, JUnit, Docker or techniques suck as service virtualization or consumer-driven testing can help you on this task.
Everybody is talking about ES6, but is anyone out there using it in production? Mango recently started adopting ES6 features that make our front-end code easier to write and maintain.
In this talk, I will explain why we decided to use ES6, how we started to use it in production (using npm, browserify and babel) and I'll explain what problems we found along the way and how we solved them.
Links:
https://getmango.com
https://getmango.com/blog/writing-es6-modules-with-6to5/
http://kangax.github.io/compat-table/
https://github.com/zloirock/core-js
https://github.com/mango/emitter
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
http://benmccormick.org/2015/04/07/es6-classes-and-backbone-js/
https://www.youtube.com/watch?v=VNmtmz3mJN4&
Deep dive into InjectionTDD - how to perform iOS unit tests realtime, without rebuilding entire Xcode project.
Vous subissez les régressions à chaque livraison ? Vous ne voyez pas l’intérêt des tests unitaires car ils ne servent qu’à tester des additions ? Les tests ne sont pas applicables à votre projet car il est trop complexe ? Si c’est le cas, suivez David dans la quête du Test Driven Development. Vous rencontrerez pléthore d’ennemies contre lesquels vous aurez à combattre : bugs, complexité, code statique, couplage fort. Ils essaieront de vous barrer la route, mais heureusement, vous pourrez compter sur vos alliés jUnit, Mockito, refactoring et injection/dépendance.
David finira la soirée par une démonstration pratique sur un exercice de refactoring.
One of the most important benefits of automated testing is to ensure a fast and safe code refactoring to evolve our system architecture. The main problem is how to write tests that are easy to write, easy to follow and not time consuming during development nor execution time. In this session, we are going to explore some powerful Java testing libraries that will help you write better (unit) tests focusing on the main Unicorns architecture challenges such as validating microservices endpoints, remote calls to other microservices or just asynchronous/reactive code.
Testing Java Microservices Devoxx be 2017Alex Soto
With traditional software unit tests, there's never a guarantee that an application will actually function correctly in the production environment. And when you add microservices, remote resources that are accessible over a network, into the mix, testing is more tricky. To make things even harder, microservices typically need to collaborate with additional network-based microservices, making testing even more challenging.
In this session you'll learn test strategies that solve the most common issues you are likely to encounter when writing tests for microservices architecture. Also you'll learn how tools such as Arquillian, JUnit, Docker or techniques suck as service virtualization or consumer-driven testing can help you on this task.
While most bugs reveal their cause within their stack trace, Java’s OutOfMemoryError is less talkative and therefore regarded as being difficult to debug by a majority of developers. With the right techniques and tools, memory leaks in Java programs can however be tackled like any other programming error. This talks discusses how a JVM stores data, categorizes different types of memory leaks that can occur in a Java program and presents techniques for fixing such errors. Furthermore, we will have a closer look at lambda expressions and their considerable potential of introducing memory leaks when they are used incautiously.
Expression trees in c#, Алексей Голубь (Svitla Systems)Alina Vilk
рассказывал про это понятие и способы генерации деревьев выражений, о превращении пользовательской грамматики непосредственно в исполняемый код; поделился информацией о написании быстрых универсальных операторов и компиляции сборок во время выполнения
Part presentation, part debate about the future of the language while touching base on the current state of the industry with respect to ES6/ES2015, and the possibilities of using it today in web applications and frameworks, the different options, and the things to keep in mind. Additionally, we will do a walk-through on the new features included in ES7/ES2016 draft, and those that are being discussed for ES8/ES2017.
There's been a lot of movement in the Java EE world. From the release of its 8th edition to the shift to Eclipse Foundation and recent rebranding to Jakarta EE. At the same time Eclipse MicroProfile shown up on the EE scene with the primary goal of evolving the spec towards microservice architectures.
With all these changes happening rapidly what has happened to Arquillian, the de-facto testing tool for Java EE applications?
Come to this session, you are going to explore the new and noteworthy of the Arquillian constellation. How standard Arquillian tests has been simplified as well as how microservice architecture has impacted on Arquillian offering integrations for polyglot persistence tests, contract testing or deployment tests for Docker, Kubernetes, and Openshift.
You'll learn that Arquillian is not only for Java EE.
Kubernetes is becoming the de-facto platform to deploy our application nowadays. But this movement also implies some changes in the way we code our applications. Before this change, we just developed a monolith application where everything was up and running up front, now we are breaking down this monolith into (micro)services architecture and everything is interconnected with the network. Although it might seem easy, done properly is not an easy as there are some challenges to address that was not in a monolith architecture.
In this session, we’re going to start discussing what are these challenges (ie fault tolerance, service discovery, open tracing, or health checks) and demonstrate how they can be solved using Eclipse MicroProfile specification.
Come to this session to learn how to develop a successful Kubernetes-Native application using Quarkus, a Java ecosystem way to develop cloud-first, container-native, serverless focused and Kubernetes optimized.
Probably you are curious about this thing called Reactive Programming. Reactive Programming is another programming paradigm that in most of the cases, we are not used to coding in our day-to-day work, as the imperative way is the common one. This makes learning and thinking in a reactive way harder. One of the main problems I have found when learning and reading material about Reactive Programming is that they never tackle enterprise use cases. In this session, we are going to skip the cute ideas that are normally part of a reactive programming talk and focus on how to use it in the real world. Don't be the last developer to board this train and move your reactive skills from novice to expert.
Chaos Engineering is used in a distributed system to test integrally all the application by simulating error conditions within the system and observes how the application reacts to that stimulus. With all this information and analyzing it correctly, you can write applications more resilient to the failures. This talk will provide an introduction to the principles of Chaos Engineering, how to perform experiments, identify the weakness of the architecture and fix these problems.
Come to this session to learn different tools like Istio, Chaos Toolkit or Glooshot to run Chaos Engineering in Kubernetes and what strategies you can use to prevent chaos from taking over your system.
Chaos Engineering is used in a distributed system to test integrally all the application by simulating error conditions within the system and observes how the application reacts to that stimulus. With all this information and analyzing it correctly, you can write applications more resilient to the failures. This talk will provide an introduction to the principles of Chaos Engineering, how to perform experiments, identify the weakness of the architecture and fix these problems.
Come to this session to learn different tools like Istio, Chaos Toolkit or Glooshot to run Chaos Engineering in Kubernetes and what strategies you can use to prevent chaos from taking over your system.
DevOps has grown in popularity in recent years, particularly in (software) companies that want to reduce lead time to be measured in days/weeks instead of months/years. If you want to make sure your software does the right things and does things right, you need to test it implacably. The big problem is that companies see is the testing phase as the bottleneck—and it is—of the process slowing down product release. To change that, we need a new way of testing our applications, making the release process of an application a testing process as well and involving the QA from the beginning within the team. QAs are not a separate team anymore (DevTestOps). How is the testing pyramid affected? In this session, we will not only describe, but actively demonstrate several techniques that you can use immediately to start testing in production and speed up your release cycle to unimaginable limits.
Testing in Production: From DevTestOops to DevTestOpsAlex Soto
DevOps has grown in popularity in recent years, particularly in software companies that want to reduce lead time to be measured in days/weeks instead of months/years. If you want to make sure your software does the right things and does things right, you need to test it implacably. The big problem is that companies see the testing phase as the bottleneck of the process slowing down product release.
To change that, we need a new way of testing our applications, making the release process of an application a testing process as well and involving the QA from the beginning within the team. QAs are not a separate team anymore: DevTestOps. How is the testing pyramid affected? In this session, we will not only describe but actively demonstrate several techniques that you can use immediately following the session for starting testing in production and speeding up your release cycle to unimaginable limits.
Demo1: https://www.youtube.com/watch?v=3mJX38m-D3A
Demo2: https://www.youtube.com/watch?v=IcRsb-boWA4
Demo3: https://youtu.be/F15ZeZuqo54
Java was born in the mid-90s, the era of TLC and Boyz II Men, long before the rise of Linux server virtualization and the Linux container.
We took great pride in running Java applications for weeks if not months without restarts and Java assumed the whole computer belonged to itself, that it could consume all available memory and CPU. In this presentation, we will demonstrate the problems associated using Java for "microservices", and how the open source ecosystem is working to insure the future of Java by being cloud first, container native, serverless focused and Kubernetes optimized. This is where GraalVM meets Quarkus, bringing server-side and enterprise-capable Java to enable you to build truly cloud native apps
DevOps is growing in popularity in last years, particularly in (software) companies that want to reduce its lead time (time to business value from idea to production) measured in days/weeks instead of months/years?
If you want your software to do the right things and do these things right, you need to test it implacably.
The big problem is that companies see (and it is) the testing phase as the bottleneck of the process slowing down product release. To change that, we need a new way of testing our applications, making the release of an application a testing process as well, and involve QA since the beginning within the team. QAs are not a separate team anymore (DevTestOps).
What is the role of QAs in this new approach? How is the testing pyramid affected? How you can fail on trying to speed up release frequency?
In this session, we will not only describe but also actively demonstrate several techniques that you can use immediately following the session for testing applications like unicorns.
Istio service mesh & pragmatic microservices architectureAlex Soto
Microservices architecture has changed how companies develop and deploy applications. This change has affected testing process as well. New techniques have emerged and others have been enhanced. Does your organization wish to achieve unicorn like speed? With N deploys per day? Or a lead time (time to business value from idea to production) measured in days/weeks instead of months/years? In this session, we will not only describe how to use Istio and Kubernetes but actively demonstrate 3 specific techniques that you can use immediately following the session.
Currently, Istio is gaining a lot of traction as service-mesh implementation for Kubernetes. In this session, we are going to explore how to install Istio, and how to use it to release new versions of our services correctly.
Zero Downtime Deployment in Microservices eraAlex Soto
ou joined the DevOps movement and want to release software even faster and safer. You started reading about Advanced deployment techniques like Blue-Green Deployment, Canary Releases or Dark Shadow Technique. But how do you implement them without disrupting your users in production? With Zero Downtime! This is easy with your code, but what about ephemeral and persistent states? Most of the examples out there does not tackle this scenario (which is the most common in real systems). Come to this session and you’ll learn in a practical way how you can achieve zero downtime deployments applying advanced deployment techniques for maintaining the ephemeral and persistent state of your microservice application.
As we start to go toward cloud-native infrastructure and build our applications out of microservices, we must fully face the drawbacks and challenges to doing so. Some of these challenges include how to consistently monitor and collect statistics, tracing, and another telemetry, how to add resiliency in the face of unexpected failure, how to do powerful feature routing (ie feature graduation, tap compare ) and much more like securing your services correctly.
Service mesh, in general, helps developers solve this in a non-invasive way.
In this session, we'll show how you can take advantage of these capabilities and show you some patterns that you can implement easily with a service mesh to make your delivery to production smoothly and without surprises.
We expect most developers haven't adequately solved for these issues, so we'll take it step by step and build up a strong understanding of Istio and its patterns, harness its power in your production services architecture.
In a cloud native world enamored of Microservices and Serverless, meet Quarkus - Java’s brilliant response to technologies like Node.js, Python and Go that had until recently proven quicker, smaller and arguably more nimble. But we know seeing is believing - we’ll show you Quarkus in action. Get ready to experience “Supersonic, Subatomic Java” - and make Open Source frameworks like Hibernate and Apache Camel faster, smaller and more dynamically scalable than ever before.
About the speaker: Alex Soto is a Software Engineer at Red Hat in Developers group, the creator of NoSQLUnit project, member of JSR374 (Java API for JSON Processing) Expert Group. A Java Champion since 2017 and international speaker.
Zero Downtime Deployment in Microservices eraAlex Soto
You joined the DevOps movement and want to release software even faster and safer. You started reading about Advanced deployment techniques like Blue-Green Deployment, Canary Releases or Dark Shadow Technique. But how do you implement them without disrupting your users in production? With Zero Downtime! This is easy with your code, but what about ephemeral and persistent states? Most of the examples out there does not tackle this scenario (which is the most common in real systems). Come to this session and you’ll learn in a practical way how you can achieve zero downtime deployments applying advanced deployment techniques for maintaining the ephemeral and persistent state of your microservice application.
Sail in the cloud - An intro to Istio commitAlex Soto
Microservices architecture has changed how companies develop and deploy applications. This change has affected testing process as well. New techniques have emerged and others have been enhanced. Does your organization wish to achieve unicorn like speed? With N deploys per day? Or a lead time (time to business value from idea to production) measured in days/weeks instead of months/years? In this session, we will not only describe how to use Istio and Kubernetes but actively demonstrate 3 specific techniques that you can use immediately following the session.
Currently, Istio is gaining a lot of traction as service-mesh implementation for Kubernetes. In this session, we are going to explore how to install Istio, and how to use it to release new versions of our services correctly.
KubeBoot - Spring Boot deployment on KubernetesAlex Soto
Have you ever thought how to deploy Cloud Native Java Applications (Spring Boot) on Kubernetes? Kubernetes has now become a de-facto standard for deploying Cloud Native Applications, but still, there is the myth that they are not ready for Java workloads. The aim of this session is to break that myth to show Kubernetes is well suited for Cloud Native Java applications. The session explores the cloud native characteristics such as Discovery, Blue/Green Deployments, Elasticity, Canary Deployments, Resiliency, Pipeline(CI/CD), Authentication etc., becomes implicit characteristics to your Spring Boot Java applications that are deployed on Kubernetes In this session, we will see how to build, debug, deploy and discover Spring Boot applications on Kubernetes, covering in-depth details of the tools, libraries, and platform that could be used to make your spring boot deployment smooth and easy.
Microservices architecture has changed how companies develop and deploy applications. This change has affected testing process as well. New techniques have emerged and others have been enhanced. Does your organization wish to achieve unicorn like speed? With N deploys per day? Or a lead time (time to business value from idea to production) measured in days/weeks instead of months/years? In this session, we will not only describe how to use Istio and Kubernetes but actively demonstrate 3 specific techniques that you can use immediately following the session.
Currently, Istio is gaining a lot of traction as service-mesh implementation for Kubernetes. In this session, we are going to explore how to install Istio, and how to deploy and release resilient, tested, fault-tolerant cloud-native services.
Microservices architecture has changed how companies develop and deploy applications. This change has affected testing process as well. New techniques have emerged and others have been enhanced.
Come to this session to learn about service virtualization, contract testing or testing in production to increase deployment velocity from 1 week to N times per day or deploy each service independently without worrying about breaking the compatibility between services anymore.
Nowadays everyone is talking about microservices and how cool they are. That's true, but not all business needs to move to microservices, you can still use monolith architecture and make it more fashion by applying some of the design/elements that you've learned from microservices architecture. Can you use circuit breaker pattern, service isolation, event-driven and non-blocking application, cloud-native approach or zero downtime deployment in monolith architecture? Is it worth? The answer is YES!!!. Come to this session to learn how to make your Java monolith applications attractive again by borrowing some of the principles of microservices architecture.
Microservice architectures have changed how companies develop and deploy applications, and have therefore in turn affected the testing process as well. New techniques have now emerged and others have been enhanced, while old testing techniques (used in monolith) drive us to a dead-end when we try to apply them to a microservices architecture.
In this master class, Alex Soto will introduce some testing techniques, such as service virtualization, contract testing and testing in production to increase deployment velocity from 1 week to N times per day and deploy each service independently without worrying about breaking the compatibility between services. He will show you several examples in Java but will also point out resources for other languages as well.
After this theoretical and live code master class, you'll understand how to test microservice architectures and reduce the friction between trying to apply old testing techniques to a new paradigm.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
16. @alexsotob16
Benefits of AssertJ
> IDE Friendly
Ctrl + Space works
> Assertions Generation
ComposerAssert.assertThat(mozart).hasName(“Mozart”).hasBirthdate(LocalDate.of(..);
> Out-of-the-Box Assertions
Guava, Joda, DB, Neo4j and Swing
28. @alexsotob
REST-assured Example
@Test
public void should_find_composer() {
given()
.when()
.get("{composer}", "Ludwig van Beethoven")
.then()
.assertThat()
.body("name", is("Ludwig van Beethoven"))
.body("operas.size()", is(1))
.body("operas.name", hasItems("Fidelio"));
}
28
GET Http Method with
Placeholders
GPath Expression
29. @alexsotob
REST-assured Example
@Test
public void should_insert_composer() {
Composer composer = ....;
given()
.param("parameter1", "parameterValue")
.body(composer)
.when()
.post()
.then()
.assertThat()
.statusCode(201);
}
29
Create POJO object
Set Params
Set POJO as Body
POST Http Method
Assertion on Status Code
30. @alexsotob
REST-assured Request Logging
given().log().all(). .. // Log all request specification details
given().log().params(). .. // Log only the parameters of the request
given().log().body(). .. // Log only the request body
given().log().headers(). .. // Log only the request headers
given().log().cookies(). .. // Log only the request cookies
given().log().method(). .. // Log only the request method
given().log().path(). .. // Log only the request path
30
35. @alexsotob35
More Features of Rest-Assured
> Custom Parsers
Not just JSON and XML
> SSL Support
.relaxedHTTPSValidation()
> Filters
Input/Output modification
> JSON Schema Validation
Content not Important
42. @alexsotob42
Benefits of Service Virtualization and Hoverfly
> Do not relay on network
Yet testing all stack trace
> Hoverfly multilanguage
Can be used as standalone proxy
> Hoverfly JVM
Integration with JVM proxy settings
59. @alexsotob
APE SQL example
@Rule
public ArquillianPersistenceRule arquillianPersistenceRule =
new ArquillianPersistenceRule();
@DbUnit
@ArquillianResource
RdbmsPopulator rdbmsPopulator;
@Before
public void populateData() {
// Given:
rdbmsPopulator.forUri(jdbcUri).withDriver(Driver.class).withUsername("sa")
.withPassword("").usingDataSet("composers.yml")
.execute();
}
59
APE JUnit Rule
(not necessary with
Arquillian Runner)
Set DBUnit usage
Configure Connection and Dataset
Populate
composers:
- id: 1
name: Wolfgang Amadeus Mozart
birthdate: 27/1/1756
died: 5/12/1791
60. @alexsotob
APE SQL example
@After
public void clean_database() {
// Given:
rdbmsPopulator.forUri(jdbcUri).withDriver(Driver.class).withUsername("sa")
.withPassword("").usingDataSet("composers.yml")
.clean();
}
60
Clean After Test
Clean Database
68. @alexsotob
Arquillian Graphene Page Object example
@Location("login.xhtml")
public class HomePage {
@Page
private UserPage userPage;
@FindBy(id = "submit")
private WebElement submitButton;
@FindBy(id = "form")
private LoginPopup loginPopup;
// methods
}
68
Location of the page
Another Page Object
Find web element by id
Page fragment
77. @alexsotob77
More about Smart Testing
> Heuristics
new, changed, affected, failed and categorized
> Range of Commits
Define where you want to look at
> Configuration
System Properties or YAML file (global or per module)
> Jenkins Pipeline Shared Library
Integrate with your CI/CD pipeline
> Detection of none class changes
@WatchFile("src/main/resources/META-INF/
> Surefire based
Works with any kind of test that can be run in Surefire