by Ian Robinson - In the mid-2000s I was using the web as a platform for building enterprise apps. This led to my co-authoring 'REST in Practice', a guide to applying the tenets of REST in the enterprise. Then, in 2011, I joined a graph database company. Here, we applied the ideas that inspired 'REST in Practice' to a quite different set of architectural problems. In this session I'll discuss some the things I've learnt in implementing a database server Web API, and building the infrastructure we use for testing clusters, reproducing customer scenarios, and benchmarking the database.
Office 365 & PowerShell - A match made in heavenSébastien Levert
In a world where we ear more and more about DevOps and continuous integration, your Office 365 integration process might be lacking some good practices and ways to automate everything. In this session, we will cover how you can use PowerShell to ease the deployment process of your applications, the monitoring of your tenants and the maintenance of all the workloads of Office 365. Being a demo-intensive session, be prepared to see a lot of PowerShell and Office 365 API code!
The 3 key takeaways of this session are :
You will learn how to communicate with the Office 365 API from PowerShell
You will be introduced to DevOps concepts in a Office 365 context
You will be able to reproduce those easy processes without problem back at work
The document compares the SharePoint object model to a school system. It outlines that at the top level is the farm, similar to a school district. Within a farm are web applications, like schools. Site collections are analogous to departments within a school. Individual sites are comparable to classrooms where the real work takes place. The document then provides PowerShell commands for interacting with objects at each level of the SharePoint hierarchy.
The document provides an overview of TorqueBox, an application server for Ruby applications. It discusses how TorqueBox allows Ruby applications to leverage features typically found in Java application servers like background jobs, messaging, and clustering. It also provides instructions for setting up TorqueBox, including downloading, configuring environment variables, and using Rake tasks to deploy and run applications on TorqueBox.
The slide deck for Andrew White's Technical Breakfast Club, covering how past major releases have tripped people up in upgrades and what strategies you need to adopt to make sure your upgrade path is smooth.
Set up an SharePoint On-Premises environment for developing provider-hosted a...SPC Adriatics
Although the adoption of O365 is increasing within organizations, there are some SharePoint costumer that aren’t there yet.
In this awesome sessions learn how to setup and configure your development to build and deploy provider-hosted apps in your SharePoint On-Premises servers.
We will cover the common mistakes, guidance and automating the setting up of this kind of environment.
Alfresco javascript api - Alfresco Devcon 2018Mario Romano
In Alfresco we are conscious that one size doesn't fit all and some developer will not adopt our Angular components, for this reason we created the Alfresco JavaScript Api. Let's see together how to use it to leverage NodeJs applications and frontend app based on non Angular frameworks.
Office 365 & PowerShell - A match made in heavenSébastien Levert
In a world where we ear more and more about DevOps and continuous integration, your Office 365 integration process might be lacking some good practices and ways to automate everything. In this session, we will cover how you can use PowerShell to ease the deployment process of your applications, the monitoring of your tenants and the maintenance of all the workloads of Office 365. Being a demo-intensive session, be prepared to see a lot of PowerShell and Office 365 API code!
The 3 key takeaways of this session are :
You will learn how to communicate with the Office 365 API from PowerShell
You will be introduced to DevOps concepts in a Office 365 context
You will be able to reproduce those easy processes without problem back at work
The document compares the SharePoint object model to a school system. It outlines that at the top level is the farm, similar to a school district. Within a farm are web applications, like schools. Site collections are analogous to departments within a school. Individual sites are comparable to classrooms where the real work takes place. The document then provides PowerShell commands for interacting with objects at each level of the SharePoint hierarchy.
The document provides an overview of TorqueBox, an application server for Ruby applications. It discusses how TorqueBox allows Ruby applications to leverage features typically found in Java application servers like background jobs, messaging, and clustering. It also provides instructions for setting up TorqueBox, including downloading, configuring environment variables, and using Rake tasks to deploy and run applications on TorqueBox.
The slide deck for Andrew White's Technical Breakfast Club, covering how past major releases have tripped people up in upgrades and what strategies you need to adopt to make sure your upgrade path is smooth.
Set up an SharePoint On-Premises environment for developing provider-hosted a...SPC Adriatics
Although the adoption of O365 is increasing within organizations, there are some SharePoint costumer that aren’t there yet.
In this awesome sessions learn how to setup and configure your development to build and deploy provider-hosted apps in your SharePoint On-Premises servers.
We will cover the common mistakes, guidance and automating the setting up of this kind of environment.
Alfresco javascript api - Alfresco Devcon 2018Mario Romano
In Alfresco we are conscious that one size doesn't fit all and some developer will not adopt our Angular components, for this reason we created the Alfresco JavaScript Api. Let's see together how to use it to leverage NodeJs applications and frontend app based on non Angular frameworks.
New features in Rails 6 - Nihad Abbasov (RUS) | Ruby Meditation 26Ruby Meditation
Speech of Nihad Abbasov, Backend Engineer at Digital Classifieds, at Ruby Meditation #26 Kyiv 16.02.2019
Next conference - http://www.rubymeditation.com/
What to expect from Rails 6? Review of new features.
Announcements and conference materials https://www.fb.me/RubyMeditation
News https://twitter.com/RubyMeditation
Photos https://www.instagram.com/RubyMeditation
The stream of Ruby conferences (not just ours) https://t.me/RubyMeditation
Laravel is a popular PHP framework that provides tools and libraries to build web applications. It includes features like an Artisan CLI, routing, middleware, resourceful controllers, Eloquent ORM, Blade templating, and migrations/seeding. Laravel uses Eloquent as its ORM, which allows developers to interact with databases using plain PHP objects. It also utilizes Blade templating for views, migrations for database schema changes, and Artisan CLI commands for common tasks like installing and updating Laravel.
This document provides information about a SharePoint Saturday event in Ottawa on December 3rd, 2016. The event agenda includes topics on installing, configuring, and operating a SharePoint farm, both small and large. It also discusses SQL Server, IIS, and Windows Server configurations. Presenters will provide overviews of their experience with Microsoft technologies and SharePoint solutions. Attendees can learn about tools and resources for automating SharePoint deployment and management.
This document provides an overview of Laravel, a popular PHP framework. It discusses what Laravel is, why it is popular, and some of its core components like routing, controllers, models, migrations and views. Key points include: Laravel uses MVC architecture and is composer-based; it includes features like routing, controllers, Eloquent ORM, schema builder, migrations and seeding to interact with databases, and blade templating for views. Requirements to use Laravel are PHP 5.4+, composer, and database extensions like MySQL.
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Servicestevemock
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service.
A tutorial for building a science application using the Araport.org platform, specifically the Agave API's Profiles RESTful endpoints from the araport app generator platform.
Laravel is an MVC framework for PHP that focuses on unit testing and DRY principles. It is based on Symfony but has a lower learning curve. Laravel uses Composer as a package manager and features include Eloquent ORM, query builders, database migrations, RESTful controllers, queue management, and payment API support through packages. While powerful, it can be heavyweight for some uses and there is no built-in admin panel, but packages provide these features. The lighter-weight Lumen framework was also created by the same developer.
In The Trenches With Tomster, Upgrading Ember.js & Ember DataStacy London
A few months after I started working with Ember.js & Ember Data at my new job we began a project to upgrade both. There were parts that were a breeze and others that were quite tricky. This talk walks you through some of the challenges we faced and how we solved them as well as how we began to prepare for the Ember 2.x architectural shift. Hopefully this talk will help save you some time when you decide to upgrade your Ember web application.
This document provides an overview of the Laravel PHP framework. It describes key Laravel concepts like MVC architecture, Eloquent ORM, Blade templating, routing, controllers, authentication, Artisan CLI, and Inversion of Control using service providers. It also lists requirements to set up a Laravel project and ways to create one using the Laravel installer or Composer.
This document summarizes a workshop on Laravel 5.2 that covered:
1) Installing Laravel using Composer
2) Creating a sample "Inspire" quote sharing application to demonstrate CRUD operations and authentication using Laravel
3) Topics included database configuration, migrations, controllers, models, and views to implement features like quotes, likes, and user authentication
Brian Feaver gives an overview of the Laravel PHP framework. He explains that Laravel is built on Symfony components and provides services and libraries to make interacting with web requests easier. The basics covered include routing, controllers, templating with Blade, and Eloquent ORM. Cool features highlighted are Artisan, dependency injection, queues, middleware, filesystem abstraction, and built-in authentication. Facades are discussed as a way to access underlying services, though injecting services directly is preferable.
10 Laravel packages everyone should knowPovilas Korop
This document lists and summarizes 10 Laravel packages that developers should know. It describes Carbon, a PHP date and time API extension, Illuminate/html for forms, Laravel generators for speeding up development, Doctrine/DBAL for database operations, Intervention/image for image handling, and others for user agent parsing, PDF generation, slug creation, improving IDE autocompletion, and debugging tools. Each package is briefly described and examples of usage are provided.
Chef - managing yours servers with Codem_richardson
The document discusses the architecture of Chef, an open-source configuration management tool. It describes the main components of Chef including the Chef Server, Chef Client, Knife tool, and Chef Solo. It also covers basic Chef concepts such as cookbooks, nodes, roles, attributes, recipes, and templates. Examples are provided to illustrate how to define resources and templates in Chef.
This document provides an overview of Laravel, an open source PHP framework, including its MVC architecture, requirements for installation, and directory structure. It explains that Laravel uses the MVC pattern with models for the backend logic, views for the frontend HTML/CSS, and controllers to connect models and views. It also outlines the steps to install Laravel and create a new Laravel project, and describes the main folders and files in the Laravel directory structure.
Introduction to Laravel Framework (5.2)Viral Solani
This document provides an overview of the Laravel PHP framework, including why it was created, its main features and components. Some key points:
- Laravel was created to guide developers to best practices and utilizes modern PHP features. It has an active community and good documentation.
- Its major components include routing, controllers, blade templating, Eloquent ORM, authentication, queues and more. It also uses Composer for dependency management.
- Other tools in the Laravel ecosystem help with deployment (Homestead, Forge), billing (Cashier), APIs (Lumen) and more. The framework is fully-featured but aims to be easy to learn and use.
Adventures in Laravel 5 SunshinePHP 2016 TutorialJoe Ferguson
Laravel 5 introduces several new features including a revised directory structure, Blade changes, commands, events, form requests, and helpers. It also includes tools like route caching, middleware, controller method injection, implicit route model binding, API rate limiting, and authentication improvements. The document provides an overview of these new features and changes as well as tips for upgrading from Laravel 4.2 to 5.x.
Daniele Scasciafratte ci mostra le caratteristiche dei vari tool di Firefox e di come possono semplificare la vita ad uno sviluppatore, anche in ambito web.
Iscriviti qui per partecipare ad altri Tech Webinar gratuiti: http://goo.gl/iW81VD
Scrivici a: training@codemotion.it
Tw: @CodemotionTR
This document provides a summary of the Swift programming language. It discusses the history and principles of Swift, including that it was created by Chris Lattner in 2010 and draws inspiration from many other languages. It then covers key aspects of Swift syntax like immutable and mutable variables, functions and closures, tuples and pattern matching, data types and instances, protocols and extensions, generics and optionals.
by Stefano Maraspin - Tutti conoscono "Non farmi pensare" di Steve Krug. L'autore sostiene che l'aspetto più importante dal punto di vista dell'usabilità sia l'immediatezza dell'interfaccia. Leggendolo mi è sorto un dubbio: "ma se gli utenti non devono pensare, vuol dire che il loro comportamento sarà irrazionale e impredicibile?". Ho così cominciato un percorso di ricerca sulle motivazioni che spingono l'utente ad intraprendere un'azione piuttosto che ad astenersi dalla stessa. In questo talk condivido quanto ho avuto modo di imparare attraverso le fonti scientifiche, ma soprattutto nei progetti su cui ho lavorato
New features in Rails 6 - Nihad Abbasov (RUS) | Ruby Meditation 26Ruby Meditation
Speech of Nihad Abbasov, Backend Engineer at Digital Classifieds, at Ruby Meditation #26 Kyiv 16.02.2019
Next conference - http://www.rubymeditation.com/
What to expect from Rails 6? Review of new features.
Announcements and conference materials https://www.fb.me/RubyMeditation
News https://twitter.com/RubyMeditation
Photos https://www.instagram.com/RubyMeditation
The stream of Ruby conferences (not just ours) https://t.me/RubyMeditation
Laravel is a popular PHP framework that provides tools and libraries to build web applications. It includes features like an Artisan CLI, routing, middleware, resourceful controllers, Eloquent ORM, Blade templating, and migrations/seeding. Laravel uses Eloquent as its ORM, which allows developers to interact with databases using plain PHP objects. It also utilizes Blade templating for views, migrations for database schema changes, and Artisan CLI commands for common tasks like installing and updating Laravel.
This document provides information about a SharePoint Saturday event in Ottawa on December 3rd, 2016. The event agenda includes topics on installing, configuring, and operating a SharePoint farm, both small and large. It also discusses SQL Server, IIS, and Windows Server configurations. Presenters will provide overviews of their experience with Microsoft technologies and SharePoint solutions. Attendees can learn about tools and resources for automating SharePoint deployment and management.
This document provides an overview of Laravel, a popular PHP framework. It discusses what Laravel is, why it is popular, and some of its core components like routing, controllers, models, migrations and views. Key points include: Laravel uses MVC architecture and is composer-based; it includes features like routing, controllers, Eloquent ORM, schema builder, migrations and seeding to interact with databases, and blade templating for views. Requirements to use Laravel are PHP 5.4+, composer, and database extensions like MySQL.
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Servicestevemock
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service.
A tutorial for building a science application using the Araport.org platform, specifically the Agave API's Profiles RESTful endpoints from the araport app generator platform.
Laravel is an MVC framework for PHP that focuses on unit testing and DRY principles. It is based on Symfony but has a lower learning curve. Laravel uses Composer as a package manager and features include Eloquent ORM, query builders, database migrations, RESTful controllers, queue management, and payment API support through packages. While powerful, it can be heavyweight for some uses and there is no built-in admin panel, but packages provide these features. The lighter-weight Lumen framework was also created by the same developer.
In The Trenches With Tomster, Upgrading Ember.js & Ember DataStacy London
A few months after I started working with Ember.js & Ember Data at my new job we began a project to upgrade both. There were parts that were a breeze and others that were quite tricky. This talk walks you through some of the challenges we faced and how we solved them as well as how we began to prepare for the Ember 2.x architectural shift. Hopefully this talk will help save you some time when you decide to upgrade your Ember web application.
This document provides an overview of the Laravel PHP framework. It describes key Laravel concepts like MVC architecture, Eloquent ORM, Blade templating, routing, controllers, authentication, Artisan CLI, and Inversion of Control using service providers. It also lists requirements to set up a Laravel project and ways to create one using the Laravel installer or Composer.
This document summarizes a workshop on Laravel 5.2 that covered:
1) Installing Laravel using Composer
2) Creating a sample "Inspire" quote sharing application to demonstrate CRUD operations and authentication using Laravel
3) Topics included database configuration, migrations, controllers, models, and views to implement features like quotes, likes, and user authentication
Brian Feaver gives an overview of the Laravel PHP framework. He explains that Laravel is built on Symfony components and provides services and libraries to make interacting with web requests easier. The basics covered include routing, controllers, templating with Blade, and Eloquent ORM. Cool features highlighted are Artisan, dependency injection, queues, middleware, filesystem abstraction, and built-in authentication. Facades are discussed as a way to access underlying services, though injecting services directly is preferable.
10 Laravel packages everyone should knowPovilas Korop
This document lists and summarizes 10 Laravel packages that developers should know. It describes Carbon, a PHP date and time API extension, Illuminate/html for forms, Laravel generators for speeding up development, Doctrine/DBAL for database operations, Intervention/image for image handling, and others for user agent parsing, PDF generation, slug creation, improving IDE autocompletion, and debugging tools. Each package is briefly described and examples of usage are provided.
Chef - managing yours servers with Codem_richardson
The document discusses the architecture of Chef, an open-source configuration management tool. It describes the main components of Chef including the Chef Server, Chef Client, Knife tool, and Chef Solo. It also covers basic Chef concepts such as cookbooks, nodes, roles, attributes, recipes, and templates. Examples are provided to illustrate how to define resources and templates in Chef.
This document provides an overview of Laravel, an open source PHP framework, including its MVC architecture, requirements for installation, and directory structure. It explains that Laravel uses the MVC pattern with models for the backend logic, views for the frontend HTML/CSS, and controllers to connect models and views. It also outlines the steps to install Laravel and create a new Laravel project, and describes the main folders and files in the Laravel directory structure.
Introduction to Laravel Framework (5.2)Viral Solani
This document provides an overview of the Laravel PHP framework, including why it was created, its main features and components. Some key points:
- Laravel was created to guide developers to best practices and utilizes modern PHP features. It has an active community and good documentation.
- Its major components include routing, controllers, blade templating, Eloquent ORM, authentication, queues and more. It also uses Composer for dependency management.
- Other tools in the Laravel ecosystem help with deployment (Homestead, Forge), billing (Cashier), APIs (Lumen) and more. The framework is fully-featured but aims to be easy to learn and use.
Adventures in Laravel 5 SunshinePHP 2016 TutorialJoe Ferguson
Laravel 5 introduces several new features including a revised directory structure, Blade changes, commands, events, form requests, and helpers. It also includes tools like route caching, middleware, controller method injection, implicit route model binding, API rate limiting, and authentication improvements. The document provides an overview of these new features and changes as well as tips for upgrading from Laravel 4.2 to 5.x.
Daniele Scasciafratte ci mostra le caratteristiche dei vari tool di Firefox e di come possono semplificare la vita ad uno sviluppatore, anche in ambito web.
Iscriviti qui per partecipare ad altri Tech Webinar gratuiti: http://goo.gl/iW81VD
Scrivici a: training@codemotion.it
Tw: @CodemotionTR
This document provides a summary of the Swift programming language. It discusses the history and principles of Swift, including that it was created by Chris Lattner in 2010 and draws inspiration from many other languages. It then covers key aspects of Swift syntax like immutable and mutable variables, functions and closures, tuples and pattern matching, data types and instances, protocols and extensions, generics and optionals.
by Stefano Maraspin - Tutti conoscono "Non farmi pensare" di Steve Krug. L'autore sostiene che l'aspetto più importante dal punto di vista dell'usabilità sia l'immediatezza dell'interfaccia. Leggendolo mi è sorto un dubbio: "ma se gli utenti non devono pensare, vuol dire che il loro comportamento sarà irrazionale e impredicibile?". Ho così cominciato un percorso di ricerca sulle motivazioni che spingono l'utente ad intraprendere un'azione piuttosto che ad astenersi dalla stessa. In questo talk condivido quanto ho avuto modo di imparare attraverso le fonti scientifiche, ma soprattutto nei progetti su cui ho lavorato
by Ugo Lattanzi - Vuoi passare al lato oscuro? Questa è la sessione che fa per te. Un side by side tra il mondo .NET e quello NodeJs in modo da apprenderne vantaggi, differenze, frameworks da utilizzare. Il tutto orientato al web.
by Maurizio Mangione - I web components sono un nuovo set di feature della piattaforma web. Polymer ne rende la creazione ancora più facile e permette, tramite polyfill di utilizzarli in tutti i browser moderni fin da ora. In Polymer tutto è un elemento, ha una vita propria e per questo può essere facilmente distribuibile e riutilizzabile.
Tech Webinar: Come ottimizzare il workflow nello sviluppo di Web AppCodemotion
Luciano Murruni illustra gli strumenti e i tool a disposizione per velocizzare e migliorare la scrittura e la qualità del codice della nostra applicazione.
Iscriviti qui per partecipare ad altri Tech Webinar gratuiti: http://goo.gl/iW81VD
Scrivici a: training@codemotion.it
Tw: http://twitter.com/CodemotionTR
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...Codemotion
The document discusses building applications with an "offline first" approach. It outlines techniques for making apps work offline using tools like the HTML5 AppCache, PouchDB for syncing shared data, imgcache.js for saving images offline, and ydn-db for private user data. The goal is to provide a seamless experience for the user even when offline. Key aspects covered include publishing and reading news content offline, handling shared vs private data storage, and checking network connectivity.
Meglio Kanban o Scrum? (Prossima domanda, prego...) - Carlo Beschi - Codemoti...Codemotion
Metto a confronto - con l'aiuto del pubblico - i due "metodi agili" più di moda - Scrum, al top delle classifiche da qualche anno, e Kanban, stabile al secondo posto. Riassumo la loro storia ed evoluzione. Riepilogo le loro "regole" (cosa prescrivono, in termini di ruoli, eventi. processi). Mostro un po' di dati sulla loro adozione, in Italia e all'estero. E concludo con un piccolo ragionamento sui valori che ci stanno dietro (a loro e altri metodi "agili"), che spiega perchè la domanda "E' meglio x o y?" è, in molti casi, poco significativa.
The document discusses profiling Puppet performance, including profiling Facter facts, catalog compilation, and the agent run. It shows how to use tools like 'facter --timing', 'puppet apply --profile', and processing reports to identify slow areas. Specific optimizations discussed include caching external facts, avoiding repeated Hiera lookups, and profiling resources by type and time.
The document discusses designing a RESTful web service. It covers identifying resources with URIs, using HTTP methods like GET, POST, PUT, DELETE to perform CRUD operations on resources, choosing appropriate representations like JSON or XML, handling responses and errors, and more advanced topics like content negotiation, querying, asynchronous tasks, and hypermedia as the engine of application state (HATEOAS).
The document discusses building REST APIs and describes the principles of REST. It outlines the goals of building a REST API as a platform for innovation, long term stability, availability, uniform access, and low development costs. It describes using hypermedia and hyperlinks to navigate between resources and build stateless, cacheable APIs. The document provides examples of describing resources with XML or JSON, finding and retrieving single or multiple resources, and linking between related resources to build a RESTful workflow.
This document discusses modernizing legacy applications through microservices architecture. It begins by describing the issues with monolithic applications, such as growing complexity, difficulty scaling, and inability to adopt new technologies. It then introduces microservices as an alternative, noting advantages like independent scaling, organizational alignment, and technology heterogeneity, though also increased complexity. Specific technologies discussed include Docker containers, Kubernetes orchestration, and open source tools like message brokers and databases to support modern applications. The document calls IT administrators and developers to action to experiment with these technologies for modernizing existing applications.
Mum, I want to be a Groovy full-stack developerGR8Conf
How many times have you ever heard the term "Full-Stack developer"? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS... What if I told you that you can be a Full-Stack developer using only Groovy?
In this talk I'll present the technological stack of Polaromatic, the application with I won the Learning Spring Boot contest, and you'll learn that it's possible to write the whole stack with Groovy: Backend, Javascript, HTML, Android, test, build tool,... Isn't that amazing?
GR8Conf 2016 - Mum, I want to be a Groovy full-stack developerIván López Martín
How many times have you ever heard the term "Full-Stack developer"? In most of the cases it means that you have to be fluent with a backend language, html, javascript, maybe Android or iOS... What if I told you that you can be a Full-Stack developer using only Groovy?
In this talk I'll present the technological stack of Polaromatic, the application with I won the Learning Spring Boot contest, and you'll learn that it's possible to write the whole stack with Groovy: Backend, Javascript, HTML, Android, test, build tool,... Isn't that amazing?
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜崇之 清水
The document describes how to build serverless applications using the Chalice framework. It shows examples of defining routes, path parameters, HTTP methods, and response handling. It also demonstrates configuring features like CORS, API keys, and authorizers. The document explains how Chalice works behind the scenes by examining its core classes and how it matches incoming requests to route functions. It provides links to additional resources about serverless applications on AWS.
Puppet Performance Profiling - CM Camp 2015ripienaar
This talk will cover the basic life cycle of a Puppet Catalog from compilation request to report processing. It will explore the performance of some of the life cycle steps and show how you might instrument these steps using tools Puppet make available.
Along the way it will provide hints and tips on how to write performant facts and manifests.
Your App Deserves More – The Art of App ModernizationKlaus Bild
Make your data sustainable and enhance the value of your applications. Your application and your work deserve it! We use applications everywhere but unfortunately a lot of them are old and monolithic. They are heavily used by your business but adding new functions to catch up with the business needs is almost impossible. We, a developer and an admin, will show you how you can transform your monolithic applications into modern apps using a smart architecture. Learn how you can leverage IBM Bluemix, Docker and suchlike to bring cognitive services to your applications. We will show you a live example to illustrate how we extended IBM Verse using IBM cloud technology to fulfill an urgent business need.
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
This document discusses behavior-driven development (BDD) and automation testing using Cucumber. It begins with an example of a Cucumber scenario for logging into a system. It then demonstrates an automation test case written in Java and discusses how Cucumber executes scenarios. The rest of the document outlines an agenda to discuss BDD, Cucumber automation, developing a Cucumber framework, and the pros and cons of BDD and Cucumber.
The document discusses various boilerplate patterns related to building microservices using the Spring Framework and Spring Cloud. It outlines patterns for application coordination, configuration, operations for the JVM, runtime platform provisioning, and microservice operations. It also introduces Spring Cloud projects like Config Server, Eureka, Ribbon, Hystrix, Stream, and Sleuth that can help implement these patterns to build cloud-native microservice architectures.
Powering Content Driven Applications with the World’s Most Popular CMS #ngconfRoy Sivan
WordPress powers over 25% of the Internet, with its easy to use admin interface it is a great way to power the content of any site, or application. However powering applications (native or not) was challenging, till the WordPress REST API was introduced. I will walk through why and how to use the WordPress REST API to build angular applications.
The document appears to be a presentation about deploying a graph database on AWS. It discusses using Scala and Akka for building components, Neo4j as the graph database, Packer for creating machine images, and deploying the components on AWS using a t1.micro instance type to build Amazon machine images.
In this talk I demonstrate and explain how I tackled the problem of importing a huge data set with many repetitive contents. The dataset was provided in JSON format.
The document discusses various methods for consuming web services using PHP, including REST, SOAP, and specific examples using Flickr, Delicious, and eBay APIs. REST uses HTTP requests and XML responses, while SOAP encapsulates requests and responses in XML for platform independence. Examples demonstrate using PHP with SimpleXML to parse REST responses, as well as the SOAP extension to call SOAP APIs and handle authentication.
SharePoint and Office Development WorkshopEric Shupps
This document provides an overview of Eric Shupps' background and areas of expertise including SharePoint add-ins, Office add-ins, Azure web applications, and the SharePoint Framework. It discusses solution design, development models, APIs, tools, languages, and deployment options for these platforms. The document also covers topics like permissions, authorization, authentication, and provides comparisons of what approaches work versus what doesn't work across different development models.
Code First with Serverless Azure FunctionsJeremy Likness
Learn about the new trend in cloud computing called serverless. See how it is implemented using Azure Functions and Logic Apps, advanced monitoring with Application Insights, and examples written in Node.js.
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2vgN64e.
Dan Lawesson talks about his experience migrating Speedment to Java 9. He covers examples such as test frameworks failing and dependencies needing to be reworked to accommodate the stricter Java 9 modularization. Filmed at qconnewyork.com.
Dan Lawesson is CSO at Speedment. Before joining the Speedment Team he has been building IoT systems in the automotive industry and also been working as a Java examiner at the Linkoping University. He is an experienced speaker at events like ISICS (Information Systems for Industrial Control and Supervision) workshops, JUGs and meetups.
The Truth About Your Web App's PerformanceJohn Riviello
The performance of your web app is obviously important. But how do you know your web app is performing well for all of your users? Out of the box tools provide us metrics, but most only provide an overall view. This case study of building the XFINITY X1 single-page web app will demonstrate what frontend performance data you should be gathering, how to gather it, and how to make sense of all that data.
Existing tools provide insight into the performance of our web applications, but there is not a single tool that gives you the full picture. You can fill these gaps by gathering the performance data of your actual users. In this talk, we'll walk through the parts of the W3C Navigation Timing, High Resolution Time & User Timing recommendations that you can easily take advantage of right now to collect important metrics (with the help of Open Source software). We'll determine the "types" of users you need to focus on to understand your web app, as well as what other factors could impact those individual users' experiences. And we'll make sure "Average Response Time" is never the primary focus of your metrics dashboard.
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
Increased complexity makes it very hard and time-consuming to keep your software bug-free and secure. We introduce fuzz-testing as a method for automatically and continuously discovering vulnerabilities hidden in your code. The talk will explain how fuzzing works and how to integrate fuzz-testing into your Software Development Life Cycle to increase your code’s security.
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
It was 1993 when we decided to venture in a beat'em up game for Amiga. The Catalypse's success story pushed me and my comrade to create something astonishing for this incredible game machine... but things went harder, assumptions were slightly different, and italian competitors appeared out of nowhere... the project died in 1996. Story ended? Probably not...
Il Commodore 65 è un prototipo di personal computer che Commodore avrebbe dovuto mettere in commercio quale successore del Commodore 64. Purtroppo la sua realizzazione si fermò appunto allo stadio prototipale. Racconterò l'affascinante storia del suo sviluppo ed il perchè della soppressione del progetto ormai ad un passo dalla immissione in commercio.
Rivivere l'ebbrezza di progettare un vecchio computer o una consolle da bar è oggi possibile sfruttando le FPGA, ovvero logiche programmabili che consentono a chiunque di progettare il proprio hardware o di ricrearne uno del passato. In questa sessione si racconta come dal reverse engineering dell'hardware di vecchie glorie come il Commodore 64 e lo ZX Spectrum sia stato possibile farle rivivere attraverso tecnologie oggi alla portata di tutti.
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
There's a lot of talk about blockchain, but how does the technology behind it actually work? For developers, getting some hands-on experience is the fastest way to get familiair with new technologies. So let's build a blockchain, then! In this session, we're going to build one in plain old Java, and have it working in 40 minutes. We'll cover key concepts of a blockchain: transactions, blocks, mining, proof-of-work, and reaching consensus in the blockchain network. After this session, you'll have a better understanding of core aspects of blockchain technology.
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
When was the last time you were truly lost? Thanks to the maps and location technology in our phones, a whole generation has now grown up in a world where getting lost is truly a thing of the past. Location technology goes far beyond maps in the palm of our hand, however. In this talk, we will explore how a ridesharing app works. How do we discover our destination?How do we find the closest driver? How do we display this information on a map? How do we find the best route?To answer these questions,we will be learning about a variety of location APIs, including Maps, Positioning, Geocoding etc.
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
Eward Driehuis, SecureLink's research chief, will guide you through the bumpy ride we call the cyber threat landscape. As the industry has over a decade of experience of dealing with increasingly sophisticated attacks, you might be surprised to hear more attacks slip through the cracks than ever. From analyzing 20.000 of them in 2018, backed by a quarter of a million security events and over ten trillion data points, Eward will outline why this happens, how attacks are changing, and why it doesn't matter how neatly or securely you code.
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
IoT revolution is ended. Thanks to hardware improvement, building an intelligent ecosystem is easier than never before for both startups and large-scale enterprises. The real challenge is now to connect, process, store and analyze data: in the cloud, but also, at the edge. We’ll give a quick look on frameworks that aggregate dispersed devices data into a single global optimized system allowing to improve operational efficiency, to predict maintenance, to track asset in real-time, to secure cloud-connected devices and much more.
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
What if Virtual Reality glasses could transform your environment into a three-dimensional work of art in realtime in the style of a painting from Van Gogh? One of the many interesting developments in the field of Deep Learning is the so called "Style Transfer". It describes a possibility to create a patchwork (or pastiche) from two images. While one of these images defines the the artistic style of the result picture, the other one is used for extracting the image content. A team from TNG Technology Consulting managed to build an AI showcase using OpenCV and Tensorflow to realize such goggles.
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
The document summarizes some of the security issues with blockchain technology. It discusses how blockchain is not a "silver bullet" and does not inherently solve problems like privacy and security of smart devices. It outlines various application security issues with complex code, protocols, and difficulty of updates on blockchains. Concerns over data immutability and security of smart contracts are also covered. The document questions whether blockchain truly provides the level of decentralization and anonymity claimed, and outlines some impossibility results and limitations of existing approaches to achieving security and privacy in blockchain systems.
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
The document provides an overview of the HTTP network protocol in its early stages of development. It summarizes the initial IMP (Interface Message Processor) software used to establish connections and transmit messages over the ARPANET. It outlines some early requirements for host-to-host software to enable simple and advanced use between computer systems. The document also describes the initial host software specifications, including establishing connections, transmitting data efficiently, and implementing error checking between connected systems. This was one of the first documents to define core aspects of the early HTTP network protocol to enable information exchange over the fledgling internet.
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
Performance tests are not only an important instrument for understanding a system and its runtime environment. It is also essential in order to check stability and scalability – non-functional requirements that might be decisive for success. But won't my cloud hosting service scale for me as long as I can afford it? Yes, but… It only operates and scales resources. It won't automatically make your system fast, stable and scalable. This talk shows how such and comparable questions can be clarified with performance tests and how DevOps teams benefit from regular test practise.
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
Sascha will demonstrate the opportunities and challenges of Conversational AI learned from the practice. Both Technology and User Experience will be covered introducing a process finding micro-moments, writing happy paths, gathering intents, designing the conversational flow, and finally publishing on almost all channels including Voice Services and Chatbots. Valuable for enterprises, developers, and designers. All live on stage in just minutes and with almost no code.
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
A key challenge we face at Pacmed is quickly calibrating and deploying our tools for clinical decision support in different hospitals, where data formats may vary greatly. Using Intensive Care Units as a case study, I’ll delve into our scalable Python pipeline, which leverages Pandas’ split-apply-combine approach to perform complex feature engineering and automatic quality checks on large time-varying data, e.g. vital signs. I’ll show how we use the resulting flexible and interpretable dataframes to quickly (re)train our models to predict mortality, discharge, and medical complications.
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
Coolblue is a proud Dutch company, with a large internal development department; one that truly takes CI/CD to heart. Empowerment through automation is at the heart of these development teams, and with more than 1000 deployments a day, we think it's working out quite well. In this session, Pat Hermens (a Development Managers) will step you through what enables us to move so quickly, which tools we use, and most importantly, the mindset that is required to enable development teams to deliver at such a rapid pace.
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
Quantum computers can use all of the possible pathways generated by quantum decisions to solve problems that will forever remain intractable to classical compute power. As the mega players vie for quantum supremacy and Rigetti announces its $1M "quantum advantage" prize, we live in exciting times. IBM-Q and Microsoft Q# are two ways you can learn to program quantum computers so that you're ready when the quantum revolution comes. I'll demonstrate some quantum solutions to problems that will forever be out of reach of classical, including organic chemistry and large number factorisation.
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
Chinese food exploded across America in the early 20th century, rapidly adapting to local tastes while also spreading like wildfire. How was it able to spread so fast? The GY6 is a family of scooter engines that has achieved near total ubiquity in Europe. It is reliable and cheap to manufacture, and it's made in factories across China. How are these factories able to remain afloat? Chinese-American food and the GY6 are both riveting studies in product-market fit, and both are the product of a distributed open source-like development model. What lessons can we learn for open source software?
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
The design space has exploded in size within the last few years and Sketch is one of the most important milestones to represent the phenomenon. But behind the scenes of this growing reality there is a remote team that revolutionizes the design space all without leaving the home office. This talk will present how Sketch has grown to become a modern, product designer's tool.
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
Would you fly in a plane designed by a craftsman or would you prefer your aircraft to be designed by engineers? We are learning that science and empiricism works in software development, maybe now is the time to redefine what “Software Engineering” really means. Software isn't bridge-building, it is not car or aircraft development either, but then neither is Chemical Engineering. Engineering is different in different disciplines. Maybe it is time for us to begin thinking about retrieving the term "Software Engineering" maybe it is time to define what our "Engineering" discipline should be.
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
What is the job of a CTO and how does it change as a startup grows in size and scale? As a CTO, where should you spend your focus? As an engineer aspiring to be a CTO, what skills should you pursue? In this inspiring and personal talk, I describe my journey from early Red Hat engineer to CTO at Bloomon. I will share my view on what it means to be a CTO, and ultimately answer the question: Should the CTO be coding?
14. MILAN November 28th/29th, 2014 – Ian Robinson
1.
Design
Around
CapabiliBes
Provision
Estate
Install
Database
Configure
Database
Install
Dataset
Install
Extension
Start
Database
Archive
Logs
Backup
Database
Check
Database
Status
Capture
Heap
Dump
Install
Workload
Execute
Workload
Publish
Results
Analyze
Results
15. MILAN November 28th/29th, 2014 – Ian Robinson
Implement
as
Resource
Families
Provision
Estate
Install
Database
Configure
Database
Install
Dataset
Install
Extension
Start
Database
Archive
Logs
Backup
Database
Check
Database
Status
Capture
Heap
Dump
Install
Workload
Execute
Workload
Publish
Results
Analyze
Results
16. MILAN November 28th/29th, 2014 – Ian Robinson
Deploy
in
Services
Provision
Estate
Database
Agent
Install
Database
Configure
Database
Install
Dataset
Backup
Database
Check
Database
Status
Capture
Heap
Dump
Install
Extension
Start
Database
Archive
Logs
Load
Generator
Install
Workload
Execute
Workload
Results
Service
Publish
Results
Analyze
Results
17. MILAN November 28th/29th, 2014 – Ian Robinson
Client
Creates
an
ApplicaBon
• Client-‐specific
applicaBon
goal
• Applies
resources
to
saBsfy
this
goal
• Intelligence
at
the
edges
• Client
understands/reconstructs
state
of
the
applicaBon
18. MILAN November 28th/29th, 2014 – Ian Robinson
Database
Agent
Neo-‐Workbench
Java
SDK
Database
Agent
Command-‐Line
Tools
Tests
(e.g.
Soak
Tests)
Database
Agent
Servers
Clients
20. MILAN November 28th/29th, 2014 – Ian Robinson
2.
Choose
a
Hypermedia
Format
<table>
<tr>
<td>
<a href="http://localhost:38000/database-agent/001"
rel="database-admin">001</a>
</td>
</tr>
...
</table>
<form class="install-database"
method="POST"
action="http://localhost:38000/database-agent/"
enctype="application/x-www-form-urlencoded">
<input type="hidden" name="_redirect_"
value="http://localhost:38000/database-agent/"></input>
<input type="text" name="installUri"></input>
<button type="submit" id="submit-form-install-database">Install</button>
</form>
21. MILAN November 28th/29th, 2014 – Ian Robinson
<table>
<tr>
<td>
<a href="http://localhost:38000/database-agent/001"
rel="database-admin">001</a>
</td>
</tr>
...
</table>
<form class="install-database"
method="POST"
action="http://localhost:38000/database-agent/"
enctype="application/x-www-form-urlencoded">
<input type="hidden" name="_redirect_"
value="http://localhost:38000/database-agent/"></input>
<input type="text" name="installUri"></input>
<button type="submit" id="submit-form-install-database">Install</button>
</form>
Link
–
Safe
OperaBons
SemanBc
context
22. MILAN November 28th/29th, 2014 – Ian Robinson
<table>
<tr>
<td>
<a href="http://localhost:38000/database-agent/001"
rel="database-admin">001</a>
</td>
</tr>
...
</table>
<form class="install-database"
method="POST"
action="http://localhost:38000/database-agent/"
enctype="application/x-www-form-urlencoded">
<input type="hidden" name="_redirect_"
value="http://localhost:38000/database-agent/"></input>
<input type="text" name="installUri"></input>
<button type="submit" id="submit-form-install-database">Install</button>
</form>
Form
–
Unsafe
OperaBons
SemanBc
context
23. MILAN November 28th/29th, 2014 – Ian Robinson
<table>
<tr>
<td>
<a href="http://localhost:38000/database-agent/001"
rel="database-admin">001</a>
</td>
</tr>
...
</table>
<form class="install-database"
method="POST"
action="http://localhost:38000/database-agent/"
enctype="application/x-www-form-urlencoded">
<input type="hidden" name="_redirect_"
value="http://localhost:38000/database-agent/"></input>
<input type="text" name="installUri"></input>
<button type="submit" id="submit-form-install-database">Install</button>
</form>
Program
the
Client
24. MILAN November 28th/29th, 2014 – Ian Robinson
Machines
First,
Browsers
Second
<table>
<tr>
<td>
<a href="http://localhost:38000/database-agent/001"
rel="database-admin">001</a>
</td>
</tr>
...
</table>
<form class="install-database"
method="POST"
action="http://localhost:38000/database-agent/"
enctype="application/x-www-form-urlencoded">
<input type="hidden" name="_redirect_"
value="http://localhost:38000/database-agent/"></input>
<input type="text" name="installUri"></input>
<button type="submit" id="submit-form-install-database">Install</button>
</form>
Conven&on
Fields
with
_underscores_
target
the
browser
25. MILAN November 28th/29th, 2014 – Ian Robinson
POST /database-agent
installUri=file:///neo4j-enterprise-2.1.5-unix.tar.gz
Client
Database
Agent
ProgrammaBc
Client
201 CREATED
Location: /database-agent/001/
26. MILAN November 28th/29th, 2014 – Ian Robinson
Database
Agent
Browser
Client
POST /database-agent
installUri=file:///neo4j-enterprise-2.1.5-unix.tar.gz
_redirect_=/database-agent
303 SEE OTHER
Location: /database-agent
GET/database-agent
200 OK
Content-Type: text/html
27. MILAN November 28th/29th, 2014 – Ian Robinson
3.
Long-‐Running
Processes
• Request
triggers
long-‐running
operaBon
(e.g.
backup)
• Client
waits
for
response:
• What
happens
if
the
connecBon
breaks?
28. MILAN November 28th/29th, 2014 – Ian Robinson
202
Accepted
• Indicates
request
has
been
accepted
for
processing
• Response
includes
URI
of
status
monitor
• Client
polls
status
monitor
29. MILAN November 28th/29th, 2014 – Ian Robinson
Client
Database
Agent
202
Accepted
POST /database-agent/001/stores
installUri=s3://.../graph.db.zip
202 ACCEPTED
Location: /database-agent/jobs/3e4d0
GET /database-agent/jobs/3e4d0
202 ACCEPTED
Location: /database-agent/jobs/3e4d0
GET /database-agent/jobs/3e4d0
201 CREATED
Location: /database-agent/002/stores/graph.db
Install
Store
31. MILAN November 28th/29th, 2014 – Ian Robinson
4.
Client-‐Side
OrchestraBon
Neo-‐Workbench
Java
APIs
Command-‐Line
Tools
Tests
(e.g.
Soak
Tests)
Servers
Clients
Sequential = Slow
1. Install Database 1
2. Install Database 2
3. Install Database 3
4. Upload Store 1-A
5. Upload Store 2-A
6. Upload Store 3-A
7. Start Database 1
8. Start Database 2
9. Start Database 3
10. etc…
32. MILAN November 28th/29th, 2014 – Ian Robinson
Client
Database
Agent
Database
Agent
Database
Agent
Install
Database
Install
Database
Install
Database
Upload
Dataset
Upload
Dataset
Upload
Dataset
33. MILAN November 28th/29th, 2014 – Ian Robinson
ReacBve
Extensions
Iterables
Observables
Synchronous
Asynchronous
Pull
Push
for ( Integer integer : stats.counters() )
{
System.out.println( integer );
}
stats.counters().subscribe(
new Action1<Integer>()
{
@Override
public void call( Integer integer )
{
System.out.println( integer );
}
});
h^ps://github.com/Ne`lix/RxJava/wiki
34. MILAN November 28th/29th, 2014 – Ian Robinson
new StartCluster()
.execute( cluster )
.subscribe( new Action1<URI>()
{
@Override
public void call( URI uri )
{
System.out.println(
format( "Database started: %s", uri ) );
}
} );
Client-‐Side
OrchestraBon
35. MILAN November 28th/29th, 2014 – Ian Robinson
new StartCluster()
.execute( cluster )
.subscribe( new Action1<URI>()
{
@Override
public void call( URI uri )
{
System.out.println(
format( "Database started: %s", uri ) );
}
} );
Client-‐Side
OrchestraBon
39. MILAN November 28th/29th, 2014 – Ian Robinson
Automated
Provisioning
Provisioning
API
AWS
CloudFormation
SDK
Local
Provisioning
Provider
Vagrant
Azure
SDK
40. MILAN November 28th/29th, 2014 – Ian Robinson
Fluent
API
Estate estate = new Estate()
.addBlock( new Block<>(
"results", 1,
ResultsServiceConfig.DEFAULT,
AwsPlatformConfig.DEFAULT )
.addBlock( new Block<>(
"db-cluster", 3,
DatabaseAgentConfig.builder().withPackageDownloadUri(
URI.create( "http://dist.neo4j.org/neo4j-enterprise-2.1.2-unix.tar.gz" ) ).build(),
AwsPlatformConfig.DEFAULT ) )
.addBlock( new Block<>(
"load-generator", 1,
LoadGeneratorConfig.DEFAULT,
LocalPlatformConfig.DEFAULT ) );
EstateProvisioning provisioning = new EstateProvisioning();
provisioning.provision( estate );
41. MILAN November 28th/29th, 2014 – Ian Robinson
Graphite
Block
in
AWS
Estate estate = new Estate()
.addBlock( new Block<>(
"results", 1,
ResultsServiceConfig.DEFAULT,
AwsPlatformConfig.DEFAULT )
.addBlock( new Block<>(
"db-cluster", 3,
DatabaseAgentConfig.builder().withPackageDownloadUri(
URI.create( "http://dist.neo4j.org/neo4j-enterprise-2.1.2-unix.tar.gz" ) ).build(),
AwsPlatformConfig.DEFAULT ) )
.addBlock( new Block<>(
"load-generator", 1,
LoadGeneratorConfig.DEFAULT,
LocalPlatformConfig.DEFAULT ) );
EstateProvisioning provisioning = new EstateProvisioning();
provisioning.provision( estate );
42. MILAN November 28th/29th, 2014 – Ian Robinson
Database
Block
in
AWS
Estate estate = new Estate()
.addBlock( new Block<>(
"results", 1,
ResultsServiceConfig.DEFAULT,
AwsPlatformConfig.DEFAULT )
.addBlock( new Block<>(
"db-cluster", 3,
DatabaseAgentConfig.builder().withPackageDownloadUri(
URI.create( "http://dist.neo4j.org/neo4j-enterprise-2.1.2-unix.tar.gz" ) ).build(),
AwsPlatformConfig.DEFAULT ) )
.addBlock( new Block<>(
"load-generator", 1,
LoadGeneratorConfig.DEFAULT,
LocalPlatformConfig.DEFAULT ) );
EstateProvisioning provisioning = new EstateProvisioning();
provisioning.provision( estate );
43. MILAN November 28th/29th, 2014 – Ian Robinson
Local
Load
Generator
Block
Estate estate = new Estate()
.addBlock( new Block<>(
"results", 1,
ResultsServiceConfig.DEFAULT,
AwsPlatformConfig.DEFAULT )
.addBlock( new Block<>(
"db-cluster", 3,
DatabaseAgentConfig.builder().withPackageDownloadUri(
URI.create( "http://dist.neo4j.org/neo4j-enterprise-2.1.2-unix.tar.gz" ) ).build(),
AwsPlatformConfig.DEFAULT ) )
.addBlock( new Block<>(
"load-generator", 1,
LoadGeneratorConfig.DEFAULT,
LocalPlatformConfig.DEFAULT ) );
EstateProvisioning provisioning = new EstateProvisioning();
provisioning.provision( estate );
44. MILAN November 28th/29th, 2014 – Ian Robinson
Fluent
API
Estate estate = new Estate()
.addBlock( new Block<>(
"results", 1,
ResultsServiceConfig.DEFAULT,
AwsPlatformConfig.DEFAULT )
.addBlock( new Block<>(
"db-cluster", 3,
DatabaseAgentConfig.builder().withPackageDownloadUri(
URI.create( "http://dist.neo4j.org/neo4j-enterprise-2.1.2-unix.tar.gz" ) ).build(),
AwsPlatformConfig.DEFAULT ) )
.addBlock( new Block<>(
"load-generator", 1,
LoadGeneratorConfig.DEFAULT,
LocalPlatformConfig.DEFAULT ) );
EstateProvisioning provisioning = new EstateProvisioning();
provisioning.provision( estate );
45. MILAN November 28th/29th, 2014 – Ian Robinson
Compliments
of Neo Technology
Graph
Databases
Ian Robinson,
h
Jim Webber & Emil Eifrem
@iansrobinson
46. MILAN November 28th/29th, 2014 – Ian Robinson
Database
Agent
Soak
Test
Database
Agent
Database
Agent
Load
Server
Results
Server
Graphite
Graphite
Database
Cluster
Estate
Workload