Первые 20 часов. Как быстро научиться… чему угодно | страница 76



…команду для входа в Heroku:

$ heroku login

…и команду, которая добавляет ключ к моей учетной записи в Heroku:

$ heroku keys: add

Отлично: я в системе. Как мне теперь приступить к написанию программы?

Создание простого приложения

Пришло время просмотреть документацию по сервису Heroku. Отлично: там есть два руководства, которые представляются мне полезными:


● «Ruby на Heroku для начинающих» («Getting Started with Ruby on Heroku») [28];

● «Развертывание приложений на основе Rack» («Deploying Rack-Based Apps») [29].


Судя по тому, что написано в этой документации, я должен сделать следующее.


1. Создать файлы с программами на своем компьютере.

2. Добавить их в «репозиторий git». (Понятия не имею, что это…)

3. Использовать команду git push heroku master, чтобы отправить готовое приложение на Heroku.


К счастью, в руководстве есть пример, и это приложение, написанное в среде Sinatra! Похоже, все проще, чем я думал…

Я создаю на своем компьютере новую папку. Эта папка называется «корневой», и в ней будут храниться все файлы программы.

Далее я открываю текстовый редактор (я пользуюсь редактором TextMate [30]) и, следуя инструкции, создаю три файла:

application.rb

config.ru

Gemfile

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

В файле config.ru будут храниться параметры конфигурации Rack. Не забывайте, что Sinatra построена над интерфейсом Rack, и поэтому вполне логично, что у него есть отдельный файл конфигурации. Эти файлы оканчиваются расширением. ru.

Gemfile — это место, где указываются библиотеки, используемые программой. Ваша программа может иметь только один такой файл, и поэтому он всегда называется одинаково — «Gemfile». Все довольно просто.

Документация по Heroku рекомендует после создания этих файлов написать простейшую программу «Hello, World!», чтобы проверить настройки. Вот что должно быть в файле application.rb:

require 'sinatra'

get '/' do

"Hello, World!"

end

А так выглядит файл config.ru:

require './application.rb'

run Sinatra:: Application

И наконец, Gemfile:

source 'http://rubygems.org'

gem 'sinatra'

Программа совсем короткая, и понять ее нетрудно.


● Gemfile указывает серверу включить библиотеку Sinatra, которая требуется для работы приложения. Библиотека будет загружена с сайта RubyGems.org.

● Файл config.ru указывает основное приложение, затем выполняет программу.

● После запуска программа будет отображать на экране «Hello, World!», когда кто-либо нажмет «/», что указывает на возврат на главную страницу сайта.