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

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

Одно из приложений, которым я пользуюсь, называется Backpack [33] и разработано компанией 37signals. Основное преимущество Backpack — возможность создавать страницы, содержащие все что угодно: текст, списки, изображения, файлы и так далее. Сохранив информацию о странице в Backpack, впоследствии вы можете получить к ней доступ с любого компьютера, поскольку вся информация хранится в базе данных приложения.

Я спрашиваю себя: могу ли я сам создать нечто подобное? Попробовать стоит… но с чего начать?

Изучая Jekyll, я прочел статью программиста Тома Престона-Вернера, создателя Jekyll, под названием «Начни разработку с Readme» («Readme Driven Development») [34]. Идея статьи заключалась в том, что вопреки волнам увлечения проектным менеджментом, которые каждые несколько лет захлестывают индустрию программного обеспечения, лучший способ создать приложение — начать с написания ознакомительного документа Readme.

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

Файлы Readme очень важны, поскольку многие программы требуют пояснений. Без этого документа зачастую бывает трудно понять, как пользоваться программой. Самостоятельный просмотр кода не так эффективен, как чтение подробного объяснения, написанного создателем программы.

Том утверждает, что сначала нужно написать файл Readme, а уж затем браться за саму программу. Большинство программистов поступают с точностью до наоборот: сначала пишут программу, а затем (возможно) ознакомительный файл. И упускают благоприятную возможность: разработка документации помогает понять, как именно будет работать программа. Файл Readme может быть не только полезным документом, но и средством разработки.

Такой подход мне нравится. Один из приемов, которые я освоил в процессе работы над «Сам себе MBA», заключался в написании рекламных материалов до, а не после создания коммерческого предложения. Выясняя, что требуется потенциальным покупателям, и включая это в рекламный материал, вы получаете более полное представление о том, каким должен быть продукт, чтобы привлечь внимание клиентов. Разработку самого предложения определяет маркетинговое исследование.

Я взял блокнот и составил список функций, которые я хотел бы иметь в своем приложении, а также характеристик программы.

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

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

● Приложение использует среду 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;

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

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

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

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

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

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

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

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

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