Ruby Association Certified Ruby Programmer Silver
Overview
This course will introduce the fundamentals concepts for the Ruby programming language. Ruby is an easy programming language to learn. Its popularly used by startups in developing web applications and for administering systems. Ruby was developed to make programmers happy and is popularly knwon for the Rails web application framework. Ruby is also the language used for developing Puppet, a systems automation software and MetaSploit, a security assesment framework.This course is designed for both programmers and developers who want to get the fundamentals of programming in Ruby.
Duration
The course is full time and runs over 5 days. This course is primarily offered as a private course to a team, group or a company.
Programming Experience
This is a beginner's course and no prior programming experience is required. A good command of computer skills, the command line or the terminal are required.
Technical Skill
We primarily use Linux or Mac during the course. A Windows machine can also be used but some things might not work. So technical knowledge on the Linux environment is required.
Private Training
This course is primarily offered as a private course. A minimum of 4 delegates is required to schedule the course. The course can be run on your premises or our premises. When run on your premises, the course costs R9 500 per delegate with a minimum of 4 delegates to schedule the course. The cost is R12 500 to run the course on our premises and training can be done in either Johannesburg, Durban or Cape Town. There is no fixed date the course will run, we work with your team to find suitable dates to run the course.
Course Curriculum
Introducing Ruby Programming Language
Ruby Language Overview
Who is Using Ruby in Production
Setting up the development environment
Using Interactive Ruby Shell(irb)
Hello World in Ruby
Everything is an object in Ruby
Ruby Language Syntax
Creating and using variables
Using and commenting code
Number and Operators in Ruby
Ruby core language constructs
Ruby Operators
Ruby Expressions
Arithmetic Operators
Shift or Append Operators
Comparison Operators
Booleans Operators
Range Operators
Ruby Strings
String Literals
String Methods
Concatenating Strings
Substituting Variables into String(String Interpolation)
Reversing Strings
Processing a String One Character at a Time
Changing Case Strings
Matching Strings with Regular Expressions
Validating an Email Address
Extracting Strings
String Methods
String Documentation
String Exercises
Using Arrays
Creating Arrays
Accessing Array Elements
Adding\/Removing Items from an Array
Iterating Over an Array
Selecting Elements from an Array
Reversing an Array
Sorting Arrays
Sguffling an Array
Summing the Items of an Array
More Array Methods
Array Documentation
Ruby Hashes
Creating Hashes
Creating a Hash with Default Values
Adding Elements to a Hash
Using Symobls and Hash Keys
Sorting Hash Elements
Accessing Hash Elements
Iterating Over a Hash
Altering Hashes
Merging Hashes
Searching a Hash
More Hash Methods
Working with Numbers
Creating Numbers
Numeric Alterations
Numeric Comparisons
Number Exercises
Ruby Date and Time
Date Classes
Printing Today's Date
Formatting Date
Waiting a Certain Amount of Time
Converting Bwtween Date and Times
Working with Conditionals
Creating Boolean values
Expression tests
Comparative operators
Ruby Constants
ARGF
ARGV
DATA
ENV
RUBY_*
STDERR
STDIN
STDOUT
TOPLEVEL_BINDING
TRUE\/FALSE\/NIL
Ruby Loops and Iterators
Loop Method
While Loop
Until Loop
While and Until Loops – Alternative Syntax
Ruby Iterator Methods
Functions and Methods
Defining and Calling Methods
Default Parameters
Initialize Method
Returning from a Method
Returning Multiple Values
Named and Variable Parameters
Method Aliasing
Un-defining a Method
Class Methods versus Instance Methods
Classes and Modules
What are Classes
Objects
Class Properties
Constructors
Private Methods
Protected Methods
Checking Class or Module Membership
Inheritance
Modules
Ruby Class Variables
Ruby Class Variables
Local Variables
Instance Variables
Global Variable
Errors and Exceptions
What are Errors
Catching Errors and Exceptions
Raising Exceptions
Creating Your Own Exceptions
Throwing and Catching Exceptions
Ruby Input and Output
File Input\/Output
File Access Modes
Directory Modification
Checking if a File Exists
Checking File Access
Deleting a File
Changing Permissions on a File
Writing to a File
Reading Contents of File
Comparing Files
Redirecting Standard Input and Output
Network Input\/Output
Higher Level Network Input\/Output
Using Networking Libraries
Building a Chat Command Line App with WebSockets
Writing and Reading Input and Output from other Programs
Advanced Ruby Features with Blocks, Procs, and Lambdas
Creating and Invoking a Block
Writing Methods that Accept a Block
Yield Operator
Using Ruby Procs
Using Lambdas
Metaprogramming
Finding Object's Class and Super Class
Listing Object's Methods
Modules and Namespaces
Multiple Inheritance with Mixins
Extending Specific Objects with Modules
Mixing in Class Methods
Avoiding Naming Collision with Namespaces
Testing in Ruby
Types of Testing
Unit Testing
Integration Testing
Automated Testing
Behaviour Driven Development
Test Driven Development Testing
Introduction to Testing with RSpec
Internet Services
Getting Web Page Contents
Performing a DNS Query
Sending Email
Interacting with Remote Servers using SSH
Checking if a Server is Available with Ping
Using Libraries
Finding and Installing RubyGems
Developing APIs and Web Apps with Sinatra
Building Web Apps with Rails Gem
Some Popular RubyGems
Packing and Distributing Software
Automatically Running Tasks with Rake
Automatically Generating Documentation Creating a RubyGem
Distributing RubyGem
Deploying Ruby Apps on Heroku
Installing the Heroku Command Line Client
Installing git
Generating an SSH Key
Creating a Proc file
Creating a new app
Pushing to Heroku