Меня волнует процесс, а не конечный продукт - Гари Вайнерчук

TL; DR: To-Do App - ›RailsForZombies -› Confusing Params - ›Совет айсберга

Процесс? Выходные, которыми я жертвую. Конечный продукт? Дерьмовое приложение с делами. Что это значит "процесс-продукт"? Ранее на этой неделе мне пришлось представить свое не очень хорошее приложение (ошибки обнаружены повсюду), чтобы сделать приложение для моего класса. Глядя на приложение для одноклассников, я чувствовал себя деморализованным и смущенным, если честно. Они могут создавать такие хорошие веб-приложения, а у меня было нормально работающее приложение. Однако я сказал себе. Речь идет о процессе, о процессе, о процессе ... Вот фрагмент моего приложения:

Здесь это выглядит неплохо, но как только вы нажимаете кнопки, появляются ошибки, как будто ваши друзья рыщут вокруг вас, когда вы открываете пакет с фишками. Несмотря на то, что мне приходилось допоздна выяснять, что не так, даже после работы на неполный рабочий день на выходных, я все еще отлаживал и задавался вопросом, где, почему и в чем заключаются мои ошибки. Это просто показывает, что у меня нет прочной основы того, как работают рельсы. Однако я был полон решимости получить правильные фундаментальные знания! Шерлинн Тан, моя одноклассница поделилась этим RailsForZombies. Это было большим подспорьем, спасибо, чувак! Таким образом, я скачал слайды о том, как работают рельсы, и сделал онлайн-уроки.

Мое понимание росло, и я просто повторяю уроки, пока не дошло до мышечной памяти о том, что делают функции / методы. Я был воодушевлен и мотивирован. Затем последовало следующее задание - приложение для создания фотоальбомов с аутентификацией пользователя. Мы узнали Devise, который представляет собой гем / библиотеку аутентификации. Прохладный! Более того, мы узнали, как судить о различных драгоценных камнях / библиотеках в сфере интернета. А как нам загружать фотографии в альбомы фотоальбомов, спросили вы? До свидания ага. Я имею в виду CarrierWave (еще одна жемчужина). Носитель волны бесконечных селфи.

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

  1. Аутентификация (разработка) и комментарии (для фотографий)
  2. Фотоальбомы
  3. Загрузка фотографий (Carrierwave)

Я отвечал за аутентификацию и комментарии и стал охранником своего сайта. Убедиться, что никто не сможет увидеть альбомы селфи, которые я загрузил на свой веб-сайт. Что касается аутентификации, это оказалось не так сложно, как я думал. Однако в комментариях есть что комментировать.

Запутанные параметры

Что мне нужно было сделать, так это передать параметры с моим идентификатором фотографии и идентификатором пользователя. Однако мне удалось передать один параметр, который не позволял мне комментировать фотографию, поскольку идентификатор параметров пользователя не был передан. Затем моя помощница учителя-спасителя Сарин научила меня, что для назначения параметров в модель вы можете сделать это:

Таким образом, вы можете передать параметры для ID пользователя и фотографии. Решил, что менее 5 минут, пока я пытался решить это за 2 часа. Это сработало, так как у меня есть 2 необходимых идентификатора для передачи в базу данных, и проблема была решена. Поговорим о вложенности. В будущем было рекомендовано не превышать двух уровней вложенности, поскольку ссылка будет намного длиннее.

Шаблоны начальной загрузки

Я знал о Bootstrap и не знал, что существует шаблон шаблонов! Поговорим о вложенности! Ха-ха. Я был в восторге и волнении, когда увидел, что есть такие вещи. Спасибо Назми Фероз за помощь. Итак, я использовал шаблон Tim Creative, который был согласован с моими товарищами по команде, и он выглядит потрясающе. Я попытался использовать то, что он уже выпустил, и результаты потрясающие.

Гух-гух-GitHub

Экосистема и стиль работы разработчиков поначалу сбивали с толку, но я был так впечатлен тем, как работают Git и GitHub, когда делал свой первый PR (или pull request). Ваш код автоматически обновляется в соответствии с базой кода ваших коллег, и я действительно был в восторге после первого рывка. Это сбивало с толку, поскольку вам нужно было создать свою собственную ветку, а затем сделать ветку длиннее, добавив и зафиксировав свой код. Как только вы закончите, вы должны нажать на исходную главную ветку, а затем получить ее. Однако вам нужно оформить заказ (или вернуться) в главную ветку, чтобы получить обновленную работу, которую ваши коллеги сохранили в главной ветке. Звучит грязно, но увлекательно.

Лучшее обучение и больше самообучения

Я стал более внимательным и узнал больше (и меньше спал) в классе, когда Вэй Лян (мой инструктор RoR) сменил типичное «Сядь и послушай» на «Найди-ответ- и-обсудить ». Я настоятельно рекомендую это, так как это позволяет нам стать более независимыми и открыто совершать ошибки. Однако я считаю, что это отнимает много времени, если не все сделано правильно. Это лучше, чем монотонный голос лекции.

Мы также должны изучать драгоценные камни самостоятельно, поскольку это учит нас учиться независимо и самостоятельно находить путь. Таким образом, мы изучили CarrierWave самостоятельно, пока нам предстояло пройти через то, как оценивать каждый драгоценный камень / библиотеку по их качеству (сборка: стабильная, безопасность: зеленая, хорошо документированная).

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