- Ruby за двадцать минут
- Интерактивный Ruby
- Ruby повиновался вам!
- Ваш бесплатный калькулятор
- Модули группируют код по темам
- Начните сейчас, это легко!
- Исследуйте новый мир…
- Вступайте в дружелюбное и развивающееся сообщество.
- Выучить язык программирования ruby
- Книги
- Видеогайды
- Сопутствующие источники информации
- Подкасты
- Блоги
- Заключение
- Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?
Ruby за двадцать минут
Здесь представлено небольшое введение в Ruby, которое должно занять не более двадцати минут. Предполагается, что вы уже установили Ruby. (Если на вашем компьютере нет Ruby, скачайте и установите его перед тем как начать.)
Интерактивный Ruby
Ruby устанавливается вместе с программой, которая покажет результат любого Ruby кода, который вы напишете в ней. Играть с кодом Ruby интерактивно – отличный способ узнать язык.
Откройте IRB (сокращение для Interactive Ruby).
- Если вы используете macOS, откройте Terminal , наберите irb и нажмите Enter.
- Если вы используете Linux, откройте shell , наберите irb и нажмите Enter.
- Если вы используете Windows, откройте Interactive Ruby из секции Ruby вашего меню Пуск.
Окей, итак он запущен. Что дальше?
irb(main):001:0> "Hello World" => "Hello World"
Ruby повиновался вам!
Что только что произошло? Неужели мы только что написали кратчайшую в мире программу “Hello World”? Не совсем. Вторая строка, это всего-лишь способ IRB показать нам результат последнего выполненного выражения. Если мы хотим напечатать “Hello World”, мы должны написать немного больше:
irb(main):002:0> puts "Hello World" Hello World => nil
puts – основная команда в Ruby, позволяющая напечатать что-нибудь. Но что же такое тогда => nil ? Это результат выполнения выражения. puts всегда возвращает nil, который в Ruby обозначает значение абсолютно-положительного ничего.
Ваш бесплатный калькулятор
Теперь мы знаем достаточно, чтобы использовать IRB как простейший калькулятор:
Три плюс два. Достаточно просто. Что насчет три умножить на два? Вы можете набрать сами, это достаточно короткий код, но также вы можете вернуться выше и изменить то, что вы ввели ранее. Попробуйте нажать стрелку наверх на клавиатуре и вы увидите строку с 3+2 . Если это так — вы можете использовать стрелку влево, чтобы переместить курсор прямо за + , нажать backspace и поменять его на * .
Теперь давайте попробуем возвести три в квадрат:
В руби ** – способ возвести число в степень. Но что если вы хотите пойти в обратном направлении и узнать квадратный корень от чего-либо?
irb(main):006:0> Math.sqrt(9) => 3.0
Окей, погодите, что это было? Если вы думаете “это был способ выяснить квадратный корень из девяти”, вы правы. Но давайте приглядимся к деталям. Во-первых, что такое Math ?
Модули группируют код по темам
Math – это встроенный модуль для математических операций. Модули выполняют две роли в Ruby. Наш пример показывает первую роль: сгруппировать похожие методы вместе под знакомым именем. Math также содержит методы типа sin() и tan() .
Следующее – это точка. Что делает точка? Точка – это то, как вы указываете получателя сообщения. Что такое сообщение? В данном случае это sqrt(9) , которое означает вызов метода sqrt , сокращение от “square root” (квадратный корень), с параметром 9 .
Результат от вызова этого метода – 3.0 . Вы можете заметить, что это не просто 3 . Это потому, что большинство значений квадратного корня от числа не являются целыми, так что метод всегда возвращает число с плавающей точкой.
Что если мы хотим запомнить результат какой-либо математической операции? Присвойте это значение переменной.
irb(main):007:0> a = 3 ** 2 => 9 irb(main):008:0> b = 4 ** 2 => 16 irb(main):009:0> Math.sqrt(a+b) => 5.0
Калькулятор это замечательно, но мы отошли от традиционного сообщения Hello World , которым начали наше введение и на котором мы должны были сфокусироваться… так что давайте вернемся к нему.
Начните сейчас, это легко!
Исследуйте новый мир…
Вступайте в дружелюбное и развивающееся сообщество.
- Почтовые рассылки: Разговоры о Ruby в кругу программистов со всего мира.
- Группы пользователей: Познакомьтесь с рубистами рядом с вами.
- Блоги: Читайте о том, что происходит в сообществе Ruby прямо сейчас.
- Ядро Ruby: Помощь в полировке последней версии Ruby.
- Решение проблем: Сообщайте или помогайте решать проблемы в Ruby.
Выучить язык программирования ruby
Популярные онлайн-площадки реализуют принцип “отдал деньги и не паришься”. Они предлагают студентам комплексные программы обучения, занятия с преподавателями-кураторами, готовые советы и дипломы/сертификаты после завершения курса. Как правило за такие курсы придется отдать некоторую сумму денег, но можно найти и бесплатные варианты с кучей ограничений.
- Udemy. Англоязычный онлайн-университет с огромным выбором курсов. Например, этот предлагает слушателям подборку лекций и шесть веб-приложений в портфолио. Есть курсы по созданию конкретного проекта, например, интернет-магазина .
- Codecademy. Англоязычный онлайн-университет с возможностью подписки Pro. За 10 часов обучения студентам предлагается освоить язык Ruby и фреймворком Ruby on Rails в процессе создания восьми веб-приложений. Без Pro-подписки доступна теория и краткая практика, а платный вариант предполагает доступ к дополнительной аналитике и отдельному чату с подписчиками, а также эксклюзивные курсы и полностью готовые проекты для портфолио.
- GeekBrains. Российская образовательная онлайн-платформа предлагает обучение на факультете Ruby on Rails. Обещают только качественные знания, присмотр опытных кураторов и диплом после успешного завершения курса. В процессе обучения студенты создают собственные репозитории на GitHub с рабочими проектами для портфолио. Онлайн-площадка помогает выпускникам с трудоустройством.
- Thinknetica. Русскоязычный онлайн-университет предлагает собственную платформу для изучения и обещает сосредоточиться на практических навыках.
- Gorails. Посвящённый Ruby on Rails сайт открыл бесплатный обучающий курс, где требуется знание не только Ruby, но и CSS/Javascript. Есть и отдельные платные курсы. Обучение ведётся в формате видеогайдов, сертификаты не выдаются.
- Хекслет. Русскоязычный онлайн-университет. Вместо сертификатов предлагаю собственные баллы сайта, демонстрирующие общий уровень знаний студента. Обучение строится на видеоуроках с выполнением тестов.
- RailsGuides. Не совсем онлайн-университет, но сборник разнообразных гайдов по Ruby on Rails. Большая библиотека под разные версии фреймворка, есть даже возможность самостоятельно поучаствовать в разработке гайдов.
- На habr есть неплохой план обучения со ссылками на используемые ресурсы.
Книги
Если вас не устраивают курсы, всегда можно учиться по книгам. По Ruby и Ruby on Rails их написано довольно много, но хороший русский перевод есть не всегда.
- Документация. В официальной документации фиксируются все изменения и есть все описания доступных функций и библиотек. Её можно назвать чистейшим способом изучения: никаких авторских отступлений или эмоциональных дополнений, только описания способов применения. Есть документация на английском .
- Agile Web Development with Rails 5. Одна из главных книг по Ruby on Rails. Единственный минус сейчас – книга по пятой версии не учитывает особенностей актуального релиза фреймворка. Для ознакомления и наработки теоретической базы она великолепна, но придётся выучить английский.
- Ruby Best Practices. Сборник лучших практик внутри Ruby. Для новичков эта книга не годится, но для улучшения навыков владения языком она подойдёт идеально.
- Ruby on Rails для начинающих. Майкл Хартл. Есть электронный вариант на английском языке. Книга с нуля рассказывает и показывает возможности Ruby вместе с Rails.
- Ruby. ООП. Сэнди Метц. Использование Ruby и Rails с парадигмой ООП. С примерами и отличными описаниями концепций языка программирования. В русской версии есть неточности перевода, поэтому лучше читать в оригинале.
Видеогайды
Формат обучения по видеогайдам набирает популярность, и тут на помощь приходит Youtube с огромным количеством роликов на любые темы:
- Полный курс по изучению RoR на английском языке. Вкратце рассказывают все основные возможности языка и фреймворка. Отдельно упоминают работу с GitHub и Heroku. В описании есть удобная навигация через таймкоды.
- Краткий курс по RoR на один час . Ещё короче, чем предыдущий, ещё более сжато преподносится информация, но и времени на просмотр требуется меньше. Навигации нет, поэтому придётся помучиться с переключением на разные места. На английском языке.
- Русскоязычный курс по RoR с самого начала. Это разбитый на главы плейлист. Он, конечно, древний (2015 г.), но для понимания основ его более чем хватит.
Сопутствующие источники информации
Для обучения лучше всего использовать все возможные варианты получения информации.
Подкасты
Современным фреймворкам – современные способы получения информации. Подкасты как раз помогут понять возможности от лица действующих разработчиков.
- RoR Podcast. Еженедельный подкаст о новинках в среде от Бриттани Мартин.
- The Ruby Rogues. Еженедельный подкаст действующих разработчиков. Здесь обсуждается всё: от новинок в программировании до влияния RoR на жизнь и карьеру.
- Remote Ruby. Еженедельный подкаст во время которого ведущие Крис Оливер и Джейсов Чарнес обсуждают друг с другом Ruby и часто приглашают в гости других разработчиков.
- Drifting Ruby. Это не совсем обычный ежемесячный подкаст – здесь каждый эпизод посвящён конкретной технике, поэтому больше ориентирован не на обучение с нуля, а на изучение одной из возможностей фреймворка. Максимальную пользу получат разработчики среднего уровня, но и новички, а также профи тоже смогут узнать что-то новое.
- GoRails. Ежемесячный подкаст одноимённого сайта. Получается неплохая экосистема: на сайте есть видео и теория, на машине учащегося – практика, а подкаст позволит взглянуть на это всё под другим углом.
Блоги
Подкасты можно назвать голосовой версией блога, хотя и в самих блогах никто не мешает использовать и подкасты, и видео, и текст.
- RoR Blog. Официальный блог разработчиков Rails. Покрывает почти все концепции RoR, постоянно публикуются новости с появившимися возможностями фреймворка и/или языка программирования Ruby.
- O`Reilly Ruby Blog. Блог компании, которая организует курсы обучения для команд разработчиков. Блог посвящён не только Ruby.
- Reddit с сабреддитом для Ruby. Регулярные обсуждения как различных общих вопросов, так и конкретных “точек с запятой” в новой версии языка. Большое комьюнити позволит получить реакцию на пост в кратчайшие сроки.
- Ruby Inside. Блог британского разработчика не только о Ruby, но и обо всём, что с ним связано.
- Drifting Ruby Blog. От создателей подкаста Drifting Ruby: хорошая коллекция обучающих материалов и разборов концепций фреймворка и ЯП.
Заключение
Ruby был разработан в первую очередь для лёгкого освоения и быстрого вовлечения в работу. Rails полностью поддерживает этот подход, так что его изучение не потребует серьёзного перенапряжения. К тому же язык и фреймворк активно разрабатываются, что даёт им серьёзные перспективы – программисты могут не бояться отсутствия работы через несколько лет. Лёгкость вовлечения только поддержит энтузиазм новичков. Удачи в обучении!
Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?
Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:
- Основы программирования на Python.
- Профессия Python-разработчик.
- Алгоритмы и структуры данных.
- Математика для Data Science.
- Профессия Data Science.
- Frontend Basic: принцип работы современного веба.
- Профессия Фронтенд-разработчик.
- Обработка естественного языка. Полный курс.
На подходе еще больше 10 курсов для взрослых и детей.