SlideShare ist ein Scribd-Unternehmen logo
1 von 81
Downloaden Sie, um offline zu lesen
ISOMORPHIC APP DEVELOPMENT 
WITH RUBY AND VOLT
@RYANSTOUT
COMPLEXITY 
IN WEB DEVELOPMENT
COMPLEXITY IN 2004 
Routes/Auth 
Models 
Controllers 
Views 
Server Client
COMPLEXITY IN 2005 
Routes/Auth 
Models 
Controllers 
Views 
Ajax 
Server Client
COMPLEXITY IN 2006 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Random JS 
Ajax 
Server Client
COMPLEXITY IN 2007 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Random JS 
Ajax 
Server Client
COMPLEXITY IN 2009 
Asset Packing 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Random JS 
Ajax 
Server Client
COMPLEXITY IN 2011 
Models 
Controllers 
Views 
Asset Packing 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Ajax 
Server Client
COMPLEXITY IN 2012 
Asset Loading 
Models 
Controllers 
Views 
Asset Packing 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Ajax 
Server Client
COMPLEXITY IN 2013 
Asset Packing 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Routes/Auth 
Asset Loading 
Models 
Controllers 
Views 
Ajax 
Server Client
COMPLEXITY IN 2014 
Asset Packing 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Routes/Auth 
Asset Loading 
Models 
Controllers 
Views 
Ajax 
Server Client
COMPLEXITY IN 2004 
Routes/Auth 
Models 
Controllers 
Views 
Server Client
COMPLEXITY IN 2014 
Asset Packing 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Routes/Auth 
Asset Loading 
Models 
Controllers 
Views 
Ajax 
Server Client
THE SEA OF COMPLEXITY
TRAPPED!
WHAT’S THE SOLUTION? 
Turbo-links 

