SlideShare a Scribd company logo
component based Rails application
primer
Enrico Teotti -- @agenteo
component based Rails application
primer
Rogrido Teotti -- @agenteo
misconception that working on complex software
must feel hard
like carrying 200 potatos is harder than carrying 20
This is wrong for two reasons: software
development is knowledge work not labour and
because of documented patterns to tackle software
complexity with incremental code design
decorators, presenters, service objects can
be sufficient to handle some complexity but
when the project is over a certain size
they don’t help understand what the
whole application does
Component based architecture is complementary to
good object oriented practices and uses
namespaces, test driven development and Ruby
gems to gradually define application boundaries
and enforce an internal dependency structure.
path 'components' do
gem 'public_ui'
gem 'admin_ui'
gem 'legacy_migration'
end
intention revealing Gemfile
Component is the name given to a Ruby on Rails
engine or Ruby gem when used as building block of
the Rails application
● are ruby gems
● are special ruby gems that provide extra
behaviour (models, views, routes, rake
tasks) to a Rails application
● they can be hosted on a gemserver or
they can live inside your repository
● can be tested in isolation
what are rails engines?
config/routes.rb
Rails.application.routes.draw do
case AppRunningMode.value
when :admin
mount AdminUi::Engine => "/"
when :public
mount PublicUi::Engine => "/"
else
mount AdminUi::Engine => "/"
mount PublicUi::Engine => "/"
end
end
don’t architect an application with components from
day one instead introduce them gradually as the
complexity grows or when the scope changes
RUNNING_MODE=public rails s
RUNNING_MODE=admin rails s
http://example-internal-vpn-domain.com/admin
http://example.com/content
rails s
http://localhost:3000
proceeding without automated tests
could drive you crazy
use the test dummy app
avoid high level engines coupling
admin_ui
public_ui
admin_ui public_ui
domain_logic
DomainLogic::Content::Article
admin_ui public_ui
shared_ui domain_logic
Gem::Specification.new do |s|
# ... other fields up here
s.name = "admin_ui"
s.add_dependency "rails", "~> 4.1.1"
s.add_dependency 'jquery-rails'
s.add_dependency 'mongoid'
s.add_dependency 'faraday'
s.add_dependency "domain_logic"
s.add_dependency "shared_ui"
s.add_development_dependency 'byebug'
s.add_development_dependency 'database_cleaner'
s.add_development_dependency 'rspec-rails', '2.99.0'
s.add_development_dependency 'vcr'
s.add_development_dependency 'webmock'
s.add_development_dependency 'capybara'
s.add_development_dependency 'poltergeist'
end
admin_ui/admin_ui.gemspec
admin_ui public_ui
shared_ui domain_logic
legacy data
import
admin_ui public_ui
shared_ui domain_logic
legacy data
import
global search
admin_ui/app/views/cargo_preview/show.html.erb
<%# admin console stuff here %>
<%= render partial: 'shared_ui/cargos/show' %>
<%# admin spaceship here %>
public_ui/app/views/cargos/show.html.erb
<%= render partial: 'shared_ui/cargos/show' %>
http://teotti.com
Enrico Teotti - @agenteo
http://teotti.com/component-based-rails-architecture-primer/
Questions?

More Related Content

What's hot

SpringBoot
SpringBootSpringBoot
SpringBoot
Jaran Flaath
 
Don't worry be API with Slim framework and Joomla
Don't worry be API with Slim framework and JoomlaDon't worry be API with Slim framework and Joomla
Don't worry be API with Slim framework and Joomla
Pierre-André Vullioud
 
Angular Routing Tutorial | AngularJS vs Angular Router | Angular Training | E...
Angular Routing Tutorial | AngularJS vs Angular Router | Angular Training | E...Angular Routing Tutorial | AngularJS vs Angular Router | Angular Training | E...
Angular Routing Tutorial | AngularJS vs Angular Router | Angular Training | E...
Edureka!
 
Dependency Injection pattern in Angular
Dependency Injection pattern in AngularDependency Injection pattern in Angular
Dependency Injection pattern in Angular
Alexe Bogdan
 
Rails 3
Rails 3Rails 3
Rails 3
Iain Hecker
 
Ember CLI & Ember Tooling
Ember CLI & Ember ToolingEmber CLI & Ember Tooling
Ember CLI & Ember Tooling
Mark Provan
 
Laravel & Composer presentation - extended
Laravel & Composer presentation - extendedLaravel & Composer presentation - extended
Laravel & Composer presentation - extended
Cvetomir Denchev
 
Laravel 5.4
Laravel 5.4 Laravel 5.4
Laravel 5.4
Nisha Patel
 
Modern web app with REACT
Modern web app with REACTModern web app with REACT
Modern web app with REACT
AndryRajohnson
 
