Читаем Первые 20 часов. Как быстро научиться… чему угодно полностью

Heroku receiving push

Ruby/Sinatra app detected

Gemfile detected, running Bundler version 1.0.7

Unresolved dependencies detected; Installing…

Using — without development: test

! Gemfile.lock will soon be required

! Check Gemfile.lock into git with `git add Gemfile.lock`

! See http://devcenter.heroku.com/articles/bundler

Fetching source index for http://rubygems.org/

Installing rack (1.4.1)

Installing rack-protection (1.2.0)

Installing tilt (1.3.3)

Installing sinatra (1.3.3)

Using bundler (1.0.7)

Your bundle is complete! It was installed into./.bundle/gems/

Compiled slug size: 500K

Launching… done, v4

http://shielded-springs-2049.heroku.com deployed to Heroku

И теперь. момент истины… Я открываю веб-браузер, перехожу на http://shielded-springs-2049.heroku.com и вижу вот что:

«Hello, World!»

ПОБЕДА!

Внимание! Внимание!

Программа заработала, но я также получил предупреждение. Что такое Gemfile.lock?

В документации Heroku’s Ruby указано, что для установки библиотек на Heroku система использует библиотеку под названием bundler [31]. Это библиотека, и поэтому я могу установить ее при помощи следующей команды:

$ gem install bundler

Библиотека bundler необходима потому, что Heroku по умолчанию не устанавливает библиотеки из вашего приложения. Из соображений безопасности Heroku не присваивает мне такой уровень доступа к серверу, какой есть у меня на моем компьютере, и я не могу выполнить команду gem install sinatra прямо в моей учетной записи.

Вместо того чтобы предоставить мне (и другим пользователям) небезопасный уровень доступа к системе, Heroku использует bundler для установки библиотек, указанных в Gemfile. Отметив, какие библиотеки вы хотите установить в своем приложении, вы набираете команду:

$ bundle install

Эта команда создает в вашей программе новый файл под названием Gemfile.lock. Когда вы загружаете свои файлы в Heroku, система просматривает Gemfile и Gemfile.lock, проверяет их идентичность, после чего загружает библиотеки, а затем устанавливает их для вас.

Если вы посмотрите на ответ системы, когда я размещал программу на Heroku, то увидите, что система устанавливала bundler автоматически, как средство поддержки зависимостей. Вместо того чтобы предусмотреть сообщение об ошибке, инженеры Heroku добавили в программу исключение — вместо аварийного завершения автоматически загрузить отсутствующую программу и отправить предупреждение.

На этот раз система сработала, но в будущем я должен добавить файл Gemfile.lock в репозиторий git, прежде чем размещать приложение. Полезная информация!

На сцену выходит Sinatra

Теперь, когда мое простейшее приложение создано и запущено, я могу наконец начать разбираться, как работает Sinatra. Документация среды программирования Sinatra [32] очень подробна и включает множество примеров, и поэтому я решил начать именно с нее.

Основа приложений Sinatra называется маршрут

. Лучше всего объяснить это понятие на примере.

Наше простое приложение Sinatra имеет один маршрут, который содержит «корень» сайта. Пользователи интернета обычно указывают корень сайта как начальную страницу сайта.

Если вы заходите на google.com или на yahoo.com, то браузер посылает запрос на сервер Google или Yahoo. Этот запрос называется GET-запросом, и он просит сервер показать вам, что находится в корневом каталоге сайта. Протокол, или формат, который использует компьютер для отправки запроса, называется HTTP, что расшифровывается как «протокол передачи гипертекста». Именно с этой аббревиатуры начинаются адреса в интернете — «http://».

GET — это самый распространенный из запросов HTTP, но не единственный. Существуют три дополнительных «глагола» HTTP:


● POST — отправить ресурс на сервер;

● PUT — обновить ресурс на сервере;

● DELETE — удалить ресурс с сервера.


Если вы оставляете на сайте комментарии, то ваше остроумное замечание отправляется на сервер командой POST. Если вы сделали ошибку и редактируете комментарий, то обновление выполняется с помощью команды PUT. А если вы решили, что комментарий неудачный и его нужно удалить, браузер посылает команду DELETE.

Маршруты GET, POST, PUT и DELETE — это основа работы приложений Sinatra. Каждый создаваемый вами маршрут является условным: «Делать Х, если команда GET/POST/PUT/DELETE получена на маршруте Y».

Перейти на страницу:

Похожие книги

Нейрогастрономия. Почему мозг создает вкус еды и как этим управлять
Нейрогастрономия. Почему мозг создает вкус еды и как этим управлять

Про еду нам важно знать все: какого она цвета, какова она на запах и вкус, приятны ли ее текстура и температура. Ведь на основе этих знаний мы принимаем решение о том, стоит или не стоит это есть, удовлетворит ли данное блюдо наши физиологические потребности. На восприятие вкуса влияют практически все ощущения, которые мы испытываем, прошлый опыт и с кем мы ели то или иное блюдо.Нейрогастрономия (наука о вкусовых ощущениях) не пытается «насильно» заменить еду на более полезную, она направлена на то, как человек воспринимает ее вкус. Профессор Гордон Шеперд считает, что мы можем не только привыкнуть к более здоровой пище, но и не ощущать себя при этом так, будто постоянно чем-то жертвуем. Чтобы этого добиться, придется ввести в заблуждение мозг и заставить его думать, например, что вареное вкуснее жареного. А как это сделать – расскажет автор книги.Внимание! Информация, содержащаяся в книге, не может служить заменой консультации врача. Перед совершением любых рекомендуемых действий необходимо проконсультироваться со специалистом.В формате PDF A4 сохранён издательский дизайн.

Гордон Шеперд

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Медицина и здоровье / Дом и досуг
Древний Египет
Древний Египет

Прикосновение к тайне, попытка разгадать неизведанное, увидеть и понять то, что не дано другим… Это всегда интересно, это захватывает дух и заставляет учащенно биться сердце. Особенно если тайна касается древнейшей цивилизации, коей и является Древний Египет. Откуда египтяне черпали свои поразительные знания и умения, некоторые из которых даже сейчас остаются недоступными? Как и зачем они строили свои знаменитые пирамиды? Что таит в себе таинственная полуулыбка Большого сфинкса и неужели наш мир обречен на гибель, если его загадка будет разгадана? Действительно ли всех, кто посягнул на тайну пирамиды Тутанхамона, будет преследовать неумолимое «проклятие фараонов»? Об этих и других знаменитых тайнах и загадках древнеегипетской цивилизации, о версиях, предположениях и реальных фактах, читатель узнает из этой книги.

Борис Александрович Тураев , Борис Георгиевич Деревенский , Елена Качур , Мария Павловна Згурская , Энтони Холмс

Культурология / Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / История / Детская познавательная и развивающая литература / Словари, справочники / Образование и наука / Словари и Энциклопедии