Как запустить приложение ruby
Эта серия предназначена для знакомства с замечательным языком программирования Ruby. Он будет охватывать основы программирования, а также размещения приложения в Интернете.
Что такое рубин?
Что мы будем делать?
В этой серии мы начнем с установки Ruby и изучения основ написания программы. Мы рассмотрим, как вы можете использовать «Интерактивный Рубин», чтобы получить мгновенный отзыв о ваших программах, а также как сохранить программу в файл и затем запустить ее. Мы также рассмотрим, как вы можете превратить вашу Ruby-программу в веб-приложение, и увидите, как она работает в браузере. Надеемся, что серия поможет вам понять, почему многие люди любят мощь и гибкость, которые предлагает Ruby.
Командная строка
Я чувствую, что должен упомянуть, что мир Ruby часто использует командные приглашения в «терминале» для установки и запуска программ. Поначалу это может показаться немного сложным, но на самом деле беспокоиться не о чем, и вскоре это будет похоже на вторую натуру.
Если вы используете Linux, я думаю, вы уже нашли командную строку. На Mac вам нужно перейти в папку « Программы », а затем в папку « Утилиты » (дополнительную информацию см. В этом руководстве ). В Windows вы обычно найдете его в меню «Приложения» (в этом руководстве есть несколько очень полезных советов по настройке, чтобы сделать его более удобным для пользователя).
Все, что предполагается ввести в командной строке, будет иметь префикс с символом $ в примерах кода (не вводите $), например:
Установка Ruby
Установка Ruby теперь намного проще, чем раньше, но процесс отличается в зависимости от используемой операционной системы. Я бы порекомендовал использовать самую последнюю версию Ruby, которая на момент написания статьи была 2.0.0.
Если вы используете Linux, я бы рекомендовал использовать Ruby Version Manager . Это просто включает вставку следующей строки кода в командную строку:
Если вы используете Windows, то я бы порекомендовал использовать Ruby Installer . Это предлагает решение в один клик, которое установит все необходимое для начала работы.
Если вы используете Mac, вы можете использовать Ruby Version Manager (см. Инструкции для Linux выше) или использовать Homebrew с помощью следующей команды:
Чтобы убедиться, что все работает нормально, откройте окно терминала и введите в командной строке следующую строку:
Это проверяет, какую версию Ruby вы используете. Вы должны получить что-то похожее на следующее:
Начало работы с интерактивным рубином
Затем вы должны увидеть нечто похожее на следующее:
Теперь пришло время начать писать немного Ruby!
Это была давняя традиция при обучении программированию, чтобы начать с классической программы «Hello World!» . Мы собираемся придерживаться духа этого и поздороваться с различными средами, в которых мы будем тестировать Ruby. В приглашении IRB просто введите следующее:
Вы должны увидеть следующий вывод:
Этичный хакинг и тестирование на проникновение, информационная безопасность
Для чего устанавливать Ruby
Ruby — это скриптовый язык, то есть для запуска программ не требуется предварительная компиляция. В этом смысле Ruby является аналогом PHP, Python, PERL и других.
Ruby достаточно популярный язык и на нём написано много интересных программ; если говорить применительно к InfoSec, то в качестве примеров можно привести знаменитые WPScan, WhatWeb, Wayback Machine Downloader и другие.
Установив Ruby на Windows вы сможете запускать программы, написанные на этом языке, а также изучать это язык программирования и писать свои собственные скрипты.
Кстати, Ruby, наравне как и PHP, Python и PERL, может быть модулем веб-сервера и скрипты, написанные на этом языке, можно использовать в качестве программной основы веб-сайта или сервиса.
Как установить Ruby на Windows
Там вы увидите много вариантов установщика, которые различаются не только версиями, но и составом скаченных файлов. Исполнимые файлы являются самодостаточными установщиками для Windows, которые включают язык Ruby, окружение выполнения, важную документацию и прочее. Если вы не знаете, какую версию установить, чтобы начать знакомство с Ruby, то рекомендуется установщик Ruby+Devkit * (x64). Он предоставляет самое большое число совместимых gem (пакеты Ruby) и устанавливает MSYS2-Devkit вместе с Ruby, благодаря чему gem с C-расширениями могут быть скомпилированы сразу после завершения установки.
Запустите скаченный файл. В этом окне мы можем выбрать настройки:
Папку установки можно оставить без изменения.
Add Ruby executables to your PATH – означает добавить каталог с исполнимыми файлами Ruby в системную переменную. Это рекомендуется сделать, чтобы не указывать при каждом запуске скрипта Ruby полный путь до интерпретатора скриптов.
Associate .rb and .rbw files with Ruby installation — означает связать файлы с расширениями .rb и .rbw с установленным Ruby. Благодаря этому файлы Ruby можно будет запускать двойным кликом или набрав имя скрипта в командной строке.
Use UTF-8 as default external encoding – означает использовать кодировку UTF-8 в качестве внешней кодировки по умолчанию.
Я выбрал все три галочки и в качестве папку установки ввёл C:\Ruby26:
Как видно на следующей странице, сам пакет Ruby занимает немного места, но много места занимается предлагаемая к установке набор инструментов разработчика MSYS2. Я настоятельно рекомендую установить MSYS2, поскольку кроме упомянутой выше возможности компилировать пакеты для Ruby, MSYS2 обеспечивает консольное окружение с функциями Linux (примерно как это делает Cygwin, но с дополнительными возможностями).
Оставьте галочку на последнем окне для настройки инструментов разработчика MSYS2 и нажмите Finish.
Далее нам предлагается:
Просто нажимаем ENTER для выполнения всех трёх действий:
Всё завершено, для выхода нажмите ENTER:
Кстати, если вы внимательно смотрели за происходящем на экране, то могли заметить pacman. В этом консольном окружении действительно есть менеджер пакетов pacman. К другим функциями MSYS2 вернёмся чуть позже.
Подробнее о Pacman смотрите в статьях:
Как обновить Ruby на Windows
Для обновления до последнего патча (то есть минорной версии, к примеру с 2.5.1 до 2.5.4), достаточно запустить новую версию установщика. Установленные gem (пакеты из репозитория Ruby), не перезаписываются и будут работать с новой версией без переустановки. Для обновления установки достаточно использовать RubyInstaller без Devkit. Обновить Devkit можно отдельно запустив в командной строке Windows следующую команду:
При выходе новой мажорной версии её нельзя обновить установкой в ту же директорию, что и предыдущая. К примеру, если предыдущая версия установки RubyInstaller-2.5.x, а новая версия RubyInstaller-2.6.x, то её нужно установить либо в новую директорию, либо удалить старую версию и вместо неё установить новую, поскольку gem (программы) с C расширениями не совместимы между ruby-2.5 и 2.6.
Как установить и использовать gem в Windows
RubyGems — это менеджер пакетов для Ruby. С помощью него можно установить различные программы и их зависимости, установку можно делать как из исходного кода на локальной системе, так и с удалённых источников приложений.
Показанная выше установка Ruby также устанавливает и gem, чтобы в этом убедиться выполните команду:
Вы должны увидеть справку по использованию gem.
Чтобы вывести все доступные команды gem, выполните:
Чтобы установить пакет запустите команду вида:
Больше примеров по установке пакетов будет далее.
Чтобы показать справку о команде установки:
gem search log --both
Предыдущая команда используется для поиска пакетов по имени.
Просмотреть информацию о RubyGems:
Обновить все программы gem в системе:
Обновить локальную версию RubyGems:
Как установить bundler
bundler — это менеджер зависимостей Ruby. Данный менеджер пригодится при установке других программ, написанных на Ruby.
Для установки bundler в Windows выполните:
Для обновления bundle выполните команду:
Если вы устанавливаете программу из исходного кода и там присутствует файл Gemfile, то перейдите в папку с этой программой и выполните в ней команду:
Эта команда установит все перечисленные в файле Gemfile зависимости.
Чтобы увидеть, где установленные с помощью bundle пакеты gem, используйте команду:
Как установить программу Ruby в Windows. Как запустить программу Ruby в Windows
Далее рассмотрим несколько примеров установки и использования программ на Ruby в Windows.
Восстановление сайтов из Интернет Архива в Windows
Начнём с программы Wayback Machine Downloader, которая полностью восстанавливает сайты из веб архива.
Для установки Wayback Machine Downloader достаточно выполнить:
Запустим для проверки работоспособности программы восстановление сайта из Архива Интернета:
Программа успешно завершила работу:
Как установить WhatWeb в Windows
WhatWeb идентифицирует веб-сайты. Цель этой программы ответить на вопрос «Чем является этот веб-сайт?». WhatWeb распознает веб-технологии, в том числе систему управления контентом (CMS), платформы для ведения блогов, пакеты статистики/аналитики, библиоотеки JavaScript, веб-сервера и встроенные устройства. WhatWeb имеет более 1700 плагинов, каждый из которых для распознавания чего-то одного. WhatWeb также идентифицирует номера версий, email адреса, ID аккаунтов, модули веб-платформ, SQL ошибки и прочее.
Начнём с поиска WhatWeb в репозитории пакетов Ruby:
Найдено только simple_whatweb (0.4.1).
Даже если это WhatWeb, то версия очень старая. Поэтому на Windows установим WhatWeb из исходного кода.
Распакуйте эту папку. Откройте командную строку и перейдите в эту папку:
Следующая команда покажет справку по программе:
Запустим проверку сайтов:
Установка WPScan в Windows
Что такое MSYS2. Как пользоваться MSYS2
Мы установили уже MSYS2 для того, чтобы получить доступ к инструментам компиляции, благодаря которым мы сможем установить любой пакет Ruby. На самом деле MSYS2 основывается на Cygwin и содержит большое количество утилит Linux.
MSYS2 предоставляет оболочку bash, Autotools, make, gcc, pacman, sh и многие другие пакеты. Особенно следует отметить менеджер пакетов pacman.
Для активации рабочего окружения MSYS2 откройте командную строку или консоль powershell и выполните там:
В результате сразу станут доступны для работы многие утилиты Linux, а также менеджер пакетов Pacman, с помощью которого можно установить новые пакеты или обновить имеющиеся. При установке пакетов Pacman следит за зависимостями и устанавливает их.
Здесь представлено небольшое введение в Ruby, которое должно занять не более двадцати минут. Предполагается, что вы уже установили Ruby. (Если на вашем компьютере нет Ruby, скачайте и установите его перед тем как начать.)
Интерактивный Ruby
Ruby устанавливается вместе с программой, которая покажет результат любого Ruby кода, который вы напишете в ней. Играть с кодом Ruby интерактивно – отличный способ узнать язык.
Откройте IRB (сокращение для Interactive Ruby).
- Если вы используете macOS, откройте Terminal , наберите irb и нажмите Enter.
- Если вы используете Linux, откройте shell , наберите irb и нажмите Enter.
- Если вы используете Windows, откройте Interactive Ruby из секции Ruby вашего меню Пуск.
Окей, итак он запущен. Что дальше?
Наберите это: "Hello World"
Ruby повиновался вам!
Что только что произошло? Неужели мы только что написали кратчайшую в мире программу “Hello World”? Не совсем. Вторая строка, это всего-лишь способ IRB показать нам результат последнего выполненного выражения. Если мы хотим напечатать “Hello World”, мы должны написать немного больше:
puts – основная команда в Ruby, позволяющая напечатать что-нибудь. Но что же такое тогда => nil ? Это результат выполнения выражения. puts всегда возвращает nil, который в Ruby обозначает значение абсолютно-положительного ничего.
Ваш бесплатный калькулятор
Теперь мы знаем достаточно, чтобы использовать IRB как простейший калькулятор:
Три плюс два. Достаточно просто. Что насчет три умножить на два? Вы можете набрать сами, это достаточно короткий код, но также вы можете вернуться выше и изменить то, что вы ввели ранее. Попробуйте нажать стрелку наверх на клавиатуре и вы увидите строку с 3+2 . Если это так - вы можете использовать стрелку влево, чтобы переместить курсор прямо за + , нажать backspace и поменять его на * .
Теперь давайте попробуем возвести три в квадрат:
В руби ** – способ возвести число в степень. Но что если вы хотите пойти в обратном направлении и узнать квадратный корень от чего-либо?
Окей, погодите, что это было? Если вы думаете “это был способ выяснить квадратный корень из девяти”, вы правы. Но давайте приглядимся к деталям. Во-первых, что такое Math ?
Модули группируют код по темам
Math – это встроенный модуль для математических операций. Модули выполняют две роли в Ruby. Наш пример показывает первую роль: сгруппировать похожие методы вместе под знакомым именем. Math также содержит методы типа sin() и tan() .
Результат от вызова этого метода – 3.0 . Вы можете заметить, что это не просто 3 . Это потому, что большинство значений квадратного корня от числа не являются целыми, так что метод всегда возвращает число с плавающей точкой.
Что если мы хотим запомнить результат какой-либо математической операции? Присвойте это значение переменной.
Введение
П рограмма «Hello, World!» является классической и проходит через время в компьютерном программировании.Это простая и полная первая программа для начинающих, и это хороший способ чтобы убедиться что среда правильно настроена.
Эта статья покажет вам как создать программу в Ruby. Однако, чтобы сделать программу более интересной, мы изменим традиционную программу «Hello, World» так, чтобы она запрашивала у пользователя их имя. Затем мы используем имя в приветствии. Когда вы закончите с статьей, вы будете иметь программу, которая выглядит следующим образом, когда вы запустите ее:
Предпосылки
Вы должны иметь локальную среду разработки на Ruby установленной на вашем компьютере. Как установить Ruby и Rails на Ubuntu 16.04.
Для того, чтобы написать программу «Hello, World!», Давайте откроем текстовый редактор командной строки такую как nano и создадим новый файл:
После того, как текстовый файл откроется в окне терминала, мы введем нашу программу:
Давайте разберем различные компоненты кода.
puts является метод Ruby, который говорит компьютеру чтобы напечатать текст на экране.
Некоторые методы, такие как метод puts, включены в Ruby по умолчанию. Эти встроенные методы всегда доступны при создании программ на Ruby. Вы также можете определить свои собственные методы.
Сохраните и выйдите из nano, нажав клавиши CONTROL + X, и когда будет предложено сохранить файл, нажмите кнопку Y.
Давайте попробуем запустить нашу программу.
Наша программа «Hello, World!» готова к запуску. Мы будем использовать команду ruby, за которой следует имя файла который мы только что создали.
Программа будет выполнять и отображать этот вывод:
Давайте рассмотрим, что на самом деле произошло.
В этом примере строка Hello, World! также называется аргументом поскольку это значение, которое передается к способу.
Ковычки, которые были по обе стороны Hello, World! не были выведены на экран потому что они используются, чтобы сказать Ruby что они содержат строку. Кавычки указывают, где строка начинается и где заканчивается.
Программа работает, но мы можем сделать ее более интерактивной. Давайте рассмотрим, как.
Каждый раз, когда мы запускаем нашу программу, она производит такой же вывод. Давайте предложим запускать нашу программу от их имени. После этого мы можем использовать это имя на выходе.
Вместо того чтобы модифицировать существующую программу, создадим новую программу под названием greeting.rb в редакторе nano:
Во-первых, добавьте эту строку, которая предлагает пользователю ввести свое имя:
Еще раз, мы используем метод puts чтобы напечатать текст на экране.
Теперь добавьте эту строку, чтобы захватить ввод данных пользователем:
Это следующая строка немного сложнее. Давайте разберем ее.
Метод gets сообщает компьютеру ждать ввода с клавиатуры. Он останавливает программу, позволяя пользователю ввести любой текст который они хотят. Программа продолжиться когда пользователь нажимает клавишу ENTER на клавиатуре. После нажатия клавиш, включая клавишу ENTER, программа захватит и преобразует в строку символов.
Мы хотим использовать эти символы в выходе нашей программы, поэтому мы сохраним эти символы, назначая строку к переменной называемая name. Ruby сохранит эту строку в памяти компьютера пока программа не завершится.
Наконец, добавьте эту строку, чтобы напечатать вывод:
Мы используем метод puts снова, но на этот раз мы используем функцию Ruby вызываемую строку интерполяции которая позволяет нам принимать значение присвоенное переменной и поместить ее внутри строки. Вместо слова name, мы получим значение которое мы сохранили в переменной name, которая должна быть именем пользователя.
Сохраните и выйдите с nano нажатием CTRL+X и нажмите y когда будет предложено сохранить файл.
Теперь запустите программу. Вам будет предложено ввести свое имя, поэтому введите ее и нажмите ENTER. Выходной сигнал может ,не то что вы ожидаете:
Откройте файл greeting.rb в редакторе:
Найдите эту строку в вашей программе:
И изменить его так, чтобы это выглядело следующим образом:
При этом используется в Ruby метод chop на строке которую мы захватили с помощью gets. Метод chop удаляет самый последний символ из строки. В этом случае, он удаляет символ новой строки в конце строки созданной при нажатии ENTER.
Сохраните и выйдите из nano. Нажмите CTRL+X, а затем нажмите y когда будет предложено сохранить файл.
Запустите программу еще раз:
На этот раз, после того, как вы введете свое имя и нажмете кнопку ENTER, вы получите ожидаемый результат:
Теперь у вас есть программа на Ruby, которая принимает данные от пользователя и выводит их обратно на экран.
Вывод
Теперь, когда вы знаете, как запрашивать ввод, обработка результатов и вывод на экране, попытайтесь расширить свою программу дальше. Например, попросите любимые цвета пользователя, и скажите программе, что его любимый цвет красный. Вы даже можете попробовать использовать эту же технику, чтобы создать простую программу Mad-Lib.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Читайте также: