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

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

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

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

<p>На сцену выходит Sinatra</p></span><span>

Теперь, когда мое простейшее приложение создано и запущено, я могу наконец начать разбираться, как работает 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».

Маршруты Sinatra также содержат переменные, которые называются параметрами. Приложения Sinatra обычно используют параметры в качестве входных данных для процесса, содержащегося в каждом маршруте.

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

get '/hello/: name' do

"Hello, # {params [: name]}!"

end

Вы можете увидеть результат наПопробуйте заменить «name» своим именем. Работает!

Это приложение позволяет серверу посмотреть, что содержится в параметре маршрута «name», и использовать это значение. Команда маршрута представляет собой простую инструкцию — показать параметр «name» пользователю.

Sinatra позволяет вам дать название параметру (например, name), но также имеет «универсальный» параметр (его также называют «решеткой» (splat)), который может содержать все что угодно. Вот как можно использовать его в нашем модифицированном приложении «Hello»:

get '/hello/*' do

"Hello, # {params [: splat]}!"

end

Это очень удобно. С помощью обычных и универсальных параметров можно прописывать самые замысловатые маршруты. Создаваемые вами маршруты определяют работу приложения Sinatra.

Этих сведений достаточно, чтобы понять, как написать программу, которая удовлетворяет моему целевому уровню мастерства. Поскольку Jekyll создает файлы, которые приложение предоставляет по запросам пользователей GET, мне остается лишь написать несколько маршрутов, которые принимают эти запросы, находят в системе нужные файлы и предоставляют их читателю.

Как указывается в документации на Jekyll, программа помещает законченные веб-страницы в папку под названием «site» в корневом каталоге. Маршрут к этой странице автоматически генерируется Jekyll. Если мы хотим, чтобы наша страница About была доступна намы ставим маршрут /about в файлах Jekyll, и программа создаст файл в _site/about/index.html в корневом каталоге нашего сайта.

Это означает, что я должен создать новый маршрут в Sinatra, чтобы прочесть файл в ответ на запрос пользователя GET. Вот как он будет выглядеть:

# Index handler

get '/?' do

## File.read ("_site/index.html")

end

# Post handler

get '/*/?' do

## File.read ("_site/# {params [: splat]} /index.html")

end

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

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

100 способов избавиться от комплексов
100 способов избавиться от комплексов

Комплексы… А у кого их нет? Редкий человек может смело заявить, что комплексы не мешают ему жить и радоваться жизни по той простой причине, что их у него просто нет. Зато наверняка каждый знает, что тот или иной вредный комплекс мешает ему в жизни. На комплексы взваливают вину за неудачи и провалы, не пытаясь, однако, бороться с ними. А это обязательно надо сделать, особенно сейчас, когда вы держите в руках это издание. Автор подробно рассматривает все известные комплексы и предлагает свои методы борьбы с ними. Не упустите шанс обрести радость в жизни, пока борьба с комплексами возможна.Хотя в заглавии громко заявлено о ста способах, я полагаю, что это излишняя роскошь, вполне достаточно будет и одного, если он поможет вам почувствовать себя полноценным и уверенным в себе человеком. Поэтому в своей книге я не буду заострять внимание на ста способах избавления от комплексов – лучше подробнее остановлюсь на самих комплексах и причинах, их порождающих. Как избавиться от ста комплексов, что делать, чтобы снова ощутить радость жизни? Что ж, ответ на этот вопрос вы отыщете в книге!Важное замечание: комплексы не появляются на ровном месте, их появление всегда чем-то обусловлено. Поэтому, если вы хотите задушить в себе "дракона", не кидайтесь слепо в бой; вам надо отыскать его логово, понять его природу, только тогда вы сможете победить его! Комплексы можно сравнить с сорняками, вырастающими из семечка… именно эти семена вы должны будете отыскать в себе и избавиться от них! В моей книге в алфавитном порядке представлены причины, приводящие к возникновению комплекса неполноценности у человека. Для того чтобы узнать, как избавиться от своей проблемы, вы должны отыскать "свой" комплекс и прочитать все, что к нему относится. Надеюсь, мои советы помогут вам наладить свою жизнь!

Глеб Иванович Черниговцев

Карьера, кадры / Самосовершенствование / Эзотерика
Самоанализ
Самоанализ

Карен Хорни (1885-1952) известна не только как яркая представительница неофрейдизма (направления, возникшего вследствие возрастающей неудовлетворенности ортодоксальным психоанализом), но и как автор собственной оригинальной теории, а также одна из ключевых фигур в области женской психологии. Она единственная женщина-психолог, чье имя значится в ряду основателей психологической теории личности. В своей работе «Невротическая личность нашего времени» (1937), ознаменовавшей отход от классической фрейдовской теории, она сосредотачивается не на прошлых, а на существующих в данный момент конфликтах личности и включает в сферу своего внимания социальные и культурные факторы развития неврозов. Книга «Самоанализ» (1942) стала первым руководством по самоанализу, предназначенным помочь людям самостоятельно преодолевать собственные проблемы. Для психологов, психотерапевтов, социальных работников, педагогов и всех интересующихся вопросами психологии и развития личности.

Karen Horney , Антон Олегович Калинин , Карен Хорни , Л. Рон Хаббард , Рон Лафайет Хаббард

Медицина / Психология и психотерапия / Самосовершенствование / Психология / Эзотерика / Образование и наука