Новое начало, часть 6

ПОМОЩЬ В ПУТИ

Что ж, я быстро научился загружать свой код, вызывающий нарушение, на GitHub и звать на помощь, используя окно сообщения прямо на экране под уроком, над которым я работал. Затем я вставал, потягивался, ходил по дому, выпивал стакан воды и возвращался к своему компьютеру, а в моем почтовом ящике была ссылка на ответ на мой вопрос. Эти ребята были БЫСТРЫ!

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

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

Если бы я не видел ничего плохого в своем коде, я бы скопировал код прямо из урока и вставил его поверх своего кода. Часто я замечал то же самое, что и я: например, другой код был длиннее или короче. Присмотревшись, я увидел, что я упустил или добавил. Если нет, я бы разрешил запустить код из урока. Обычно тот код, который, как я был УБЕЖДЕН, идентичен моему, работал нормально. Упс. Не идентичны.

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

Меньше обращений за помощью!

ВСТРЕЧА С НАСТАВНИКОМ: КОГДА ЗАНЯТИЕ НЕ ЗАНЯТИЕ?

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

Одна из частей программы Firehose, которая мне больше всего понравилась, заключается в том, что у каждого студента есть свой личный наставник для работы. Я бы с нетерпением ждал встречи со своим. А на второй неделе я встретил Кевина. Мы познакомились, конечно же, онлайн — через Google Hangout.

Кевин был серьезным парнем из разряда «Давайте начнем». Очень мало светской беседы. «Ты уже начал челлендж blur1?» «Нет, нет. Я должен был? «Ну, открывай сейчас же. Что ты знаешь о классах?

Я с гордостью хвастался: «Классы — это способ для HTML получить инструкции от CSS о том, как следует отображать данный элемент кода — например, насколько большим должен быть шрифт, или шрифт, или цвет — такие атрибуты. Или в бутстрапе (волшебный способ добавить более сложное форматирование), на сколько столбцов должен расширяться блок текста».

Кевин не был впечатлен. «Это другой класс. Задача blur1 использует массивы — двумерные массивы — и ваша задача — создать класс, который заставит этот код работать». (Он показал мне блок кода, который не имел для меня никакого смысла. Моя уверенность и гордость за свои достижения испарились.)

"Это не сложно. Вы начнете с просмотра этих видеороликов об объектно-ориентированном программировании». (Он показал мне ссылку в тексте, поставившую задачу.) Тогда прочитайте о массивах здесь». (Он показал мне другую ссылку.)

«А пока, давайте начнем. Откройте новый файл в текстовом редакторе и создайте новый класс. Назовем это изображением. Как бы Вы это сделали?"

Так как это был новый тип класса, я почти ничего не знал. Но я помнил, что приложение, над которым я работал, включало некоторый код, который начинался со слова class и, казалось, делал что-то отличное от того, что делали классы CSS. Поэтому я набрал «класс Image» и остановился. "Чего не хватает?" — спросил Кевин. — Не знаю, — ответил я. «Ну, мы определяем класс». Какая последняя часть, когда мы что-то определяем?»

На это я думал, что смогу ответить. Я набрал «конец» в следующей строке. "Правильно. Итак, давайте запустим этот код и посмотрим, что произойдет».

Я набрал «ruby image.rb» в своем окне терминала, чтобы запустить код в файле, и WHAM, мы получили сообщение об ошибке. «Как мы это решим?» — спросил Кевин. Не имел представления. Он показал мне.

Мы запустили этот код и получили еще одно сообщение об ошибке. Он показал мне, как исправить это сообщение об ошибке. Промыть и повторить. Наконец мы добрались до того места, где сообщений об ошибках больше не было. «Хорошо, после того, как вы посмотрите видео и прочитаете о массивах, вы будете готовы решить эту задачу. До следующей недели я также хочу, чтобы вы просмотрели доски объявлений в Тампе и узнали, кто нанимает разработчиков и что они ищут. Вы захотите определить, как только сможете, на чем вы хотите сосредоточить свое обучение. Что-нибудь еще?"

Нет, ничего другого не было. Я был измотан. Теперь я не понаслышке знал, почему программа называлась «Проект пожарного шланга».

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

(Подробнее… нажмите здесь!)