SlideShare ist ein Scribd-Unternehmen logo
1 von 92
Downloaden Sie, um offline zu lesen
@hiimtaylorjones
Hi.
@hiimtaylorjones
My Name Is
Taylor Jones
@hiimtaylorjones
This is a talk called:
Webpacking For
The Journey
Ahead
@hiimtaylorjones
Here’s a quick
introduction on
me
Before we start,
@hiimtaylorjones
I’m on the
internet.
@hiimtaylorjones
hiimtaylorjones.com
@hiimtaylorjones
I’m trying to
figure this
thing out.
@hiimtaylorjones
Current
Prince of
the House:
@hiimtaylorjones
I Create Things
for
We’re located in
Orlando, FL
We’re Hiring!
@hiimtaylorjones
Now back to the talk.
@hiimtaylorjones
This talk is largely
based around
Webpack
As you might have guessed,
@hiimtaylorjones
This talk is about:
More specifically,
+
@hiimtaylorjones
How well do
they actually
work together?
We’ll ask:
@hiimtaylorjones
Why would we
want to bind them
to each other?
We’ll also ask:
@hiimtaylorjones
Here’s a quick primer
on it.
Confused about Webpack?
🤓📖
@hiimtaylorjones
What is Webpack?
• Used as a means for bundling together modules of
javascript-based code. 

• Takes multiple bundles and optimizes them based on your
preferences

• Takes dependency-driven code and converts it into static
assets that are optimized for direct consumption by web
clients.
@hiimtaylorjones
TLDR
@hiimtaylorjones
Webpack makes
compiling, delivering,
and optimizing frontend
codebases a lot easier.
Webpack
Frontend Codebase
Static Assets
How Webpack Works
.hbs .js
.jsx .sass
.js
.css
.html
.jpg
.png
.jpg.png
@hiimtaylorjones
Webpack
Abstract Languages
Browser Languages
How Webpack Works
.hbs .js
.jsx .sass
.js
.css
.html
.jpg
.png
.jpg.png
@hiimtaylorjones
@hiimtaylorjones
The goal is generating
code that’s optimized for
execution by the browser.
@hiimtaylorjones
jQuery.min.js
jQuery
vs
Remember this?
@hiimtaylorjones
Bootstrap.min.js
Bootstrap
vs
What about this?
@hiimtaylorjones
Making a library .min
was the old idea of
library optimization.
@hiimtaylorjones
What is the “minifiying”
process like?
@hiimtaylorjones
Remove spaces?
We could
@hiimtaylorjones
@hiimtaylorjones
Drop dependencies
we don’t want to
use?
We could
@hiimtaylorjones
@hiimtaylorjones
@hiimtaylorjones
Preload external
network
dependencies /
downloads? fonts
frameworks
images
We could
@hiimtaylorjones
The experience
between tools was
inconsistent.
Some tools had all of these things,
others didn’t.
@hiimtaylorjones
Webpack has found
popularity because
it helps remedy this
issue.
@hiimtaylorjones
The One-Stop Shop
for all your frontend
optimization needs.
Webpack:
@hiimtaylorjones
Webpack has support for
Javascript out-of-the box
@hiimtaylorjones
What about the thousand
other languages and
frameworks we use on the
frontend?
@hiimtaylorjones
Webpack’s true utility is rooted
in its ecosystem of community
plugins that extends its reach
beyond just Javascript.
@hiimtaylorjones
All of this begs
similar comparisons
of Ruby’s gem
ecosystem.
@hiimtaylorjones
Ruby Gems
vs.
Webpack Plugins
@hiimtaylorjones
Gem
Rails
Sass
Ruby Gem Example
The gem provides an interface for Sass
to be complied and understood by Rails.
@hiimtaylorjones
PluginWebpack Sass
Webpack Plugin Example
A similar journey happens with Webpack plugins.
@hiimtaylorjones
Webpack is
hard to classify.
@hiimtaylorjones
Is Webpack a
compiler?
@hiimtaylorjones
Is It something
else entirely?
@hiimtaylorjones
Webpack
Compiles and
Optimizes Your
Code
@hiimtaylorjones
Webpack:
The Extendable
Compiler
@hiimtaylorjones
Extendable Webpack
•Webpack only understands Javascript. It can only
“bundle” JS assets. 

