Это современный язык, на котором написаны такие известные проекты как: Twitter, Aviasales, OneTwoTrip, Onlinetours. Мир современного программирования очень подвижен, выживают лишь те языки программирования, которые активно развиваются. На Ruby скорость реализации проектов на 30-40% выше чем на Java или .NET. Язык действительно очень красивый и простой для понимания, что привлекает всё большее количество разработчиков. С нами вы изучите не только язык но и основы фреймворка Ruby on Rails.
Обучение проходит очно или онлайн, 1-2 раза в неделю, длительность занятия 2 академических часа.
Программа Базового курса (40 академических часов)
Тема 1. Введение в язык Ruby
- Установка, знакомство со средой разработки
- Первые шаги в Ruby: знакомство с языком и его синтаксисом
- Первый взгляд на документацию, ruby api
- Введение в понятия «объект», «оператор» и «метод»
Тема 2. Работа со строками, циклами, «петлями»
- Понятие строк
- Работа со строками
- Методы для обработки строк
- Логические операторы Ruby
- Циклы
- Операторы выбора
Тема 3. Array и Hash
- Понятие массивов
- Работа с массивами
- Итераторы
- Определение Hash
- Работа с Hash
Тема 4. Функции, lambda, Proc, Блоки
- Определение функций
- Лямбда-функции
- Определение блоков
- Proc
Тема 5. Объектно-ориентированное программирование в Ruby
- Основные принципы ООП
- Понятие класса, полей и методов
- Создание своих классов
- readers, writers и accessors
- Понятие модулей и пространства имён
Тема 6. Наследование в Ruby
- Определение понятия наследования
- Ключевое слово super
- Полиморфизм
- Переопределение операторов внутри классов
Тема 7. Вложенные классы и модули, Работа с файлами
- Создание и вызов вложенных типов
- Открытие, создание, изменения файлов
- Конверсия типов
Тема 8. Exceptions
- Обзор иерархии Exceptions
- Ключевое слово raise
- begin, rescue,ensure, end
- Создание собственного исключения
- Throw и Catch
Тема 9. Коллекции
- Enumerators и Enumerables
- Iterate, Filtrate и Transform
- Создание коллекций
Тема 10. Работа с потоками и временем
- Понятие многопоточности
- Класс Thread
- Замораживание объектов
- Класс Time
Тема 11. Более пристальный взгляд на блоки
- Yield
- Явные и неявные блоки
- Syntax sugar
Тема 12. Дебаг и логгирование
- Приёмы дебага
- Способы логгирования
- Тестирование Ruby-кода
Тема 13. Метапрограммирование в Ruby
- Понятие метапрограммирования
- Динамический вызов методов
- Случаи отсутствия методов, метод «отсутствия метода»
- Методы для создания методов