- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
De cursus Ruby Programmeren is bedoeld voor ervaren developers die de scripttaal Ruby willen leren.
Kennis en ervaring met programmeren in een andere programmeertaal, zoals C, C++, C#, Visual Basic, Java of Perl is gewenst.
De theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld met praktische oefeningen. Illustratieve demo’s zorgen voor een verdere verduidelijking van de concepten. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Ruby Programmeren.
In de cursus Ruby Programmeren leren de deelnemers programmeren in Ruby aan de hand van de syntax en taalconstructies van deze scripttaal. Na een introductie over de achtergronden van Ruby, de installatie en de wijze waarop Ruby code kan worden uitgevoerd, komen de variabelen, data types en control flow aan de orde.
Ook is er aandacht voor methods en parameter overdracht en voor de object georiënteerde aspecten zoals classes, objects, inheritance en polymorfisme. Daarnaast komt ook 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 evenals op het gebruik van modules uit de standard library. Ook closures zoals blocks, lambda's en Procs komen aan de orde en er wordt ingegaan op Meta Programming met introspection, Open Classes en dynamic method invocation.
Tenslotte komt het schrijven van Ruby Gems aan bod en wordt een overzicht gegeven van de mogelijkheden van de Standard library.
Module 1 : Ruby Intro |
Module 2 : Variables and Data Types |
Module 3 : Control Flow |
What is Ruby? Ruby Timeline Object Orientation Installation Interactive Ruby Ruby Execution Loading Ruby Code Naming Conventions Executing External Programs Ruby Blocks Resources |
Numbers and Big Numbers Strings and String Literals String Interpolation Arrays Hash Range Struct Types of Variables Naming Conventions Constants Pre-defined Variables |
Statements Assignment operators Conditionals Multiple Selection while and until Loop for Loop each Iteration Arithmetic operators Comparison operators Ruby truth Logical Operators |
Module 4 : Methods and Parameters |
Module 5 : Classes and Objects |
Module 6 : Exception Handling |
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 |
Classes and Objects in Ruby Object Initialization Attribute Accessors Current Object Class Variables and Methods Method Visibility Singleton Methods Inheritance Overriding Method Lookup Duck Typing |
Error Handling Exception Handling Raising Exceptions Handling Exceptions Exception Class Hierarchy Typed Exception Handling Ensure Block Retry Command Throw and Catch Raising Exceptions User Defined Exceptions |
Module 7 : Modules |
Module 8 : Closures |
Module 9 : Meta Programming |
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 |
Benefits of Closures Lambdas and Procs Lambdas with Parameters 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 |
What is Introspection? Introspection Code Classes are Open Class Definition are Executable Receivers Classes are Objects Dynamic Method Invocation Method Missing Invoking method_missing define_method Evaluating Code Dynamic Typing |
Module 10 : Ruby Gems |
Module 11 : Ruby Standard Library |
|
What are Gems? Creating Gems gemspec file Installing and Using the Gem Publish the Gem Grabbing the Gem Rake Writing Tests Documenting Code Using Rdoc Using Bundler |
Standard Library Overview Files Accessing Files File Open Modes Reading and Writing Directories Date and Time XML Access DOM Parsing SAX Parsing MultiThreading |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.