Introduction To Ruby Programming Language On Linux
What's a Programming Language?
The Ruby Environment
Exercise: Ruby Environment Setup
Types of Variables
Arrays and Hashes
Creating Classes Continued
Variable Scope Revisited
Class Methods and Singletons
Exercise: Getting Acquainted with Ruby (Hello World - Conditionals)
Exercise: Practice with Nested Hashes and Iterators
Exercise: Writing Methods
Exercise: Writing a Program that Utilizes a Class
Log Parsing Program
Strings and Escapes
Filling in the MVC stubs
Reading a Log File
Building the LogEntry Class
Symbols, Strings, Comments
Modules and Mixins
Sorting Part 1
Sorting Part 2
Method Arguments Addendum
Sub Processes, etc
This course will teach the basics of the Ruby programming language. We will cover basics of installing Ruby via the package manager of CentOS and Ubuntu, as well as installing Ruby with RVM, the Ruby Version Manager. We will learn the basic syntax of Ruby, and cover how to code our own methods, classes, modules and much more. Through the Intermediate and Advanced sections of the course we will build an Apache log parsing program. We will build upon it throughout the later lessons, until we end up with a nice working log parsing program.
The basics of what this course is going to cover
Brief overview of programming languages and the kind of language Ruby is.
How to install ruby. Note the rvm installation method has changed slightly since this guide was written. Check the rvm website's installation instructions.
Learn a little about the various Ruby command line tools.
Write your first ruby program!
Learn how to create a variable.
Learn about the types of variables in Ruby.
Learn how to do basic arithmetic in Ruby.
Learn how to make your program do more than one thing.
Conditionals can do even more than we covered in the last lesson. Let's learn a little more.
These programming structures allow you do the same thing several times in a row, in order to operate on each element in an array or hash.
A deeper look at what we can do with arrays and hashes in Ruby.
We already know how to define a string, but Ruby offers so much more. Here we will look at ways to manipulate string data.
Iterators help our when we have a data set already. But sometimes we don't have one, and we still need to run the same bit of code more than once. The while loop is one way of doing that.
The For loop is another way to repeat code multiple times.
Sometimes you need to interrupt the loop in various ways. These special keywords will help you do this.
Here we will learn how to write our own methods.
Let look at more complicated methods, and some of other things methods can do.
We're looking at classes, what they are and how we use them in Ruby
Now that we know how to use classes, we will learn how to write them.
Here we will go into more depth about writing our own classes.
We briefly mentioned variable scope earlier, but now we need to look at again, since we know more about classes and how to write them.
Classes can have another kind of method, the class method. Here we will discuss how to use these, and a related topic, the singleton.
Throughout the intermediate section of the course, we will be building a log parsing program. In this lesson we will talk about code organizational strategies in an MVC framework, and begin to write our program.
Here we will look at special characters that can occur in strings, and how certain characters can change how our terminal window prints out data.
Some times the 'gets' method doesn't meet our needs, but we still need to collect user input. Here we will look at lower level means of getting input from the user.
Ruby has a mechanism for what to do when the program or user does something unexpected. Here we will learn how to use this mechanism.
Here we will add code into our program stubs.
We are going to need to read a file in order to parse the apache logs. Here we will look at Ruby's system for reading file data.
Here we will apply what we have learned in order to read a log file.
Regular expressions are a fancy way of matching patterns in string data. Here we will learn the basics.
Since we now know how to break down a line of a log file, lets fir all this information into separate variables inside the LogEntry class.
Ruby has all sorts of way to handle time data. In this lesson we will learn how to work with time data in Ruby.
In this lesson we will learn about one of Ruby's more interesting features, the symbol. We will also learn how to make comments in our code.
Ruby has a way to segment of sets of classes, and add functionality to other classes. In this lesson we will learn how to use these.
Sometimes the basic arithmetic is not enough. Here we will learn how to do some more advanced math in Ruby.
In this lesson we will figure out how to sort the data in the log file.
In this lesson we will look at how to filter the data. We will also cover how to call a method using a symbol.
In this lesson we will go into more depth about exceptions.
Here we will write some code to display a single log entry.
We've already looked at the basics of how to supply arguments to methods. In this lesson we will look at some other ways to do this.
In this lesson we will look at basic concurrent processing. We will learn how to create threads and use them.
Sometimes we need to pass data between different threads. A thread queue can help us do that.
In this lesson we will create a progress bar for our log parsing program.
In this lesson we will look at a mutex and how to use it to keep data in sync.
In this lesson we will discuss a minimal approach to concurrent processing, the Fiber.
In this lesson we will look at way to execute external programs, and interact with them.