This is a modern language in which such famous projects as: Twitter , Aviasales , OneTwoTrip , Onlinetours . The world of modern programming is very mobile; only those programming languages that are actively developing survive. On Ruby the speed of project implementation is 30-40% higher than on Java or . NET . The language is really very beautiful and easy to understand, which attracts more and more developers. With us you will learn not only the language but also the basics of the framework Ruby on Rails .
Training takes place face-to-face or online, 1-2 times a week, lesson duration is 2 academic hours.
Basic course program (40 academic hours)
Topic 1: Introduction to Ruby
- Installation, familiarization with the development environment
- First steps in Ruby: getting to know the language and its syntax
- First look at the documentation, ruby api
- Introduction to the concepts of "object", "operator" and "method"
Topic 2. Working with strings, loops, “loops”
- Concept of strings
- Working with Strings
- Methods for processing strings
- Ruby logical operators
- Cycle
- Selection Operators
Topic 3. Array and Hash
- The concept of arrays
- Working with Arrays
- Iterators
- Definition Hash
- Working with Hash
Topic 4. Functions, lambda, Proc, Blocks
- Defining Functions
- Lambda functions
- Defining Blocks
- Proc
Topic 5: Object-Oriented Programming in Ruby
- Basic principles of OOP
- Concept of class, fields and methods
- Creating your own classes
- readers, writers and accessors
- Understanding modules and namespaces
Topic 6. Inheritance in Ruby
- Definition of inheritance
- Keyword super
- Polymorphism
- Overriding Operators Within Classes
Topic 7. Nested classes and modules, Working with files
- Creating and calling nested types
- Opening, creating, changing files
- Type conversion
Topic 8. Exceptions
- Hierarchy overview Exceptions
- Keyword raise
- begin, rescue,ensure, end
- Creating your own exception
- Throw and Catch
Topic 9. Collections
- Enumerators and Enumerables
- Iterate, Filtrate and Transform
- Creating Collections
Topic 10. Working with threads and time
- Concept of multithreading
- Class Thread
- Freezing objects
- Time class
Topic 11: A Closer Look at Blocks
- Yield
- Explicit and Implicit Blocks
- Syntax sugar
Topic 12. Debugging and logging
- Debugging techniques
- Logging methods
- Testing Ruby code
Topic 13. Metaprogramming in Ruby
- The concept of metaprogramming
- Dynamic Method Calling
- Cases of absence of methods, method of "absence of method"
- Methods for creating methods