Laravel & Composer presentation - WebHostFace
Laravel & Composer presentation - WebHostFace Laravel & Composer presentation - WebHostFace
Laravel & Composer presentation - WebHostFace
Cvetomir Denchev
 
Selenium Maven With Eclipse | Edureka
Selenium Maven With Eclipse | EdurekaSelenium Maven With Eclipse | Edureka
Selenium Maven With Eclipse | Edureka
Edureka!
 
Angular, the New Angular JS
Angular, the New Angular JSAngular, the New Angular JS
Angular, the New Angular JS
Kenzan
 
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
Edureka!
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
Nitin Bhojwani
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jaran Flaath
 
Angular App Presentation
Angular App PresentationAngular App Presentation
Angular App Presentation
Elizabeth Long
 
Intro to AngularJS
Intro to AngularJS Intro to AngularJS
Intro to AngularJS
Sparkhound Inc.
 
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure FunctionsEuropean Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
Sébastien Levert
 
Workshop Laravel 5.2
Workshop Laravel 5.2Workshop Laravel 5.2
Workshop Laravel 5.2
Wahyu Rismawan
 
Basic fundamental of ReactJS
Basic fundamental of ReactJSBasic fundamental of ReactJS
Basic fundamental of ReactJS
InnovationM
 

What's hot (20)

SpringBoot
SpringBootSpringBoot
SpringBoot
 
Don't worry be API with Slim framework and Joomla
Don't worry be API with Slim framework and JoomlaDon't worry be API with Slim framework and Joomla
Don't worry be API with Slim framework and Joomla
 
Angular Routing Tutorial | AngularJS vs Angular Router | Angular Training | E...
Angular Routing Tutorial | AngularJS vs Angular Router | Angular Training | E...Angular Routing Tutorial | AngularJS vs Angular Router | Angular Training | E...
Angular Routing Tutorial | AngularJS vs Angular Router | Angular Training | E...
 
Dependency Injection pattern in Angular
Dependency Injection pattern in AngularDependency Injection pattern in Angular
Dependency Injection pattern in Angular
 
Rails 3
Rails 3Rails 3
Rails 3
 
Ember CLI & Ember Tooling
Ember CLI & Ember ToolingEmber CLI & Ember Tooling
Ember CLI & Ember Tooling
 
Laravel & Composer presentation - extended
Laravel & Composer presentation - extendedLaravel & Composer presentation - extended
Laravel & Composer presentation - extended
 
Laravel 5.4
Laravel 5.4 Laravel 5.4
Laravel 5.4
 
Modern web app with REACT
Modern web app with REACTModern web app with REACT
Modern web app with REACT
 
Laravel & Composer presentation - WebHostFace
Laravel & Composer presentation - WebHostFace Laravel & Composer presentation - WebHostFace
Laravel & Composer presentation - WebHostFace
 
Selenium Maven With Eclipse | Edureka
Selenium Maven With Eclipse | EdurekaSelenium Maven With Eclipse | Edureka
Selenium Maven With Eclipse | Edureka
 
Angular, the New Angular JS
Angular, the New Angular JSAngular, the New Angular JS
Angular, the New Angular JS
 
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Angular App Presentation
Angular App PresentationAngular App Presentation
Angular App Presentation
 
Intro to AngularJS
Intro to AngularJS Intro to AngularJS
Intro to AngularJS
 
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure FunctionsEuropean Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
 
Workshop Laravel 5.2
Workshop Laravel 5.2Workshop Laravel 5.2
Workshop Laravel 5.2
 
Basic fundamental of ReactJS
Basic fundamental of ReactJSBasic fundamental of ReactJS
Basic fundamental of ReactJS
 

Viewers also liked

Waza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryWaza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryAdam Wiggins
 
Transforming Healthcare Through Connected Health Technology - A story from Th...
Transforming Healthcare Through Connected Health Technology - A story from Th...Transforming Healthcare Through Connected Health Technology - A story from Th...
Transforming Healthcare Through Connected Health Technology - A story from Th...
Apollo Hospitals Group and ATNF
 
Quienés somos
Quienés somosQuienés somos
Quienés somos
Juan Lalangui
 
Build and maintain large ruby applications - LA Ruby Oct meetup
Build and maintain large ruby applications - LA Ruby Oct meetupBuild and maintain large ruby applications - LA Ruby Oct meetup
Build and maintain large ruby applications - LA Ruby Oct meetup
Enrico Teotti
 
Gerencia de proyectos
Gerencia de proyectosGerencia de proyectos
Gerencia de proyectos
oasis aires
 
Student packet tracer manual
Student packet tracer manualStudent packet tracer manual
Student packet tracer manual
Waldir Nuñez Francia
 
