The document compares Mochito, a rum cocktail, and Mockito, a Java mocking framework. It provides recipes for Mochito and discusses unit testing, mock objects, and how to use Mockito for writing tests. Mockito allows writing simple, fast, and independent unit tests by simulating complex object behavior with mock objects. It has a clean API without strings or anonymous classes for painless refactoring.
Mockito is a mocking framework for Java that allows developers to focus tests on interactions between objects rather than states. It provides test doubles like mocks and spies to simulate dependencies and verify expected interactions. Mockito allows mocking method calls and configuring return values or exceptions to test different scenarios. It provides default values for unstubbed calls to avoid overspecifying tests.
This document provides an overview of Apache NiFi, a dataflow management software. It begins with an introduction to dataflow and challenges in moving data effectively. It then discusses key features of Apache NiFi like guaranteed delivery, data buffering, and data provenance. The document outlines NiFi's architecture including repositories and extension points. It also advertises an upcoming Birds of a Feather session on streaming, dataflow and cybersecurity. Finally, it encourages learning more about NiFi and getting involved in the community.
This document provides an overview of Apache NiFi and data flow fundamentals. It begins with an introduction to Apache NiFi and outlines the agenda. It then discusses data flow and streaming fundamentals, including challenges in moving data effectively. The document introduces Apache NiFi's architecture and capabilities for addressing these challenges. It also previews a live demo of NiFi and discusses the NiFi community.
This document provides an overview of a presentation about taking dataflow management to the edge with Apache NiFi and MiniFi. The presentation discusses the problem of moving data between systems with different formats, protocols, and security requirements. It introduces Apache NiFi as a solution for dataflow management and introduces Apache MiniFi for managing dataflows at the edge. The presentation includes a demo and time for Q&A.
This talk is an introduction about technical aspects of how payment cards function, what technical protocols are involved and what are implementation complexities in a typical payments project. You will learn about concepts like Authorisation and Clearing, Tokenization and know about novelties in the payment world, which will affect consumers in the nearest future.
Мы пройдемся по всем основным блокам построения тестового фреймворка и тому, как они связаны между собой. Вы научитесь собирать свое решение по автоматизации из библиотек с открытым кодом и делать так, чтобы они дополняли друг друга.
The document discusses how to grow microservices from a monolithic architecture using a staged approach. It recommends starting with a modular monolith broken into bounded context modules that can be deployed and tested independently. These modules can then be upgraded to independent microservices by separating databases, exposing APIs, and moving to an eventual consistency model. The process should be iterative, allowing code to be refactored and services extracted gradually based on factors like scalability needs and usage patterns. Practical advice includes API-first design, avoiding reusable frameworks, using schema per bounded context, and embracing testing and devops best practices.
Even though there are plenty of open source tools on the market every company needs to put them together and create a test automation framework on top. Best practices of doing that are quite well-known in industry and it is important to learn them before building your own framework. We will go through the core building blocks of test automation frameworks and how they are playing together. You will learn how to assemble your test automation toolchain out of open source libraries and how to integrate them together. The session will be heavily biased towards Java platform.
DevOps Days Riga 2017 talk about creating a delivery pipeline on Windows using tools like: * jenkins * ansible * powershell * chocolatey * nssm
The document discusses using Hadoop infrastructure for big data processing. It describes Intrum Justitia SDC, which has data across 20 countries in various formats and a high number of data objects. Hadoop provides solutions like MapReduce and HDFS for distributed storage and processing at scale. The Hadoop ecosystem includes tools like Hive, Pig, HBase, Impala and Oozie that help process and analyze large datasets. Examples of using Hadoop with Java and integrating it into development environments are also included.
The document provides an overview of using Flyway and JOOQ together to manage database migrations and generate Java objects from database schemas. Flyway is used to run SQL scripts for schema migrations, while JOOQ generates Java classes that correspond to database tables and can be used to write type-safe SQL queries. Examples are given of using JOOQ to build queries, fetch results in various formats, perform CRUD operations on records, and integrate Flyway and JOOQ into build systems like Gradle.
This document discusses best practices for developing useful APIs. It recommends treating all reusable code as an API and following principles like using minimal dependencies and packaging code appropriately. It also provides examples of API design patterns at the module, class, and method level, such as using dependency injection, builder patterns, and exception handling conventions. The goal is to make APIs easy to read, use, extend, and hard to misuse by learning from open source projects and following trends in API design.
This document summarizes some of the new features introduced in Java 8, including streams, lambda expressions, default methods, and date/time API changes. It discusses streams in more detail, covering stream operations like filter, map, distinct, and collect. It also covers new features like Optional for returning absent/present values, annotations for null checks, parallel array sorting, and concurrency utilities.
This document provides an overview of a Dart workshop that teaches Dart fundamentals and building full-stack Dart applications. The workshop is divided into five parts that cover Hello World examples, integrating Google Maps, dynamic HTML, adding a server backend, and connecting to MongoDB. Each part includes tasks to complete and concepts to learn, such as the Dart project structure, writing unit tests, manipulating the DOM, making HTTP requests, and using the MongoDB Dart driver. The conclusion discusses why Dart may be better than JavaScript and considers if Dart has the potential to be the future for web development.
This document discusses how Redis can be used to solve various data and application scenarios for a social Q&A platform. It describes 6 scenarios including using Redis strings for counters, Redis lists for a message queue, Redis hashes for user activity tracking, Redis bits for feature flags, Redis sorted sets for a social wall, and Redis pub/sub for real-time monitoring. It provides examples of how Redis data structures map to each use case and discusses capabilities like performance, scalability and data consistency.
This document discusses refactoring Java code to Clojure using macros. It provides examples of refactoring Java code that uses method chaining to equivalent Clojure code using the threading macros (->> and -<>). It also discusses other Clojure features like type hints, the doto macro, and polyglot projects using Leiningen.