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

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

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

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

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

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

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

Ярость против машины

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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