«Врубиться в Ruby»

научим кодить с нуля

Полный курс программирования для людей любого уровня подготовки. Любого. Главное, чтобы был ноутбук и базовое знание английского. Можно со словарём.

Записаться на курс

Почему выбирают обучение в #tceh?

Потому что это не обучение — это полноценное освоение новой профессии.

Качество

Образовательная программа многократно тестируется и проверяется. Преподаватели проходят подготовку. Материалы одобрены экспертами из индустрии.

Поддержка после курса

По окончанию курса #tceh помогает трудоустроиться в новой профессии, войти в профессиональные сообщества и продолжать расти.

Мотивация

Заниматься в группе проще, чем в одиночку. Люди вокруг помогут найти ответ на вопрос и найти силы, если будет сложно.

Мы часто встречаем людей, которые говорят...

— Я умею кодить, но хочу это делать на Ruby on Rails

— Я не умею кодить, но хочу это делать. Неважно на чём

— Я просто хочу получить высокооплачиваемую профессию для удалённой работы

#tceh решил им помочь. Для этого мы нашли человека с большим стажем в кодинге, длительным опытом работы с RoR и навыками хорошего преподавателя. Таким оказался Алексей Поимцев, который согласился разработать образовательный курс.

Записаться на курс

Даты и время занятий

С 16 мая по 15 августа 2016.
с 19:00 по 22:00.
Каждый понедельник и четверг (2 раза в неделю).

Место проведения

Москва, ул. Нижняя Сыромятническая, д. 10, стр. 12 (5 этаж) – учебный центр RMA.

Посмотреть на карте

Если вы не из Москвы, вы сможете учиться онлайн

89 000 рублей

Формат курса

Алексей проведёт 27 занятий. Каждое длится 3 часа. Большая ставка сделана на выполнение домашних заданий. Алексей обещает придумывать изощрённые наказания для тех, кто домашнее задание не сделает.

Занятия можно посещать лично в #tceh или онлайн.

Курс ведёт

Алексей Поимцев,
основатель и СЕО студии веб-разработки Progress Engine

До этого 10 лет работал над проектами федерального уровня в «Билайне». Также среди клиентов: СТС, Клаустрофобия и Home Credit Bank. Регулярно выступает на отраслевых конференциях. Общий стаж разработки — 16 лет.

Почему Ruby on Rails

Начнём с терминологии. Ruby — язык программирования, RoR — фреймворк на этом языке. Если, к примеру, мы хотим приготовить салат, то Ruby — это огород и кузница, а RoR — набор овощей и ножи.

С одной стороны, Ruby on Rails достаточно сложен для новичков.
С другой, это самый быстрый лифт, когда полученные навыки начинают приносить деньги. Последний довод, на наш взгляд, сильнее первого.

Ещё у Ruby очень большое сообщество. Это значит, что самостоятельно прокачиваться уже после курса будет просто.

Вот несколько цитат о Ruby и RoR из сообществ:

«Ruby – красивый язык. Кодить на Ruby приятно. Все мои знакомые, перешедшие на Ruby и Rails, говорят, что стали счастливее»

«На Ruby on Rails мощные веб–приложения, которые раньше разрабатывались за недели или месяцы, теперь могут быть сделаны за считанные дни»

«Ruby on Rails, не прибегая к насилию, принуждает программистов писать более структурированный код. Код на «рельсах» даже без документации можно прочитать и осознать»

Основные знания и навыки,
которые получат студенты курса

  • Основные концепции языка Ruby и фреймворка Ruby on Rails, такие как ООП, MVC, REST
  • Проектирование баз данных, написание запросов на языке SQL
  • Базовые механики html, css, Twitter Bootstrap
  • Язык Javascript на базовом уровне (основные конструкции языка, манипуляции с DOM)
  • Применение git и Github
  • Управление разработкой (работа с трекером, системой контроля версий)
  • Создание приложения на Ruby on Rails по методологии Test Driven Development/BehaviourDriven Development (TDD/BDD)
  • Создание приложения на других языках по методологии TDD/BDD

Программа курса

Занятие 1 базовые навыки и построение процесса разработки

  • Знакомство
  • История языка Ruby
  • Ruby и Ruby on Rails что это такое и чем они отличаются
  • Сравнение Ruby и других языков программирования, плюсы и минусы
  • Различные интерпретаторы Ruby mri, jruby, ruby enterprise edition
  • Управление версиями Ruby с помощью rbenv и rvm
  • Первое приложение на Ruby
  • утилита irb
  • Система контроля версия git основные принципы работы
  • git flow
  • семантические коммиты
  • Continuous Integration
  • Основы Scrum
  • Выбор проекта для работы в процессе обучения Домашнее задание