2012 Inflection Point Report Trend Two Outsourced Labor: Major trends researc...
2012 Inflection Point Report Trend Two Outsourced Labor: Major trends researc...2012 Inflection Point Report Trend Two Outsourced Labor: Major trends researc...
2012 Inflection Point Report Trend Two Outsourced Labor: Major trends researc...
Chris Jones
 
Burning Man Colombia - Pereira 2016
Burning Man Colombia - Pereira 2016 Burning Man Colombia - Pereira 2016
Burning Man Colombia - Pereira 2016
Erin Donaldson
 
Next generation Enterprise Architecture primer
Next generation Enterprise Architecture  primer Next generation Enterprise Architecture  primer
Next generation Enterprise Architecture primer
Million Innovators Group
 
Mindset
MindsetMindset
Mindset
Enrico Teotti
 
The value of communication and infrastructure for automated cars
The value of communication and infrastructure for automated carsThe value of communication and infrastructure for automated cars
The value of communication and infrastructure for automated cars
Center for Transportation Research - UT Austin
 
conociendo la responsabilidad
conociendo la responsabilidadconociendo la responsabilidad
conociendo la responsabilidad
elimar rivas
 

Viewers also liked (13)

Waza keynote: Idea to Delivery
Waza keynote: Idea to DeliveryWaza keynote: Idea to Delivery
Waza keynote: Idea to Delivery
 
Transforming Healthcare Through Connected Health Technology - A story from Th...
Transforming Healthcare Through Connected Health Technology - A story from Th...Transforming Healthcare Through Connected Health Technology - A story from Th...
Transforming Healthcare Through Connected Health Technology - A story from Th...
 
Quienés somos
Quienés somosQuienés somos
Quienés somos
 
Build and maintain large ruby applications - LA Ruby Oct meetup
Build and maintain large ruby applications - LA Ruby Oct meetupBuild and maintain large ruby applications - LA Ruby Oct meetup
Build and maintain large ruby applications - LA Ruby Oct meetup
 
Gerencia de proyectos
Gerencia de proyectosGerencia de proyectos
Gerencia de proyectos
 
Student packet tracer manual
Student packet tracer manualStudent packet tracer manual
Student packet tracer manual
 
2012 Inflection Point Report Trend Two Outsourced Labor: Major trends researc...
2012 Inflection Point Report Trend Two Outsourced Labor: Major trends researc...2012 Inflection Point Report Trend Two Outsourced Labor: Major trends researc...
2012 Inflection Point Report Trend Two Outsourced Labor: Major trends researc...
 
Certificate
CertificateCertificate
Certificate
 
Burning Man Colombia - Pereira 2016
Burning Man Colombia - Pereira 2016 Burning Man Colombia - Pereira 2016
Burning Man Colombia - Pereira 2016
 
Next generation Enterprise Architecture primer
Next generation Enterprise Architecture  primer Next generation Enterprise Architecture  primer
Next generation Enterprise Architecture primer
 
Mindset
MindsetMindset
Mindset
 
The value of communication and infrastructure for automated cars
The value of communication and infrastructure for automated carsThe value of communication and infrastructure for automated cars
The value of communication and infrastructure for automated cars
 
conociendo la responsabilidad
conociendo la responsabilidadconociendo la responsabilidad
conociendo la responsabilidad
 

Similar to Lightening a component based Rails architecture

Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
Feature flagging with rails engines
Feature flagging with rails enginesFeature flagging with rails engines
Feature flagging with rails engines
Enrico Teotti
 
Rails engines in large apps
Rails engines in large appsRails engines in large apps
Rails engines in large appsEnrico Teotti
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
Viridians
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
Paul Jensen
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Mack Hardy
 
Rails engines
Rails enginesRails engines
Rails engines
Mohammed Gharbi
 
Rails engine
Rails engineRails engine
Rails engine
Jyaasa Technologies
 
IRJET- Polymer Javascript
IRJET- Polymer JavascriptIRJET- Polymer Javascript
IRJET- Polymer Javascript
IRJET Journal
 
Node JS Express: Steps to Create Restful Web App
Node JS Express: Steps to Create Restful Web AppNode JS Express: Steps to Create Restful Web App
Node JS Express: Steps to Create Restful Web App
Edureka!
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010arif44
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
Alex Ross
 
feature flagging with rails engines v0.2
feature flagging with rails engines v0.2 feature flagging with rails engines v0.2
feature flagging with rails engines v0.2
Enrico Teotti
 
Day in a life of a node.js developer
Day in a life of a node.js developerDay in a life of a node.js developer
Day in a life of a node.js developerEdureka!
 
Day In A Life Of A Node.js Developer
Day In A Life Of A Node.js DeveloperDay In A Life Of A Node.js Developer
Day In A Life Of A Node.js Developer
Edureka!
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
VMware Tanzu
 