just kidding :-)
ISOMORPHIC 
“similar in form”
ISOMORPHIC 
Sharing code between 
client and server
COMPLEXITY IN 2014 
Routes/Auth 
Asset Loading 
Models 
Controllers 
Views 
Ajax 
Asset Packing 
REST 
Routes/Auth 
Models 
Controllers 
Views 
Auto Sync 
Server Shared Client
ISOMORPHIC 
Sharing code between 
client and server
WHAT IS VOLT?
WHAT IS VOLT? 
Isomorphic Web Framework 
(for ruby!)
HOW?
OPAL 
Ruby to JavaScript compiler
VOLT 
Share controllers, models, views, and 
routes between client and server
VOLT 
Same code runs on the 
client and the server!
VOLT 
Same code runs on the 
client and the server!!
VOLT 
Same code runs on the 
client and the server!!!!
VOLT 
Reactive Bindings for the DOM
VOLT 
Automatic Data Syncing
VOLT 
Build apps as nested components
OPAL
PERCEPTION 
Compiling to JS adds complexity
COMPLEXITY 
JS Bridge 
Performance 
File Size 
Debugging 
Complexity 
Base Language 
this 
Type Coersion 
No Std Lib 
WTF’s 
Falseness 
Base Language 
JavaScript Compiled Ruby
COMPLEXITY 
Debugging 
Base Language 
this 
Type Coersion 
No Std Lib 
WTF’s 
Falseness 
Base Language 
JavaScript Compiled Ruby
STOCKHOME SYNDROME
WTF’s 
this parseInt new type coercion 
semicolon insertion typeof == vs === 
case fall-through broken comparators 
“string” instanceof String == false 
undefined
PERCEPTION 
“Experimenting with @opalrb - every time I 
expected to find an issue, nothing happened. 
Maybe it'll be time to retire coffeescript soon
” 
- Sidu Ponnappa
1,600Kb 
1,200Kb 
800Kb 
400Kb 
0Kb 
Uncompressed Minified Minified+Deflate FILE SIZE 
jQuery 2.0.3 Bootstrap+JS Angular Opal+Volt Ember
110Kb 
83Kb 
55Kb 
28Kb 
0Kb 
MIN+DEFLATE 
jQuery 2.0.3 Bootstrap Angular Opal+Volt Ember
DEBUGGING IN OPAL 
Transpiling 
Source Maps 
Framework Black Boxing 
RubySpecs 
Opal-IRB
TRANSPILING 
local variables => local variables 
instance variables => object properties 
methods => function on object 
with $ prefix 
classes => prototypes
TRANSPILING 
class User 
def initialize(name, age) 
@name = name 
@byear = Time.now.year - age 
end 
def welcome 
“Hi #{@name}, you were born in #{@byear}" 
end 
end 
puts User.new('Ryan', 29).welcome
def.name = def.birth_year = nil; 
def.$initialize = function(name, age) { 
var self = this; 
self.name = name; 
return self.byear = $scope.get('Time').$now().$year()['$-'](age); 
}; 
return (def.$welcome_message = function() { 
var self = this; 
return "Hi " + (self.name) + ", you were born in " + (self.byear); 
}, nil) && 'welcome_message';
def.name = def.birth_year = nil; 
def.$initialize = function(name, age) { 
var self = this; 
self.name = name; 
return self.byear = $scope.get('Time').$now().$year()['$-'](age); 
}; 
return (def.$welcome_message = function() { 
var self = this; 
return "Hi " + (self.name) + ", you were born in " + (self.byear); 
}, nil) && 'welcome_message';
def.name = def.birth_year = nil; 
def.$initialize = function(name, age) { 
var self = this; 
self.name = name; 
return self.byear = $scope.get('Time').$now().$year()['$-'](age); 
}; 
return (def.$welcome_message = function() { 
var self = this; 
return "Hi " + (self.name) + ", you were born in " + (self.byear); 
}, nil) && 'welcome_message';
def.name = def.birth_year = nil; 
def.$initialize = function(name, age) { 
var self = this; 
self.name = name; 
return self.byear = $scope.get('Time').$now().$year()['$-'](age); 
}; 
return (def.$welcome_message = function() { 
var self = this; 
return "Hi " + (self.name) + ", you were born in " + (self.byear); 
}, nil) && 'welcome_message';
puts User.new('Ryan', 29).welcome 
return self.$puts($scope.get('User').$new("Ryan", 29).$welcome());
SOURCE MAPS
FRAMEWORK BLACK BOXING
OPAL-IRB
RUBYSPECS
PERFORMANCE 
JS Opal 
Class+Method Call 100x Array Push to_json vs JSON.stringify 
benchmarks: 
https://github.com/ryanstout/opal_benchmarks
JS BRIDGE 
def my_alert(msg) 
`alert(msg);` 
end
COMPLEXITY 
JS Bridge 
Performance 
File Size 
Debugging 
Complexity 
Base Language 
this 
Type Coersion 
No Std Lib 
WTF’s 
Falseness 
Base Language 
JavaScript Compiled Ruby
COMPLEXITY 
Debugging 
Base Language 
this 
Type Coersion 
No Std Lib 
WTF’s 
Falseness 
Base Language 
JavaScript Compiled Ruby
VOLT
COLLECTIONS 
page 
store 
params 
local_store 
cookies
MVC 
Controller 
View 
Model
MVVM 
Controller/ 
Model ViewModel View
DEMO
COMPONENTS 
Client code + Assets + Server Code 
Can be packaged as Gems 
Can provide “tags” 
<:pagination page="{{ params._page }}" />
EXAMPLE COMPONENTS 
Field Error Messages 
Pagination 
File Upload 
Google Maps 
Login/Signup Templates
TASKS 
class CompleteTask < Volt::TaskHandler 
def complete 
store._todos.each do |todo| 
todo._complete = true 
end 
end 
end
VALIDATIONS & 
PERMISSIONS
RECAP 
Auto-Sync 
Less HTTP/REST 
One Language 
Components 
Single Framework 
Centralized State 
Unified Router
RECAP
RECAP
GETTING STARTED WITH VOLT 
Video Tutorials 
Docs 
Gitter Chat
STATUS
ROAD MAP 
More DataStores 
Rails Integration (for legacy :-) 
Render HTML First (for SEO/Load Time) 
RubyMotion Integration
SPONSORSHIP
Thanks
voltframework.com 
Thanks! 
@RYANSTOUT & @VOLTFRAMEWORK 
images: 
https://www.flickr.com/photos/haquintero/14694249897 
https://www.flickr.com/photos/38535102@N04/12273961146