•We create Loaders to help teach Webpack how to
compile more complex languages and
configurations

•Plugins are created to help compress, minify, and
manipulate existing bundles.
@hiimtaylorjones
The End Goal of
This is Code
Optimized for
Browser Execution
@hiimtaylorjones
So, let’s say we’re all
sold on Webpack.
@hiimtaylorjones
Why Integrate it
Directly Into
Rails? Why not just use it outside of Rails?
Why not just keep using those
various language gems you’ve
installed over the years?
@hiimtaylorjones
The Asset Pipeline
This all boils down to:
@hiimtaylorjones
A Brief History of The Asset Pipeline
• Introduced around Rails 3.1(Railsconf
2011)

• Was a solution to the problem of
disorganized and scattered javascript
and css files in Rails.

• A variety of features have been built
around it and its become the foundation
for how Rails handles Javascript-like
pieces of code.
@hiimtaylorjones
Why The Asset Pipeline?
•Organizing Javascript

•Supporting new languages via
gem interfaces. (Remember the
example before?)

•Using your selected wrappers and
languages to tie directly into Rails
generator functions.
🤔 🤔
🤔
@hiimtaylorjones
Concatenate
Minify
Preprocess
Three Pillars of the Asset Pipeline
@hiimtaylorjones
How Processing Works with Gems
This allows for us to write more “abstract” code in Sass that
directly compiles to CSS and is automatically inserted into
the Asset Pipeline for optimization.
Sass CSS Optimized CSS
@hiimtaylorjones
Wait a second.
This sounds very
familiar to Webpack.
@hiimtaylorjones
rake assets:precompile
More specifically, we can use:
This performs much of the core
functionality of Webpack, right?
@hiimtaylorjones
These ideas are really
similar to Webpack!
@hiimtaylorjones
Webpacker and The
Asset Pipeline are very
similar tools used by
two different
communities.
@hiimtaylorjones
In recent years, Rails
Javascript and non-Rails
Javascript development
has started to look quite
similar.
WebpackBunch of JS Code Static Assets
Webpack
@hiimtaylorjones
Asset Pipeline
JS File
JS Manifest
Asset Pipeline
CSS Manifest
JS File
JS File
JS File
JS File JS File
CSS File
CSS File
CSS File
CSS File
CSS File
CSS File
@hiimtaylorjones
@hiimtaylorjones
Think about the
input and the
output.
@hiimtaylorjones
Webpack and the Asset
Pipeline have similar
approaches towards
optimizing assets.
This is why they’re candidates to work well
together. Adding Webpacker allows Rails to
support more modern iterations of frontend
languages better and faster.
@hiimtaylorjones
Why do we need
a Webpack Gem
for Rails?
@hiimtaylorjones
Why not just
use Webpack
by itself?
@hiimtaylorjones
For the sake of having a
consistent option for
those that use Webpack.
@hiimtaylorjones
Rails thrives on consistency.
Having a community supported
option for Webpack helps smooth
out any differences in
implementations we might find.
@hiimtaylorjones
Better, faster, stronger
support for frontend
languages that don’t require a
gem library to be supported.
@hiimtaylorjones
Little to no translation is
required for existing
Webpack projects to
come live in Rails.
@hiimtaylorjones
Making Rails more
accessible for those who
love using Webpack.
@hiimtaylorjones
Encouraging existing Rails
user’s to have easy
access to getting started
with Webpack.
@hiimtaylorjones
A lot of the emphasis and
interest in Webpack is
based around buying into
new ideas.
@hiimtaylorjones
For those who are bought
into Webpack, we want an
easier way for them to buy
into Rails.
@hiimtaylorjones
For those who are bought
into Rails, we want an
easier path to buying into
Webpack.
@hiimtaylorjones
Turbolinks
I want to take a second to talk about:
@hiimtaylorjones
Turbolinks has been a project
that works really well for
some folks but isn’t really
cared for by others.
This is a absolutely ok.
@hiimtaylorjones
You not only have to work to
introduce a new idea, but
you also have to sell it to
others.
Both of these are really hard.
@hiimtaylorjones
Stimulus
Today, we’ve got
Its probably going to deal with the same stuff.
Again, this is normal!
@hiimtaylorjones
Webpack integration (via
Webpacker) is special because its
taking something that’s already
been successful in a community
setting and giving it a means to
bind with Rails.
A lot less selling is required.
@hiimtaylorjones
Architectural
Concerns
This brings up some
@hiimtaylorjones
Instead of being separate
things that are more
Microservice-like, you’re
moving towards Monolothic
territory.
@hiimtaylorjones
The Majestic
Monolith
@hiimtaylorjones
The Mighty
Microservice
Ecosystem
@hiimtaylorjones
Non-Webpack
Citizens.
Lastly, let’s talk about
@hiimtaylorjones
All of this makes
sense if you use a
Webpack-friendly
framework.
@hiimtaylorjones
What about those
who don’t use
Webpack?
@hiimtaylorjones
Does this mean that
Rails has first-class
support for Webpack-
friendly frameworks?
@hiimtaylorjones
EmberJS❤
@hiimtaylorjones
Ideally, it would be
amazing to see
something similar come
for Broccoli
@hiimtaylorjones
That way Rails could
eventually have options
for every kind of
framework out there!
@hiimtaylorjones
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

