Ruby Programmeren


Ruby is een dynamische, open source programmeertaal met een focus op eenvoud en productiviteit. Ruby heeft een elegante syntaxis, die natuurlijk is om te lezen en gemakkelijk is om te schrijven.

In de cursus Ruby Programmeren leert u programmeren in Ruby aan de hand van de syntax en taalconstructies van deze scripttaal. Na een introductie over de achtergronden en de installatie van Ruby, alsmede over de wijze waarop Ruby-code kan worden uitgevoerd, komen de variabelen, datatypes en control flow aan de orde.

Ook is er aandacht voor methods en parameteroverdracht, en voor de objectgeoriënteerde aspecten, zoals classes, objects, inheritance en polymorfisme. Daarnaast komt het afhandelen van fouten door middel van exception handling ter sprake. Vervolgens wordt ingegaan op het indelen van code in modules, modules als namespaces en mixins.

Ook het gebruik van modules uit de standard library wordt behandeld. Vervolgens komen closures, zoals blocks, lambda’s en Procs, aan de orde en wordt er ingegaan op meta programming met introspection, open classes en dynamic method invocation.

Ten slotte komt het schrijven van Ruby Gems aan bod en wordt een overzicht gegeven van de mogelijkheden van de standard library.

De theorie wordt behandeld aan de hand van presentatieslides en wordt afgewisseld met praktische oefeningen. Illustratieve demo’s zorgen voor een verdere verduidelijking van de concepten.

Lunch en alle cursusmaterialen zijn bij de prijs inbegrepen.

Doelgroep

Deze cursus is bedoeld voor ervaren developers, die de scripttaal Ruby willen leren.

Voorkennis

Kennis en ervaring met programmeren in een andere programmeertaal, zoals C, C++, C#, Visual Basic, Java of Perl, is gewenst.

Duur

De duur van deze cursus is drie dagen.

Groepsgrootte

De maximale groepsgrootte bedraagt acht deelnemers.

Certificaat

De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Ruby Programmeren.

Module 1: Ruby Intro
What is Ruby?
Ruby Timeline
Object Orientation
Installation
Interactive Ruby
Ruby Execution
Loading Ruby Code
Naming Conventions
Executing External Programs
Ruby Blocks
Resources

Module 2: Variables and Data Types
Numbers and Big Numbers
Strings and String Literals
String Interpolation
Arrays
Hash
Range
RegExp
Struct
Types of Variables
Naming Conventions
Constants
Local Variables
Instance Variables
Class Variables
Global Variables
Pre-defined Variables

Module 3: Control Flow
Statements
Assignment
Assignment operators
Conditionals
Multiple Selection
while Loop
until Loop
for Loop
each Iteration
Aritmetic operators
Comparison operators
Ruby truth
Equality
Logical Operators

Module 4: Methods and Parameters
Method Definitions
Invoking Methods
Methods and Parenthesis
Return values
Default value argument
Variable Argument List
Array Argument
Hash Argument
Methods with Code Block
Method with Bang
Aliasing Methods

Module 5: Classes and Objects
Classes and Objects
Example Class and Object
Objects in Ruby
Ruby Classes
Class Syntax
Creating Objects
Object Initialization
Getters and Setters
Attribute Accessors
Current Object
Class Variables
Class Methods
Method Visibility
Singleton Methods
Inheritance
Overriding
Method Lookup
Duck Typing
Operator Overloading

Module 6: Exception Handling
Error Handling
Exception Handling
Raising Exceptions
Handling Exceptions
Exception Class
Exception Class Hierarchy
Typed Exception Handling
Ensure Block
Retry Command
Exception Handling
Throw and Catch
Raising Exceptions
User Defined Exceptions

Module 7: Modules
Modules
Module Importing
Files without Namespacing
Modules for Namespacing
Namespaces
Mixins
Mixin Example
Include versus Extend
Mixins and Inheritance Chain
Modules versus Classes
Comparable Module
Enumerable Module

Module 8: Closures
What are Closures?
Benefits of Closures
Lambdas
Lambdas with Parameters
Procs
Proc and Lambda
Procs versus Lambdas
Proc as Argument and Return
Proc Objects as Closure
What are Blocks?
Representing Blocks
Calling Blocks with Yield
Passing Arguments
Ampersand Operator
From Proc to Block

Module 9: Meta Programming
What is Introspection?
Introspection Code
What is Meta Programming?
Classes are Open
Class Definition are Executable
Receivers
Classes are Objects
Dynamic Method Invocation
Method Missing
Invoking method_missing
define_method
Hooks
Evaluating Code
Dynamic Typing

Module 10: Ruby Gems
What are Gems?
About RubyGems
Creating Gems
Hello World Gem
gemspec file
Installing and Using the Gem
Publish the Gem
Grabbing the Gem
Adding Code
Multiple Files
Rake
Rake Demo
Writing Tests
Simple Test
Documenting Code
Using Rdoc
What is Bundler?
Using Bundler

Module 11: Ruby Standard Library
Standard Library Overview
Files
Accessing Files
File Open Modes
Reading and Writing
Directories
Date and Time
XML Access
DOM Parsing
SAX Parsing
MultiThreading

Plaats Duur Data
Houten - Standerdmolen 10 3 dagen 18, 19 & 20 maart 2019 Inschrijven >
Rotterdam - Provenierssingel 66 3 dagen 20, 21 & 22 mei 2019 Inschrijven >
Eindhoven - Vestdijk 30, 3 dagen 20, 21 & 22 mei 2019 Inschrijven >
Houten - Standerdmolen 10 3 dagen 20, 21 & 22 mei 2019 Inschrijven >
Amsterdam - Hullenbergweg 280-308 3 dagen 15, 16 & 17 juli 2019 Inschrijven >
Houten - Standerdmolen 10 3 dagen 15, 16 & 17 juli 2019 Inschrijven >
Rotterdam - Provenierssingel 66 3 dagen 16, 17 & 18 september 2019 Inschrijven >
Houten - Standerdmolen 10 3 dagen 16, 17 & 18 september 2019 Inschrijven >