SlideShare a Scribd company logo
Intro to Ruby/Rails
Ruby vs. Rails
Ruby Rails
Ruby, Don't Take Your Love To Town
Ruby is "an interpreted scripting language for
quick and easy object-oriented programming“
Ruby‘s Arms
▪ interpreted
– powerful string operations and regular expressions
>> puts "Let's go" + " Nats!“
Let's go Nats!
– not compiled
▪ quick and easy
– variable declarations are unnecessary (random_statement = “this is a string”)
– it's all about happiness
▪ object oriented
– everything is an object ("hey does that mean that __ is an ob--" "yes“)
– classes, methods, inheritance
MINASWAN
▪ Yukihiro "Matz" Matsumoto
▪ “You want to enjoy life, don't
you? If you get your job done
quickly and your job is fun,
that's good isn't it?That's the
purpose of life, partly.Your life
is better.”
It’s really hard to avoid railroad puns
Rails is a “web application development framework written in
the Ruby language. It is designed to make programming web
applications easier by making assumptions about what every
developer needs to get started.”
Working on the Rails Road
▪ back end platform
– runs on a web server (server-side)
– interacts with front-end (in the browser, client-side) elements (HTML,CSS,
JavaScript)
▪ convention over configuration
– Rails expects you to follow certain conventions in exchange for sparing you time
spent on configuration
– easier to collaborate & increased productivity
▪ points of confusion
– when there's no convention
– changing the default
– Rails magic and obscurity
If Rails is the Creature
▪ David Heinemeier Hansson
(DHH)
▪ Drives racecars
▪ Created Rails for speed, self-
reliance, and programmer
happiness
▪ "If we don't have toys, we're
just adults."
Do I have to learn Ruby for Rails?
Yes
-- sort of
Let’s practice!
http://repl.it/
Common Ruby Data Types
▪ Numbers (Fixnum & Float)
– 120 & -1234 3.1415926 & 0.01
▪ Strings
– “I am a string.” “5” “true”
▪ Array
– [1, 2, 3, 4] [“apple”, “peach”, 8, “banana”, 1.0]
▪ Hash
– { “Jon Snow” => “Stark”, “Arya” => “Stark”, “Oberyn” => “Martell” }
– { “Dzhoy” => 86, “Paris” => 65, “Tiana” => 92, “Herve” => 45 }
Numbers
▪ Trying running the following code in the REPL (you can use your own
numbers, but make sure you use the same numbers each time)
print 4 / 2
print 4 % 2
print 4.0 / 2.0
print 4.0 % 2.0
▪ What output do you get? Can you venture a guess why?
Strings
▪ Lines of text composed of characters
>> puts "Let's go" + " Nats!“
Let's go Nats!
Variables
▪ Variables in math and programming are pretty similar
▪ Placeholders that represent or point to some value
– x = 5 name = “Tom Marvolo Riddle” numbers = [1, 2, 3, 4]
▪ Can be re-written/overwritten
name = “I am LordVoldemort”
Strings
▪ Lines of text composed of characters
>> puts "Let's go" + " Nats!“
Let's go Nats!
▪ Makes string interpolation easy by evaluating between the brackets
– x = 5 y = 10 “I ate #{x+y} grapes.” => “I ate 15 grapes.”
▪ Create a variable called name, assigned to a string of your name
▪ Create a variable assigned to the name of the person next to you
▪ Once you’ve done it in person, how would you introduce yourself to each
other in Ruby code using the variables?
▪ http://ruby-doc.org/core-2.2.0/String.html
Arrays
▪ Ordered collections of things: [“apple”, “peach”, 8, “banana”, 1.0]
▪ Items are accessed by the index number of the thing in square brackets : [#]
▪ Make an array of at least five things
– How do you access the fifth/last item?
– Given what you know about variables and accessing items, change the second element to
“banana”
– With this syntax, how might we add a new element to the array?
– Tough one: How would you delete “banana”?
▪ http://ruby-doc.org/core-2.2.0/Array.html
Hashes
▪ A collection of unique keys and their values
grades = { “Dzhoy” => 86, “Paris” => 65, “Tiana” => 92, “Herve” => 45 }
▪ Items are accessed with brackets just like arrays : [index]
▪ Make a hash of at least five things
– How do you access the fifth/last item?
– Given what you know about variables and accessing items, change the value of
the second key to “banana”
– With this syntax, how might we add a new element to the hash?
– Tough one: How would you delete “banana”?
▪ http://ruby-doc.org/core-2.2.0/Hash.html
Methods
▪ +, delete, print
def method_name(input)
what you want the method to do
end
▪ You call a method by its name and any input you’re providing
double_numbers ([1, 2, 5])
▪ Create a method that will take in a person’s name and return or print
out a greeting (ex: “Hello ______, nice to meet you!”)
– Hint: string interpolation (x = 5 y = 10 “I ate #{x+y} grapes.” => “I ate 15 grapes.”)
– Call your method a few times, passing it a different name each time
Iteration
▪ Hugely important bit of Ruby when making a Rails app
▪ Where the program loops through a set of things and performs an action
▪ syntax
variable.each do |x|
x.something (do this thing to each one)
end
names = ["joHN", "shaNNon", "Tyson", "lily"]
names.each do |name|
puts name.capitalize
end
Back to Rails
Is it the Only Game in Town?
Is it the Only Game in Town?
Who Uses Rails?
Intro to Ruby/Rails at TechLady Hackathon
Intro to Ruby/Rails at TechLady Hackathon
Intro to Ruby/Rails at TechLady Hackathon
Is Rails Good for Everything?
Is Rails Good for Everything?
Resources
▪ Free
– Codecademy
– CodeSchool (partly)
– http://bit.ly/1T8IoL2 (Women Who Code DC Rails resource list)
– Railstutorial.org (free to read online)
– Jumpstart Labs Blogger
▪ Paid
– Udemy
– Udacity
– TeamTreeHouse (free trial option)
▪ Local Meetups
– Women Who Code DC (join our slack!)
– DCRUG (DC Ruby User’s Group)
– Arlington Ruby
– Ruby LoCo
Katherine McClintic
Software Engineer.Teacher. Musician. Fencer.
Person who likes to take things apart and usually
puts them back together in working order-er.
@scarletalphabet
Rails Lead forWomenWho Code DC meetup
http://installrails.com/

More Related Content

PDF
CoffeeScript - JavaScript in a simple way
PDF
Ruby for Beginners
ODP
Intro to Ruby Variables
KEY
Intro to Ruby - Twin Cities Code Camp 7
PDF
Intro To Ruby
KEY
Intro to Ruby
PDF
Intro to Ruby on Rails
PDF
Ruby An Introduction
CoffeeScript - JavaScript in a simple way
Ruby for Beginners
Intro to Ruby Variables
Intro to Ruby - Twin Cities Code Camp 7
Intro To Ruby
Intro to Ruby
Intro to Ruby on Rails
Ruby An Introduction

Similar to Intro to Ruby/Rails at TechLady Hackathon (20)

PDF
Learning Ruby
PDF
Playfulness at Work
PDF
Saigon Ruby Meetup 06/10/2015 - 5 Random Ruby Tips
PPTX
Code for Startup MVP (Ruby on Rails) Session 2
PDF
Arulalan Ruby An Intro
PDF
[Start] Scala
PDF
Ruby for Java Developers
PDF
Rails Is From Mars Ruby Is From Venus Presentation 1
PDF
Bhavesh ro r
PDF
Dynamic languages, for software craftmanship group
PDF
IJTC%202009%20JRuby
PDF
IJTC%202009%20JRuby
PDF
Spoiling The Youth With Ruby (Euruko 2010)
KEY
An introduction to Ruby
KEY
Test First Teaching
PDF
Ruby 程式語言綜覽簡介
KEY
Introducing Ruby
PPTX
Ruby -the wheel Technology
PDF
Ruby presentasjon på NTNU 22 april 2009
Learning Ruby
Playfulness at Work
Saigon Ruby Meetup 06/10/2015 - 5 Random Ruby Tips
Code for Startup MVP (Ruby on Rails) Session 2
Arulalan Ruby An Intro
[Start] Scala
Ruby for Java Developers
Rails Is From Mars Ruby Is From Venus Presentation 1
Bhavesh ro r
Dynamic languages, for software craftmanship group
IJTC%202009%20JRuby
IJTC%202009%20JRuby
Spoiling The Youth With Ruby (Euruko 2010)
An introduction to Ruby
Test First Teaching
Ruby 程式語言綜覽簡介
Introducing Ruby
Ruby -the wheel Technology
Ruby presentasjon på NTNU 22 april 2009

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Empathic Computing: Creating Shared Understanding
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Empathic Computing: Creating Shared Understanding
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
Per capita expenditure prediction using model stacking based on satellite ima...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Intro to Ruby/Rails at TechLady Hackathon

  • 3. Ruby, Don't Take Your Love To Town Ruby is "an interpreted scripting language for quick and easy object-oriented programming“
  • 4. Ruby‘s Arms ▪ interpreted – powerful string operations and regular expressions >> puts "Let's go" + " Nats!“ Let's go Nats! – not compiled ▪ quick and easy – variable declarations are unnecessary (random_statement = “this is a string”) – it's all about happiness ▪ object oriented – everything is an object ("hey does that mean that __ is an ob--" "yes“) – classes, methods, inheritance
  • 5. MINASWAN ▪ Yukihiro "Matz" Matsumoto ▪ “You want to enjoy life, don't you? If you get your job done quickly and your job is fun, that's good isn't it?That's the purpose of life, partly.Your life is better.”
  • 6. It’s really hard to avoid railroad puns Rails is a “web application development framework written in the Ruby language. It is designed to make programming web applications easier by making assumptions about what every developer needs to get started.”
  • 7. Working on the Rails Road ▪ back end platform – runs on a web server (server-side) – interacts with front-end (in the browser, client-side) elements (HTML,CSS, JavaScript) ▪ convention over configuration – Rails expects you to follow certain conventions in exchange for sparing you time spent on configuration – easier to collaborate & increased productivity ▪ points of confusion – when there's no convention – changing the default – Rails magic and obscurity
  • 8. If Rails is the Creature ▪ David Heinemeier Hansson (DHH) ▪ Drives racecars ▪ Created Rails for speed, self- reliance, and programmer happiness ▪ "If we don't have toys, we're just adults."
  • 9. Do I have to learn Ruby for Rails? Yes -- sort of
  • 11. Common Ruby Data Types ▪ Numbers (Fixnum & Float) – 120 & -1234 3.1415926 & 0.01 ▪ Strings – “I am a string.” “5” “true” ▪ Array – [1, 2, 3, 4] [“apple”, “peach”, 8, “banana”, 1.0] ▪ Hash – { “Jon Snow” => “Stark”, “Arya” => “Stark”, “Oberyn” => “Martell” } – { “Dzhoy” => 86, “Paris” => 65, “Tiana” => 92, “Herve” => 45 }
  • 12. Numbers ▪ Trying running the following code in the REPL (you can use your own numbers, but make sure you use the same numbers each time) print 4 / 2 print 4 % 2 print 4.0 / 2.0 print 4.0 % 2.0 ▪ What output do you get? Can you venture a guess why?
  • 13. Strings ▪ Lines of text composed of characters >> puts "Let's go" + " Nats!“ Let's go Nats!
  • 14. Variables ▪ Variables in math and programming are pretty similar ▪ Placeholders that represent or point to some value – x = 5 name = “Tom Marvolo Riddle” numbers = [1, 2, 3, 4] ▪ Can be re-written/overwritten name = “I am LordVoldemort”
  • 15. Strings ▪ Lines of text composed of characters >> puts "Let's go" + " Nats!“ Let's go Nats! ▪ Makes string interpolation easy by evaluating between the brackets – x = 5 y = 10 “I ate #{x+y} grapes.” => “I ate 15 grapes.” ▪ Create a variable called name, assigned to a string of your name ▪ Create a variable assigned to the name of the person next to you ▪ Once you’ve done it in person, how would you introduce yourself to each other in Ruby code using the variables? ▪ http://ruby-doc.org/core-2.2.0/String.html
  • 16. Arrays ▪ Ordered collections of things: [“apple”, “peach”, 8, “banana”, 1.0] ▪ Items are accessed by the index number of the thing in square brackets : [#] ▪ Make an array of at least five things – How do you access the fifth/last item? – Given what you know about variables and accessing items, change the second element to “banana” – With this syntax, how might we add a new element to the array? – Tough one: How would you delete “banana”? ▪ http://ruby-doc.org/core-2.2.0/Array.html
  • 17. Hashes ▪ A collection of unique keys and their values grades = { “Dzhoy” => 86, “Paris” => 65, “Tiana” => 92, “Herve” => 45 } ▪ Items are accessed with brackets just like arrays : [index] ▪ Make a hash of at least five things – How do you access the fifth/last item? – Given what you know about variables and accessing items, change the value of the second key to “banana” – With this syntax, how might we add a new element to the hash? – Tough one: How would you delete “banana”? ▪ http://ruby-doc.org/core-2.2.0/Hash.html
  • 18. Methods ▪ +, delete, print def method_name(input) what you want the method to do end ▪ You call a method by its name and any input you’re providing double_numbers ([1, 2, 5]) ▪ Create a method that will take in a person’s name and return or print out a greeting (ex: “Hello ______, nice to meet you!”) – Hint: string interpolation (x = 5 y = 10 “I ate #{x+y} grapes.” => “I ate 15 grapes.”) – Call your method a few times, passing it a different name each time
  • 19. Iteration ▪ Hugely important bit of Ruby when making a Rails app ▪ Where the program loops through a set of things and performs an action ▪ syntax variable.each do |x| x.something (do this thing to each one) end names = ["joHN", "shaNNon", "Tyson", "lily"] names.each do |name| puts name.capitalize end
  • 21. Is it the Only Game in Town?
  • 22. Is it the Only Game in Town?
  • 27. Is Rails Good for Everything?
  • 28. Is Rails Good for Everything?
  • 29. Resources ▪ Free – Codecademy – CodeSchool (partly) – http://bit.ly/1T8IoL2 (Women Who Code DC Rails resource list) – Railstutorial.org (free to read online) – Jumpstart Labs Blogger ▪ Paid – Udemy – Udacity – TeamTreeHouse (free trial option) ▪ Local Meetups – Women Who Code DC (join our slack!) – DCRUG (DC Ruby User’s Group) – Arlington Ruby – Ruby LoCo
  • 30. Katherine McClintic Software Engineer.Teacher. Musician. Fencer. Person who likes to take things apart and usually puts them back together in working order-er. @scarletalphabet Rails Lead forWomenWho Code DC meetup http://installrails.com/

Editor's Notes

  • #2: Before I start, I have a question. How many of you here would say that you’ve never programmed before? How many of you with hands raised have ever used Excel? You have programmed before. Excel (and similar) is at it’s heart, programming, just on a basic but important data entry level. Welcome to a brief intro session on Ruby and Rails. I’m going to spend a little bit of time talking about the two generally, then we’ll get our hands on some actual code without having to install anything, and then I’ll leave time at the end for questions and installation issues. I’ll tweet out a link to the presentation after and post in Slack so don’t feel like you have to write anything down if you don’t want to. (3:30-4:20)
  • #3: You may have several variations of Ruby, Rails, Ruby/Rails, Ruby on Rails, or something else floating around, but what does that mean. If what I’m talking to you about is Ruby on Rails, what’s the difference? I like to think of Ruby as the raw ingredients. The flour, the sugar, the fat, and so on. You can make a great cake from scratch. But that takes a lot of time and you risk the possibility of not getting the mix exactly right. That’s where Rails comes in. Rails is a framework for Ruby, so in this analogy it’s sort of the boxed cake mix. It’s still got flour and sugar and so on inside it, but it’s packaged up to be quick easy to use. You can customize it for your own needs, but you don’t have to in order to get a great cake out of it.
  • #4: I say this mainly for the benefit of those of you with programming experience in other languages, but Ruby describes as an interpreted scripting language for quick and easy object-oriented programming. This may be your face right now and that’s okay. We’ll dive into it a bit.
  • #5: So first off, interpreted. For those of you who are coming from other languages like C or Java, Ruby is different because you don’t have to compile it first. The moment you type in a command, it reads it, parses it, and executes it. Assuming it’s a complete command anyhow. Now quick and easy. Unlike other languages where you have to tell it that an integer is an integer, or a string (bit of text) is a string, Ruby understands that automatically. Now object oriented. Ruby, like other object oriented languages, essentially functions by sending messages between objects. Even in a simple arithmetic problem like 1 + 2 you’re sending the addition message between 1 and 2 and because they’re both numbers (integers) they know what the plus sign means. Object oriented languages also make it easier to organize similar code to avoid repetition.
  • #6: Matz is Nice and so We are Nice Remember when I mentioned that Ruby is all about happiness? Well this is its creator, Matz. Every time he was faced with a decision when making Ruby where he could make it run a little faster or he could make the programmer happier, he chose happier every time.
  • #7: So on to Rails. Again, this may be your face right now and that’s okay. We’ll dive into this too a bit.
  • #8: Backend Convention over configuration When there’s no convention, people often turn to gems, prepackaged bits of code that you can add to your app. Other languages and frameworks might call them libraries or packages, or modules or something else entirely.
  • #9: So if Rails is the creation, if it’s the creature, who is Dr. Frankenstein? Well, it’s this guy. DHH as he’s known. He looks less like a member of a European boyband now, but this is still the picture of him that most places use, including his own website. Obligatory information: he drives racecars. The reason why Rails is so popular with startups is that it was created to enable small teams or individuals to build with speed, and to enjoy it. A lot like Matz’s goal with Ruby.
  • #10: So you might be wondering if you have to learn Ruby to do Rails. The answer is:
  • #11: Most of you probably want to focus on Rails, so let’s work with some elements of Ruby that will improve the ease of working with Rails. If you have a Mac I believe you should have Ruby installed already so you can open up a terminal or iTerm window, but otherwise please go to the address on the screen and click on Ruby. This is an online interpreter that will Read, Evaluate (or run) and Print your code. That’s why it’s called a REPL (a read, evaluate, print loop). There are other ones you can use for apps, but this will enable us to work some basic Ruby code without installing anything.
  • #12: FixNum == Integer
  • #13: Out of curiosity, did anyone try running it without the print statement? The print statement is just to be able to run all four lines at once but separately so it doesn’t think it’s all part of the same code block and just return the last statement it evaluates. Aside from adding and subtracting and such, how do you think that understanding Ruby numbers will help in a Rails web application? (e-commerce)
  • #14: Basically if it’s in quotes, it’s a string. Doesn’t matter if a number’s within those quotes or not. Just as a way of storing text you can see already why Ruby’s strings are important in a Rails app, but to really see the power of strings we’re going to need to take a quick detour.
  • #15: Who remembers or knows what variables are used for in math? Well they’re a great way for temporarily saving or storing a reference to something that you’re going to want to use again. Do I want to print out that name all over my page? Do I want to do some operations on that collection of numbers? Putting in the variable makes it easy.
  • #16: Back to strings. How many of you have ever played a video or computer game where you start by creating a character and giving it a name, and then as you play other characters greet you by saying something like Hello, your character’s name? Ever wondered how they do that, aside from perhaps assuming the logic behind it? Run it (or press return if you’re using your terminal) just to make sure that it works.
  • #17: Make an array of at least five things, making sure you’re setting it equal to a variable so we can access it later. Maybe your favorite foods or favorite numbers or favorite tv shows. Keep in mind what we’ve learned about how to write strings. This was a bit of a trick question. In Ruby, like many other languages, the first item is the 0th item. Sort of like a newborn exists but is 0 years old. There are other, sometimes better ways of doing this, but for consistency we’ll keep with this syntax for now. This touches on something we’ll get to creating in a bit, called methods. Methods, whether built into Ruby or what you create, are the messages you’re sending telling things what action to take. In this case, delete deletes a particular element everywhere it occurs in an array, and delete_at deletes at a particular index. How might arrays be useful in a Rails app, say in a blog? What are some things you might want to do to an array of stuff in a Rails app?
  • #18: Keys are unique, so you can’t use them more than once. So for this example I couldn’t have Paris get a grade of 65 and another grade of 87 say. Hash items are accessed just like arrays, but unlike arrays, any object can be a key. Maybe tv shows or movies and their ratings, or how you liked them on a scale of 1-10. Maybe items like food or animals or people and a brief description. This one’s a little harder to see outright, but how might hashes be useful in a Rails app? What are some things you might want to do to a hash of stuff in a Rails app? (think username => “username” password => “password” database check)
  • #19: You’ve seen some built-in Ruby methods already, like +, %, /, delete, and print. Now let’s put together some things we’ve learned already and create our own. A Ruby method starts with the abbreviation “def”, as in define. Method names in Ruby are lower-case and what’s called snake case (or connected by an underscore) if they’re more than one word. If you want your method to take any arguments, or input, you put that in parentheses after the name. The indented block of code describes what you want the method to do, and you close it all off by the word “end”. You call a method by: You can also call a method directly on something. *GO TO REPL* Say you have this shout. Doesn’t look really threatning does it. Try calling upcase on it. How about now?
  • #20: Sometimes the looping can be conditional, like “do this while this condition is true”, and sometimes it’s what you do for the whole set. The syntax looks like this. You call each on whatever variable refers to the collection, and tell it to do something for each element. The x between the pipe characters here is a kind of temporary placeholder that stands for the thing that you want to manipulate. You can name it anything, and should name it something that makes sense with the data you’re using. Why do you think I said this is super important to Rails?
  • #21: You’ve seen some elements of Ruby that are involved somehow in Rails, so let’s get back to Rails.
  • #22: While we haven’t done anything specifically with Rails, with the tech community’s focus on Rails, is Rails the only Ruby framework? The only boxed cake mix around?
  • #23: No, but, and let’s ignore the second one for a moment, it might as well be. It’s so popular compared to the next most popular one that few major companies use anything else. When trying to think of a well known company or organization that does Ruby on another framework, the only one I could come up with is the NSA, for reasons I can theorize later if you’re curious.
  • #27: Rails is popular with startups like these because it allows a small team or individual to create at least a basic version of an app fairly quickly. So why doesn’t everybody use it?
  • #28: You may have heard that Twitter was built with Rails. So where Rails falters is in scaling up to handle giant apps where hundreds of thousands of users transmit and save data at any single second.
  • #29: So Twitter had to move off of Rails. But as you’ve just seen, Rails does a pretty good job for other companies that are household names.
  • #30: Before we get to the installation part, I want to finish this off with a list of resources you might want to look into for future learning. I’ll tweet out a link to the presentation after so you don’t have to copy this all down.