Solving micro-services and one site problem
Solving micro-services and one site problemSolving micro-services and one site problem
Solving micro-services and one site problem
aragavan
 
Introduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with ClojurescriptIntroduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with Clojurescript
John Stevenson
 

Similar to Lightening a component based Rails architecture (20)

Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
 
Feature flagging with rails engines
Feature flagging with rails enginesFeature flagging with rails engines
Feature flagging with rails engines
 
Rails engines in large apps
Rails engines in large appsRails engines in large apps
Rails engines in large apps
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
Rails engines
Rails enginesRails engines
Rails engines
 
Rails engine
Rails engineRails engine
Rails engine
 
IRJET- Polymer Javascript
IRJET- Polymer JavascriptIRJET- Polymer Javascript
IRJET- Polymer Javascript
 
Node JS Express: Steps to Create Restful Web App
Node JS Express: Steps to Create Restful Web AppNode JS Express: Steps to Create Restful Web App
Node JS Express: Steps to Create Restful Web App
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
 
feature flagging with rails engines v0.2
feature flagging with rails engines v0.2 feature flagging with rails engines v0.2
feature flagging with rails engines v0.2
 
Day in a life of a node.js developer
Day in a life of a node.js developerDay in a life of a node.js developer
Day in a life of a node.js developer
 
Day In A Life Of A Node.js Developer
Day In A Life Of A Node.js DeveloperDay In A Life Of A Node.js Developer
Day In A Life Of A Node.js Developer
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Solving micro-services and one site problem
Solving micro-services and one site problemSolving micro-services and one site problem
Solving micro-services and one site problem
 
BPMS1
BPMS1BPMS1
BPMS1
 
BPMS1
BPMS1BPMS1
BPMS1
 
Introduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with ClojurescriptIntroduction to Functional Reactive Web with Clojurescript
Introduction to Functional Reactive Web with Clojurescript
 

More from Enrico Teotti

Facilitating an online Agile Retrospective.pdf
Facilitating an online Agile Retrospective.pdfFacilitating an online Agile Retrospective.pdf
Facilitating an online Agile Retrospective.pdf
Enrico Teotti
 
Build and maintain large Ruby applications 2023
Build and maintain large Ruby applications 2023Build and maintain large Ruby applications 2023
Build and maintain large Ruby applications 2023
Enrico Teotti
 
Facilitating online agile retrospectives
Facilitating online agile retrospectivesFacilitating online agile retrospectives
Facilitating online agile retrospectives
Enrico Teotti
 
Measure success in agile retrospectives
Measure success in agile retrospectivesMeasure success in agile retrospectives
Measure success in agile retrospectives
Enrico Teotti
 
Structured retros
Structured retrosStructured retros
Structured retros
Enrico Teotti
 
3 things about public speaking
3 things about public speaking3 things about public speaking
3 things about public speaking
Enrico Teotti
 
Build and maintain large ruby applications Ruby Conf Australia 2016
Build and maintain large ruby applications Ruby Conf Australia 2016Build and maintain large ruby applications Ruby Conf Australia 2016
Build and maintain large ruby applications Ruby Conf Australia 2016
Enrico Teotti
 
Build and maintain large Ruby apps 0.0.1
Build and maintain large Ruby apps 0.0.1Build and maintain large Ruby apps 0.0.1
Build and maintain large Ruby apps 0.0.1
Enrico Teotti
 

More from Enrico Teotti (8)

Facilitating an online Agile Retrospective.pdf
Facilitating an online Agile Retrospective.pdfFacilitating an online Agile Retrospective.pdf
Facilitating an online Agile Retrospective.pdf
 
Build and maintain large Ruby applications 2023
Build and maintain large Ruby applications 2023Build and maintain large Ruby applications 2023
Build and maintain large Ruby applications 2023
 
Facilitating online agile retrospectives
Facilitating online agile retrospectivesFacilitating online agile retrospectives
Facilitating online agile retrospectives
 
Measure success in agile retrospectives
Measure success in agile retrospectivesMeasure success in agile retrospectives
Measure success in agile retrospectives
 
Structured retros
Structured retrosStructured retros
Structured retros
 
3 things about public speaking
3 things about public speaking3 things about public speaking
3 things about public speaking
 
Build and maintain large ruby applications Ruby Conf Australia 2016
Build and maintain large ruby applications Ruby Conf Australia 2016Build and maintain large ruby applications Ruby Conf Australia 2016
Build and maintain large ruby applications Ruby Conf Australia 2016
 
Build and maintain large Ruby apps 0.0.1
Build and maintain large Ruby apps 0.0.1Build and maintain large Ruby apps 0.0.1
Build and maintain large Ruby apps 0.0.1
 

Recently uploaded

AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 

Recently uploaded (20)

AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 

Lightening a component based Rails architecture