Чтение онлайн

ЖАНРЫ

Первые 20 часов. Как быстро научиться… чему угодно
Шрифт:

Лучше выбрать язык и среду программирования, которые кажутся вам привлекательными, потратить какое-то время на знакомство с ними и согласиться на неизбежные компромиссы, чем годами заниматься «исследованиями», не продвинувшись ни на шаг. Целый день просидеть в Stack Overflow и Hacker News — это не программирование.

В конечном итоге я решил начать со среды Sinatra. Генераторы Rails могут сэкономить уйму времени, если знать, что ты делаешь, — но я этого не знаю.

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

понятный синтаксис. Единственный код, который существует в приложении Sinatra, — это код, созданный разработчиком. Среда разработки хорошо задокументирована, примеры рабочих приложений можно без труда найти на GitHub, а за помощью обратиться к Stack Overflow.

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

Анализ конечного результата

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

«Разработать приложение в среде Sinatra, которое обслуживает сайт Jekyll» — так выглядит целевой уровень мастерства, однако мне нужно проанализировать это заявление, чтобы спланировать следующий шаг. Чему я должен научиться?

Еще час исследований, и я получаю вот какой результат.

1. Jekyll создает рабочий сайт из локальных статических файлов. Мне нужно сделать шаблон HTML для сайта при помощи специальных форматирующих тегов и экспортировать архив публикаций с сайта PersonalMBA.com, как описывается в инструкции, написанной Полом Стаматиу[13].

2. Приложение, созданное в среде Sinatra, обрабатывает запросы от посетителей сайта, предоставляя им запрошенные файлы. Это приложение я должен написать с нуля.

3. Готовый сайт Jekyll и серверное приложение Sinatra требуется загрузить на сетевой хост.

4. Для решения всех этих задач мне нужно понять, как установить на мой компьютер последнюю версию языка Ruby, а также среду Sinatra и другие необходимые программы.

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

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

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

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

Вперед!

Обновление Ruby

Компьютер у меня уже есть, и это хорошее начало: без него писать программу невозможно.

В настоящее время я пользуюсь Apple MacBook Air с операционной системой Mac OS X 10.6. Недолгий поиск в Google

позволяет выяснить, что операционная система поставляется с уже установленной программой Ruby версии 1.8.7. И это тоже хорошо: я могу запускать написанные на языке Ruby программы без дополнительных усилий.

Но проблема в том, что Ruby 1.8.7 не самая последняя версия программы. Когда я пытаюсь установить Jekyll, система сообщает, что программа требует версию Ruby не ниже 1.9.1, и это значит, что мне нужно выяснить, как обновить программу. Придется вновь прибегнуть к помощи Google.

Поиск выявил две программы, предназначенные для облегчения установки Ruby: rbenv и ruby-build. Обе программы поддерживаются Сэмом Стефенсоном, разработчиком Ruby из компании 37signals. Вместе они помогают устанавливать новые версии Ruby и указывать компьютеру, какую версию использовать.

Инструкция на странице документации [14] rbenv показывает, как установить программы на компьютер. Вот что представляют собой команды установки:

$ cd ~

$ git clone git://github.com/sstephenson/ruby-build.git

$ cd ruby-build

$ sudo./install.sh

$ cd..

$ git clone git://github.com/sstephenson/rbenv.git.rbenv

$ mkdir — p ~/.rbenv/plugins

$ cd ~/.rbenv/plugins

$ git clone git://github.com/sstephenson/ruby-build.git

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashprofile

$ echo 'eval "$ (rbenv init — )"' >> ~/.bashprofile

$ exec $SHELL

$ rbenv install 1.9.3-p125

$ rbenv rehash

$ rbenv global 1.9.3-p125

Выглядит устрашающе, но это всего лишь список команд. Давайте проанализируем его.

Эти команды водятся в программе Terminal, которая предустановлена на компьютерах Apple. В кинофильмах часто показывают хакеров, которые лихорадочно набирают длинные строчки команд, отображающиеся на экране. Так вот — их компьютеры работают в программе Terminal [15].

Я открываю программу и ввожу первую команду:

$ cd ~

Эту команду понять нетрудно. Символ $ программа Terminal выводит на экран, когда готова к приему новой команды. cd — это сокращение от «сменить каталог» (change directory). Не составляет труда выяснить, что символ ~ обозначает «корневой каталог пользователя», то есть папку на моем компьютере, где хранится мой профиль пользователя.

Я набираю команду и нажимаю клавишу «Ввод». Теперь программа Terminal выводит на экран следующую строчку:

joshkaufman $

Это хорошая новость: я перешел в корневой каталог. Пока все в порядке. Я набираю следующую команду:

$ git clone git://github.com/sstephenson/ruby-build.git

Компьютер отвечает:

git: command not found

Похоже, программа git не установлена на моем компьютере. Я должен выяснить, как это сделать.

Что такое git?

Занявшись поиском инструкций о том, как установить git в операционную систему Mac OS X, я наткнулся на Heroku Toolbelt [16]. Heroku [17] — это компания, предоставляющая хостинг для интернет-приложений, следовательно, они заинтересованы в том, чтобы облегчить создание этих самых интернет-приложений.

Heroku Toolbelt представляет собой программу, которая устанавливает несколько распространенных инструментов разработки программного обеспечения, необходимых для создания приложений на Heroku. Среди них есть и git [18].

Поделиться с друзьями: