Introductory presentation with basic examples for the use of Cucumber and Rspec to do testing in Ruby.
http://github.com/jwthompson2/barcamp-nola-2009/
Everyone’s code has bugs. Luckily there are almost as many tools to help squash bugs as there are bugs to be squashed. In this talk, Keanan Koppenhaver will take a detailed look at how to debug and fix some common issues associated with building websites. We’ll explore how Chrome’s Developer Tools can help us pinpoint front end bugs. Then, we’ll take a look at how to parse through error logs and use your code editor to track down errors even when it's not apparent where they exist. With all these tools in your toolbox, you can ensure that your code is in the best possible shape and ready to ship!
To Loop or Not to Loop: Overcoming Roadblocks with FMESafe Software
Looping is a powerful tool within FME that allows users to workaround potential roadblocks. For example, it allows users to automate requesting features from an API. It can also allow users to iterate through a process automatically rather than having to run it manually.
However, with great power comes great responsibility. While looping is meant to save performance, sometimes users are using looping against it, like when they are stuck in infinite loops.
This webinar will teach you how to use a loop and when it’s best to use other features within FME. Learn best practices in looping and get examples of when looping can help you achieve your data transformation goals.
This document discusses how to create and run Python scripts on Windows. It explains that Python scripts are files containing Python commands that can be executed like programs. It also notes that Python scripts require a shebang line to specify the Python interpreter when running from the command line. Additionally, it provides steps for creating a batch file to conveniently run Python scripts, including saving the Python file with a .py extension and using a template to create the batch file.
The document describes modifying a BPEL process from asynchronous to synchronous to perform addition. It involves taking an asynchronous BPEL process that performs addition and assigns the result to an output, but does not provide the output as it is asynchronous. A new synchronous BPEL process is created, taking the WSDL from the asynchronous process and connecting an invoke activity to call the asynchronous process, assign its outputs to variables, and return the result through a receive activity and output variable. When deployed and tested, this synchronous process provides the addition result.
Product Management - Simplest Framework for Prioritization Alex Kouznetsov
What is the simplest framework to set product feature priorities? We removed everything that can be removed and only left 3 steps to prioritize any product backlog.
It can't get simpler than this.
Conditional Flow in Salesforce and types of Loop. Episode 2 details are here - http://pathtocode.com/salesforce/developer/episode-2-conditional-statements-loops/
Vladyslav Romanchenko "How to keep high code quality without e2e tests"Dakiry
This document discusses how to test React and Redux applications without end-to-end tests. It recommends using unit and integration tests instead to test individual components and functions. It provides examples of how to test helper functions, action creators, reducers, selectors, and component rendering and interactions using Jest and libraries like Enzyme. Key steps include mocking dependencies, dispatching actions, and asserting on output or UI states. Following these techniques allows testing isolated pieces and catching errors early without relying on unstable end-to-end tests.
Accelerate Quality with Postman - BasicsKnoldus Inc.
This document provides an overview of Postman, an API development environment and tool. It discusses Postman's core concepts like collections, environments and scripts. Collections allow organizing requests into folders for documentation, testing and workflows. Environments enable customizing requests for different setups. Scripts add dynamic behavior to requests through pre-request and test scripts. The document also covers executing collections through Postman's collection runner or Newman CLI, and integrating Postman into development workflows.
Everyone’s code has bugs. Luckily there are almost as many tools to help squash bugs as there are bugs to be squashed. In this talk, Keanan Koppenhaver will take a detailed look at how to debug and fix some common issues associated with building websites. We’ll explore how Chrome’s Developer Tools can help us pinpoint front end bugs. Then, we’ll take a look at how to parse through error logs and use your code editor to track down errors even when it's not apparent where they exist. With all these tools in your toolbox, you can ensure that your code is in the best possible shape and ready to ship!
To Loop or Not to Loop: Overcoming Roadblocks with FMESafe Software
Looping is a powerful tool within FME that allows users to workaround potential roadblocks. For example, it allows users to automate requesting features from an API. It can also allow users to iterate through a process automatically rather than having to run it manually.
However, with great power comes great responsibility. While looping is meant to save performance, sometimes users are using looping against it, like when they are stuck in infinite loops.
This webinar will teach you how to use a loop and when it’s best to use other features within FME. Learn best practices in looping and get examples of when looping can help you achieve your data transformation goals.
This document discusses how to create and run Python scripts on Windows. It explains that Python scripts are files containing Python commands that can be executed like programs. It also notes that Python scripts require a shebang line to specify the Python interpreter when running from the command line. Additionally, it provides steps for creating a batch file to conveniently run Python scripts, including saving the Python file with a .py extension and using a template to create the batch file.
The document describes modifying a BPEL process from asynchronous to synchronous to perform addition. It involves taking an asynchronous BPEL process that performs addition and assigns the result to an output, but does not provide the output as it is asynchronous. A new synchronous BPEL process is created, taking the WSDL from the asynchronous process and connecting an invoke activity to call the asynchronous process, assign its outputs to variables, and return the result through a receive activity and output variable. When deployed and tested, this synchronous process provides the addition result.
Product Management - Simplest Framework for Prioritization Alex Kouznetsov
What is the simplest framework to set product feature priorities? We removed everything that can be removed and only left 3 steps to prioritize any product backlog.
It can't get simpler than this.
Conditional Flow in Salesforce and types of Loop. Episode 2 details are here - http://pathtocode.com/salesforce/developer/episode-2-conditional-statements-loops/
Vladyslav Romanchenko "How to keep high code quality without e2e tests"Dakiry
This document discusses how to test React and Redux applications without end-to-end tests. It recommends using unit and integration tests instead to test individual components and functions. It provides examples of how to test helper functions, action creators, reducers, selectors, and component rendering and interactions using Jest and libraries like Enzyme. Key steps include mocking dependencies, dispatching actions, and asserting on output or UI states. Following these techniques allows testing isolated pieces and catching errors early without relying on unstable end-to-end tests.
Accelerate Quality with Postman - BasicsKnoldus Inc.
This document provides an overview of Postman, an API development environment and tool. It discusses Postman's core concepts like collections, environments and scripts. Collections allow organizing requests into folders for documentation, testing and workflows. Environments enable customizing requests for different setups. Scripts add dynamic behavior to requests through pre-request and test scripts. The document also covers executing collections through Postman's collection runner or Newman CLI, and integrating Postman into development workflows.
The document provides an overview of reactive programming with Spring Reactor. It defines key concepts like reactive programming, asynchronous and non-blocking approaches, and reactive streams. It then discusses how Spring Reactor allows achieving reactive approaches in Java applications through components like Flux and Mono that represent push-based streams. Code examples are provided to demonstrate defining publishers and subscribers as well as building a simple reactive server with Spring.
This document provides an overview of the QBASIC programming language and its commands. It discusses QBASIC's interpreter-based execution model and use of line numbers. It also covers basic QBASIC concepts like constants, variables, and commands for printing, clearing screens, assigning values, and more. Examples are given to demonstrate how to use commands like PRINT, INPUT, IF/THEN, ELSE, and ELSEIF to conditionally output text based on expressions. The document is intended as an introduction to programming in QBASIC.
1. The document summarizes a session that discussed designing and prototyping APIs using an API-first approach with Postman.
2. Attendees learned how to create, edit, and import API schemas, generate and validate API elements against schemas, and version and collaborate on APIs.
3. Resources mentioned include public Postman workspaces, documentation, and a community forum for further exploring API design and development using Postman.
This document summarizes a presentation on design patterns in Salesforce development. It discusses the Singleton and Factory Method creational design patterns. It provides code examples demonstrating how to implement these patterns to solve common problems like automatically populating a field based on another field. It also discusses how to choose design patterns to optimize performance by reducing queries. The presentation concludes with reminding attendees of the next session and thanking them for their time.
Creating A User‑Defined Function In Excel Using VbaChester Tugwell
Excel includes many different functions that help you complete calculations, but have you ever wished for a function that that doesn’t exist in Excel? If you have, this tutorial will explain how to create a function DIY style.
Calabash Mobile Application Testing OverviewEmil Cordun
Calabash is a mobile app testing tool that uses Cucumber's Behavior-Driven Development (BDD) approach. It allows writing test steps in a natural language format (Gherkin) that both technical and non-technical team members can understand. The tests are run across both a local computer and connected mobile device, with Calabash libraries enabling the test code to programmatically interact with and control the app through gestures, assertions, and screenshots. Key components include feature files describing user stories to test, step definitions, the app being tested, and a test server installed on the device for communication between Calabash and the app.
Managing state in modern React web applicationsJon Preece
This is the presentation I gave to my local JavaScript North West meetup group in Manchester, UK on 16th October 2018. The presentation demostrated local state vs Context API vs Redux, and when was appropriate to use each tool and some best practices around all three.
Join me for a retrospective look at how my team rewrote the core of a legacy application over six months and launched a well tested, stable product. In this session you'll learn how to work with an existing codebase without creating your own "legacy" code, by applying practices and tools such as identifying and using third party libraries, version control and code review, code quality measurements, BDD/TDD, and Continuous Integration.
The core idea of lean is to eliminate/reduce non-value-added activities (termed "wastes") and thus increase customer value. The Agile itself is a lean for the software development life cycle, and I am sharing a couple of Agile best practices adopted by my teams to make the Scrum methodology more extra lean.
The presentation contains the best agile practices and their benefits in terms of Lean in an agile methodologies
Presentation for the kick-off meeting for the meetup:
"Reactive Programming Enthusiasts Denver". This talks about concurrency, non-blocking, scala, futures, akka, play framework, and other concepts of reactive programming.
This document provides an introduction to JavaScript. It discusses the basics of how the web works with clients and servers, gives a brief history of JavaScript, and covers key JavaScript concepts like variables, data types, functions, and parameters. The format for the session is outlined, which includes reviewing these concepts, practicing with challenges, and discussing next steps for continuing to learn.
This document provides an overview and introduction to coding in Salesforce, including why coding is needed, the developer console, naming conventions, data types, collections, pass by value vs reference, and Trailhead modules to get started. It discusses primitive data types like Boolean, Date, Decimal, and String, as well as collections like Lists, Maps, and Sets. It also covers naming conventions like camel case and pascal case.
This document provides guidance on how to write effective bug reports. It emphasizes that bug reports should provide enough information for programmers to reproduce the issue, such as detailed steps to recreate it and differences between the user's environment and what the programmer has tested. Key aspects of a good bug report highlighted are using a clear and concise title, listing the steps to take rather than just symptoms, clearly explaining the expected versus actual results, and including any relevant attachments.
Application Performance Monitoring for WordPressWP Engine
How to improve the speed and stability of your WordPress sites by getting behind the scenes code-level visibility, presented by WP Engine and New Relic.
Register for on-demand webinar which includes a demonstration: https://hs.wpengine.com/application-performance-monitoring-wordpress
Jumpstarting Testing In Your Organization with Selenium, Cucumber, & WebdriverIOJosh Cypher
With modern software development moving at a rapid pace, automation engineers may find it difficult to keep up with frequent changes. Incorporating parts of the testing process into everyone's workflow, this creates the potential for automated testing to mirror software delivery.
Description: With modern software development moving at a rapid pace, automation engineers may find it difficult to keep up with frequent changes. But if parts of the testing process are incorporated into everyone's workflow, this creates the potential for automated testing to mirror software delivery. My goal is to make software testing more accessible to entire product and engineering teams by providing familiar tools that allow individuals to easily contribute to the automation process. For this talk, I will explore how we can meet developers halfway by using the javascript-based testing framework WebdriverIO, demonstrate how product managers can create living documentation and test cases using Cucumber, and talk about sharing page objects and testing libraries across multiple services using NPM.
Code Examples:
https://github.com/dcypherthis/gtr-test-cucumber
https://github.com/dcypherthis/gtr-test-mocha-bdd
https://github.com/dcypherthis/gtr-test-xray
This document discusses a design pattern called the Facade Pattern. It summarizes that the Facade Pattern encapsulates complex systems and provides a simpler interface. It gives an example where a facade pattern is used to handle a credit card transaction in a standardized way without changing existing code. It then discusses how the Strategy Pattern could be used to support different payment types like debit cards or PayPal by deciding the payment algorithm at runtime. The document ends with announcing the next episode will be an open Q&A.
This document provides an overview of asynchronous processing in Salesforce using Batch Apex and Scheduled Apex. It discusses the differences between synchronous and asynchronous processing, how to structure Batch Apex jobs with start, execute, and finish methods, how to maintain state across batches, considerations for Batch Apex, how Scheduled Apex jobs work based on cron expressions, anatomy of a Scheduled Apex job, and considerations for Scheduled Apex. The document includes demos of writing basic and stateful Batch Apex jobs and a Scheduled Apex job with a cron trigger.
I have spent some time working on a project, and built 8 micro services and 2 applications, and planned to carve out a few more. Deployment was carried out in a farm of 25 servers in production with a single click in less than 3 minutes.
This presentation is about the experiences with building a micro service based architecture - the good, the bad and the ugly.
- What are micro services?
- When/Why/How micro services?
- Why NOT micro services?
- Managing Continuous Integration and Continuous Delivery with micro services
- A few design principles that we followed and that worked for us
DRAKON Visual Language: Tutorial. Part 2Stepan Mitkin
The document discusses icons in the DRAKON visual programming language for interacting with external processes and parallel programming. It describes icons for input, output, parallel processes, timers, and synchronization. The Shelf icon puts values in variables or sends commands, while Output sends information externally. Input receives external data. Parallel processes run simultaneously through start/stop icons. Pause adds delays, while Synchronizer waits on a timer.
This document contains a list of 15 names. It seems to be listing women's names from Saudi Arabia as most names end with common last name endings like Mohammad, Khunji, Hisham, Al-Dosari, Jafar, Qaed, and Janahi. There does not appear to be any additional context or information provided about these names.
The document provides an overview of reactive programming with Spring Reactor. It defines key concepts like reactive programming, asynchronous and non-blocking approaches, and reactive streams. It then discusses how Spring Reactor allows achieving reactive approaches in Java applications through components like Flux and Mono that represent push-based streams. Code examples are provided to demonstrate defining publishers and subscribers as well as building a simple reactive server with Spring.
This document provides an overview of the QBASIC programming language and its commands. It discusses QBASIC's interpreter-based execution model and use of line numbers. It also covers basic QBASIC concepts like constants, variables, and commands for printing, clearing screens, assigning values, and more. Examples are given to demonstrate how to use commands like PRINT, INPUT, IF/THEN, ELSE, and ELSEIF to conditionally output text based on expressions. The document is intended as an introduction to programming in QBASIC.
1. The document summarizes a session that discussed designing and prototyping APIs using an API-first approach with Postman.
2. Attendees learned how to create, edit, and import API schemas, generate and validate API elements against schemas, and version and collaborate on APIs.
3. Resources mentioned include public Postman workspaces, documentation, and a community forum for further exploring API design and development using Postman.
This document summarizes a presentation on design patterns in Salesforce development. It discusses the Singleton and Factory Method creational design patterns. It provides code examples demonstrating how to implement these patterns to solve common problems like automatically populating a field based on another field. It also discusses how to choose design patterns to optimize performance by reducing queries. The presentation concludes with reminding attendees of the next session and thanking them for their time.
Creating A User‑Defined Function In Excel Using VbaChester Tugwell
Excel includes many different functions that help you complete calculations, but have you ever wished for a function that that doesn’t exist in Excel? If you have, this tutorial will explain how to create a function DIY style.
Calabash Mobile Application Testing OverviewEmil Cordun
Calabash is a mobile app testing tool that uses Cucumber's Behavior-Driven Development (BDD) approach. It allows writing test steps in a natural language format (Gherkin) that both technical and non-technical team members can understand. The tests are run across both a local computer and connected mobile device, with Calabash libraries enabling the test code to programmatically interact with and control the app through gestures, assertions, and screenshots. Key components include feature files describing user stories to test, step definitions, the app being tested, and a test server installed on the device for communication between Calabash and the app.
Managing state in modern React web applicationsJon Preece
This is the presentation I gave to my local JavaScript North West meetup group in Manchester, UK on 16th October 2018. The presentation demostrated local state vs Context API vs Redux, and when was appropriate to use each tool and some best practices around all three.
Join me for a retrospective look at how my team rewrote the core of a legacy application over six months and launched a well tested, stable product. In this session you'll learn how to work with an existing codebase without creating your own "legacy" code, by applying practices and tools such as identifying and using third party libraries, version control and code review, code quality measurements, BDD/TDD, and Continuous Integration.
The core idea of lean is to eliminate/reduce non-value-added activities (termed "wastes") and thus increase customer value. The Agile itself is a lean for the software development life cycle, and I am sharing a couple of Agile best practices adopted by my teams to make the Scrum methodology more extra lean.
The presentation contains the best agile practices and their benefits in terms of Lean in an agile methodologies
Presentation for the kick-off meeting for the meetup:
"Reactive Programming Enthusiasts Denver". This talks about concurrency, non-blocking, scala, futures, akka, play framework, and other concepts of reactive programming.
This document provides an introduction to JavaScript. It discusses the basics of how the web works with clients and servers, gives a brief history of JavaScript, and covers key JavaScript concepts like variables, data types, functions, and parameters. The format for the session is outlined, which includes reviewing these concepts, practicing with challenges, and discussing next steps for continuing to learn.
This document provides an overview and introduction to coding in Salesforce, including why coding is needed, the developer console, naming conventions, data types, collections, pass by value vs reference, and Trailhead modules to get started. It discusses primitive data types like Boolean, Date, Decimal, and String, as well as collections like Lists, Maps, and Sets. It also covers naming conventions like camel case and pascal case.
This document provides guidance on how to write effective bug reports. It emphasizes that bug reports should provide enough information for programmers to reproduce the issue, such as detailed steps to recreate it and differences between the user's environment and what the programmer has tested. Key aspects of a good bug report highlighted are using a clear and concise title, listing the steps to take rather than just symptoms, clearly explaining the expected versus actual results, and including any relevant attachments.
Application Performance Monitoring for WordPressWP Engine
How to improve the speed and stability of your WordPress sites by getting behind the scenes code-level visibility, presented by WP Engine and New Relic.
Register for on-demand webinar which includes a demonstration: https://hs.wpengine.com/application-performance-monitoring-wordpress
Jumpstarting Testing In Your Organization with Selenium, Cucumber, & WebdriverIOJosh Cypher
With modern software development moving at a rapid pace, automation engineers may find it difficult to keep up with frequent changes. Incorporating parts of the testing process into everyone's workflow, this creates the potential for automated testing to mirror software delivery.
Description: With modern software development moving at a rapid pace, automation engineers may find it difficult to keep up with frequent changes. But if parts of the testing process are incorporated into everyone's workflow, this creates the potential for automated testing to mirror software delivery. My goal is to make software testing more accessible to entire product and engineering teams by providing familiar tools that allow individuals to easily contribute to the automation process. For this talk, I will explore how we can meet developers halfway by using the javascript-based testing framework WebdriverIO, demonstrate how product managers can create living documentation and test cases using Cucumber, and talk about sharing page objects and testing libraries across multiple services using NPM.
Code Examples:
https://github.com/dcypherthis/gtr-test-cucumber
https://github.com/dcypherthis/gtr-test-mocha-bdd
https://github.com/dcypherthis/gtr-test-xray
This document discusses a design pattern called the Facade Pattern. It summarizes that the Facade Pattern encapsulates complex systems and provides a simpler interface. It gives an example where a facade pattern is used to handle a credit card transaction in a standardized way without changing existing code. It then discusses how the Strategy Pattern could be used to support different payment types like debit cards or PayPal by deciding the payment algorithm at runtime. The document ends with announcing the next episode will be an open Q&A.
This document provides an overview of asynchronous processing in Salesforce using Batch Apex and Scheduled Apex. It discusses the differences between synchronous and asynchronous processing, how to structure Batch Apex jobs with start, execute, and finish methods, how to maintain state across batches, considerations for Batch Apex, how Scheduled Apex jobs work based on cron expressions, anatomy of a Scheduled Apex job, and considerations for Scheduled Apex. The document includes demos of writing basic and stateful Batch Apex jobs and a Scheduled Apex job with a cron trigger.
I have spent some time working on a project, and built 8 micro services and 2 applications, and planned to carve out a few more. Deployment was carried out in a farm of 25 servers in production with a single click in less than 3 minutes.
This presentation is about the experiences with building a micro service based architecture - the good, the bad and the ugly.
- What are micro services?
- When/Why/How micro services?
- Why NOT micro services?
- Managing Continuous Integration and Continuous Delivery with micro services
- A few design principles that we followed and that worked for us
DRAKON Visual Language: Tutorial. Part 2Stepan Mitkin
The document discusses icons in the DRAKON visual programming language for interacting with external processes and parallel programming. It describes icons for input, output, parallel processes, timers, and synchronization. The Shelf icon puts values in variables or sends commands, while Output sends information externally. Input receives external data. Parallel processes run simultaneously through start/stop icons. Pause adds delays, while Synchronizer waits on a timer.
This document contains a list of 15 names. It seems to be listing women's names from Saudi Arabia as most names end with common last name endings like Mohammad, Khunji, Hisham, Al-Dosari, Jafar, Qaed, and Janahi. There does not appear to be any additional context or information provided about these names.
The document outlines Pradeep Yuvaraj's presentation on entrepreneurship to students at Sri Ramakrishna Engineering College on May 5, 2010. The presentation covers Pradeep's experience as an entrepreneur including some failed and successful ventures. It also discusses what it takes to be a successful entrepreneur, noting qualities like luck, unwavering focus, sacrifice, courage, initiative, innovation, patience and satisfaction. The presentation concludes by addressing how recessions can create opportunities for entrepreneurs.
Supersymmetry (SUSY) is a proposed symmetry between bosons and fermions that could help solve issues in the Standard Model such as the hierarchy problem. SUSY introduces new "quantum" dimensions beyond the usual 3 spatial and 1 time dimension. SUSY generators called Q transform fermions into bosons and vice versa. The SUSY algebra involves the generators Q satisfying anticommutation relations in addition to the usual commutation relations of generators like momentum P and angular momentum M. While experimental evidence for SUSY is still lacking, it is an attractive theoretical idea that may be discovered at energy scales below 1 TeV.
This document lists the copyright holders for 2011 of six individuals: Lina Chang, Les Dranic, Martha Jante, Scott Benoit (listed twice), and SharlaHee. It does not provide any other context or content about the copyrighted works.
This document describes a journey through scales of size from microcosms to macrocosms. It begins at 1 meter and increases distances traveled by factors of 10, reaching millions of light years where galaxies appear small. It then returns rapidly, decreasing distances by factors of 10 into the microcosm, reaching the quark level at the limits of scientific knowledge. Key observations include seeing cells at the micro level and the solar system and beyond at the macro level. The document questions humanity's place and understanding in the vast universe.
For many developers and teams the idea of pair programming seems interesting — to many managers the practice sounds downright wasteful. This talk will seek to address compelling reasons why your teams should adopt pair programming as a regular practice and address concerns that are often raised by those managing software teams. Some of the key areas this talk will address include:
* What Pair Programming Is and Is Not
* Benefits & Risks of Pair Programming
* Setups for Effective Pair Programming
* Practices of Good Pair Programmers
* Experimenting with Pair Programming
The goal of this talk is to make the case for why pair programming is an effective and beneficial practice for software teams, and to present patterns and practices for its adoption and use.
The document outlines tips and techniques for improving communication skills. It discusses improving speaking abilities such as knowing the message, controlling fear, listening, and finding the listener's interests. Listening skills like focusing on the speaker and avoiding distractions are also covered. Additional sections provide guidance on communication techniques, speaking and listening, reading, nonverbal cues, attitudes, and behaviors to enhance effectiveness. The document is from a workshop on communication skills hosted by EdVentures1.
This document discusses building strong relationships for entrepreneurs through giving rather than taking from relationships. It provides an overview of a session on relationships and business that covers introducing relationships, key factors for building relations, the science and art behind relationships, and tools for success. The session discusses consciously, systematically, and routinely valuing relationships through caring about others, learning about them, and taking actions that benefit them.
The Thousand Islands are a chain of over 1,865 islands located in the Saint Lawrence River along the US-Canada border as it exits Lake Ontario. The islands range significantly in size from over 100 square kilometers to small rocky outcroppings. They stretch for about 80 kilometers downstream from Kingston, Ontario and include islands that are part of both Canada and the United States.
The document discusses the credit card industry, including its significant growth in recent years. It outlines the industry ecosystem and value chain, from advertising and sales to payment clearing and settlement between card issuers, payment networks, merchants, and cardholders. The payment process is described, with funds flowing from cardholders to merchants to payment networks to issuing banks. Challenges in the industry are also mentioned.
The document discusses a training session on creativity in business. It begins with a quote from Charles Darwin about adapting to change. The agenda includes understanding creativity, its relationship to business, and tools and discussions. Mental blocks to creativity like seeking a single right answer or thinking ideas are not practical are examined. Creativity is defined as seeing things differently. Creativity is important for businesses facing change, technology, competition and survival. Examples challenge linear thinking and show how creativity can solve problems.
Dubai has undergone rapid development in the last 15 years, fueled by ambitious construction projects. Some of the largest projects underway or planned include massive artificial islands in the shapes of palm trees and the world map, hotels that will be among the tallest in the world like the Burj Al Arab and Burj Dubai, and Dubai Land which will be the largest theme park in the world twice the size of Disney World. Dubai aims to surpass other cities and become the top tourist destination worldwide through developments that include the world's largest shopping mall, indoor ski slope, and waterfront area.
ROMAN CATHOLIC DAILY 1962 MISSAL (ANGELUS PRESS); DOUAY-RHIEMS BIBLE (BARONIUS PRESS); THE ESV STUDY BIBLE (CROSSWAY) & THE VATICAN. ADDENDUM: POST-VATICAN II MASS; DEVOTIONS FOR CONFESSION; THANKSGIVING FOR SMALL CHILDREN; SUMMARY OF THE CATHOLIC DOCTRINE; TREASURE OF PRAYERS; THE RULE OF SAINT BENEDICT; FOLLOW THE WORDS OF THE LATIN MASS & ALTAR CARDS; ABRAHAM AND HIS DECENDANTS; THE BIBLE’S HISTORICAL TIMELINE · SUMMARY OF THE OLD TESTAMENT; THE TABERNACLE; THE TABERNACLE TENT; THE GARMENTS OF THE HIGH PRIEST – KOHEN GADOL; JERUSALEM IN THE TIME OF DAVID; JERUSALEM IN THE TIME OF SOLOMON; SOLOMON’S TEMPLE; JERUSALEM IN THE TIME OF HEZEKIAH; JERUBBABEL’S TEMPLE; JERUSALEM IN THE TIME OF NEHEMIAH; JERUSALEM IN THE TIME OF JESUS; THE TEMPLE MOUNT; THE TEMPLE COMPLEX; THE JERUSALEM TEMPLE; GOLGOTHA; THE APOSTLES’ CREED; THE ATHANASIAN CREED; AN HISTORICAL AND CHRONOLOGICAL INDEX TO THE NEW TESTAMENT; THE ANNUNCIATION OF THE BLESSED VIRGIN MARY; THE HOLY FAMILY OF JESUS, MARY AND JOSEPH; THE BAPTISM OF OUR LORD JESUS CHRIST; THE TRANSFIGURATION OF OUR LORD JESUS CHRIST; THE HOLY HOUR DEVOTION; THE WAY OF THE CROSS; HOLY WOUNDS DEVOTION; LITANY OF THE MOST HOLY NAME OF JESUS; THE CHAPLET OF THE SEVEN SORROWS OF THE BLESSED VIRGIN MARY; THE HOLY ROSARY; SAINT JOSEPH; OUR LADY OF THE MIRACULOUS MEDAL; OUR LADY OF LA SALETTE; THE LITTLE OFFICE OF THE IMMACULATE CONCEPTION; THE EXALTATION OF THE HOLY CROSS; OUR LADY OF GUADALUPE; THE SACRED HEART OF JESUS; PRAYER TO SAINT MICHAEL THE ARCHANGEL; HYMN TO SAINT MICHAEL AND ANGELICAL CROWN; SALVATION IN THE CATHOLIC FAITH; HYMN – TE DEUM LAUDAMUS; THE STORY OF JESUS CHRIST; PARABLES OF JESUS; MIRACLES OF JESUS; THE MINISTRY OF JESUS; PAUL’S MISSIONARY JOURNEYS; THE SHROUD OF TURIN AND THE HOLY FACE OF JESUS; VARIOUS PRAYERS TO SAINTS; LIST OF POPES; THE LAST JUDGMENT BY MICHELANGELO; THE APOCALYPSE OF PETER; HEAVEN BY BENEDICT XVI; TABLE OF FEASTS & VARIOUS ENGRAVINGS OF FEASTS.
This photo album from gegeen contains pictures from a recent trip. The album can be found on gegeen's Flickr page and is organized into a set with the ID 72157621524506980. Viewers can see the full collection of photos by following the show link for that set.
The professor holds up a glass of water in class and asks students to guess its weight. When the students provide guesses, the professor notes that he doesn't actually know unless he weighs it. He then asks what would happen if he held the glass up for an hour or a day. The students note that his arm would begin to ache and could go numb. However, the professor notes that the weight of the glass did not change. He explains that life's problems are like the glass of water - they may seem manageable at first but can become overwhelming if dwelled upon for too long. The key is to "put the glass down" at the end of each day by not stressing over problems before sleep so you can
The document lists various transportation jobs completed between 2005 and 2009 by Wilson Express and Texas Stretch, including delivering storage tanks, structural steel, PVC tubes, forged steel, pipe, catalyst, salt, and produce to locations in Texas, Louisiana, Tennessee, Mississippi, Ohio, New Mexico, Pennsylvania, and California. It also mentions driving conditions and a tight squeeze encountered during some jobs.
Test Driven Development (TDD) is a software development practice that involves writing a failing test first, then code to pass that test, and refactoring the code. Behavior Driven Development (BDD) builds on TDD and describes how the end user will interact with the software using scenarios and steps. BDD tools like Cucumber use regular expressions to match steps in scenarios to code.
This document provides notes on QBASIC programming concepts including:
1. Problem solving involves defining an algorithm and pseudocode to achieve the goal of solving a problem.
2. Common commands in QBASIC include PRINT, LOCATE, REM, END, SLEEP, CLS, LET, INPUT, GOSUB, and RETURN.
3. Key concepts covered are variables, constants, strings, loops, and subroutines. Functions for string manipulation like LEFT$, RIGHT$, MID$, and LEN are also discussed.
Test-driven development (TDD) is a software development process where developers first write automated tests that define desired improvements or new functions. They then write code to pass those tests and refactor the new code to acceptable standards. TDD involves writing unit tests, integration tests, and acceptance tests using tools like JUnit, FitNesse, and Cucumber. Practicing TDD can provide benefits like improved code quality, reduced bugs, and increased developer productivity.
For most programming/scripting languages the concepts are all the same. The only thing that changes is the syntax in which it is written. Some languages may be easier to remember than others, but if you follow the basic guide line, it will make learning any programming language easier. This is in no way supposed to teach you everything about programming, just a general knowledge so when you do program you will understand what you are doing a little bit better.
High School level (years 9-10 in Australia, ages 14-16) introduction to programming course, based on the language Processing, includes class material, exercises, examples, and tests. Course ran for 2 terms in 2014. Feel free to use as is, borrow ideas, etc. 2nd class.
This is a presentation I have given that provides an overview of TDD and why it is important. It's free for download an use, please attribute the work though. The original PPT has some animation that makes parts of it easier to understand. Thanks!
This is my class assignment. Related to software quality engineering. In this simply applied basic test for quality test.
Code which I used is python3.
May it can be helpful for someone.
Thank you
This document provides an overview of computer programming concepts including:
- The relevance of computer programming is to automate tasks done by humans like generating reports and handling bulk data.
- A computer program is a series of instructions written in a programming language like machine language or a high-level language to accomplish a task. Programs must be translated into machine language before execution.
- Key elements of a program include variables to store data, decisions to control flow, and loops to repeat instructions. Functions are small subprograms that perform tasks. Debugging fixes mistakes by trying programs incrementally.
The document provides an overview of computational thinking and problem solving. It discusses key concepts like algorithms, the building blocks of algorithms including statements, state, control flow, functions. It also covers different notations for representing algorithms - pseudocode, flowcharts, programming languages. Some key aspects covered include the definition of an algorithm, properties and qualities of a good algorithm. Examples are provided for different algorithm concepts like finding the minimum/maximum value, sorting cards etc.
Lazy programming has been a fundamental feature of a lot of programming languages, especially functional programming languages like Haskell. Being inspired by these languages, Ruby offers us a few nifty ways of doing lazy programming. The ability to avoid needless calculations, perform operations on potentially infinite sequences and defining control flow as abstracts can exponentially reduce the running time of your programs.
The document discusses algorithms and flowcharts for solving problems. It defines an algorithm as a set of sequential steps to solve a problem and notes that there are various techniques for specifying algorithms, including formally, informally, mathematically, or through graphical flowcharts. The document provides examples of algorithms to solve common problems and explains the properties and steps involved in algorithm development. It also describes flowcharts as a visual representation of an algorithm using standard symbols like ovals, rectangles, and diamonds to indicate starts/stops, processes, and decisions.
This document provides an introduction to programming and the programming process. It explains that a program is a sequence of instructions that a computer follows to perform tasks. Programming is the process of writing programs. The key steps in the programming process are: (1) defining and analyzing the problem; (2) developing a logical solution using an algorithm; (3) writing the program by translating the algorithm into code; (4) testing and debugging the program; and (5) running the program on a computer. The document uses a simple example of calculating student marks averages to illustrate defining inputs and outputs, developing a processing logic, and writing a first program. It also briefly introduces programming concepts like variables, data types, and variable naming.
The document discusses algorithms and how to represent them using pseudocode and flowcharts. It provides examples of algorithms to calculate student grades and averages, and represents them in pseudocode and flowcharts. The key steps are to define the inputs, processing such as calculations, and outputs. Pseudocode uses a natural language format while flowcharts use graphical symbols to depict the program logic and flow.
A talk from CppEurope 2019 about functional programming in C++.
It talks about lambdas, immutability, operations with functions (partial application, currying, functional composition), shows an example and ends with a procedure for refactoring legacy code.
This lecture covers functions and modules in Python. It discusses built-in functions, writing user-defined functions, function parameters and return values, and scope. It also discusses modules as a way to organize Python code and introduces some of Python's standard library modules like math and random. The key points are:
1) Functions allow for code reuse and abstraction by encapsulating repeatable processes. Built-in functions perform common tasks while user-defined functions can be created for custom tasks.
2) Functions are defined using def and have parameters to pass in inputs and return values to produce outputs. Variables inside functions have local scope while global variables can be accessed everywhere.
3) Modules help structure Python programs and provide
Euclid's algorithm is a method for finding the greatest common divisor (GCD) of two numbers. It works by taking the remainder of dividing the larger number by the smaller number at each step, and repeating this process until the remainder is zero. The last non-zero remainder is the GCD. The key steps are: (1) Take the remainder of dividing the two input numbers; (2) Set the smaller number equal to the remainder, and repeat from step 1 until the remainder is zero.
Csc 130 class 2 problem analysis and flow charts(2)Puneet narula
The document discusses software development lifecycles and problem solving techniques for computer programming. It covers rewriting problem statements, defining diagrams, algorithms, design tools like flowcharts and pseudocode, and control structures. Students will analyze problems and develop algorithms using techniques like top-down development, pseudocode, flowcharts, testing, and stubs and drivers. The document provides examples and step-by-step explanations of how to understand problems, design logical solutions, and represent those designs using appropriate tools.
Interfaces give classes a way to guarantee they behave in compatible ways. How can such a guarantee be afforded in Ruby without a language construct to provide it? Explore getting the same assurances through testing and behavior-orientation.
Introducing deliberate architectural practices into existing monolithic codebases can be daunting. Often the code itself can resist such attempts in subtle ways that negatively impact a team with little architectural experience.
Drawing on a real-world project as an example, James Thompson explains how to implement bounded contexts into such applications in conjunction with normal feature development and maintenance. Emphasis will be given to the aspects of the application that made implementing better architectural practices more difficult, including matters of process and implementation. Along the way, James shares a feature that provides the practical vehicle for introducing architectural improvements to one area of the application and discusses how this feature was used to bring more deliberate architectural thinking and boundaries to the example project.
In many cases, existing architectures represent an accident of circumstances—big balls of mud that grow naturally anywhere there is a lack of deliberate architectural thinking and practice. James Thompson explains why you should move beyond the accidental and introduce intentional architectural thinking to your team, outlining the benefits of deliberate software architecture, from helping newer engineers understand why certain boundaries exist to enabling senior engineers to improve their skills and more. Emphasis will be given to how to implement many of the suggestions in a variety of team contexts and how to seek to turn skeptics into advocates. You’ll leave with a number of practical ways to help your teams overcome accidental architecture.
This document discusses best practices for wrapping an API with a Ruby gem. It recommends thoroughly understanding the API being wrapped and making early design decisions. It also suggests favoring a concrete implementation over abstraction and avoiding protocol wrappers. Examples are provided of simple and more full-featured API wrapper gems.
Microservices are a hot topic amongst people interested in software architecture, but how do you incorporate them into an established software ecosystem? This talk will focus on patterns for designing and developing microservices alongside and in-concert with existing monolithic applications. The talk will also deal with how to use microservices to make monolithic systems easy to work with in the long run.
The document discusses mocking and stubbing in testing. Mocking creates fake objects to stand in for real dependencies, while stubbing sets expectations and returns values for methods called on those fake objects. It provides examples of creating mocks and stubs in RSpec and links to documentation on mocking and stubbing. The document also offers advice on when mocking and stubbing may indicate problems like high coupling between classes.
Learn Ruby 2011 - Session 5 - Looking for a RescueJames Thompson
In this final language-focussed session we covered the three kinds of blocks used in Ruby: blocks, Procs and lambdas. We also covered error/exception handling in Ruby and reviewed iteration mechanisms.
In this session we covered Classes, Modules and Mixins in more depth. Ruby's inheritance mechanism was covered, as well as the uses of instance and class variables.
In our third session we covered the second half of our language crash course. This session addresses Arrays, Hashes, Symbols, Control Structures, Regular Expressions, Blocks and Iterators.
This document provides an overview and introduction to learning Ruby. It discusses the sponsors of the Learn Ruby 2011 session, why Ruby is a good language to learn, how to install Ruby on different operating systems, common Ruby tools like IRB and gems, and playing around with basic Ruby code in IRB. Attendees are encouraged to explore Ruby documentation and play with IRB before the next session.
In our second session we began the first half of our language crash course. This session covered Classes vs. Objects, Duck Typing, Variables, Strings and Methods.
An examination of the various options for web development with Ruby, including Rails, Ramaze, Camping, Sinatra and Mack. Also includes a look at the heart of all the Ruby web frameworks: Rack.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/how-axelera-ai-uses-digital-compute-in-memory-to-deliver-fast-and-energy-efficient-computer-vision-a-presentation-from-axelera-ai/
Bram Verhoef, Head of Machine Learning at Axelera AI, presents the “How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-efficient Computer Vision” tutorial at the May 2024 Embedded Vision Summit.
As artificial intelligence inference transitions from cloud environments to edge locations, computer vision applications achieve heightened responsiveness, reliability and privacy. This migration, however, introduces the challenge of operating within the stringent confines of resource constraints typical at the edge, including small form factors, low energy budgets and diminished memory and computational capacities. Axelera AI addresses these challenges through an innovative approach of performing digital computations within memory itself. This technique facilitates the realization of high-performance, energy-efficient and cost-effective computer vision capabilities at the thin and thick edge, extending the frontier of what is achievable with current technologies.
In this presentation, Verhoef unveils his company’s pioneering chip technology and demonstrates its capacity to deliver exceptional frames-per-second performance across a range of standard computer vision networks typical of applications in security, surveillance and the industrial sector. This shows that advanced computer vision can be accessible and efficient, even at the very edge of our technological ecosystem.
8. WHAT IS CUCUMBER
•Behavior driven development tool for Ruby
•Focuses on higher level implementations such as
acceptance tests
•Focuses on story-style, plain English test descriptions
•Follows the GWT (Given, When, Then) pattern for
features
9. WHAT IS RSPEC
•Behavior driven development tool for Ruby
•Provides a DSL for talking about what code should do
10. A POSSIBLE PROCESS
•Start with a feature
•Define the steps for your feature
•Write lower-level specs
•Write code to pass specs
•Rinse and Repeat until feature passes
11. WRITE A FEATURE
# features/calculator.feature
Feature: Addition
In Order to avoid silly mistakes
As a math idiot
I want to be told the sum of two numbers
Scenario: Add two numbers
Given I have entered 50 into the calculator
And I have entered 70 into the calculator
When I press add
Then the result should be 120 on the screen
13. WRITE SPECS
# spec/calculator.spec
describe Calculator do
before(:each) do
@calculator = Calculator.new
end
it "should respond to push()" do
@calculator.should respond_to(:push)
end
it "should respond to add()" do
@calculator.should respond_to(:add)
end
end
14. CODE UNTIL YOU PASS
class Calculator
def push(n)
@args ||= []
@args << n
end
def add
result = 0
@args.each do |n|
result += n
end
result
end
end