Weitere Àhnliche Inhalte

Was ist angesagt?

Deploying a Location-Aware Ember Application
Deploying a Location-Aware Ember ApplicationDeploying a Location-Aware Ember Application
Deploying a Location-Aware Ember ApplicationBen Limmer
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaExoLeaders.com
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScriptNone
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkJeremy Kendall
 
Bullet: The Functional PHP Micro-Framework
Bullet: The Functional PHP Micro-FrameworkBullet: The Functional PHP Micro-Framework
Bullet: The Functional PHP Micro-FrameworkVance Lucas
 
Keeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro FrameworkKeeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro FrameworkJeremy Kendall
 
Modern Perl
Modern PerlModern Perl
Modern PerlDave Cross
 
Beyond MVC: from Model to Domain
Beyond MVC: from Model to DomainBeyond MVC: from Model to Domain
Beyond MVC: from Model to DomainJeremy Cook
 
Workshop 6: Designer tools
Workshop 6: Designer toolsWorkshop 6: Designer tools
Workshop 6: Designer toolsVisual Engineering
 
Creating native apps with WordPress
Creating native apps with WordPressCreating native apps with WordPress
Creating native apps with WordPressMarko Heijnen
 
Ruby on Rails äž­çŽšè€…ă‚’ç›źæŒ‡ă—ăŠ - 性栎毧歐
Ruby on Rails äž­çŽšè€…ă‚’ç›źæŒ‡ă—ăŠ - 性栎毧歐Ruby on Rails äž­çŽšè€…ă‚’ç›źæŒ‡ă—ăŠ - 性栎毧歐
Ruby on Rails äž­çŽšè€…ă‚’ç›źæŒ‡ă—ăŠ - 性栎毧歐Yasuko Ohba
 
Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009pratiknaik
 
End to-End CoffeeScript
End to-End CoffeeScriptEnd to-End CoffeeScript
End to-End CoffeeScriptTrevorBurnham
 
Symfony bundle fo asynchronous job processing
Symfony bundle fo asynchronous job processingSymfony bundle fo asynchronous job processing
Symfony bundle fo asynchronous job processingWojciech CioƂko
 
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right ReasonsPerl: Hate it for the Right Reasons
Perl: Hate it for the Right ReasonsMatt Follett
 
Practical PHP 5.3
Practical PHP 5.3Practical PHP 5.3
Practical PHP 5.3Nate Abele
 
Hello World on Slim Framework 3.x
Hello World on Slim Framework 3.xHello World on Slim Framework 3.x
Hello World on Slim Framework 3.xRyan Szrama
 
