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

Довольно быстро мне удается найти несколько общедоступных библиотек Markdown. Я выбираю библиотеку rdiscount и включаю в application.rb:

require 'rdiscount'

Rdiscount преобразует текст из формата Markdown в HTML, а браузер пользователя затем отображает должным образом отформатированный текст. Файлы Markdown представляют обычные текстовые файлы, написанные по определенным правилам.

Это значит, что мне не нужно преобразовывать информацию моей страницы в Markdown, прежде чем добавлять в базу данных. Это ведь обычный текст. Если я хочу отобразить отформатированный текст, мне нужно лишь вызвать rdiscount.

Команда, которую я добавил в шаблоны ERB, отвечающие за отображение страниц, выглядит следующим образом:

% markdown (@page.content)%

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

Меры безопасности

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

Как выяснилось, современные браузеры поддерживают безопасный протокол под названием «Базовая аутентификация HTTP» [46], который представляет собой простой способ потребовать у пользователя имя и пароль, прежде чем продолжить работу. Если пользователь не может предоставить полномочия доступа, его переправляют на страницу с сообщением об ошибке.

Вот фрагмент программы, обеспечивающий базовую идентификацию в Sinatra:

use Rack:: Auth:: Basic, "Restricted Area" do |username, password|

[username, password] == [ENV ['ADMIN_USER'], ENV ['ADMIN_PASS']]

end

В данном случае я храню имя пользователя и пароль в Heroku как переменные среды, которые я могу задать командой Terminal. Это позволяет мне использовать один и тот же код для разных приложений, а также показать вам этот код, не сообщая своего пароля!

Это также превосходная иллюстрация того, почему важно знать, что Sinatra построена над интерфейсом Rack. Дело в том, что существует много общедоступных библиотек типа Rack::Auth::Basic, и любую из них я могу использовать с Sinatra. Чем реже мне приходится изобретать колесо, тем лучше.

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

require 'rack-ssl-enforcer'

use Rack::SslEnforcer

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

Флэш-сообщения

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

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

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

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

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

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

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

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

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

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

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

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

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