La build your own website september 5
La build your own website september 5La build your own website september 5
La build your own website september 5
Thinkful
 

Was ist angesagt? (20)

WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webapps
 
An Illustrated History of Blackhat SEO
An Illustrated History of Blackhat SEOAn Illustrated History of Blackhat SEO
An Illustrated History of Blackhat SEO
 
Facebook Coin
Facebook CoinFacebook Coin
Facebook Coin
 
State of WordPress & eCommerce in 2012
State of WordPress & eCommerce in 2012State of WordPress & eCommerce in 2012
State of WordPress & eCommerce in 2012
 
Debugging rendering problems at scale
Debugging rendering problems at scaleDebugging rendering problems at scale
Debugging rendering problems at scale
 
Modeling Rich Narrative Content
Modeling Rich Narrative ContentModeling Rich Narrative Content
Modeling Rich Narrative Content
 
La build your own website september 5
La build your own website september 5La build your own website september 5
La build your own website september 5
 
Speed Matters!
Speed Matters!Speed Matters!
Speed Matters!
 
Mobile Web Performance - Getting and Staying Fast
Mobile Web Performance -  Getting and Staying FastMobile Web Performance -  Getting and Staying Fast
Mobile Web Performance - Getting and Staying Fast
 
How To Build An Accessible Web Application - a11yBos
How To Build An Accessible Web Application - a11yBosHow To Build An Accessible Web Application - a11yBos
How To Build An Accessible Web Application - a11yBos
 
How I learned to stop worrying and love the .htaccess file
How I learned to stop worrying and love the .htaccess fileHow I learned to stop worrying and love the .htaccess file
How I learned to stop worrying and love the .htaccess file
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
 
The Case for HTTP/2
The Case for HTTP/2The Case for HTTP/2
The Case for HTTP/2
 
Semantic HTML5
Semantic HTML5Semantic HTML5
Semantic HTML5
 
Get 900 + oneway links for Free
Get 900 + oneway links for FreeGet 900 + oneway links for Free
Get 900 + oneway links for Free
 
Word campgr stop selling seo namtrok
Word campgr stop selling seo namtrokWord campgr stop selling seo namtrok
Word campgr stop selling seo namtrok
 
HTML Design for Devices
HTML Design for DevicesHTML Design for Devices
HTML Design for Devices
 
HTML5 and the web of tomorrow!
HTML5  and the  web of tomorrow!HTML5  and the  web of tomorrow!
HTML5 and the web of tomorrow!
 
TFM - Using Google Tag Manager for ecom
TFM - Using Google Tag Manager for ecom TFM - Using Google Tag Manager for ecom
TFM - Using Google Tag Manager for ecom
 
Battle for the Body Field (DrupalCon)
Battle for the Body Field (DrupalCon)Battle for the Body Field (DrupalCon)
Battle for the Body Field (DrupalCon)
 

Ähnlich wie RailsConf 2018 - Webpacking for the Journey Ahead

When to use Machine Learning Models in SEO and Which ones to use - Lazarina S...
When to use Machine Learning Models in SEO and Which ones to use - Lazarina S...When to use Machine Learning Models in SEO and Which ones to use - Lazarina S...
When to use Machine Learning Models in SEO and Which ones to use - Lazarina S...
LazarinaStoyanova
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
jward5519
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
jward5519
 

Ähnlich wie RailsConf 2018 - Webpacking for the Journey Ahead (20)

Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021
Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021
Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021
 
Optimizing Your WordPress Site
Optimizing Your WordPress SiteOptimizing Your WordPress Site
Optimizing Your WordPress Site
 
Web Components - Rutgers Tech Meetup Fall 2014
Web Components - Rutgers Tech Meetup Fall 2014Web Components - Rutgers Tech Meetup Fall 2014
Web Components - Rutgers Tech Meetup Fall 2014
 
Everything That Can Go Wrong Will Go Wrong - Tech SEO Boost 2017 - Patrick Stox
Everything That Can Go Wrong Will Go Wrong - Tech SEO Boost 2017 - Patrick StoxEverything That Can Go Wrong Will Go Wrong - Tech SEO Boost 2017 - Patrick Stox
Everything That Can Go Wrong Will Go Wrong - Tech SEO Boost 2017 - Patrick Stox
 
When to use Machine Learning Models in SEO and Which ones to use - Lazarina S...
When to use Machine Learning Models in SEO and Which ones to use - Lazarina S...When to use Machine Learning Models in SEO and Which ones to use - Lazarina S...
When to use Machine Learning Models in SEO and Which ones to use - Lazarina S...
 
WordPress SEO 101
WordPress SEO 101WordPress SEO 101
WordPress SEO 101
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
 
Scaling automated quality text generation for enterprise sites
Scaling automated quality text generation for enterprise sitesScaling automated quality text generation for enterprise sites
Scaling automated quality text generation for enterprise sites
 
A Power User's intro to jQuery awesomeness in SharePoint
A Power User's intro to jQuery awesomeness in SharePointA Power User's intro to jQuery awesomeness in SharePoint
A Power User's intro to jQuery awesomeness in SharePoint
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
 
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...
How to build simple web apps to automate your SEO tasks - BrightonSEO Spring ...
 
Emily Mace BrightonSEO Talk September 2017
Emily Mace BrightonSEO Talk September 2017Emily Mace BrightonSEO Talk September 2017
Emily Mace BrightonSEO Talk September 2017
 
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon PainterRapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
 
Panther: test your Symfony apps with real web browsers
Panther: test your Symfony apps with real web browsersPanther: test your Symfony apps with real web browsers
Panther: test your Symfony apps with real web browsers
 
A Deep Dive Into SEO Tactics For Modern Javascript Frameworks
A Deep Dive Into SEO Tactics For Modern Javascript FrameworksA Deep Dive Into SEO Tactics For Modern Javascript Frameworks
A Deep Dive Into SEO Tactics For Modern Javascript Frameworks
 
A Tale of 3 CLIs - Angular 2, Ember, and React
A Tale of 3 CLIs - Angular 2, Ember, and ReactA Tale of 3 CLIs - Angular 2, Ember, and React
A Tale of 3 CLIs - Angular 2, Ember, and React
 
Progressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesProgressively Enhancing WordPress Themes
Progressively Enhancing WordPress Themes
 
Winning SEO when doing Web Migrations #SEO4Life
Winning SEO when doing Web Migrations #SEO4LifeWinning SEO when doing Web Migrations #SEO4Life
Winning SEO when doing Web Migrations #SEO4Life
 
HTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutionsHTML5 - Moving from hacks to solutions
HTML5 - Moving from hacks to solutions
 

Kürzlich hochgeladen

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 

Kürzlich hochgeladen (20)

notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Air Compressor reciprocating single stage
Air Compressor reciprocating single stageAir Compressor reciprocating single stage
Air Compressor reciprocating single stage
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 

RailsConf 2018 - Webpacking for the Journey Ahead