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

Кроме того, я хочу добавить еще одну меру безопасности — шифрование. Протокол SSL — его используют банки для обеспечения безопасности онлайновых банковских операций — добавится к моему приложению с помощью библиотеки rack-ssl-enforcer:

require 'rack-ssl-enforcer'

use Rack::SslEnforcer

Библиотека заставляет браузер использовать безопасное SSL-соединение для доступа к сайту. Heroku позволяет приложениям, размещенным на его доменах, использовать SSL по умолчанию, поэтому никакие дополнительные настройки не нужны [47].

<p>Флэш-сообщения</p>

Есть еще одна функция которую мне хотелось бы добавить. Я видел сайты, где в ответ на ваши действия появляются маленькие сообщения, например «Ваша страница создана/отредактирована/удалена». Как это сделать?

После недолгих поисков я обнаружил библиотеку под названием sinatra-flash, которая обслуживает эту функцию [48]. Такие сообщения называются флэш-сообщениями и работают следующим образом: перед переходом на новую страницу в куки-файле браузера пользователя сохраняется небольшой текст. При загрузке следующей страницы приложение читает куки-файл и показывает сообщение пользователю.

Я добавил библиотеку к Gemfile и application.rb, в соответствующих маршрутах написал сообщения, которые хотел бы видеть, затем добавил несколько строк программы в мои шаблоны ERB, чтобы показывать эти сообщения. Дело сделано. Мое приложение завершено.

Вот как начинается ознакомительный файл Readme приложения «Кодекс»:

«Codex» — это простое интернет-приложение, справочник для одного пользователя, написанное на языке Ruby. «Кодекс» использует Sinatra и DataMapper для того, чтобы создавать, сохранять, обновлять и удалять записи страниц в простой базе данных Postgres. Приложение готово для немедленного размещения на сервисе Heroku.

Форматирование Markdown доступно для всех страниц, что облегчает создание сложных страниц с простой разметкой. Сохранность информации обеспечивают аутентификация HTTP и принудительное SSL-шифрование для всего трафика. Дизайн Bootstrap делает страницы аккуратными и привлекательными.

Далее в файле Readme приводятся подробные инструкции по установке приложения на Heroku. Метод «Начни разработку с Readme» оказался весьма успешным.

Всего на разработку приложения «Кодекс» я потратил 10 часов. Таким образом, затраты времени на обучение программированию составили 20 часов. (Эту главу я писал дольше, чем программу.)

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

Миссия завершена.

<p>Ярость против машины</p>

Хотелось бы кое-что прояснить: процесс, который я описал, выглядит линейным и прямым. Причина в том, что до сих пор я рассказывал о своих успехах, а не о трудностях и ошибках.

Создание полезного, рабочего интернет-приложения немного похоже на сборку пазла, но с дополнительными трудностями: вы не знаете, какие фрагменты существуют, некоторые фрагменты необходимо создавать самому, а в случае ошибки рушится вся картинка.

На самом деле процесс программирования выглядел так. Когда я приходил к выводу, что понял, как должна работать та или иная часть программы, то писал код, тестировал его — и программа вылетала. Я пытался исправить ошибку. Это иногда получалось, иногда нет, а порой изменения приводили к новым проблемам. Если я заходил в тупик, то искал объяснение ошибки или нужную библиотеку на Stack Overflow или в Google.

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

Помните, я говорил, что до конца не понимаю, для чего нужен git? Оказывается, вот для чего: если вы редактируете файлы и программа вылетает, то найти причину бывает не так просто. В такой ситуации спасением становится возможность отката к предыдущей, рабочей версии. В противном случае есть опасность запаниковать.

На этапе добавления бокового поля мое приложение перестало работать. Я пытался выявить свою ошибку, но ничего не получалось. Я был готов рвать на себе волосы — если бы они у меня были.

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

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

Древний Египет
Древний Египет

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

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

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

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

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

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