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

Программа представляет собой простое приложение, предназначенное для создания заметок.

Приложение предназначено для одного пользователя.

Приложение использует среду Sinatra и базу данных для создания, сохранения, обновления и удаления записей на странице.

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

Приложение требует пароль доступа и обеспечивает сохранность базы данных, насколько это возможно.

У приложения привлекательный внешний вид.

Приложение может без труда размещаться на Heroku или любом другом ресурсе.

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

В интернет-программировании подобные приложения называются «CRUD» — аббревиатура от английского «создание чтение обновление удаление». Стоит отметить, что эти функции совпадают с командами GET, POST, PUT, DELETE, и поэтому написать такое приложение можно и с использованием маршрутов Sinatra. Разница, причем существенная, заключается в использовании базы данных.

Какие возможности работы с базами данных предоставляет Heroku? Не знаю. Придется вновь заглянуть в документацию.

По умолчанию Heroku использует базу данных под названием Postgres [35]. Каждому новому приложению автоматически назначается маленькая база данных разработки. Мне это подходит, но как ею пользоваться и какими средствами протестировать программу на моем компьютере?

За ответами на эти вопросы я решил обратиться к Stack Overflow. Общее мнение: решение подобных задач значительно облегчает применение базы данных под названием DataMapper [36].

DataMapper относится к классу программ, получивших название «объектно-реляционного отображения», или сокращенно ORM [37]. Метод ORM решает насущную проблему программистов: базы данных зачаcтую используют собственный язык, отличающийся от языка, на котором пишется приложение. В большинстве баз данных используется язык SQL [38], однако существуют и сотни других языков.

Предположим, что мы пишем программу для сайта Amazon.com и хотим вывести на экран список книг Дж. К. Роулинг, автора серии о Гарри Поттере. Команда на языке SQL будет выглядеть так:

SELECT * FROM Book WHERE author = "J.K. Rowling" ORDER BY

title;

Данная команда извлекает из базы данных все записи, в поле «author» которых содержится «J.K. Rowling», и располагает их в алфавитном порядке по названию книги.

К сожалению, заставить SQL или любой другой язык запросов базы данных корректно работать с такими языками, как Ruby, — сложная задача. Непросто писать программу на одном языке, не говоря уже о нескольких языках одновременно.

Здесь на помощь приходит ORM: она позволяют программисту писать программу на одном языке, который ORM затем переводит на язык базы данных. Так гораздо проще.

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

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

$ gem install data_mapper

Поскольку объем библиотеки DataMapper очень велик, ее можно устанавливать по частям. Этот принцип называется «модульностью», и он может служить признаком профессионального программирования. Вот как выглядит команда загрузки всех отдельных библиотек:

$ gem install dm-core dm-aggregates dm-constraints dm-migrations dm-transactions dm-serializer dm-timestamps dm-validations dm-types

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

<p>Использование DataMapper</p></span><span>

Теперь, когда библиотека DataMapper установлена, я должен научиться с ее помощью 1) связываться с базой данных и 2) создавать базу данных для хранения и извлечения нужной мне информации.

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

DataMapper.setup (: default, ENV ['DATABASE_URL'] ||

"sqlite3://# {Dir.pwd} /database.db")

В данном случае || означает «или». ENV ['DATABASE_URL'] — это переменная, которую Heroku использует для вашей базы данных. Если эта база данных недоступна, то будет применен второй вариант, база данных под названием Sqlite [39].

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

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

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

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

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

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

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

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

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