Une introduction au Behavior Driven Development, avec plein d'idées pour tout de suite! et applicable à tout projet. Il sera question:
* de passer de l'incompréhension à savoir qu'on ne sait pas
* des westerns spaghetti aux Three Amigos,
* de reléguer le Comment au second plan pour laisser sa place au Pourquoi!
* de rendre des spécifications exécutables
* de découvrir qu'un concombre n'est pas qu'un Cucurbitacée aux feuilles tri-lobées
* d'automatisation comme outil de non-regression
Au cours de cette session, nous expliquerons ce qu'est le BDD. Nous verrons qu'il n'est pas question d'outils ou de tests, mais de collaboration et de discussion entre les différentes parties prenantes: du métier aux développeurs en passant par les testeurs. Cette presentation s'adresse à l'ensemble de ces populations en expliquant l'importance qu'il y a à se comprendre, et qu'il n'est pas nécessaire d'avoir des outils sophistiqués pour avoir des bénéfices immédiats.
Nous verrons quelques pratiques de discussion qui permettent d'arriver à une meilleure compréhension et à une description du besoin. Nous verrons aussi comment des exemples concrets permettent de s'assurer d'une compréhension commune et comment ils permettent de construire un langage unique et non ambigu. Nous verrons comment rendre ces spécifications executables en réutilisant les exemples construits précédemment et en les automatisant. Ceux-ci viendront renforcer les tests d'acceptance et devenir des tests de non regressions. Enfin, nous verrons que cette démarche nous permettra d'avoir une documentation vivante et toujours à jour de notre système.
Idées pour tout de suite
Communication, Clarification par des Exemples concrets, Spécifications exécutables
Introduction to BDD with Cucumber for JavaSeb Rose
This tutorial looks at what Cucumber is good for—and what it isn’t. It briefly covers what behavior-driven development (BDD) is and how Cucumber helps deliver on the promise of improved communication between the business and the development team. Then it dives into how Cucumber works, the specific details of the Java version (Cucumber-JVM), and what makes it different from other similar tools. Finally, it considers how Cucumber can fit into your test automation strategy and produce "living documentation" that is always up to date. You will come away with everything you need to know to be able to decide whether BDD (using Cucumber-JVM) is for you.
Introduction to BDD with Cucumber for JavaSeb Rose
This tutorial looks at what Cucumber is good for—and what it isn’t. It briefly covers what behavior-driven development (BDD) is and how Cucumber helps deliver on the promise of improved communication between the business and the development team. Then it dives into how Cucumber works, the specific details of the Java version (Cucumber-JVM), and what makes it different from other similar tools. Finally, it considers how Cucumber can fit into your test automation strategy and produce "living documentation" that is always up to date. You will come away with everything you need to know to be able to decide whether BDD (using Cucumber-JVM) is for you.
The quest for global design principles (SymfonyLive Berlin 2015)Matthias Noback
If you’re a programmer you make design decisions every second. You need to think, and often think hard, about everything. Luckily there are many useful design principles and patterns that you can apply. But some of them merely expose code smells. Others only help you design your classes. And some are applicable to packages only. Wouldn’t it be nice to have some more general, always useful, invariably applicable, foundational design principles? In this talk we’ll look at software from many different perspectives, and while we’re zooming in and out, we’ll discover some of the deeper principles that form the basis of proper object-oriented design. After attending this talk you will be able to make better design decisions by reflecting on the stream of messages that is flowing from object to object, and from application to application.
Replacing dependents with doubles is a central part of testing that every developer has to master. This talk goes over the different types of doubles and explains their place in testing, how to implement them in a mainstream mocking framework, and which strategies or doubles to use in different message exchange scenarios between objects. After this talk you will have moved a step forward in your understanding of testing in the context of object oriented programming.
Marcello reflects over the craftsmanship manifesto and its elements to uncover some interesting insights regarding the application of the underlying principles in real life projects and in the context of organisations and communities struggling to live up to the expectations it creates.
Si le tdd est mort alors pratiquons une autopsie mix-it 2015Bruno Boucard
Si Michel-Ange avait été développeur quels auraient été ses secrets. Quelle était la posture de cet artiste ? Quelle place occupent nos modèles mentaux lorsque nous développons ? La notion de design émergent qui accompagne les approches test-first (TDD, BDD,…) peut rendre plus d’une personne sceptique. En effet, comment concilier nos intuitions et projections mentales avec cette approche a priori minimaliste et contre-intuitive ?
Writing infinite scalability web applications with PHP and PostgreSQLGabriele Bartolini
PostgreSQL 9.2 introduced native support for the JSON data type, as well as V8/Javascript and Coffeescript procedural languages.
Learn how you can write web applications in PHP using an intelligent and horizontally sharded cluster of PostgreSQL databases, bringing you infinite scalability and parallel processing.
This talk will guide you through the development lifecycle of the application, focusing on architecture, technologies, testing and deployment.
PhpSpec is a SpecBDD tool that enables you to use a TDD workflow that can transform the way you write PHP. In this session we will look at the TDD workflow and see how PhpSpec can be used to speed up your development; add regression safety, and improve your object-oriented design.
The Wonderful World of Symfony ComponentsRyan Weaver
Wow, Symfony Components!
In this talk, we'll look at the history of PHP, and the struggles as a community to create shared libraries between our large community. Find out the significance of PSR-0 and Composer in *your* life and how you can leverage libraries from all of PHP in your projects.
We'll also look at the most fundamental Symfony2 components - HttpFoundation, HttpKernel, EventDispatcher, & Routing - including those that have been adopted by Drupal 8. We'll also check out a bunch of the other interesting Symfony2 components that can be used as tools in any PHP project.
The goal of this talk is to show you just how easy finding and using high quality libraries has become in PHP. By the end, you'll be excited and ready to high-five all of your PHP friends.
The 7th June 2012 Linkedin was hacked. More than 6 million LinkedIn passwords was compromised. The real shocking news was not the theft but the fact that the attackers were able to decrypt many of these passwords. Why it happened? The answer is simple: a bad design of the password security. In this talk I presented how to choose "secure" user's passwords and how to safely store it from a programmer's perspective.
This talk has been presented during the MOCA 2012, http://moca.olografix.org/moca2012
What should you test with your unit tests? Some people will say that unit behaviour is best tested through it's outcomes. But what if communication between units itself is more important than the results of it? This session will introduce you to two different ways of unit-testing and show you a way to assert your object behaviours through their communications.
Measuring Web Performance - HighEdWeb EditionDave Olsen
Today, a Web page can be delivered to desktop computers, televisions, or handheld devices like tablets or phones. While a technique like responsive design helps ensure that our websites look good across that spectrum of devices we may forget that we need to make sure that our websites also perform well across that same spectrum. More and more of our users are shifting their Internet usage to these more varied platforms and connection speeds with some moving entirely to mobile Internet. In this session, we’ll look at the tools that can help you understand, measure and improve the performance of your websites and applications. The talk will also discuss how new server-side techniques might help us optimize our front-end performance. Finally, since the best way to test is to have devices in your hand, we’ll discuss some tips for getting your hands on them cheaply. This presentation builds upon Dave Olsen’s “Optimization for Mobile” chapter in Smashing Magazine’s “The Mobile Book.”
Nobody wants to work in a large ball of mud that becomes harder to manage as time goes on. Proven software architectures tells us to break the system into more manageable components that are isolated from each other.
Years back (before Composer) in symfony1 era we had a single SVN repository, that required a lot of discipline to keep our codebase decoupled and clean. After migrating to Symfony 2 we broke the project into more manageable components that were in separate Git repositories. Unfortunately it quickly became a huge overhead and nightmare to deal with.
We learned the hard why that all the benefits come from having isolated packages not breaking things into separate repositories.
Now we have a single Git repository, again. This isn't a bad idea; to my knowledge Facebook, Twitter, and Google all have a big monolithic source repos but we needed a solution that works for a lot smaller fish :)
With a little help, Composer made this possible for us - so you can have your cake and eat it too!
The security component tackles the complex problems of authentication and authorization by spreading concerns across a number of single responsibility objects. This is a flexible design, but difficult for beginners to navigate. This presentation will bring the security component to life for us all to understand! Join us to see some of your favorite members of the Symfony community perform the security component in a series of scenes, interspliced with some technical descriptions of what's going on.
As presented at Dutch PHP Conference 2015, an introduction to command buses, how to implement your own in PHP and why they're both useful but unimportant.
Event Sourcing - You are doing it wrong @ DevoxxDavid Schmitz
"Every microservice get's its own database and then use Kafka" is a typical and naive advise, when reading about eventsourcing. If you approach this architectural style this way, you will probably have a really awful time ahead.
Eventsourcing and CQRS are two very useful and popular patterns when dealing with data and microservices. We often find in our customer's projects, that both have a severe impact on your future options and the maintainability of your architecture. Presentations and articles on both topics are often superficial and do not tackle real world problems like security and compliance requirements.
This combination of half-knowledge and technical confusion leads to many projects that either refactor back to a 'non-eventsourced' architecture or reduce eventsourcing to a message queue.
In this talk, I will summarize our experience while applying eventsourcing and CQRS accros multiple large financial and insurance companies over the last 5 years. We will cover the Good, the Not so Good, and the 'oh my god...all abandon ships!' when doing eventsourcing in the real world...and see how we solved these issues.
The quest for global design principles (SymfonyLive Berlin 2015)Matthias Noback
If you’re a programmer you make design decisions every second. You need to think, and often think hard, about everything. Luckily there are many useful design principles and patterns that you can apply. But some of them merely expose code smells. Others only help you design your classes. And some are applicable to packages only. Wouldn’t it be nice to have some more general, always useful, invariably applicable, foundational design principles? In this talk we’ll look at software from many different perspectives, and while we’re zooming in and out, we’ll discover some of the deeper principles that form the basis of proper object-oriented design. After attending this talk you will be able to make better design decisions by reflecting on the stream of messages that is flowing from object to object, and from application to application.
Replacing dependents with doubles is a central part of testing that every developer has to master. This talk goes over the different types of doubles and explains their place in testing, how to implement them in a mainstream mocking framework, and which strategies or doubles to use in different message exchange scenarios between objects. After this talk you will have moved a step forward in your understanding of testing in the context of object oriented programming.
Marcello reflects over the craftsmanship manifesto and its elements to uncover some interesting insights regarding the application of the underlying principles in real life projects and in the context of organisations and communities struggling to live up to the expectations it creates.
Si le tdd est mort alors pratiquons une autopsie mix-it 2015Bruno Boucard
Si Michel-Ange avait été développeur quels auraient été ses secrets. Quelle était la posture de cet artiste ? Quelle place occupent nos modèles mentaux lorsque nous développons ? La notion de design émergent qui accompagne les approches test-first (TDD, BDD,…) peut rendre plus d’une personne sceptique. En effet, comment concilier nos intuitions et projections mentales avec cette approche a priori minimaliste et contre-intuitive ?
Writing infinite scalability web applications with PHP and PostgreSQLGabriele Bartolini
PostgreSQL 9.2 introduced native support for the JSON data type, as well as V8/Javascript and Coffeescript procedural languages.
Learn how you can write web applications in PHP using an intelligent and horizontally sharded cluster of PostgreSQL databases, bringing you infinite scalability and parallel processing.
This talk will guide you through the development lifecycle of the application, focusing on architecture, technologies, testing and deployment.
PhpSpec is a SpecBDD tool that enables you to use a TDD workflow that can transform the way you write PHP. In this session we will look at the TDD workflow and see how PhpSpec can be used to speed up your development; add regression safety, and improve your object-oriented design.
The Wonderful World of Symfony ComponentsRyan Weaver
Wow, Symfony Components!
In this talk, we'll look at the history of PHP, and the struggles as a community to create shared libraries between our large community. Find out the significance of PSR-0 and Composer in *your* life and how you can leverage libraries from all of PHP in your projects.
We'll also look at the most fundamental Symfony2 components - HttpFoundation, HttpKernel, EventDispatcher, & Routing - including those that have been adopted by Drupal 8. We'll also check out a bunch of the other interesting Symfony2 components that can be used as tools in any PHP project.
The goal of this talk is to show you just how easy finding and using high quality libraries has become in PHP. By the end, you'll be excited and ready to high-five all of your PHP friends.
The 7th June 2012 Linkedin was hacked. More than 6 million LinkedIn passwords was compromised. The real shocking news was not the theft but the fact that the attackers were able to decrypt many of these passwords. Why it happened? The answer is simple: a bad design of the password security. In this talk I presented how to choose "secure" user's passwords and how to safely store it from a programmer's perspective.
This talk has been presented during the MOCA 2012, http://moca.olografix.org/moca2012
What should you test with your unit tests? Some people will say that unit behaviour is best tested through it's outcomes. But what if communication between units itself is more important than the results of it? This session will introduce you to two different ways of unit-testing and show you a way to assert your object behaviours through their communications.
Measuring Web Performance - HighEdWeb EditionDave Olsen
Today, a Web page can be delivered to desktop computers, televisions, or handheld devices like tablets or phones. While a technique like responsive design helps ensure that our websites look good across that spectrum of devices we may forget that we need to make sure that our websites also perform well across that same spectrum. More and more of our users are shifting their Internet usage to these more varied platforms and connection speeds with some moving entirely to mobile Internet. In this session, we’ll look at the tools that can help you understand, measure and improve the performance of your websites and applications. The talk will also discuss how new server-side techniques might help us optimize our front-end performance. Finally, since the best way to test is to have devices in your hand, we’ll discuss some tips for getting your hands on them cheaply. This presentation builds upon Dave Olsen’s “Optimization for Mobile” chapter in Smashing Magazine’s “The Mobile Book.”
Nobody wants to work in a large ball of mud that becomes harder to manage as time goes on. Proven software architectures tells us to break the system into more manageable components that are isolated from each other.
Years back (before Composer) in symfony1 era we had a single SVN repository, that required a lot of discipline to keep our codebase decoupled and clean. After migrating to Symfony 2 we broke the project into more manageable components that were in separate Git repositories. Unfortunately it quickly became a huge overhead and nightmare to deal with.
We learned the hard why that all the benefits come from having isolated packages not breaking things into separate repositories.
Now we have a single Git repository, again. This isn't a bad idea; to my knowledge Facebook, Twitter, and Google all have a big monolithic source repos but we needed a solution that works for a lot smaller fish :)
With a little help, Composer made this possible for us - so you can have your cake and eat it too!
The security component tackles the complex problems of authentication and authorization by spreading concerns across a number of single responsibility objects. This is a flexible design, but difficult for beginners to navigate. This presentation will bring the security component to life for us all to understand! Join us to see some of your favorite members of the Symfony community perform the security component in a series of scenes, interspliced with some technical descriptions of what's going on.
As presented at Dutch PHP Conference 2015, an introduction to command buses, how to implement your own in PHP and why they're both useful but unimportant.
Event Sourcing - You are doing it wrong @ DevoxxDavid Schmitz
"Every microservice get's its own database and then use Kafka" is a typical and naive advise, when reading about eventsourcing. If you approach this architectural style this way, you will probably have a really awful time ahead.
Eventsourcing and CQRS are two very useful and popular patterns when dealing with data and microservices. We often find in our customer's projects, that both have a severe impact on your future options and the maintainability of your architecture. Presentations and articles on both topics are often superficial and do not tackle real world problems like security and compliance requirements.
This combination of half-knowledge and technical confusion leads to many projects that either refactor back to a 'non-eventsourced' architecture or reduce eventsourcing to a message queue.
In this talk, I will summarize our experience while applying eventsourcing and CQRS accros multiple large financial and insurance companies over the last 5 years. We will cover the Good, the Not so Good, and the 'oh my god...all abandon ships!' when doing eventsourcing in the real world...and see how we solved these issues.
CoolTrade is an automated trading platform, also known as a robotic trading program, algorithmic trading software or online stock trading system. There are many terms used to describe the online stock trading systems that can help you grow your investments. CoolTrade is the only stock trading program for individual investors that is fully robotic.
CoolTrade was founded in 2004 by CEO Mr. Ed Barsano after years of actively trading and not finding software that could trade the market more efficiently. As a former Microsoft developer, Ed created the CoolTrade platform and marketed it to several brokerage firms. Today, CoolTrade users can use this algorithmic trading program to trade with E*TRADE, Interactive Brokers, TDAmeritrade, MB Trading and Options House.
Startup Metrics, a love story. All slides of an 6h Lean Analytics workshop.Andreas Klinger
Everything you need to know about Startup Product Metrics.
This is a slideshare exclusive. The full 8hour workshop deck.
#iCatapult Workshop - 2013-08-12
Links:
http://klinger.io/
http://icatapult.co/
A reproduction of Pitch Deck Template for raising seed capital by NextView Ventures.
No time to create a presentation from scratch? Use this template by NextView Ventures with ready to use slides to make your point. Stay focused on your ideas, not the looks. From investor decks to demo day presentations, this pitch deck template will save your startup hours of work on slide design.
Customizable pitch deck templates which include two different versions, both built by leading seed investors at NextView Ventures. Entrepreneurs can use them to save time while building a pitch deck to raise seed capital.
Coding Culture - Sven Peters - Codemotion Milan 2016Codemotion
A great coding culture gives the power back to the developer and concentrates on making them productive and happy by removing unnecessary overhead, bringing autonomous teams together, helping the individual programmer to innovate, and raising the awareness among developers to create better code. I will talk about how to establish and foster a strong engineering-focused culture and give lots of examples from our experience at Atlassian to show that once you're working in a great coding culture, you won't want to work anywhere else.
Before you rush into cryptos, you need to realize that cryptocurrencies are digital assets that are highly volatile, and the chances of earning big or going bust are equal.
The mistakes mentioned below can help you gain a better perspective of the cryptocurrency market so that you don’t repeat them.
Checkout Dividend Stocks Research for free Articles! Http://www.dividendstocksresearch.com/dividend-newsletter
Want to see what troubled companies do to try and make it look like the dividend is healthy? Check out this shenanigan.
Random Walks, Efficient Markets & Stock PricesNEO Empresarial
The famous financial theory of Efficient Markets is associated with the idea of a Random Walk. If the theory holds true, that makes prices unpredictable, and therefore it'd be impossible to consistently beat the market.
The seminar discusses the mathematical idea of a random walk, then moves on to understand what makes a market efficient.
Finally, we conduct a Monte Carlo Simulation on Wolfram Mathematica, to forecast the behaviour of Google's stock price one year from now.
"How to build an equity strategy when you are fundraising?" by Guillaume-Oliv...TheFamily
Private Equity and VC industry is facing huge challenges as Entrepreneurs are redesigning the basic building block of capitalism. Let’s share some thoughts to find the right route to a successful fundraising and build a real Equity Strategy that fits your Equity Story.
Guillaume-Olivier Doré give you insider tips and trick when you start your fundraising in a moving VC world. Guillaume-Olivier is a Serial Entrepreneur and investor. He is the cofounder of the first and biggest Business Angels network (400 entrepreneurs-investors), of Viadeo and Theraclion. He also founded OTC agregator, one of the leading VC firm in France, with €500m under management and 150 portfolio compagnies (exit 2015).
He is currently the CEO and founder www.FinTech-Mag.com.
You understood...Guillaume-Olivier is the man to have for this workshop ;)
Stanford CS 007-10 (2018): Personal Finance for Engineers / Additional TopicsAdam Nash
These are the slides from the 10th session of the Stanford University class, CS 007 "Personal Finance for Engineers" This seminar covers student requested additional topics for the course, including bitcoin / cryptocurrency, derivatives, futures, options, private equity & venture capital.
Amazon: Innovator or Destroyer? (Or Both?)Callahan
Amazon often appears to be a contradiction. Their gross revenues and market capitalization have taken off over the last five years, yet profits are meager or absent. How can a company be so lauded, yet not be delivering the profits investors expect from a vibrant, growing company? Kent Stones examines four significant investments Amazon has made since 2004, and how they have set the foundation for Amazon to become the defacto distribution system in the United States. He outlines four potential scenarios retailers will face and the type of companies that will thrive in each.
Everything You Know About Investing in Toronto is WRONG!.pdfVolition Properties
Just because you live in Toronto or GTA, doesn't automatically make you a Toronto investment expert. At Volition, we have been debunking myths about the viability of investing in Toronto for the past 14 years.
SearchLove Boston 2015 | Ian Lurie, 'Why the Hell Not? SEO Leadership Through...Distilled
Learn the tactics and strategic thinking necessary to get in front of clients and bosses, instead of chasing them from demand to demand. In this session, Ian will teach us a better way to measure search, integrating search with marketing strategy, and how to choose your battles.
Similar to L'ABC du BDD (Behavior Driven Development) (20)
Dégraissons le mammouth ou Darwin a encore frappé - La théorie de l'évolution...Arnauld Loyer
Dégraissons le mammouth ou Darwin a encore frappé
La théorie de l'évolution appliquée au développement informatique - cas pratique de l'architecture du site PMU.fr
Depuis 1980, Lehman nous avertit: un programme doit évoluer ou péricliter, mais alors qu'il devient de plus en plus gros, la complexité résultante tend à limiter son évolution. Comment remédier à cela? Quelle architecture adopter pour un site à fort trafic comme celui du PMU?
Après avoir abordé les problématiques d'évolution et de maintenance d'une application monolithique, nous verrons pourquoi et surtout comment séparer les composants et les comportements de notre application.
Du monolithe aux micro services, du distribué, des messages, du publish/subscribe, du REST, une approche polyglotte, ... au cours de cet exposé, nous verrons quelques uns des choix retenus pour garantir la survie et l'évolution de notre application. Nous verrons comment nous avons construit un socle solide permettant de répondre aux nouvelles manières de faire du Web, d'être adapté aux applications mobiles et aux télés connectées. Ce sera l'occasion d'aborder aussi bien les principes architecturaux et les principes organisationnels qui nous ont permis d'atteindre cet objectif.
Confiance & BDD - Présentation faite à Softshake sur les origines de la confiance et comment le Behavior Driven Development (BDD) contribue à restaurer ou instaurer la confiance entre les développeurs, le métier et les testeurs.
Rappellez-vous cette petite fille, la bouche pleine de chocolat qui dit "Mon papa il me dit toujours on ne doit pas manger de mousse au chocolat avant de manger... sinon tu trompes la confiance que tes parents ils ont mis à l'interieur de toi"
Cela vous rappelle quelque chose? Votre relation avec les développeurs, avec votre client ou encore avec vos testeurs?
Vous avez été trahis, la confiance s'est érodée, vous êtes au bord de la rupture, vos yeux sont cernés? Ne vous inquiétez pas il est encore temps de réagir. Que vous soyez testeurs, Business Analysts, clients, developpeurs, il y a toujours une issue. Nous allons voir comment en travaillant ensemble, vous allez pouvoir restaurez la confiance et la qualité de vos développements.
Avec "Adopte BDD", tous ensemble vous allez pouvoir écrire une nouvelle histoire, vous serez les propres acteurs de vos scénarios, l'automatisation n'aura plus de secret pour vous. Quelques rondelles de concombre, et fini les yeux gonflés, les cernes et les traits tirés. Vous serez enfin détendu.
Une présentation où il est question de mousse au chocolat, de confiance et de concombre.
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.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
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.
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.
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.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
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.
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.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
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
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."
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
6. Qu'est ce qui se passe?
Modèle
Mental
@aloyer
@aloyer
@aloyer
7. Qu'est ce qui se passe?
Modèle
Mental
Ce qui est expliqué
Ce qui
n'est pas
retranscrit Modèle
Mental
@aloyer
@aloyer
@aloyer
8. Qu'est ce qui se passe?
Modèle
Mental
Ce qui est expliqué
Ce qui
n'est pas
retranscrit Modèle
Mental
Ce que l'autre comprend
@aloyer
@aloyer
@aloyer
9. Qu'est ce qui se passe?
Ce qui est
spécifié
@aloyer
@aloyer
@aloyer
10. Qu'est ce qui se passe?
Ce qui va
être testé
@aloyer
@aloyer
@aloyer
@aloyer
11. Qu'est ce qui se passe?
Ce qui va
être testé
Ce qui est
réalisé
@aloyer
@aloyer
@aloyer
@aloyer
29. Why?
Goal?
Business Value?
In order to <achieve the vision>
Feature: ...
As a <stakeholder>
I want <value>
Intention
As a <role>
I want <goal>
So that <value>
User focused
What?
How!
@aloyer
@aloyer
32. In order to...
Feature: ...
As a...
I want to...
Scenario: ...
Given <a context>
When <an event happens>
Then <an outcome should occur>
BDD uses examples to illustrate behavior
@aloyer
@aloyer
33. Why do YOU
like should?
It encourages
debate, and
constant Questioning
of the premise of the
application you are
developing.
Dan North, March 2005
@aloyer
34. Feature: Account Holder withdraws cash from an ATM
!
In the following scenario, ATM will stands for
Automatic Teller Machine in other word a “Cash machine”.
!
In order to get money at any time, even when the bank is
closed
As an Account Holder
I want to withdraw cash from an ATM
!
Scenario: Account has sufficient funds
Given the account balance is 100€
When the Account Holder requests 20€
Then the ATM should dispense 20€
And the account balance should be 80€
And the card should be returned
@aloyer
35. Scenario: Account has insufficient funds
Given the account balance is 10€
And the card is valid
And the machine contains enough money
When the Account Holder requests 30€
Then the ATM should not dispense any money
And the ATM should say there are insufficient funds
And the account balance should still be 10€
And the card should be returned
@aloyer
36. Scenario: Account has insufficient funds
Given the account balance is 10€
And the card is valid
And the machine contains enough money
When the Account Holder requests 30€
Then the ATM should not dispense any money
And the ATM should say there are insufficient funds
And the account balance should still be 10€
And the card should be returned
FOCUS On the BEHAVIOR DESCRIBED!
@aloyer
38. Feature: Interpolate
!
In order to interpolate values
As an Trader
I want to interpolate values in a range of Market
data
Why this feature ?
@aloyer
39. Feature: Linear Interpolation
In order to fill the gaps and provide a value for any
maturity
As a trader responsible for market-making
I want to interpolate linearly values within a range of
points
And I want a flat extrapolation outside of the range
of points
Why this feature ?
@aloyer
40. Scenario: Change the negotiation price from positive to negative
=> soulte cashflow appears and premium cashflow is modified
!
Given an FUNKY_EXOTIC
And deal way is sell
And deal nature is TOMATO
And trade value date is 2012/07/01
And nominal is 100 JPY
And negotiation price is 0.20 JPY
When I validate the deal
Then there are 1 Price cashflows
And there are 0 fee cashflows
When I change the negotiation price to -0.3 JPY
And I validate the deal
Then there are 1 Price cashflows
And there are 1 fee cashflows
And the trade cashflow's payment date is 2012/07/01
And the trade cashflow's way is receive
And the trade cashflow's amount is 30 JPY
And the fee cashflow's payment date is 2012/07/01
And the fee cashflow's way is give
And the fee cashflow's amount is 60 JPY
What about this scenario
@aloyer
41. What about this scenario
d = new Deal();
d.SetWay(Sell);
d.SetNature(Tomato);
d.SetValueDate(new Date(...));
d.SetNominal(100, JPY);
d.SetNegotiationPrice(0.20, JPY);
cf = d.GetCashFlows();
AssertThat(IsEqual(...);
...
Scenario: Change the negotiation price from positive to negative
=> soulte cashflow appears and premium cashflow is modified
!
Given an FUNKY_EXOTIC
And deal way is sell
And deal nature is TOMATO
And trade value date is 2012/07/01
And nominal is 100 JPY
And negotiation price is 0.20 JPY
When I validate the deal
Then there are 1 Price cashflows
And there are 0 fee cashflows
When I change the negotiation price to -0.3 JPY
And I validate the deal
Then there are 1 Price cashflows
And there are 1 fee cashflows
And the trade cashflow's payment date is 2012/07/01
And the trade cashflow's way is receive
And the trade cashflow's amount is 30 JPY
And the fee cashflow's payment date is 2012/07/01
And the fee cashflow's way is give
And the fee cashflow's amount is 60 JPY
@aloyer
42. SCEnARIO: Fee and Price cashflows when the negotiation price is
set to a negative value
!
Given a sell for a nominal 100 JPY on FUNKY_EXOTIC TOMATO
negotiation price 0.20 JPY traded on 2012/07/01
When the middle officer validates the deal
Then the trade has one Price cashflow and no Fee cashflow
When the middle officer changes the negotiation price to -0.3 JPY
And the middle officer validates the deal
Then the trade has the following cashflows:
What about this scenario
Communicate With the Business People !!!
FlowType
Price
Fee
Way
Receive
Give
Amount
30
60
Currency
JPY
JPY
Payment Date
2012/07/01
2012/07/01
Remarks
100*abs(-0.3)
100*2*abs(-0.3)
@aloyer
46. In order to...
Feature: ...
As a...
I want to...
Scenario: ...
Given <a context>
When <an event happens>
Then <an outcome should occur>
Examples help discover things early
@aloyer
@aloyer
47. In order to...
Feature: ...
As a...
I want to...
Scenario: ...
Given <a context>
When <an event happens>
Then <an outcome should occur>
One may discover that one doesn't know
but others do!
@aloyer
@aloyer
55. Scenario: Account has sufficient funds!
Given the account balance is 100€!
When the Account Holder requests 20€
Then the ATM should dispense 20€!
And the account balance should be 80€!
And the card should be returned
SCENARIO
GLUECODE
BDDFRAMEWORK
APPLICATION
@aloyer
56. Scenario: Account has sufficient funds!
Given the account balance is 100€!
When the Account Holder requests 20€
Then the ATM should dispense 20€!
And the account balance should be 80€!
And the card should be returned
SCENARIO
GLUECODE
BDDFRAMEWORK
APPLICATION
@aloyer
57. Scenario: Account has sufficient funds!
Given the account balance is 100€!
When the Account Holder requests 20€
Then the ATM should dispense 20€!
And the account balance should be 80€!
And the card should be returned
SCENARIO
@Given("^the account balance is (d+)€$")
public void defineAccountBalanceInEuro(BigDecimal
balance) {
throw new PendingException("Implements me!");
}
!
@When("^the Account Holder request (d+)€$")
public void withdrawInEuro (BigDecimal amount) {
throw new PendingException("Implements me!");
}
!
@Then("^the ATM should dispense (d+)€$")
public void assertMoneyDispensedInEuro (BigDecimal
amount) {
throw new PendingException("Implements me!");
}
!
!
!
@Then("^the account balance should be (d+)€$")
public void assertBalanceInEuro(BigDecimal amount) {
throw new PendingException("Implements me!");
}
!
GLUE CODE
APPLICATION
BDDFRAMEWORK
@aloyer
58. Scenario: Account has sufficient funds!
Given the account balance is 100€!
When the Account Holder requests 20€
Then the ATM should dispense 20€!
And the account balance should be 80€!
And the card should be returned
SCENARIO
@Given("^the account balance is (d+)€$")
public void defineAccountBalanceInEuro(BigDecimal
balance) {
account().setBalance(euro(balance));
}
!
@When("^the Account Holder request (d+)€$")
public void withdrawInEuro (BigDecimal amount) {
atm().withdraw(account(), euro(amount));
}
!
@Then("^the ATM should dispense (d+)€$")
public void assertMoneyDispensedInEuro (BigDecimal
amount) {
TransactionLog txLog = atm().transactionLog();!
Money dispensed = txLog.lastAmountDispensed();!
assertThat(dispensed).isEqualTo(euro(amount));
}!
!
@Then("^the account balance should be (d+)€$")
public void assertBalanceInEuro(BigDecimal amount) {
Money actualBalance = account().balance();!
assertThat(actualBalance).isEqualTo(euro(amount));
}
GLUE CODE
APPLICATION
BDDFRAMEWORK
@aloyer
59. And that’s all Folks…
for the Green Thing!
but remember,
you can
automate from
unit level to
end-to-end
level
@aloyer