(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014
(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014
(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014Amazon Web Services
 

Was ist angesagt? (20)

Deploying a Location-Aware Ember Application
Deploying a Location-Aware Ember ApplicationDeploying a Location-Aware Ember Application
Deploying a Location-Aware Ember Application
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with Karma
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
Introduction to es6
Introduction to es6Introduction to es6
Introduction to es6
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
 
Bullet: The Functional PHP Micro-Framework
Bullet: The Functional PHP Micro-FrameworkBullet: The Functional PHP Micro-Framework
Bullet: The Functional PHP Micro-Framework
 
Keeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro FrameworkKeeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro Framework
 
Step objects
Step objectsStep objects
Step objects
 
Modern Perl
Modern PerlModern Perl
Modern Perl
 
Beyond MVC: from Model to Domain
Beyond MVC: from Model to DomainBeyond MVC: from Model to Domain
Beyond MVC: from Model to Domain
 
Workshop 6: Designer tools
Workshop 6: Designer toolsWorkshop 6: Designer tools
Workshop 6: Designer tools
 
Creating native apps with WordPress
Creating native apps with WordPressCreating native apps with WordPress
Creating native apps with WordPress
 
Ruby on Rails äž­çŽšè€…ă‚’ç›źæŒ‡ă—ăŠ - 性栎毧歐
Ruby on Rails äž­çŽšè€…ă‚’ç›źæŒ‡ă—ăŠ - 性栎毧歐Ruby on Rails äž­çŽšè€…ă‚’ç›źæŒ‡ă—ăŠ - 性栎毧歐
Ruby on Rails äž­çŽšè€…ă‚’ç›źæŒ‡ă—ăŠ - 性栎毧歐
 
Lessons Learnt in 2009
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009
 
End to-End CoffeeScript
End to-End CoffeeScriptEnd to-End CoffeeScript
End to-End CoffeeScript
 
Symfony bundle fo asynchronous job processing
Symfony bundle fo asynchronous job processingSymfony bundle fo asynchronous job processing
Symfony bundle fo asynchronous job processing
 
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right ReasonsPerl: Hate it for the Right Reasons
Perl: Hate it for the Right Reasons
 
Practical PHP 5.3
Practical PHP 5.3Practical PHP 5.3
Practical PHP 5.3
 
Hello World on Slim Framework 3.x
Hello World on Slim Framework 3.xHello World on Slim Framework 3.x
Hello World on Slim Framework 3.x
 
(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014
(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014
(DEV305) Building Apps with the AWS SDK for PHP | AWS re:Invent 2014
 

Ähnlich wie Isomorphic App Development with Ruby and Volt - Rubyconf2014

Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011Nick Sieger
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on RailsDelphiCon
 
WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)Igor Khotin
 
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyConnecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyNick Sieger
 
Play framework
Play frameworkPlay framework
Play frameworkAndrew Skiba
 
Building and Distributing PostgreSQL Extensions Without Learning C
Building and Distributing PostgreSQL Extensions Without Learning CBuilding and Distributing PostgreSQL Extensions Without Learning C
Building and Distributing PostgreSQL Extensions Without Learning CDavid Wheeler
 
SproutCore and the Future of Web Apps
SproutCore and the Future of Web AppsSproutCore and the Future of Web Apps
SproutCore and the Future of Web AppsMike Subelsky
 
The Art and Science of Shipping Ember Apps
The Art and Science of Shipping Ember AppsThe Art and Science of Shipping Ember Apps
The Art and Science of Shipping Ember AppsJesse Cravens
 
Object Oriented Programming In JavaScript
Object Oriented Programming In JavaScriptObject Oriented Programming In JavaScript
Object Oriented Programming In JavaScriptForziatech
 
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryRemedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa
 
JavaScript Basics - GameCraft Training
JavaScript Basics - GameCraft TrainingJavaScript Basics - GameCraft Training
JavaScript Basics - GameCraft TrainingRadoslav Georgiev
 
HTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyHTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyDavid Padbury
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Railsbryanbibat
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developergicappa
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Racksickill
 
Associations & JavaScript
Associations & JavaScriptAssociations & JavaScript
Associations & JavaScriptJoost Elfering
 
Introducing ruby on rails
Introducing ruby on railsIntroducing ruby on rails
Introducing ruby on railsPriceen
 

Ähnlich wie Isomorphic App Development with Ruby and Volt - Rubyconf2014 (20)

Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
 
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)WDB005.1 - JavaScript for Java Developers (Lecture 1)
WDB005.1 - JavaScript for Java Developers (Lecture 1)
 
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyConnecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRuby
 
Play framework
Play frameworkPlay framework
Play framework
 
Building and Distributing PostgreSQL Extensions Without Learning C
Building and Distributing PostgreSQL Extensions Without Learning CBuilding and Distributing PostgreSQL Extensions Without Learning C
Building and Distributing PostgreSQL Extensions Without Learning C
 
SproutCore and the Future of Web Apps
SproutCore and the Future of Web AppsSproutCore and the Future of Web Apps
SproutCore and the Future of Web Apps
 
Play vs Rails
Play vs RailsPlay vs Rails
Play vs Rails
 
The Art and Science of Shipping Ember Apps
The Art and Science of Shipping Ember AppsThe Art and Science of Shipping Ember Apps
The Art and Science of Shipping Ember Apps
 
"Javascript" por Tiago Rodrigues
"Javascript" por Tiago Rodrigues"Javascript" por Tiago Rodrigues
"Javascript" por Tiago Rodrigues
 
Object Oriented Programming In JavaScript
Object Oriented Programming In JavaScriptObject Oriented Programming In JavaScript
Object Oriented Programming In JavaScript
 
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryRemedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
 
JavaScript Basics - GameCraft Training
JavaScript Basics - GameCraft TrainingJavaScript Basics - GameCraft Training
JavaScript Basics - GameCraft Training
 
HTML5 for the Silverlight Guy
HTML5 for the Silverlight GuyHTML5 for the Silverlight Guy
HTML5 for the Silverlight Guy
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Ruby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developerRuby on Rails survival guide of an aged Java developer
Ruby on Rails survival guide of an aged Java developer
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Rack
 
Associations & JavaScript
Associations & JavaScriptAssociations & JavaScript
Associations & JavaScript
 
Introducing ruby on rails
Introducing ruby on railsIntroducing ruby on rails
Introducing ruby on rails
 

Mehr von ryanstout

Neural networks - BigSkyDevCon
Neural networks - BigSkyDevConNeural networks - BigSkyDevCon
Neural networks - BigSkyDevConryanstout
 
Reactive programming
Reactive programmingReactive programming
Reactive programmingryanstout
 
Concurrency Patterns
Concurrency PatternsConcurrency Patterns
Concurrency Patternsryanstout
 
EmberJS
EmberJSEmberJS
EmberJSryanstout
 
Practical Machine Learning and Rails Part2
Practical Machine Learning and Rails Part2Practical Machine Learning and Rails Part2
Practical Machine Learning and Rails Part2ryanstout
 
Practical Machine Learning and Rails Part1
Practical Machine Learning and Rails Part1Practical Machine Learning and Rails Part1
Practical Machine Learning and Rails Part1ryanstout
 
Intro to Advanced JavaScript
Intro to Advanced JavaScriptIntro to Advanced JavaScript
Intro to Advanced JavaScriptryanstout
 

Mehr von ryanstout (7)

Neural networks - BigSkyDevCon
Neural networks - BigSkyDevConNeural networks - BigSkyDevCon
Neural networks - BigSkyDevCon
 
Reactive programming
Reactive programmingReactive programming
Reactive programming
 
Concurrency Patterns
Concurrency PatternsConcurrency Patterns
Concurrency Patterns
 
EmberJS
EmberJSEmberJS
EmberJS
 
Practical Machine Learning and Rails Part2
Practical Machine Learning and Rails Part2Practical Machine Learning and Rails Part2
Practical Machine Learning and Rails Part2
 
Practical Machine Learning and Rails Part1
Practical Machine Learning and Rails Part1Practical Machine Learning and Rails Part1
Practical Machine Learning and Rails Part1
 
Intro to Advanced JavaScript
Intro to Advanced JavaScriptIntro to Advanced JavaScript
Intro to Advanced JavaScript
 

KĂŒrzlich hochgeladen

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vĂĄzquez
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Christopher Logan Kennedy
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

KĂŒrzlich hochgeladen (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Isomorphic App Development with Ruby and Volt - Rubyconf2014