Занятие 2 Основы Ruby

  • Базовые типы данных в ruby числа, текст, булевые значения
  • Коллекции индексные и ассоциативные массивы (хэши), диапазоны
  • идентификаторы (символы)
  • комментарии в коде
  • регулярные выражения, сервис rubular
  • Операторы
  • Условные предложения if/else/elsif, а также “условие ? true : false”
  • Циклы while/for
  • Управление ходом выполнения return/break/next/redo
  • Написание приложения по изученному материалу Домашнее задание

Занятие 3 ООП

  • Что такое ООП
  • Инкапсуляция, наследование, полиморфизм
  • Классы
  • Модули
  • Методы
  • public, private и protected области видимости
  • Зона видимости переменной
  • Замыкания и lambda-функции
  • Написание приложения по изученному материалу
  • Домашнее задание

Занятие 4 Чтение и запись данных, Exceptions

  • Работа с потоками файлы и ввод с клавиатуры, что между ними общего и какие отличия
  • Обработка различных типов файлов
  • Исключения что это такое и зачем они нужны
  • Обработка исключений в ruby-коде
  • Порождение исключений методом throw
  • Написание приложения по изученному материалу Домашнее задание

Занятия 5 и 6 Основы web-программирования Что такое HTML?

  • Что такое CSS?
  • Что такое JavaScript и CoffeeScript, чем они отличаются?
  • Как использовать css-фреймворки? twitter bootstrap, zurb foundation, semantic ui и другие
  • Протокол http и как он работает. Методы протокола GET, POST, PUT, DELETE
  • Будущее http http 2.0
  • Что такое REST и как он реализуется в веб-приложениях
  • Написание приложения по изученному материалу Домашнее задание

Занятие 7 Базы данных

  • Что такое SQL
  • Что такое NoSQL
  • Что такое KVS
  • Как хранятся данные в БД
  • Как запрашивать и обновлять данные в БД
  • Как работают кластеризация и шардинг
  • Какие еще возможности есть у БД
  • Чем хорош RethinkDB
  • основы ReQL
  • Кластеризация в RethinkDB
  • Написание приложения по изученному материалу Домашнее задание

Занятие 8 Основы Ruby on Rails

  • История фреймворка, его авторы
  • Создание первого Rail-приложения
  • Структура rails-приложения
  • Что такое MVC и зачем это надо
  • Что такое scaffold
  • Написание приложения по изученному материалу Домашнее задание

Занятия 9 Active Record

  • Что такое ORM
  • Что такое ActiveRecord
  • Что такое модели
  • Что такое миграции
  • CRUD-операции с данными
  • Валидация данных стандартные хэлперы
  • Валидация данных пишем свой хэлпер
  • Валидация по условию
  • Обработка ошибок валидации
  • Коллбэки что это и зачем это нужно
  • Написание приложения по изученному материалу
  • Домашнее задание

Занятия 10 и 11 Advanced Active Record

  • Ассоциации one to one, one to many, many to many
  • Полиморфные ассоциации
  • Self Joins (замыкание на себя)
  • Построение ActiveRecord запросов
  • Joins
  • Scopes
  • Eager Loading
  • Дополнительные сведения
  • Написание приложения по изученному материалу Домашнее задание

Занятие 12 и 13 Action View

  • Action View что это такое и для чего надо
  • erb, haml, slim, builder
  • partials
  • layouts
  • какие есть помощники (helpers) и зачем они нужны
  • coffee script и javascript
  • css, less и sass
  • asset pipeline
  • Формы в rails-приложениях
  • Написание приложения по изученному материалу Домашнее задание

Занятие 14 Маршрутизация в rails

  • Что такое CRUD и как это соотносится с REST
  • Как пишутся routes
  • namespace и scope
  • Вложенные маршруты Shallow nesting
  • routing concerns
  • Расширение REST Поддомены
  • Дополнительные сведения
  • Написание приложения по изученному материалу Домашнее задание

Занятие 15 Action Controller

  • Вспоминаем rails routes actions
  • передаваемые параметры сессии
  • flash зачем это нужно
  • cookies
  • обработка ошибок, кастомные шаблоны 403, 404 и 500
  • Написание приложения по изученному материалу Домашнее задание

Занятие 16 i18N

  • Как реализована поддержка мультиязычных приложений в rails
  • Готовим приложение к локализации
  • Определение языка пользователя
  • Поддержка многоязыковых моделей с помощью gem’ов globalize и multilang-hstore
  • Написание приложения по изученному материалу Домашнее задание

Занятие 17 Action Mailer

  • Отправка писем в rails
  • Получение писем в rails
  • отправка писем с помощью mandrill
  • создание рассылок с помощью mailchimp
  • Написание приложения по изученному материалу Домашнее задание

