The slides of my Fake It Outside-In TDD session at Softwerkskammer Meetup Munich. Some improved screencasts you can find here: https://www.youtube.com/playlist?list=PL_ueet93U84VIy8O7U4dUV0GyGvuzFAt8
Fake It Outside-In TDD Workshop @ Clean Code Days David Völkel
The slides of my Fake It Outside-In TDD Workshop at the Clean Code Days 2017. Do not miss to check out the referenced screencasts that illustrate the approach very well: (https://www.youtube.com/playlist?list=PL_ueet93U84VIy8O7U4dUV0GyGvuzFAt8).
TDD ist nicht gleich TDD: die „London School of TDD“ mit Vertretern wie Steve Freeman und Nat Pryce stellt die Interaktionen der Objekte untereinander in den Fokus und ermöglicht durch starken Mocking-Einsatz, diese isoliert Unit-testen zu können. Mit dem zum Einsatz kommenden "Outside-In" Design erzielen die "Mockists" dabei zudem ein sehr passgenaues Design. Im Gegensatz dazu versucht die „Chicago School of TDD“ wenn irgendmöglich Mocks zu vermeiden. Diese sogenannten "Classicists" wie z.B. Kent Beck oder Uncle Bob setzen mehr auf „state based testing“ und verzichten mit integrierteren Tests zugunsten einer besseren Refaktorierbarkeit auf Isolation.
Was macht beide Ansätze aus und für welche Probleme eignen sich die jeweiligen Ansätze besser?
Vortrag bei der Softwerkskammer Karlsruhe
Abstract:
Unter TDD-Praktikern haben sich verschiedene Schulen herausgebildet: Die "Mockists" ("London School“) auf der einen Seite fokussieren auf die Interaktionen der Objekte und ermöglichen durch starken Mocking-Einsatz, diese isoliert Unit-testen zu können. Die "Classicists" ("Chicago School") auf der anderen Seite versuchen hingegen Mocking soweit möglich zu vermeiden. Zusätzlich dazu hat David in den letzen Jahren mit dem "Fake it Outside-In TDD" noch eine weitere Alternative entwickelt, die besonders dabei hilft in sehr kleinen "Baby Steps" zu arbeiten.
Bei näherem Vergleich der Schulen entpuppt sich eine naive "entweder-oder-Entscheidung" als viel zu eindimensional. Statt dessen existieren parallel verschiedene unabhängige Dimensionen. Um zu verstehen, welche Variante in welchem Kontext besser funktioniert, werden die zugrunde liegenden Trade-Offs der einzelnen Dimensionen analysiert und herausgearbeitet, welche Kriterien bei der Entscheidungsfindung helfen können.
Die Slides zu meiner Session "Wann soll ich mocken?" auf den XP Days Germany 2016.
Abstract:
Mocking hat sich als wichtiges Hilfsmittel etabliert, um Teilfunktionalität isoliert testen zu können. Skeptiker werfen dem Ansatz allerdings vor, der Wartbarkeit zu schaden: die Tests würden schlechter lesbar, das Refaktorisieren des Codes schwieriger. Wann sind diese Einwände berechtigt und wie können wir damit umgehen.
- Mocking Anti-Patterns und "Best Practices"
- Alternative Designs, die Mocking obsolet machen
- Entscheidungskriterien wann Mocking Sinn macht und wann nicht
Grundlegende Erfahrungen mit einem Mockingframework sind sinnvoll. Zur Veranschaulichung hab ich konkrete Codebeispiele im Gepäck.
You have found the more you change the code, the more difficult it becomes. Refactoring is a developer practice of improving the internal structure of an existing code without changing the external behavior. It makes code changes for present or future easier. You may have heard about Refactoring from colleagues, books, articles and have probably tried or hear it the first time. This talk presents what it is, why it is important and what you can do to get better at it based on the experience of mentoring on technical practices to others. This talk is suitable for people who want to grow their skill on creating easy to change software for themselves and others.
Validating forms (and more) with the HTML5 pattern attributecliener
In the past, validating forms in the client has typically required doing some heavy lifting with JavaScript. But you may not know HTML5 changes all that. Browsers now check that the content of an input match its type (and we've got new types like email, url and number to make that even more useful). But, what you might not know about is the pattern attribute, which lets us use regular expressions directly in HTML to specify what format the user's input should have.
In this session, Chris Lienert will look at some of the common regex patterns you can use to validate user input, coupled with some of the many tricks he's learned to help users complete those forms we all love to hate.
Fake It Outside-In TDD Workshop @ Clean Code Days David Völkel
The slides of my Fake It Outside-In TDD Workshop at the Clean Code Days 2017. Do not miss to check out the referenced screencasts that illustrate the approach very well: (https://www.youtube.com/playlist?list=PL_ueet93U84VIy8O7U4dUV0GyGvuzFAt8).
TDD ist nicht gleich TDD: die „London School of TDD“ mit Vertretern wie Steve Freeman und Nat Pryce stellt die Interaktionen der Objekte untereinander in den Fokus und ermöglicht durch starken Mocking-Einsatz, diese isoliert Unit-testen zu können. Mit dem zum Einsatz kommenden "Outside-In" Design erzielen die "Mockists" dabei zudem ein sehr passgenaues Design. Im Gegensatz dazu versucht die „Chicago School of TDD“ wenn irgendmöglich Mocks zu vermeiden. Diese sogenannten "Classicists" wie z.B. Kent Beck oder Uncle Bob setzen mehr auf „state based testing“ und verzichten mit integrierteren Tests zugunsten einer besseren Refaktorierbarkeit auf Isolation.
Was macht beide Ansätze aus und für welche Probleme eignen sich die jeweiligen Ansätze besser?
Vortrag bei der Softwerkskammer Karlsruhe
Abstract:
Unter TDD-Praktikern haben sich verschiedene Schulen herausgebildet: Die "Mockists" ("London School“) auf der einen Seite fokussieren auf die Interaktionen der Objekte und ermöglichen durch starken Mocking-Einsatz, diese isoliert Unit-testen zu können. Die "Classicists" ("Chicago School") auf der anderen Seite versuchen hingegen Mocking soweit möglich zu vermeiden. Zusätzlich dazu hat David in den letzen Jahren mit dem "Fake it Outside-In TDD" noch eine weitere Alternative entwickelt, die besonders dabei hilft in sehr kleinen "Baby Steps" zu arbeiten.
Bei näherem Vergleich der Schulen entpuppt sich eine naive "entweder-oder-Entscheidung" als viel zu eindimensional. Statt dessen existieren parallel verschiedene unabhängige Dimensionen. Um zu verstehen, welche Variante in welchem Kontext besser funktioniert, werden die zugrunde liegenden Trade-Offs der einzelnen Dimensionen analysiert und herausgearbeitet, welche Kriterien bei der Entscheidungsfindung helfen können.
Die Slides zu meiner Session "Wann soll ich mocken?" auf den XP Days Germany 2016.
Abstract:
Mocking hat sich als wichtiges Hilfsmittel etabliert, um Teilfunktionalität isoliert testen zu können. Skeptiker werfen dem Ansatz allerdings vor, der Wartbarkeit zu schaden: die Tests würden schlechter lesbar, das Refaktorisieren des Codes schwieriger. Wann sind diese Einwände berechtigt und wie können wir damit umgehen.
- Mocking Anti-Patterns und "Best Practices"
- Alternative Designs, die Mocking obsolet machen
- Entscheidungskriterien wann Mocking Sinn macht und wann nicht
Grundlegende Erfahrungen mit einem Mockingframework sind sinnvoll. Zur Veranschaulichung hab ich konkrete Codebeispiele im Gepäck.
You have found the more you change the code, the more difficult it becomes. Refactoring is a developer practice of improving the internal structure of an existing code without changing the external behavior. It makes code changes for present or future easier. You may have heard about Refactoring from colleagues, books, articles and have probably tried or hear it the first time. This talk presents what it is, why it is important and what you can do to get better at it based on the experience of mentoring on technical practices to others. This talk is suitable for people who want to grow their skill on creating easy to change software for themselves and others.
Validating forms (and more) with the HTML5 pattern attributecliener
In the past, validating forms in the client has typically required doing some heavy lifting with JavaScript. But you may not know HTML5 changes all that. Browsers now check that the content of an input match its type (and we've got new types like email, url and number to make that even more useful). But, what you might not know about is the pattern attribute, which lets us use regular expressions directly in HTML to specify what format the user's input should have.
In this session, Chris Lienert will look at some of the common regex patterns you can use to validate user input, coupled with some of the many tricks he's learned to help users complete those forms we all love to hate.
Slides from my presentation at DunDDD, 17th Nov 2012.
Most of this session was spent discussing unit test examples harvested from github. If anyone would like to see them, just ask.
The slides of my talk "Mockist vs. Classicists TDD" at the Softwerkskammer Berlin Meetup http://www.meetup.com/de-DE/Software-Craftsmanship-Berlin/events/227959647/.
Abstract:
There are two different schools of TDD: the proponents of "London School TDD" ("Mockists") drive their design "outside-in" top-down starting with end-to-end acceptance tests. They focus on the interaction between objects, isolate them with interfaces between them and mock them out in their tests. On the contrary the advocates of "Detroit School TDD" ("Classicists") work bottom-up and try to avoid mocks if possible.
In a live coding session I will demonstrate both approaches and discuss their strengths and weaknesses with you.
The slides of my session "Unit vs. Integration Tests" I gave at our Softwerkskammer Meetup Munich.
Abstract:
Unit and integration test fan boys have been fighting against each other since the early days of TDD. Nevertheless in the last years the test pyramid has become the common sense strategy for automated tests synthesizing both approaches in an economic ratio. Unfortunately in practice the vague and abstract concept leaves us alone with a lot of remaining questions.
I will start the session introducing the test pyramid strategy and the strengths and weaknesses of the different kinds of tests followed by implementation approaches valuable for real life. Then we will split up into small groups and discuss there what in our current projects works well for us and work together on how we can approach remaining challenges. In the end we will come together again and exchange our solutions in the full audience.
Slides zur Session "Wie wird mein Code testbar?" auf den Berlin Expert Days 29.03.2012
Abstract:
Soll ein Legacy System nachträglich um automatisierte Tests erweitert werden, so steht man gleich vor zwei Problemen auf einmal: einerseit verfügt das Team noch über wenig Test-Knowhow, andererseits ist Code schwer testbar, der nicht testgetrieben entwickelt wurde. So schwindet im Team schnell die Akzeptanz, automatisierte Tests zu schreiben: zu aufwändig! Der Vortrag stellt den Ansatz “Design for Testability” vor und illustiert anhand konkreter Java-Beispiele Potentiale zur Verbesserung der Testbarkeit, so dass Tests einfacher umgesetzt aber auch gewartet werden können.
These are the slides of my "Fake it Outside-In TDD" session at the #XP2017 conference. Do not miss to check out the referenced screencasts that illustrate the approach very well: https://www.youtube.com/playlist?list=PL_ueet93U84VIy8O7U4dUV0GyGvuzFAt8
Jakość dostarczanego oprogramowania oparta o testyPaweł Tekliński
Na bazie swoich doświadczeń Paweł opowie o tym jak pisanie testów pozwala zaoszczędzić czas i pomaga stać się lepszym programistą. Postara się odpowiedzieć na pytanie dlaczego tak często nie piszemy testów i pokazać na co należy uważać przy ich pisaniu.
Paweł to programista PHP i WebDeveloper z 7 letnim stażem. Przez ostatnie 2 lata leader zespołu a od niedawna Head of IT w Gdańskiej firmie z branży FinTech.
The Enterprise Architecture you always wanted: A Billion Transactions Per Mon...Thoughtworks
The Enterprise Architecture you always wanted has been hiding in plain sight since 1991. How to get to a Billion Transactions Per Month by using the Web for Enterprise Heavy Lifting
Querying NoSQL with SQL - KCDC - August 2017Matthew Groves
Until recently, agile business had to choose between the benefits of JSON-based NoSQL databases and the benefits of SQL-based querying. NoSQL provides schema flexibility, high performance, and elastic scaling, while SQL provides expressive, independent data access. Recent convergence allows developers and organizations to have the best of both worlds.
Developers need to deliver apps that readily evolve, perform, and scale, all to match changing business needs. Organizations need rapid access to their operational data, using standard analytical tools, for insight into their business. In this session, you will learn the ways that SQL can be applied to NoSQL databases (N1QL, SQL++, ODBC, JDBC, and others), and what additional features are needed to deal with JSON documents. SQL for JSON, JSON data modeling, indexing, and tool integration will be covered.
In an R&D company fast prototyping is vital to develop new projects or proofs of concept quickly and inexpensively. In this talk we will demonstrate how real fast and agile development can be achieved with MongoDB and dynamic languages, with examples and best practices. All the code shown is already uploaded to a public Git repository - https://github.com/pablito56/py-eshop
Why you should be using the shiny new C# 6.0 features now!Eric Phan
C# 6.0 will change the way you write C#. There are many language features that are so much more efficient you’ll wonder why they weren’t there since the beginning.
PETKO D. PETKOV
Thanks to the DevSecOps philosophy a growing number of organisations around the world are ensuring their businesses are set up with the security in mind from the get-go. DevSecOps is taking the world by storm. This talk is about how to introduce DevSecOps in your organisation with ready-made, zero-cost, open source templates accessible to everyone. The talk will introduce the OpenDevSecOps project and show many practical examples of how to easily deploy security testing infrastructure on top of existing and well-established development tools.
This prototype works, but it's not pretty, and now it's in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it's imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we'll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
Slides from my presentation at DunDDD, 17th Nov 2012.
Most of this session was spent discussing unit test examples harvested from github. If anyone would like to see them, just ask.
The slides of my talk "Mockist vs. Classicists TDD" at the Softwerkskammer Berlin Meetup http://www.meetup.com/de-DE/Software-Craftsmanship-Berlin/events/227959647/.
Abstract:
There are two different schools of TDD: the proponents of "London School TDD" ("Mockists") drive their design "outside-in" top-down starting with end-to-end acceptance tests. They focus on the interaction between objects, isolate them with interfaces between them and mock them out in their tests. On the contrary the advocates of "Detroit School TDD" ("Classicists") work bottom-up and try to avoid mocks if possible.
In a live coding session I will demonstrate both approaches and discuss their strengths and weaknesses with you.
The slides of my session "Unit vs. Integration Tests" I gave at our Softwerkskammer Meetup Munich.
Abstract:
Unit and integration test fan boys have been fighting against each other since the early days of TDD. Nevertheless in the last years the test pyramid has become the common sense strategy for automated tests synthesizing both approaches in an economic ratio. Unfortunately in practice the vague and abstract concept leaves us alone with a lot of remaining questions.
I will start the session introducing the test pyramid strategy and the strengths and weaknesses of the different kinds of tests followed by implementation approaches valuable for real life. Then we will split up into small groups and discuss there what in our current projects works well for us and work together on how we can approach remaining challenges. In the end we will come together again and exchange our solutions in the full audience.
Slides zur Session "Wie wird mein Code testbar?" auf den Berlin Expert Days 29.03.2012
Abstract:
Soll ein Legacy System nachträglich um automatisierte Tests erweitert werden, so steht man gleich vor zwei Problemen auf einmal: einerseit verfügt das Team noch über wenig Test-Knowhow, andererseits ist Code schwer testbar, der nicht testgetrieben entwickelt wurde. So schwindet im Team schnell die Akzeptanz, automatisierte Tests zu schreiben: zu aufwändig! Der Vortrag stellt den Ansatz “Design for Testability” vor und illustiert anhand konkreter Java-Beispiele Potentiale zur Verbesserung der Testbarkeit, so dass Tests einfacher umgesetzt aber auch gewartet werden können.
These are the slides of my "Fake it Outside-In TDD" session at the #XP2017 conference. Do not miss to check out the referenced screencasts that illustrate the approach very well: https://www.youtube.com/playlist?list=PL_ueet93U84VIy8O7U4dUV0GyGvuzFAt8
Jakość dostarczanego oprogramowania oparta o testyPaweł Tekliński
Na bazie swoich doświadczeń Paweł opowie o tym jak pisanie testów pozwala zaoszczędzić czas i pomaga stać się lepszym programistą. Postara się odpowiedzieć na pytanie dlaczego tak często nie piszemy testów i pokazać na co należy uważać przy ich pisaniu.
Paweł to programista PHP i WebDeveloper z 7 letnim stażem. Przez ostatnie 2 lata leader zespołu a od niedawna Head of IT w Gdańskiej firmie z branży FinTech.
The Enterprise Architecture you always wanted: A Billion Transactions Per Mon...Thoughtworks
The Enterprise Architecture you always wanted has been hiding in plain sight since 1991. How to get to a Billion Transactions Per Month by using the Web for Enterprise Heavy Lifting
Querying NoSQL with SQL - KCDC - August 2017Matthew Groves
Until recently, agile business had to choose between the benefits of JSON-based NoSQL databases and the benefits of SQL-based querying. NoSQL provides schema flexibility, high performance, and elastic scaling, while SQL provides expressive, independent data access. Recent convergence allows developers and organizations to have the best of both worlds.
Developers need to deliver apps that readily evolve, perform, and scale, all to match changing business needs. Organizations need rapid access to their operational data, using standard analytical tools, for insight into their business. In this session, you will learn the ways that SQL can be applied to NoSQL databases (N1QL, SQL++, ODBC, JDBC, and others), and what additional features are needed to deal with JSON documents. SQL for JSON, JSON data modeling, indexing, and tool integration will be covered.
In an R&D company fast prototyping is vital to develop new projects or proofs of concept quickly and inexpensively. In this talk we will demonstrate how real fast and agile development can be achieved with MongoDB and dynamic languages, with examples and best practices. All the code shown is already uploaded to a public Git repository - https://github.com/pablito56/py-eshop
Why you should be using the shiny new C# 6.0 features now!Eric Phan
C# 6.0 will change the way you write C#. There are many language features that are so much more efficient you’ll wonder why they weren’t there since the beginning.
PETKO D. PETKOV
Thanks to the DevSecOps philosophy a growing number of organisations around the world are ensuring their businesses are set up with the security in mind from the get-go. DevSecOps is taking the world by storm. This talk is about how to introduce DevSecOps in your organisation with ready-made, zero-cost, open source templates accessible to everyone. The talk will introduce the OpenDevSecOps project and show many practical examples of how to easily deploy security testing infrastructure on top of existing and well-established development tools.
This prototype works, but it's not pretty, and now it's in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it's imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we'll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
This prototype works, but it’s not pretty, and now it’s in production. That legacy application really needs some TLC. Where do we start? When creating long lived applications, it’s imperative to focus on good practices. The solution is to improve the whole development life cycle; from planning, better coding and testing, to automation, peer review and more. In this talk, we’ll take a quick look into each of these areas, looking at how we can make positive, actionable change in our workflow.
Die Kunst der kleinen Schritte - Softwerkskammer LübeckDavid Völkel
Die Slides zu meiner (Remote-)Session "Die Kunst der kleinen Schritte" bei der Softwerkskammer Lübeck. Enthält auch Links auf die in der Session gezeigten Screencasts auf Youtube.
The slides of the Global Day of Coderetreat Munich 2018 I facilitated and we organized in the context of our Software Craft Meetup Munich on 17.11.2018.
Die Slides zu meinem Kurzvortrag im eXreme Presentation Format auf den XP Days Germany 2018.
Ein Pladoyer dafür, dass "Best Practices" nicht immer funktionieren und man statt dessen lieber sein Hirn einschalten und eine spezifisch zum Problem passende Lösung finden sollte.
Die Kunst der kleinen Schritte - XP Days Germany 2018David Völkel
Die Slides zu meiner Session "Die Kunst der kleinen Schritte" auf den XP Days Germany 2018.
Die Session stellt Ansätze vor, wie sich beim TDD extrem kleine Mikroschritte ("Baby Step" erreichen lassen.
Screencasts, die die Ansätze nochmal illustrieren finden sich unter https://www.youtube.com/playlist?list=PL_ueet93U84VIy8O7U4dUV0GyGvuzFAt8.
Der Vorgängervortrag, der sich noch mehr mit dem Vergleich mit anderen TDD Schulen beschäftigt, findet sich unter https://de.slideshare.net/davidvoelkel.
The slides of the Global Day of Coderetreat Munich 2017 I facilitated and we organized in the context of our Softwerkskammer Software Craft Meetup Munich on 18.11.2017.
The slides of my "Baby Steps TDD Approaches" session at the Softwerkskammer Munich meetup on 9th of April 2015 where I present a tool box which you can use to reach smaller steps to optimize feedback speed and reduce risk during programming.
Die Folien zu meinem Vortrag "Clean Test Code" auf den Clean Code Days 2014 in München: http://www.cleancode-days.de/vortraege/articles/clean-test-code.html
There are two different schools of TDD: the "London School of TDD" ("Mockists") with proponents like Steve Freeman, Nat Pryce, J.B. Rainsberger leverage a top-down approach and heavy use of interfaces to craft roles of neighbour objects. They drive their design "outside-in" starting with end-to-end acceptance tests and focus on the interaction between objects. Testing them in isolation is achieved by heavy use of mocking.
On the contrary the "Chicago School of TDD" ("Classicists" like Kent Beck, Uncle Bob, ...) try to avoid mocks if possible. They prefere "state based testing" and focus on assertions on the return values.
References:
Blogpost "Mocks aren't Stubs", Martin Fowler: http://martinfowler.com/articles/mocksArentStubs.html
Paper "Mock Roles not objects", Freeman et al.: http://jmock.org/oopsla2004.pdf
Book "Growing Object Oriented Software guided by tests", Steve Freeman & Nat Pryce: http://www.growing-object-oriented-software.com/
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
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
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.
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.
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.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
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.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
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.
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.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
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!
3. INFLUENCES
2003 Kent Beck’s "Fake It" Pattern
2009 #GOOS’s "Outside-In" Design
2013 Emily Bache
"Outside-In development with Double Loop TDD"
2014 Justin Searls "The Failures of 'Intro to TDD'"
COMBINATION
2015 Dimitry Polivaev Outside-In with faked Data
2016 SoCraTes DE Outside-In Fake It Session
2017 Refinement
4. INFLUENCES
2003 Kent Beck’s "Fake It" Pattern
2009 #GOOS’s "Outside-In" Design
2013 Emily Bache
"Outside-In development with Double Loop TDD"
2014 Justin Searls "The Failures of 'Intro to TDD'"
COMBINATION
2015 Dimitry Polivaev Outside-In with faked Data
2016 SoCraTes DE Outside-In Fake It Session
2017 Refinement
5. INFLUENCES
2003 Kent Beck’s "Fake It" Pattern
2009 #GOOS’s "Outside-In" Design
2013 Emily Bache
"Outside-In development with Double Loop TDD"
2014 Justin Searls "The Failures of 'Intro to TDD'"
COMBINATION
2016 SoCraTes DE Outside-In Fake It Session
2017 Refinement
6. INFLUENCES
2003 Kent Beck’s "Fake It" Pattern
2009 #GOOS’s "Outside-In" Design
2013 Emily Bache
"Outside-In development with Double Loop TDD"
2014 Justin Searls "The Failures of 'Intro to TDD'"
COMBINATION
2016 SoCraTes DE Outside-In Fake It Session
2017 Refinement
7. INFLUENCES
2003 Kent Beck’s "Fake It" Pattern
2009 #GOOS’s "Outside-In" Design
2013 Emily Bache
"Outside-In development with Double Loop TDD"
COMBINATION
2016 SoCraTes DE Outside-In Fake It Session
2017 Refinement
8. INFLUENCES
2003 Kent Beck’s "Fake It" Pattern
2009 #GOOS’s "Outside-In" Design
2013 Emily Bache
"Outside-In development with Double Loop TDD"
2014 Justin Searls "The Failures of 'Intro to TDD'"
COMBINATION
2016 SoCraTes DE Outside-In Fake It Session
2017 Refinement
48. INTEGRATION
OUTSIDE-IN & FAKE IT
OPERATION
Fake It
Triangulation
Start with
• comprehensive
Acceptance Test
• faked result
Drive structure by refactoring
Drive logic by unit tests
49. INTEGRATION
OUTSIDE-IN & FAKE IT
OPERATION
Fake It
Triangulation
Start with
• comprehensive
Acceptance Test
• faked result
Drive structure by refactoring
Drive logic by unit tests