Занятие 18 Active Job, Delayed Job, Sidekiq и другие инструменты для асинхронной работы

  • Чем отличается синхронный режим работы от асинхронного
  • Что такое Active Job и какие у него есть коннекторы
  • Основы Delayed Job
  • Работаем с Sidekiq
  • гем Whenever
  • Написание приложения по изученному материалу Домашнее задание

Занятие 19 Тестирование приложений (основы)

  • Зачем тестировать приложения
  • Какие есть инструменты для тестирования
  • Что такое TDD
  • Что такое BDD Rspec
  • Cucumber и Turnip
  • Написание приложения по изученному материалу Домашнее задание

Занятие 20 Безопасность web-приложений

  • Какие основные типы атак на web-приложения самые актуальные
  • Атаки на сессию Session Hijacking, Session Fixation
  • Cross-Site Request Forgery (CSRF)
  • Injection-атаки
  • Brute Forcing
  • Что такое Captcha и какие виды капчи существуют
  • Дополнительные сведения
  • Написание приложения по изученному материалу Домашнее задание

Занятие 21 и 22 Аутентификация с помощью Devise, Управление доступом cancancan и pundit Установка devise в проект

  • Кастомизация devise
  • аутентификация через devise + omniauth
  • Написание приложения по изученному материалу Домашнее задание

Занятие 23 Основы AJAX в rails-приложениях

  • Query pjax
  • гем gon
  • JSON и msgpack
  • Написание приложения по изученному материалу Домашнее задание

Занятие 24 Поиск

  • Используем ransack
  • Поиск с помощью elasticsearch
  • Написание приложения по изученному материалу Домашнее задание

Занятие 25 API

  • Что такое API и зачем это нужно
  • Написание API с помощью Action Controller
  • использование grape для написания API
  • Написание приложения по изученному материалу Домашнее задание

Занятие 26 Deploy, Docker

  • Как организовывать окружения test/staging/production
  • Готовим первый тестовый сервер
  • Пишем первый deploy-скрипт для capistrano
  • Что такое Docker
  • чем различаются images и контейнеры
  • что такое docker-compose
  • Как использовать Docker для Ruby on Rails
  • Что такое Docker Hub
  • Написание приложения по изученному материалу Домашнее задание

Занятие 27 Автоматизация настройки серверов с помощью Ansible

  • Что такое Ansible
  • Учимся писать playbooks
  • Создаем роли для зависимостей
  • Ansible galaxy
  • что такое кэширование и зачем оно нужно
  • Какие виды кэширования есть
  • использование ruby ffi для оптимизации низкопроизводительных кусков кода
  • Tarantool для rails-приложений
  • Elixir и Phoenix Framework как дальнейшее развитие MVC-фрэймворков
  • Написание приложения по изученному материалу
  • Домашнее задание

Что программист на Ruby может сделать

Язык Ruby очень гибкий. Программисты на Ruby решают самые популярные задачи бизнеса. Они как Цезарь – приходят, видят, побеждают.

Мобильное приложение

Проект RubyMotion делает разработку приложений для iPhone и iPad удобной и понятной. А с проектом Foundry открываются чертоги Android и других платформ.

Десктопное приложение

MacRuby — проект, с которым влёт пишут приложения для Mac OS X. Удобно, быстро, качественно.

Сложный веб-сайт

Ruby-on-Rails — фреймворк, заточенный для веб-сайтов. И речь не об одностраничных лендингах, а о проектах со сложной структурой.

Что уже написали на Ruby

Вот краткий перечень компаний, которые используют язык Ruby в своих продуктах:

Отзывы выпускников курса

Занятия проводятся учебном центре RMA

Москва, ул. Нижняя Сыромятническая, д. 10, стр. 12 (5 этаж) – учебный центр RMA.


Время — с 19:00 до 22:00
Даты — с 16 мая по 15 августа 2016 каждый понедельник и четверг.

ул. Нижняя Сыромятническая, д. 10, стр. 12


Стоимость курса зависит от даты покупки

Цена сейчас

89 000 руб.

Цена действительна
по 21 апреля.
Купи сейчас и сэкономь 20 000 рублей.

Цена потом

99 000 руб.

Цена действительна с 22 апреля по 27 апреля.
Экономия 10 000 рублей.

Цена в последний момент

109 000 руб.

Цена действительна
с 28 апреля – последние места в группе.

Оплатить можно картой, банковским переводом или интернет‑кошельком.

Если вы хотите оплатить в рассрочку, напишите письмо на edu@tceh.com или позвоните Виктории +7 499 647-47-80

Регистрация на курс

Регистрация на курс завершена.
Оставьте заявку на следующий набор и получите скидку

Мы сообщим вам о старте курса и пришлём промокод скидки.
Мы не будем использовать ваш телефон в других целях.

Программист на Ruby on Rails начального уровня умеет

  • Находясь в России, выполнять заказы из Европы и США
  • Работать удалённо или в комфортных офисах
  • Быть в сфере, за которой будущее